5686|10

14

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

stm8s自升级问题求助 [复制链接]

在做IAP自升级时发现如下问题。

lkf文件按照说明文档进行操作。发现如下错误

mcu_app.lkf:1 no default placement for segment .const

然后把const字段放到保护区0x8080之后就是好的。
但是要是放到我升级APP区就会报错。0xA000之后。

附件的是两个存储分配参考文件,跪求高手指点~
非常感谢!

编译报错.lkf

1.9 KB, 下载次数: 4

编译报错文件

编译OK.lkf

1.91 KB, 下载次数: 5

编译OK文件

此帖出自stm32/stm8论坛

最新回复

没用过,帮你顶一下  详情 回复 发表于 2013-8-10 20:39

点评

没做过这个,不过可以一起分析一下这个问题. mcu_app.lkf:1 no default placement for segment .const 这个是在编译的时候产生的? 能不能说一下,你所说的保护区,和 APP 区 在 memory MAP 上是怎样的? 对 C  详情 回复 发表于 2013-8-8 17:21
点赞 关注
 

回复
举报

14

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
哪位大神处理过这种问题,帮忙分析下,非常感谢!
此帖出自stm32/stm8论坛

点评

没用过,帮你顶一下  详情 回复 发表于 2013-8-10 20:39
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

板凳
 
没做过,帮顶。。。。。。。。
此帖出自stm32/stm8论坛

点评

:titter: 谢谢~  详情 回复 发表于 2013-8-8 21:30
 
个人签名我的博客
 

回复

1803

帖子

0

TA的资源

五彩晶圆(高级)

4
 

回复 楼主terry_cui 的帖子

没做过这个,不过可以一起分析一下这个问题.

mcu_app.lkf:1 no default placement for segment .const

这个是在编译的时候产生的?

能不能说一下,你所说的保护区,和 APP 区 在 memory MAP 上是怎样的?
对 Cortex-M3 的 IAP 有过了解,但对 STM8S 不了解.
此帖出自stm32/stm8论坛

点评

hey 感谢回复。 mcu_app.lkf:1 no default placement for segment .const 这句是在编译成功链接时报出的错误。 stm8s升级是这样的,可能我理解也不充分,都是借用别的资源不断完善的。 升级分为IAP代码区和  详情 回复 发表于 2013-8-8 21:30
 
 
 

回复

14

帖子

0

TA的资源

一粒金砂(中级)

5
 

回复 4楼Study_Stellaris 的帖子

hey 感谢回复。

mcu_app.lkf:1 no default placement for segment .const
这句是在编译成功链接时报出的错误。

stm8s升级是这样的,可能我理解也不充分,都是借用别的资源不断完善的。
升级分为IAP代码区和USER代码区,IAP代码区是受保护资源,包括中断向量、自升级程序,flash写入方式等等,user代码区就是用户以后要升级改写的区域。

IAP代码区在memory map中专门分配一块区域,比如0x8000-0xa000,这部分数据保证不被改写,所以一定要保护好。user代码区也就是APP区,放置用户可执行程序,放到保护区后面。

说了这么多也不一定对。有这方面经验就欢迎探讨。
此帖出自stm32/stm8论坛
 
 
 

回复

14

帖子

0

TA的资源

一粒金砂(中级)

6
 

回复 板凳zhaojun_xf 的帖子

谢谢~
此帖出自stm32/stm8论坛
 
 
 

回复

14

帖子

0

TA的资源

一粒金砂(中级)

7
 
还是无人指点?
此帖出自stm32/stm8论坛

点评

默认的情况下,const字段 不是编译的时候就保存好了的吗? 他应该是要放到用户区一起升级才对呀,放到保护区怎么可以呢? 所以会不会是你编译的某个参数配置不对呢? 用的什么 IDE ?  详情 回复 发表于 2013-8-9 09:11
 
 
 

回复

1803

帖子

0

TA的资源

五彩晶圆(高级)

8
 

回复 7楼terry_cui 的帖子

默认的情况下,const字段 不是编译的时候就保存好了的吗?
他应该是要放到用户区一起升级才对呀,放到保护区怎么可以呢?
所以会不会是你编译的某个参数配置不对呢?
用的什么 IDE ?
此帖出自stm32/stm8论坛

点评

是的,我也特别担忧这一点,我编译的参数都是配置在lkf里的,但是lkf文件没看出什么差异。 我的IDE是STVD 4.2.1+COMISC 4.2.4 感谢!  详情 回复 发表于 2013-8-9 14:58
 
 
 

回复

14

帖子

0

TA的资源

一粒金砂(中级)

9
 

回复 8楼Study_Stellaris 的帖子

是的,我也特别担忧这一点,我编译的参数都是配置在lkf里的,但是lkf文件没看出什么差异。

我的IDE是STVD 4.2.1+COMISC 4.2.4

感谢!
此帖出自stm32/stm8论坛
 
 
 

回复

14

帖子

0

TA的资源

一粒金砂(中级)

10
 
附件是我的memory map,看起来const是放置到保护区了。

start 00000000 end 00000000 length     0 segment .bsct
start 00000000 end 0000000a length    10 segment .ubsct
start 0000000a end 0000000a length     0 segment .bit
start 0000000a end 0000000a length     0 segment .share
start 00000100 end 0000068c length  1420 segment .data, initialized
start 00008b67 end 000090f3 length  1420 segment .data, from
start 0000068c end 00000bcd length  1345 segment .bss
start 00008000 end 0000806c length   108 segment .vector
start 00000000 end 0001939f length 103327 segment .debug
start 00008080 end 00008b5f length  2783 segment .protect_code
start 000090f3 end 00009402 length   783 segment .const
start 0000a000 end 0000a338 length   824 segment .remap_int_cod
start 0000a338 end 0000a338 length     0 segment .fconst
start 0000a338 end 00011917 length 30175 segment .text
start 00008b5f end 00008b67 length     8 segment .init

理应放到remap_int_code之后的。IAP升级文档也是放到后面的。

mcu_app.map

261.76 KB, 下载次数: 1

此帖出自stm32/stm8论坛
 
 
 

回复

577

帖子

9

TA的资源

纯净的硅(中级)

11
 

回复 沙发terry_cui 的帖子

没用过,帮你顶一下
此帖出自stm32/stm8论坛
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表