[STM8] 定义一个不被初始化的变量

[复制链接]
 楼主| 发表于 2021-4-1 20:48 | 显示全部楼层 |阅读模式
如题,COSMIC C如何定义一个不被复位初始化的变量
发表于 2021-4-1 20:52 | 显示全部楼层
你使用COSMIC编译环境的话,如果定义时不给赋初始值,且数据在00-ff内,默认为非初始化变量,会放到 .ubsct 域。
发表于 2021-4-1 20:54 | 显示全部楼层
你定义变量时可以使用 tiny界定
发表于 2021-4-1 20:56 | 显示全部楼层
[url=]比如[/url]:@tiny char variable;
 楼主| 发表于 2021-4-1 20:58 | 显示全部楼层
这个不行,早就试过了,编译器会忽略。
 楼主| 发表于 2021-4-1 21:00 | 显示全部楼层
Debug\main.o:
start 00000ab0 end 00000ab3 length     3 section .bss
start ******** end ******** length     0 section .ubsct *** removed ***
start 0000592e end 00005d49 length  1051 section .debug
start 0000e5e7 end 0000e5f1 length    10 section .text
start 0000e5f1 end 0000e60e length    29 section .text
start ******** end ******** length     0 section .text *** removed ***
start 0000e60e end 0000e663 length    85 section .text
start 0000e663 end 0000e67a length    23 section .text
start 0000e67a end 0000e6ff length   133 section .text
start 0000e6ff end 0000e738 length    57 section .text
start 0000e738 end 0000e73e length     6 section .text
start 0000e73e end 0000e79e length    96 section .text
start ******** end ******** length     0 section .text *** removed ***
start 0000e79e end 0000e7a0 length     2 section .text
start 00009558 end 00009593 length    59 section .const
发表于 2021-4-1 21:03 | 显示全部楼层
被删掉, 说明你只是定义它,程序里没用它。
发表于 2021-4-1 21:05 | 显示全部楼层

@tiny uint8_t variable;
_variable                           00000001   defined in Debug\main.o section .ubsct

要不你用EERPOM变量得了,复位/上电都不会影响它。
 楼主| 发表于 2021-4-1 21:07 | 显示全部楼层

哦,那我就知道怎么回事了,多谢大家
发表于 2021-5-1 11:04 | 显示全部楼层
需要定义到特定的地址吗
发表于 2021-5-1 11:07 | 显示全部楼层
说明没有使用过它啊
发表于 2021-5-1 11:10 | 显示全部楼层
加上这个关键字就可以了吗
发表于 2021-5-5 11:43 | 显示全部楼层
这用IAP才行吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

885

主题

11314

帖子

5

粉丝
快速回复 返回顶部 返回列表