现在位置: 首页

linux设备驱动归纳总结(一):内核的相关基础概念

2015年03月03日 驱动开发  ⁄ 共 8642字 linux设备驱动归纳总结(一):内核的相关基础概念已关闭评论 ⁄ 阅读 1,955 次
在网上看到的,讲的不错,遂转载过来。原文地址: http://blog.chinaunix.net/uid-25014876-id-59413.html   linux设备驱动归纳总结(一):内核的相关基础概念 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 一.linux设备驱动的作用 内核:用于管理软硬件资源,并提供运行环境。如分配4G虚拟空间等。 linux设备驱动:是连接硬件和内核之间的桥梁。 linux系统按个人理解可按下...
阅读全文

Processor setup via co-processor 15 and about co-processors

2015年02月28日 技术文章  ⁄ 共 16270字 Processor setup via co-processor 15 and about co-processors已关闭评论 ⁄ 阅读 1,797 次
Introduction ARM processors after (and including) the ARM 3 offer various ID and internal configuration facilities by providing internally a co-processor 15 which you can read from and and write to. The setup is controlled by co-processor 15 registers, accessed with MRC and MCR in non-user mode. These registers are particular to the processor specified.     ARM 3 Register 0 - Process...
阅读全文

ARM中MOV与LDR的区别,以及LDR伪指令

2015年02月27日 技术文章  ⁄ 共 1706字 ARM中MOV与LDR的区别,以及LDR伪指令已关闭评论 ⁄ 阅读 850 次
ARM是RISC结构,数据从内存到CPU之间的移动只能通过L/S指令来完成,也就是ldr/str指令。 比如想把数据从内存中某处读取到寄存器中,只能使用ldr 比如: ldr r0, 0x12345678 就是把0x12345678这个地址中的值存放到r0中。 而mov不能干这个活,mov只能在寄存器之间移动数据,或者把立即数移动到寄存器中,这个和x86这种CISC架构的芯片区别最大的地方。 x86中没有ldr这种指令,因为x86的mov指令可以将数据从内存中移动到寄存器中...
阅读全文

Tiny4412裸机程序之实现printf功能

2014年12月24日 裸机开发  ⁄ 共 806字 Tiny4412裸机程序之实现printf功能已关闭评论 ⁄ 阅读 3,248 次
最近进度比较慢,想着是先看中断那一部分,正好前一个实验刚做完了uart,想想还是在做些优化,实现类似printf的功能,这样后期输出一些调试信息也是很有帮助的。 翻阅以前的程序,正好有学习2440时留下的一点源码可以参考,就直接拿了过来用,从这一节开始我对整个程序目录做了调整,并重新改了Makefile文件,将一些硬件相关的初始化文件放到了一个文件夹下,并打包成库供主程序调用。 本节设计的硬件知识不是很多,和上一个实...
阅读全文

Makefile 中的.PHONY

2014年12月22日 技术文章  ⁄ 共 1167字 Makefile 中的.PHONY已关闭评论 ⁄ 阅读 2,091 次
phony target有两种作用: 1,防止同名文件,使得规则总是被执行 2.改进性能  举例 1.PHONY:clean 这里clean目标没有依赖文件,如果执行make命令的目录中出现了clean文件,由于其没有依赖文件,所以它永远是最新的,所以根据make的规则clean目标下的命令是不会被执行的。如下的例子: ld@Techbulo: cat Makefile obj = 1.c 2.c 3.c 4.c all: touch $(obj) clean: rm -rf $(obj) ld@Techbulo: ld@Techbulo: make ...
阅读全文
×