【Linux ARM 裸机】开发环境搭建

1、Ubuntu 和 Windows 文件互传

使用过程中,要频繁进行 Ubuntu 和 Windows 的文件互传,需要使用 FTP 服务;

1.1、开启 Ubuntu 下的 FTP 服务

//安装 FTP 服务
sudo apt-get install vsftpd
//修改配置文件
sudo vi /etc/vsftpd.conf

//重启 FTP 服务
sudo /etc/init.d/vsftpd restart

修改结果,保证这两行命令前面没有 # ,保存退出;
在这里插入图片描述
重启 FTP 服务;
在这里插入图片描述

1.2、Windows 下安装 FTP 客户端 FileZilla

ifconfig     //查看 Ubuntu 的 IP 地址

在这里插入图片描述
安装好 FileZilla 客户端之后,点击文件选项进入站点管理器,编号4输入的是 iffconfig 获取的Ubuntu 的 IP 地址,编号6输入的 Ubuntu 系统的登录名和密码;
在这里插入图片描述
连接成功如下图;传文件只需要拖动即可;
在这里插入图片描述

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

2.1、安装 NFS 服务(裸机其实不用)

sudo apt-get install nfs-kernel-server portmap     //安装 NFS 服务

安装完成之后,在根目录下创建一个 linux 目录,进入 linux 目录,创建一个 nfs 目录;
在这里插入图片描述

sudo vi /etc/exports    //配置 nfs

在文件末尾添加以下内容;

/home/zsw/linux/nfs *(rw,sync,no_root_squash)

在这里插入图片描述
重启 NFS 服务;

sudo /etc/init.d/nfs-kernel-server restart

在这里插入图片描述
2.2、安装 SSH 服务

sudo apt-get install openssh-server   //安装 SSH 服务

ssh 的配置文件为 /etc/ssh/sshd_config,使用默认配置即可。

3、CH340 驱动安装

之后使用的开发板使用 CH340 这个芯片实现了 USB 转串口功能,安装之前记得把开发板连接电脑;
在这里插入图片描述

4、交叉编译工具链

在这里 Linux C 编程 学了如何在 Linux 进行 C 语言开发,里面使用 gcc 编译器进行代码编译,但是 Ubuntu 自带的 gcc 编译器是针对 X86 架构的,而我们现在要编译的代码,需要在 ARM 架构上运行,所以我们需要一个能在 X86 架构的 PC 上运行,可以编译 ARM 架构代码的 gcc 编译器,这个编译器就叫做交叉编译器,交叉编译器中“交叉”的意思就是在一个架构上编译另外一个架构的代码,相当于两种架构“交叉”起来了

下载链接:arm-linux-gcc在这里插入图片描述
在 /home/zsw/linux 目录下创建 tool 目录,将下载的压缩包复制到 tool 目录下;
在这里插入图片描述
在这里插入图片描述
将刚刚拷贝的交叉编译器复制到 /usr/local/arm 这个目录中,需要创建这个目录;
在这里插入图片描述

sudo cp gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz /usr/local/arm/

在这里插入图片描述
解压压缩包;

sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz

在这里插入图片描述

修改环境变量;

sudo vi /etc/profile

在文件末尾添加以下内容,保存退出,然后重启 Ubuntu 系统(终端输入:reboot);

export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin

在这里插入图片描述
重启之后检查交叉编译工具安装是否成功;

arm-linux-gnueabihf-gcc -v

在这里插入图片描述

5、SecureCRT 的安装

在后续的学习过程中,需要在 Windows 下使用 SecureCRT 作为终端,SecureCRT 支持 SSH 以及串口;
下载链接:SecureCRT 百度网盘
在这里插入图片描述
安装完成之后要激活,以管理员方式运行 Crack 文件夹下的 keygen.exe 文件;
在这里插入图片描述
在这里插入图片描述
出现 Patch has been done successfully 后点击确定;
在这里插入图片描述
把这个框中的内容复制;
在这里插入图片描述
双击运行 SecureCRT ,默认打开 SecureCRT 时候会是一个输入key的页面,什么都不输入,点击下一步,选择输入自己的相关信息,就会看到分别让你输入名称、序列号等相关日期了,完成结束。
在这里插入图片描述
在这里插入图片描述
差一张图片

6、vscode 安装

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

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

相关文章

Redis数据库:高可用集群架构

目录 前言 一、Redis数据库高可用 二、Redis 主从复制 1、Redis主从复制概述 1.1 Redis主从复制概念 1.2 Redis主从复制的作用 1.3 Redis主从复制的流程 2、搭建Redis主从复制 2.1 环境部署 2.2 主服务器修改配置文件 2.3 从服务器修改配置文件 2.4 测试主从复制效…

解决方案AssertionError: Torch not compiled with CUDA enabled

文章目录 一、现象二、解决方案 一、现象 报错显示 s torch.from_numpy(padding_seq([s])).cuda().long() File "D:\Anaconda3\lib\site-packages\torch\cuda\__init__.py", line 221, in _lazy_initraise AssertionError("Torch not compiled with CUDA ena…

Linux -- 字符设备驱动--LED的驱动开发(初级框架)

驱动框架一阶段 我们怎样去点亮一个 LED 呢?分为三步: 看原理图确定引脚,确定引脚输出什么电平才能点亮/熄灭 LED 看主芯片手册,确定寄存器操作方法:哪些寄存器?哪些位?地址是? 编…

[数据结构]不带头单向非循环链表

我们有学过,顺序表如何制作,还有一个与其非常相似的结构就是链表的制作,不过链表在数据中的存储不像顺序表一样是按照内存的顺序进行存储的,其在内存中是一块一块的进行存储,具体如何我们可以看看下面这张图 此链表有一个头指针p…

线程安全性问题的原因

1.抢占式执行随机调度 这里的意思就是,当两个线程同时启动的时候,两个线程会同时进行,并且是抢占式执行的。 而且是随机调度资源的。 如代码: public class Deome4 {public static void main(String[] args) {Thread t1 new …

2024单品正价起号,直播素材投流选品,【选品课】+【投流课】+【素材课】+【卡首屏】

课程下载:https://download.csdn.net/download/m0_66047725/89064168 更多资源下载:关注我。 课程内容: 01 01 1.如何养账号过风控,mp4 01 1.如何搭建一条计划(1)..mp4 02 1.如何搭建一条计划(2)..mp4 02 02 2.单品起号方案如何选择,mp4 03 2.-比…

【ONE·基础算法 || 字符串】

总言 主要内容:编程题举例,熟悉理解字符串类题型。       文章目录 总言1、字符串2、最长公共前缀(easy)2.1、题解 3、最长回文子串 (medium)3.1、题解 4、二进制求和(easy):高精度加法4.1、…

2.网络编程-HTTP和HTTPS

目录 HTTP介绍 HTTP协议主要组成部分 GET 和 POST有什么区别 常见的 HTTP 状态码有哪些 http状态码100 HTTP1.1 和 HTTP1.0 的区别有哪些 HTTPS 和 HTTP 的区别是什么 HTTP2 和 HTTP1.1 的区别是什么 HTTP3 和 HTTP2 的区别是什么 HTTPS的请求过程 对称加密和非对称…

armlinux裸机-uart

uart是一对一的串行异步全双工通信通信协议,串行速度较慢(usart支持同步通信) 传输原理 多个参数可以设置 为满足使用需求,我们一般都用带fifo缓冲中断。 我们使用S3C2440芯片,具体寄存器操作可以查看用户手册

积木报表Excel数据量大导出慢导不出问题、大量数据导不出问题优化方案和分析解决思路(优化前一万多导出失败,优化后支持百万级跨库表导出)

文章目录 积木报表Excel数据量大导出慢导不出问题、大量数据导不出问题优化方案和分析解决思路(优化前一万多导出失败,优化后支持百万级跨库表导出)优化结果需求背景和解决方案的思考解决方案流程描述:关键代码引入easy excel新建…

CentOS7.9.2009安装elasticsearch7.11.1(单节点)

本文章使用CentOS7.9.2009服务器安装elasticsearch7.11.1软件 1.服务器信息 [root@elasticsearch ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) [root@elasticsearch ~]# [root@elasticsearch ~]# cat /etc/hosts | grep elasticsearch 192.168.10.24…

如何理解图像处理领域的病态问题(ill-posed problem)

ill-posed problem,我们可以理解为病态问题或者不适定问题。在本文中,统一成为不适定问题。 在讨论不适定问题(ill-posed problem)之前,我们先来看一下什么叫适定性问题(well-posed problem)。…

14届蓝桥杯 C/C++ B组 T7 子串简写 (字符串)

采用存储目标字符下标的方法,此题的想法比较新奇,故予以记录。 存好下标之后,可以先定位好启始的字符,然后去搜结尾字符符合长度k并且最靠近启始字符的下标,找到之后可以直接取到这个下标之后的所有下标,因…

3d怎么在一块模型上开个孔---模大狮模型网

在进行3D建模时,有时候需要在模型上创建孔,以实现特定的设计需求或功能。无论是为了添加细节,还是为了实现功能性的要求,创建孔都是常见的操作之一。本文将介绍在3D模型上创建孔的几种常用方法,帮助您轻松实现这一目标…

免费全开源,功能强大的多连接数据库管理工具:DbGate

DbGate:您的全能数据库指挥中心,一站式免费开源解决方案,无缝连接并管理多款主流数据库,让复杂的数据世界变得轻松易控! - 精选真开源,释放新价值。 概览 DbGate 是跨平台的数据库管理器。支持 MySQL、PostgreSQL、SQ…

新零售SaaS架构:客户管理系统架构设计(万字图文总结)

什么是客户管理系统? 客户管理系统,也称为CRM(Customer Relationship Management),主要目标是建立、发展和维护好客户关系。 CRM系统围绕客户全生命周期的管理,吸引和留存客户,实现缩短销售周…

chrome 浏览器 有自带的自动字幕功能,支持英文,控制您的音乐、视频等媒体内容

chrome 浏览器 有自带的自动字幕功能,支持英文,控制您的音乐、视频等媒体内容

Android Studio学习15——多页面情况下再看Activity生命周期

按返回键退出APP时: 走正常页面的退出流程:onPause–>onStop–>onDestroy(会Destroy,因为它从任务栈中退出了) 再点击图标回来时: 走正常页面的创建流程:onCreate–>onStart–>onResume 按Home键退出App时&#xff1a…

【C#】yield使用

&#x1f4bb;代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks;namespace ConsoleApp15 {internal class Program{static void Main(string[] args){IEnumerable<int&…

深度比较Vue 3.0中的computed和watch属性用法与最佳实践

摘要&#xff1a;在Vue 3.0中&#xff0c;computed和watch属性是用于处理数据逻辑的重要工具。本文将详细对比这两个属性的工作原理、适用场景以及使用时的注意事项&#xff0c;旨在帮助开发者更有效地选择和使用它们。 一、computed属性 computed属性是Vue 3.0中用于计算数据…