查看: 3612|回复: 4

[其他] 程序优化(怎么把部分程序定位在SRAM区)coldfire V2

[复制链接]

该用户从未签到

5

主题

8

帖子

0

新手上路

Rank: 1

积分
17
最后登录
1970-1-1
发表于 2012-2-16 22:10:42 | 显示全部楼层 |阅读模式
各位大侠,
      小弟目前的项目中有一部分代码的速度要求比较高,我想把这个函数放在SRAM中去运行?请问怎么做啊?
有没有人做过?谢谢!
我知道答案 目前已有3人回答
回复

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2012-2-17 16:31:05 | 显示全部楼层

    RE:程序优化(怎么把部分程序定位在SRAM区)coldfire V2

    没用做过。会的同学帮忙一下,我奖励积分。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    8

    帖子

    0

    新手上路

    Rank: 1

    积分
    3
    最后登录
    1970-1-1
    发表于 2012-2-27 17:00:09 | 显示全部楼层

    RE:程序优化(怎么把部分程序定位在SRAM区)coldfire V2

    先把那一部分代码拷到ram中(这个应该没问题吧?),然后再把函数所在的ram地址声明为所对应的函数指针,再调用就可以了
    比如:
    unsinged int func(void);
    拷到ram中的0x200处
    在代码中这样使用
    ((unsigned int(*)(void))0x200)();
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7

    主题

    66

    帖子

    0

    注册会员

    Rank: 2

    积分
    155
    最后登录
    2020-12-15
    发表于 2012-12-1 10:14:38 | 显示全部楼层

    RE:程序优化(怎么把部分程序定位在SRAM区)coldfire V2

    楼主使用的是MPC5604P,该单片机SRAM起始地址是0x40000000,存放的是一段代码,而不是某个功能函数。若用函数指针,就比较麻烦。你可以在.lcf文件中分配一段地址,用于存放需要存放的代码,然后参照.lcf文件中其他段格式再擦入该段地址,这样在需要存放的代码前用#pragma分段形式给代码分段,就可以了,你可以编译下,通过map文件查看,该段代码是否存放在所指定的地址了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    42

    帖子

    0

    注册会员

    Rank: 2

    积分
    108
    最后登录
    1970-1-1
    发表于 2014-1-9 17:31:15 | 显示全部楼层

    回复:程序优化(怎么把部分程序定位在SRAM区)coldfire V2

    回复第 3 楼 于2012-02-27 17:00:09发表:
    先把那一部分代码拷到ram中(这个应该没问题吧?),然后再把函数所在的ram地址声明为所对应的函数指针,再调用就可以了
    比如:
    unsinged int func(void);
    拷到ram中的0x200处
    在代码中这样使用
    ((unsigned int(*)(void))0x200)();
    这个不太懂,请指教
     
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-21 00:20 , Processed in 0.096341 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表