1.main.c(5): error C141: syntax error near '}'报错问题解决办法:
增加“;”分号解决:
2.*** WARNING L57: UNCALLED FUNCTION, IGNORED FOR OVERLAY PROCESS报错问题解决办法:
A.在Device 下选择如图的LX51 选项:
B.在LX51 Misc 选项下的Misc controls框内写上添加定义:REMOVEUNUSED:
3.*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS报错问题解决办法:
把其中一个禁用掉或者移除掉就可以解决问题:
4.*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL 报错解决办法:
错误提示
解决办法
软件设置:
新建工程是需要将STARTUP.A51和L51_BANK.A51加进去,其中STARTUP.A51是新建功能是自动添加,L51_BANK.A51是手动添加的,源文件在keil的安装目录lib下(\keil\C51\lib\L51_BANK.A51)。
1、 首先在keil 中勾选上Use Extended Linker(Lx51) instead of BL51
注意想要使用code bank 功能必须要勾选上这一项。
2、 Target 下勾选code banking, 表示支持code banking 功能,大小根据需求设置:
到这一步为止Keil 上的设置完成,现在我们要修改L51_BANK.A51;
1、先看一下它的配置段, 主要有下面五个变量需要设置:
通常需要修改
B_NBANKS : 指定bank 的数量
B_MODE: 选择bank 切换通过那种方式。
bank 切换的核心:
主要是两个函数 B_BANK&N 和B_SWITCH&N:
B_BANK&N 的作