[ZLG-MCU] 不抛弃不放弃,在IAR环境下LM跑C++终成正果

[复制链接]
2797|6
 楼主| hotpower 发表于 2008-1-24 01:54 | 显示全部楼层 |阅读模式
C++, IAR, lm, se, TI
LM原配的函数中的ResetISR()把菜农迷糊了,倒塌了~~~可气!!!<br />请看:<br />void<br />ResetISR(void)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;long&nbsp;*pulSrc,&nbsp;*pulDest,&nbsp;*pulEnd;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;//<br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Copy&nbsp;the&nbsp;data&nbsp;segment&nbsp;initializers&nbsp;from&nbsp;flash&nbsp;to&nbsp;SRAM.<br />&nbsp;&nbsp;&nbsp;&nbsp;//<br />&nbsp;&nbsp;&nbsp;&nbsp;pulSrc&nbsp;=&nbsp;__segment_begin(&quot;DATA_ID&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;pulDest&nbsp;=&nbsp;__segment_begin(&quot;DATA_I&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;pulEnd&nbsp;=&nbsp;__segment_end(&quot;DATA_I&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;while(pulDest&nbsp;&lt&nbsp;pulEnd)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*pulDest++&nbsp;=&nbsp;*pulSrc++;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;//<br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Zero&nbsp;fill&nbsp;the&nbsp;bss&nbsp;segment.<br />&nbsp;&nbsp;&nbsp;&nbsp;//<br />&nbsp;&nbsp;&nbsp;&nbsp;pulDest&nbsp;=&nbsp;__segment_begin(&quot;DATA_Z&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;pulEnd&nbsp;=&nbsp;__segment_end(&quot;DATA_Z&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;while(pulDest&nbsp;&lt&nbsp;pulEnd)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*pulDest++&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;//<br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Call&nbsp;the&nbsp;application's&nbsp;entry&nbsp;point.<br />&nbsp;&nbsp;&nbsp;&nbsp;//<br />&nbsp;&nbsp;&nbsp;&nbsp;main();//真是倒塌了!!!<br />}<br /><br />IAR本身有一套完善的初始化系统,不知IAR的例程为何要用这个ResetISR()来管闲事???不解...<br /><br />菜农被ResetISR()的的调用main()晕沉了整整一天的时间,可以说几乎崩溃放弃~~~<br />不甘心呀!!!<br /><br />终于想出了放弃ResetISR()的妙计~~~终于将其倒塌!!!<br /> 相关链接:<a href='https://bbs.21ic.com/upfiles/img/20081/200812415349467.rar'>https://bbs.21ic.com/upfiles/img/20081/200812415349467.rar</a>
 楼主| hotpower 发表于 2008-1-24 02:16 | 显示全部楼层

饿了,累了,该迷糊了~~~

这个演示程序将对LM3S小容量裸奔程序提供C++先进的框架~~~<br /><br />俺知道有人会拍砖的,...哈哈~~~俺这就迷糊去~~~<br /><br />俺编的程序除PIC外DSP/ARM/MCU都是清一色的C++~~~连Keil的OS上也不例外~~~
zlgarm 发表于 2008-1-24 08:35 | 显示全部楼层

IAR初始化

&nbsp;&nbsp;&nbsp;所有C语言编译器,包括IAR、Keil、ADS等等,它们都需要在调用main()函数前,初始化RAM中的全局变量和静态变量等,既把C代码中需要的初始值赋给它们。只不过有些编译器(如Keil)不公开此段代码,有些编译器(如IAR)公开了此段代码,用户可以修改它,或在里面加入进入main()函数之前的东西,如判断单片机是否掉电复位。<br />&nbsp;&nbsp;&nbsp;ResetISR()的名称不是固定的,用户可改为其他名称,具体方法请参考我们的uCOS-II&nbsp;IAR模板。<br /><br /><br />&nbsp;&nbsp;(zlgarm_zsg)<br />
ATmega32L 发表于 2008-1-24 08:53 | 显示全部楼层

lm3s启动代码

是真的啊。<br /><br />IAR真的可以不用setup.c.<br />IAR会自动初始化全局变量。
 楼主| hotpower 发表于 2008-1-24 11:30 | 显示全部楼层

哈哈~~~我还以为是周公的人加的~~~原来是匠人媚媚送的裤子~~

hotpower&nbsp;发给&nbsp;程序匠人&nbsp;于&nbsp;2008-1-24&nbsp;11:41:22&nbsp;&nbsp;&nbsp;<br />:&nbsp;:&nbsp;https://bbs.21ic.com/club/bbs/list.asp?boardid=42&t=2841256<br />:&nbsp;:&nbsp;哈哈~~~估计这是全球首个LM的C++例程~~~菜农又一次跳出了&quot;黄河&quot;~~~<br />:&nbsp;先加酷,再拜读。过一段时间我也想学学<br />哈哈~~~我还以为是周公的人加的~~~<br />&nbsp;<br />
hq_y 发表于 2008-1-24 12:21 | 显示全部楼层

哈哈跟着hotpower走~~~~~~~~~~~

  
王紫豪 发表于 2008-1-24 12:25 | 显示全部楼层

拜读!!

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1460

主题

21617

帖子

508

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