工作随记之——ARM内存,程序空间及堆栈操作.doc

工作随记之——ARM内存,程序空间及堆栈操作.doc

ID:58446246

大小:13.00 KB

页数:2页

时间:2020-09-03

工作随记之——ARM内存,程序空间及堆栈操作.doc_第1页
工作随记之——ARM内存,程序空间及堆栈操作.doc_第2页
资源描述:

《工作随记之——ARM内存,程序空间及堆栈操作.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、ARM内存,程序空间及堆栈操作1.ARM内存可任意读写,程序空间只可读不可写,不然会出现硬件错误。(注意:在使用指针时,一定要分配空间,不然也会进入硬件异常)unsignedintaddr,temp,*data;data=&temp;//重要addr=0x;//地址可以是内存、程序空间、可读寄存器*data=*(unsignedint*)addr;*(unsignedint*)addr=*data;//适用于内存、可写寄存器,不可对程序空间进行此操作2.内存堆栈的设置。堆:程序执行后申请的内存空

2、间。栈:一般用作函数调用时,把返回信息压入栈中,函数执行完成后恢复现场。(注意:在函数中使用变量,会消耗栈的空间,而不是堆的空间。所以要合理设置变量跟栈空间大小。)采用分散加载文件方式设置堆栈空间大小HEAP+0x0UNINIT//紧跟在程序初始化变量后面,最大空间利用。向上增长{stack.o(heap)}STACK0xUNINIT//内存的最高地址。最后空间利用。向下增长(LPC1766){stack.o(stack)}heap.sstack.s文件:IMPORT__use_two_regi

3、on_memoryEXPORT__user_initial_stackheapAREAstack,DATA,NOINITuser_stack;SPACE0X1000AREAHeap,DATA,NOINITbottom_of_heap;SPACE0X4000AREArt_heap_stack,CODE,READONLYENTRY__user_initial_stackheap;单区LDRR0,=bottom_of_heap;堆基地址LDRR1,=user_stack;栈基地址(内存最高地址,向下增

4、长)LDRR2,=user_stack;堆极限地址LDRR3,=bottom_of_heap;栈极限地址BXLRALIGN;对齐END

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。