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.

程序写入FLASH后,不运行是怎么回事?



写了一个F2812的程序,在RAM里仿真都是好的,运行正常;

但是在烧入FLASH后,程序就不运行了(编译没有错误);

怀疑是FLASH的问题,于是写了一个LED流水灯小程序,烧入FLASH后,却可以正常运行。

这是怎么回事,有谁遇到过吗??

  • 这个表面你的工程较大时     CMD可能有问题    

    如果在CMD中找不到问题   试试将flash代码搬移到RAM中运行试试

  • 除了.cmd文件配置问题,也可能是你的程序本身存在问题,导致运行到某一段代码无法往下执行。

    建议可以使用2分法,通过加入GPIO翻转测试的方法检查问题出在哪段代码。

  • 由于工程文件比较大,在RAM里仿真调试程序时,多次修改过RAM.CMD文件。现已经在RAM里仿真调试完毕,程序正常运行,各部分功能都实现了。现在需要把程序烧入FLASH里,但是在烧入FLASH后,程序就不运行了(编译都是好的,也没有报错)。

    疑惑:1、程序写入RAM后,仿真都是好的(说明程序语法,逻辑都没有问题);


                2、新建了几个LED、按键等的工程,烧入FLASH后,程序正常运行(烧入FLASH时,用的是同一个   FLASH.CMD文件)。(说明FLASH.CMD、芯片本身

                 是好的);


                3、把出BUG的那个工程中的主函数注释掉,写了一个点亮LED的主函数。在RAM里仿真是好的,正常点 亮LED。同样的问题出现了,在烧入FLASH后,就

    不运行了。(说明该工程中确实有问题);

    分析后,觉得最有可能的就是问题出在CMD文件中:
            但是,既然编译器没有报错,那就应该说明FLASH.CMD文件没有问题呀;
            比较了程序正常在RAM里仿真时用的RAM.CMD文件和烧入FLASH时用的FLASH.CMD文件,各段的内存都大于RAM.CMD文件中的,也不会有问题呀。

    难道是我忽略了什么吗?
    求助?????

  • 还是建议你将flash搬移到RAM中来   试试

  • 可能是没有初始化FLASH,或者其它外设初始化错误,或者中断没有使能等。这个方面你可以自己检查下。

    另外,是否可以将你编译生成的.map文件和代码里的codestartbranch.asm文件发出来看下?同时,请告知烧录FLASH后0x3F 7FF6和0x3F 7FF7这两个地址里的内容是什么?

  • 用的HELLO DSP 的开发板,编程素材里没有codestartbranch.asm文件,但之前的程序写入FLASH后,是可以的,就这次出了问题。

  • ******************************************************************************
    TMS320C2000 Evaluation Linker PC v5.2.0
    ******************************************************************************
    >> Linked Mon Jun 27 12:00:14 2016

    OUTPUT FILE NAME: <./Debug/SD_15_11_24.out>
    ENTRY POINT SYMBOL: "_c_int00" address: 003f69cf


    MEMORY CONFIGURATION

    name origin length used unused attr fill
    ---------------------- -------- --------- -------- -------- ---- --------
    PAGE 0:
    OTP 003d7800 00000800 00000000 00000800 RWIX
    FLASHJ 003d8000 00002000 0000002d 00001fd3 RWIX
    FLASHI 003da000 00002000 00000000 00002000 RWIX
    FLASHH 003dc000 00004000 00000000 00004000 RWIX
    FLASHG 003e0000 00004000 00000000 00004000 RWIX
    FLASHF 003e4000 00004000 00000000 00004000 RWIX
    FLASHE 003e8000 00004000 00000000 00004000 RWIX
    FLASHD 003ec000 00004000 00000000 00004000 RWIX
    FLASHC 003f0000 00004000 00000000 00004000 RWIX
    FLASHB 003f4000 00002000 00000f5e 000010a2 RWIX
    FLASHA 003f6000 00001ff6 00000ccc 0000132a RWIX
    BEGIN 003f7ff6 00000002 00000002 00000000 RWIX
    PASSWDS 003f7ff8 00000008 00000000 00000008 RWIX
    ROM 003ff000 00000fc0 00000000 00000fc0 RWIX
    VECTORS 003fffc2 0000003e 00000000 0000003e RWIX

    PAGE 1:
    RAMM0M1 00000000 00000800 00000320 000004e0 RWIX
    DEV_EMU 00000880 00000180 000000d6 000000aa RWIX
    FLASH_REGS 00000a80 00000060 00000008 00000058 RWIX
    CSM 00000ae0 00000010 00000010 00000000 RWIX
    XINTF 00000b20 00000020 00000020 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
    ECAN_A 00006000 00000100 00000034 000000cc RWIX
    ECAN_AMBOX 00006100 00000100 00000100 00000000 RWIX
    SYSTEM 00007010 00000020 00000020 00000000 RWIX
    SPI_A 00007040 00000010 00000010 00000000 RWIX
    SCI_A 00007050 00000010 00000010 00000000 RWIX
    XINTRUPT 00007070 00000010 00000010 00000000 RWIX
    GPIOMUX 000070c0 00000020 00000020 00000000 RWIX
    GPIODAT 000070e0 00000020 00000020 00000000 RWIX
    ADC 00007100 00000020 0000001a 00000006 RWIX
    EV_A 00007400 00000040 00000032 0000000e RWIX
    EV_B 00007500 00000040 00000032 0000000e RWIX
    SPI_B 00007740 00000010 00000000 00000010 RWIX
    SCI_B 00007750 00000010 00000010 00000000 RWIX
    MCBSP_A 00007800 00000040 00000025 0000001b RWIX
    RAML0L1 00008000 00002000 000018ff 00000701 RWIX
    CSM_PWL 003f7ff8 00000008 00000008 00000000 RWIX
    RAMH0 003f8000 00002000 00000000 00002000 RWIX


    SECTION ALLOCATION MAP

    output attributes/
    section page origin length input sections
    -------- ---- ---------- ---------- ----------------
    .cinit 0 003d8000 0000002d
    003d8000 0000000c MP3.obj (.cinit)
    003d800c 0000000c SD_SPI_Initialization.obj (.cinit)
    003d8018 0000000b rts2800_fl040830.lib : exit.obj (.cinit)
    003d8023 00000008 : _lock.obj (.cinit)
    003d802b 00000002 --HOLE-- [fill = 0]

    .const 0 003f4000 00000000 RUN ADDR = 00008000

    .econst 0 003f4000 00000f5e RUN ADDR = 00008000
    003f4000 000005f0 AsciiLib.obj (.econst:_AsciiLib)
    003f45f0 000005c0 AsciiLib.obj (.econst:_mychar_2)
    003f4bb0 00000240 AsciiLib.obj (.econst:_mychar_1)
    003f4df0 00000100 DSP28_PieVect.obj (.econst)
    003f4ef0 0000006e main.obj (.econst:_$P$T0$1)

    .text 0 003f6000 00000ccc
    003f6000 00000236 MP3.obj (.text)
    003f6236 00000209 SD_SPI_Fat32.obj (.text)
    003f643f 0000014a DSP28_DefaultIsr.obj (.text)
    003f6589 00000109 SD_SPI_Initialization.obj (.text)
    003f6692 000000cc SD_SPI_Read.obj (.text)
    003f675e 000000b3 SD_SPI_Registers.obj (.text)
    003f6811 000000a7 SD_SPI_Transmission.obj (.text)
    003f68b8 0000009a DSP28_Spi.obj (.text)
    003f6952 0000007d DSP28_CpuTimers.obj (.text)
    003f69cf 0000006a rts2800_fl040830.lib : boot.obj (.text)
    003f6a39 00000065 DSP28_Sci.obj (.text)
    003f6a9e 0000005a rts2800_fl040830.lib : fs_mpy.obj (.text)
    003f6af8 0000004c main.obj (.text)
    003f6b44 00000040 rts2800_fl040830.lib : memcpy.obj (.text)
    003f6b84 0000003e : exit.obj (.text)
    003f6bc2 0000003b : fs_tol.obj (.text)
    003f6bfd 0000002f AsciiLib.obj (.text)
    003f6c2c 0000002a DSP28_SysCtrl.obj (.text)
    003f6c56 00000021 DSP28_PieCtrl.obj (.text)
    003f6c77 00000020 DSP28_PieVect.obj (.text)
    003f6c97 00000019 DSP28_Xintf.obj (.text)
    003f6cb0 0000000e DSP28_Gpio.obj (.text)
    003f6cbe 00000007 DSP28_InitPeripherals.obj (.text)
    003f6cc5 00000007 rts2800_fl040830.lib : _lock.obj (.text)

    .reset 0 003f7ff6 00000002
    003f7ff6 00000002 rts2800_fl040830.lib : boot.obj (.reset)

    .stack 1 00000000 00000320 UNINITIALIZED
    00000000 00000320 --HOLE--

    DevEmuRegsFile
    * 1 00000880 000000d6 UNINITIALIZED
    00000880 000000d6 DSP28_GlobalVariableDefs.obj (DevEmuRegsFile)

    FlashRegsFile
    * 1 00000a80 00000008 UNINITIALIZED
    00000a80 00000008 DSP28_GlobalVariableDefs.obj (FlashRegsFile)

    CsmRegsFile
    * 1 00000ae0 00000010 UNINITIALIZED
    00000ae0 00000010 DSP28_GlobalVariableDefs.obj (CsmRegsFile)

    XintfRegsFile
    * 1 00000b20 00000020 UNINITIALIZED
    00000b20 00000020 DSP28_GlobalVariableDefs.obj (XintfRegsFile)

    CpuTimer0RegsFile
    * 1 00000c00 00000008 UNINITIALIZED
    00000c00 00000008 DSP28_GlobalVariableDefs.obj (CpuTimer0RegsFile)

    CpuTimer1RegsFile
    * 1 00000c08 00000008 UNINITIALIZED
    00000c08 00000008 DSP28_GlobalVariableDefs.obj (CpuTimer1RegsFile)

    CpuTimer2RegsFile
    * 1 00000c10 00000008 UNINITIALIZED
    00000c10 00000008 DSP28_GlobalVariableDefs.obj (CpuTimer2RegsFile)

    PieCtrlRegsFile
    * 1 00000ce0 0000001a UNINITIALIZED
    00000ce0 0000001a DSP28_GlobalVariableDefs.obj (PieCtrlRegsFile)

    PieVectTable
    * 1 00000d00 00000100 UNINITIALIZED
    00000d00 00000100 DSP28_GlobalVariableDefs.obj (PieVectTable)

    ECanaRegsFile
    * 1 00006000 00000034 UNINITIALIZED
    00006000 00000034 DSP28_GlobalVariableDefs.obj (ECanaRegsFile)

    ECanaMboxesFile
    * 1 00006100 00000100 UNINITIALIZED
    00006100 00000100 DSP28_GlobalVariableDefs.obj (ECanaMboxesFile)

    SysCtrlRegsFile
    * 1 00007010 00000020 UNINITIALIZED
    00007010 00000020 DSP28_GlobalVariableDefs.obj (SysCtrlRegsFile)

    SpiaRegsFile
    * 1 00007040 00000010 UNINITIALIZED
    00007040 00000010 DSP28_GlobalVariableDefs.obj (SpiaRegsFile)

    SciaRegsFile
    * 1 00007050 00000010 UNINITIALIZED
    00007050 00000010 DSP28_GlobalVariableDefs.obj (SciaRegsFile)

    XIntruptRegsFile
    * 1 00007070 00000010 UNINITIALIZED
    00007070 00000010 DSP28_GlobalVariableDefs.obj (XIntruptRegsFile)

    GpioMuxRegsFile
    * 1 000070c0 00000020 UNINITIALIZED
    000070c0 00000020 DSP28_GlobalVariableDefs.obj (GpioMuxRegsFile)

    GpioDataRegsFile
    * 1 000070e0 00000020 UNINITIALIZED
    000070e0 00000020 DSP28_GlobalVariableDefs.obj (GpioDataRegsFile)

    AdcRegsFile
    * 1 00007100 0000001a UNINITIALIZED
    00007100 0000001a DSP28_GlobalVariableDefs.obj (AdcRegsFile)

    EvaRegsFile
    * 1 00007400 00000032 UNINITIALIZED
    00007400 00000032 DSP28_GlobalVariableDefs.obj (EvaRegsFile)

    EvbRegsFile
    * 1 00007500 00000032 UNINITIALIZED
    00007500 00000032 DSP28_GlobalVariableDefs.obj (EvbRegsFile)

    ScibRegsFile
    * 1 00007750 00000010 UNINITIALIZED
    00007750 00000010 DSP28_GlobalVariableDefs.obj (ScibRegsFile)

    McbspaRegsFile
    * 1 00007800 00000025 UNINITIALIZED
    00007800 00000025 DSP28_GlobalVariableDefs.obj (McbspaRegsFile)

    .ebss 1 00008f5e 0000090d UNINITIALIZED
    00008f5e 00000018 DSP28_CpuTimers.obj (.ebss)
    00008f76 00000006 MP3.obj (.ebss)
    00008f7c 00000004 --HOLE--
    00008f80 00000800 main.obj (.ebss)
    00009780 0000009a SD_SPI_Fat32.obj (.ebss)
    0000981a 00000026 --HOLE--
    00009840 0000002b SD_SPI_Initialization.obj (.ebss)

    .bss 1 0000986c 00000094 UNINITIALIZED
    0000986c 00000004 rts2800_fl040830.lib : _lock.obj (.bss)
    00009870 00000010 --HOLE--
    00009880 00000080 : exit.obj (.bss)

    CsmPwlFile
    * 1 003f7ff8 00000008 UNINITIALIZED
    003f7ff8 00000008 DSP28_GlobalVariableDefs.obj (CsmPwlFile)


    GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name

    address name
    -------- ----
    0000986c .bss
    003f6000 .text
    003f6ba3 C$$EXIT
    003f6a9e FS$$MPY
    003f6bc2 FS$$TOL
    003f64a8 _ADCINT_ISR
    00007100 _AdcRegs
    00009783 _BytesPerSec
    003f64f3 _CAPINT1_ISR
    003f64f8 _CAPINT2_ISR
    003f64fd _CAPINT3_ISR
    003f653e _CAPINT4_ISR
    003f6543 _CAPINT5_ISR
    003f6548 _CAPINT6_ISR
    003f64bc _CMP1INT_ISR
    003f64c1 _CMP2INT_ISR
    003f64c6 _CMP3INT_ISR
    003f6507 _CMP4INT_ISR
    003f650c _CMP5INT_ISR
    003f6511 _CMP6INT_ISR
    003f698b _ConfigCpuTimer
    00008f6e _CpuTimer0
    00000c00 _CpuTimer0Regs
    00008f5e _CpuTimer1
    00000c08 _CpuTimer1Regs
    00008f66 _CpuTimer2
    00000c10 _CpuTimer2Regs
    003f7ff8 _CsmPwl
    00000ae0 _CsmRegs
    003f6458 _DATALOG_ISR
    00009782 _DataClusAddr
    00009780 _DataSecAddr
    003f6af8 _Delay_ms
    00000880 _DevEmuRegs
    003f6575 _ECAN0INTA_ISR
    003f657a _ECAN1INTA_ISR
    00006100 _ECanaMboxes
    00006000 _ECanaRegs
    003f6462 _EMUINT_ISR
    00007400 _EvaRegs
    00007500 _EvbRegs
    000097c0 _Fat32_BPB
    00009781 _FatSecAddr
    0000978e _File
    0000978c _File_ClusAddr
    0000978a _File_SecAddr
    003f63ce _File_SecAddr_Count
    00009788 _File_Size
    00000a80 _FlashRegs
    003f6bfd _GetASCIICode
    003f6c0e _GetCodeZiMo_1
    003f6c1d _GetCodeZiMo_2
    000070e0 _GpioDataRegs
    000070c0 _GpioMuxRegs
    00009786 _HiddenSec
    003f6467 _ILLEGAL_ISR
    003f643f _INT13_ISR
    003f6444 _INT14_ISR
    003f6952 _InitCpuTimers
    003f6cb0 _InitGpio
    003f6cbe _InitPeripherals
    003f6c56 _InitPieCtrl
    003f6c77 _InitPieVectTable
    003f6a39 _InitSci
    003f6a50 _InitScib
    003f68b8 _InitSpi
    003f68b9 _InitSpiaGpio
    003f6c2c _InitSysCtrl
    003f6c97 _InitXintf
    003f654d _MRINTA_ISR
    003f6552 _MXINTA_ISR
    00007800 _McbspaRegs
    003f6449 _NMI_ISR
    003f64b7 _PDPINTA_ISR
    003f6502 _PDPINTB_ISR
    003f657f _PIE_RESERVED
    00000ce0 _PieCtrl
    00000d00 _PieVectTable
    00008df0 _PieVectTableInit
    003f645d _RTOSINT_ISR
    00009785 _RootSecAddr
    003f628d _RootSec_First
    003f6561 _SCIRXINTA_ISR
    003f656b _SCIRXINTB_ISR
    003f6566 _SCITXINTA_ISR
    003f6570 _SCITXINTB_ISR
    003f6557 _SPIRXINTA_ISR
    003f655c _SPITXINTA_ISR
    00007050 _SciaRegs
    003f6a82 _SciaRx_Ready
    003f6a66 _SciaTx_Ready
    00007750 _ScibRegs
    003f6a90 _ScibRx_Ready
    003f6a74 _ScibTx_Ready
    003f62d5 _Search_File_SecAddr
    00009784 _SecPerClus
    00007040 _SpiaRegs
    00007010 _SysCtrlRegs
    003f64d0 _T1CINT_ISR
    003f64da _T1OFINT_ISR
    003f64cb _T1PINT_ISR
    003f64d5 _T1UFINT_ISR
    003f64e4 _T2CINT_ISR
    003f64ee _T2OFINT_ISR
    003f64df _T2PINT_ISR
    003f64e9 _T2UFINT_ISR
    003f651b _T3CINT_ISR
    003f6525 _T3OFINT_ISR
    003f6516 _T3PINT_ISR
    003f6520 _T3UFINT_ISR
    003f652f _T4CINT_ISR
    003f6539 _T4OFINT_ISR
    003f652a _T4PINT_ISR
    003f6534 _T4UFINT_ISR
    003f64ad _TINT0_ISR
    003f646c _USER0_ISR
    003f649e _USER10_ISR
    003f64a3 _USER11_ISR
    003f6471 _USER1_ISR
    003f6476 _USER2_ISR
    003f647b _USER3_ISR
    003f6480 _USER4_ISR
    003f6485 _USER5_ISR
    003f648a _USER6_ISR
    003f648f _USER7_ISR
    003f6494 _USER8_ISR
    003f6499 _USER9_ISR
    003f6172 _VS1003_GetDecodeTime
    003f6148 _VS1003_ReadReg
    003f61df _VS1003_Reset
    003f6167 _VS1003_ResetDecodeTime
    003f60ab _VS1003_SPI_Read
    003f6026 _VS1003_SPI_Write
    003f61f0 _VS1003_SetVol
    003f6177 _VS1003_SoftReset
    003f621b _VS1003_WriteData
    003f612b _VS1003_WriteReg
    003f64b2 _WAKEINT_ISR
    003f644e _XINT1_ISR
    003f6453 _XINT2_ISR
    00007070 _XIntruptRegs
    00000b20 _XintfRegs
    00000320 __STACK_END
    00000320 __STACK_SIZE
    ffffffff ___binit__
    0000986c ___bss__
    ffffffff ___c_args__
    003d8000 ___cinit__
    00009900 ___end__
    003f6ccc ___etext__
    003f6b47 ___memcpy
    003f6b65 ___memcpy_ff
    003f6b5b ___memcpy_fn
    003f6b51 ___memcpy_nf
    ffffffff ___pinit__
    003f6000 ___text__
    003f4000 __c_load
    00009884 __cleanup_ptr
    00000000 __const_length
    00008000 __const_run
    00009882 __dtors_ptr
    003f4000 __ec_load
    00000f5e __econst_length
    00008000 __econst_run
    0000986e __lock
    003f6cc5 __nop
    003f6cc6 __register_lock
    003f6cc9 __register_unlock
    0000986c __unlock
    003f6bc1 _abort
    003f6ba5 _atexit
    003f69cf _c_int00
    00009844 _card_status
    0000985b _cid_contents
    00009842 _crc_enabled
    0000984b _csd_contents
    00009841 _data_manipulation
    003f6b84 _exit
    00009840 _high_capacity
    00008f76 _i
    003f6596 _led_initialization
    003f6b06 _main
    003f6b44 _memcpy
    00009846 _ocr_contents
    00008f80 _read
    00009843 _response
    003f6584 _rsvd_ISR
    003f65ae _sd_card_insertion
    003f67a3 _sd_cid_csd_response
    003f688d _sd_command_response
    003f6860 _sd_crc7
    003f670f _sd_data_response
    003f68ae _sd_error
    003f65c1 _sd_initialization
    003f678c _sd_ocr_response
    003f6236 _sd_read_BPB
    003f6692 _sd_read_block
    003f66c2 _sd_read_multiple_block
    003f675e _sd_read_register
    003f67e0 _sd_send_status
    003f6615 _sd_version2_initialization
    003f6589 _spi_initialization
    003f6811 _spi_xmit_byte
    003f681f _spi_xmit_command
    00008f77 _vs1003ram
    ffffffff binit
    003d8000 cinit
    00009900 end
    003f6ccc etext
    ffffffff pinit


    GLOBAL SYMBOLS: SORTED BY Symbol Address

    address name
    -------- ----
    00000000 __const_length
    00000320 __STACK_END
    00000320 __STACK_SIZE
    00000880 _DevEmuRegs
    00000a80 _FlashRegs
    00000ae0 _CsmRegs
    00000b20 _XintfRegs
    00000c00 _CpuTimer0Regs
    00000c08 _CpuTimer1Regs
    00000c10 _CpuTimer2Regs
    00000ce0 _PieCtrl
    00000d00 _PieVectTable
    00000f5e __econst_length
    00006000 _ECanaRegs
    00006100 _ECanaMboxes
    00007010 _SysCtrlRegs
    00007040 _SpiaRegs
    00007050 _SciaRegs
    00007070 _XIntruptRegs
    000070c0 _GpioMuxRegs
    000070e0 _GpioDataRegs
    00007100 _AdcRegs
    00007400 _EvaRegs
    00007500 _EvbRegs
    00007750 _ScibRegs
    00007800 _McbspaRegs
    00008000 __const_run
    00008000 __econst_run
    00008df0 _PieVectTableInit
    00008f5e _CpuTimer1
    00008f66 _CpuTimer2
    00008f6e _CpuTimer0
    00008f76 _i
    00008f77 _vs1003ram
    00008f80 _read
    00009780 _DataSecAddr
    00009781 _FatSecAddr
    00009782 _DataClusAddr
    00009783 _BytesPerSec
    00009784 _SecPerClus
    00009785 _RootSecAddr
    00009786 _HiddenSec
    00009788 _File_Size
    0000978a _File_SecAddr
    0000978c _File_ClusAddr
    0000978e _File
    000097c0 _Fat32_BPB
    00009840 _high_capacity
    00009841 _data_manipulation
    00009842 _crc_enabled
    00009843 _response
    00009844 _card_status
    00009846 _ocr_contents
    0000984b _csd_contents
    0000985b _cid_contents
    0000986c .bss
    0000986c ___bss__
    0000986c __unlock
    0000986e __lock
    00009882 __dtors_ptr
    00009884 __cleanup_ptr
    00009900 ___end__
    00009900 end
    003d8000 ___cinit__
    003d8000 cinit
    003f4000 __c_load
    003f4000 __ec_load
    003f6000 .text
    003f6000 ___text__
    003f6026 _VS1003_SPI_Write
    003f60ab _VS1003_SPI_Read
    003f612b _VS1003_WriteReg
    003f6148 _VS1003_ReadReg
    003f6167 _VS1003_ResetDecodeTime
    003f6172 _VS1003_GetDecodeTime
    003f6177 _VS1003_SoftReset
    003f61df _VS1003_Reset
    003f61f0 _VS1003_SetVol
    003f621b _VS1003_WriteData
    003f6236 _sd_read_BPB
    003f628d _RootSec_First
    003f62d5 _Search_File_SecAddr
    003f63ce _File_SecAddr_Count
    003f643f _INT13_ISR
    003f6444 _INT14_ISR
    003f6449 _NMI_ISR
    003f644e _XINT1_ISR
    003f6453 _XINT2_ISR
    003f6458 _DATALOG_ISR
    003f645d _RTOSINT_ISR
    003f6462 _EMUINT_ISR
    003f6467 _ILLEGAL_ISR
    003f646c _USER0_ISR
    003f6471 _USER1_ISR
    003f6476 _USER2_ISR
    003f647b _USER3_ISR
    003f6480 _USER4_ISR
    003f6485 _USER5_ISR
    003f648a _USER6_ISR
    003f648f _USER7_ISR
    003f6494 _USER8_ISR
    003f6499 _USER9_ISR
    003f649e _USER10_ISR
    003f64a3 _USER11_ISR
    003f64a8 _ADCINT_ISR
    003f64ad _TINT0_ISR
    003f64b2 _WAKEINT_ISR
    003f64b7 _PDPINTA_ISR
    003f64bc _CMP1INT_ISR
    003f64c1 _CMP2INT_ISR
    003f64c6 _CMP3INT_ISR
    003f64cb _T1PINT_ISR
    003f64d0 _T1CINT_ISR
    003f64d5 _T1UFINT_ISR
    003f64da _T1OFINT_ISR
    003f64df _T2PINT_ISR
    003f64e4 _T2CINT_ISR
    003f64e9 _T2UFINT_ISR
    003f64ee _T2OFINT_ISR
    003f64f3 _CAPINT1_ISR
    003f64f8 _CAPINT2_ISR
    003f64fd _CAPINT3_ISR
    003f6502 _PDPINTB_ISR
    003f6507 _CMP4INT_ISR
    003f650c _CMP5INT_ISR
    003f6511 _CMP6INT_ISR
    003f6516 _T3PINT_ISR
    003f651b _T3CINT_ISR
    003f6520 _T3UFINT_ISR
    003f6525 _T3OFINT_ISR
    003f652a _T4PINT_ISR
    003f652f _T4CINT_ISR
    003f6534 _T4UFINT_ISR
    003f6539 _T4OFINT_ISR
    003f653e _CAPINT4_ISR
    003f6543 _CAPINT5_ISR
    003f6548 _CAPINT6_ISR
    003f654d _MRINTA_ISR
    003f6552 _MXINTA_ISR
    003f6557 _SPIRXINTA_ISR
    003f655c _SPITXINTA_ISR
    003f6561 _SCIRXINTA_ISR
    003f6566 _SCITXINTA_ISR
    003f656b _SCIRXINTB_ISR
    003f6570 _SCITXINTB_ISR
    003f6575 _ECAN0INTA_ISR
    003f657a _ECAN1INTA_ISR
    003f657f _PIE_RESERVED
    003f6584 _rsvd_ISR
    003f6589 _spi_initialization
    003f6596 _led_initialization
    003f65ae _sd_card_insertion
    003f65c1 _sd_initialization
    003f6615 _sd_version2_initialization
    003f6692 _sd_read_block
    003f66c2 _sd_read_multiple_block
    003f670f _sd_data_response
    003f675e _sd_read_register
    003f678c _sd_ocr_response
    003f67a3 _sd_cid_csd_response
    003f67e0 _sd_send_status
    003f6811 _spi_xmit_byte
    003f681f _spi_xmit_command
    003f6860 _sd_crc7
    003f688d _sd_command_response
    003f68ae _sd_error
    003f68b8 _InitSpi
    003f68b9 _InitSpiaGpio
    003f6952 _InitCpuTimers
    003f698b _ConfigCpuTimer
    003f69cf _c_int00
    003f6a39 _InitSci
    003f6a50 _InitScib
    003f6a66 _SciaTx_Ready
    003f6a74 _ScibTx_Ready
    003f6a82 _SciaRx_Ready
    003f6a90 _ScibRx_Ready
    003f6a9e FS$$MPY
    003f6af8 _Delay_ms
    003f6b06 _main
    003f6b44 _memcpy
    003f6b47 ___memcpy
    003f6b51 ___memcpy_nf
    003f6b5b ___memcpy_fn
    003f6b65 ___memcpy_ff
    003f6b84 _exit
    003f6ba3 C$$EXIT
    003f6ba5 _atexit
    003f6bc1 _abort
    003f6bc2 FS$$TOL
    003f6bfd _GetASCIICode
    003f6c0e _GetCodeZiMo_1
    003f6c1d _GetCodeZiMo_2
    003f6c2c _InitSysCtrl
    003f6c56 _InitPieCtrl
    003f6c77 _InitPieVectTable
    003f6c97 _InitXintf
    003f6cb0 _InitGpio
    003f6cbe _InitPeripherals
    003f6cc5 __nop
    003f6cc6 __register_lock
    003f6cc9 __register_unlock
    003f6ccc ___etext__
    003f6ccc etext
    003f7ff8 _CsmPwl
    ffffffff ___binit__
    ffffffff ___c_args__
    ffffffff ___pinit__
    ffffffff binit
    ffffffff pinit

    [210 symbols]

  • 烧录FLASH后0x3F 7FF6和0x3F 7FF7这两个地址里的内容是0x007f 、0x69cf

  • 感谢你们无私的帮助!终于调好了,是上电引导的问题,用了TI官方的F2812.CMD和codestartbranch.asm文件,并对CMD文件稍作修改就好了。现在有一个疑惑,FLASH有那么多的区段(J, I ,H ,G 等)为什么大部分都没有用到,在官方CMD文件中未用到的,用户都可以自己定义使用吗?还有为什么没有区段B?

  • 烧录FLASH后0x3F 7FF6和0x3F 7FF7这两个地址里的内容是0x007f 、0x69cf

    --> 应该是0x003f 、0x69cf 吧?

    如果是上电引导的问题,那你之前另外一个基于FLASH的测试程序为什么可以运行呢?你确定说的是GPIOF4, GPIOF12, GPIOF3和GPIOF2的电平状态吗?

    各个FLASH段只是人为的区分,用户当然可以定义使用,例程只是说明如何使用,并不是实际情况。

    SectorB是存在的,你可以查看数据手册的Table 3-1. Addresses of Flash Sectors in F2812 and F2811,在TI提供的cmd例子文件里,它只是把sector B放在另外一个page而已,用于存放数据,而大部分都是用于存放程序的。

  • 对呀,我也觉得应该是0x003F,高两位本来应该是0x3F,可是从FLASH读出的数据总是是0x7F。这几天看了好多资料,可找不到问题呀,不管是用TI的例程还是自己的代码,结果都一样呀,奇怪的是,拔掉仿真器 程序依旧能上电启动运行,郁闷的不行

  • 如果你确认这两个地址的内容存在问题,可以考虑在带仿真器的情况下,从复位开始单步运行对比看看程序是如何运行的。