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

CLAmathTables不能正常工作

求助:最近在做28069的CLA功能,仿真器烧写已经能正常运行(Flash方式),其中包括CLAmath函数也可正常运行。但因项目要求,程序更新需要改为boot刷写方式,因此更改了部分cmd文件,编译后出现 以下警告:

然后boot刷写不能正常运行,我注意到只要不添加这个CLAmathTables相关汇编文件(CLAsin.asm、CLAcos.asm等),或者不给这个CLAmathTables分配section(暂时忽略警告),boot都可以正常刷写。但是clacos和clasin是cla任务中必须要用到的函数,因此不知道在哪出了问题,非常困惑!请帮忙看一下,多谢!!

user6520201:

警告如下:
1.Description Resource Path Location Type
Data is being written to auto-generated file Motor_Drivev_3.4.i10 null: Data is being written to auto-generated file Motor_Drivev_3.4.i10 Motor_Drivev_3.4.3_for10Boot
2.Description Resource Path Location Type
section Motor_Drivev_3.4.3_for10Boot.out(CLA1mathTables) at 07e0000h null: section Motor_Drivev_3.4.3_for10Boot.out(CLA1mathTables) at 07e0000h Motor_Drivev_3.4.3_for10Boot

不好意思,第一次发帖子不知道怎么添加图片。。

,

user6520201:

clamathtablessection 分配:GROUP: LOAD = FLASHB,RUN = CLARAM1,LOAD_START(_Cla1mathTablesLoadStart),LOAD_END(_Cla1mathTablesLoadEnd),RUN_START(_Cla1mathTablesRunStart),LOAD_SIZE(_Cla1mathTablesLoadSize),PAGE = 1{CLA1mathTables.const_cla}
其中:FLASHB: origin = 0x3F4000, length = 0x002000/* on-chip FLASH */ (page:1)CLARAM1: origin = 0x008C00, length = 0x000400(page:1)

,

Susan Yang:

您可以点击右下角“使用该机编辑器编辑文本”后以附件形式上传一下图片。

关于您的问题,我们会在确认后给您回复

,

Susan Yang:

关于此错误,您可以参考一下

e2e.ti.com/…/761417

若是可以的话,请您将鼠标放在我的头像上悬停,私信一下工程,我们具体看一下,谢谢

,

user6520201:

 。。好像不太行,因为电脑加密的原因..?上面我已经复制了具体warning,麻烦了

,

Susan Yang:

请问您是否初始化时增加了 MemCopy(&Cla1mathTablesLoadStart, &Cla1mathTablesLoadEnd, &Cla1mathTablesRunStart);?

CLA自带的数学函数,用到一个cla math表,这个表需要用户自己配置在flash中。在cmd文件中添加如下类似代码:

CLA1mathTables:LOAD = FLASHH,PAGE = 0RUN = RAML2,PAGE = 1LOAD_START(_Cla1mathTablesLoadStart),LOAD_END(_Cla1mathTablesLoadEnd),RUN_START(_Cla1mathTablesRunStart)

,

user6520201:

你好,这段程序我在main中添加过了的

,

user6520201:

这个我有个小疑问,CLA1mathTables不应该加载到数据区间的flash段吗?我看例程上是加载到PAGE1的

,

Susan Yang:

是的,是要加载到FLASH的,但是运行的话是需要在RAM的。所以需要加这样的语句

,

user6520201:

非常感谢您!我的问题已经解决了,可是我还是有一点疑问想请教一下,我在用仿真器烧写时,CLAmathTables是load page1的flash区域内的,但在用boot烧写方式时需要把page1改为page0才能正常运行,这个我不是很明白。

仿真器烧写时.cmd文件分配:

CLA1mathTables : LOAD = FLASHD, RUN = CLARAM2, LOAD_START(_Cla1mathTablesLoadStart), LOAD_END(_Cla1mathTablesLoadEnd), LOAD_SIZE(_Cla1mathTablesLoadSize), RUN_START(_Cla1mathTablesRunStart), PAGE = 1

Boot方式烧写时.cmd文件分配:

CLA1mathTables : LOAD_START(_Cla1mathTablesLoadStart), LOAD_END(_Cla1mathTablesLoadEnd), LOAD_SIZE(_Cla1mathTablesLoadSize), RUN_START(_Cla1mathTablesRunStart), LOAD = FLASHF_H, PAGE = 0 RUN = CLARAM2, PAGE = 1

,

Susan Yang:

您是指需要

LOAD = FLASHF_H, PAGE = 0
RUN = CLARAM2, PAGE = 1
PAGE = 1改为PAGE = 0?

,

user6520201:

嗯嗯是的是的。

赞(0)
未经允许不得转载:TI中文支持网 » CLAmathTables不能正常工作
分享到: 更多 (0)