请选择 进入手机版 | 继续访问电脑版
查看: 1372|回复: 2

[求助] MCUXpresso IDE 如何将变量定义在外部sram

[复制链接]
回帖奖励 38 NXP金币 回复本帖可获得 2 NXP金币奖励! 每人限 1 次
  • TA的每日心情
    开心
    2022-2-1 19:14
  • 签到天数: 26 天

    [LV.4]偶尔看看III

    15

    主题

    127

    帖子

    0

    高级会员

    Rank: 4

    积分
    723
    最后登录
    2022-12-30
    发表于 2021-1-30 20:16:26 | 显示全部楼层 |阅读模式
    MCUXpresso IDE 如何将变量定义在外部sram

    硬件是MK64通过Flexbus连接IS61WV25616BLL,想是不是可以这样写代码,
    uint16_t buff[16384] __attribute__((section(".external")));将buff定义在外部sram中。
    目前我是这样改的,添加一段ram空间,指定起始位置
    1.png


    在RAM_EXTERNAL里添加一个段.external


    2.png

    然后编译完后变量确实存在外部sram里。

    3.png

    但是由于这个变量在ResetISR函数执行时会被使用(初始化??),

    这时flexbus尚未配置,BOARD_FLEXBUS_SRAM_Init(BOARD_EXTERNAL_SARM_BASE);

    程序会在ResetISR()执行到data_init()时死住,有什么办法让定义在外部sram的变量不初始化,等到总线初始化完毕后

    5.png


    我知道答案 目前已有2人回答
    4.png
    哈哈
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-2-1 19:14
  • 签到天数: 26 天

    [LV.4]偶尔看看III

    15

    主题

    127

    帖子

    0

    高级会员

    Rank: 4

    积分
    723
    最后登录
    2022-12-30
     楼主| 发表于 2021-1-30 20:25:37 | 显示全部楼层
    我现在是在void ResetISR(void) 里添加了一句判断,地址小于0x70000000的才初始化。这样可以
            if(ExeAddr < 0x70000000)
                    data_init(LoadAddr, ExeAddr, SectionLen);
    哈哈
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-2-24 18:42
  • 签到天数: 206 天

    [LV.7]常住居民III

    18

    主题

    311

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2743
    最后登录
    2024-4-9
    发表于 2021-2-5 10:56:35 | 显示全部楼层

    回帖奖励 +2 NXP金币

    学习
    哎...今天够累的,签到来了~
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-19 08:45 , Processed in 0.135156 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

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