子类__应用开发篇
文章平均质量分 72
RK3399平台入门到精通系列之应用开发篇
内核笔记
一直从业于半导体行业,曾为Linux内核开源文档社区提交过若干文档。
主要从事Linux、Android相关系统软件开发工作,负责Soc芯片BringUp及系统软件开发,喜欢阅读内核源代码,在不断的学习和工作中深入理解内存管理,进程调度,文件系统,设备驱动等内核子系统。
展开
-
RK3399平台开发系列讲解(应用开发篇)1.13、应用程序打印kernel log
将应用程序的log写入到kernel log的缓冲区去原创 2021-12-10 22:36:50 · 4204 阅读 · 12 评论 -
RK3399平台开发系列讲解(应用开发篇)1.12、RTC闹钟唤醒
平台内核版本安卓版本RK3399Linux4.4Android7.1文章目录一、结构体说明itimerspecsigevent二、定时器例子一、结构体说明itimerspecstruct timespec{ time_t tv_sec; //秒 long tv_nsec; //纳秒}struct itimerspec{ struct timespec it_interval; //首次超时后,每隔it_interval超时一次 struct times...原创 2021-07-18 17:42:20 · 2973 阅读 · 14 评论 -
RK3399平台开发系列讲解(应用开发篇)1.6、队列的实现
平台内核版本RK1108Linux3.1文章目录队列结构体操作函数:在状态机这篇文章中,异步消息的收发是通过队列实现,下面我们看下队列的实现:队列结构体 typedef struct _Queue { struct _QueuePriv *priv; void (*post)(struct _Queue *,void *data); int (*get...原创 2020-03-06 15:58:04 · 1958 阅读 · 9 评论 -
RK3399平台开发系列讲解(应用开发篇)1.10、Linux串口编程
平台内核版本安卓版本RK3399Linux4.4Android7.1文章目录一、串口通信参数简介二、termios结构体1、c_iflag2、c_oflag3、c_cflag4、c_lflag5、c_cc[NCCS]6、c_ispeed和c_ospeed三、串口通信例程(系统调用)一、串口通信参数简介参数解释数据校验由于通信容易受到外部干扰导致传输出现偏差,在有效数据之后,有一个可选的数据校验位。校验方法有奇校验(odd)、偶校验(even)、0校...原创 2021-06-05 17:16:02 · 3521 阅读 · 11 评论 -
RK3399平台开发系列讲解(应用开发篇)1.9、GPIO 编程-操作/sys/class/gpio/目录下文件方式
GPIO 编程-操作/sys/class/gpio/目录下文件方式原创 2021-06-05 15:30:07 · 3651 阅读 · 12 评论 -
RK3399平台开发系列讲解(应用开发篇)1.8、 FBDEV: Framebuffer Device显示测试程序
平台内核版本安卓版本RK3399Linux4.4Android7.1文章目录1、测试显示输出:2、效果3、程序分析3.1、定义我们需要使用到的结构体:3.2、以可读可写打开`fb0`3.3、 获得 fixed screen 信息3.4、获得 variable screen 信息3.5、算出屏幕大小(以字节为单位)3.6、将设备映射到内存3.7、填充屏幕1、测试显示...原创 2019-01-20 20:49:21 · 3870 阅读 · 8 评论 -
RK3399平台开发系列讲解(应用开发篇)1.7、状态机的实现
平台内核版本RK1108Linux3.1文章目录结构体相关定义状态机类定义创建状态机看下状态机的功能函数处理函数应用状态机引擎结构体相关定义typedef struct _StMachinePriv { Queue *queue; pthread_mutex_t mutex; StateTable *funcentry; StateTableDebug...原创 2020-03-06 13:20:48 · 2069 阅读 · 7 评论 -
RK3399平台开发系列讲解(应用开发篇)1.5、创建线程模块
平台内核版本RK1108Linux3.1文章目录POSIX 标准要求:When a thread attributes object is no longer required, it should be destroyed using the pthread_attr_destroy() function. Destroying a thread attribu...原创 2020-05-04 23:50:40 · 2005 阅读 · 9 评论 -
RK3399平台开发系列讲解(应用开发篇)1.3、ADC节点数据的读取
平台内核版本RK1108Linux3.1文章目录命令行读取程序读取命令行读取cat /sys/class/lightsensor/lsr_0/value查看adc值程序读取FILE *light = NULL;char adc_buff[100] ={0};int adc;light = fopen("/sys/class/lightsensor/ls...原创 2020-03-03 13:21:32 · 2629 阅读 · 5 评论 -
RK3399平台开发系列讲解(应用开发篇)1.1、SPI总线节点的使用
平台内核版本安卓版本RK3399Linux4.4Android7.1文章目录SPI初始化SPI 自发自收测试程序SPI读写SPI初始化首先定义spi工作模式、传输位数、传输速度等:static const char *device = "/dev/spidev32766.0";static uint8_t mode = 3; /* SPI通信使用全双工,设置...原创 2020-03-09 15:02:14 · 4520 阅读 · 13 评论 -
RK3399平台开发系列讲解(应用开发篇)1.2、I2C总线节点的使用
平台内核版本安卓版本RK3399Linux4.4Android7.1文章目录节点权限确认应用访问I2C节点读写节点权限确认RK平台支持的I2C节点位于/dev下:ll /dev/i2c*应用访问I2C节点我们以I2c0为例:#define I2C_FILE_NAME "/dev/i2c-0"i2c应用最本质的操作就是对通过i2c接口对外设模块进行寄...原创 2020-03-09 11:46:52 · 2877 阅读 · 1 评论