【网友经验分享】自己整理了一份i.MX6启动流程
本帖最后由 FSL_TICS_ZJJ 于 2014-8-8 09:38 编辑最近一直在研究i.MX6的linux启动流程
大致分为四个阶段:
1)i.MX6内部ROM启动流程
2)u-boot启动流程
3)linux内核启动流程
4)根文件系统,服务程序启动流程
如果有问题欢迎讨论 好像是从mmc启动的。i.MX6 有NAND管理吧,如有用NAND启动要注意些什么。 swap2013 发表于 2014-8-7 21:07
好像是从mmc启动的。i.MX6 有NAND管理吧,如有用NAND启动要注意些什么。
我的是从SPI FLASH启动的。NAND也可以启动,和从SPI FLASH启动流程差不多。 下载学习,谢谢 感谢楼主正在关注这方面的东西 感谢楼主的资料 感谢~~~~~~~~~~~ 非常支持像楼主这样自己研究的经验贴。 楼主以后如果是自己写的经验分享帖,可以直接在前面加上【网友经验分享】,到时候多了,我会帮你们都罗列出来,做个总链接。 谢谢分享 感谢楼主的资料 FSL_TICS_ZJJ 发表于 2014-8-8 09:39
楼主以后如果是自己写的经验分享帖,可以直接在前面加上【网友经验分享】,到时候多了,我会帮你们都罗列出 ...
好的,谢谢提醒 这个PPT相当不错。
提个问题,IMX6Q有4个核心,我们常说的内存映射(或者内存地址空间)是指哪一个核心看到的呢?是4个都一样吗? lileistone 发表于 2014-8-8 12:57
这个PPT相当不错。
提个问题,IMX6Q有4个核心,我们常说的内存映射(或者内存地址空间)是指哪一个核心看 ...
是的,都能看到,不管哪个CPU想读什么地址,都是直接交给MMU,让MMU去决定到底读哪个物理地址 bruce_helen 发表于 2014-8-8 13:32
是的,都能看到,不管哪个CPU想读什么地址,都是直接交给MMU,让MMU去决定到底读哪个物理地址 ...
4核的好像启动引导的是CPU0对吗,再有CPU0去分配其他另外3个核启动工作吧 bruce_helen 发表于 2014-8-8 13:32
是的,都能看到,不管哪个CPU想读什么地址,都是直接交给MMU,让MMU去决定到底读哪个物理地址 ...
MMU是内核的吧,也就是应该有4个MMU…… 谢谢论坛大牛分享 lileistone 发表于 2014-8-8 13:37
MMU是内核的吧,也就是应该有4个MMU……
不好意思,我理解错了。
下面这个图是我刚才从泡泡网上一篇文章里截取下来的,应该是每个CPU核心都有一个MMU,从图中左下角也可以看出每个CPU都有一个uTLB。
既然每个CPU都有自己MMU和TLB,假如CPU读一个变量,MMU首先从uTLB中查找页表,经过二级页面、三级页面。。。最后找到正确的物理地址,这个过程说明每个核心的内存映射都是不相干的。也就是说他们都有各自的内存映射关系。
我的理解是这样的,如果错误请指出。
本帖最后由 bruce_helen 于 2014-8-8 14:22 编辑
gnocy 发表于 2014-8-8 13:35
4核的好像启动引导的是CPU0对吗,再有CPU0去分配其他另外3个核启动工作吧
对的,应该是这样的。
看看网友整理多核启动流程
http://stackoverflow.com/questions/23241343/smp-boot-of-arm-cortex-a9-sequence-with-mmu-cache-enabled
编辑原因:漏掉一张图片 跟ARM9 的启动流程好像啊。。。。。。。 非常好,谢谢! 非常感谢楼主分享~~ 谢谢分享! franki 发表于 2014-8-11 15:38
跟ARM9 的启动流程好像啊。。。。。。。
是的呢,都是ARM架构,不会有多大的变化。 先收藏了,用到再说。
页:
[1]