Part Number: TMS320F28379D
Other Parts Discussed in Thread: SFRA
當Debug 模式正常運作, 切換到Release 模式, 重新送電卻無法動作, 要如何確認問題
也將G72, G84 Pull High, 但是重新送電, 卻無法動作, 該如何確認問題
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.
Part Number: TMS320F28379D
Other Parts Discussed in Thread: SFRA
當Debug 模式正常運作, 切換到Release 模式, 重新送電卻無法動作, 要如何確認問題
也將G72, G84 Pull High, 但是重新送電, 卻無法動作, 該如何確認問題
附上CMD 資料, 不知是否有影響
#ifdef CLA_C
// Define a size for the CLA scratchpad area that will be used
// by the CLA compiler for local symbols and temps
// Also force references to the special symbols that mark the
// scratchpad are.
CLA_SCRATCHPAD_SIZE = 0x100;
--undef_sym=__cla_scratchpad_end
--undef_sym=__cla_scratchpad_start
#endif //CLA_C
MEMORY
{
PAGE 0 :
/* BEGIN is used for the "boot to SARAM" bootloader mode */
BEGIN : origin = 0x000000, length = 0x000002
BOOT_RSVD : origin = 0x000002, length = 0x000121 /* Part of M0, BOOT rom will use this for stack */
RAMM0 : origin = 0x000123, length = 0x0002DD
RAMM1 : origin = 0x000400, length = 0x0003F8 /* on-chip RAM block M1 */
RAMD0 : origin = 0x00B000, length = 0x000800
RAMD1 : origin = 0x00B800, length = 0x000800
RAMLS0to5 : origin = 0x008000, length = 0x003000
RAMGS0to4 : origin = 0x00C000, length = 0x005000
RAMGS5 : origin = 0x011000, length = 0x001000
RAMGS6 : origin = 0x012000, length = 0x001000
RAMGS7to8 : origin = 0x013000, length = 0x002000
RAMGS9 : origin = 0x015000, length = 0x001000
RAMGS10to15 : origin = 0x016000, length = 0x005FF8
/* Flash sectors */
FLASHA : origin = 0x080002, length = 0x001FFE /* on-chip Flash */
FLASHB : origin = 0x082000, length = 0x002000 /* on-chip Flash */
FLASHC : origin = 0x084000, length = 0x002000 /* on-chip Flash */
FLASHD : origin = 0x086000, length = 0x002000 /* on-chip Flash */
FLASHE : origin = 0x088000, length = 0x008000 /* on-chip Flash */
FLASHF : origin = 0x090000, length = 0x008000 /* on-chip Flash */
FLASHG : origin = 0x098000, length = 0x008000 /* on-chip Flash */
FLASHH : origin = 0x0A0000, length = 0x008000 /* on-chip Flash */
FLASHI : origin = 0x0A8000, length = 0x008000 /* on-chip Flash */
FLASHJ : origin = 0x0B0000, length = 0x008000 /* on-chip Flash */
FLASHK : origin = 0x0B8000, length = 0x002000 /* on-chip Flash */
FLASHL : origin = 0x0BA000, length = 0x002000 /* on-chip Flash */
FLASHM : origin = 0x0BC000, length = 0x002000 /* on-chip Flash */
FLASHN : origin = 0x0BE000, length = 0x001FF0 /* on-chip Flash */
RESET : origin = 0x3FFFC0, length = 0x000002
PAGE 1:
FPGA_RAM1_1 : origin = 0x00100000, length = 0x001000 /* FPGA RAM 1.1, Store SDO object values */
FPGA_RAM1_2 : origin = 0x00101000, length = 0x001000 /* FPGA RAM 1.2, Store SDO object ECC values */
FPGA_RAM2 : origin = 0x00102000, length = 0x001000 /* FPGA RAM 2, Store CiA402 object values */
FPGA_RAM3to4 : origin = 0x00104000, length = 0x002000 /* FPGA RAM 3&4, Store oscilloscope data */
CPU2TOCPU1RAM : origin = 0x03F800, length = 0x000400
CPU1TOCPU2RAM : origin = 0x03FC00, length = 0x000400
CANA_MSG_RAM : origin = 0x049000, length = 0x000800
CANB_MSG_RAM : origin = 0x04B000, length = 0x000800
CLA1_MSGRAMLOW : origin = 0x001480, length = 0x000080
CLA1_MSGRAMHIGH : origin = 0x001500, length = 0x000080
}
SECTIONS
{
codestart : > BEGIN
.text : >> FLASHD | FLASHE | FLASHF
.cinit : > FLASHA
.switch : > RAMM0
.reset : > RESET, TYPE = DSECT /* not used, */
.stack : > RAMM1
#if defined(__TI_EABI__)
.init_array : >> RAMGS0 | RAMGS1 | RAMGS2 | RAMGS3, ALIGN(8)
.bss : > RAMLS0 | RAMLS1, ALIGN(4)
.bss:output : > RAMLS0 | RAMLS1
.init_array : > RAMM0
.const : > RAMLS0 | RAMLS1
.data : > RAMLS0 | RAMLS1
.sysmem : > RAMLS0 | RAMLS1
#else
.pinit : >> RAMGS0to4, ALIGN(4)
.ebss : > RAMGS7to8, ALIGN(4)
.econst : > RAMGS10to15
.esysmem : > RAMGS9
#endif
ramfuncs : LOAD = FLASHJ,
RUN = RAMLS0to5,
LOAD_START(_RamfuncsLoadStart),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
RUN_SIZE(_RamfuncsRunSize),
RUN_END(_RamfuncsRunEnd),
PAGE = 0, ALIGN(4)
unsecure_ramfuncs : LOAD = FLASHC,
RUN = RAMGS6,
LOAD_START(_UnSecureRamfuncsLoadStart),
LOAD_END(_UnSecureRamfuncsLoadEnd),
RUN_START(_UnSecureRamfuncsRunStart),
RUN_SIZE(_UnSecureRamfuncsRunSize),
RUN_END(_UnSecureRamfuncsRunEnd),
PAGE = 0, ALIGN(4)
ramfuncs
{ -l F021_API_F2837xD_FPU32.lib}
LOAD = FLASHF,
RUN = RAMGS0to4,
LOAD_START(_Flash021_API_LoadStart),
LOAD_END(_Flash021_API_LoadEnd),
RUN_START(_Flash021_API_RunStart),
RUN_SIZE(_Flash021_API_RunSize),
RUN_END(_Flash021_API_RunEnd),
PAGE = 0, ALIGN(4)
/* The following section definition are for IQMATH */
IQmath : > RAMGS5, PAGE=0
IQmathTables : > RAMGS5, PAGE=0
IQmathTablesRam : > RAMGS5, PAGE=0
Auto_Tuning_Code : > FLASHH, PAGE = 0
Spec_Object : > FPGA_RAM1_1, PAGE = 1
Spec_Object_ECC : > FPGA_RAM1_2, PAGE = 1
CiA402Bkup_Object : > FPGA_RAM2, PAGE = 1
Oci_Scop_Buff_SEC : > FPGA_RAM3to4, PAGE = 1
DEF_SPEC_OBJ : > FLASHK, PAGE = 0
DEF_CIA402_OBJ : > FLASHL, PAGE = 0
ramgs0 : > RAMGS6, type=NOINIT
ramgs1 : > RAMGS9, type=NOINIT
MSGRAM_CPU1_TO_CPU2 > CPU1TOCPU2RAM, type=NOINIT
MSGRAM_CPU2_TO_CPU1 > CPU2TOCPU1RAM, type=NOINIT
/* CLA specific sections */
Cla1Prog : >> RAMLS0to5
ClaData : > RAMLS0to5
Cla1ToCpuMsgRAM : > CLA1_MSGRAMLOW, type=NOINIT
CpuToCla1MsgRAM : > CLA1_MSGRAMHIGH, type=NOINIT
/* SFRA specific sections */
SFRA_F32_Data : > RAMGS6, ALIGN = 64
sfra_data : > RAMGS6
#ifdef CLA_C
/* CLA C compiler sections */
//
// Must be allocated to memory the CLA has write access to
//
CLAscratch :
{ *.obj(CLAscratch)
. += CLA_SCRATCHPAD_SIZE;
*.obj(CLAscratch_end) } > RAMLS2
.scratchpad : > RAMLS2
.bss_cla : > RAMLS2
.const_cla : > RAMLS2
#endif //CLA_C
.TI.ramfunc : >> RAMGS0to4
}
當Debug 模式正常運作, 切換到Release 模式
方便描述下操作的步骤吗?
1. 使用 Blackhawk USB560 V2 System Trace 做為Debug 工具
2. 在DSP 內用GPIO 點亮一顆LED 燈
3. 當在Debug 模式下, 按Debug icon. 當完成Down Load 後
4. 按下Resume icon. 然後就看到LED 燈亮
5. 然後將 Blackhawk USB560 V2 System Trace 拔掉, 斷電重開, LED 燈卻不會亮
6. 如此判斷, 無法Reboot
7. 順便一提, 也將CMD 檔內
BEGIN : origin = 0x000000, length = 0x000002
改為BEGIN : origin = 0x080000, length = 0x000002
但依舊無法點亮LED 燈
4. 按下Resume icon. 然後就看到LED 燈亮
5. 然後將 Blackhawk USB560 V2 System Trace 拔掉, 斷電重開, LED 燈卻不會亮
工程有改为烧录到FLASH吗?
我僅知CMD檔設定為燒錄Flash, 就甚為它應該全部燒錄到Flash, 還是有其他設定需要操作
codestart : > BEGIN
.text : >> FLASHD | FLASHE | FLASHF
.cinit : > FLASHA
.switch : > RAMM0
.reset : > RESET, TYPE = DSECT /* not used, */
.stack : > RAMM1