注:以下文章主要参考的是韦东山老师的博客,并记录自己的部分感想以及经验教训,韦老师的博客地址:https://www.cnblogs.com/weidongshan/category/1171660.html
裸机操作主要是看寄存器手册,这里只记录下关键注意点
1:GPIO操作:英文手册P282,主要有三个:端口配置寄存器(输入输出复用等功能) 、端口数据寄存器、外部中断控制寄存器(中断方式);其他:端口上拉寄存器 、杂项控制寄存器。
2:CLK配置:英文手册P238,主要有三个:锁定时间计数寄存器(LOCKTIME )、时钟分频控制 (CLKDIVN )时钟控制寄存器 (CLKCON),以及如果HDIVN不为零,需要SetAsyncBusMode。
3:UART配置:设置引脚为复用串口功能,设置串口控制器(UCON0)、时钟分频(UBRDIV0)、线路控制(数据格式控制)(ULCON0),然后从发送缓冲区(UTXH0)发送数据,从接受缓冲区(URXH0)接受数据,最后编写应用层的代码,丰富UART功能。
4:SDRAM配置。
5:代码重定位:NAND启动时,硬件会复制NAND前4k到SRAM,前4k的代码要将整个程序读出来放到SDRAM(即重定位);nor flash驱动时,由于不能简单写nor,所以要将变量等放到SDRAM;
.text 代码段 .data 数据段 .rodata 只读数据段 .bss 段 .commen 注释
编写链接脚本,初始化SDRAM,拷贝代码(要用位置无关码编写)
6:中断:异常向量表,保存现场(各种寄存器),处理异常(中断),分辨中断源,再调用不同的处理函数,恢复现场;
七种工作模式(Mode),2 种状态(State)(两种指令集);当前程序状态寄存器(Current Program Status Register);CPSR
中断的注册与调用(register_irq)
7:Nor flash操作及配置
8:Nand flash操作及配置
9:LCD配置
10:ADC及触摸屏操作
11:I2C
12:SPI
转载于:https://www.cnblogs.com/princepeng/p/11174249.html
