目录
一、如何跳转到函数的定义?
二、declaration is incompatible with....常见错误原因?
三、symbol "_cell_values" redefined: first defined in "./HARDWARE/bq_pack.obj"; redefined in "./HARDWARE/data_flash.obj" null: symbol "_cell_values" redefined: first defined in "./HARDWARE/bq_pack.obj"; redefined in "./HARDWARE/data_flash.obj" DSP_BMS C/C++ Problem
四、error #10099-D: program will not fit into available memory.
五、报错:"../F28035.cmd", line 148: error: program will not fit into available memory. run placement with alignment/blocking fails for section ".ebss" size 0x106编辑
六、CCS的查找功能只能查找当前文件,不能查找整个工程
七、导入Control Suite的工程文件到CCS软件并编译,然后报错:This project was created using a version of compiler that is not currently installed的问题?
八、报错:cdebug_asm_data is no longer supported
解决方法:
九、报如图所示的错误:
十、设置是否显示整个工作区的错误还是一个工程的错误?编辑
十一、工程里面如何添加头文件路径?
十二、仿真时出现以下报错:
十三、两种烧录方式
十四、CCS如何打开如下工作窗口?
十五、CCS如何修改workspace路径并且添加包含库文件的工程进来?
十六、CCS如何删除工程?
十七、CCS如何更改文件字体大小?
十八、导入工程时导入不进去
十九、CCS生成HEX文件的方法:
二十、添加工程时提示版本太低
二十一、理解工程
二十二、出现报错:gmake: *** No rule to make target 'D:/xiangmu/SZ2203/SZ2005_SPIII48-4000HE_SecApp_V100 - 220726/SZ2005_SPIII48-4000HE_SecApp_V100 - 220726/YC/Common_Source/CsmUnlock.c', needed by 'CsmUnlock.obj'.
二十三、连接仿真器并烧录
二十四、在线仿真
二十五、搜索工程下的某个单词
二十六、断点最多只能同时开启两个
二十七、烧录时的常见告警
二十八、导入现用的工程但是导入失败,出现警告: Afile/folder name。。。already exists in the workspace directory.Please remove or name that file/folder before importing a project with the same name.编辑
二十九、CCS导入工程后,C文件路径无法添加进来的问题
三十、关于导入工程文件后,原来打开的工程文件也会被同步更新的问题。
三十一、用仿真器烧录程序时弹出以下错误:Texas Instruments XDS2xx USB Debug Probe_0/C28xx : Target must be connected before loading program.
一、如何跳转到函数的定义?
鼠标光标移至函数名,点击ctrl+⬅即可跳到函数定义。
Alt+⬅即可返回上一个位置
二、declaration is incompatible with....常见错误原因?
定义和声明的时候在参数里出现了数据格式,参数数量或形参名字的不一致导致的。
三、symbol "_cell_values" redefined: first defined in "./HARDWARE/bq_pack.obj"; redefined in "./HARDWARE/data_flash.obj" null: symbol "_cell_values" redefined: first defined in "./HARDWARE/bq_pack.obj"; redefined in "./HARDWARE/data_flash.obj" DSP_BMS C/C++ Problem
原因是在头文件里面定义了数组。
改正:
四、error #10099-D: program will not fit into available memory.
具体如下:
代码量超过了cmd文件里面设定的内存空间。
查看cmd文件:
改正:
五、报错:"../F28035.cmd", line 148: error: program will not fit into available memory.
run placement with alignment/blocking fails for section ".ebss" size 0x106
分析是由于分配的空间太小导致的错误。又可以见到上面的框里面声明了PAGE1还有RAML3这段地址,所以给.ebss分配更大的空间,如下图所示
注意分配的地址段要连续,因为CCS不会跨段分配。
六、CCS的查找功能只能查找当前文件,不能查找整个工程
而且查找某个关键词还得对Wrap search(换行查找)打上勾。
七、导入Control Suite的工程文件到CCS软件并编译,然后报错:This project was created using a version of compiler that is not currently installed的问题?
TI官方目前已经提供新的示例软件包C2000Ware代替 Control Suite,解决方法:更改编译器版本
方法:1、右键单击工程名,并选择“Properties”
2、在“General”选项卡中的“Compiler version:”选择当前已有的版本,版本号高于错误提示的就可以
八、报错:cdebug_asm_data is no longer supported
原因:在ccs9.1版本导入低版本工程时出现了该问题。看错误描述,既然不再支持--cdebug_asm_data,那就把他删了。
解决方法:
解决方法:
右键点击报错工程(或菜单project)->properties->build->c2000 compiler,点击Edit flags,弹出窗口中删除--cdebug_asm_data,保存后rebuild project 即可。
九、报如图所示的错误:
原因可能是只添加了该函数所在的头文件,但是没添加对应的源文件进来。
也可能是定义了外部变量,但是原变量在哪个文件中都没有定义。
十、设置是否显示整个工作区的错误还是一个工程的错误?
十一、工程里面如何添加头文件路径?
方法一:
方法二:
一般库文件都添加到工程文件夹的路径下面
选择头文件路径,其中workspace是相对路径,库文件必须在工程文件夹下,工程建立完成后即使挪动工程也不会导致头文件路径失效,browse是绝对路径,必须确保库文件路径不发生变化,否则将导致报错,variables是环境变量定义的库函数路径。还不知怎么使用。
十二、仿真时出现以下报错:
Error connecting to the target:
(Error -151 @ 0x0)
One of the FTDI driver functions used during
the connect returned bad status or an error.
The cause may one or more of: invalid emulator serial number,
blank emulator EEPROM, missing FTDI drivers, faulty USB cable.
Use the xds100serial command-line utility in the 'common/uscif'
folder to verify the emulator can be located.
(Emulation package 5.1.73.0)
方法:关掉软件,重新打开软件就好了
十三、两种烧录方式
1、烧录到RAM
2、烧录到FLASH:
需要把F28035.cmd文件添加进来,同时也需要把28035_RAM_Ink.cmd文件给注释掉,不然编译会冲突。
F28035.cmd文件添加进来的方法:
把28035_RAM_Ink.cmd文件注释的方法:
点击这只昆虫,即可进入调试模式,点进去后就会把程序烧录到单片机里面的flash。
点击绿色开启键可以进入运行状态。
十四、CCS如何打开如下工作窗口?
方法:
十五、CCS如何修改workspace路径并且添加包含库文件的工程进来?
把ControlSuite软件例程路径添加到CCS_WorkSpace路径下:
可以在CCS_WorkSpace路径下面新建lib文件夹,然后在lib文件夹下新建include和source文件夹。
把需要用到的源文件路径添加到source路径下,并不需要全部的源文件都拷贝,全部拷贝容易报错。
所有的头文件都添加到include路径下。
接着编译工程,会出现如下错误:
gmake: *** No rule to make target 'D:/CCS_WorkSpace/DSP2803x_common/source/DSP2803x_CodeStartBranch.asm', needed by 'DSP2803x_CodeStartBranch.obj'.
Fatal error: cannot open source file.
原因是没有在图中指定路径下创建对应的文件夹。(不知道这个默认路径是在哪里创建的)。
于是我们新建文件夹
DSP2803x_Headers_nonBIOS是不使用操作系统的系统文件,若是使用操作系统就需要使用DSP2803x_Headers_BIOS系统文件。
添加进来之后重新编译报错如下:
解决方法:
工程下面新建APP和User文件夹
然后软件里面就对应出现了如下:
User文件夹下创建main.c文件
添加用户自己写的源文件到user下,也需要添加头文件到inc下,同时也需要把头文件的路径记录下来。
十六、CCS如何删除工程?
十七、CCS如何更改文件字体大小?
空白区域右击鼠标,选择Preferences。
十八、导入工程时导入不进去
新建一个文件夹,用来存放自己写的工程文件
把这个Example_1工程导入到CCS中,但发现导入不成功,原因是该工程和之前已经导入进来的工程是一样的。
解决方法:
导入进来之后发现工程名没有改过来
解决方法:
十九、CCS生成HEX文件的方法:
右击工程项目,打开属性窗口,有“C2000 Hex Utility”这个选项,
打开”C2000 Hex Utility“窗口,勾选“Enable C2000 Hex Utility”,
OK,重新编译
二十、添加工程时提示版本太低
提示符:See details below...
Import failed for project 'SZ2203_SL48-100A_App' because its compiler definition is not available. Please install the C2000v20.12 compiler before importing this project:
- See 'Help > Install New Software' and select 'Code Generation Tools Updates' to check if this compiler is available through a CCS update.
- Visit CCS App Center to get the latest compiler support.
- Or download and install the compiler [http://software-dl.ti.com/codegen/non-esd/downloads], then register it with CCS through 'Preferences > CCS > Build > Compilers'.
我们需要安装C2000V20.12编译器,我去 “Help”->“Code Generation Tools Updates”上面找没发现有这么高版本的编译器,于是去官网下载:C2000-CGT IDE、配置、编译器或调试器|TI.com
下载完后不知道安装在哪里,于是点击“more”
发现了其它编译器都有一个固定的安装路径,于是我把新的编译器也安装在该路径下
新建工程终于不再报错。
二十一、理解工程
插入工程进来时,其实插入的是Project_Set文件夹下的一些零零散散的文件。
插入工程之所以能插入成功,是因为Project_Set文件夹内部有如下文件:
我们把Common_XXX文件夹、Source_Lib文件夹都添加到工程文件夹Project_Set下,这样在CCS软件里头的Project Explorer窗口可以看到这些文件夹。但要注意红框内要是有重复的文件的话是会报错的。
二十二、出现报错:gmake: *** No rule to make target 'D:/xiangmu/SZ2203/SZ2005_SPIII48-4000HE_SecApp_V100 - 220726/SZ2005_SPIII48-4000HE_SecApp_V100 - 220726/YC/Common_Source/CsmUnlock.c', needed by 'CsmUnlock.obj'.
原因:该文件路径下没有CsmUnlock.c文件
二十三、连接仿真器并烧录
烧录按钮如下:
二十四、在线仿真
1、程序烧写完成后,点击“Resume”按钮可在线运行程序
2、同时也可以选择单步运行
二十五、搜索工程下的某个单词
鼠标右键选中某个单词,接着按下图操作。
二十六、断点最多只能同时开启两个
二十七、烧录时的常见告警
1、板子上被加密,且烧录时程序里面的密码和板子上的密码不对应导致的。
解决方法1:擦除A扇区
方法2:通过uniflash软件解密,然后擦除A扇区
二十八、导入现用的工程但是导入失败,出现警告: Afile/folder name。。。already exists in the workspace directory.Please remove or name that file/folder before importing a project with the same name.
解决方法:不要勾选。
二十九、CCS导入工程后,C文件路径无法添加进来的问题
解决方法:
将下面文件的相对路径
改成绝对路径。
三十、关于导入工程文件后,原来打开的工程文件也会被同步更新的问题。
名为gongcheng的项目:
名为gc2的项目:
可以看到gc2工程的Location路径虽然不跟gongcheng工程一样,但C文件的链接还是gongcheng项目路径下的C文件,因此需要将copy_PARENT下的路径更改为gc2路径下的。
原因:
虽然gc2的项目路径和gongcheng的项目路径不在同一个Location下,但gc2这个工程之前也是在gongcheng的项目路径下进行程序编写然后进行压缩后才拷贝到gc2这个路径下的,因此gc2这个工程的.c文件基本上还是链接到原本的gongcheng路径下的.c文件,因此需要更改c文件的路径为gc2路径下的,不然就会同步更改两个工程的文件。
三十一、用仿真器烧录程序时弹出以下错误:Texas Instruments XDS2xx USB Debug Probe_0/C28xx : Target must be connected before loading program.
出现这个问题的原因:对项目进行了过Rename操作(改名)
解决方法: