[其他ST产品] MDK中函数如何在RAM中运行

[复制链接]
5335|3
 楼主| 西域兵团 发表于 2010-9-10 13:44 | 显示全部楼层 |阅读模式
原来的程序用RealVeiw 2.0版编译的STR710的程序,
在文件Frame_chanage.c中
#pragma arm section code ="foo",rwdata="foo"
void Fun(void)
{
  内部FLASH编程操作
}
#pragma arm section code,rwdata

在分散加载文件中
Exec_IAP 0x20000000 ;0x3000;
  {
   Frame_chanage.o(foo);
   *(+RW,+ZI);
  }

程序运行没有问题,
Fun函数可正常运行。

但是我把STR710的程序移植到MDK 4.01的版本中后,程序运行Fun()函数就复位或死机。

所以我想问一下给我mdk中如何让函数在RAM中运行(STR710不能再FLASH中执行程序时对FLASH进行编程)
IJK 发表于 2010-9-10 14:35 | 显示全部楼层
建议查查 mdk 的帮助,或者pdf格式的手册。我用IAR,也需要类似的功能,就是查pdf格式的手册查到的,IAR里对函数加关键字 __ramfunc 就可以了。
 楼主| 西域兵团 发表于 2010-9-10 17:15 | 显示全部楼层
把文件在CodeWarrior for RVDS环境中编译了一下,可以了。
都是RealView在不同的环境中差别咋这么大呢!
youyouxia263 发表于 2013-7-28 15:19 | 显示全部楼层
你可以把你要放进ram的函数都扔进一个.c文件中,然后右击它,进入option界面,在code/const选项选择ram地址
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

8

帖子

0

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