【物联网】keil仿真环境设置 keilV5可以适用ARM7

文章目录


一、ARM指令模拟器环境搭建

1. keil软件

KEIL是公司的名称,有时候也指KEIL公司的所有软件开发工具,目前2005年Kei由ARM公司收购,成为ARM的公司之一。

MDK(Microcontroller Development Kit) ,也称MDK-ARM、KEIL MDK、RealView MDK、KEIL For ARM,都是同一个东西。ARM公司现在统一使用MDK-ARM的称呼,MDK的设备数据库中有很多厂商的芯片,是专为微控制器开发的工具,为满足基于MCU进行嵌入式软件开发的工程师需求而设计,支持ARM7,ARM9,Cortex-M4/M3/M1,Cortex-R0/R3/R4等ARM微控制器内核。

下载地址:https://www.keil.com/download/product/

一路默认安装

2. Legacy Support

MDK版本5使用软件包来支持微控制器设备和使用中间件。要保持与MDK版本4的向后兼容性,您可以安装旧版支持。这可能是必要的,原因有两个:

  • 维护使用MDK版本4创建的项目,而无需迁移到软件包。
  • 使用设备系列包不支持的旧设备

下载地址:https://www2.keil.com/mdk5/legacy

注意 下载完安装的时候 需要和keil安装的目录保持一致

完成之后 打开keil 点开看一下支持的设备

点开ARM往下滑

二、Keil仿真环境设置

1. 创建一个项目

选择ARM9E-S

创建asm.s文件

复制代码
.global _start

_start:
	mov r0,#11
	mov r1,#20
	mov r2,#30
	
stop:
	b stop

点击构建报错:

需要安装指定的arm编译器才能编译

2. 编译器介绍

交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi]

  • arch-体系架构,如ARM,MIPS等
  • vendor -工具链提供商
  • os-目标操作系统
  • eabi-嵌入式应用二进制接口(Embedded Application Binary Interface)

交叉编译 :在PC机上完成代码的编写与编译,在开发板上完成代码的运行
Embedded Application Binary Interface:嵌入式应用二进制接口指定了文件格式、数据类型、使用、堆积组织优化和在一个嵌入式软件中的参数的标准约定

根据对操作系统的支持与否,ARM GCC可分为支持和不支持操作系统,如arm-none-eabi:这个是没有操作系统的,自然不可能支持那些跟操作系统关系密切的函数,比如fork(2),它使用的是newlib这个专用于嵌入式系统的C库。arm-none-linux-eabi:用于Linux的,使用Glibc

(1)arm-none-eabi-gcc

Arm官方用于编译 ARM 架构的裸机系统(包括 ARM Linux 的 boot、kernel,不适用编译 Linux应用),一般适合 ARM7、Cortex-M 和 Cortex-R 内核的芯片使用,所以不支持那些跟操作系统关系密切的函数,比如fork(2),他使用的是 newlib 这个专用于嵌入式系统的C库。

下载地址:https://developer.arm.com/downloads/-/gnu-rm

(2)arm-none-linux-gnueabi-gcc

主要用于基于ARM架构的Linux系统,可用于编译 ARM 架构的 u-boot、Linux内核、Linux应用等arm-none-linux-gnueabi基于GCC,使用Glibc库,经过 Codesourcery 公司优化过推出的编译器arm-none-linux-gnueabi-xxx 交叉编译工具的浮点运算非常优秀。一般ARM9、ARM11、Cortex-A内核,带有 Linux 操作系统的会用到。

(3)arm-eabi-gcc

Android ARM 编译器

(4)grmcc

ARM 公司推出的编译工具,功能和 arm-none-eabi类似,可以编译裸机程序(u-boot、kernel),但是不能编译 Linux 应用程序。armcc一般和ARM一起,Kei MDK、ADS、RVDS和DS-5中的编译器都是armcc,所以 armcc 编译器都是收费的)

(5)aarch64-linux-gnu-gcc

aarch64-linux-gnu-gcc是由 Linaro 公司基于 GCC 推出的的 ARM 交叉编译工具。可用于交叉编译

ARMv8 64 位目标中的裸机程序、u-boot、Linux kernel、filesystem和 App 应用程序。aarch64-

linux-gnu-gcc 交叉编译器必须安装在 64 位主机上,才能编译目标代码。

3. 安装编译器

使用arm-none-eabi-gcc

下载地址:https://developer.arm.com/downloads/-/gnu-rm

一路默认安装 安装路径可以自定义

keil使用编译器

选择安装的arm-none-eabi-gcc路径

(1)设置调试



编译

开始调试 再次点击可以退出调试

相关推荐
飞睿科技9 小时前
【芯片选型指南】乐鑫ESP32-C61核心能力解析:为何它在Wi-Fi 6物联网赛道中优势独具?
科技·嵌入式硬件·物联网·智能家居
AcrelZYL9 小时前
古建筑用电安全如何守护,安科瑞ASCB3智能微型断路器
物联网·安全
云里物里12 小时前
物联网电子价签有哪些款式类型?
物联网·电子价签·esl电子标签·电子标签·电子墨水屏标签·电子纸·蓝牙电子标签
taxunjishu20 小时前
Modbus TCP 转 Modbus RTU物联网网关实现光伏产线西门子与罗克韦尔PLC互联
人工智能·物联网·工业物联网·工业自动化·总线协议
明达智控技术20 小时前
MR30分布式IO、MBox20边缘计算网关系列产品在航空航天项目的应用
物联网·自动化
小龙报20 小时前
《VScode搭建教程(附安装包)--- 开启你的编程之旅》
c语言·c++·ide·vscode·单片机·物联网·编辑器
zskj_zhyl21 小时前
解构智慧养老:当科技成为银发族的“隐形守护者”
大数据·人工智能·科技·物联网
GIS数据转换器1 天前
基于GIS的智慧旅游调度指挥平台
运维·人工智能·物联网·无人机·旅游·1024程序员节
美林数据Tempodata1 天前
“双新”指引,AI驱动:工业数智应用生产性实践创新
大数据·人工智能·物联网·实践中心建设·金基地建设
PcVue China1 天前
PcVue播客系列 - E2 | 智慧制造、人工智能与工业模拟的未来 —— 对话 Andrew Siprelle
物联网·ai·自动化·制造·数字孪生·scada·工业模拟