2013年10月14日

块设备驱动程序

摘要: 1.字符设备驱动程序App : open read write驱动:drv_open drv_read drv_write硬件:0>确定主设备号1>file_operations .open .read .write2>register_chrdev(主,name, 主设备号)3>入口:4>出口:1>查询方式2>休眠-唤醒 app:read -------- 驱动:drv_read if(nodata) sleeppoll机制4>异步通知:发信号5>输入子系统,融入别人写的代码2.块设备驱动程序App : open read write块驱 阅读全文

posted @ 2013-10-14 21:30 屁屁侠 阅读(795) 评论(0) 推荐(0) 编辑

运行地址和加载地址

摘要: http://blog.csdn.net/ce123_zhouwei/article/details/6990100运行地址和加载地址在连接目标代码时,会提到运行地址和加载地址。这两者有什么区别呢?加载时地址就是程序放置的地址,运行地址就是程序定位的绝对地址,也即在编译连接时定位的地址。如果程序是在flash里运行,则运行地址和加载地址是相同的。如果程序是在ram里运行,但程序是存储在flash里,则运行地址指向ram,而加载地址是指向flash。代码一般是烧写在NAND里面,比如S3C2440 如果开机从NAND启动 其开始的4K代码会被COPY到2440内部的4KRAM 用于对关键硬件的初 阅读全文

posted @ 2013-10-14 18:12 屁屁侠 阅读(4905) 评论(0) 推荐(1) 编辑

ARM获得PC指针为何PC=PC+8

摘要: http://blog.csdn.net/sddzycnqjn/article/details/7691534R15(PC)总是指向“正在取指”的指令,而不是指向“正在执行”的指令或正在“译码”的指令。一般来说,人们习惯性约定将“正在执行的指令作为参考点”,称之为当前第一条指令,因此PC总是指向第三条指令。当ARM状态时,每条指令为4字节长,所以PC始终指向该指令地址加8字节的地址,即:PC值=当前程序执行位置+8; 阅读全文

posted @ 2013-10-14 17:37 屁屁侠 阅读(999) 评论(0) 推荐(0) 编辑

arm程序的反汇编程序

摘要: 这是汇编源文件:MCU:S3C2440(arm920T)代码实现点亮个led小灯.text.global _start_start: ldr r0,=0x56000010 @GPBCON mov r1,#0x00000400 @ str r1,[r0] @GPB5_out=01 ldr r0,=0x56000014 @GPBDAT mov r1,#0x0 str r1,[r0] @GPBDAT[5... 阅读全文

posted @ 2013-10-14 10:00 屁屁侠 阅读(772) 评论(0) 推荐(0) 编辑

导航