自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 收藏
  • 关注

原创 队列的分类与简介

队列简介队列也是一种线性结构。但它只能在表的一端追加元素(这端叫做队尾),另一端删除元素(这端叫做队头) 。因此队列是一种FIFO (先进先出)特性的线性数据结构。从队头删除元素的操作叫做出队,从队尾追加元素的操作叫做入队。如图是含有n个元素的队列的模型。根据队列的出入元素特点,可以确定,元素a1最先入队,紧接着a2,s3 … 如果a2要出队,必须等a1出队。a1最先入队,也是最先出队,a...

2020-05-20 14:19:52 215

原创 C语言-链式队列

链式队列#include <stdio.h>#include <stdlib.h>#include <time.h>typedef struct node * PNode; /*定义队列的每个节点的类型*/typedef struct node { int data;//每个节点中存放的数据 PNode next;//下一节点}Nod...

2020-05-20 14:19:36 158

原创 android 驱动工程师面试日记

做手机产品方案等公司:(模块化岗位,需要对应岗位模块从应用层->系统层->驱动层,理论熟悉,调试经验丰富)tp模块岗位1.TP相关问题中断上下文原理调试tp效果遇到的问题固件升级过程中断唤醒过程2.内核相关问题信号量与自旋锁的区别?分别在哪些场合用到过3.android的启动流程等4.V4L2架构其他:camera, 音频,LCD调过的比较难得bug有哪些?以及驱动加载过程等。...

2020-05-20 14:16:39 868

原创 kernel 字符串切割,字符串转整型,整型转字符串

strsep(&data,","); //字符串切割函数kstrtoint(first,10,&duty_cycle);//字符串转整形 10:十进制sprintf(data,"%d,%d",duty_cycle,fan_freq);//整型数转字符串示例代码:ssize_t dcfan_write(struct file *file, const char __user ...

2020-05-14 10:15:04 795

原创 jdk8下载安装包,android studio3.5下载安装包

首先安装jdk8jdk1.8.0_201安装包:链接:https://pan.baidu.com/s/1AOxQGv7u9xpi5ercNw8z-g提取码:72aa(永久有效)android studio 3.5 安装包:链接:https://pan.baidu.com/s/12MYxZawWCFL5PcooaVMxYg提取码:3x26

2020-05-13 16:38:55 587

原创 rk3288模拟可调占空比pwm波形

一、内核为高精度定时器重新设计了一套软件架构,它可以为我们提供纳秒级的定时精度,以满足对精确时间有迫切需求的应用程序或内核驱动,以下学习使用hrtimer(high resolution timer)高精度定时器。二、hrtimer_init函数初始化定时器工作模式。which_clock可以是CLOCK_REALTIME、CLOCK_MONOTONIC、CLOCK_BOOTTIME中的一种,mode则可以是相对时间HRTIMER_MODE_REL,也可以是绝对时间HRTIMER_MODE_ABS。vo

2020-05-12 17:01:56 728

原创 linux启动过程

Linux启动过程对于初学者而言有点扑朔迷离,这是因为启动过程关乎处理器配置、内存配置、外 围硬件配置,而不同的处理器和硬件系统会釆用不同的策略,从而具体的启动过程会有所差异。但无论差异如何,从计算机系统的角度来看,启动过程一般分为三个步骤,如 图 1-1所示。图 1 - 1 通用系统的启动过程首先是开机,开机就是给系统开始供电,此时硬件电路会产生一个确定的复位时序,保 证 CPU是...

2019-10-22 13:52:04 166

原创 Linux 查找find,grep,cat,echo等命令

Linux中的命令非常多,本节仅介绍一些在开发Android过程中常用的Linux命令。• manm an的含义是 m anual,即手册。当我们不清楚某个Linux命令的作用和用法时,可 以 使 用 mancommand进行查询,command为具体的命令名称,比如man Is。• findfind命令用于查找某个文件或者文件夹,比如:$ find . -name" *.java"...

2019-10-22 13:43:28 1026

原创 OpenGrok使用教程之配置多工程项目(下)

1.下载apache-tomcat-8.5.37.tar.gz和opengrok-0.12.1.6.tar.gz,链接:https://pan.baidu.com/s/13TUAyEFDawn3mVkQOHBjwQ提取码:t5yt链接:https://pan.baidu.com/s/1qq-iWYd532_JnLgYrfapQQ提取码:1j1l建立一个openGrok目录备用。安装 c...

2019-09-27 16:09:02 1113

转载 opengrok使用教程之单工程(上)

OpenGrok简介有些情况下,我们需要在GB级别甚至几十GB级别且随时不断更新的大型代码(比如Android源码)里面搜索阅读源码,那么我们自然而然会有以下一些基本的需求:能够快速搜索代码代码可存放于本地/服务器代码之间可以跳转跨平台易于维护…显然SourceInsight、ctags、grep等工具在这些场景下就不太适合,于是有了OpenGrok这类代码搜索引擎。先看看维...

2019-09-27 16:04:11 637

原创 rk3288 mipi 调试步骤

https://blog.csdn.net/dearsq/article/details/52354593(参考:CSDN博客)https://www.2cto.com/kf/201708/670726.html(参考:CSDN博客)https://www.cnblogs.com/lialong1st/p/9952077.html(参考:CSDN博客)// lcd-xxx-mipi.dtsi...

2019-09-21 15:36:44 4419

转载 linux下的source命令(.命令)解释及应用

用法:source filename # filename必须是可执行的脚本文件或者. filename # 注意“.”号后面还有一个空格功能:通知当前shell读入路径为filename的文件并依次执行文件中的所有语句。通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。例如,当我们修改了/etc/profile文件,并想让它立刻生效,...

2019-08-28 11:26:07 185

原创 Linux应用与网络面试题

linux目录结构linux常用命令vi的3种工作模式:命令行模式、插入模式和底行模式嵌入式系统:以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。ARM的7种处理器模式:用户模式、快速中断模式、外部中断模式、管理模式、数据访问终止模式、系统模式。Bootloader:在操作系统内核运行之前...

2019-08-05 14:26:51 157

转载 Linux设备树解析

转载https://blog.csdn.net/smcdef/article/details/77387975Device Tree简介Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is a fucking pain in the ass”,引发ARM Linux社区的地震,随后ARM社区进行了一系列的重大修...

2019-08-01 20:56:59 146

原创 int* (*(*fp)(void *))[10] fp是什么类型?

int* (*(*fp)(void *))[10]; //这个类型用typedef分解出来1.()的优先级最高所以先看(*fp),fp是个指针;2. 假设 func=(*fp); func(void ) 是个指针函数返回值是个指针,参数是(void),所以fp是指向指针函数的函数指针;3. int P[10] []优先级最高,所以P首先是个数组,数组成员是int型指针,所以看出P是个指...

2019-08-01 10:58:45 2555

转载 C语言之指针数组与数组指针

(转载)https://www.cnblogs.com/mq0036/p/3382732.html组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4];...

2019-08-01 10:46:16 367

原创 FS210开发板软硬件资源

2019-07-30 10:59:02 393

原创 linux之平台总线led_dev,led_drv,ledapp程序demo

plat_led_dev.c#include <linux/init.h>#include <linux/module.h>#include <linux/platform_device.h>#define GPC0_CONF_REG 0xe0200060#define GPC0_SIZE 8 // 24表示需要使用6个寄存器, 8表示使...

2019-07-29 20:55:18 372

原创 linux 非阻塞之poll和select操作

poll和select操作一个应用使用设备时采用阻塞IO:会使进程休眠,让出CPU,高效非阻塞IO:不停查询,占用CPU,低效一个应用控制多个设备文件来达到需求,但当一个设备文件发生阻塞时调用进程被休眠,其他设备文件就停止工作阻塞方式:在read调用时阻塞应用–>read()–>sys_read—>xxx_read例程IO复用:阻塞一组文件的描述符应用–>...

2019-07-29 20:04:07 298

原创 linux 下创建source insight工程

1.在我的电脑右键,映射网络驱动器2.大体流程如下,其中第三步和第五步后面会有图片显示也可根据用到芯片厂商信号选择x86,arm等,嫌麻烦的话就内核所有添加add all 或者add tree都可以。force all files to be re-parsed:强制所有同步,同步时间比较长大概半个小时左右吧。...

2019-07-26 11:02:18 588

转载 ARM交叉编译工具链gnueabi、none-eabi、arm-eabi等命名的区别

命名规则交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi]arch – 体系架构,如ARM,MIPSvendor – 工具链提供商os – 目标操作系统eabi – 嵌入式应用二进制接口(Embedded Application Binary Interface)根据对操作系统的支持与否,ARM GCC可分为支持和不支持操作系统,如arm...

2019-07-24 20:26:12 254

转载 make menuconfig配置内核时,*、M 、空格,这3个选项分别表示什么意思

在menuconfig中选择m和 *的区别:*: 模块驱动编译到内核中,启动时自动加载M:标识作为内核模块编译空格:表示该功能不编译到内核中,即新的内核将不支持该功能。m:模块会被编译,但是不会被编译到内核中,只是生成.o文件,我们可以收集这些.o文件做到linux的文件系统中,然后用insmod实现动态加载。模块加载的两种方式1)、动态加载动态加载是将驱动模块加载到内核中,而不能放...

2019-07-24 15:42:10 9171

原创 TensorFlow安装使用demo

1.安装anaconda2.启动 anaconda prompt 管理员方式更新pippython -m pip install --upgrade pip3.安装tensorflow链接:https://pan.baidu.com/s/1mo81vR8xTMnLVcvBiDYlPw提取码:ztnjpip install tensorflow-1.6.0rc0-cp36-cp36m...

2019-07-22 13:12:17 122

原创 随时随地学编程

https://www.w3cschool.cn

2019-07-20 15:10:55 113

原创 python 基于百度 AI平台 的图像文字识别

百度AI平台:https://login.bce.baidu.com/?account=&redirect=http%3A%2F%2Fconsole.bce.baidu.com%2F%3Ffromai%3D1#/aip/overview<1>申请步骤1、 首先登陆http://ai.baidu.com/tech/imagerecognition/general,进入到通用...

2019-07-20 13:49:21 745

原创 python爬虫天气生成csv数据

1.python爬虫案例在正式进行人工智能机器学习的开发之前,需要对数据进行处理数据科学工作流程:需求(目标)->数据搜集->数据清洗->数据分析->构建模型->模型评估->应用部署数据清洗:保证数据”干净”,数据质量高低决定了结果的准确性缺失值,异常值,数据不一致,量纲,维度等等2.爬虫 (搜索数据)我们可以把互联网比作一张大网,而爬虫(即网络爬虫...

2019-07-19 21:02:13 1620 1

原创 python class学习笔记

6.2 定义类当你打算将对象的状态和功能”粘”在一起时,就是定义类bank1.pyclass Account: passdef account(name,number,balance=100): acct = Account() acct.name = name acct.number = number acct.balance = balanc...

2019-07-19 18:53:07 264

转载 eclipse Android添加权限

Android添加权限大讲解如果手机app客户端没有办法连接到pc电脑的服务器,但是模拟器就可以连接到服务器,后来发现Android代码没有添加权限,添加就可以了,如果想联网需要添加联网权限:更多的权限,请看下面的详细解释。(转载)http://bbs.51cto.com/thread-1096739-1.html点击找到Permissions --》Add–》Uses Permi...

2019-07-12 16:12:01 986

原创 linux app调用 jni 加载 led驱动点亮led等

1.app部分编写代码流程jni : java native interface java代码调用jni的方式:1, 加载jni的动态库 static{ System.loadLibrary("led_jni"); // /system/lib/libled_jni.so }2, 声明本地native方法 public native int openDev(); public...

2019-07-10 21:27:37 288

原创 linux windows adb加载驱动调试教程

基础:电脑已经usb链接平板成功1>找到JDK,adb.exe路径D:\HUAQING\LinuxDriv\java_android_env\sdk\platform-tools配置adb环境变量我的电脑->右键->属性->高级->环境变量->系统变量->Path:添加以上的路径进去。2>Windows下win+R,输入cmd,回车打开cm...

2019-07-10 20:16:28 446

转载 Android源码编译make的各类错误解决方案汇总

转载:http://www.voidcn.com/article/p-rjboindv-qx.html问题:You are attempting to build with the incorrect version of java.Your version is: java version “1.6.0_22”.The correct version is: Java SE 1.6.查...

2019-07-10 13:23:27 2796

转载 Linux下的tar命令和gzip命令的区别与联系

一、windows下最常见的压缩文件有两种:* .zip 和 * .rap 而Linux下却有很多,让人混淆:* .tar 、* .tar.gz 、* .tgz 、* .gz 、* .Z 、* .bz2二、基础概念打包:将一堆文件或目录什么的变成一个总的文件。压缩:将一个大的文件经过某种压缩算法变成一个小文件。为什么要区分这两个概念呢?因为Linux中的很多压缩程序只...

2019-07-09 10:03:50 707

原创 linux底层驱动生成*.ko Makefile代码解析

CROSS_COMPILE = arm-none-linux-gnueabi-CC = $(CROSS_COMPILE)gcc#指定内核源码路径#KERNEL_DIR =/home/farsight/1903/linux-3.0.8KERNEL_DIR = /home/farsight/s5pv210/kernel/linux-3.0.8#指定模块程序的路径CUR_DIR = $(sh...

2019-07-08 18:50:31 736

原创 Ubuntu 阿里源/网易163下载源

sudo cp /etc/apt/source.list /etc/apt/source.list.bak # 将原有的源文件复制保存sudo gedit /etc/apt/source.list # 打开源文件#阿里源将下列的复制到文件中deb http://mirrors.aliyun.com/ubuntu/ v...

2019-07-06 23:02:41 240

原创 linux C语言Json封装数据

目的:java app Tcp客户端发送数据给Linux C 服务器数据解析验证环境:首先安装json安装包链接链接:https://pan.baidu.com/s/1BDc2JldxTEmmcxwdqesvTw提取码:54jgsudo cp tar xvf json-c-0.9.tar.gz /usr/localcd /usr/localsudo tar -xvf tar xv...

2019-07-05 17:46:24 1139

原创 Sqlite3数据库学习笔记

一、Sqlite3数据库:第三方库1、数据库:按照数据结构来组织、存储和管理数据的仓库。2、如何存储数据? .db3、管理数据有哪些操作? 增删改查4、数据库下载:移植第三方库下载数据库;把数据库搞到ubuntu上;sudo cp sqlite-autoconf-3240000.tar.gz /usr/local;sudo tar -xvf sqlite-autoconf-...

2019-07-05 15:42:09 2060

转载 JAVA中创建线程的三种方法和区别

(转载)https://www.cnblogs.com/3s540/p/7172146.htmlJava使用Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例。Java可以用三种方式来创建线程,如下所示:1)继承Thread类创建线程2)实现Runnable接口创建线程3)使用Callable和Future创建线程下面让我们分别来看看这三种创建线程的方法。---...

2019-07-04 20:09:40 80

原创 JAVA 客户端多线程和服务器源码

服务器代码tcp_server.javapackage com.tcp.com;import java.io.BufferedWriter;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.io.OutputStreamWrite...

2019-07-04 16:13:42 263

原创 linux probe和match方法何时被调用(简略版)

基于linux3.0.8内核,s5pv210 芯片,source insight软件,struct bus_type my_bus = { .name = "mybus", // /sys/bus/mybus/ .match = my_bus_match,}; struct my_driver mydrv = { .drv_id = 9, .probe = mydr...

2019-06-17 21:16:18 526

原创 linux输入子系统驱动按键程序示例代码

输入子系统驱动程序:input_sys_key_drv.c#include <linux/init.h>#include <linux/module.h>#include <linux/input.h>#include <linux/interrupt.h>//中断用的#include <linux/gpio.h> //gpi...

2019-06-17 16:00:10 250

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除