请问,刚接触omapL138几个月,对底层不是很熟,一块是开发板,一块时自己做的板子;
对比,自己做的板子ubl从spiflash 搬运 uboot到内存mddr中时,会漏掉开头的一些uboot的相关信息,如uboot的起始地址等,但rbl是能从flash搬运ubl的,这时怎回事啊,有没有可能在烧写时的握手出了问题?
对spiwriter.out有些疑问,这个烧写程序是怎样实现和spiflash握手烧写的?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
RBL(ROM bootloader)搬AIS格式UBL(User Bootloader)格式,跳转到UBL运行,此时芯片的启动过程完成。
UBL运行,从约定好的位置按照约定好的格式搬过UBOOT,跳转到UBOOT运行。
用SPIwriter要选烧UBL,还烧UBOOT。
其实UBL可以不用,将编译好的uboot(不是uboot.bin),通AISgen.exe工具转换成AIS格式文件,直接烧转换后的AIS格式的uboot即可直接启动。
注:要在AISgen里将PLL,DDR,PINMUX, PSC等配置上。
请问bootloader搞好了没,我也正要做OMAP-L138 的bootloader.
RBL-->bootloader-->RTOS/DSPBIOS.
是这的,我们要做一个BOOTLOADER,支持从串口下载更新ARM 端的RTOS,或DSPBIOS。有自启动模式也有更新模式等功能。
1. RBL从NOR FLASH读取BOOTLOADER加载到相应的内存里去。因为是AIS格式,所以RBL会把代BOOTLOADER的代码由加载域COPY去运行域。但是,BOOTLOADER加载RTOS的时候,怎么样把RTOS加载到DDR的相应的位置?
RTOS的代码,有部分是放在RAM,有部分是放在DDR里。烧写进FLASH的是BIN文件。如何实现分散式加域?
( a section -->shareram1, b setction -->shareram2, c section --> DDR1.....)?
比如在spi-flash-writer的main.c中有如下的定义
SPIBOOT_HeaderObj header = {
0xa1aced00,
0xc1080000,
0,
0,
0xc1080000
};
typedef struct _SPIBOOT_HEADER_
{
Uint32 magicNum;
Uint32 entryPoint;
Uint32 appSize;
Uint32 memAddress;
Uint32 ldAddress; /* Starting RAM address where image is to copied - XIP Mode */
} SPIBOOT_HeaderObj;
各位大虾,我最近在弄AM1808 , 是从 SPI_flash 启动 Uboot 的,当时 我的内核文件和文件系统文件 怎么烧进 SPI_flash 呢? 在是网上查的资料都是 烧进 NAND Flash的
uboot启动后,直接tftp传内核就可以了吧,和普通的uboot没太大区别了吧
processors.wiki.ti.com/.../Booting_Linux_kernel_using_U-Boot