查看: 6437|回复: 6

[求助] KEAZ128---S32 Design STUDIO编译器下的问题

[复制链接]
  • TA的每日心情
    开心
    2018-6-4 15:15
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    20

    主题

    36

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    252
    最后登录
    2022-4-6
    发表于 2021-4-20 12:32:22 | 显示全部楼层 |阅读模式
    芯片是KEAZ128,发现在S32 Design STUDIO编译器下提供的例程ld文件程序都是从0x410开始,无法利用0x100-0x400这段空间,有没有什么办法使用这段空间吗?现在需要做一个同时存在CAN\LIN的主bootloader,希望所有代码能压到0~0x1000之间。下面是一般例程提供的里的ld文件:

    MEMORY
    {
      m_interrupts          (RX)  : ORIGIN = 0x00000000, LENGTH = 0x00000100
      m_flash_config        (RX)  : ORIGIN = 0x00000400, LENGTH = 0x00000010
      m_text                (RX)  : ORIGIN = 0x00000410, LENGTH = 0x00008000-0x410
      m_data                (RW)  : ORIGIN = 0x1FFFF000, LENGTH = 0x00004000
    }



    最佳答案

    小小浮云 发表于 2021-4-22 09:55 基于这个编译器编译生成的MAP文件,里面有多个系统函数找不到调用的地方,这些函数什么地方会调用到? ... 我看了下,它其实就是把一段mcu要读的flash_config指定位置放在了0x400 ...
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24943
    最后登录
    2025-7-25
    发表于 2021-4-20 13:42:13 | 显示全部楼层
    很多配置都是要从0x400读的,所以这段必须固定住,没法移动地址,0x400之前放中断的,剩余的空间就算没用完也没法节省
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-6-4 15:15
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    20

    主题

    36

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    252
    最后登录
    2022-4-6
     楼主| 发表于 2021-4-20 16:06:11 | 显示全部楼层
    小恩GG 发表于 2021-4-20 13:42
    很多配置都是要从0x400读的,所以这段必须固定住,没法移动地址,0x400之前放中断的,剩余的空间就算没用完 ...

    我看到一个MDK编译器的例程,前面的空间是利用到的,所以想问一下S32 Design STUDIO能不能用
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24943
    最后登录
    2025-7-25
    发表于 2021-4-20 16:17:41 | 显示全部楼层
    小小浮云 发表于 2021-4-20 16:06
    我看到一个MDK编译器的例程,前面的空间是利用到的,所以想问一下S32 Design STUDIO能不能用 ...

    哪里看到的,有图吗
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-6-4 15:15
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    20

    主题

    36

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    252
    最后登录
    2022-4-6
     楼主| 发表于 2021-4-21 16:05:40 | 显示全部楼层
    本帖最后由 小小浮云 于 2021-4-21 16:11 编辑
    小恩GG 发表于 2021-4-20 16:17
    哪里看到的,有图吗

    keil官网下载的KEAZ128例程,编译后的HEX文件显示前0x400都利用了,中断地址也在其中
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-6-4 15:15
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    20

    主题

    36

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    252
    最后登录
    2022-4-6
     楼主| 发表于 2021-4-22 09:55:24 | 显示全部楼层
    基于这个编译器编译生成的MAP文件,里面有多个系统函数找不到调用的地方,这些函数什么地方会调用到?
    系统函数.JPG
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24943
    最后登录
    2025-7-25
    发表于 2021-4-22 11:15:59 | 显示全部楼层
    小小浮云 发表于 2021-4-22 09:55
    基于这个编译器编译生成的MAP文件,里面有多个系统函数找不到调用的地方,这些函数什么地方会调用到?
    ...

    我看了下,它其实就是把一段mcu要读的flash_config指定位置放在了0x400,然后其他的数据就正常放。它的sct文件没有做什么中断以及代码端的区分 b.PNG
    然后在启动文件里指定数据位置
    c.PNG
    应该可以做,你得改链接文件,然后把flash_config放指定位置
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-26 08:00 , Processed in 0.103984 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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