Part Number:AWR2944Other Parts Discussed in Thread: , SYSCONFIG
在使用awr2944evm时,想将官方带的mmwave_mcu_sdk_awr2944下的,demo,使用ccs环境进行重建,在使用r5f_linker_enet.cmd文件时,ccs会报错,没有定义symbol : _vectors
通过:
也无法解决问题…
除非,将r5f_linker_enet.cmd文件里的该-e_vectors (程序入口点)去掉,linker过程才会完成:
问题:
1)r5f_linker_enet.cmd文件里的该-e_vectors 设置目的是什么?
2)去掉该-e_vectors 是否正确?
重庆邮电大学:陈国平
2022.01.09
Nancy Wang:
user4446282 说:)r5f_linker_enet.cmd文件里的该-e_vectors 设置目的是什么?
是设置程序的入口地址
能否贴出所参考例程的具体路径?
,
user4446282:
ti\mmwave_mcuplus_sdk_04_02_00_02\mmwave_mcuplus_sdk_04_02_00_02\ti\demo\awr294x\mmw
在mmw_mss.mak里
就是说我按mmw_mss.mak定义将r5f_linker_enet.cmd 引入到CCS的新建立AWR2944 mss项目里
会报_vectors symbol undefine的错误,除非在r5f_linker_enet.cmd文件里去掉-e_vectors
因为手里没有AWR2944EVM,不知道在r5f_linker_enet.cmd文件里去掉-e_vectors 是否正确?另外,在iw683x,即SDK3.5里的cmd文件没有-e_vectors定义,gooogle也无法查询到相关说明,TI对此定义的意义?
,
Nancy Wang:
-e_vectors这个是设置入口地址的不应该删除,具体vectors在哪里定义的我不熟悉,稍后我会转给其他工程师看一下。
,
Chris Meng:
你好,
AWR2944的驱动例程里是有支持ccs 工程的,建议参考相关目录代码。我看了一下例程里的cmd文件里也是有-e_vectors。下面是一个例程的目录:
mcu_plus_sdk_awr294x_08_01_01_06\examples\drivers\gpio\gpio_led_blink
,
user4446282:
是的,我可以通过ccs正确引入gpio_led_blink项目并重编译,也注意到该项目里的linker.cmd:
个人觉得是L39行的段。
目前,我已可以使用sysconfig工具和CCS新建gpio blink项目,当使用CCS缺省项目配置时,会出现:
警告。
当引入mcu_plus_sdk_awr294x_08_01_01_06\examples\drivers\gpio\gpio_led_blink项目下的linker.cmd后可以解决上述问题。
但按此思路,希望在ccs里引入和重建awr2944的demo(包括毫米波功能):
step 1: 使用官方的gmake 重建, ok
step 2: 按通过ccs正确引入gpio_led_blink项目并重编译方法,目标:在ccs里重建awr2944的demo(包括毫米波功能)
分析到makefile和XXX.mak里使用的.cmd是mmw_mss_linker.cmd和r5f_linker_enet.cmd
引入上述两个.cmd到ccs项目里,(r5f_linker_enet.cmd里包含mcu_plus_sdk_awr294x_08_01_01_06\examples\drivers\gpio\gpio_led_blink项目里相同的 -e_vectors指示),但编译会报错。
结论:可以按gpio blink ccs项目方法重建 ccs项目(使用提供的linker.cmd可以使用-e_vectors指示),但想在ccs里重建awr2944的demo(包括毫米波功能),即使使用按mmwave_sdk_awr2944.mak里要求的r5f_linker_enet.cmd,编译里也会报无-e_vectors 符号错误。当然,注释该入口指示,awr2944的demo编译可能完成。
所以,需要知道该-e_vectors 符号定义的目的。
,
user4446282:
另外,我可以提供awr2944 gpio blink的 ccs项目使用sysconfig重建立的笔记,但不知道在哪里发贴,文档为pdf。
,
Chris Meng:
user4446282 说:需要知道该-e_vectors 符号定义的目的
-e指定了代码的入口地址。_vectors应该是中断向量表的位置。
请问你的工程是否包含了r5f_linker_enet.cmd和mmw_mss_linker.cmd两个cmd文件?
目前TI内部正在制作AWR2944 demo的CCS工程文件,你可以等待一下。
,
user4446282:
已包含两个.cmd
,
Chris Meng:
你好,
我创建了AWR2944 mmw TDM demo的CCS工程文件,你可以通过在CCS里导入这两个工程文件自动生成相关工程。
如果你需要的是其他demo的工程,你可以参考相关代码的makefile、build log,自行修改。
AWR2944_mmw_TDM_demo_sdk4.2.0.2.zip
,
user4446282:
谢谢
,
Bing Chen:
你好Chris Meng,
我想用你上传的AWR2944_mmw_TDM_demo_sdk4.2.0.2.zip工程重建awr294x mmvave demo的CCS工程,但是编译报错了
错误的内容为:在flash.h中这两个变量重复定义,我没有修改任何文件,并且反复核对了awr2944_mmw_demo_dssTDM.projectspec中所有地址。
请问我该怎么处理这个问题?
,
Chris Meng:
你好,
请问你是rebuild的project么?
,
Bing Chen:
是的,我先clean project然后再rebuild project。直接rebuild project也用过,都不行。
,
Chris Meng:
你好,
能否提供一下编译时候的完整log给我看看?
,
Bing Chen:
你好Chris Meng,
下面这个文件是工程编译过程中CCS的Console中显示的内容
Console.doc
编译工程界面如下图所示,
另外,这次的错误内容和上次不一样,我不知道为什么。
,
Chris Meng:
你好,
你一个编译的是mss工程,一个是dss的。
编译出错的原因是我所有安装的软件包都是在ti目录下,而你是在mcu plus sdk下,请在工程文件里做相应的改动。
,
Chris Meng:
更新工程文件,更新内容:
1. 添加说明路径
2. 修正删除编译文件部分。
AWR2944_mmw_TDM_demo_sdk4.2.0.2_v1.1.zip
,
Bing Chen:
你好Chris Meng,
恕我愚笨,我把之前安装的文件夹已经删除并且重新安装了mmwave_mcuplus_sdk_04_02_00_02-Windows-x86-Install.exe在c:/ti中,我修改了C:\ti\mmwave_mcuplus_sdk_04_02_00_02\scripts\windows\setenv.bat中“set MMWAVE_SDK_DEVICE=awr2944”,我还是没有成功运行。
另外C:\ti\mmwave_mcuplus_sdk_04_02_00_02\ti\demo\awr294x\mmw\dss”和“C:\ti\mmwave_mcuplus_sdk_04_02_00_02\ti\demo\awr294x\mmw\mss”文件夹中没有dssgenerated和mssgenerated。
,
Chris Meng:
你好,
默认安装完mcuplus sdk 4.2.0.2,所有的软件包都在c:/ti/mmwave_mcuplus_sdk_04_02_00_02目录下,包括mmwave_mcuplus_sdk_04_02_00_02自己,而我把相关软件都手动放到了c:/ti目录下。下面是以两个软件包为例再说明一下。
默认安装路径:
MCU_PLUS_SDK_PATH:C:\ti\mmwave_mcuplus_sdk_04_02_00_02\mmwave_mcuplus_sdk_04_02_00_02MMWAVE_SDK_INSTALL_PATH: C:\ti\mmwave_mcuplus_sdk_04_02_00_02\mcu_plus_sdk_awr294x_08_01_01_06
工程代码基于的路径:
MCU_PLUS_SDK_PATH:C:\ti\mmwave_mcuplus_sdk_04_02_00_02MMWAVE_SDK_INSTALL_PATH: C:\ti\mcu_plus_sdk_awr294x_08_01_01_06
,
Bing Chen:
你好Chris Meng,
你说的我明白了,我已经调整了SDK的位置,如下图所示。
但是编译还是不行,dss工程可以完成编译,但是mss工程不能完成编译,有错误出现,如下图所示。
CDT Build Console中信息如下文件,
CDT Build Console.doc
我把下载的工程文件(你上传的AWR2944_mmw_TDM_demo_sdk4.2.0.2_v1.1.zip)放在C:\ti\mcu_plus_sdk_awr294x_08_01_01_06\examples\AWR2944_mmw_TDM_demo_sdk4.2.0.2_v1.1这个文件夹下面。
,
Chris Meng:
你好,
你能否把工程放到一个路径较短的目录下?
编译log一个出错是找不到gFlashHandle,你看看你那里生成的文件里是否有定义这个变量?
C:/ti/mmwave_mcuplus_sdk_04_02_00_02/ti/demo/utils/mmwdemo_flash.c:98:37: error: use of undeclared identifier 'gFlashHandle' gMmwDemoFlash.QSPIFlashHandle = gFlashHandle[0];
下面是我这里可找到这个变量的截图:
,
Bing Chen:
你好Chris Meng,
好的,我知道了,感谢你的回答,我再试试。
,
Bing Chen:
你好Chris Meng,
你可方便提供awr2944这个官方demo的CCS项目新建过程的说明文档。
,
Chris Meng:
Bing Chen 说:你可方便提供awr2944这个官方demo的CCS项目新建过程的说明文档。
我写的这个工程,参考了其他工程文件,以及相关demo编译的log,demo相关的makefile。没有更多的文档。
关于CCS工程文件本身,下面的信息供参考:
https://software-dl.ti.com/ccs/esd/documents/ccs_projectspecs.html
,
Bing Chen:
好的,谢谢你Chris Meng。
,
Chris Meng:
Bing,
更换路径后,mss工程是否能正确编译?请也更新一下测试情况。谢谢!
,
Bing Chen:
更换路径后我的问题已解决,CCS编译成功了。
,
Chris Meng:
Bing,
收到。谢谢更新。