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

Memcopy和initflash顺序问题

InitFlash(); // Call the flash wrapper init function
MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart); 

请教各位,这两句代码顺序。有人说initFLASH得放在后面,可是放在后面,我程序跑到delayus函数就非法中断了。放到前面,我程序能跑

看到论坛中,有人放在前面,说是程序采样出错。。。这是闹那样啊,不明白了。。。

而且同一个Memcopy,定义

extern Uint16 RamfuncsLoadStart, RamfuncsLoadEnd, RamfuncsRunStart;时,同样6.4.1的编译器,ccs6.1.2只认这个

而ccs6.2.0认可

extern Uint16 *RamfuncsLoadStart, *RamfuncsLoadEnd, *RamfuncsRunStart;用上面语句,就是乱码

user4880999:

第一个问题的根本是预编译的问题,已解决。不过还是顺便问一下Memcopy吧

InitFlash(); // Call the flash wrapper init function
MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart); 

请教各位,这两句代码顺序。有人说initFLASH得放在后面,可是放在后面,我程序跑到delayus函数就非法中断了。放到前面,我程序能跑

看到论坛中,有人放在前面,说是程序采样出错。。。这是闹那样啊,不明白了。。。

而且同一个Memcopy,定义

extern Uint16 RamfuncsLoadStart, RamfuncsLoadEnd, RamfuncsRunStart;时,同样6.4.1的编译器,ccs6.1.2只认这个

而ccs6.2.0认可

extern Uint16 *RamfuncsLoadStart, *RamfuncsLoadEnd, *RamfuncsRunStart;用上面语句,就是乱码

Eric Ma:

1. 首先当然是memcpy在前面,因为initflash的函数需要先复制到RAM后,才能够调用,包括其他需要运行在RAM的函数,都需要先memcpy后才能运行。

2. 你参考最新controlSUITE的例程吧,用memcpy函数就好了。

ERIC

赞(0)
未经允许不得转载:TI中文支持网 » Memcopy和initflash顺序问题
分享到: 更多 (0)