Linux系统添加内核,一个linux系统里头能有多个kernel吗?如果可以应该怎么添加呢?...

可以。

添加思路: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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值