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.

CC2538用CCS debug程序进去就出现错误,提示在保持复位

Other Parts Discussed in Thread: CC2538

各位TI的工程师:

         大家好,我最近在用CC2538的芯片跑程序,用了TI的swrc271a\cc2538_foundation_firmware_1_0_1_0\driverlib\cc2538\examples\startup_files\startup_ccs.c和cx2538xf53_ccs.cmd来建立项目,当我下载程序到CC2538一开始程序在不断运行,出现如下提示:

Cortex_M3_0: GEL Output:
Memory Map Initialization Complete
Cortex_M3_0: Can't Run Target CPU: (Error -1268 @ 0x90001) Device is locked up in Hard Fault or in NMI. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.1.402.0)
Cortex_M3_0: Can't Run Target CPU: (Error -1268 @ 0x90001) Device is locked up in Hard Fault or in NMI. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.1.402.0)
Cortex_M3_0: Can't Run Target CPU: (Error -1268 @ 0x90001) Device is locked up in Hard Fault or in NMI. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.1.402.0)
Cortex_M3_0: Can't Run Target CPU: (Error -1268 @ 0x90001) Device is locked up in Hard Fault or in NMI. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.1.402.0)
IcePick_C: GEL: Error while executing GEL_Waiting = 1: identifier not found: GEL_Waiting at GEL_Waiting=1 .
IcePick_C: GEL: Error while executing WaitForSignal(): 'WaitForSignal()' not found at WaitForSignal() .
Cortex_M3_0: AutoRun: Target not run as breakpoint could not be set: Cannot enable while the target is free running
Cortex_M3_0: Trouble Halting Target CPU: (Error -2012 @ 0x0) Requested operation cannot be done while device is running. Halt the device, and retry the operation. (Emulation package 5.1.402.0)
Cortex_M3_0: GEL Output:
Still waiting for Reset to complete

1、我查了硬件电路,reset引脚上电时电压0.8V,仿真后下载程序进去再测reset引脚变成3.2V左右,拔出仿真器又变回0.8V。这是电压没有上拉还是给MCU拉低了电压导致复位?

2、出现这个错误的原因是什么?是内存映射出错还是硬件的问题

希望能够给我点提示和帮助,万分感谢。

  • 怎么没有人帮忙看看,希望遇到过这个问题能给我一点点提示,卡在这2天了,万分感谢。

  • 你用的是什么debugger,我用smartrf 06+CCS 5.5.0 没有问题。

  • J-X,想问问你用的是什么仿真器,仿真器跟CC2538的JTAG是怎么连接的,能提供个原理图吗?谢谢。

  • J-X

           你好,我是用CCS5.5里新创建CC2538的空项目,只有main.c和start_up.c文件,其他的初始化自己加。刚开始进行调试还能够下载进去调试,调到定时器的预分频时就出现这个问题,再用回一个简单的空程序也出现同样问题。还有那个GEL也是用TI提供的,不知这个文件的影响大不大,发现提示的信息就在这个文件里。不知我这个是属于上电启动的错误还是硬件或芯片上的错误?

    谢谢了。

  • http://www.ti.com/tool/smartrf06ebk

    XDS100V3,

     

    工程的创建方式和你是一样的。

  • J-X,您好,我这边用到的仿真器不是smartrf06ebk上自带的,仿真器型号是TMS320-XDS100-V3

    https://www.olimex.com/Products/DSP/Emulators/TMS320-XDS100-V3/

    这个仿真器上的JTAG引脚不是标准的ARM的20pin,引脚排列如下图:

    我觉得只要JTAG的几根信号线连对了就行的,所以我这边现在是用到14pin的接法,但是连上CC2538后提示

    Cortex_M3_0: GEL Output: 

    Still waiting for Reset to complete

    不知道问题出在哪里?谢谢

  • J-X

           你好,你有改GEL文件或CMD文件吗?

           谢谢。

  • 没有改动,都是默认的,你那个debugger我这边没有。

  • J-X

          你好,可以帮忙看下我的内存映射正确吗?

      

    .init_array
    * 0 00200000 00000000 UNINITIALIZED

    .intvecs 0 00200000 0000028c
    00200000 0000028c startup_ccs.obj (.intvecs)

    .text 0 0020028c 000002ec
    0020028c 0000009c rtsv7M3_T_le_eabi.lib : memcpy_t2.obj (.text)
    00200328 00000094 : auto_init.obj (.text)
    002003bc 0000005e : copy_decompress_rle.obj (.text)
    0020041a 00000002 --HOLE-- [fill = 0]
    0020041c 0000005c startup_ccs.obj (.text)
    00200478 00000044 rtsv7M3_T_le_eabi.lib : cpy_tbl.obj (.text)
    002004bc 00000044 : exit.obj (.text)
    00200500 00000034 : boot.obj (.text)
    00200534 00000018 : args_main.obj (.text)
    0020054c 00000014 : _lock.obj (.text)
    00200560 0000000e : copy_decompress_none.obj (.text:decompress:none)
    0020056e 00000006 : copy_decompress_rle.obj (.text:decompress:rle24)
    00200574 00000004 main.obj (.text)

    .cinit 0 00200578 00000020
    00200578 00000010 (.cinit..data.load) [load image, compression = rle]
    00200588 00000008 (__TI_handler_table)
    00200590 00000008 (__TI_cinit_table)

    .flashcca
    * 0 0027ffd4 0000000c
    0027ffd4 0000000c startup_ccs.obj (.flashcca:retain)

    .stack 0 20004000 00000100 UNINITIALIZED
    20004000 00000100 --HOLE--

    .data 0 20004100 00000014 UNINITIALIZED
    20004100 00000008 rtsv7M3_T_le_eabi.lib : _lock.obj (.data)
    20004108 00000008 : exit.obj (.data)
    20004110 00000004 : stkdepth_vars.obj (.data)

          我的向量表.intvecs 0 00200000 0000028c 
    00200000 0000028c startup_ccs.obj (.intvecs)映射在了这个位置正确吗?

  • 附件是我的map文件,上传格式的原因我改成.txt了。