OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6622|回复: 2

MDK 关于flash代码大小的问题

[复制链接]

6

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2012-10-15
在线时间
5 小时
发表于 2014-12-24 11:30:23 | 显示全部楼层 |阅读模式
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
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

17

主题

111

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
252
金钱
252
注册时间
2012-11-3
在线时间
30 小时
发表于 2014-12-24 11:30:24 | 显示全部楼层
Code :程序中代码所占字节大小
RO-data :程序中所定义的指令和常量大小 
RW-data :程序中已初始化的变量大小 
ZI-Data :程序中未初始化的变量大小 

ROM(Flash) size = Code+RO-data+RW-data

RAM size = RW-data+ZI-data
老夫驾鹤,有事烧纸!
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12083
金钱
12083
注册时间
2013-3-8
在线时间
1284 小时
发表于 2014-12-24 11:48:12 | 显示全部楼层
应该是内存不足。你看一下,memp.c或.h文件申请了多少内存。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-27 14:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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