初级会员

- 积分
- 80
- 金钱
- 80
- 注册时间
- 2012-10-15
- 在线时间
- 5 小时
|
5金钱
今天移植ENC28J60+lwip(论坛下载)时,编译程序后出现如下错误:
..\OBJ\ENC28J60.axf: Error: L6406E: No space in execution regions with .ANY selector matching memp.o(.bss).
...
...
..\OBJ\ENC28J60.axf: Error: L6406E: No space in execution regions with .ANY selector matching etharp.o(.data).
..\OBJ\ENC28J60.axf: Error: L6407E: Sections of aggregate size 0xc618 bytes could not fit into .ANY selector(s).
Not enough information to list image symbols.
Not enough information to list the image map.
Finished: 2 information, 0 warning and 38 error messages.
"..\OBJ\ENC28J60.axf" - 38 Error(s), 5 Warning(s).
看意思是空间不足,芯片改成RB系列(128K flash),错误照旧。索性改成VE系列(512K),编译通过:
Program Size: Code=51332 RO-data=1156 RW-data=292 ZI-data=50420
照我的理解,flash大小不是Code + RO-data + RW-data =51332 + 1156+292 ,应该<64K ,为什么c8系列的片子不行呢? |
最佳答案
查看完整内容[请看2#楼]
Code :程序中代码所占字节大小
RO-data :程序中所定义的指令和常量大小
RW-data :程序中已初始化的变量大小
ZI-Data :程序中未初始化的变量大小
ROM(Flash) size = Code+RO-data+RW-data
RAM size = RW-data+ZI-data
|