专题6-点亮指路灯
1.led通常作为一种调试手段
2.GPIO:通用输入输出口
常有三个寄存器控制
3.不同平台的GPIO控制寄存器地址不同,工作模式不同,相应的控制寄存器的布局也不同,有的甚至一组GPIO要两个寄存器控制。
4.对于6410还要注意在uboot中对外设进行地址初始化
(1)将基地址存入r0,
(2)设置大小,即偏移量,将基地址加上偏移量就得到映射地址(orr指令)
(3)将映射地址写入协处理器cp15的c15
(4)思考:为什么大小(偏移量)256MB???
5.流程:
(1)设置工作模式为输出
(2)设置数据寄存器,决定哪盏灯点亮
6. 210用了NPN三极管,故GPIO接基极时应该输出高电平,集电极才会输出低电平,才能点亮LED。而且uboot还要利用店等程序来调试找bug.
发现210的关闭MMU和2440.6410不一样,使cache数据失效的参数不一样,且最好把Icache也关闭。注意加头。。。。。。。
7.代码实现