UBOOT Flash启动

Wei.Studio 2017-10-16 04:34:17
Linux系统的启动过程是:CPU上电启动后,会执行Flash中的uboot,初始化之后,然后拷贝内核到RAM中启动内核;我的问题是,和平台、板子相关的初始化代码都在uboot中,比如Start.S等,CPU通过某种接口与Flash相连接,在CPU还没读Flash之前,CPU的初始化是怎么完成的,它怎么知道怎么初始化和Flash的接口,然后去读Flash
...全文
858 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fly 100% 2018-01-06
  • 打赏
  • 举报
回复
cpu 还会有一段rom固化的启动代码,
gmeat 2017-12-15
  • 打赏
  • 举报
回复
一些ARM9,上电会将NANDFLASH前8Kb读取运行。这段代码比uboot还要前。
UpDate2017 2017-10-27
  • 打赏
  • 举报
回复
CPU出厂时内部已经固化了一段程序,称为BL0。用于初始化一些外围设备,同时根据你的启动方式,把外部Nandflash或者SD卡中的BL1部分的程序拷贝到SRAM中运行。
of123 2017-10-27
  • 打赏
  • 举报
回复
现在的微处理器,代码 Flash 是统一编址的,而且从地址 0 开始。芯片设计时,已经使 CPU 从 Flash 取值与从 RAM 取值从操作上没有差异(可能周期要长一些)。所以不存在配置 Flash 接口,使能读取这一说。
zjf0000 2017-10-21
  • 打赏
  • 举报
回复
不同的处理器方法不太一样,大部分处理器内部都固化了一部分代码,上电会把nand中的部分代码读到sdram 。
机器人下凡 2017-10-20
  • 打赏
  • 举报
回复
首先将uboot烧入nandflash或norflash.上电后,cpu根据硬件(引脚电平高低)判断nandflash还是norflash启动。nandflsh启动的话,通过nand控制器将nandflash中的uboot拷贝到DRAM中的4k大小内,将0地址映射过去执行uboot.norflash启动的话0地址直接映射到norflash执行,

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧