查看: 1859|回复: 2

[求助] 請問如何把函數放在RAM中?

[复制链接]
  • TA的每日心情

    2019-1-19 16:32
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    23

    主题

    113

    帖子

    4

    金牌会员

    Rank: 6Rank: 6

    积分
    1267
    最后登录
    2022-3-31
    发表于 2019-1-19 16:32:04 | 显示全部楼层 |阅读模式

    MCU是S9KEAZN64

    用IAR 8.22.1內建的__ramfunc,是會自動讓MCU啟動後把函數放在RAM中,
    但是MCU要從RAM的函數回到放在FLASH的程序時,MCU就會跑到HardFault_Handler。
    不清楚是哪沒處理好,函數的大小是0xf0,應該是沒問題的

    請問IAR、KEIL、CW、S32DS分別要怎麼把函數放到RAM之中呢?

    我知道答案 目前已有2人回答
    哎...今天够累的,签到来了~
    回复

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24891
    最后登录
    2025-7-21
    发表于 2019-1-21 10:19:17 | 显示全部楼层
    首先,我是有点不太清楚你既然把函数迁移到RAM中,那为啥又要在Flash中运行呢。
    各个IDE对于迁移程序到RAM的keyword都是不一样的,详情请参考各个IDE的用户手册
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-1-19 16:32
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    23

    主题

    113

    帖子

    4

    金牌会员

    Rank: 6Rank: 6

    积分
    1267
    最后登录
    2022-3-31
     楼主| 发表于 2019-1-21 11:35:19 | 显示全部楼层
    想加速uart_irq執行的速度
    scb_vtor已經指向RAM了,但是uart中斷執行的速度沒有變化,
    所以想把UART_IRQ放在RAM中執行,main還是在flash,
    現在是從放在flash的main要調用放在ram的func後要回頭執行main時,
    會進入HardFault_Handler
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

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

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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