[ZLG-ARM] 如何选择ADS的ARM C Compiler优先级

[复制链接]
 楼主| lcyong 发表于 2007-3-3 12:20 | 显示全部楼层 |阅读模式
int&nbsp;main&nbsp;(void)<br />{&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;TargetInit&nbsp;();<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;NVRAM_Init();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;LCDInit();&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;ClockInit();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;EEPROMDATAIni();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;VICInit();<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;Timer0Init();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;initialize&nbsp;Timer0&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;Timer1Init();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;initialize&nbsp;Timer1&nbsp;*/&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;OSInit&nbsp;();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;OSTaskCreate&nbsp;(Task0,(void&nbsp;*)0,&nbsp;Task0Stk,&nbsp;0);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;OSStart&nbsp;();<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />}&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />我现在遇到一个问题,ADS的ARM&nbsp;C&nbsp;compiler优先级设为Most(1级优化)时,程序运行正常,但SPI1批量读写外设EEPROM数据(EEPROMDATAIni函数)时不能完全正确(单步跟踪也一样),其它外设工作正常。但把ADS的ARM&nbsp;C&nbsp;compiler优先级设为Minimum(0级优化)时,SPI1批量读写外设EEPROM数据(EEPROMDATAIni函数)完全正确,但程序运行异常,转不了呀,跟踪发现在执行OSInit&nbsp;()后,运行不下去了,stop程序后,程序停在<br />;取数据中止<br />DataAbort<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataAbort<br /><br />处。<br /><br />请问ZLG的工程师,编译优先级设为Minimum时,为何程序运转异常呢?设为1级时,SPI1读写数据又有问题(EEPROMDATAIni函数在开中断和多任务运行之前)。<br /><br /><br /><br />
zlgARM 发表于 2007-3-5 09:27 | 显示全部楼层

RE

ADS编译器的设置用minimum级,然后您一句句地注释掉函数们,观察程序是否能全速运行到OSStart()。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

32

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

9

主题

32

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部