首页 > 其他分享 >3.1 开发环境搭建

3.1 开发环境搭建

时间:2023-07-24 17:12:27浏览次数:47  
标签:sudo Ubuntu 3.1 编译器 开发 linux 安装 arm 搭建

一、Ubuntu和Windows文件互传

① 开启Ubuntu的FTP服务:

下载vsftpd:sudo apt-get install vsftpd;

打开vsftpd.conf:sudo nvim /etc/vsftpd.conf;

确保这两行代码没有被注释:

之后重启FTP服务:

② Windows下载FTP客户端:客户端 - FileZilla中文网

③ FileZilla软件设置:

  Ubuntu作为FTP服务器,FileZilla作为FTP客户端。

  FileZilla->文件->站点管理器,创建新站点。

由于这时候是乱码,所以先关闭连接,服务器->断开连接。然后按着以下图设置即可。

 

二、Ubuntu下的NFS和SSH服务开启

① 后面驱动开发的时候要用到NFS,所以提前下载。

sudo apt-get install nfs-kernel-server rpcbind

② 在用户根目录下创建"linux"文件夹,在linux文件夹下创建"nfs"文件夹。nfs文件夹给nfs服务器使用。

③ 配置nfs。

sudo nvim /etc/exports 打开nfs配置文件

在配置文件添加 /home/luoxuesong/linux/nfs *(rw, sync,no_root_squash)

重启NFS服务

④ SSH服务开启:

sudo apt-get install openssh-server

 

三、Ubuntu交叉编译工具链安装

1.交叉编译器安装

  Ubuntu自带的gcc是针对X86架构, 现在要编译的是 ARM 架构的代码,所以需要一个在 X86 架构的 PC 上运行,可以编译 ARM 架构代码的 GCC 编译器,这个编译器就叫做交叉编译器。

总结:

1、是一个 GCC 编译器。

2、这个 GCC 编译器是运行在 X86 架构的 PC 上的。

3、这个 GCC 编译器是编译 ARM 架构代码的,也就是编译出来的可执行文件是在 ARM 芯
片上运行的。

交叉编译器中“交叉”的意思就是在一个架构上编译另外一个架构的代码,相当于两种架构“交叉”起来了。

  这个下载地址是:Linaro Snapshots

之后把文件放在Ubuntu创建的文件夹nfs里面。

创建目录: /usr/local/arm :sudo mkdir /usr/local/arm

把交叉编译器压缩的文件放在 usr/local/arm:sudo cp gcc-linaro-14.0.0-2023.06-x86_64_arm-linux-gnueabihf.tar.xz /usr/local/arm/ -f cp是复制,gcc-linaro-14.0.0-2023.06-x86_64_arm-linux-gnueabihf.tar.xz是需要复制的文件名,/usr/local/arm/是目标路径, -f是强制,他会忽略目标文件是否已存在,直接覆盖原文件。

之后解压tool.tar:sudo tar -vxf gcc-linaro-14.0.0-2023.06-x86_64_arm-linux-gnueabihf.tar.xz  -v是显示压缩过程,-x是解压缩操作,-f指定要解压的tar文件。

完成之后修改环境变量,先进入/etc 文件夹,用sudo进,然后输入以下指令,修改完成后重启Ubuntu就可以啦。

arm-linux-gnueabihf-gcc -v

1、 arm 表示这是编译 arm 架构代码的编译器。 

2、 linux 表示运行在 linux 环境下。 

3、 gnueabihf 表示嵌入式二进制接口,后面的 hf 是 hard float 的缩写,也就是硬件浮点,说明此交叉编译工具链支持硬件浮点。

4、 gcc 表示是 gcc 工具。 

 

2.安装相关库

在安装之前先更新其他库

sudo apt-get update

sudo apt-get install lsb-core lib32stdc++6

如果第二个安装lib32stdc++6失败,试一下sudo aptitude -f install lib32stdc++6

 

四、安装VS Code

① 方法1:

直接在Ubuntu Software搜索Visual Studio Code 点击安装即可。

 

② 方法二:

在火狐搜索Vs code下载linux版本即可。

 

③ 安装插件:

我安装了这些插件:

 

五、其他安装

1.STM32CubeProgrammer安装

首先下载STM32CubeProgrammer,直接在Windows电脑上下载后,用FileZillz传过去。

我在/linux/下新建了tool文件夹和在tool文件夹里建了STM32CubeProgrammer文件夹。

用以下命令解压:

unzip en.stm32cubeprg-lin-v2-14-0.zip

解压完成后用以下命令安装:

./SetupSTM32CubeProgrammer-2.14.0.linux

完成安装后再安装Libusb1.0软件包:sudo apt-get install libusb-1.0.0-dev 

 

2.USB DFU和STLink驱动安装

首先应该先安装STM32CubeProgrammer,因为这里面有我们需要的相关驱动文件。

找到此路径,可以看到如下文件。

 这些.rules 文件全部拷贝到 Ubuntu 的/etc/udev/rules.d 目录下:

cd /home/luoxuesong/STMicroelectronics/STM32Cube/STM32CubeProgrammer/Drivers/rules

sudo cp * /etc/udev/rules.d

这时候重启Ubuntu,用USB连接到USB_OTG开发板的USB上。

这时候鼠标移到右下角有这样的字体,,然后连接主机。连接成功会显示这样的图标

标签:sudo,Ubuntu,3.1,编译器,开发,linux,安装,arm,搭建
From: https://www.cnblogs.com/toutiegongzhu/p/17561665.html

相关文章

  • 基于Java的日程管理系统开发
    完整资料进入【数字空间】查看——baidu搜索"writebug"摘要日程管理在日常生活中是十分普通的一件事情,人们无论在生活中还是工作中都会有大大小小、各种各样的事情安排,如果仅仅靠纸张或者自己记录这些事情,往往会遗忘。针对这样的痛点,本文提供了日程管理系统开发的一整套流程,从需求......
  • 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)
    前言   但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子。假如一个项目,由A、B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端。A和B都习惯使用SVN作为代码管理工具,他们分别开始工作,一个功能完成后会提交到SVN,以便对......
  • iOS8开发-Swift编程
    课时列表章节1:第一个Swift应用课时1:编程初体验章节2:第二个Swift应用课时2:加法计算器章节3:第三个Swift应用课时3:四则运算计算器章节4:第四个Swift应用课时4:......
  • Ubuntu环境搭建
    网上有很多安装虚拟机,并且在虚拟机里面安装Linux虚拟环境的教程。我这里就重复。现在假设你已经有了一个虚拟机的ubuntu系统。那么要学习韦东山课程还需要搭建那些环境呢?1安装zshsudoapt-getinstallzsh2安装ohmyzsh网上有很多安装教程。大部分都是用wget的方式。这个......
  • 记一次nacos注册中心搭建步骤(入门)
    1、下载nacos本操作步骤使用的是稳定版本2.1.1 下载地址:https://github.com/alibaba/nacos/releases/tag/2.1.1百度网盘下载地址:链接:https://pan.baidu.com/s/1w0CUkIpDJ8jI3N2FH3hKWw?pwd=af53提取码:af532、本次操作系统是linux(centos7) 上传到服务器指......
  • redis - 环境搭建
    一:简介(来自百科)redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,r......
  • 直播系统搭建,波浪文字效果
    直播系统搭建,波浪文字效果 <template><view:style="{background:loadingType==='font'?'#fff':''}"v-if="show"><view:style="{'margin-top':loadingType==='font'?'-......
  • Android开发本地验证码
    Android开发本地验证码验证码(VerificationCode)是一种用来区分人类用户和计算机程序的一种机制。它通常是由一系列的字符或数字组成,用户需要将其输入到相应的输入框中。验证码的作用是防止恶意程序自动化执行某些操作,如注册、登录、访问敏感信息等。本文将介绍如何在Android开发中......
  • Android基于XMPP Smack openfire 开发的聊天室
    Android基于XMPPSmackopenfire开发的聊天室简介聊天室是人们进行实时沟通和交流的常见方式。而在移动应用开发中,实现一个聊天室功能是非常常见的需求。本文将介绍如何基于Android平台使用XMPPSmack库和Openfire服务器开发一个简单的聊天室应用。准备工作在开始开发之前,确保......
  • CobaltStrike4.8--云服务器搭建
    系统版本选用选择最熟悉的版本,我这边用的CentOS7.8,选用乌班图的话,会有一些命令的不一致配置运行环境CobaltStrike4.0支持jdk1.8的环境,4.5开始就不支持1.8了,本文搭载的是cs4.8,故配置的环境是jdk11查看自身Linux版本uname-r选用的系统是64位的,后面我们需要选择64位jdk11......