首页 新闻资讯 技术资料 论坛 网站地图
测试测量 嵌入式硬件 安防产品 综合电子技术 存储器 软件开发 嵌入式软件
电子元器件搜索:
IC库存(8958万) PDF资料(329万) IC价格 IC求购 资讯 技术资料
维库电子市场网是知名的电子元器件交易网站, 为电子生产企业提供IC库存和技术资料查询服务。
位置: 首页 > 详细信息
  关于ARM的RW段数据压缩彻底晕了!
出处:21ic 时间: 2007-09-30
vimman 发布于 2007-9-28 16:30:00
本人想通过RW段的载入地址找到变量的初始值来对变量进行反初始化,纯粹为了节约空间,即变量的值被程序改变后需要再次初始化使读取其载入地址上的值,编译器用RealView MDK。结果发现该方法行不通,原因是映像文件的RW段是压缩过的,观察RW载入地址的memory窗口就可以发现定义的变量并非程序里写入的值,如变量的值为0x2a2a2a2a,它只存储一个0x2a。后来打开汇编代码,进入__main函数内,看能否通过汇编找到压缩的算法,发现解压缩的代码是thumb代码,同时会生成数据的前导部分,该前导与解压缩有关。为了彻底弄明白,我又建了一个小工程,只加入一个c文件,用同样的方法跟踪,发现又没有压缩?难道只有数据大到一定程度才会压缩?更奇怪的是未初始化或者初始化为0的单个变量被定位到了.data段,只有未初始化的数组才会定位到.bss段。.data和.bss到底和RW,ZI有啥对应关系呀?各位大侠,有研究过此类问题的吗?


vimman 发布于 2007-9-29 15:32:00
自己顶一下!


vimman 发布于 2007-9-30 17:09:00
下载了MDK的中文文档,怎么找也找不到关于RW段数据压缩的说明!后来到keil网站上搜,里面有介绍;打开英文连接器文档里面有较详细地介绍。比较中英文文档中文文档中根本没有翻译这段。郁闷,不厚道!还号称官方中文文档。


关闭】 【打印
相关专题  
传感控制
测试测量
嵌入式软件
嵌入式开发新闻
电源系列
工业控制
接口电路
数控系统
军工/航空航天
SOPC
计算机外设
开发工具
通信产品
消费电子
软件开发
综合电子技术
汽车电子
嵌入式硬件
AD/DA
IC设计
嵌入式系统
医疗电子
CPLD/FPGA
应用产品
存储器

© 2007 百斯嵌入式开发网 网站地图