主题 : ARM11 6410启动过程-菜鸟提问 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 12695
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
贡献值: 0 点
综合积分: 32 分
注册时间: 2010-01-11
最后登录: 2012-01-10
楼主  发表于: 2012-01-05 13:55

 ARM11 6410启动过程-菜鸟提问

请各位大牛回答一下。如果友善的mini6410把启动开关拨到Nand一端,从Nand启动,启动详细过程如何?就是在代码从Nand复制到内存之前,bootloader是怎么启动的。系统上电之后,真正先执行的是哪里的代码?内部ROM?求指点。
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2012-01-05 20:51
6410 NAND启动过程和2440几乎一样,上电后都是由固化在芯片内部Boot ROM里面的代码(可以理解为纯硬件机制)将NAND Flash中前4K的代码复制到内部SRAM中执行,再由这部分代码负责初始化外部SDRAM并且将NAND Flash中完整的Bootloader代码复制到SDRAM中执行。对于具体过程最好的解释只有源代码,光盘上的uboot源代码就支持NAND启动。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 67718
精华: 0
发帖: 40
金钱: 205 两
威望: 41 点
贡献值: 0 点
综合积分: 80 分
注册时间: 2012-04-14
最后登录: 2012-11-20
2楼  发表于: 2012-04-30 18:08

 回 1楼(kasim) 的帖子

请问一个很简单的LED裸机程序也要先烧写到NAND FLASH,然后也向您说所说的,再复制到SRAM中执行吗?我是从单片机过来的,刚学没多久,一直没明白裸机程序是如何运行的.在单片机中,就是写到flash中的0x00地址处,然后自动运行的.我有几个问题想问:
1,您说的"将NAND Flash中前4K的代码复制到内部SRAM中执行,再由这部分代码负责初始化外部SDRAM并且将NAND Flash中完整的Bootloader代码复制到SDRAM中执行",但我烧写裸机程序的时候,是不是把nand flash中的bootloader代码覆盖掉了,这时候又该怎么启动呢?
2,,SRAM是在6410芯片中本身就有的吗?而不像nand flash或DDR一样,是芯片外部的?