STC8 keill编译memor配置
使用的是STC8G1K08和STC8G1K17 20pin系列芯片,默认例程编译都是用的small选项,编译会出现错误*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?MOT600
LENGTH:0019H
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL:TIMES
SEGMENT: ?DT?MOT600
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL:TOGGLE
SEGMENT: ?DT?MOT600
我看规格书上写的是有1k 扩展ram,这个应该怎么用
1.需要所有变量都用xdata来修饰声明吗,还是说只用在keil编译选择large xdata选项就可以了?
2.其他地方需要改吗,看有网友说还要修改STARTUP.A51中的参数:PDATASTART和PDATALEN和keil中的Options选项/BL51的内容? 一般建议使用small模式,有数组之类的就定义到xdata,当然单个变量也可以定义到xdata,默认的就在data,编译后代码紧凑。
unsigned char xdata tmp;
unsigned long xdata abc; 梁工 发表于 2023-5-14 19:58
一般建议使用small模式,有数组之类的就定义到xdata,当然单个变量也可以定义到xdata,默认的就在data,编 ...
编译选项还用small,其他的都不用改只是把数组,变量加xdata来修饰对吧 STC8G1K08, 速度足够快,你烧录时选择30MHz以上 !
xdata 是1024,你编译时就选 Large 编译
神农鼎 发表于 2023-5-14 21:01
STC8G1K08, 速度足够快,你烧录时选择30MHz以上 !
xdata 是1024,你编译时就选 Large 编译
...
只用编译选择Large 编译,其他都不需要改,不用再用xdata来修饰了吗? 是 梁工 发表于 2023-5-14 19:58
一般建议使用small模式,有数组之类的就定义到xdata,当然单个变量也可以定义到xdata,默认的就在data,编 ...
你好问下,编译时,选择SMALL模式时,就只要将要定义的变量或则是数组,定义到xdata,其他不用管吗? 欢迎哈哈哈3 发表于 2024-6-19 20:20
你好问下,编译时,选择SMALL模式时,就只要将要定义的变量或则是数组,定义到xdata,其他不用管吗? ...
用的具体哪个型号 神农鼎 发表于 2024-6-19 20:22
用的具体哪个型号
STC8A8K64D4型号 STC8A8K64D4, 8K xdata
建议 idata 用户不要主动使用,留给堆栈
编译可以选择 Large
页:
[1]
2