查看: 5386|回复: 14

[已解决] 在KEA128中把函数放在固定的位置

[复制链接]
  • TA的每日心情
    开心
    2020-8-5 09:59
  • 签到天数: 80 天

    连续签到: 1 天

    [LV.6]常住居民II

    19

    主题

    173

    帖子

    2

    中级会员

    Rank: 3Rank: 3

    积分
    498
    最后登录
    2020-9-3
    发表于 2017-12-15 09:42:15 | 显示全部楼层 |阅读模式
    本帖最后由 ,忆昔颜 于 2017-12-15 17:21 编辑

    我想在CW10.6中不使用PE配置,在KEA128中把几个函数固定在某个位置,这个应该怎么去实现,初次搞这个,希望大牛们帮忙。

    最佳答案

    楼主你好! 你用__attribute__ 试试,linker file里面划分出一块之后,然后用__attribute__把函数知道你所定义的flash块里面。 [attach]440068[/attach]

    这是按照AN4498方式写的,可是它报错了

    这是按照AN4498方式写的,可是它报错了

    这个是修改ld文件

    这个是修改ld文件
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24879
    最后登录
    2025-7-20
    发表于 2017-12-18 09:11:31 | 显示全部楼层
    楼主你好!
    你用__attribute__ 试试,linker file里面划分出一块之后,然后用__attribute__把函数知道你所定义的flash块里面。

    52.jpg
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-8-5 09:59
  • 签到天数: 80 天

    连续签到: 1 天

    [LV.6]常住居民II

    19

    主题

    173

    帖子

    2

    中级会员

    Rank: 3Rank: 3

    积分
    498
    最后登录
    2020-9-3
     楼主| 发表于 2017-12-18 10:49:33 | 显示全部楼层
    小恩GG 发表于 2017-12-18 09:11
    楼主你好!
    你用__attribute__ 试试,linker file里面划分出一块之后,然后用__attribute__把函数知道你所 ...

    我试了试,它还是按默认的放在了.text下边,没有按照我给他分地址放
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-8-5 09:59
  • 签到天数: 80 天

    连续签到: 1 天

    [LV.6]常住居民II

    19

    主题

    173

    帖子

    2

    中级会员

    Rank: 3Rank: 3

    积分
    498
    最后登录
    2020-9-3
     楼主| 发表于 2017-12-18 10:50:49 | 显示全部楼层
    ,忆昔颜 发表于 2017-12-18 10:49
    我试了试,它还是按默认的放在了.text下边,没有按照我给他分地址放

    还有一点,我是把flash直接给他分了一部分,让他放在flash的固定位置
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-8-5 09:59
  • 签到天数: 80 天

    连续签到: 1 天

    [LV.6]常住居民II

    19

    主题

    173

    帖子

    2

    中级会员

    Rank: 3Rank: 3

    积分
    498
    最后登录
    2020-9-3
     楼主| 发表于 2017-12-18 11:32:51 | 显示全部楼层
    小恩GG 发表于 2017-12-18 09:11
    楼主你好!
    你用__attribute__ 试试,linker file里面划分出一块之后,然后用__attribute__把函数知道你所 ...

    这个地方就不需要再重新定义一个mysectioninRom块了,直接用哪个.xxx就可以了,谢谢
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24879
    最后登录
    2025-7-20
    发表于 2017-12-18 12:41:35 | 显示全部楼层
    ,忆昔颜 发表于 2017-12-18 10:50
    还有一点,我是把flash直接给他分了一部分,让他放在flash的固定位置

    楼主你好,我这边试下来是可以的啊。
    MEMORY {
      m_interrupts (RX) : ORIGIN = 0x00000000, LENGTH = 0x000000C0
      m_text      (RX) : ORIGIN = 0x00000410, LENGTH = 0x0001FBF0-0x1000
      m_data      (RW) : ORIGIN = 0x1FFFF000, LENGTH = 0x00004000
      m_cfmprotrom  (RX) : ORIGIN = 0x00000400, LENGTH = 0x00000010
      myrom      (RX) : ORIGIN = 0x0001EBF0, LENGTH = 0x1000
    }
    /* Define output sections */
    SECTIONS
    {
      .mycode :
      {
      __ROM_SYMBOLS = .;
      . = ALIGN(4);
      KEEP(*(.romsymbols))
      . = ALIGN(4);
      } > myrom
      

    ==============================
    __attribute__((section(".romsymbols")))void funcInROM(int flag)
    {
    static unsigned int cnt=0;
      if(flag>0)
      {
       cnt++;
       
      }
    }

    54.jpg
    KEA128_FUN_relocateFlash.rar (838.68 KB, 下载次数: 4)
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-8-5 09:59
  • 签到天数: 80 天

    连续签到: 1 天

    [LV.6]常住居民II

    19

    主题

    173

    帖子

    2

    中级会员

    Rank: 3Rank: 3

    积分
    498
    最后登录
    2020-9-3
     楼主| 发表于 2017-12-18 16:09:45 | 显示全部楼层
    小恩GG 发表于 2017-12-18 12:41
    楼主你好,我这边试下来是可以的啊。
    MEMORY {
      m_interrupts (RX) : ORIGIN = 0x00000000, LENGTH = 0x ...

    嗯嗯,我也可以了,我是又多定义了一个块名字,然后就不行了,我直接去操作那个.xxx,就成功了,谢谢你
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24879
    最后登录
    2025-7-20
    发表于 2017-12-18 17:17:42 | 显示全部楼层
    ,忆昔颜 发表于 2017-12-18 16:09
    嗯嗯,我也可以了,我是又多定义了一个块名字,然后就不行了,我直接去操作那个.xxx,就成功了,谢谢你 ...

    好的,后续有问题欢迎继续交流。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    30

    帖子

    0

    注册会员

    Rank: 2

    积分
    96
    最后登录
    2018-3-13
    发表于 2017-12-21 11:50:41 | 显示全部楼层
    放在固定位置的作用是什么呢?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-8-5 09:59
  • 签到天数: 80 天

    连续签到: 1 天

    [LV.6]常住居民II

    19

    主题

    173

    帖子

    2

    中级会员

    Rank: 3Rank: 3

    积分
    498
    最后登录
    2020-9-3
     楼主| 发表于 2017-12-21 16:25:41 | 显示全部楼层
    ,忆昔颜 发表于 2017-12-21 16:24
    具体如何去那个地址调用它呢,我现在可以直接用函数名字调用他,可是如果把它封装成bin,就不能用函数名 ...

    有没有现成的例子程序可以参考一下,现在的目标就是我通过地址去调用它,而不是通过函数名字
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-20 16:45 , Processed in 0.105446 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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