盐城网站开发代理,北京广告设计公司,东莞模板建网站平台,售后好的品牌策划公司文章目录 一、裸机开发#xff08;21个#xff09;二、嵌入式Linux驱动例程三、汇编3.1 处理器内部数据传输指令3.2 存储器访问指令3.3 压栈和出栈指令3.4 跳转指令3.5 算术运算指令3.6 逻辑运算指令 一、裸机开发#xff08;21个#xff09; 二、嵌入式Linux驱动例程 三、… 文章目录 一、裸机开发21个二、嵌入式Linux驱动例程三、汇编3.1 处理器内部数据传输指令3.2 存储器访问指令3.3 压栈和出栈指令3.4 跳转指令3.5 算术运算指令3.6 逻辑运算指令 一、裸机开发21个 二、嵌入式Linux驱动例程 三、汇编
我们在进行嵌入式 Linux 开发的时候是绝对要掌握基本的 ARM 汇编因为 Cortex-A 芯片一上电 SP 指针还没初始化C 环境还没准备好所以肯定不能运行 C 代码必须先用汇编语言设置好 C 环境比如初始化 DDR、设置 SP指针等等当汇编把 C 环境设置好了以后才可以运行 C 代码。
3.1 处理器内部数据传输指令 Rx(0~12)普通寄存器 CPSR特殊寄存器
用法就是把后一个传到前一个
3.2 存储器访问指令 LDR相当于给一个地址命名LDR 是从存储器读取数据STR 就是将数据写入到存储器中
3.3 压栈和出栈指令 首先就是这是向下增长也就是说栈顶是R12出栈先是LR再之后依次出栈。 主要是为了中断保存数据
3.4 跳转指令 主要是B和BL 如果调用这个函数不会再返回此处可以用B
对于BL是可以保存之前的位置标号执行完再回来
3.5 算术运算指令 3.6 逻辑运算指令