• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
四季安好
博客园 首页 新随笔 联系 订阅 订阅 管理

文章分类 -  转载—MCU

 
转:FP寄存器及frame pointer介绍
摘要:理论上来说,ARM的15个通用寄存器是通用的,但实际上并非如此,特别是在过程调用的过程中。PCS(Procedure Call Standard for Arm architecture)就定义了过程调用中,寄存器的特殊用途。Role in the procedure call standardr15 PC The Program Counter.r14 LR The Link Register.r13 SP The Stack Pointer.r12 IP The Intra-Procedure-call scratch register. (可简单的认为暂存SP)实际上,还有一个r11是o 阅读全文
posted @ 2013-12-04 16:47 四季安好 阅读(445) 评论(0) 推荐(0)
转载:关于__user_initial_stackheap( )
摘要:1.作用:用于提供编译器的初始化C库函数设置用户程序的堆栈所需要的堆栈信息。2。__user_initial_stackheap() 返回:r0 中的堆基址r1 中的堆栈基址,即堆栈区中的最高地址r2 中的堆限制r3 中的堆栈限制,即堆栈区中的最低地址。有单区模型和双区模型。单区模型:(r0,r1)是单个堆栈和堆区。r1 大于 r0,并忽略 r2 和 r3。r0--r1这一块内存区域被堆和栈共用,堆从r0向上生长,栈从r1向下生长。双区模型:(r0, r2)是初始堆,(r3, r1) 是初始堆栈。r2 大于或等于 r0。r3 小于 r1。堆和栈分别指定了单独的内存区域。3.如果不使用分散加载文 阅读全文
posted @ 2013-05-29 22:57 四季安好 阅读(2101) 评论(0) 推荐(0)
转发:ARM启动代码分析
摘要:理解启动代码(ADS) 所谓启动代码,就是处理器在启动的时候执行的一段代码,主要任务是初始化处理器模式,设置堆栈,初始化变量等等.由于以上的操作均与处理器体系结构和系统配置密切相关,所以一般由汇编来编写. 具体到S64,启动代码分成两部分,一是与ARM7TDMI内核相关的部分,包括处理器各异常向量的配置,各处理器模式的堆栈设置,如有必要,复制向量到RAM,以便remap之后处理器正确处理异常,初始化数据(包括RW与ZI),最后跳转到Main.二是与处理器外部设备相关的部分,这和厂商的联系比较大.虽然都采用了ARM7TDMI的内核,但是不同的厂家整合了不同的片上外设,需要不同的初始化,其中比.. 阅读全文
posted @ 2012-11-05 16:53 四季安好 阅读(204) 评论(0) 推荐(0)
转载:ARM中关于绝对寻址相对寻址LDR,ADR的理解 .
摘要:ARM中关于绝对寻址相对寻址LDR,ADR的理解 ARM 地址有几个地址概念:编译地址、 期望运行物理地址、实际运行物理地址、相对地址、绝对地址、位置无关指令编译地址 : 编译阶段的生成地址,其是相对地址 ,有些地址还没确定,如调用其他.O文件中的函数或库函数期望运行物理地址 :链接阶段生成的地址(期望绝对地址 ),会确定编译阶段没有确定的地址,并会根据链接器假设期望的程序烧录运行物理启始地址 ,来分配期望运行物理地址 实际运行物理地址 : 当程序被烧写到系统(实际绝对地址 ),实际加载运行时,又有一个实际的程序烧录运行物理启始地址,这个时候进行相应的转换得到实际运行物理地址 位置无关 :和实 阅读全文
posted @ 2012-11-05 14:12 四季安好 阅读(642) 评论(0) 推荐(0)
转载:ARM映像文件:Bin、HEX、ELF
摘要:ARM映像文件什么是arm的映像文件 arm映像文件其实就是可执行文件,包括bin或hex两种格式,可以直接烧到rom里执行。在axd调试过程中,我们调试的是axf文件,其实这也是一种映像文件,它只是在bin文件中加了一个文件头和一些调试信息。 可以参考下面的pdf:ARM映像文件及执行机理 part1part3映像文件的组成ARM映像文件是一个层次性结构的文件,包括了域(region),输出段(output section)和输入段(input section)。所谓域,指的就是整个bin映像文件所处在的区域,它又分为加载域和运行域。加载域就是映像文件被静态存放的工作区域,一般来说flash 阅读全文
posted @ 2012-11-05 14:11 四季安好 阅读(1016) 评论(0) 推荐(0)
转载:uC/OS-II的任务切换机理
摘要:2.2 任务级和中断级的任务切换步骤和原理(1)任务级的任务切换原理 μC/OS-II是一个多任务的操作系统,在没有用户自己定义的中断情况下,任务间的切换步骤是这样的:任务间的切换一般会调用OSSched()函数。函数的结构如下:void OSSched(void){关中断如果(不是中断嵌套并且系统可以被调度){确定优先级最高的任务如果(最高级的任务不是当前的任务){调用OSCtxSw();}}开中断} 我们把这个函数称作任务调度的前导函数。它先判断要进行任务切换的条件,如果条件允许进行任务调度,则调用OSCtxSw()。这个函数是真正实现任务调度的函数。由于期间要对堆栈进行操作,所以O... 阅读全文
posted @ 2012-10-14 00:14 四季安好 阅读(469) 评论(0) 推荐(0)
 

公告


博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3