Other Parts Discussed in Thread: SYSBIOS
Thread 中讨论的其他器件:SYSBIOS
您好!
我在这个项目上的最后一个助记符、我知道这个问题已经被提出了很多次、我似乎无法跟踪答案。 我有一个在自定义硬件上运行的 SYSBIOS 项目、无法在独立模式下从闪存引导。 使用仿真器、代码运行良好。 我已经编译了闪烁代码、并将其编程到电路板上、然后在独立模式下引导并运行。 因此、从该练习中、我将假定这不是硬件问题、而必须是 SYSBIOS cfg 问题或链接 cmd 文件问题。 这是我的引导/启动选项:-

这是我的 cmd 文件:-
存储器
{
第0页:
/* begin 用于"引导至闪存"引导加载程序模式*/
开始:origin = 0x080000,length = 0x000002
RAMM0:origin = 0x0000F5,length = 0x00030B
RAMLS0:origin = 0x008000、length = 0x000800
RAMLS1:origin = 0x008800,length = 0x000800
RAMLS2:origin = 0x009000,length = 0x000800
RAMLS3:origin = 0x009800,length = 0x000800
RAMLS4:origin = 0x00A000,length = 0x000800
复位:origin = 0x3FFFC0,length = 0x000002
/*闪存扇区*/
/*组0 */
FLASH_BANK0_SEC0:origin = 0x080002、length = 0x000FFE //片上闪存*
/*FLASH_BANK0_SEC1:origin = 0x081000,length = 0x001000*/*片上闪存*/
FLASH_BANK0_sec2:origin = 0x082000、length = 0x001000 //片上闪存*
FLASH_BANK0_SEC3:origin = 0x083000、length = 0x001000 //片上闪存*
FLASH_BANK0_SEC4:origin = 0x084000、length = 0x001000 //片上闪存*
FLASH_BANK0_SEC5:origin = 0x085000、length = 0x001000 //片上闪存*
FLASH_BANK0_SEC6:origin = 0x086000、length = 0x001000 //片上闪存*
FLASH_BANK0_SEC7:origin = 0x087000、length = 0x001000 //片上闪存*
FLASH_BANK0_SEC8:origin = 0x088000、length = 0x001000 //片上闪存*
FLASH_BANK0_SEC9:origin = 0x089000、length = 0x001000 //片上闪存*
FLASH_BANK0_SEC10:origin = 0x08A000、length = 0x001000 //片上闪存*
FLASH_BANK0_SEC11:origin = 0x08B000、length = 0x001000 //片上闪存*
FLASH_BANK0_SEC12:origin = 0x08C000、length = 0x001000 //片上闪存*
FLASH_BANK0_SEC13:origin = 0x08D000、length = 0x001000 //片上闪存*
FLASH_BANK0_SEC14:origin = 0x08E000、length = 0x001000 //片上闪存*
FLASH_BANK0_SEC15:origin = 0x08F000、length = 0x001000 //片上闪存*
/*银行1 */
FLASH_BANK1_SEC0:origin = 0x090000、length = 0x001000 //片上闪存*
FLASH_BANK1_SEC1:origin = 0x091000、length = 0x001000 //片上闪存*
FLASH_BANK1_SEC2:origin = 0x092000、length = 0x001000 //片上闪存*
FLASH_BANK1_SEC3:origin = 0x093000、length = 0x001000 //片上闪存*
FLASH_BANK1_SEC4:origin = 0x094000、length = 0x001000 //片上闪存*
FLASH_BANK1_SEC5:origin = 0x095000、length = 0x001000 //片上闪存*/
FLASH_BANK1_SEC6:origin = 0x096000、length = 0x001000 //片上闪存*
FLASH_BANK1_SEC7:origin = 0x097000、length = 0x001000 //片上闪存*
FLASH_BANK1_SEC8:origin = 0x098000、length = 0x001000 //片上闪存*
FLASH_BANK1_SEC9:origin = 0x099000、length = 0x001000 //片上闪存*
FLASH_BANK1_SEC10:origin = 0x09A000、length = 0x001000 //片上闪存*
FLASH_BANK1_SEC11:origin = 0x09B000、length = 0x001000 //片上闪存*
FLASH_BANK1_SEC12:origin = 0x09C000、length = 0x001000 //片上闪存*
FLASH_BANK1_SEC13:origin = 0x09D000、length = 0x001000 //片上闪存*
FLASH_BANK1_SEC14:origin = 0x09E000、length = 0x001000 //片上闪存*
FLASH_BANK1_SEC15:origin = 0x09F000、length = 0x001000 //片上闪存*
第1页:
BOOT_RSVD:origin = 0x000002,length = 0x0000F3 // M0的一部分,引导 ROM 将此用于栈*/
RAMM1:origin = 0x000400、length = 0x000400 //片上 RAM 块 M1 *
RAMLS5:origin = 0x00A800,length = 0x000800
RAMLS6:origin = 0x00B000、length = 0x000800
RAMLS7:origin = 0x00B800,length = 0x000800
RAMGS0:origin = 0x00C000、length = 0x002000
RAMGS1:origin = 0x00E000、length = 0x002000
RAMGS2:origin = 0x010000、length = 0x002000
RAMGS3:origin = 0x012000,length = 0x002000
}
部分
{
codestart:> begin,page = 0,align (4)
.text:>> flash_BANK0_SEC3 | flash_BANK0_SEC4 | flash_BANK0_SEC5 | flash_BANK0_SEC6,page = 0,align (4)
.cinit:> flash_BANK0_sec2,page = 0,align (4)
.switch:> FLASH_BANK0_sec2,PAGE = 0,ALIGN (4)
.reset:> reset,page = 0,type = DSECT //未使用,*/
.stack:>RAMM1,PAGE = 1.
init_array:> flash_BANK0_sec2,page = 0,align (4)
.bss:> RAMLS5,page = 1.
.bss:输出:> RAMLS3,页= 0
.bss:CIO:> RAMLS0,PAGE = 0
.data :> RAMLS5 | RAMLS6,page = 1.
.sysmem:>> RAMLS5,page = 1.
/*初始化段进入闪存*/
.const:> FLASH_BANK0_SEC4、PAGE = 0、ALIGN (4)
RAMS0:>RAMGS0,PAGE = 1
ramgs1:>RAMGS1,page = 1.
ramm0:>RAMM0,page = 0
.TI.ramfunc:load = flash_BANK0_SEC1,
RUN = RAMLS0 | RAMLS1 | RAMLS2 | RAMLS3、
Load_start (RamfuncsLoadStart)、
load_size (RamfuncsLoadSize)、
Load_End (RamfuncsLoadEnd)、
RUN_START (RamfuncsRunStart)、
run_size (RamfuncsRunSize)、
RUN_END (RamfuncsRunEnd)、
PAGE = 0、ALIGN (4)
}
请提供任何帮助。
谢谢、
Richard。