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.

请教5505 eZDSP例程问题



在熟悉开发板过程中将板子的测试例程都成功在板子上运行了。于是新建了一个test工程希望重复操作led这个测试例程。

在新工程中复制了led_test.c和main.c文件,编译报错,因为找不到对应的.h文件。于是将.h以及bsl文件夹里的.c文件手动添加到工程文件夹中。编译成功了,生成的.out文件下载到板子中运行没有效果,halt再继续运行出现如下报错,是什么原因呢?

Can't Run Target CPU:
Error 0x00000020/-1141
Error during: Execution, 
Processor communication timeout.
It is recommended to RESET EMULATOR. This will disconnect each target, 
perform an emulation reset, and then reconnect each target.
Power cycle the target board before continuing.

初学DSP对文件不是很了解,.h文件后来发现可以添加路径自动添加。bsl的lib文件应该怎么添加?之前不知道怎么用所以直接把.c文件拷进工程来用了。看了ccs的一些教程,但是都没有细讲这些。。后来直接将usbstk5505bsl.lib添加进工程,编译却出现了如下错误:

fatal error: file "../usbstk5505bsl.lib<usbstk5505_led.obj>" has a
Tag_Memory_Model attribute value of "2" that is different than one
previously seen ("1"); combining incompatible files

  • 1. 如果你的新工程在其他目录,需要重新在build option->Linker->File Search Path定义.h,.lib新路径.
    至于程序为什么不能运行,你可以用仿真器通过设置断点的方式跟一下,看运行到哪里出错了。

    2. 这个错误是指usbstk5505bsl.lib是用large memroy model编译的,但是你的工程编译选项中用了small memory model编译,两者不兼容。

    可以到CCS->Project->Show Build Settings...->Compiler->Runtime Memory Option中勾选Use Large Memory

  • 非常感谢!已经解决memroy model。但接下来又出现这个报错:

    \workspace\\usbstk5505_v2\\lib\\usbstk5505bsl.li
    b<usbstk5505_led.obj>" specifies "C55x CPU Rev 3.x", which is not compatible
    with "C55x CPU Rev 2.x" specified in a previous file or on the command line

    新工程都用的例程的文件,lib和.h也和例程继承的是一样的,为什么会出现这样的问题呢?

  • 在wki上看到解决办法了。