ARM学习笔记_1 介绍,Keil环境搭建

这篇具有很好参考价值的文章主要介绍了ARM学习笔记_1 介绍,Keil环境搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

从零开始学ARM

学习自b站一口linux老师的课程。

介绍

学习ARM需要学计算机原理,汇编,C语言,基本电路,硬件控制器原理,以及编写相应驱动程序。

为什么要学汇编?

  • 了解系统启动、上电、函数调用等底层实现。
  • 真正地提高函数运行效率。
  • 一些软件的破解……

ARM是什么?

设计微处理器架构的公司,包含三类:cortex-A, -R, -M, 高性能、实时、轻量级。

ARM公司只设计架构不生产产品。每个处理器都需要依靠一定的ARM架构来设计。

授权给其他做产品的公司分为架构层授权,内核层授权(ip核),使用层授权。

  • 架构:可以对ARM架构扩展缩减,如苹果(可以修改我的文章)。
  • 内核:在内核基础上加自己的外设,如三星(可以引用我的文章,但是不能改)。
  • 使用:可以用别人的ip核,但是不能更改(只能转发我的文章)。

SOC

system on a chip, 最大的特点是便宜,开发方便。

ARM学习笔记_1 介绍,Keil环境搭建

AHB:高速总线,存基本的或者性能较高的东西。

APB:外部总线。

计算机历史

巴贝奇:机械结构的差分机。

ada:计算机程序概念的创始人,如循环、子程序等概念。

阿塔纳索夫的ABC,图灵的巨人机都是相当于证明了电路实现计算是可行的,处于证明阶段,类似ChatGPT。冯诺依曼则是设计计算机通用架构。

CPU的发展:最早的仙童半导体,衍生出的Intel公司,

冯诺依曼结构介绍

我们知道冯诺依曼结构5大组成,通过总线(db ab cb)连接。

存储器:cache,金字塔型,从上到下L0寄存器,L1 L2 L3 高速缓存,L4 主存(内存条,CPU可直接访问),本地二级存储(本地磁盘),远程二级存储(分布式文件系统,web服务器)。

哈佛架构介绍

相比冯,程序和数据分开存储。stm32 51就是哈佛架构,pc等是冯诺依曼架构。哈佛执行效率高,冯诺依曼占用资源少。

混合架构介绍

主要是冯诺依曼架构,但是一些上电启动的部分是哈佛架构。

CPU运行原理

指令计数器指着当前指令地址(PC)——去取指令,存到指令寄存器中——执行指令(指令译码,取操作数,运算),从存储单元和程序的数据段取数据并运算,PC++。

指令集:CISC RISC 复杂和精简,ARM是精简。龙芯的MIPS和X86的指令集没有与RISC的指令纠纷,不涉及卡芯片的问题。

ARM指令格式:操作码+操作数的地址。

环境搭建

使用的是绿色的Keil Mdk,和stm32用的是同一个软件开发。

需要安装三星 samsung 的 s3c2400 芯片包,下载地址:https://armkeil.blob.core.windows.net/legacy/MDK79525.EXE

.s文件本来是一些初始化内容,这里我们不需要用到那么多。

.s 文件修改代码:

 AREA Example,CODE,READONLY ;声明代码段Example
 ENTRY ;程序入口
Start
 MOV R0, #0
 MOV R1,#10
 BL ADD_SUM ;调用子程序
 B OVER ;跳转到结尾
ADD_SUM
 ADD R0,R0,R1
 MOV PC,LR
OVER
 END

打开debug模式后,registers里面是32位地址,disassembly 里是翻译后的机器码。

这里注意asm用空格的缩进来指代指令!文章来源地址https://www.toymoban.com/news/detail-451878.html

到了这里,关于ARM学习笔记_1 介绍,Keil环境搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Keil MDK编程环境下的 STM32 IAP下载(学习笔记)

    ICP ICP(In Circuit Programing)。在电路编程,可通过 CPU 的 Debug Access Port 烧录代码,比如 ARM Cortex 的 Debug Interface 主要是 SWD(Serial Wire Debug) 或 JTAG(Joint Test Action Group); ISP ISP(In System Programing)。在系统编程,可借助 MCU 厂商预置的 Bootloader 实现通过板载 UART 或 USB 接口烧录代码,比如

    2024年02月06日
    浏览(42)
  • 【深度学习1】ubuntu22.04从零开始搭建深度学习环境

    具体安装步骤可以参考:win11+ubuntu22.04双系统安装(简洁版) 安装之前进入主板BIOS,关闭安全启动!!! 更新软件列表 安装必要的依赖 根据显卡型号下载对应的驱动,官方驱动下载链接:GeForce® 驱动程序 卸载原有驱动(若有) 禁用nouveau驱动,在 /etc/modprobe.d/blacklist.conf

    2024年02月05日
    浏览(98)
  • 物联网|ARM|Keil同时安装Keil的C51、C251和MDK|增加V5编译器|物联网开发系列课程之零基础玩转Cortex-M系列CPU-学习笔记(1)

    1.物联网的定义 利用局部网络或互联网等通信技术把传感器、控制器、机器、人员和物等通过新的方式联在一起,形成人与物、物与物相联,实现信息化、远程管理控制和智能化的网络。 2.物联网的组成 3.物联网应用举例智能家居 1物联网的数据源头 2物联的局域网络源头 1

    2024年02月05日
    浏览(72)
  • L16物联网ARM开发--开发环境搭建及平台及GPIO口操作平台介绍(day2、3)

    目录 一、MDK-ARM环境介绍及安装 二、STM32Cube简介及安装   STM32CubeMX安装 加载固件库 ​编辑  三、 STM32F0存储器映射 四、STM32启动文件分析 略 五、GPIO的基本概念及寄存器介绍1 1、GPIO接口简介  2、GPIO功能复用  3、GPIO寄存器介绍  GPIO工作原理框图: 五、点亮LED寄存器版(

    2024年02月01日
    浏览(55)
  • 【STM32】使用RTE ,从 0 开始创建一个 (keil) ARM MDK工程(纯keil,标准库,以STM32F103C8T6为例)

    学习相关的基础知识请阅读本专栏其他文章,一定有你想要的。 https://blog.csdn.net/weixin_43764974/category_11021363.html 本文软硬件: STM32F103C8T6 ARM MDK 5.38 ARM complier 6 ST-Link v2 StdPeriph Drivers(标准库) 文章开始前,我想再次说一下: keil 、 μvision 、 ARM MDK 这几个名词(尽管前面的额文

    2024年02月16日
    浏览(97)
  • “从零开始学习Spring Boot:快速搭建Java后端开发环境“

    标题:从零开始学习Spring Boot:快速搭建Java后端开发环境 摘要:本文将介绍如何从零开始学习Spring Boot,并详细讲解如何快速搭建Java后端开发环境。通过本文的指导,您将能够快速搭建一个基于Spring Boot的Java后端开发环境并开始编写代码。 正文: 一、准备工作 在开始之前,

    2024年02月15日
    浏览(58)
  • 嵌入式学习笔记(3)ARM的异常处理方式介绍

    什么是异常   正常工作之外的流程都叫异常   异常会打断正在执行的工作,并且一般我们希望异常处理完后继续回来执行原工作   中断是异常的一种 异常向量表   所有的CPU都有异常向量表,这是CPU设计时就设定好的,是硬件决定的。   当异常发生时,CPU会自动动作(

    2024年02月11日
    浏览(48)
  • C#从零开始的学习笔记(2)运行和开发环境

    .NET Framework C#的运行环境,换句话说就是.NET Framework的运行环境。Windows7中包含了.NET Framework3.5,windows10中包含了.NET Framework4.6,Windows10 v1703中包含了.NET Framework4.7。安装visual studio的时候,也会安装相应版本的.NET Framework。当然,各位读者也可以自行前往Microsoft官网上下载最新的

    2024年02月08日
    浏览(57)
  • Keil MDK配置ARM汇编/C语言混合开发环境

    1. 安装Keil MDK 安装方法这里不再说明,懂得都懂!🐶 2. 安装ARM开发包 在Keil MDK5之后,不再原生支持ARM7/9,需要自行安装软件包,链接在这,注意安装与自己MDK版本对应的那个包 我的版本是5.18,下载之后傻瓜式安装,因为它会自动检测你MDK所在的位置。 3. 新建工程 注意:选

    2024年02月02日
    浏览(60)
  • Windows 11 上从零开始基于 wsl-ubuntu 搭建 AI 学习环境及部署多种私有 ChatGPT

    今天(2023/6/2)刚刚换了 1 块 4TB 的硬盘,在 Windows 11 上从零开始,基于 Windows Subsystem for Linux 搭建一套 AI 学习环境。 其中包括,安装 Python、安装 Miniconda3、安装 CUDA Toolkit、安装 git lfs、配置 Hugging Face 的缓存路径、本地部署 ChatGLM-6B、本地部署 VisualGLM-6B等等内容。 安装 Ubuntu-

    2024年02月07日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包