打印
[其他ST产品]

MDK中函数如何在RAM中运行

[复制链接]
4591|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

粉丝