打印

STVD编译出错,这个提示信息是什么意思呢?

[复制链接]
10305|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zddxmu|  楼主 | 2010-12-7 17:24 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
Running Linker
clnk -m Debug\touch_sensing.map -l"D:\zdd\Program Files (x86)\CXSTM8\Lib"  -o Debug\touch_sensing.sm8 Debug\touch_sensing.lkf
#error clnk Debug\touch_sensing.lkf:1 no default placement for segment .TSL_IO_ALCODE
The command: "clnk -m Debug\touch_sensing.map -l"D:\zdd\Program Files (x86)\CXSTM8\Lib"  -o Debug\touch_sensing.sm8 Debug\touch_sensing.lkf " has failed, the returned value is: 1
exit code=1.
------------------------------------------------------

no default placement for segment .TSL_IO_ALCODE

未将SEGMENT放在默认位置?要怎么处理呢?
沙发
zddxmu|  楼主 | 2010-12-8 14:56 | 只看该作者
help

使用特权

评论回复
板凳
zddxmu|  楼主 | 2010-12-8 17:06 | 只看该作者
以下描述是是touch_sensing.lkf
实在不知道怎么办了,香版主或者哪位大侠可以帮帮忙
------------------------------------------------------------------------------------
# LINK COMMAND FILE AUTOMATICALLY GENERATED BY STVD7
# SHOULD NOT BE MANUALLY MODIFIED
#

# Put you segment configuration here
# define the .share segment when using compact or memory models only
#<BEGIN SEGMENT_CONF>
# Segment Code,Constants:
+seg .const -b 0x8080 -m 0xf80  -n .const -it
+seg .text -a .const  -n .text
# Segment Eeprom:
+seg .eeprom -b 0x4000 -m 0x280  -n .eeprom
# Segment Zero Page:
+seg .bsct -b 0x0 -m 0x100  -n .bsct
+seg .ubsct -a .bsct  -n .ubsct
+seg .bit -a .ubsct  -n .bit -id
+seg .share -a .bit  -n .share -is
# Segment Ram:
+seg .data -b 0x100 -m 0x100  -n .data
+seg .bss -a .data  -n .bss
#<END SEGMENT_CONF>


# Put you startup file here        (it depends on the model used)
#<BEGIN STARTUP_FILE>
crtsi0.sm8
#<END STARTUP_FILE>


# Put your object files here (they depend on you application)
#<BEGIN OBJECT_FILES>
Debug\stm8s_adc1.o
Debug\stm8s_adc2.o
Debug\stm8s_awu.o
Debug\stm8s_beep.o
Debug\stm8s_clk.o
Debug\stm8s_exti.o
Debug\stm8s_flash.o
Debug\stm8s_gpio.o
Debug\stm8s_i2c.o
Debug\stm8s_itc.o
Debug\stm8s_iwdg.o
Debug\stm8s_rst.o
Debug\stm8s_spi.o
Debug\stm8s_tim1.o
Debug\stm8s_tim2.o
Debug\stm8s_tim3.o
Debug\stm8s_tim4.o
Debug\stm8s_uart1.o
Debug\stm8s_uart2.o
Debug\stm8s_uart3.o
Debug\stm8s_wwdg.o
Debug\stm8_tsl_rc_api.o
Debug\stm8_tsl_rc_iodriver.o
Debug\stm8_tsl_rc_multichannelkey.o
Debug\stm8_tsl_rc_services.o
Debug\stm8_tsl_rc_singlechannelkey.o
Debug\stm8_tsl_rc_timerdriver.o
Debug\main.o
#<END OBJECT_FILES>


# Put your library name here (it depends on the model used)
#<BEGIN LIBRARY_FILES>
libis0.sm8
libm0.sm8
#<END LIBRARY_FILES>


# Put your interrupt vectors file here if needed
#<BEGIN VECTOR_FILE>
+seg .const -b 0x8000 -k
Debug\stm8_interrupt_vector.o
#<END VECTOR_FILE>

#<BEGIN DEFINED_VARIABLES>
+def __endzp=@.ubsct                        # end of uninitialized zpage
+def __memory=@.bss                                # end of bss segment
+def __stack=0x3ff
#<END DEFINED_VARIABLES>

使用特权

评论回复
地板
IJK| | 2010-12-8 20:32 | 只看该作者
改一下 链接文件touch_sensing.lkf,就可以了:
# Segment Code,Constants:
+seg .const -b 0x8080 -m 0xf80  -n .const -it
+seg .text -a .const  -n .text
+seg .TSL_IO_ALCODE -a .text -n .TSL_IO_ALCODE

使用特权

评论回复
5
zddxmu|  楼主 | 2010-12-8 22:07 | 只看该作者
我盼望呀盼望  还是你出现了  上次还向你问触摸按键的DRIVEN SHIELD呢
前辈 真的很感谢你
---------------------------
链接文件最上面不是说这是STVD自动生成的文件,不能人为修改吗

我按你说的,在你说的地方加了这句,+seg .TSL_IO_ALCODE -a .text -n .TSL_IO_ALCODE,可是编译的结果还是一样的错误,然后就提示我reload这个链接文件,随后就自动换回原来的了。。。

使用特权

评论回复
6
香水城| | 2010-12-9 10:07 | 只看该作者
这个问题的关键是,你要先找到这个.TSL_IO_ALCODE在那里定义的,然后再谈怎么解决。

你先搜索一下所有的源文件,找到.TSL_IO_ALCODE的定义语句或使用语句。

使用特权

评论回复
7
zddxmu|  楼主 | 2010-12-9 11:44 | 只看该作者
Searching for ".TSL_IO_ALCODE"
D:\zdd\Touch_c\STM8S_EXAMPLE_FW\Project\STVD\Cosmic\example.stp:114:String.102.2=+seg .TSL_IO_ALCODE -a .text -n .TSL_IO_ALCODE -r2
D:\zdd\Touch_c\STM8S_EXAMPLE_FW\Project\STVD\Cosmic\example.stp:122:String.103.0=Code,Constants[0x8080-0xbfff]=.const,.text,.TSL_IO_ALCODE
D:\zdd\Touch_c\STM8S_EXAMPLE_FW\Project\STVD\Cosmic\stm8s.lkf:12:+seg .TSL_IO_ALCODE -a .text -n ALCODE_TSL_IO -r2 # This section must be aligned !!!
Binary file D:\zdd\Touch_c\STM8S_EXAMPLE_FW\Project\STVD\Cosmic\Debug\example.sm8 matches
D:\zdd\Touch_c\STM8S_EXAMPLE_FW\Project\STVD\Cosmic\Debug\stm8_tsl_rc_iodriver.ls:20:  85                     .TSL_IO_ALCODE:        section        .text,new
D:\zdd\Touch_c\STM8S_EXAMPLE_FW\Project\STVD\Cosmic\Debug\stm8_tsl_rc_iodriver.ls:34: 138                     .TSL_IO_ALCODE:        section        .text,new
D:\zdd\Touch_c\STM8S_EXAMPLE_FW\Project\STVD\Cosmic\Debug\stm8_tsl_rc_iodriver.ls:62: 226                     .TSL_IO_ALCODE:        section        .text,new
Binary file D:\zdd\Touch_c\STM8S_EXAMPLE_FW\Project\STVD\Cosmic\Debug\stm8_tsl_rc_iodriver.o matches
Search finished.

----------------------------------------------
这里的stm8s.lkf:12:+seg .TSL_IO_ALCODE -a .text -n ALCODE_TSL_IO -r2 # This section must be aligned !!!

这句话是什么意思?问题应该是在这里了

使用特权

评论回复
8
香水城| | 2010-12-9 12:04 | 只看该作者
我是说“搜索一下所有的源文件”,源文件是指.c和.h文件。

使用特权

评论回复
9
zddxmu|  楼主 | 2010-12-9 12:50 | 只看该作者
香版,不好意思,只有在STM8_TSL_RC_IODriver.c中找到了这个
/*============================================================================
    CRITICAL SECTION !!!! MUST BE ALIGNED IN MEMORY !!!!!!
============================================================================*/

/* This section must be defined in the Linker segment/section at an aligned
   address with the -r2 option */
#pragma section (TSL_IO_ALCODE)


-----------------------------------

使用特权

评论回复
10
香水城| | 2010-12-9 13:29 | 只看该作者
好啊,你就按照提示操作就好了。

/* This section must be defined in the Linker segment/section at an aligned
   address with the -r2 option */

使用特权

评论回复
11
zddxmu|  楼主 | 2010-12-9 13:52 | 只看该作者
没明白这句注释是什么意思。。。不知道在哪里下手

香版,我是直接用触摸按键的DEMO,项目MCU是STM8S105S4,我编译是好的,然后在setting里改MCU成STM8S103F2,编译,就会出现上述问题了。

使用特权

评论回复
12
IJK| | 2010-12-9 13:59 | 只看该作者
我盼望呀盼望  还是你出现了  上次还向你问触摸按键的DRIVEN SHIELD呢
前辈 真的很感谢你
---------------------------
链接文件最上面不是说这是STVD自动生成的文件,不能人为修改吗

我按你说的,在你说的地方加了 ...
zddxmu 发表于 2010-12-8 22:07


链接文件似乎是自动生成的,可以在STVD的图形界面里面设置Linker那页:

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
shibj + 2 很给力!
13
zddxmu|  楼主 | 2010-12-9 14:10 | 只看该作者
12# IJK

太好了,编译成功啦!!!万分感谢

使用特权

评论回复
14
香水城| | 2010-12-9 14:27 | 只看该作者
在STVD的使用文档中有这个问题的说明,楼主没有好好读吧,:P

使用特权

评论回复
15
jgphu| | 2010-12-9 14:34 | 只看该作者
IJK回答的很正确。

使用特权

评论回复
16
29961353| | 2013-1-13 09:30 | 只看该作者
装逼的香水成,人家就是不明白提示是什么,你却说按照提示做,做你妈啊。你不要在ST做了,我要投诉你。
还是LJK好!

使用特权

评论回复
17
pcs3| | 2014-10-14 22:49 | 只看该作者
呵呵,不能同意更多

使用特权

评论回复
18
tingkaodian| | 2014-11-7 15:36 | 只看该作者
额。我也遇到这个问题,正在学习解决

使用特权

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

本版积分规则

0

主题

83

帖子

0

粉丝