Other Parts Discussed in Thread:C2000WARE
使用c2000ware 3.03中的双核binky_dc例程,CPU1是flash_standalone_debug,CPU2是flash_debug,可以正常运行,IO对应的指示灯也在闪;但是我将CPU1中CMD文件里面的BEGIN改为FLASHB起始地址0x82000(其他都没动),程序就运行不起来,程序中主循环设置计数器,仿真中查看CPU2计数器在计数但是指示灯不闪,CPU1计数器不动指示灯不闪,不知到什么原因?就是想知道使用IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH)启动CPU2,是对CPU1的启动开始地址有要求还是?也就是选择C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH,是两个CPU配置具体有啥要求?
Susan Yang:
我会在测试后给您回复,谢谢
,
Susan Yang:
经确认,flash boot mode 的话,只能从0x80000开始。这是BOOTROM代码在BOOT到Flash的情况下分支的地方。
具体可以参考 TRM
,
user4842559:
我现在做Bootloader,CPU1的boot在flashA扇区,App在FlashB以后的扇区(BEGIN起始就是0x82000),CPU1进入App后如何启动CPU2?
,
Susan Yang:
请您先参考
e2e.ti.com/…/913977
e2e.ti.com/…/606620
关于boot流程,请参考TRM的 4.8 Device Boot Flow Diagrams
,
user4842559:
看了那个流程图,还是不明白?
,
Susan Yang:
那您看一下 4.10.8 Boot IPC
断开仿真器独立运行时,CPU2是通过CPU1中的 IPCBootCPU2函数去触发启动的
,
user4842559:
越看越不明白了,其实就是想知道如何从除了0x80000启动CPU1和CPU2,如何实现?
,
Susan Yang:
您指的是custom boot? 之前也有客户问过该问题 e2e.ti.com/…/787683 The boot to flash boot mode always goes to 0x80000. This cannot be changed. 也就是说bootloader的地址只能是 0x80000,但是客户的主应用程序可以存储在其他地址,如0x82000 以及文档 www.ti.com/…/sprabv4d.pdf