查看: 3630|回复: 3

[S32] S32K148的S32D Linker文件中的AT指令失效了吗?

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

    2019-1-30 16:29
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    2

    主题

    8

    帖子

    0

    新手上路

    Rank: 1

    积分
    33
    最后登录
    2019-1-30
    发表于 2018-12-29 11:16:30 | 显示全部楼层 |阅读模式
    现在用S32Develop Studio调试S32K148芯片的时候,遇到一个问题,
    链接文件如下所示,通过objdump文件查看data段和code段的属性后,发现data段的VMA和LMA(用黑色标注)是正确的,一个放在RAM空间,一个放在Flash空间;
    但是.code段怎么不是呢?其VMA和LMA地址(用黑色标注)都是放在RAM空间呢?


    一、objdump的结果:
    Sections:
    Idx Name          Size      VMA       LMA       File off  Algn
      0 .interrupts   00000400  00000000  00000000  00010000  2**2
                      CONTENTS, ALLOC, LOAD, READONLY, DATA
      1 .flash_config 00000010  00000400  00000400  00010400  2**0
                      CONTENTS, ALLOC, LOAD, READONLY, DATA
      2 .text         00002178  00000410  00000410  00010410  2**2
                      CONTENTS, ALLOC, LOAD, READONLY, CODE
      3 .interrupts_ram 00000400  1ffe0000  1ffe0000  00030000  2**0
                      ALLOC
      4 .data         00000348  1ffe0400  00002588  00020400  2**3
                      CONTENTS, ALLOC, LOAD, DATA
      5 .code         00000000  1ffe0748  1ffe0748 0002f000  2**0


    二、linker文件内容:
    .data : AT(__DATA_ROM)
      {
        . = ALIGN(4);
        __DATA_RAM = .;
        __data_start__ = .;      /* Create a global symbol at data start. */
        *(.data)                 /* .data sections */
        *(.data*)                /* .data* sections */
        . = ALIGN(4);
        __data_end__ = .;        /* Define a global symbol at data end. */
      } > m_data

      __DATA_END = __DATA_ROM + (__data_end__ - __data_start__);
      __CODE_ROM = __DATA_END; /* Symbol is used by code initialization. */

      .code : AT(__CODE_ROM)
      {
        . = ALIGN(4);
        __CODE_RAM = .;
        __code_start__ = .;      /* Create a global symbol at code start. */
        __code_ram_start__ = .;
        *(.code_ram)             /* Custom section for storing code in RAM */
        . = ALIGN(4);
        __code_end__ = .;        /* Define a global symbol at code end. */
        __code_ram_end__ = .;
      } > m_data

    最佳答案

    建议查看一下map文件,这里应该是采用的.code_ram。
    我被uart害死了。。。。
    回复

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24901
    最后登录
    2025-7-21
    发表于 2018-12-29 15:33:20 | 显示全部楼层
    楼主你好。
    关于S32DS的问题,建议你到官网这个地方问:
    http://community.nxp.com/community/s32/s32ds/content
    问题内容描述请采用英文书写,那边会有对应的工程师帮你解答。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-6-4 10:16
  • 签到天数: 47 天

    连续签到: 1 天

    [LV.5]常住居民I

    3

    主题

    114

    帖子

    15

    中级会员

    Rank: 3Rank: 3

    积分
    280
    最后登录
    2019-6-4
    发表于 2019-1-2 10:11:45 | 显示全部楼层
    建议查看一下map文件,这里应该是采用的.code_ram。

    评分

    参与人数 1 +1 收起 理由
    NXP管管 + 1

    查看全部评分

    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-6-4 10:16
  • 签到天数: 47 天

    连续签到: 1 天

    [LV.5]常住居民I

    3

    主题

    114

    帖子

    15

    中级会员

    Rank: 3Rank: 3

    积分
    280
    最后登录
    2019-6-4
    发表于 2019-1-2 10:12:07 | 显示全部楼层
    建议查看map文件
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-22 12:13 , Processed in 0.094229 second(s), 26 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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