添加思路:cpu core初始化,内存管理子系统(mmu),硬件时钟系统,早期调试打印机制,异常中断子系统,时间子系统(timer),串口驱动。
具体方式:
1 cpu core初始化
cpu core的初始化主要指cpu的工作模式,通用寄存器初始化,cache初始化,异常入口初始化,mmu初始化等。也就是cpu core内部各个单元模块的初始化。
2 内存管理子系统
kernel是运行在动态存储器(DRAM DDR),首先保证动态存储器的稳定运行,动态存储器的初始化一般是放在bootloader中,或者在我们的调试工具脚本中去配置DDR参数,实现DDR的稳定读写运行。
3 硬件时钟系统
最小的soc片上系统应该有CPU,时钟,复位电路和一块存储器构成,缺一不可。
4 早期调试打印机制
在dram和寄存器读写正常后,接下来首要任务是实现kernel早期的调试打印,这是调试kernel所必须的。
5 异常 中断子系统
timer和uart要正常工作,异常(ppc核内有timer,作为一种单独的异常来处理) 中断是必须要正常工作起来。
6 时间子系统
kernel下时间子系统实现计时和定时功能,主要是根据一个外部timer或者核内timer(PPC提供核内timer)来实现。
7 串口驱动
最后实现串口驱动就完成了移植kernel的最后一步了。串口驱动实现这里不细说了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)