查看: 3961|回复: 41

[已解决] LPC4370程序跳转到ram运行问题

[复制链接]

该用户从未签到

1

主题

2

帖子

0

新手上路

Rank: 1

积分
23
最后登录
2021-4-21
发表于 2021-3-31 15:50:56 | 显示全部楼层 |阅读模式
本帖最后由 小恩GG 于 2021-5-21 16:38 编辑

我司有一款产品用到LPC4370,目前功能都实现了,但是在优化的时候发现程序执行效率比较慢,并且量测外部flash的spi管脚的时候,发现工作以后spi管脚上一直有波形,可能程序运行是加载的外部flash。这种方式会很慢而且有可能受干扰不稳定,应该有跳转到ram里面运行的方法,但是目前没有找到,论坛里面有方法提供没?
我知道答案 目前已有40人回答
回复

使用道具 举报

  • TA的每日心情
    擦汗
    2021-7-5 15:45
  • 签到天数: 664 天

    [LV.9]以坛为家II

    42

    主题

    1594

    帖子

    19

    金牌会员

    Rank: 6Rank: 6

    积分
    5382
    最后登录
    2021-12-22
    发表于 2021-4-2 10:38:28 | 显示全部楼层
    本帖最后由 okwh 于 2021-4-2 11:46 编辑

    程序执行效率比较慢?  
    通常是足够的,不会有此问题。  你确定 ?和RAM中运行的差别   真的  影响你的需要么?  

    可研究 对比下 放RAM, 比较, 以确定是否真的需要
    参考 我曾写过LPC768的例子  https://www.nxpic.org.cn/module/forum/thread-616340-1-1.html
    调整要验证对比的部分代码大小,保证能编译到内存。

    如果你能确定 需要在RAN运行的函数有哪些,那么对于个别函数,使用 __ram 或__ramfunc 伪指令, keil 好像还可以有右键菜单弹出对话框 配置某单个c文件放置在ram。  应该足以解决关键代码放ram运行的需要(比如中断响应、任务切换什么的)。

    如果真需要精细调整,  需要学习linker文件 *.icf  和 分散加载文件 *.sct文件  如何配置, 这需要对单片机运行有较深入认识。大多数人无此需要 就像PC程序员大多不需要掌握cache内存、数学协处理器、0环编程一样。不过4370 有多种内存, 可能你需要学习掌握分散加载到底怎么回事。


    把代码从Flash拷贝到RAM  那是大机器如PC机 多任务操作系统的功能,如我们在windows下需要时从硬盘装载,然后分虚拟内存区、分时运行各个软件。单片机虽然简单些,但做此事不值得,因为单片机内存太小,执行调度很麻烦。
    通常对单片机程序,只需指定关键代码、某个函数在RAM就足够了。



    点评

    赞  发表于 2021-4-2 17:30
    该会员没有填写今日想说内容.
    回复 支持 1 反对 0

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-2-8 09:39
  • 签到天数: 217 天

    [LV.7]常住居民III

    92

    主题

    1112

    帖子

    29

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    7639

    热心会员

    最后登录
    2024-4-25
    发表于 2021-4-1 09:45:55 | 显示全部楼层
    给一个大概思路吧,先把程序复制到内部ram里面,然后把pc指针跳转过去就可以了
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    7 天前
  • 签到天数: 557 天

    [LV.9]以坛为家II

    34

    主题

    5914

    帖子

    2

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    5698
    最后登录
    2024-4-25
    发表于 2021-4-2 09:59:24 | 显示全部楼层
    只能说支持一下,期待大神解答
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    昨天 10:31
  • 签到天数: 1253 天

    [LV.10]以坛为家III

    4

    主题

    2846

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    6724
    最后登录
    2024-4-25
    发表于 2021-4-2 10:01:26 | 显示全部楼层
    应该是程序上的问题,调试一下看看
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-6-4 10:01
  • 签到天数: 55 天

    [LV.5]常住居民I

    0

    主题

    176

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    415
    最后登录
    2021-6-4
    发表于 2021-4-2 10:04:10 | 显示全部楼层

    只能说支持一下,期待大神解答    +1
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 19:03
  • 签到天数: 2155 天

    [LV.Master]伴坛终老

    17

    主题

    4613

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9768
    最后登录
    2024-4-25
    发表于 2021-4-2 10:09:55 | 显示全部楼层
    只能说支持一下,期待大神解答    +1
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    昨天 10:18
  • 签到天数: 1584 天

    [LV.Master]伴坛终老

    5

    主题

    3258

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    7778
    最后登录
    2024-4-25
    发表于 2021-4-2 10:10:10 | 显示全部楼层
    只能说支持一下,期待大神解答    +1
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-7 11:35
  • 签到天数: 72 天

    [LV.6]常住居民II

    0

    主题

    533

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1525
    最后登录
    2024-1-17
    发表于 2021-4-2 10:25:46 | 显示全部楼层
    只能说支持一下,期待大神解答
    开心
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    昨天 09:51
  • 签到天数: 2112 天

    [LV.Master]伴坛终老

    56

    主题

    4775

    帖子

    73

    金牌会员

    Rank: 6Rank: 6

    积分
    24808
    最后登录
    2024-4-25
    发表于 2021-4-2 10:36:51 | 显示全部楼层
    总体思路是系统启动的时候把代码从Flash拷贝到RAM,但是考虑的RAM大小显示,只需要把利用率最高的部分代码放入RAM即可。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-26 03:26 , Processed in 0.154788 second(s), 31 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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