随笔分类 -  device driver

摘要:在linux下调tvp5150am1的过程中,遇到了一kernel oops,内容如下:[ 66.714603] Unable to handle kernel paging request at virtual address 00100104[ 66.721658] pgd = d37d0000... 阅读全文
posted @ 2015-09-06 18:55 微信公众号--共鸣圈 阅读(1896) 评论(0) 推荐(0)
摘要:做嵌入式系统开发,经常要接触硬件。做嵌入式开发对数字电路和模拟电路要有一定的了解。这样才能深入的研究下去。下面我们简单的介绍嵌入式开发中的一些硬件相关的概念。电平(Level) 在数字电路中,分为高电平和低电平,分别用1和0表示。一个数字电路的管脚,总是存在一个电平的,要么高要么低,或者说要么1... 阅读全文
posted @ 2015-09-06 17:29 微信公众号--共鸣圈 阅读(359) 评论(0) 推荐(0)
摘要:内核使用了大量不同的宏来标记具有不同作用的函数和数据结构。如宏__init、__devinit等。这些宏在include/linux/init.h头文件中定义。编译器通过这些宏可以把代码优化放到合适的内存位置,以减少内存占用和提高内核效率。下面是一些常用的宏:l __init标记内核启动时使用的初始... 阅读全文
posted @ 2015-09-06 17:26 微信公众号--共鸣圈 阅读(762) 评论(0) 推荐(0)
摘要:一、在板文件进行client的实例化在内核的初始化中(例如在板文件中)定义设备的信息。这种操作的前提是内核编译的时候已经确定有哪些i2c设备和它们的地址,还要知道连接的总线的编号。比如在板文件/arch/arm/mach-XXX/board_XXX.c中可以用类似下面的代码来注册i2c设备的信息。1... 阅读全文
posted @ 2015-09-06 17:25 微信公众号--共鸣圈 阅读(812) 评论(0) 推荐(0)
摘要:http://zqwt.012.blog.163.com/blog/static/1204468420128291156143/我的上一篇博客《设备驱动调试和移植的一般方法》详细介绍了调试和移植的几个步骤,依照那几个步骤,按部就班,外加不屑的努力,你就可以完成驱动的调试和移植。但是当你面临的是一块崭... 阅读全文
posted @ 2015-09-06 17:21 微信公众号--共鸣圈 阅读(416) 评论(0) 推荐(0)