硬件: C6748 +NOR FLASH
我将应用程序+UBL 用AISgen软件生成AIS文件,然后用仿真器烧写入NOR FLASH。
我想设置或者确定,应用程序烧写到NOR FLASH的位置,UBL在NOR FLASH的位置,有什么方法吗?
Tony Tang:
user6310626我将应用程序+UBL 用AISgen软件生成AIS文件,
合成一个AIS文件?
user6310626我想设置或者确定,应用程序烧写到NOR FLASH的位置,UBL在NOR FLASH的位置,有什么方法吗?
UBL是在flash的开始的。
应用程序是你的UBL去搬的。自己在UBL与flash writer里约定好一样就行了。
user6310626:
回复 Tony Tang:
嗯,是的,如果应用程序+UBL 用AISgen软件生成AIS文件,合成一个文件。
应用程序在FLASH中的位置还有办法确认吗?
user6310626:
回复 Tony Tang:
懂了,那最好的方法就是:UBL生成AIS文件,应用程序不生成AIS文件。
然后将这两个文件通过NORWrite工程烧到FLASH相应位置。这样就确定了位置,以后只更新应用程序,就不会有任何问题。
Tony Tang:
回复 user6310626:
是的., 应用程序用boot table格式就可以了. 这个贴子里关于boot的附件里的说明第五,六,七页, 关于如何生成boot table.
user6310626:
回复 Tony Tang:
好的,感谢回答。
user6310626:
回复 Tony Tang:
在UBL_NOR工程中,norboot.h定义了
typedef struct _NORBOOT_HEADER_{ Uint32 magicNum; Uint32 entryPoint; Uint32 appSize; Uint32 ldAddress; /* Starting RAM address where image is to copied – XIP Mode */}NORBOOT_HeaderObj,*NORBOOT_HeaderHandle;
ubl.h中定义了
#define UBL_MAGIC_BINARY_BOOT (0x55424CBBu)
在norboot.c 中,hNorHeader将BLOCK1中信息赋值给hNorHeader。
// Assume header is at start of Block 1 of NOR device (Block 0 has // this UBL) hNorHeader = (NORBOOT_HeaderHandle) (blkAddress + blkSize);
我的问题是,根据BOOT TABLE格式:
ENTRY POINT
SECTION 1 SIZE
SECTION1 DEST
那么hNorHeader得不到UBL_MAGIC_BINARY_BOOT 这个信息,而且SIZE也只是SECTION1的SIZE,不是整个APPSIZE.
可以帮忙看看吗
user6310626:
回复 Tony Tang:
在UBL_NOR工程中,norboot.h定义了
typedef struct _NORBOOT_HEADER_
{Uint32magicNum;Uint32entryPoint; Uint32appSize;Uint32ldAddress; /* Starting RAM address where image is to copied – XIP Mode */
}
NORBOOT_HeaderObj,*NORBOOT_HeaderHandle;
ubl.h中定义了
#define UBL_MAGIC_BINARY_BOOT(0x55424CBBu)在norboot.c 中,hNorHeader将BLOCK1中信息赋值给hNorHeader。// Assume header is at start of Block 1 of NOR device (Block 0 has // this UBL)hNorHeader = (NORBOOT_HeaderHandle) (blkAddress + blkSize);
我的问题是,根据BOOT TABLE格式:
ENTRY POINT
SECTION 1 SIZE
SECTION1 DEST
那么hNorHeader得不到UBL_MAGIC_BINARY_BOOT 这个信息,而且SIZE也只是SECTION1的SIZE,不是整个APPSIZE.可以帮忙看看吗
Tony Tang:
回复 user6310626:
自己改一下不就行了。
user6310626:
回复 Tony Tang:
我不是这个意思。
这个是OMAP-L138_FLASHAndBootUtils_2_40里面提供的UBL中的NOR_WRITE工程,
按道理应该是正确的,他这种格式的写法是依据哪种格式写的?