大家好,
我正在为STM8S208RB(128k闪存)开发一个应用程序(PROJECT)
帽子正在使用大约100kB的闪光灯。现在
我添加了一个新的库(LIBRARY),它将内存使用量增加到120kB的闪存
。现在,当我在我的应用程序中删除一些代码时,我收到以下错误:
& sharperror clnk
项目
_release PROJECT
.lkf:152 PROJECT
_release library_api.o:sec
tion boundary crossing(.text:095c)f_LIBRARY_SetListCallback
命令:'clnk -l'C: Program Files(x86) COSMIC FSE_Compilers Lib'-o PROJECT_release project.sm8 -m
项目
_release PROJECT
.map PROJECT
_release PROJECT
.lkf'失败,返回值为:1
退出代码= 1。
(在评论与库有关的if-else之后我收到此错误)
(
LIBRARY_SetListCallback是与库相关的函数,但它与if-else没有任何关系
)我正在使用以下编译器选项:
长堆(+ modsl)
最小化代码大小(+紧凑)
实施原型功能(-pp)
允许指针缩小(-pnp)
我在用着
以下链接器选项:
0x8000上的中断向量
代码/常量从0x8080到0x27FFF
零页面从0x0000到0x00FF
RAM从0x0100到0x13FF
这是我的记忆部分地图:
--------
段
--------
开始00004000结束00004000长度0段.eeprom
start 00000000 end 00000000 length 0 segment .bsct
开始00000000结束0000000a长度10段.ubsct
开始0000000a结束0000000a长度0段.bit
开始0000000a结束0000000a长度0段.share
开始00000100结束000003a3长度675段.data,初始化
开始0000ba74结束0000bd17长度675段.data,来自
开始000003a3结束00001380长度4061段.bss
start 00000000 end 000079be length 31166 segment .info。
开始00008000结束00008080长度128段.const
开始0000ba6c结束0000ba74长度8段.init
我在STM8
论坛中查找了此错误代码,但我找不到可以帮助我的答案。
有没有人知道如何解决这个链接器错误?
在此先感谢大家,
吉列尔莫,
#linker#section-boundary-crossing#stm8-microcontrollers
以上来自于谷歌翻译
以下为原文
Hi all,
I'm developing an application (PROJECT) for a STM8S208RB (128k flash) t
hat was using around 100kB of flash. Now
I have added a new library (LIBRARY) that has increased memory usage to 120kB of flash
.Now, when I delete some code in my application I get the following error:
&sharperror clnk
PROJECT
_releasePROJECT
.lkf:152 PROJECT
_releaselibrary_api.o: section boundary crossing (.text:095c) f_LIBRARY_SetListCallback
The command: 'clnk -l'C:Program Files (x86)COSMICFSE_CompilersLib' -o PROJECT_releaseproject.sm8 -m
PROJECT
_releasePROJECT
.map PROJECT
_releasePROJECT
.lkf' has failed, the returned value is: 1
exit code=1.
(I get this error after commenting an if-else related with the library)
(
LIBRARY_SetListCallback is a function related with the library, but it doesn't have any relation with the if-else
)I'm using the following compiler options:
- Long Stack (+modsl)
- Minimize code size (+compact)
- Enforce Prototyping Functions (-pp)
- Allow Pointer Narrowing (-pnp)
I'm using
the following linker options:
- Interrupt vector on 0x8000
- Code/Constants from 0x8080 to 0x27FFF
- Zero page from 0x0000 to 0x00FF
- RAM from 0x0100 to 0x13FF
This is my memory sections map:
--------
Segments
--------
start 00004000 end 00004000 length 0 segment .eeprom
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 000003a3 length 675 segment .data, initialized
start 0000ba74 end 0000bd17 length 675 segment .data, from
start 000003a3 end 00001380 length 4061 segment .bss
start 00000000 end 000079be length 31166 segment .info.
start 00008000 end 00008080 length 128 segment .const
start 0000ba6c end 0000ba74 length 8 segment .init
I looked for this error code in the STM8 forum but I couldn't find a answer that would help me.
Has anybody any idea of how to solve this linker error?
Thanks all of you in advance,
Guillermo,
#linker #section-boundary-crossing #stm8-microcontrollers
0