当前位置: 首页 > news >正文

正点原子阿尔法ARM开发板-IMX6ULL(二)——介绍情况以及汇编

文章目录

  • 一、裸机开发(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 逻辑运算指令

在这里插入图片描述

http://www.lryc.cn/news/436765.html

相关文章:

  • Unreal Engine——AI生成高精度的虚拟人物和环境(虚拟世界构建、电影场景生成)(一)
  • Emlog程序屏蔽用户IP拉黑名单插件
  • 发送成绩的app或小程序推荐
  • 51单片机-AT24C02(IIC总线介绍及其时序编写步骤)-第一节(下一节实战)
  • <<编码>> 第 11 章 逻辑门电路--或非门, 与非门, 缓冲器 示例电路
  • 股票api接口程序化报备,程序化交易监管对个人量化交易者有何影响
  • 如何自己搭建一个网站?
  • 虚拟化数据恢复—断电导致虚拟机目录项被破坏的数据恢复案例
  • [机器学习]聚类算法
  • JVM面试真题总结(七)
  • 深入理解CASAtomic原子操作类详解
  • C51单片机-单按键输入识别,键盘消抖
  • 基于CNN卷积神经网络迁移学习的图像识别实现
  • 【iOS】push和present的区别
  • 在Linux服务器上添加用户并设置自动登录
  • 网站被爬,数据泄露,如何应对不断强化的安全危机?
  • 为什么HTTPS会引入SSL/TLS协议
  • Spring AOP,通知使用,spring事务管理,spring_web搭建
  • PHP无缝对接预订无忧场馆预订系统小程序源码
  • Unet改进30:添加CAA(2024最新改进方法)|上下文锚定注意模块来捕获远程上下文信息。
  • OpenAI震撼发布最强模型o1!强化学习突破LLM推理极限
  • 速通GPT-2:Language Models are Unsupervised Multitask Learners全文解读
  • Python 最小公倍数计算器:从基础到应用
  • 网络学习-eNSP配置路由器
  • 在 React 中,如何使用 Context API 来实现跨组件的通信?
  • 【基础算法总结】位运算
  • 组件通信——provide 和 inject 实现爷孙组件通信
  • 【ShuQiHere】探索人工智能核心:机器学习的奥秘
  • LeeCode打卡第二十四天
  • 什么是科技与艺术相结合的异形创意圆形(饼/盘)LED显示屏