随笔分类 - linux / linux驱动
摘要:一、 ioremap() 函数基础概念 几乎每一种外设都是通过读写设备上的相关寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。根据CPU体系结构的不同,CPU对IO端口的编址方式有两种: a -- I/O 映射方式(I/O-mapped) 典型地,如X
阅读全文
摘要:Linux中如何构建内核源码树,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 要编写Linux的驱动,必须要构建内核源码树。 内核源码树的作用是构造可以在Linux内核中装载和卸载的模块,因此若是要为目标板构造模块,必须保证用于构建内核
阅读全文
摘要:本文是参考了网上多篇帖子而写的算不上什么原创。唯一值得欣慰的只不过在本机上实现罢了。因为毕竟失败了几次。也因为本人是初学驱动编程,很多简单的问题在我来说是相当的困难的。望有识之士不要笑话。最后,希望本文能给刚学驱动而还没开头的人提供一些帮助。刚看 O'REILLY 写的《LINUX 设备驱动程序》时
阅读全文
摘要:一、环境 Ubuntu14.04 +vmware tools 二、步骤 先写个.c文件,驱动文件一般没有printf,有自己的一套,先写一个helloword.c /* * helloworld.c * * 宇文凌风 * */ #include "linux/init.h" #include "li
阅读全文
摘要:一、构造内核源码树 # apt-cache search linux-source # apt-get install linux-source-4.4.0(下载的源码在目录/usr/src下) # 解压内核源码tar xjf ..... 进入源码目录 # make oldconfig # make
阅读全文
摘要:1.手动创建文件节点的命令(mknod): 命令 文件目录&名称 文件类型 主设备号 次设备号 mknod /xxx/xx c 120 1 2.手动删除文件节点的命令(rm): 命令 文件目录&名称 rm /xxx/xx from: https://blog.csdn.net/wanzhilin88
阅读全文