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

文章目录

  • 一、ARM指令模拟器环境搭建
    • 1. keil软件
    • 2. Legacy Support
  • 二、Keil仿真环境设置
    • 1. 创建一个项目
    • 2. 编译器介绍
      • (1)arm-none-eabi-gcc
      • (2)arm-none-linux-gnueabi-gcc
      • (3)arm-eabi-gcc
      • (4)grmcc
      • (5)aarch64-linux-gnu-gcc
    • 3. 安装编译器
      • (1)设置调试


一、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)设置调试

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
编译
在这里插入图片描述

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/956945.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024年度总结:从后端Java到全栈成长的蜕变

目录 前言1. 用数据与实践书写成长篇章2. 技术与生活的双重蜕变3. 技术的进阶与生活的绽放 前言 今年是我入行的第十年,也是记录在CSDN平台上的第五年。这五年来,我始终坚持记录成长的点滴,将个人事业与博客创作紧密相连。一路走来&#xff0…

U-Net - U型网络:用于图像分割的卷积神经网络

U-Net是一种专为图像分割任务设计的卷积神经网络(CNN),最初由Olaf Ronneberger等人于2015年提出。它被广泛应用于医学影像分析、遥感图像分割、自动驾驶和其他许多需要对图像进行像素级分类的任务中。U-Net具有强大的特征提取和恢复能力&…

SpringCloud基础一

前后端分离开发 前后端分离开发后,前后端代码不在混合在同一个maven工程中,而是分为前端工程和后端工程。此时前后端代码并行开发,可以加快项目的开发进度在前后端代码分离后,此时后端工程会打包部署到Tomcat上,前端工…

MFC中添加Richedit2.0控件导致程序无法运行的解决方法mfc richedit2 Detected memory leaks! 及控件使用

错误:拖Richedit2.0控件到界面,编译提示mfc richedit2 Detected memory leaks! 原因:在MFC中添加Richedit2.0控件,可能会导致程序出错或无法运行。这是由于RichEdit没有初始化导致的。 解决:在 继承自CWinApp的类中的…

每打开一个chrome页面都会【自动打开F12开发者模式】,原因是 使用HBuilderX会影响谷歌浏览器的浏览模式

打开 HBuilderX,点击 运行 -> 运行到浏览器 -> 设置web服务器 -> 添加chrome浏览器安装路径 chrome谷歌浏览器插件 B站视频下载助手插件: 参考地址:Chrome插件 - B站下载助手(轻松下载bilibili哔哩哔哩视频&#xff09…

【电视盒子】HI3798MV300刷机教程笔记/备份遥控码修复遥控器/ADB/线刷卡刷/电视盒子安装第三方应用软件

心血来潮,看到电视机顶盒满天飞的广告,想改造一下家里的电视盒子,学一下网上的人刷机,但是一切都不知道怎么开始,虽然折腾了一天,以失败告终,还是做点刷机笔记。 0.我的机器 年少不会甄别&…

USART_串口通讯轮询案例(HAL库实现)

引言 前面讲述的串口通讯案例是使用寄存器方式实现的,有利于深入理解串口通讯底层原理,但其开发效率较低;对此,我们这里再讲基于HAL库实现的串口通讯轮询案例,实现高效开发。当然,本次案例需求仍然和前面寄…

AI绘画入门:探索数字艺术新世界(1/10)

引言:AI 绘画的兴起与现状 在科技飞速发展的当下,AI 绘画如同一场艺术领域的风暴,正以惊人的速度席卷而来,彻底改变着我们对艺术创作的认知。近年来,AI 绘画相关的话题屡屡登上热搜,从社交媒体上各种 AI 生…

多线程杂谈:惊群现象、CAS、安全的单例

引言 本文是一篇杂谈,帮助大家了解多线程可能会出现的面试题。 目录 引言 惊群现象 结合条件变量 CAS原子操作(cmp & swap) 线程控制:两个线程交替打印奇偶数 智能指针线程安全 单例模式线程安全 最简单的单例&…

Ubuntu -- 几行命令使用Ollama部署本地AI大模型, 仅调用api, 快速测试api效果

需求 需要在本地快速部署一个大模型, 然后使用 局域网 的其他电脑进行 api调用为了快速测试, 大模型选择了 qwen2:0.5B 进行快速测试 开始 下载安装 ollama curl -fsSL https://ollama.com/install.sh | sh验证安装 ollama --version下载安装模型并运行 ollama run qwen2:…

无降智o1 pro——一次特别的ChatGPT专业模式探索

这段时间和朋友们交流 ChatGPT 的使用心得,大家都提到一个很“神秘”的服务:它基于 O1 Pro 模型,能够在对话里一直保持相对高水平的理解和回复,不会突然变得“降智”。同时,整体使用还做了免折腾的网络设置——简单一点…

1. 基于图像的三维重建

1. 基于图像的三维重建 核心概念三维重建中深度图、点云的区别?深度图点云总结 深度图到点云还需要什么步骤?1. **获取相机内参**2. **生成相应的像素坐标**3. **计算三维坐标**4. **构建点云**5. **处理颜色信息(可选)**6. **去除…

国内有哪些著名的CRM系统提供商?

嘿,你有没有想过,在这个信息爆炸的时代里,企业怎么才能更好地管理客户关系呢?答案就是使用高效的CRM系统。今天我就来给大家聊聊那些在国际上非常有名的CRM系统提供商吧。 悟空CRM 首先不得不提的就是悟空CRM了!这可…

QTableWidget的简单使用

1.最简单的表格示例&#xff1a; ui->tableWidget->setRowCount(2);// 设置行数ui->tableWidget->setColumnCount(3);// 设置列数&#xff0c;一定要放在设置行表头之前QStringList rowHeaderList;// 行表头rowHeaderList << QStringLiteral("姓名"…

Jenkins-Pipeline简述

一. 什么是Jenkins pipeline&#xff1a; pipeline在jenkins中是一套插件&#xff0c;主要功能在于&#xff0c;将原本独立运行于单个或者多个节点的任务连接起来&#xff0c;实现单个任务难以完成的复杂发布流程。Pipeline的实现方式是一套Groovy DSL&#xff0c;任何发布流程…

Hadoop美食推荐系统 爬虫1.8w+数据 协同过滤余弦函数推荐美食 Springboot Vue Element-UI前后端分离

Hadoop美食推荐系统 爬虫1.8w数据 协同过滤余弦函数推荐美食 Springboot Vue Element-UI前后端分离 【Hadoop项目】 1. data.csv上传到hadoop集群环境 2. data.csv数据清洗 3.MapReducer数据汇总处理, 将Reducer的结果数据保存到本地Mysql数据库中 4. SpringbootEchartsMySQL 显…

两份PDF文档,如何比对差异,快速定位不同之处?

PDF文档比对是通过专门的工具或软件&#xff0c;自动检测两个PDF文件之间的差异&#xff0c;并以可视化的方式展示出来。这些差异可能包括文本内容的修改、图像的变化、表格数据的调整、格式的改变等。比对工具通常会标记出新增、删除或修改的部分&#xff0c;帮助用户快速定位…

苍穹外卖项目总结(二)

本篇对苍穹外卖后半部分进行介绍&#xff0c;重点是redis缓存的使用以及微信小程序客户端开发。 目录 一、菜品管理 1.1新增菜品 1.2菜品的分页查询 1.3删除菜品 1.4修改菜品 1.5设置营业状态 二、微信小程序客户端的开发 三、Redis的基本使用 常用命令&#xff1a; 缓…

MyBatisPlus简介及入门案例

一、简介 官网&#xff1a;https://baomidou.com/introduce/ 1.简介 MyBatisPlus只做增强&#xff0c;不做改变&#xff0c;为简化开发、提高效率而生 2.特性 (1)无侵入 只做增强不做改变&#xff0c;引入它不会对现有工程产生影响&#xff0c;如丝般顺滑 (2)损耗小 启动…

欧拉(Euler 22.03)安装ProxySQL

下载离线安装包 proxysql-2.0.8-1-centos7.x86_64.rpm 链接: https://pan.baidu.com/s/1R-SJiVUEu24oNnPFlm9wRw 提取码: sa2w离线安装proxysql yum localinstall -y proxysql-2.0.8-1-centos7.x86_64.rpm 启动proxysql并检查状态 systemctl start proxysql 启动proxysql syste…