嵌入式软件开发环境的搭建

1.ARM指令模拟器环境搭建

keil软件

KEIL是公司的名称,有时候也指KEIL公司的所有软件开发工具。2005年,Keil被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/ 

 

 

 

安装完成后,你需要注册软件以获得完整功能。注册通常需要管理员权限。在Keil uVision5中,你可以通过“File”菜单下的“License Management”选项来管理许可证。你需要复制CID(客户识别码),然后使用注册机(keygen.exe)生成许可证代码。将生成的许可证代码粘贴回Keil的许可证管理界面中,以完成注册

 进入应用,获取CID 

生成许可证代码

百度网盘分享的文件:最新注册机.zip
链接: https://pan.baidu.com/s/1UL_N-RcowJro8pO83Unrfw

提取码: 1aip

 

 

MDK Version 5 uses Software Packs to support a microcontroller device and to use middleware.
To maintain backward compatibility with MDK Version 4 you may install Legacy Support.
This might be necessary for two reasons:
To maintain projects created with MDK Version 4 without migrating to Software Packs.
To use older devices that are not supported by a Device Family Pack.

MDK Version 5使用软件包来支持微控制器设备并使用中间件。为了与MDK Version 4保持兼容性,您可以安装Legacy Support。这可能有以下两个原因:
1. 无需迁移到软件包即可维护使用MDK Version 4创建的项目。
2. 使用未由Device Family Pack支持的较旧设备。

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

 

 下载下来以后,需要安装到keil安装的路径下。

2.Ubuntu 和 Windows 文件互传

在开发的过程中会频繁的在 Windows 和 Ubuntu 下进行文件传输,比如在 Windwos 下载的软件需要在 Ubuntu 下进行安装。 Windows 和 Ubuntu 下的文件互传我们需要使用 FTP 服务,设置方法如下:

下载xftp

Xftp是一款专业的文件传输软件,可以在Windows和Linux系统之间进行文件的上传和下载。Xftp支持
SFTP和FTP协议,可以保证文件传输的安全性和效率。Xftp还可以实现一些常用的文件管理操作,比如
查看文件属性,编辑文件内容,同步文件夹等。

在Ubuntu服务器上安装和启动SSH服务

SSH服务是一种安全的远程登录协议,可以让Xftp通过SFTP协议连接Ubuntu服务器。如果Ubuntu服务
器没有安装SSH服务,可以使用包管理工具apt进行安装。安装完成后,需要启动SSH服务,并设置为
开机自启动。可以使用systemctl命令进行操作。
安装ssh
sudo apt-get install openssh-server

配置SSH服务:

打开终端,编辑 /etc/ssh/sshd_config 文件
sudo vim /etc/ssh/sshd_config
<1>Port:SSH服务监听的端口号,默认为22,可以根据需要修改,但要注意防火墙是否放行该端口。
#Port 22
<2>PermitRootLogin:是否允许root用户通过SSH登录,建议设置为no,以提高安全性

 

Tips:
PermitRootLogin 设置为no表示不允许root用户远程访问,
PermitRootLogin 设置为yes表示允许root用户远程访问,
PermitRootLogin 设置为prohibit-password表示不允许root用户使用密码远程访问,但
是可以用其他方式访问,比如公钥
<3>PasswordAuthentication:是否允许使用密码进行身份验证,建议设置为yes,以方便登录。
<4>PubkeyAuthentication:是否允许使用公钥进行身份验证,建议设置为yes,以提高安全性和效率。
<4>AuthorizedKeysFile:指定存放公钥的文件路径,一般为“.ssh/authorized_keys
#PasswordAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile     .ssh/authorized_keys .ssh/authorized_keys2
重启SSH服务器
sudo systemctl restart ssh

ubuntu防火墙开启22端口

在Ubuntu系统中,防火墙是用来保护系统安全的一个重要工具,它可以帮助用户阻止未经授权的访问,
保护系统的稳定运行,22端口是SSH(Secure Shell)服务的默认端口,用于远程登录和管理服务器,
如果需要通过SSH远程管理Ubuntu服务器,就需要打开22端口
查看防火墙状态
sudo ufw status  
开启22端口
sudo ufw allow 22
sudo ufw allow 22/tcp
[允许TCP协议的22端口流量通过防火墙] 

重启防火墙以使更改生效

sudo ufw reload

 

验证端口是否开启
telnet localhost 22

在Xftp客户端上创建连接会话

1.打开Xftp软件,点击“文件”菜单,选择“新建”,或者直接点击工具栏上的“新建”图标

2. 弹出回话窗口,输入回话名称,主机地址,端口号、用户名、密码等参数,进行连接 

 

 3.代码编辑器vscode软件的安装

Visual Studio Code(简称VSCode)是一款由微软开发的免费、开源的代码编辑器。它支持Windows、macOS和Linux操作系统,并且可以通过安装扩展来增强其功能,使其成为一个功能强大的集成开发环境(IDE)。VSCode以其轻量级、高性能和强大的社区支持而受到广泛欢迎。

安装VSCode

下载官网:Download Visual Studio Code - Mac, Linux, Windows

安装必要的扩展

 

 vscode远程ssh链接

Ubuntu上面安装openssh-server服务

sudo apt install openssh-server

安装remote development插件

 安装完成后出现一个电脑样式的图标

 添加远程主机信息

同时按 ctrl+shift+p,选择 add new ssh host

 

打开远程主机的目录

 

 4.下载Linaro的交叉编译器

Linaro提供了多种交叉编译器,包括GNU和LLVM工具链,这些工具链对于开发Linux操作系统和应用程序至关重要。

Cortex-R和Cortex-M裸机目标工具链:Linaro与Arm合作,为Arm嵌入式处理器提供Cortex-R和Cortex-M裸机目标工具链。

官网下载:

【老版本,稳定版】 https://releases.linaro.org/components/toolchain/binaries/

【新版本,开发版】 https://snapshots.linaro.org/gnu-toolchain/

 

 

 

 ubuntu系统安装交叉编译器

新建目录

将下载好的 gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz拷贝到toolchain目录下

解压工具链

tar -xvf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz

修改PATH环境变量

查看GCC的位置

查看PATH环境变量

 这个PATH环境变量是我已经配置好的样子,没有配置应该是

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
A.用cd命令进入gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf目录下的bin子目录
B.用pwd获取bin目录的绝对路径,然后复制路径
C.用 sudo vim /etc/bash.bashrc 打开配置文件,输入如下内容:
TOOLCHAIN=/home/linux/imx6ull_iot/toolchain/gcc-linaro- 4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin
export PATH=$PATH:$TOOLCHAIN

 D.打开一个新的终端,测试是否添加成功 arm-linux-gnueabihf-gcc -v

 结语:

无论你是初学者还是有经验的开发者,我希望我的博客能对你的学习之路有所帮助。如果你觉得这篇文章有用,不妨点击收藏,或者留下你的评论分享你的见解和经验,也欢迎你对我博客的内容提出建议和问题。每一次的点赞、评论、分享和关注都是对我的最大支持,也是对我持续分享和创作的动力

 

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

模型广场上线!一键开启免费体验

模型广场上新&#xff0c;多款模型任君挑选~ 限时免费体验&#xff01;快来开启你的AI创作之旅吧~ 01 comfyui 工作流 ComfyUI是一个基于Stable Diffusion开发的图形用户界面&#xff08;GUI&#xff09;&#xff0c;它将Stable Diffusion的流程拆分成节点&#xff0c;你能够…

Java的dto,和多表的调用

1理论 需求是新增菜品eg&#xff1a;菜名:豆腐脑&#xff1b;口味&#xff1a;甜口&#xff0c;咸口&#xff0c; 菜单表&#xff1a;dish&#xff1b;口味表dish_flavor&#xff1b; 1dto:数据传输对象 新建一个dishDto对象有两个表里的属性 2用到两个表&#xff0c;dish,d…

python爬虫js逆向进阶——请求的网页源码被加密,解密方法全过程(19)

文章目录 1、任务目标2、网页分析3、代码编写1、任务目标 目标网站:https://jzsc.mohurd.gov.cn/data/company,该网站的网页源码被加密了,用于本文测验 要求:解密该网站的网页源码,请求网站并返回解密后的明文数据,网页内容如下: 2、网页分析 进入网站,打开开发者模式,…

二、vue指令

1、v-bind ⽬标 : 给标签属性设置 vue 变量的值 vue 指令 , 实质上就是特殊的 html 标签属性 , 特点 : v- 开头 每个指令 , 都有独⽴的作⽤ 语法&#xff1a; v-bind:属性名"vue变量" 简写&#xff1a; : 属性名"vue变量" <!-- vue 指令 -v-bi…

VASA-1: Lifelike Audio-Driven Talking Faces Generated in Real Time

TL;DR 2024 年微软发表的数字人工作 VASA-1&#xff0c;支持基于单人头像照片和语音音频输入&#xff0c;来实时生成数字人视频。支持在线生成高达 40 FPS 的 512512 分辨率视频&#xff0c;目前为数不多能做到实时推理且效果很好的 talking face 工作。 Paper name VASA-1:…

【Ubuntu24.04】服务部署(基础)

目录 0 背景1 设置静态IP2 连接服务器3 部署服务3.1 安装JDK3.2 下载并安装MySQL8.43.2.1 从官网下载 APT Repository 配置文件3.2.2 安装 MySQL8.43.2.3 配置远程连接 3.3 下载并配置Redis3.4 上传jar包并部署应用3.5 开放端口 4 总结 0 背景 在成功安装了Ubuntu24.04操作系统…

[Java]Properties类加载配置文件

在我JDBC的文章末尾展示了完整的JDBC使用流程。但那种方式有一个问题&#xff0c;如果项目需要更换数据库&#xff0c;或者这个项目本来就是要使用多种数据库&#xff0c;那么像这种把信息写死在代码里边的编写模式&#xff0c;是肯定不行的。实际开发中肯定不会使用这种把信息…

STM32CUBEIDE的使用【五】TFT_LCD

硬件平台&#xff1a; 正点原子潘多拉开发板 STM32L475 软件平台&#xff1a; STM3232CubeMX 、STM32CUBEIDE 屏幕尺寸为1.3寸 分辨率240*240 16位真彩色 使用SPI接口驱动TFT_LCD 用来显示ASCII 字符图像和彩色功能 CubeMX配置 Source Code 创建app_lcd.c文件 #include &q…

Python数据分析NumPy和pandas(三十二、数据拆分-应用-合并)

最常用的 GroupBy 方法是 apply&#xff0c;apply 将正在操作的对象拆分为多个片段&#xff0c;在每个片段上调用传递给它函数&#xff0c;然后尝试连接这些片段。 还是用前面的小费数据集tips.csv&#xff0c;它的内容如下图&#xff1a; 假设我们想按smoker进行分组并选择前…

【毫米波雷达(九)】前雷达软件开发遇到的问题汇总及解决方法

前雷达软件开发遇到的问题汇总及解决方法 一、CAN/CANFD通信1、雷达CAN未能正常发出数据2、雷达在车上接收不到车身信息3、程序下载失败4、DV试验发送数据偶发断连5、发送感知信息丢帧或者丢报文6、上电发出第一帧的报文时间长7、ZCANPRO有错误帧二、协议转换&#xff08;以太网…

linux 下调试 bmp280 气压传感器

供自己备忘&#xff1b; linux 下有自带的 bmp280 驱动&#xff0c;实际测试数据抖动不理想&#xff1b; 于是自己重写一个 bmp280 驱动&#xff0c;实际测试数据依旧抖动&#xff0c;不理想&#xff1b; 考虑使用 SPL06 来测试看看效果&#xff1b; 1. 参考资料&#xff1…

『VUE』26. props实现子组件传递数据给父组件(详细图文注释)

目录 本节内容示例代码总结 欢迎关注 『VUE』 专栏&#xff0c;持续更新中 欢迎关注 『VUE』 专栏&#xff0c;持续更新中 本节内容 父组件传子组件–props 子组件传父组件–自定义事件 本节讲子组件传父组件–通过props里的方法传递,就是父亲写了一个函数,给子组件调用,然后…

Linux编辑/etc/fstab文件不当,不使用快照;进入救援模式

目录 红帽镜像9救援模式 现象 解决 第一步&#xff1a;修改启动参数以进入救援模式 第二步&#xff1a;进入救援模式、获取root权限、编辑/etc/fstab文件 第三步&#xff1a;编辑好后在重启 下面是ai给的模板 红帽镜像9救援模式 编辑/etc/fstab不当时 17 /dev/nvme0n3p1…

异地情侣远程玩游戏?GameViewer远程串流轻松实现!

情侣之间偶尔想远程玩游戏增进感情却苦于找不到合适的软件&#xff1f;想要寻找一款低门槛好上手操作便捷的串流软件 &#xff1f; 在这里向你推荐 网易GameViewer远程 &#xff01; GameViewer是专为游戏玩家的设计远程控制软件&#xff0c;可以帮助异地情侣实现这一需求。它让…

1990-2020年中国人工林和天然林空间分布数据集

数据介绍 植树已被认为是减缓气候变化的潜在有效解决方案。自上世纪70年代以来&#xff0c;中国实施了世界上最大的造林和再造林工程&#xff0c;但中国人工林的高分辨率地图仍然无法获得。在这项研究中&#xff0c;我们探索了使用多源遥感图像和众包样本来制作第一张高分辨率…

[Docker#10] network | 架构 | CRUD | 5种常见网络类型 (实验)

目录 1. Docker 为什么需要网络管理 2. Docker 网络架构简介 CNM&#xff08;Container Network Model&#xff09; Libnetwork 驱动 3. ⭕常见网络类型&#xff08;5 种&#xff09; 4. Docker 网络管理命令 一. bridge 网络 1. 操作案例&#xff1a;容器间网络通信 …

Spring Cloud Gateway快速入门Demo

1.什么是Spring Cloud Gateway&#xff1f; Spring Cloud Gateway 是一个基于 Spring Framework 和 Spring Boot 构建的 API 网关服务。它提供了一种简单而有效的方式来路由请求、提供跨领域的关注点&#xff08;如安全、监控/指标和弹性&#xff09;以及其他功能。Spring Clo…

【AI换脸整合包及教程】Rope:AI 换脸工具的功能、原理、应用

在人工智能技术迅猛发展的当下&#xff0c;AI 换脸技术无疑是近年来备受瞩目的焦点之一。其中&#xff0c;Rope 作为一款开源的 AI 换脸工具&#xff0c;因其出色的易用性和强大的功能而广受青睐。本文将对 Rope 的功能、技术原理、应用场景以及所面临的法律和伦理问题进行详细…

Yocto项目 - VIRTUAL-RUNTIME,它有什么用?

Yocto 项目是一个完整的 Linux 分布构建工具集&#xff0c;提供了构建完全自定义小型核心或完整应用的能力。在这样一个构建系统中&#xff0c;VIRTUAL-RUNTIME这个概念是应用构建和选择处理中的重要部分。这篇文章将从概念、优势、应用场景和实战案例几个方面&#xff0c;全面…

BB1-NHS ester被用于将各种生物活性分子与蛋白质或其他生物大分子进行共轭连接,2082771-52-4

CAS号&#xff1a;2082771-52-4 中文名&#xff1a;BB1-琥珀酰亚胺酯&#xff0c;BB1-活性酯 英文名&#xff1a;BB1-NHS ester&#xff0c;或BB1-Succinimidyl Ester 分子式&#xff1a;C32H32N6O4 分子量&#xff1a;564.63 纯度&#xff1a;≥95% 供应商&#xff1a;陕…