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.
使用 Code Composer 10.3,我正在将 Flash API 导入到代码中,并按预期构建。 我确保图书馆路径是本次讨论的一部分- https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1012666/launchxl-f280025c-flash-api/3742724#3742724。
我添加了必要的 F2808.cmd 链接:
Flash28_API: { -lFlash2808_API_V302.lib(.econst) -lFlash2808_API_V302.lib(.text) } LOAD = FLASHD, RUN = RAML0, LOAD_START(_Flash28_API_LoadStart), LOAD_END(_Flash28_API_LoadEnd), RUN_START(_Flash28_API_RunStart), PAGE = 0 ramfuncs : LOAD = FLASHD, RUN = RAML0, LOAD_START(_RamfuncsLoadStart), LOAD_END(_RamfuncsLoadEnd), RUN_START(_RamfuncsRunStart), PAGE = 0
作为一项测试,我将 Flash_API VersionHex ()移动到了我的主要功能(在 Memcopy 和 PLL 设置等之后),以确保它能够正常工作。 当我跑步时,我跳到了一个非法的_ISR()紧急停止。
我还得到了以下信息: 在“Flash28_Version_Hex.c”中找不到源文件
找到文件或编辑源查找路径以包括其位置。
当我步入 Flash_API VersionHex () 并显示反汇编时,我看到以下内容,当我一步执行代码时,它将进入 CopyData 函数:
Flash2808_APIVersionHex(): 00851b: FE0C ADDB SP, #12 00851c: 767F51E3 LCR 0x3f51e3 100 { CopyData(), RamfuncsRunStart: 00851e: FE0C ADDB SP, #12 115 CsmUnlock(); 00851f: 767F51E8 LCR CsmUnlock
为什么我似乎无法使用此简单设置获得 Flash API 十六进制版本?
你好,杰弗里,
我们的 F2808闪存专家将于下周中返回给您。
谢谢,此致,
瓦姆西
非常感谢。 期待得到帮助。
杰弗里
您能否告诉我您正在如何使用 Memcopy 函数/使用什么函数? 我认为有一个默认的 C 原型,我看到其他人有问题。 在我们的 API 示例中,我们有一个简单的例程(您可能已经在使用),如下所示:
// Copy the Flash API functions to SARAM Example_MemCopy(&Flash28_API_LoadStart, &Flash28_API_LoadEnd, &Flash28_API_RunStart); // We must also copy required user interface functions to RAM. Example_MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart); void Example_MemCopy(Uint16 *SourceAddr, Uint16* SourceEndAddr, Uint16* DestAddr) { while(SourceAddr < SourceEndAddr) { *DestAddr++ = *SourceAddr++; } return; }
上一个屏幕截图有趣的是,对 APIVersionHex ()的 ASM 调用是对闪存地址的调用,而链接程序本应是对 SRAM 地址的调用。
您也可以在 memcopy 函数调用后立即手动检查 API 函数是否位于 RAM 中。
我认为.c 文件错误是由于.lib 中的内容与独立文件的打包,但我需要进一步研究。
最佳
马修
Memcopy 定义:
MemCopy(&Flash28_API_LoadStart, &Flash28_API_LoadEnd, &Flash28_API_RunStart); MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart); void MemCopy(Uint16 *SourceAddr, Uint16* SourceEndAddr, Uint16* DestAddr) { while(SourceAddr < SourceEndAddr) { *DestAddr++ = *SourceAddr++; } return; }
我已经包括了地图文件,以查看它是否能帮助您找到问题。
****************************************************************************** TMS320C2000 Linker PC v20.2.4 ****************************************************************************** >> Linked Fri Jan 21 08:41:01 2022 OUTPUT FILE NAME: <Example_2808_Flash.out> ENTRY POINT SYMBOL: "_c_int00" address: 003f5c9c MEMORY CONFIGURATION name origin length used unused attr fill ---------------------- -------- --------- -------- -------- ---- -------- PAGE 0: RAML0 00008000 00001000 000005fb 00000a05 RWIX OTP 003d7800 00000400 00000000 00000400 RWIX FLASHD 003e8000 00004000 000005fb 00003a05 RWIX FLASHC 003ec000 00004000 00000000 00004000 RWIX FLASHB 003f0000 00004000 00000000 00004000 RWIX FLASHA 003f4000 00003f80 000020c8 00001eb8 RWIX CSM_RSVD 003f7f80 00000076 00000076 00000000 RWIX BEGIN 003f7ff6 00000002 00000002 00000000 RWIX CSM_PWL 003f7ff8 00000008 00000008 00000000 RWIX ROM 003ff000 00000fc0 00000000 00000fc0 RWIX RESET 003fffc0 00000002 00000000 00000002 RWIX VECTORS 003fffc2 0000003e 00000000 0000003e RWIX PAGE 1: RAMM0 00000000 00000400 00000380 00000080 RWIX BOOT_RSVD 00000400 00000080 00000000 00000080 RWIX RAMM1 00000480 00000380 00000000 00000380 RWIX DEV_EMU 00000880 00000180 000000d0 000000b0 RWIX FLASH_REGS 00000a80 00000060 00000008 00000058 RWIX CSM 00000ae0 00000010 00000010 00000000 RWIX ADC_MIRROR 00000b00 00000010 00000010 00000000 RWIX CPU_TIMER0 00000c00 00000008 00000008 00000000 RWIX CPU_TIMER1 00000c08 00000008 00000008 00000000 RWIX CPU_TIMER2 00000c10 00000008 00000008 00000000 RWIX PIE_CTRL 00000ce0 00000020 0000001a 00000006 RWIX PIE_VECT 00000d00 00000100 00000100 00000000 RWIX ECANA 00006000 00000040 00000034 0000000c RWIX ECANA_LAM 00006040 00000040 00000040 00000000 RWIX ECANA_MOTS 00006080 00000040 00000040 00000000 RWIX ECANA_MOTO 000060c0 00000040 00000040 00000000 RWIX ECANA_MBOX 00006100 00000100 00000100 00000000 RWIX ECANB 00006200 00000040 00000034 0000000c RWIX ECANB_LAM 00006240 00000040 00000040 00000000 RWIX ECANB_MOTS 00006280 00000040 00000040 00000000 RWIX ECANB_MOTO 000062c0 00000040 00000040 00000000 RWIX ECANB_MBOX 00006300 00000100 00000100 00000000 RWIX EPWM1 00006800 00000022 00000022 00000000 RWIX EPWM2 00006840 00000022 00000022 00000000 RWIX EPWM3 00006880 00000022 00000022 00000000 RWIX EPWM4 000068c0 00000022 00000022 00000000 RWIX EPWM5 00006900 00000022 00000022 00000000 RWIX EPWM6 00006940 00000022 00000022 00000000 RWIX ECAP1 00006a00 00000020 00000020 00000000 RWIX ECAP2 00006a20 00000020 00000020 00000000 RWIX ECAP3 00006a40 00000020 00000020 00000000 RWIX ECAP4 00006a60 00000020 00000020 00000000 RWIX EQEP1 00006b00 00000040 00000040 00000000 RWIX EQEP2 00006b40 00000040 00000040 00000000 RWIX GPIOCTRL 00006f80 00000040 00000040 00000000 RWIX GPIODAT 00006fc0 00000020 00000020 00000000 RWIX GPIOINT 00006fe0 00000020 0000000a 00000016 RWIX SYSTEM 00007010 00000020 00000020 00000000 RWIX SPIA 00007040 00000010 00000010 00000000 RWIX SCIA 00007050 00000010 00000010 00000000 RWIX XINTRUPT 00007070 00000010 00000010 00000000 RWIX ADC 00007100 00000020 0000001e 00000002 RWIX SPIB 00007740 00000010 00000010 00000000 RWIX SCIB 00007750 00000010 00000010 00000000 RWIX *** 00007760 00000010 00000010 00000000 RWIX SPID 00007780 00000010 00000010 00000000 RWIX I2CA 00007900 00000040 00000022 0000001e RWIX RAML1 00009000 00001000 000007bc 00000844 RWIX FLASHB 003f0000 00004000 00000000 00004000 RWIX CSM_PWL 003f7ff8 00000008 00000008 00000000 RWIX RAMH0 003fa000 00002000 00000000 00002000 RWIX SECTION ALLOCATION MAP output attributes/ section page origin length input sections -------- ---- ---------- ---------- ---------------- Flash28_API * 0 003e8000 0000051e RUN ADDR = 00008000 003e8000 00000014 Flash2808_API_V302.lib : Flash28_Erase.obj (.econst) 003e8014 000000a9 : Flash28_Prog.obj (.text) 003e80bd 000000a2 : Flash28_Erase.obj (.text) 003e815f 0000009a : Flash28_Erase_Pulse.obj (.text) 003e81f9 00000084 : Flash28_Internals.obj (.text) 003e827d 0000007f : Flash28_Prog_Pulse.obj (.text) 003e82fc 0000007d : Flash28_Compact_Pulse.obj (.text) 003e8379 0000005b : Flash28_EraseSector.obj (.text) 003e83d4 00000054 : Flash28_CompactSector.obj (.text) 003e8428 00000041 : Flash28_ClearLoop.obj (.text) 003e8469 00000033 : Flash28_ClearSector.obj (.text) 003e849c 00000033 : Flash28_Verify.obj (.text) 003e84cf 00000024 : Flash28_Init.obj (.text) 003e84f3 00000014 : Flash28_Utils.obj (.text) 003e8507 0000000d : Flash28_Delay.obj (.text) 003e8514 00000007 : Flash28_DisInt.obj (.text) 003e851b 00000003 : Flash28_Version_Hex.obj (.text) ramfuncs 0 003e851e 000000dd RUN ADDR = 0000851e 003e851e 000000be Shared_Boot.obj (ramfuncs) 003e85dc 0000001b DSP280x_SysCtrl.obj (ramfuncs) 003e85f7 00000004 DSP280x_usDelay.obj (ramfuncs) .cinit 0 003f6092 00000036 003f6092 0000000e rts2800_ml.lib : exit.c.obj (.cinit) 003f60a0 0000000a DSP280x_Adc.obj (.cinit) 003f60aa 0000000a Flash2808_API_V302.lib : Flash28_Globals.obj (.cinit) 003f60b4 00000005 rts2800_ml.lib : _lock.c.obj (.cinit:__lock) 003f60b9 00000005 : _lock.c.obj (.cinit:__unlock) 003f60be 00000004 DSP280x_ECan.obj (.cinit) 003f60c2 00000004 Example_280xFlash_Main.obj (.cinit) 003f60c6 00000002 --HOLE-- [fill = 0] csm_rsvd 0 003f7f80 00000076 003f7f80 00000076 DSP280x_CSMPasswords.obj (csm_rsvd) DevEmuRegsFile * 1 00000880 000000d0 UNINITIALIZED 00000880 000000d0 DSP280x_GlobalVariableDefs.obj (DevEmuRegsFile) FlashRegsFile * 1 00000a80 00000008 UNINITIALIZED 00000a80 00000008 DSP280x_GlobalVariableDefs.obj (FlashRegsFile) CsmRegsFile * 1 00000ae0 00000010 UNINITIALIZED 00000ae0 00000010 DSP280x_GlobalVariableDefs.obj (CsmRegsFile) AdcMirrorFile * 1 00000b00 00000010 UNINITIALIZED 00000b00 00000010 DSP280x_GlobalVariableDefs.obj (AdcMirrorFile) CpuTimer0RegsFile * 1 00000c00 00000008 UNINITIALIZED 00000c00 00000008 DSP280x_GlobalVariableDefs.obj (CpuTimer0RegsFile) CpuTimer1RegsFile * 1 00000c08 00000008 UNINITIALIZED 00000c08 00000008 DSP280x_GlobalVariableDefs.obj (CpuTimer1RegsFile) CpuTimer2RegsFile * 1 00000c10 00000008 UNINITIALIZED 00000c10 00000008 DSP280x_GlobalVariableDefs.obj (CpuTimer2RegsFile) PieCtrlRegsFile * 1 00000ce0 0000001a UNINITIALIZED 00000ce0 0000001a DSP280x_GlobalVariableDefs.obj (PieCtrlRegsFile) PieVectTableFile * 1 00000d00 00000100 UNINITIALIZED 00000d00 00000100 DSP280x_GlobalVariableDefs.obj (PieVectTableFile) ECanaRegsFile * 1 00006000 00000034 UNINITIALIZED 00006000 00000034 DSP280x_GlobalVariableDefs.obj (ECanaRegsFile) ECanaLAMRegsFile * 1 00006040 00000040 UNINITIALIZED 00006040 00000040 DSP280x_GlobalVariableDefs.obj (ECanaLAMRegsFile) ECanaMOTSRegsFile * 1 00006080 00000040 UNINITIALIZED 00006080 00000040 DSP280x_GlobalVariableDefs.obj (ECanaMOTSRegsFile) ECanaMOTORegsFile * 1 000060c0 00000040 UNINITIALIZED 000060c0 00000040 DSP280x_GlobalVariableDefs.obj (ECanaMOTORegsFile) ECanaMboxesFile * 1 00006100 00000100 UNINITIALIZED 00006100 00000100 DSP280x_GlobalVariableDefs.obj (ECanaMboxesFile) ECanbRegsFile * 1 00006200 00000034 UNINITIALIZED 00006200 00000034 DSP280x_GlobalVariableDefs.obj (ECanbRegsFile) ECanbLAMRegsFile * 1 00006240 00000040 UNINITIALIZED 00006240 00000040 DSP280x_GlobalVariableDefs.obj (ECanbLAMRegsFile) ECanbMOTSRegsFile * 1 00006280 00000040 UNINITIALIZED 00006280 00000040 DSP280x_GlobalVariableDefs.obj (ECanbMOTSRegsFile) ECanbMOTORegsFile * 1 000062c0 00000040 UNINITIALIZED 000062c0 00000040 DSP280x_GlobalVariableDefs.obj (ECanbMOTORegsFile) ECanbMboxesFile * 1 00006300 00000100 UNINITIALIZED 00006300 00000100 DSP280x_GlobalVariableDefs.obj (ECanbMboxesFile) EPwm1RegsFile * 1 00006800 00000022 UNINITIALIZED 00006800 00000022 DSP280x_GlobalVariableDefs.obj (EPwm1RegsFile) EPwm2RegsFile * 1 00006840 00000022 UNINITIALIZED 00006840 00000022 DSP280x_GlobalVariableDefs.obj (EPwm2RegsFile) EPwm3RegsFile * 1 00006880 00000022 UNINITIALIZED 00006880 00000022 DSP280x_GlobalVariableDefs.obj (EPwm3RegsFile) EPwm4RegsFile * 1 000068c0 00000022 UNINITIALIZED 000068c0 00000022 DSP280x_GlobalVariableDefs.obj (EPwm4RegsFile) EPwm5RegsFile * 1 00006900 00000022 UNINITIALIZED 00006900 00000022 DSP280x_GlobalVariableDefs.obj (EPwm5RegsFile) EPwm6RegsFile * 1 00006940 00000022 UNINITIALIZED 00006940 00000022 DSP280x_GlobalVariableDefs.obj (EPwm6RegsFile) ECap1RegsFile * 1 00006a00 00000020 UNINITIALIZED 00006a00 00000020 DSP280x_GlobalVariableDefs.obj (ECap1RegsFile) ECap2RegsFile * 1 00006a20 00000020 UNINITIALIZED 00006a20 00000020 DSP280x_GlobalVariableDefs.obj (ECap2RegsFile) ECap3RegsFile * 1 00006a40 00000020 UNINITIALIZED 00006a40 00000020 DSP280x_GlobalVariableDefs.obj (ECap3RegsFile) ECap4RegsFile * 1 00006a60 00000020 UNINITIALIZED 00006a60 00000020 DSP280x_GlobalVariableDefs.obj (ECap4RegsFile) EQep1RegsFile * 1 00006b00 00000040 UNINITIALIZED 00006b00 00000040 DSP280x_GlobalVariableDefs.obj (EQep1RegsFile) EQep2RegsFile * 1 00006b40 00000040 UNINITIALIZED 00006b40 00000040 DSP280x_GlobalVariableDefs.obj (EQep2RegsFile) GpioCtrlRegsFile * 1 00006f80 00000040 UNINITIALIZED 00006f80 00000040 DSP280x_GlobalVariableDefs.obj (GpioCtrlRegsFile) GpioDataRegsFile * 1 00006fc0 00000020 UNINITIALIZED 00006fc0 00000020 DSP280x_GlobalVariableDefs.obj (GpioDataRegsFile) GpioIntRegsFile * 1 00006fe0 0000000a UNINITIALIZED 00006fe0 0000000a DSP280x_GlobalVariableDefs.obj (GpioIntRegsFile) SysCtrlRegsFile * 1 00007010 00000020 UNINITIALIZED 00007010 00000020 DSP280x_GlobalVariableDefs.obj (SysCtrlRegsFile) SpiaRegsFile * 1 00007040 00000010 UNINITIALIZED 00007040 00000010 DSP280x_GlobalVariableDefs.obj (SpiaRegsFile) SciaRegsFile * 1 00007050 00000010 UNINITIALIZED 00007050 00000010 DSP280x_GlobalVariableDefs.obj (SciaRegsFile) XIntruptRegsFile * 1 00007070 00000010 UNINITIALIZED 00007070 00000010 DSP280x_GlobalVariableDefs.obj (XIntruptRegsFile) AdcRegsFile * 1 00007100 0000001e UNINITIALIZED 00007100 0000001e DSP280x_GlobalVariableDefs.obj (AdcRegsFile) SpibRegsFile * 1 00007740 00000010 UNINITIALIZED 00007740 00000010 DSP280x_GlobalVariableDefs.obj (SpibRegsFile) ScibRegsFile * 1 00007750 00000010 UNINITIALIZED 00007750 00000010 DSP280x_GlobalVariableDefs.obj (ScibRegsFile) SpicRegsFile * 1 00007760 00000010 UNINITIALIZED 00007760 00000010 DSP280x_GlobalVariableDefs.obj (SpicRegsFile) SpidRegsFile * 1 00007780 00000010 UNINITIALIZED 00007780 00000010 DSP280x_GlobalVariableDefs.obj (SpidRegsFile) I2caRegsFile * 1 00007900 00000022 UNINITIALIZED 00007900 00000022 DSP280x_GlobalVariableDefs.obj (I2caRegsFile) CsmPwlFile * 1 003f7ff8 00000008 UNINITIALIZED 003f7ff8 00000008 DSP280x_GlobalVariableDefs.obj (CsmPwlFile) .pinit 0 003f4000 00000000 UNINITIALIZED .text 0 003f4000 00001f8c 003f4000 000007a3 MAX6639.obj (.text) 003f47a3 00000460 DSP280x_ECan.obj (.text) 003f4c03 00000423 DSP280x_ECan.obj (.text:retain) 003f5026 0000035b DSP280x_I2C.obj (.text) 003f5381 0000026c DSP280x_Spi.obj (.text) 003f55ed 000001b0 Example_280xFlash_Main.obj (.text) 003f579d 00000145 DSP280x_DefaultIsr.obj (.text:retain) 003f58e2 000000c5 DSP280x_SysCtrl.obj (.text) 003f59a7 000000be DSP280x_I2C.obj (.text:retain) 003f5a65 00000087 DSP280x_CpuTimers.obj (.text) 003f5aec 00000078 rts2800_ml.lib : fs_add28.asm.obj (.text) 003f5b64 00000075 DSP280x_Adc.obj (.text:retain) 003f5bd9 00000069 rts2800_ml.lib : s_ceilf.c.obj (.text) 003f5c42 0000005a : fs_mpy28.asm.obj (.text) 003f5c9c 00000054 : boot28.asm.obj (.text) 003f5cf0 00000044 Can_Boot.obj (.text) 003f5d34 00000038 DSP280x_Gpio.obj (.text) 003f5d6c 00000031 DSP280x_Adc.obj (.text) 003f5d9d 0000002a DSP280x_CpuTimers.obj (.text:retain) 003f5dc7 0000002a rts2800_ml.lib : l_div28.asm.obj (.text) 003f5df1 00000029 : exit.c.obj (.text) 003f5e1a 00000029 : fs_tol28.asm.obj (.text) 003f5e43 00000028 DSP280x_PieCtrl.obj (.text) 003f5e6b 00000025 rts2800_ml.lib : fs_toi28.asm.obj (.text) 003f5e90 00000024 : cpy_tbl.c.obj (.text) 003f5eb4 00000022 Shared_Boot.obj (.text) 003f5ed6 00000020 DSP280x_PieVect.obj (.text) 003f5ef6 0000001d rts2800_ml.lib : memcpy.c.obj (.text) 003f5f13 0000001a : i_tofs28.asm.obj (.text) 003f5f2d 00000017 : fs_cmp28.asm.obj (.text) 003f5f44 00000013 DSP280x_MemCopy.obj (.text) 003f5f57 00000011 rts2800_ml.lib : args_main.c.obj (.text) 003f5f68 00000010 : u_tofs28.asm.obj (.text) 003f5f78 00000009 : _lock.c.obj (.text) 003f5f81 00000008 DSP280x_CodeStartBranch.obj (.text) 003f5f89 00000002 rts2800_ml.lib : pre_init.c.obj (.text) 003f5f8b 00000001 : startup.c.obj (.text) codestart * 0 003f7ff6 00000002 003f7ff6 00000002 DSP280x_CodeStartBranch.obj (codestart) csmpasswds * 0 003f7ff8 00000008 003f7ff8 00000008 DSP280x_CSMPasswords.obj (csmpasswds) .stack 1 00000000 00000380 UNINITIALIZED 00000000 00000380 --HOLE-- .ebss 1 00009000 000007bc UNINITIALIZED 00009000 00000400 Shared_Boot.obj (.ebss:_progBuf) 00009400 00000225 DSP280x_I2C.obj (.ebss) 00009625 00000001 --HOLE-- 00009626 00000018 DSP280x_CpuTimers.obj (.ebss) 0000963e 00000002 MAX6639.obj (.ebss:_SensorCorrection) 00009640 000000b4 DSP280x_ECan.obj (.ebss) 000096f4 0000000a Shared_Boot.obj (.ebss) 000096fe 00000002 rts2800_ml.lib : _lock.c.obj (.ebss:__lock) 00009700 00000040 DSP280x_I2C.obj (.ebss:_RxMsgBuffer) 00009740 00000040 DSP280x_I2C.obj (.ebss:_TxMsgBuffer) 00009780 00000016 MAX6639.obj (.ebss) 00009796 00000011 Example_280xFlash_Main.obj (.ebss) 000097a7 00000001 --HOLE-- 000097a8 00000006 rts2800_ml.lib : exit.c.obj (.ebss) 000097ae 00000004 DSP280x_Adc.obj (.ebss) 000097b2 00000004 DSP280x_Spi.obj (.ebss) 000097b6 00000004 Flash2808_API_V302.lib : Flash28_Globals.obj (.ebss) 000097ba 00000002 rts2800_ml.lib : _lock.c.obj (.ebss:__unlock) .econst 0 003f5f8c 00000106 003f5f8c 00000100 DSP280x_PieVect.obj (.econst:_PieVectTableInit) 003f608c 00000004 MAX6639.obj (.econst:_rpm_ranges) 003f6090 00000002 rts2800_ml.lib : s_ceilf.c.obj (.econst) .reset 0 003fffc0 00000002 DSECT 003fffc0 00000002 rts2800_ml.lib : boot28.asm.obj (.reset) vectors 0 003fffc2 00000000 DSECT MODULE SUMMARY Module code initialized data uninitialized data ------ ---- ---------------- ------------------ .\ DSP280x_ECan.obj 2179 4 180 DSP280x_GlobalVariableDefs.obj 0 0 2336 MAX6639.obj 1955 4 24 DSP280x_I2C.obj 1049 0 677 Shared_Boot.obj 414 0 1034 DSP280x_Spi.obj 620 0 4 Example_280xFlash_Main.obj 432 4 17 DSP280x_DefaultIsr.obj 325 0 0 DSP280x_PieVect.obj 32 256 0 DSP280x_SysCtrl.obj 251 0 0 DSP280x_CpuTimers.obj 177 0 24 DSP280x_Adc.obj 166 10 4 DSP280x_CSMPasswords.obj 0 126 0 Can_Boot.obj 68 0 0 DSP280x_Gpio.obj 56 0 0 DSP280x_PieCtrl.obj 40 0 0 DSP280x_MemCopy.obj 19 0 0 DSP280x_CodeStartBranch.obj 10 0 0 DSP280x_usDelay.obj 8 0 0 +--+--------------------------------+-------+------------------+--------------------+ Total: 7801 404 4300 C:/ti/ccs1031/ccs/tools/compiler/ti-cgt-c2000_20.2.4.LTS/lib/rts2800_ml.lib fs_add28.asm.obj 120 0 0 s_ceilf.c.obj 105 2 0 fs_mpy28.asm.obj 90 0 0 boot28.asm.obj 84 0 0 exit.c.obj 41 14 6 l_div28.asm.obj 42 0 0 fs_tol28.asm.obj 41 0 0 fs_toi28.asm.obj 37 0 0 cpy_tbl.c.obj 36 0 0 memcpy.c.obj 29 0 0 i_tofs28.asm.obj 26 0 0 _lock.c.obj 9 10 4 fs_cmp28.asm.obj 23 0 0 args_main.c.obj 17 0 0 u_tofs28.asm.obj 16 0 0 pre_init.c.obj 2 0 0 startup.c.obj 1 0 0 +--+--------------------------------+-------+------------------+--------------------+ Total: 719 26 10 C:/tidcs/c28/Flash28_API/Flash2808_API_V302/lib/Flash2808_API_V302.lib Flash28_Erase.obj 324 40 0 Flash28_Prog.obj 338 0 0 Flash28_Erase_Pulse.obj 308 0 0 Flash28_Internals.obj 264 0 0 Flash28_Prog_Pulse.obj 254 0 0 Flash28_Compact_Pulse.obj 250 0 0 Flash28_EraseSector.obj 182 0 0 Flash28_CompactSector.obj 168 0 0 Flash28_ClearLoop.obj 130 0 0 Flash28_ClearSector.obj 102 0 0 Flash28_Verify.obj 102 0 0 Flash28_Init.obj 72 0 0 Flash28_Utils.obj 40 0 0 Flash28_Delay.obj 26 0 0 Flash28_DisInt.obj 14 0 0 Flash28_Globals.obj 0 10 4 Flash28_Version_Hex.obj 6 0 0 +--+--------------------------------+-------+------------------+--------------------+ Total: 2580 50 4 Stack: 0 0 896 +--+--------------------------------+-------+------------------+--------------------+ Grand Total: 11100 480 5210 GLOBAL DATA SYMBOLS: SORTED BY DATA PAGE address data page name -------- ---------------- ---- 00000000 0 (00000000) __stack 00000880 22 (00000880) _DevEmuRegs 00000a80 2a (00000a80) _FlashRegs 00000ae0 2b (00000ac0) _CsmRegs 00000b00 2c (00000b00) _AdcMirror 00000c00 30 (00000c00) _CpuTimer0Regs 00000c08 30 (00000c00) _CpuTimer1Regs 00000c10 30 (00000c00) _CpuTimer2Regs 00000ce0 33 (00000cc0) _PieCtrlRegs 00000d00 34 (00000d00) _PieVectTable 00006000 180 (00006000) _ECanaRegs 00006040 181 (00006040) _ECanaLAMRegs 00006080 182 (00006080) _ECanaMOTSRegs 000060c0 183 (000060c0) _ECanaMOTORegs 00006100 184 (00006100) _ECanaMboxes 00006200 188 (00006200) _ECanbRegs 00006240 189 (00006240) _ECanbLAMRegs 00006280 18a (00006280) _ECanbMOTSRegs 000062c0 18b (000062c0) _ECanbMOTORegs 00006300 18c (00006300) _ECanbMboxes 00006800 1a0 (00006800) _EPwm1Regs 00006840 1a1 (00006840) _EPwm2Regs 00006880 1a2 (00006880) _EPwm3Regs 000068c0 1a3 (000068c0) _EPwm4Regs 00006900 1a4 (00006900) _EPwm5Regs 00006940 1a5 (00006940) _EPwm6Regs 00006a00 1a8 (00006a00) _ECap1Regs 00006a20 1a8 (00006a00) _ECap2Regs 00006a40 1a9 (00006a40) _ECap3Regs 00006a60 1a9 (00006a40) _ECap4Regs 00006b00 1ac (00006b00) _EQep1Regs 00006b40 1ad (00006b40) _EQep2Regs 00006f80 1be (00006f80) _GpioCtrlRegs 00006fc0 1bf (00006fc0) _GpioDataRegs 00006fe0 1bf (00006fc0) _GpioIntRegs 00007010 1c0 (00007000) _SysCtrlRegs 00007040 1c1 (00007040) _SpiaRegs 00007050 1c1 (00007040) _SciaRegs 00007070 1c1 (00007040) _XIntruptRegs 00007100 1c4 (00007100) _AdcRegs 00007740 1dd (00007740) _SpibRegs 00007750 1dd (00007740) _ScibRegs 00007760 1dd (00007740) _SpicRegs 00007780 1de (00007780) _SpidRegs 00007900 1e4 (00007900) _I2caRegs 00008014 200 (00008000) _Flash2808_Program 000080bd 202 (00008080) _Flash2808_Erase 0000815f 205 (00008140) _Fl28x_EraseVerify 000081a7 206 (00008180) _Fl28x_ErasePulse 000081f9 207 (000081c0) _Fl28x_LeaveCmdMode 00008206 208 (00008200) _Fl28x_EnterCmdMode 0000822b 208 (00008200) _Fl28x_FlashRegSleep 0000824a 209 (00008240) _Fl28x_OpenPulse 0000825b 209 (00008240) _Fl28x_ClosePulse 00008272 209 (00008240) _Fl28x_MaskAll 0000827d 209 (00008240) _Fl28x_ProgVerify 000082ba 20a (00008280) _Fl28x_ProgPulse 000082fc 20b (000082c0) _Fl28x_CompactVerify 00008336 20c (00008300) _Fl28x_CompactPulse 00008379 20d (00008340) _Fl2808_EraseSector 000083d4 20f (000083c0) _Fl2808_CompactSector 00008428 210 (00008400) _Fl28x_ClearLoop 00008469 211 (00008440) _Fl2808_ClearSector 0000849c 212 (00008480) _Flash2808_Verify 000084cf 213 (000084c0) _Fl2808_Init 000084f3 213 (000084c0) _Fl28x_WatchDogDisable 000084fb 213 (000084c0) _Fl28x_DisableNMI 00008507 214 (00008500) _Fl28x_Delay 00008514 214 (00008500) _Fl28x_DisableInt 00008518 214 (00008500) _Fl28x_RestoreInt 0000851b 214 (00008500) _Flash2808_APIVersionHex 00009000 240 (00009000) _progBuf 00009400 250 (00009400) _timeoutCheck 00009401 250 (00009400) _numofBytes 00009402 250 (00009400) _numof16Bytes 00009403 250 (00009400) _remainingBytes 00009404 250 (00009400) _currentResponderPtr 00009406 250 (00009400) _UcValues 0000940a 250 (00009400) _ADT7410Regs 0000940e 250 (00009400) _PaValues 00009414 250 (00009400) _I2cHdl_EEPROM 0000941e 250 (00009400) _I2cHdl_TempSensor 00009440 251 (00009440) _PaEepromData 00009626 258 (00009600) _CpuTimer0 0000962e 258 (00009600) _CpuTimer1 00009636 258 (00009600) _CpuTimer2 0000963e 258 (00009600) _SensorCorrection 00009640 259 (00009640) _NumCANWrites 00009641 259 (00009640) _Cdh_AdcDc 00009643 259 (00009640) _Cdh_AdcUc 00009645 259 (00009640) _Cdh_AdcPa 00009647 259 (00009640) _Cdh_TempSensor 00009649 259 (00009640) _Cdh_Bit 0000964b 259 (00009640) _Cdh_FanStatus 0000964d 259 (00009640) _Cdh_FanTach 00009650 259 (00009640) _CanGetTemp 00009658 259 (00009640) _CanGetFanSt 00009660 259 (00009640) _CanGetFanTach 00009668 259 (00009640) _CanGetDcrf 00009670 259 (00009640) _CanGetBit 00009678 259 (00009640) _CanF2808Task 00009680 25a (00009680) _CanGetUcrf 00009688 25a (00009680) _CanGetParf 000096c0 25b (000096c0) _ECanRegsShadow 000096f4 25b (000096c0) _GetOnlyWordData 000096f6 25b (000096c0) _FlashStatus 000096fa 25b (000096c0) _VerifyStatus 000096fe 25b (000096c0) __lock 00009700 25c (00009700) _RxMsgBuffer 00009740 25d (00009740) _TxMsgBuffer 00009780 25e (00009780) _returnme 00009786 25e (00009780) _temprtnme 0000978c 25e (00009780) _I2cHndl_FanControl 0000979a 25e (00009780) _Master_TaskPtr 0000979c 25e (00009780) _Timer0_TaskPtr 0000979e 25e (00009780) _Timer1_TaskPtr 000097a0 25e (00009780) _ECRxData 000097a8 25e (00009780) ___TI_enable_exit_profile_output 000097aa 25e (00009780) ___TI_cleanup_ptr 000097ac 25e (00009780) ___TI_dtors_ptr 000097ae 25e (00009780) _AdcInterruptCount 000097b0 25e (00009780) _PrevAdcInterruptCount 000097b2 25e (00009780) _ACCELEROMETER_STATE 000097b4 25e (00009780) _tmc262_rdrspms 000097b6 25e (00009780) _Flash_CallbackPtr 000097b8 25e (00009780) _Flash_CPUScaleFactor 000097ba 25e (00009780) __unlock 003f5f8c fd7e (003f5f80) _PieVectTableInit 003f7ff8 fdff (003f7fc0) _CsmPwl GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name page address name ---- ------- ---- 0 003f4000 .text 0 003f5df1 C$$EXIT 0 003f5af1 FS$$ADD 0 003f5f2d FS$$CMP 0 003f5c42 FS$$MPY 0 003f5aec FS$$SUB 0 003f5e6b FS$$TOI 0 003f5e1a FS$$TOL 0 003f5f13 I$$TOFS 0 003f5dc7 L$$DIV 0 003f5dd6 L$$MOD 0 003f5f68 U$$TOFS 0 003f5de4 UL$$DIV 0 003f5deb UL$$MOD 1 000097b2 _ACCELEROMETER_STATE 0 003f5810 _ADCINT_ISR 1 0000940a _ADT7410Regs 1 000097ae _AdcInterruptCount 1 00000b00 _AdcMirror 1 00007100 _AdcRegs 0 003f5b64 _Adc_IntIsr 0 003f5239 _Adt7410_Init 0 003f5263 _Adt7410_ReadReg 0 003f4bbb _CANGIF_Flags_OK 0 003f5cf0 _CAN_FlashBoot 0 003f5eb4 _CAN_FlashGetLongData 0 003f5d1a _CAN_FlashGetWordData 0 003f492a _CAN_GetWordData 0 003f4b3b _CAN_SendCmdMsg 0 003f4bd6 _CAN_WaitandClearTA 1 00009678 _CanF2808Task 1 00009670 _CanGetBit 1 00009668 _CanGetDcrf 1 00009658 _CanGetFanSt 1 00009660 _CanGetFanTach 1 00009688 _CanGetParf 1 00009650 _CanGetTemp 1 00009680 _CanGetUcrf 1 00009641 _Cdh_AdcDc 1 00009645 _Cdh_AdcPa 1 00009643 _Cdh_AdcUc 1 00009649 _Cdh_Bit 1 0000964b _Cdh_FanStatus 1 0000964d _Cdh_FanTach 1 00009647 _Cdh_TempSensor 0 003f5abb _ConfigCpuTimer 0 0000851e _CopyData 1 00009626 _CpuTimer0 1 00000c00 _CpuTimer0Regs 1 0000962e _CpuTimer1 1 00000c08 _CpuTimer1Regs 1 00009636 _CpuTimer2 1 00000c10 _CpuTimer2Regs 0 003f5d9d _Cpu_Timer0_IntIsr 0 003f5dab _Cpu_Timer1_IntIsr 0 003f5db9 _Cpu_Timer2_IntIsr 1 003f7ff8 _CsmPwl 1 00000ae0 _CsmRegs 0 003f5976 _CsmUnlock 0 003f57a7 _DATALOG_ISR 0 000085f7 _DSP28x_usDelay 1 00000880 _DevEmuRegs 0 003f58fd _DisableDog 0 003f58bf _ECAN0INTA_ISR 0 003f58c9 _ECAN0INTB_ISR 0 003f58c4 _ECAN1INTA_ISR 0 003f58ce _ECAN1INTB_ISR 0 003f585b _ECAP1_INT_ISR 0 003f5860 _ECAP2_INT_ISR 0 003f5865 _ECAP3_INT_ISR 0 003f586a _ECAP4_INT_ISR 1 000097a0 _ECRxData 0 003f4c03 _ECan0_IntIsr 1 000096c0 _ECanRegsShadow 1 00006040 _ECanaLAMRegs 1 000060c0 _ECanaMOTORegs 1 00006080 _ECanaMOTSRegs 1 00006100 _ECanaMboxes 1 00006000 _ECanaRegs 1 00006240 _ECanbLAMRegs 1 000062c0 _ECanbMOTORegs 1 00006280 _ECanbMOTSRegs 1 00006300 _ECanbMboxes 1 00006200 _ECanbRegs 1 00006a00 _ECap1Regs 1 00006a20 _ECap2Regs 1 00006a40 _ECap3Regs 1 00006a60 _ECap4Regs 0 003f58d3 _EMPTY_ISR 0 003f57b1 _EMUINT_ISR 0 003f583d _EPWM1_INT_ISR 0 003f581f _EPWM1_TZINT_ISR 0 003f5842 _EPWM2_INT_ISR 0 003f5824 _EPWM2_TZINT_ISR 0 003f5847 _EPWM3_INT_ISR 0 003f5829 _EPWM3_TZINT_ISR 0 003f584c _EPWM4_INT_ISR 0 003f582e _EPWM4_TZINT_ISR 0 003f5851 _EPWM5_INT_ISR 0 003f5833 _EPWM5_TZINT_ISR 0 003f5856 _EPWM6_INT_ISR 0 003f5838 _EPWM6_TZINT_ISR 1 00006800 _EPwm1Regs 1 00006840 _EPwm2Regs 1 00006880 _EPwm3Regs 1 000068c0 _EPwm4Regs 1 00006900 _EPwm5Regs 1 00006940 _EPwm6Regs 0 003f586f _EQEP1_INT_ISR 0 003f5874 _EQEP2_INT_ISR 1 00006b00 _EQep1Regs 1 00006b40 _EQep2Regs 0 003f58f5 _EnableDog 0 003f5e62 _EnableInterrupts 0 00008469 _Fl2808_ClearSector 0 000083d4 _Fl2808_CompactSector 0 00008379 _Fl2808_EraseSector 0 000084cf _Fl2808_Init 0 00008428 _Fl28x_ClearLoop 0 0000825b _Fl28x_ClosePulse 0 00008336 _Fl28x_CompactPulse 0 000082fc _Fl28x_CompactVerify 0 00008507 _Fl28x_Delay 0 00008514 _Fl28x_DisableInt 0 000084fb _Fl28x_DisableNMI 0 00008206 _Fl28x_EnterCmdMode 0 000081a7 _Fl28x_ErasePulse 0 0000815f _Fl28x_EraseVerify 0 0000822b _Fl28x_FlashRegSleep 0 000081f9 _Fl28x_LeaveCmdMode 0 00008272 _Fl28x_MaskAll 0 0000824a _Fl28x_OpenPulse 0 000082ba _Fl28x_ProgPulse 0 0000827d _Fl28x_ProgVerify 0 00008518 _Fl28x_RestoreInt 0 000084f3 _Fl28x_WatchDogDisable 0 0000851b _Flash2808_APIVersionHex 0 000080bd _Flash2808_Erase 0 00008014 _Flash2808_Program 0 0000849c _Flash2808_Verify 0 003e851e _Flash28_API_LoadEnd 0 003e8000 _Flash28_API_LoadStart 0 00008000 _Flash28_API_RunStart 1 00000a80 _FlashRegs 1 000096f6 _FlashStatus 1 000097b8 _Flash_CPUScaleFactor 1 000097b6 _Flash_CallbackPtr 1 000096f4 _GetOnlyWordData 1 00006f80 _GpioCtrlRegs 1 00006fc0 _GpioDataRegs 1 00006fe0 _GpioIntRegs 0 003f5486 _Hmc8073_Init 0 003f548d _Hmc8073_Set_Attenuator 0 003f58a1 _I2CINT1A_ISR 0 003f58a6 _I2CINT2A_ISR 0 003f50c7 _I2C_MasterRead 0 003f507f _I2C_MasterWrite 0 003f51d7 _I2C_Read 0 003f5048 _I2C_TxSlaveAddress_ControlBytes 0 003f5172 _I2C_Write 1 00009414 _I2cHdl_EEPROM 1 0000941e _I2cHdl_TempSensor 1 0000978c _I2cHndl_FanControl 0 003f59d0 _I2c_Fifo_IntIsr 0 003f59a7 _I2c_IntIsr 1 00007900 _I2caRegs 0 003f57bb _ILLEGAL_ISR 0 003f579d _INT13_ISR 0 003f57a2 _INT14_ISR 0 003f5d34 _Init58113ResetGpio 0 003f5d52 _InitAccelIntGpio 0 003f5d6c _InitAdc 0 003f5a65 _InitCpuTimers 0 003f56c0 _InitDevices 0 003f47a3 _InitECan 0 003f490c _InitECanaGpio 0 000085dc _InitFlash 0 003f5026 _InitI2C 0 003f5032 _InitI2CGpio 0 003f593a _InitPeripheralClocks 0 003f56b5 _InitPeripheralGPIO 0 003f5672 _InitPeripherals 0 003f5e43 _InitPieCtrl 0 003f5643 _InitPieCtrlInts 0 003f5ed6 _InitPieVectTable 0 003f565a _InitPieVectorTable 0 003f5905 _InitPll 0 003f5381 _InitSpi 0 003f5460 _InitSpiFifo 0 003f53c1 _InitSpiGpio 0 003f53ca _InitSpiaGpio 0 003f53f0 _InitSpibGpio 0 003f540e _InitSpicGpio 0 003f5438 _InitSpidGpio 0 003f58e2 _InitSysCtrl 1 0000979a _Master_TaskPtr 0 003f40ee _Max6639_GetAlertLimit 0 003f4086 _Max6639_GetConfig 0 003f432c _Max6639_GetDevID 0 003f435c _Max6639_GetDevRev 0 003f40ab _Max6639_GetDiodeFault 0 003f40c7 _Max6639_GetExtTemp 0 003f417b _Max6639_GetFanConfig 0 003f4295 _Max6639_GetFanDuty 0 003f42b0 _Max6639_GetFanDutyPercent 0 003f425e _Max6639_GetFanMinTachCount 0 003f4202 _Max6639_GetFanPPR 0 003f421d _Max6639_GetFanPPRVal 0 003f43ce _Max6639_GetFanPWMFreq 0 003f4694 _Max6639_GetFanRPM 0 003f4515 _Max6639_GetFanRPMRange 0 003f45ca _Max6639_GetFanRPMStepA 0 003f4642 _Max6639_GetFanRPMStepB 0 003f458f _Max6639_GetFanRateOfChange 0 003f473e _Max6639_GetFanSensorCorrection 0 003f467c _Max6639_GetFanStartStep 0 003f42f9 _Max6639_GetFanStartTempC 0 003f41a2 _Max6639_GetFanTachCount 0 003f41d9 _Max6639_GetFanTargetTach 0 003f4605 _Max6639_GetFanTempStepA 0 003f4344 _Max6639_GetManuID 0 003f4061 _Max6639_GetMask 0 003f411b _Max6639_GetOTLimit 0 003f4039 _Max6639_GetStatus 0 003f4148 _Max6639_GetThermLimit 0 003f4750 _Max6639_Init 0 003f4000 _Max6639_ReadTempC 0 003f401e _Max6639_ReadTempF 0 003f410d _Max6639_SetAlertLimit 0 003f44a2 _Max6639_SetChan2Source 0 003f409e _Max6639_SetConfig 0 003f46db _Max6639_SetFanAutoRPM 0 003f4195 _Max6639_SetFanConfig 0 003f44f8 _Max6639_SetFanControl 0 003f42d0 _Max6639_SetFanDuty 0 003f42de _Max6639_SetFanDutyPercent 0 003f471b _Max6639_SetFanManualRPM 0 003f427a _Max6639_SetFanMinTachCount 0 003f4548 _Max6639_SetFanMinimumSpeed 0 003f423b _Max6639_SetFanPPR 0 003f4435 _Max6639_SetFanPWMFreq 0 003f46f6 _Max6639_SetFanPWMMode 0 003f43b0 _Max6639_SetFanPulseStretch 0 003f452d _Max6639_SetFanRPMRange 0 003f45ac _Max6639_SetFanRPMStepA 0 003f4622 _Max6639_SetFanRPMStepB 0 003f4571 _Max6639_SetFanRateOfChange 0 003f4746 _Max6639_SetFanSensorCorrection 0 003f4374 _Max6639_SetFanSpinup 0 003f465f _Max6639_SetFanStartStep 0 003f4318 _Max6639_SetFanStartTempC 0 003f41cb _Max6639_SetFanTachCount 0 003f41f4 _Max6639_SetFanTargetTach 0 003f45e7 _Max6639_SetFanTempStepA 0 003f4392 _Max6639_SetFanTherm 0 003f4079 _Max6639_SetMask 0 003f413a _Max6639_SetOTLimit 0 003f448b _Max6639_SetPOR 0 003f44d8 _Max6639_SetPWMMode 0 003f44ba _Max6639_SetPWMPolarity 0 003f4463 _Max6639_SetRun 0 003f4167 _Max6639_SetThermLimit 0 003f5f44 _MemCopy 0 003f57b6 _NMI_ISR 1 00009640 _NumCANWrites 0 003f58d8 _PIE_RESERVED 1 00009440 _PaEepromData 1 0000940e _PaValues 1 00000ce0 _PieCtrlRegs 1 00000d00 _PieVectTable 0 003f5f8c _PieVectTableInit 1 000097b0 _PrevAdcInterruptCount 0 003f57ac _RTOSINT_ISR 0 003e85fb _RamfuncsLoadEnd 0 003e851e _RamfuncsLoadStart 0 0000851e _RamfuncsRunStart 0 003f5ec6 _ReadReservedFn 1 00009700 _RxMsgBuffer 0 003f58ab _SCIRXINTA_ISR 0 003f58b5 _SCIRXINTB_ISR 0 003f58b0 _SCITXINTA_ISR 0 003f58ba _SCITXINTB_ISR 0 003f57fc _SEQ1INT_ISR 0 003f5801 _SEQ2INT_ISR 0 003f5879 _SPIRXINTA_ISR 0 003f5883 _SPIRXINTB_ISR 0 003f588d _SPIRXINTC_ISR 0 003f5897 _SPIRXINTD_ISR 0 003f587e _SPITXINTA_ISR 0 003f5888 _SPITXINTB_ISR 0 003f5892 _SPITXINTC_ISR 0 003f589c _SPITXINTD_ISR 1 00007050 _SciaRegs 1 00007750 _ScibRegs 1 0000963e _SensorCorrection 0 003f58eb _ServiceDog 1 00007040 _SpiaRegs 1 00007740 _SpibRegs 1 00007760 _SpicRegs 1 00007780 _SpidRegs 0 003f4aa1 _StuffMailbox 1 00007010 _SysCtrlRegs 0 003f5815 _TINT0_ISR 0 003f52d2 _TestI2CEEPROM 0 003f56ef _Timer0_Task1_KickWatchDog 1 0000979c _Timer0_TaskPtr 0 003f56c9 _Timer0_TaskPtr_Master 0 003f56fc _Timer1_Task1_ToggleActiveLED 0 003f5716 _Timer1_Task2_GetTemperature 0 003f574e _Timer1_Task3_GetAdcStatus 0 003f5766 _Timer1_Task4_GetFanRpm 0 003f5792 _Timer1_Task5_UpdateAttenuator 1 0000979e _Timer1_TaskPtr 0 003f56dc _Timer1_TaskPtr_Master 0 003f5496 _Tmc262_Init 0 003f5516 _Tmc262_ReadStatus 1 00009740 _TxMsgBuffer 0 003f57ed _USER10_ISR 0 003f57f2 _USER11_ISR 0 003f57f7 _USER12_ISR 0 003f57c0 _USER1_ISR 0 003f57c5 _USER2_ISR 0 003f57ca _USER3_ISR 0 003f57cf _USER4_ISR 0 003f57d4 _USER5_ISR 0 003f57d9 _USER6_ISR 0 003f57de _USER7_ISR 0 003f57e3 _USER8_ISR 0 003f57e8 _USER9_ISR 1 00009406 _UcValues 0 003f4bf3 _UpdateCanMessage 0 003f49e4 _UpdateECanMBXwr 0 003f4a08 _UpdateECanMBoxes 0 003f4a23 _UpdateECanRate 1 000096fa _VerifyStatus 0 003f581a _WAKEINT_ISR 0 003f5806 _XINT1_ISR 0 003f580b _XINT2_ISR 1 00007070 _XIntruptRegs 1 00000380 __STACK_END abs 00000380 __STACK_SIZE 1 000097aa ___TI_cleanup_ptr 1 000097ac ___TI_dtors_ptr 1 000097a8 ___TI_enable_exit_profile_output abs ffffffff ___TI_pprof_out_hndl abs ffffffff ___TI_prof_data_size abs ffffffff ___TI_prof_data_start abs ffffffff ___binit__ abs ffffffff ___c_args__ 0 003f6092 ___cinit__ 0 003f5f8c ___etext__ abs ffffffff ___pinit__ 0 003f4000 ___text__ 0 003f5f57 __args_main 1 000096fe __lock 0 003f5f80 __nop 0 003f5f7c __register_lock 0 003f5f78 __register_unlock 1 00000000 __stack 0 003f5f8b __system_post_cinit 0 003f5f89 __system_pre_init 1 000097ba __unlock 0 003f5df1 _abort 0 003f5c9c _c_int00 0 003f5bd9 _ceil 0 003f5bd9 _ceilf 0 003f512c _checkBusStatus 0 003f5367 _compareData 0 003f5e90 _copy_in 1 00009404 _currentResponderPtr 0 003f55eb _error 0 003f5df3 _exit 0 003f5140 _handleNACK 0 003f5152 _handleNACKandTimeout 0 003f537f _i2cerror 0 003f447a _isRunning 0 003f55ed _main 0 003f5ef6 _memcpy 1 00009402 _numof16Bytes 1 00009401 _numofBytes 1 00009000 _progBuf 1 00009403 _remainingBytes 1 00009780 _returnme 0 003f58dd _rsvd_ISR 0 003f55b5 _spi_read 0 003f553a _spi_write 0 003f5564 _spi_write_read 1 00009786 _temprtnme 1 00009400 _timeoutCheck 1 000097b4 _tmc262_rdrspms abs ffffffff binit 0 003f6092 cinit 0 003f7ff6 code_start 0 003f5f8c etext abs ffffffff pinit GLOBAL SYMBOLS: SORTED BY Symbol Address page address name ---- ------- ---- 0 00008000 _Flash28_API_RunStart 0 00008014 _Flash2808_Program 0 000080bd _Flash2808_Erase 0 0000815f _Fl28x_EraseVerify 0 000081a7 _Fl28x_ErasePulse 0 000081f9 _Fl28x_LeaveCmdMode 0 00008206 _Fl28x_EnterCmdMode 0 0000822b _Fl28x_FlashRegSleep 0 0000824a _Fl28x_OpenPulse 0 0000825b _Fl28x_ClosePulse 0 00008272 _Fl28x_MaskAll 0 0000827d _Fl28x_ProgVerify 0 000082ba _Fl28x_ProgPulse 0 000082fc _Fl28x_CompactVerify 0 00008336 _Fl28x_CompactPulse 0 00008379 _Fl2808_EraseSector 0 000083d4 _Fl2808_CompactSector 0 00008428 _Fl28x_ClearLoop 0 00008469 _Fl2808_ClearSector 0 0000849c _Flash2808_Verify 0 000084cf _Fl2808_Init 0 000084f3 _Fl28x_WatchDogDisable 0 000084fb _Fl28x_DisableNMI 0 00008507 _Fl28x_Delay 0 00008514 _Fl28x_DisableInt 0 00008518 _Fl28x_RestoreInt 0 0000851b _Flash2808_APIVersionHex 0 0000851e _CopyData 0 0000851e _RamfuncsRunStart 0 000085dc _InitFlash 0 000085f7 _DSP28x_usDelay 0 003e8000 _Flash28_API_LoadStart 0 003e851e _Flash28_API_LoadEnd 0 003e851e _RamfuncsLoadStart 0 003e85fb _RamfuncsLoadEnd 0 003f4000 .text 0 003f4000 _Max6639_ReadTempC 0 003f4000 ___text__ 0 003f401e _Max6639_ReadTempF 0 003f4039 _Max6639_GetStatus 0 003f4061 _Max6639_GetMask 0 003f4079 _Max6639_SetMask 0 003f4086 _Max6639_GetConfig 0 003f409e _Max6639_SetConfig 0 003f40ab _Max6639_GetDiodeFault 0 003f40c7 _Max6639_GetExtTemp 0 003f40ee _Max6639_GetAlertLimit 0 003f410d _Max6639_SetAlertLimit 0 003f411b _Max6639_GetOTLimit 0 003f413a _Max6639_SetOTLimit 0 003f4148 _Max6639_GetThermLimit 0 003f4167 _Max6639_SetThermLimit 0 003f417b _Max6639_GetFanConfig 0 003f4195 _Max6639_SetFanConfig 0 003f41a2 _Max6639_GetFanTachCount 0 003f41cb _Max6639_SetFanTachCount 0 003f41d9 _Max6639_GetFanTargetTach 0 003f41f4 _Max6639_SetFanTargetTach 0 003f4202 _Max6639_GetFanPPR 0 003f421d _Max6639_GetFanPPRVal 0 003f423b _Max6639_SetFanPPR 0 003f425e _Max6639_GetFanMinTachCount 0 003f427a _Max6639_SetFanMinTachCount 0 003f4295 _Max6639_GetFanDuty 0 003f42b0 _Max6639_GetFanDutyPercent 0 003f42d0 _Max6639_SetFanDuty 0 003f42de _Max6639_SetFanDutyPercent 0 003f42f9 _Max6639_GetFanStartTempC 0 003f4318 _Max6639_SetFanStartTempC 0 003f432c _Max6639_GetDevID 0 003f4344 _Max6639_GetManuID 0 003f435c _Max6639_GetDevRev 0 003f4374 _Max6639_SetFanSpinup 0 003f4392 _Max6639_SetFanTherm 0 003f43b0 _Max6639_SetFanPulseStretch 0 003f43ce _Max6639_GetFanPWMFreq 0 003f4435 _Max6639_SetFanPWMFreq 0 003f4463 _Max6639_SetRun 0 003f447a _isRunning 0 003f448b _Max6639_SetPOR 0 003f44a2 _Max6639_SetChan2Source 0 003f44ba _Max6639_SetPWMPolarity 0 003f44d8 _Max6639_SetPWMMode 0 003f44f8 _Max6639_SetFanControl 0 003f4515 _Max6639_GetFanRPMRange 0 003f452d _Max6639_SetFanRPMRange 0 003f4548 _Max6639_SetFanMinimumSpeed 0 003f4571 _Max6639_SetFanRateOfChange 0 003f458f _Max6639_GetFanRateOfChange 0 003f45ac _Max6639_SetFanRPMStepA 0 003f45ca _Max6639_GetFanRPMStepA 0 003f45e7 _Max6639_SetFanTempStepA 0 003f4605 _Max6639_GetFanTempStepA 0 003f4622 _Max6639_SetFanRPMStepB 0 003f4642 _Max6639_GetFanRPMStepB 0 003f465f _Max6639_SetFanStartStep 0 003f467c _Max6639_GetFanStartStep 0 003f4694 _Max6639_GetFanRPM 0 003f46db _Max6639_SetFanAutoRPM 0 003f46f6 _Max6639_SetFanPWMMode 0 003f471b _Max6639_SetFanManualRPM 0 003f473e _Max6639_GetFanSensorCorrection 0 003f4746 _Max6639_SetFanSensorCorrection 0 003f4750 _Max6639_Init 0 003f47a3 _InitECan 0 003f490c _InitECanaGpio 0 003f492a _CAN_GetWordData 0 003f49e4 _UpdateECanMBXwr 0 003f4a08 _UpdateECanMBoxes 0 003f4a23 _UpdateECanRate 0 003f4aa1 _StuffMailbox 0 003f4b3b _CAN_SendCmdMsg 0 003f4bbb _CANGIF_Flags_OK 0 003f4bd6 _CAN_WaitandClearTA 0 003f4bf3 _UpdateCanMessage 0 003f4c03 _ECan0_IntIsr 0 003f5026 _InitI2C 0 003f5032 _InitI2CGpio 0 003f5048 _I2C_TxSlaveAddress_ControlBytes 0 003f507f _I2C_MasterWrite 0 003f50c7 _I2C_MasterRead 0 003f512c _checkBusStatus 0 003f5140 _handleNACK 0 003f5152 _handleNACKandTimeout 0 003f5172 _I2C_Write 0 003f51d7 _I2C_Read 0 003f5239 _Adt7410_Init 0 003f5263 _Adt7410_ReadReg 0 003f52d2 _TestI2CEEPROM 0 003f5367 _compareData 0 003f537f _i2cerror 0 003f5381 _InitSpi 0 003f53c1 _InitSpiGpio 0 003f53ca _InitSpiaGpio 0 003f53f0 _InitSpibGpio 0 003f540e _InitSpicGpio 0 003f5438 _InitSpidGpio 0 003f5460 _InitSpiFifo 0 003f5486 _Hmc8073_Init 0 003f548d _Hmc8073_Set_Attenuator 0 003f5496 _Tmc262_Init 0 003f5516 _Tmc262_ReadStatus 0 003f553a _spi_write 0 003f5564 _spi_write_read 0 003f55b5 _spi_read 0 003f55eb _error 0 003f55ed _main 0 003f5643 _InitPieCtrlInts 0 003f565a _InitPieVectorTable 0 003f5672 _InitPeripherals 0 003f56b5 _InitPeripheralGPIO 0 003f56c0 _InitDevices 0 003f56c9 _Timer0_TaskPtr_Master 0 003f56dc _Timer1_TaskPtr_Master 0 003f56ef _Timer0_Task1_KickWatchDog 0 003f56fc _Timer1_Task1_ToggleActiveLED 0 003f5716 _Timer1_Task2_GetTemperature 0 003f574e _Timer1_Task3_GetAdcStatus 0 003f5766 _Timer1_Task4_GetFanRpm 0 003f5792 _Timer1_Task5_UpdateAttenuator 0 003f579d _INT13_ISR 0 003f57a2 _INT14_ISR 0 003f57a7 _DATALOG_ISR 0 003f57ac _RTOSINT_ISR 0 003f57b1 _EMUINT_ISR 0 003f57b6 _NMI_ISR 0 003f57bb _ILLEGAL_ISR 0 003f57c0 _USER1_ISR 0 003f57c5 _USER2_ISR 0 003f57ca _USER3_ISR 0 003f57cf _USER4_ISR 0 003f57d4 _USER5_ISR 0 003f57d9 _USER6_ISR 0 003f57de _USER7_ISR 0 003f57e3 _USER8_ISR 0 003f57e8 _USER9_ISR 0 003f57ed _USER10_ISR 0 003f57f2 _USER11_ISR 0 003f57f7 _USER12_ISR 0 003f57fc _SEQ1INT_ISR 0 003f5801 _SEQ2INT_ISR 0 003f5806 _XINT1_ISR 0 003f580b _XINT2_ISR 0 003f5810 _ADCINT_ISR 0 003f5815 _TINT0_ISR 0 003f581a _WAKEINT_ISR 0 003f581f _EPWM1_TZINT_ISR 0 003f5824 _EPWM2_TZINT_ISR 0 003f5829 _EPWM3_TZINT_ISR 0 003f582e _EPWM4_TZINT_ISR 0 003f5833 _EPWM5_TZINT_ISR 0 003f5838 _EPWM6_TZINT_ISR 0 003f583d _EPWM1_INT_ISR 0 003f5842 _EPWM2_INT_ISR 0 003f5847 _EPWM3_INT_ISR 0 003f584c _EPWM4_INT_ISR 0 003f5851 _EPWM5_INT_ISR 0 003f5856 _EPWM6_INT_ISR 0 003f585b _ECAP1_INT_ISR 0 003f5860 _ECAP2_INT_ISR 0 003f5865 _ECAP3_INT_ISR 0 003f586a _ECAP4_INT_ISR 0 003f586f _EQEP1_INT_ISR 0 003f5874 _EQEP2_INT_ISR 0 003f5879 _SPIRXINTA_ISR 0 003f587e _SPITXINTA_ISR 0 003f5883 _SPIRXINTB_ISR 0 003f5888 _SPITXINTB_ISR 0 003f588d _SPIRXINTC_ISR 0 003f5892 _SPITXINTC_ISR 0 003f5897 _SPIRXINTD_ISR 0 003f589c _SPITXINTD_ISR 0 003f58a1 _I2CINT1A_ISR 0 003f58a6 _I2CINT2A_ISR 0 003f58ab _SCIRXINTA_ISR 0 003f58b0 _SCITXINTA_ISR 0 003f58b5 _SCIRXINTB_ISR 0 003f58ba _SCITXINTB_ISR 0 003f58bf _ECAN0INTA_ISR 0 003f58c4 _ECAN1INTA_ISR 0 003f58c9 _ECAN0INTB_ISR 0 003f58ce _ECAN1INTB_ISR 0 003f58d3 _EMPTY_ISR 0 003f58d8 _PIE_RESERVED 0 003f58dd _rsvd_ISR 0 003f58e2 _InitSysCtrl 0 003f58eb _ServiceDog 0 003f58f5 _EnableDog 0 003f58fd _DisableDog 0 003f5905 _InitPll 0 003f593a _InitPeripheralClocks 0 003f5976 _CsmUnlock 0 003f59a7 _I2c_IntIsr 0 003f59d0 _I2c_Fifo_IntIsr 0 003f5a65 _InitCpuTimers 0 003f5abb _ConfigCpuTimer 0 003f5aec FS$$SUB 0 003f5af1 FS$$ADD 0 003f5b64 _Adc_IntIsr 0 003f5bd9 _ceil 0 003f5bd9 _ceilf 0 003f5c42 FS$$MPY 0 003f5c9c _c_int00 0 003f5cf0 _CAN_FlashBoot 0 003f5d1a _CAN_FlashGetWordData 0 003f5d34 _Init58113ResetGpio 0 003f5d52 _InitAccelIntGpio 0 003f5d6c _InitAdc 0 003f5d9d _Cpu_Timer0_IntIsr 0 003f5dab _Cpu_Timer1_IntIsr 0 003f5db9 _Cpu_Timer2_IntIsr 0 003f5dc7 L$$DIV 0 003f5dd6 L$$MOD 0 003f5de4 UL$$DIV 0 003f5deb UL$$MOD 0 003f5df1 C$$EXIT 0 003f5df1 _abort 0 003f5df3 _exit 0 003f5e1a FS$$TOL 0 003f5e43 _InitPieCtrl 0 003f5e62 _EnableInterrupts 0 003f5e6b FS$$TOI 0 003f5e90 _copy_in 0 003f5eb4 _CAN_FlashGetLongData 0 003f5ec6 _ReadReservedFn 0 003f5ed6 _InitPieVectTable 0 003f5ef6 _memcpy 0 003f5f13 I$$TOFS 0 003f5f2d FS$$CMP 0 003f5f44 _MemCopy 0 003f5f57 __args_main 0 003f5f68 U$$TOFS 0 003f5f78 __register_unlock 0 003f5f7c __register_lock 0 003f5f80 __nop 0 003f5f89 __system_pre_init 0 003f5f8b __system_post_cinit 0 003f5f8c _PieVectTableInit 0 003f5f8c ___etext__ 0 003f5f8c etext 0 003f6092 ___cinit__ 0 003f6092 cinit 0 003f7ff6 code_start 1 00000000 __stack 1 00000380 __STACK_END 1 00000880 _DevEmuRegs 1 00000a80 _FlashRegs 1 00000ae0 _CsmRegs 1 00000b00 _AdcMirror 1 00000c00 _CpuTimer0Regs 1 00000c08 _CpuTimer1Regs 1 00000c10 _CpuTimer2Regs 1 00000ce0 _PieCtrlRegs 1 00000d00 _PieVectTable 1 00006000 _ECanaRegs 1 00006040 _ECanaLAMRegs 1 00006080 _ECanaMOTSRegs 1 000060c0 _ECanaMOTORegs 1 00006100 _ECanaMboxes 1 00006200 _ECanbRegs 1 00006240 _ECanbLAMRegs 1 00006280 _ECanbMOTSRegs 1 000062c0 _ECanbMOTORegs 1 00006300 _ECanbMboxes 1 00006800 _EPwm1Regs 1 00006840 _EPwm2Regs 1 00006880 _EPwm3Regs 1 000068c0 _EPwm4Regs 1 00006900 _EPwm5Regs 1 00006940 _EPwm6Regs 1 00006a00 _ECap1Regs 1 00006a20 _ECap2Regs 1 00006a40 _ECap3Regs 1 00006a60 _ECap4Regs 1 00006b00 _EQep1Regs 1 00006b40 _EQep2Regs 1 00006f80 _GpioCtrlRegs 1 00006fc0 _GpioDataRegs 1 00006fe0 _GpioIntRegs 1 00007010 _SysCtrlRegs 1 00007040 _SpiaRegs 1 00007050 _SciaRegs 1 00007070 _XIntruptRegs 1 00007100 _AdcRegs 1 00007740 _SpibRegs 1 00007750 _ScibRegs 1 00007760 _SpicRegs 1 00007780 _SpidRegs 1 00007900 _I2caRegs 1 00009000 _progBuf 1 00009400 _timeoutCheck 1 00009401 _numofBytes 1 00009402 _numof16Bytes 1 00009403 _remainingBytes 1 00009404 _currentResponderPtr 1 00009406 _UcValues 1 0000940a _ADT7410Regs 1 0000940e _PaValues 1 00009414 _I2cHdl_EEPROM 1 0000941e _I2cHdl_TempSensor 1 00009440 _PaEepromData 1 00009626 _CpuTimer0 1 0000962e _CpuTimer1 1 00009636 _CpuTimer2 1 0000963e _SensorCorrection 1 00009640 _NumCANWrites 1 00009641 _Cdh_AdcDc 1 00009643 _Cdh_AdcUc 1 00009645 _Cdh_AdcPa 1 00009647 _Cdh_TempSensor 1 00009649 _Cdh_Bit 1 0000964b _Cdh_FanStatus 1 0000964d _Cdh_FanTach 1 00009650 _CanGetTemp 1 00009658 _CanGetFanSt 1 00009660 _CanGetFanTach 1 00009668 _CanGetDcrf 1 00009670 _CanGetBit 1 00009678 _CanF2808Task 1 00009680 _CanGetUcrf 1 00009688 _CanGetParf 1 000096c0 _ECanRegsShadow 1 000096f4 _GetOnlyWordData 1 000096f6 _FlashStatus 1 000096fa _VerifyStatus 1 000096fe __lock 1 00009700 _RxMsgBuffer 1 00009740 _TxMsgBuffer 1 00009780 _returnme 1 00009786 _temprtnme 1 0000978c _I2cHndl_FanControl 1 0000979a _Master_TaskPtr 1 0000979c _Timer0_TaskPtr 1 0000979e _Timer1_TaskPtr 1 000097a0 _ECRxData 1 000097a8 ___TI_enable_exit_profile_output 1 000097aa ___TI_cleanup_ptr 1 000097ac ___TI_dtors_ptr 1 000097ae _AdcInterruptCount 1 000097b0 _PrevAdcInterruptCount 1 000097b2 _ACCELEROMETER_STATE 1 000097b4 _tmc262_rdrspms 1 000097b6 _Flash_CallbackPtr 1 000097b8 _Flash_CPUScaleFactor 1 000097ba __unlock 1 003f7ff8 _CsmPwl abs 00000380 __STACK_SIZE abs ffffffff ___TI_pprof_out_hndl abs ffffffff ___TI_prof_data_size abs ffffffff ___TI_prof_data_start abs ffffffff ___binit__ abs ffffffff ___c_args__ abs ffffffff ___pinit__ abs ffffffff binit abs ffffffff pinit [395 symbols]
杰弗里
由于包含了地图文件,因此一切似乎都是为了使其正常工作。 从您之前的 ASM 屏幕截图中,您还根据地址跳到了功能助手中,因此我们知道 CSM 也没有锁定。
1)您是否可以导入 API 软件包中包含的示例并加载/运行它? 在代码复制后调用闪存版本功能时,它几乎也在做同样的事情。 路径为 C:\tidcs\c28\Flash28_API\Flash2808_API_V302\example
2)如果我们正在调试您的当前代码,我们可以使用堆栈回顾获取 ITRAP 的位置。 进入非法 ISR 后,打开一个内存窗口,到达 SP 寄存器指向的位置(在 CPU 寄存器视图中)。 如果我们回顾两个字,我们应该看到返回地址,这将是一条超过 ITRAP 的指令。 或者,您可以将代码插入 Flash Version 函数,以查看何时也会发生这种情况。
在上述两项操作之间,我认为我们可以缩小代码的差异,并纠正导致代码行为不当的任何原因。
最佳
马修
谢谢 Mathew——我还没有忘记,但已经被跟踪。 我应该在第二天或第二天做这项工作。
感谢您的更新,杰弗里将会查找您的更新,我们可以从那里获得。
最佳
马修
所以,我有两个版本的球形
UINT16 Flash28_API_LoadStart;
UINT16 Flash28_API_LoadEnd;
UINT16 Flash28_API_RunStart;
在我的代码中。 因此,我删除了一个集,它使 Memcopy 地址 的参数更好。 (在开始和结束执行0xFFFF 之前)
现在 Flash_APIVersionHex ()给出了正确的响应- 0x0302,但它是从 Flash 运行的。
从 main()开始,我将它包装在 A 中
#pragma code_section (getversion,“ramfuns”);
getversion();
现在,它提供了 SRAM 的正确版本(0x8537)。 因此,我显然只需要确保所有的复制函数都包含在 pragma 中。
使用 C:\tidcs\c28\Flash28_API\Flash2808_API_V302\example,尽管它很古老。
当我将 pragma 中的所有 Flash 函数换行并使副本生效时,我会将此票证标记为“已解决”。 如果有另一两个问题,请搁置。