[STM8]

COSMIC stm8l151c8 symbol _FLASH_NCR2 not defined 问题

[复制链接]
1048|8
手机看帖
扫描二维码
随时随地手机跟帖
zcxhe|  楼主 | 2018-10-16 22:43 | 显示全部楼层 |阅读模式

----------- Project 2018-10-16-dz0017-09-开窗控制器-三路输出-24v - STM8 Cosmic - Configuration Debug -------------
Removing intermediate files ... Done!

----------- Project 2018-10-16-dz0017-09-开窗控制器-三路输出-24v - STM8 Cosmic - Configuration Debug -------------

Compiling main.c...
cxstm8 +mods0 +debug -pxp -no -pp -l -i"C:\Program Files (x86)\COSMIC\FSE_Compilers\CXSTM8\Hstm8"  -clDebug\ -coDebug\ main.c
main.c:

Compiling stm8_interrupt_vector.c...
cxstm8 +mods0 +debug -pxp -no -pp -l -i"C:\Program Files (x86)\COSMIC\FSE_Compilers\CXSTM8\Hstm8"  -clDebug\ -coDebug\ stm8_interrupt_vector.c
stm8_interrupt_vector.c:

Running Linker
clnk -m Debug\2018-10-16-dz0017-09-开窗控制器-三路输出-24v.map -l"C:\Program Files (x86)\COSMIC\FSE_Compilers\CXSTM8\Lib"  -o Debug\2018-10-16-dz0017-09-开窗控制器-三路输出-24v.sm8 Debug\2018-10-16-dz0017-09-开窗控制器-三路输出-24v.lkf
#error clnk Debug\2018-10-16-dz0017-09-开窗控制器-三路输出-24v.lkf:1 symbol _FLASH_NCR2 not defined ((C:\Program Files (x86)\COSMIC\FSE_Compilers\CXSTM8\Lib\libm0.sm8)eeprom.o )
The command: "clnk -m Debug\2018-10-16-dz0017-09-开窗控制器-三路输出-24v.map -l"C:\Program Files (x86)\COSMIC\FSE_Compilers\CXSTM8\Lib"  -o Debug\2018-10-16-dz0017-09-开窗控制器-三路输出-24v.sm8 Debug\2018-10-16-dz0017-09-开窗控制器-三路输出-24v.lkf " has failed, the returned value is: 1
exit code=1.

2018-10-16-dz0017-09-开窗控制器-三路输出-24v.elf - 2 error(s), 0 warning(s)

STM8L151C8
只有:

/* Flash control register 1 */
DEF_8BIT_REG_AT(FLASH_CR1,0x5050);

/* Flash control register 2 */
DEF_8BIT_REG_AT(FLASH_CR2,0x5051);

/* Flash Program memory unprotection register */
DEF_8BIT_REG_AT(FLASH_PUKR,0x5052);

/* Data EEPROM unprotection register */
DEF_8BIT_REG_AT(FLASH_DUKR,0x5053);

/* Flash in-application programming status register */
DEF_8BIT_REG_AT(FLASH_IAPSR,0x5054);


就没有:FLASH_NCR2
怎么搞?谢谢!
mohanwei| | 2018-10-17 08:17 | 显示全部楼层
在整个工程里搜索“FLASH_NCR2”
看起来是用库的,那基本就是h文件没有正确包含

使用特权

评论回复
幸福小强| | 2018-10-17 15:14 | 显示全部楼层
应该是在某个头文件里。

使用特权

评论回复
香水城| | 2018-10-17 16:14 | 显示全部楼层
估计你的代码是从8S里过来的吧。还是说你选错了芯片。
FLASH_NCR2是8S系列里的,是CR2的互补寄存器。

你再检查下。

使用特权

评论回复
zcxhe|  楼主 | 2018-10-17 16:37 | 显示全部楼层
香水城 发表于 2018-10-17 16:14
估计你的代码是从8S里过来的吧。还是说你选错了芯片。
FLASH_NCR2是8S系列里的,是CR2的互补寄存器。

是从8S转过来的,现在用的是8L的芯片,这个问题怎么处理?只要有写EEPROM的操作就出这个问题。删除就好了,可是程序需要写EEPROM.

使用特权

评论回复
zcxhe|  楼主 | 2018-10-19 11:28 | 显示全部楼层
昨天找到以前写的程序仔细检查,总算解决了,
/* Flash control register 1 */
DEF_8BIT_REG_AT(FLASH_CR1,0x5050);

/* Flash control register 2 */
DEF_8BIT_REG_AT(FLASH_CR2,0x5051);
DEF_8BIT_REG_AT(FLASH_NCR2,0x5052); //-------------------------------------2015-06-18不加这个编译出错

/* Flash Program memory unprotection register */
DEF_8BIT_REG_AT(FLASH_PUKR,0x5052);

/* Data EEPROM unprotection register */
DEF_8BIT_REG_AT(FLASH_DUKR,0x5053);

/* Flash in-application programming status register */
DEF_8BIT_REG_AT(FLASH_IAPSR,0x5054);

使用特权

评论回复
木木guainv| | 2018-10-22 16:02 | 显示全部楼层
实在是看不懂

使用特权

评论回复
观海| | 2018-10-23 12:41 | 显示全部楼层
芯片设置一下

使用特权

评论回复
zcxhe|  楼主 | 2018-10-25 15:14 | 显示全部楼层

具体怎么设置?谢谢你!

使用特权

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

本版积分规则

27

主题

138

帖子

2

粉丝