
嵌入式开发
文章平均质量分 84
healeryou
需完善
展开
-
poll机制之内核实现简要分析
int poll(struct pollfd *fds, nfds_t nfds, int timeout); 意思就是说poll函数功能类似select函数,即等待文件描述符可进行I/O操作,比如数据的读写,标准输入之类的。文件描述符被fds所监听,当发生fds中的事件poll就返回。(即将调用poll的进程加入对应内核驱动的等待队列,等待数据可读,或超时就唤醒)先来个大概的流程:当我们在原创 2017-08-07 23:13:44 · 740 阅读 · 0 评论 -
字符设备驱动学习(1)
首先,以查询方式的按键驱动开始字符设备驱动的学习。 目的:按键驱动查询方式获取按键值: 1、写出驱动框架 2、硬件操作,相关实现。1.写出框架:对于驱动的学习,框架思想非常重要。 1.1.file_operation: file_operation 结构是一个字符驱动如何应用程序建立连接. 这个结构, 定义在 linux/fs.h中, 是一个函数指针的集合. 每个打开文件与它自身的函数集合原创 2017-08-03 23:55:59 · 250 阅读 · 0 评论 -
提升嵌入式开发效率小技巧——开发环境配置
起因:发现自己在嵌入式开发是,主机、虚拟机、开发板相互不能ping通,代码文件拖来拖去,利用cutftp,拖文件还得改目录,开发效率极低,加上bug找不到,代码写不出,使心情更加烦躁,进而磨灭自己的热情。开发板:zj2440 主机:win7 64位 linux:Ubuntu 14.04目标:实现主机、虚拟机、开发板相互能ping通,而且虚拟机能够上网,并配置samba服务器,提升开发效率 效率原创 2017-07-27 19:20:36 · 913 阅读 · 0 评论 -
字符设备驱动学习(2)
学习目标:在字符设备驱动学习(1)的按键查询基础上改为按键中断。1、什么是中断 中断是异常的一种,异常就是可以打断cpu正常运行流程的一些事情,比如外部中断、未定义指令、swi指令。cup暂停当前的程序,先处理异常事件,然后再继续执行被中断的程序。2、linux内核对异常的设置 内核在strrt_kernel函数中调用了trap_init函数和init_IRQ函数来设置异常的处理函数。 ①me原创 2017-08-05 23:39:55 · 269 阅读 · 0 评论 -
linux内核中2410_gpio_cfgpin函数分析
2410_gpio_cfgpin(S3C2410_GPB0, S3C2410_GPIO_OUTPUT) 函数分析:作用设置相应GPIO口的工作模式,输入、输出、中断等。 一,首先宏展开:为方便描述,展开后用等号表示#define S3C2410_GPIO_OUTPUT (0xFFFFFFF1) #define S3C2410_GPB0 S3C2410_GPIO原创 2017-08-06 17:05:51 · 575 阅读 · 0 评论