从linux了解世界
发布时间:2016-01-12 10:18:24
经过最近这几天学习字符设备驱动,我发现学习字符设备驱动模块编写是一个剥洋葱的过程,不考虑设备文件是手动生成还是利用mdev生成,仅仅考虑注册字符设备,编写模块加载函数仅仅需要一个核心函数register_chrdev()这个函数里面又包含了很多函数,一层一层的播下去就能搞懂驱动在linux中的工作原.........【阅读全文】
发布时间:2016-01-08 11:58:15
????我们用busybox制作的根文件系统是没有rz、sz工具的,所以需要下载源码使用arm-linux-gcc编译生成可执行文件,再把可执行文件放到根文件系统的bin目录下。因为我的开发板ping主机总是会丢帧,没法用nfs挂载根文件系统,每次想传个东西给板子都要重新烧一遍文件系统..所以试着用串口和pc通信。我估计.........【阅读全文】
发布时间:2016-01-06 11:23:58
最近对比stm32和2440的中断处理,有很多困惑,经过几天的思考和实验终于搞明白了。stm32和2440虽然都是arm架构,但是stm32在中断上比较特殊,发生不同的中断,硬件上会直接给pc强行赋值,不同的中断对应不同的值。但是2440则是只要有中断就跳到一个固定地址,不论中断是什么跳到的地址都一样。我想这也是为什么stm32在裸机.........【阅读全文】
发布时间:2016-01-02 17:26:58
函数跳转的两种方法:1、bl func2、ldr lr 返回地址 ldr pc 跳转地址第一种方法,执行bl指令的时候会自动把返回地址写入lr(相对地址)。第二种方法,人为地把返回地址写入lr,再把跳转地址写入pc(绝对地址)。关于相对.........【阅读全文】