记录一下我在使用ccs过程中遇到的一些问题,我使用的版本是ccs7.2的版本。
小白一枚,环境让人心累。
debug的时候连接不上仿真器。报错:Source lookup: unable to restore CPU specific source container - expecting valid source container id value.
原因应该是project的ccs版本和我现在使用的版本不兼容导致的。
解决措施:删除掉project文件夹下settings和launchs这两个文件夹,然后再重新编译一下,这样就会生成两个新的文件夹。这样就可以debug了。
编译的时候报错: Can’t find the target named 'devkits.target.Generic’
应该是某个时候出错导致target name被修改了。所以找不到target name。
解决措施:去留存的源文件哪里找到target name。然后修改过来,就完事了。
3.导入别人给我的工程文件的时候报错 C/C++indexer has encountered a problem 。An internal error occurred during: “C/C++ Indexer”. java.util.NoSuchElementException
具体什么原因不知道
但是解决措施是把别人生成的文件删掉,就是下面这个:
然后在用import legacy CCS3.3的方式导入,注意这个时候导入的是需要导入下面的pjt文件,然后就可以了。解决、
4.编译的时候提示"HWI_RESET"等函数未定义
如下:#10104 undefined symbol “HWI_DLOG” used in expression F28035_BIOS_flashcfg.cmd /HYBRID_SLAVE/Debug line 105 C/C++ Problem
如下图;
非常操蛋,搞了两三个小时,百度上仅有的一两条也纯粹是在扯淡。
解决办法;
这种时候多半是你的编译器选择出现了问题,问一下其他工程师编译器用的是什么版本,照做就是了。我也不知道为啥编译器版本不对为啥不报编译器incompatible,真是fuck。反正解决就完事了。
比如一体机的副DSP用的就是6.1.3版本的compiler的版本。
另外,build的时候linker command file 不要选。
5. 副DSP编译文件的时候没有生成hex文件
不要按照网上的把enable C2000 Hex Utility勾选,这样会又是一堆错误。
方法是看一下你的编译器里的位置,如图所示:
然后把这个路径复制到这里来:
注意双引号。
这样在编译完了之后,在工程文件架里的Debug里就可以看到最近生成的Hex文件了。
6.怎么解决keil4打开keil5工程卡死的情况
记录一下ARM的一个坑,是别人keil5打开过的文件,然后我现在安装的是Keil4,然后现在面临的问题是我打开工程文件就卡死,浪费了不少时间,这种问题最心累了。
解决办法:
https://blog.csdn.net/paoxungan5156/article/details/81005110
按照上面这个博客来做就可以解决。
另外编译的时候,如果遇到了大量的说RAM space不够,先检查一下自己选择的芯片对不对再说吧,也是个坑,目前我们1-6k用的是NXP的LPC1768。(这里就曾遇到过不知道怎么的选择了1766,结果报900多哥error说space不够。)
7. DSP编译的时候遇到说找不到指定路径问题。
如下图
这里是因为在别人手里拿到的工程文件的hex2000和自己的路径不一样导致的,这个时候我们需要点开
注意是右键然后选择一下才能点开。
然后我们看路径。
这是别人的路径,需要找到自己的路径,
自己的路径在自己安装ti的目录下,我的依次是
C:\ti\ccsv7\tools\compiler\ti_cgt_c2000_6.1.3.STS\bin
注意这里的compiler版本需要询问一下别人该工程文件用的是哪个版本的compiler。
然后修改后就是
然后再次编译就ok了。
编辑完了才看到原来7和5是一样的问题,因为无法找到路径,所以无法生存了hex文件,这都是一个原因导致的不同error。
8.通信板起不来;
问题,app代码download进去之后,BootLoader程序download进去之后,通信面板LCD仍然起不来。
解决措施:
记录一下app代码的flash是512kb;
然后sct文件:
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x00018000 0x00040000 { ; load region size_region
VECTOR 0x00018000
{
vector_table.o (+RO)
}
ROM_EXEC +0
{
*.o (+RO)
}
STACK 0x10007800 0x800
{
startup_LPC17xx.o (+RW,+ZI)
}
RW_IRAM1 0x10000000 0x00008000 { ; RW data
.ANY (+RW +ZI)
}
}
BootLoader文件是flash选择256kb,然后sct文件是:
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x00000000 0x00040000 { ; load region size_region
ER_IROM1 0x00000000 0x00040000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
}
RW_IRAM1 0x10000000 0x00007800 { ; RW data
.ANY (+RW +ZI)
}
}
问题解决。
(fuck,download了一下午,硬生生的把科学问题搞成了玄学问题。)
这里记录一下,bootloader文件是引导文件,所以从00开始的,然后会引导app文件执行。如果这里app的act文件的18改成00,则可以直接执行app文件,当debug的时候可以这样,省掉一些步骤。完了之后再改回来。
如下:
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x00000000 0x00040000 { ; load region size_region
VECTOR 0x00000000
{
vector_table.o (+RO)
}
ROM_EXEC +0
{
*.o (+RO)
}
STACK 0x10007800 0x800
{
startup_LPC17xx.o (+RW,+ZI)
}
RW_IRAM1 0x10000000 0x00008000 { ; RW data
.ANY (+RW +ZI)
}
}
9.升级完的过程中卡住了,然后重启之后显示屏白屏了,起不来。
问题:如题。
原因:这是因为升级的时候用的是台湾的金士顿8G的卡升级的,所以才导致这样,具体原因不详。
解决措施:升级尽可能的用4G的卡或者日本的卡,对于已经出现蓝屏的LCD,