TI中文支持网
TI专业的中文技术问题搜集分享网站

AWR2944: r5f_linker_enet.cmd文件里-e_vectors定义的目的是什么?

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,

收到。谢谢更新。

赞(0)
未经允许不得转载:TI中文支持网 » AWR2944: r5f_linker_enet.cmd文件里-e_vectors定义的目的是什么?
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1