嵌入式
Ardon9527
这个作者很懒,什么都没留下…
展开
-
内核双向循环链表
文章目录添加节点头插尾插linux内核通常使用一个名字为(struct list_head)的结构体来实现双向循环链表。struct list_head数据结构如下:struct list_head { struct list_head *next, *prev;};添加节点头插尾插...原创 2020-08-11 14:42:07 · 223 阅读 · 0 评论 -
makefile的基本使用
文章目录makefile的基本使用语法格式makefile的基本使用语法格式target ... : prerequisites ... command ... ...target:你要生成的可执行文件prerequisites:你要生成的可执行文件的依赖command:通过什么命令来生成它...原创 2020-08-07 11:30:23 · 255 阅读 · 0 评论 -
mmap layout
mmap layout从LX_MEX中分出一个2M的内存,总大小保持不变。1.打开SCA工具,选择load,选择project/board/i6e/mmap/MMAP_I6E_128.h文件。2.使用SCA将E_LX_MEN缩小2M,添加一个TEST,大小为2M。3.将修改后的文件save并覆盖掉原来的MMAP_IE_128.h4.重新编译,然后烧到板子上。5.运行mixer的同时,打开一个新telnet查看,命令/config/dump_mmap/ # /config/dump_mmap原创 2020-08-04 12:34:59 · 161 阅读 · 0 评论 -
低精度定时器和高精度定时器
文章目录低精度定时器函数接口初始化注册注销测试程序测试结果高精度定时器函数原型添加一个hrtimer删除定时器测试程序测试结果低精度定时器所谓低精度定时器,是指这种定时器的计时单位基于jiffies值的计数,也就是说,它的精度只有1/HZ,假如你的内核配置的HZ是1000,那意味着系统中的低分辨率定时器的精度就是1ms。函数接口struct timer_list { struct list_head entry; unsigned long expires;原创 2020-08-04 12:36:26 · 975 阅读 · 0 评论 -
ctags的安装教程
我们都知道,在windows环境下查看源代码最方便的工具就是sourceinsight了,但是往往很多linux开发人员更喜欢在linux环境下进行开发,但是在linux的vim编辑器下就无法像在windows下那样鼠标点哪里就可以跟踪到某一个函数或者结构体的具体实现。这时候就要用到ctags工具进行类似的操作,新安装的vim是没有这个工具的,所以首先要安装ctags工具,然后进行相关的配置。下面以在linux驱动开发中常用的跟踪linux内核源码的例子来说明ctags的用法。首先要保证ubuntu可以原创 2020-07-28 10:18:29 · 2044 阅读 · 0 评论 -
字符设备驱动的过程
##字符设备驱动###字符设备驱动组成1.字符驱动模块加载与卸载函数,在加载函数中应包括设备号的申请和 cdev 的注册,卸载函数则完成其相反的功能,其中设备号的申请则涉及到设备号的注册函数和动态分配函数, cdev 的注册则要用到内核提供的 cdev_add() 函数, cdev 的注销则用到内核提供的 cdev_del() 函数。2.字符设备驱动的 file_operations 结构体成员函数的实现,我们清楚用户调用到驱动操作的大致过程,先由用户空间到内核空间,最终落实到驱动中的文件操作结构体中原创 2020-07-28 10:16:23 · 533 阅读 · 0 评论 -
烧录时板子IP设置
setenv -f ethaddr 00:70:XX:00:00:01; //为mac地址setenv gatewayip 172.19.24.254; //网关setenv ipaddr 172.19.24.XXX; //板子IPsetenv netmask 255.255.255.0; //子网掩码setenv serverip 172.19.24.XXX; //电脑IPsaveenv ...原创 2020-07-16 12:40:58 · 593 阅读 · 0 评论