历史上的今天
返回首页

历史上的今天

今天是:2024年12月18日(星期三)

正在发生

2018年12月18日 | lpc1768中结构体在RAM中的存储格式

2018-12-18 来源:eefocus

最近在调试1768和外接的字节存取存储器,涉及到了由于不了解结构体类型在ram中的存储格式,出现bug也不知道是哪里的问题.今天好好看了下,这里做一总结.


 lpc1768是小端存储(注释①),四字节对齐,下面举例子说明结构体在ram中的存储格式.


例子1:


结构体定义如下:


struct{

 uint8  arg1;//arg1 =0x01

 uint8  arg2;//arg2 =0x02

 uint32 arg3;//arg3 =0x12345678

 uint8  arg4;//arg4 =0x04

 uint32 arg5;//arg5 =0x23456789

 uint8  arg6;//arg6 =0x06                                                                                                                                  uint16 arg7;//arg7 =0x0755

 uint32 arg8;//arg8 =0x456789ab

}TEST_STRUCT; 

 

假设结构体首地址为0x2007C124,则 其在存储器中的存储形式如下:


结构体中元素所占的空间都要凑成4byte对齐...


注释①:在 <


34.3.1.5 Data types

The processor:

• supports the following data types:

– 32-bit words

– 16-bit halfwords

– 8-bit bytes

• supports 64-bit data transfer instructions.

• manages all data memory accesses as little-endian. See Section 34.3.2.1 for more 

information.


推荐阅读

史海拾趣

Data Device Corporation公司的发展小趣事

DDC始终坚持以客户为中心的经营理念,不断倾听客户需求,为客户提供优质的产品和服务。为了保持技术领先地位,DDC不断投入研发,推动产品创新。同时,DDC还建立了完善的客户服务体系,确保客户在使用过程中能够得到及时、有效的支持。这些举措使得DDC在客户中赢得了良好的口碑,为公司的发展奠定了坚实的基础。

Gruner AG公司的发展小趣事
在信号处理电路中,光耦合器可以隔离噪声和干扰,确保信号的完整性和准确性。
EOS POWER INDIA Pvt公司的发展小趣事

EOS一直将质量管理作为公司发展的核心。公司建立了完善的质量管理体系,从原材料采购到生产、检测、包装等各个环节都进行严格的质量控制。EOS还引入了先进的质量检测设备和方法,确保每一件产品都符合高标准的质量要求。此外,公司还定期对员工进行质量培训,提高员工的质量意识和操作技能。这些措施使得EOS的产品在市场上赢得了良好的口碑和信誉。

ADDtek公司的发展小趣事

随着市场的不断发展和客户需求的变化,EOS意识到只有不断创新才能保持竞争力。因此,公司加大了对研发的投入,引进了一批高素质的研发人才。经过数年的努力,EOS成功研发出了一系列高性能、高可靠性的电源产品,如交钥匙电源解决方案、定制电源等。这些产品不仅满足了客户的多样化需求,还帮助EOS在市场上获得了更多的份额。

CALMIRCO公司的发展小趣事

随着电子行业的快速发展,市场竞争日益激烈,行业挑战也层出不穷。CALMIRCO公司始终保持敏锐的市场洞察力,积极应对各种挑战。在面对原材料价格波动、国际贸易摩擦等不利因素时,CALMIRCO公司及时调整战略,优化生产流程,降低成本,确保产品的竞争力。同时,公司还不断加大研发投入,推动技术创新和产业升级,以适应不断变化的市场需求。

这五个故事只是CALMIRCO公司在电子行业发展中众多精彩瞬间的缩影。正是这些不懈的努力和持续的创新,使得CALMIRCO公司在激烈的市场竞争中脱颖而出,成为电子行业的佼佼者。

Axiohm公司的发展小趣事

Axiohm公司始终将社会责任作为企业发展的重要组成部分。公司积极参与社会公益事业,捐款捐物支持教育、扶贫等慈善项目。同时,Axiohm还注重员工福利和企业文化建设,为员工提供良好的工作环境和发展空间。这些举措不仅提升了公司的社会形象,也增强了员工的归属感和凝聚力。


这些故事虽然基于虚构,但反映了电子行业公司可能经历的一些典型发展历程和策略。请注意,这些故事并不代表Axiohm公司的实际情况,如需了解该公司的发展故事,建议查阅相关新闻报道或公司官方资料。

问答坊 | AI 解惑

个位高手行行好

   请问大家哪里可以找到有关遥控小车的设计方案,或者有谁知道遥控小车咋个设计的,透露一二,感激不尽啊!:( 我是电子科技大学的新生。帮帮忙哈,谢谢各位啦 …

查看全部问答>

十年(一)

林花谢了春红,太匆匆。 不知不觉中,我与BSS结缘已经十年。   最近经常反问自己,这10年究竟做了些什么?每次想这个问题的时候,要么一片空白,要么心乱如麻,因为我也没有想清楚自己到底做了些什么,似乎做了很多,又似乎什么也没有做 ...…

查看全部问答>

招聘网络师傅一名

要求:会DSP原理,能 经常上网!…

查看全部问答>

当USB设备端捕捉到主机端的URB接收请求,是否一定要回应一段数据?

问题是这样的,主机端想阻塞接收USB的数据,USB的固件的这样处理响应的: 有数据,发出数据及长度;无数据,发空数据及长度0. 这样就导致主机端接收函数根本没有阻塞点,固件改成没数据就不发送长度0,结果有数据的时候也不响应了. 是协议强制 ...…

查看全部问答>

怎么获取gpio中断事件

我想在应用程序里面获取某个gpio的中断事件,应该怎么做呢?不使用timer轮训。…

查看全部问答>

高分求WINCE5.0系统死机的原因分析?

用的是2440的CPU,WINCE5.0的系统.在没接USB鼠标之前系统都没有出现过死机,但是最近接上USB鼠标后,操作没几分钟就死机了,有时要操作20多分钟之后才死机,有时刚接上就死机了,最郁闷的事,死机了调试串口都没输出出错信息,都不知道从哪里开始找.请问该 ...…

查看全部问答>

关于wzcsapi.dll中带Ex的那套函数

WZCQueryInterface和WZCQueryInterfaceEx的区别是什么? WZCSetInterface和WZCSetInterfaceEx的区别是什么? 我的系统是WINCE5.0,君正MIPSII,为什么WZCQueryInterfaceEx和WZCSetInterfaceEx有时会报异常? 还有有时连上某个热点后,就搜索不到新 ...…

查看全部问答>

Framework能不能嵌套在EVC编写的代码中?

知道Framework编写的代码执行效率低一点,不知道会不会有很明显的差别? 如果系统是用EVC编写的,还能不能嵌套进入Framework来编程?…

查看全部问答>

新人报道,多多关照

很高兴加入论坛,希望与大家共同分享,交流,进步…

查看全部问答>