打印

iap中函数绝对地址的定位问题

[复制链接]
1682|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
leinou|  楼主 | 2014-4-28 19:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为将iap程序和app程序合在一个工程中,我想用分散加载的方式来实现,代码;
LR_IROM1 0x0800000 0x00040000
{
  ER_IROM1 0x0800000 0x00030000
{
  *.o(RESET,+First)
  *(InRoot$$Sections)
  .ANY(+RO)
}
ER_IROM2 0x08030000 0xffff
{
   stm32f10x_vector.o
   iap.o(IAP)
.  .ANY(+RO)
}
RW_IRAM1 0x20000000 0x0000600
{
   .ANY(+RW +ZI)
}
}
iap.c文件下的
void IapUpdateCode(void)_attribute_((section("IAP")));
void IapUpdateCode(void)
{
............//嵌套了许多函数
}
编译警报:Pattern iap.o(IAP)onlyy matches removed unused sections

相关帖子

沙发
leinou|  楼主 | 2014-4-28 19:16 | 只看该作者
小弟搞了好久啦。。。搞不出来啊

使用特权

评论回复
板凳
leinou|  楼主 | 2014-4-29 12:27 | 只看该作者
是不是如果在iap中嵌套app中的函数的话会导致编译出来的文件有问题啊。。。因为感觉有交叉。。。好多迷茫点啊。。。主要是编译生成的文件的过程不了解。。。有咩有过来指点一二啊

使用特权

评论回复
地板
leinou|  楼主 | 2014-4-29 12:35 | 只看该作者
我把我遇到的问题罗列下,有大神会过来垂青下:
1、运行域
ER_IROM2 0x08030000 0xffff
{
   iap.o(IAP)
   .ANY(+RO)
}
为什么会有Pattern iap.o(IAP)onlyy matches removed unused sections的报警。(我已经用IAP标明函数所在处啊)
2、iap中嵌套app中的函数的话会导致分散加载后编译出来的文件有问题吗?

使用特权

评论回复
5
NE5532| | 2014-4-29 14:44 | 只看该作者
至少说下是哪种单片机,哪种开发环境吧,啥都不知道就可以讨论了??

使用特权

评论回复
6
leinou|  楼主 | 2014-4-29 15:05 | 只看该作者
我自己顶顶。。。。

使用特权

评论回复
7
leinou|  楼主 | 2014-4-29 18:47 | 只看该作者

使用特权

评论回复
8
leinou|  楼主 | 2014-4-29 18:49 | 只看该作者
NE5532 发表于 2014-4-29 14:44
至少说下是哪种单片机,哪种开发环境吧,啥都不知道就可以讨论了??

stm32f103vct6。。。。mdk4的开发环境。。。。。。小弟吸取教训

使用特权

评论回复
9
leinou|  楼主 | 2014-4-29 18:59 | 只看该作者
leinou 发表于 2014-4-29 18:49
stm32f103vct6。。。。mdk4的开发环境。。。。。。小弟吸取教训

我现在有iap和app两个工程,我想把他们合为一个工程。。。。

使用特权

评论回复
10
田雪超txc| | 2014-4-29 22:41 | 只看该作者
bucuoo

使用特权

评论回复
11
leinou|  楼主 | 2014-4-30 09:01 | 只看该作者
田雪超txc 发表于 2014-4-29 22:41
bucuoo

这是水回复。。。。我是来受教的!!!

使用特权

评论回复
12
myxiaonia| | 2014-4-30 15:21 | 只看该作者
leinou 发表于 2014-4-29 18:59
我现在有iap和app两个工程,我想把他们合为一个工程。。。。

我也想合并iap+app程序到一起,不过一直没开始搞,主要是在如何从整个文件中生成app升级文件时没有想法

mdk的fromelf实用程序不知道有没有按照指定的地址生成bin文件

分散加载的语法我一直搞不明白,如果你用的是mdk,可以用给文件指定区域的方法来生成

使用特权

评论回复
13
leinou|  楼主 | 2014-5-4 08:43 | 只看该作者
myxiaonia 发表于 2014-4-30 15:21
我也想合并iap+app程序到一起,不过一直没开始搞,主要是在如何从整个文件中生成app升级文件时没有想法

...

我用的是mdk,文件指定区域的方式应该可以生成hex,论坛里有篇**提到了,有一句话,“但是但注意,连接后,因为有两段地址空间,无法通过 fromelf.exe 转成 .bin 文件”,而我用的是bin文件。

使用特权

评论回复
14
myxiaonia| | 2014-5-4 15:41 | 只看该作者
leinou 发表于 2014-5-4 08:43
我用的是mdk,文件指定区域的方式应该可以生成hex,论坛里有篇**提到了,有一句话,“但是但注意,连接 ...

实际上你的bin文件也只要app部分呀,如何让fromelf只生成app那段bin文件就可以了,我当时就在这里卡壳了

使用特权

评论回复
15
leinou|  楼主 | 2014-5-22 14:33 | 只看该作者
myxiaonia 发表于 2014-5-4 15:41
实际上你的bin文件也只要app部分呀,如何让fromelf只生成app那段bin文件就可以了,我当时就在这里卡壳了 ...

谢谢提醒。。。

使用特权

评论回复
16
myxiaonia| | 2014-5-26 14:33 | 只看该作者
leinou 发表于 2014-5-4 08:43
我用的是mdk,文件指定区域的方式应该可以生成hex,论坛里有篇**提到了,有一句话,“但是但注意,连接 ...

不知你说的这篇**出处在哪里

使用特权

评论回复
17
leinou|  楼主 | 2014-5-26 18:15 | 只看该作者
myxiaonia 发表于 2014-5-26 14:33
不知你说的这篇**出处在哪里

在论坛里。。。是把那个iap转换为数组的形式再存放的。。。

使用特权

评论回复
18
洗澡哥2011| | 2017-9-4 12:05 | 只看该作者
楼主最后做的怎么样了呢?能不能交流下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

55

帖子

1

粉丝