您的位置:首页 > 其它

不同状态下多种启动方式

2013-03-12 14:40 148 查看
在不同状态下的StarterWare 应用程序独自从SPI闪存上的启动方式,如下图所示:



在状态一,系统重启,RBL拷贝启动代码进去片内的RAM区,地址是0x402F0400。拷贝完成之后,RBL把控制权交给启动代码。



在状态2,启动代码拷贝StarterWare应用程序到地址为0x80000000DDR内存。拷贝完成之后,跳转到0x80000000,然后把控制权移交给应用程序的控制。



应用程序执行。

NAND启动:

NAND启动和SPI启动的步骤是一致的,但是在NAND启动的应用程序的偏移地址是0x80000.

SD启动的几个状态:

状态1:系统重启,ROM里面的代码拷贝启动代码通过读取SD卡里面的MLO文件到它的header地址指定的文件中去;然后ROM代码就移交控制权给Bootloader

状态2:启动代码拷贝StarterWare应用程序通过读取名字为app的文件到它header指定的地址中去。拷贝之后,启动代码就跳转到应用程序的首地址,并把控制权移交给应用程序。

状态3:StarterWare应用程序开始执行。

通过UART启动方式:

状态1:系统重启,ROM当中的代码期望StarterWare的启动代码从UART以XMODEM协议的方式拷贝过来。

状态2:StarterWare启动镜像被编译成UART启动模式,boot.bin可以以XMODEM协议被发送。ROM代码拷贝bootloader镜像到OCMC RAM中,移交控制权被StarterWare的启动代码。

状态3:启动代码会期望应用程序通过串口发送过来。

状态4:程序以XMODEM通过串口发送过来。启动代码拷贝到DDR内存中去,应用程序开始执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: