Linux-ARM-裸机开发-开发环境搭建

芯片:IMX6U

Ubuntu 和 Windows 文件互传

方法一:复制粘贴

如果 Ubuntu 使用的是虚拟机 VMware 可以直接复制粘贴。如果是两天不同的主机,那么就无法复制。

方法二:FTP
1、开启 Ubuntu 下的 FTP 服务器。
bash 复制代码
sudo apt-get install vsftpd    //安装 FTP 服务
sudo vi/etc/vsftp.conf        // 通过 vi 命令打开 /etc/vsftp.conf

// 打开后找到下面这两行,确保这两行前面没有 # ,如果有 就删除掉。
local_enable=YES
write_enable=YES

:wq    //保存退出
sudo /etc/inti.d/vsftpd restart    //重启 FTP 服务
2、Windows 下 FTP 客户端安装

使用 FileZilla 这个软件。

文件->站点管理器->站点->输入名字---主机:Ubuntu 的 IP地址,通过 ifconfig 命令查看---用户:Ubuntu 的用户名---密码:Ubuntu 的密码。->点击连接->连接成功后,左侧是本地站点也就是 Windows 的文件,右侧就是 Ubuntu 。

如果 Ubuntu 下的文件夹显示都是乱码,是由于字符集的问题,解决方案。

文件->站点管理器->字符集->选择强制 UTF-8->点击连接。

传输方式:直接拖拽就可以。

Ubuntu 下 NFS 和 SSH 服务开启

NFS 服务开启

Linux 驱动开发,需要 NFS 启动,所以要先安装并开启 Ubuntu 中的 NFS 服务。

bash 复制代码
sudo apt-get install nfs-kernel-server portmap    //安装 NFS
mkdir linux/nfs    //创建一个 二层级文件夹 linux/nfs ,用于之后开发板通过网络访问 nfs 这个文件夹
sudo vi /etc/exorts    //配置 nfs,通过 vi 进入 exports文件
/home/feng/liux/nfs *(rw,snc,no_root_squash)    //添加这行命令
:wq    //保存退出
sudo /etc/init.d/nfs-kernel-server restart    //重启 NFS 服务
SSH 服务开启

开启 Ubuntu 的 SSH 服务以后我们就可以在 Windows 下使用终端登录到 Ubuntu ,这个不需要配置。

bash 复制代码
sudo apt-get install openssh-server

交叉编译器安装

需要在 Linux 下编译代码,那么就需要编译器,但是 Ubuntu 自带的 gcc 编译器是针对 X86 架构的,而我们要编译 ARM 架构的代码,所以需求是,在一个 X86 架构的 PC 上运行,可以编译 ARM 架构代码的 GCC 编译器,这个编译器就叫做 交叉编译器总结:

1、是一个 GCC 编译器。

2、运行在 X86 架构的 PC 上的。

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

交叉的意思是在一个架构上编译另外一个架构的代码,相当于两个架构价交叉起来了。

其他博客的交叉编译器方法

https://blog.csdn.net/weixin_53403301/article/details/147542636https://blog.csdn.net/weixin_53403301/article/details/147542636linaro 交叉编译器

https://releases.linaro.org/components/toolchain/binaries/https://releases.linaro.org/components/toolchain/binaries/

arm 提供的 GNU 交叉编译器

https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloadshttps://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads创建工具文件夹用于存放各种工具

bash 复制代码
mkdir /linux/tool    //以后和工具相关的放在 tool 文件夹下

通过 FTP 方式将 Windows 下载的交叉编译器放置到 Ubuntu 下的 linux/tool 文件夹下,然后将其复制到 /usr/local/arm/ 文件夹下,然后再解压。

bash 复制代码
sudo mkdri /usr/local/arm
cd /home/feng/linux/tool/
sudo cp gcc-linaro.4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz /usr/local/arm/
cd /usr/local/arm/
sudo tar -vxf gcc-linaro.4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz

解压完成之后,Ubuntu 添加环境变量,也就是打开 /etc/profile 然后再最下面添加下面内容:

bash 复制代码
sudo vi /etc/profile    //进入 /etc/profile 文件
//    添加下面环境变量路径
export PATH=SPATH:/usr/local/arm/gcc-linaro.4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin
:wq    //保存退出
reboot    //重启

arm-linux-gnueabihf-gcc -v    //验证是否安成功

Putty 软件的安装

用来作为 SSH 或 串口终端的。下载网址如下:

https://www.chiark.greenend.org.uk/~sgtatham/putty/https://www.chiark.greenend.org.uk/~sgtatham/putty/

相关推荐
arvin_xiaoting30 分钟前
#zsh# #Ubuntu# 一键安装zsh、oh-my-zsh、常用插件
linux·ubuntu·elasticsearch
脏脏a40 分钟前
【Linux】Linux工具漫谈:yum 与 vim,高效操作的 “左膀右臂”
linux·运维·服务器
APItesterCris1 小时前
构建弹性数据管道:利用淘宝商品 API 进行流式数据采集与处理
linux·数据库·windows
艾莉丝努力练剑1 小时前
【C++STL :stack && queue (一) 】STL:stack与queue全解析|深入使用(附高频算法题详解)
linux·开发语言·数据结构·c++·算法
kyle~1 小时前
计算机系统---CPU的进程与线程处理
linux·服务器·c语言·c++·操作系统·计算机系统
NiKo_W2 小时前
Linux 进程通信——基于责任链模式的消息队列
linux·服务器·消息队列·责任链模式·进程通信
云飞云共享云桌面2 小时前
广东某模具制造工厂用一台云服务器供8个研发设计同时用
linux·运维·服务器·网络·自动化·制造
江公望3 小时前
Ubuntu /usr/include/x86_64-linux-gnu目录的作用浅谈
linux·ubuntu
报错小能手3 小时前
linux学习笔记(31)网络编程——TCP time_wait机制
linux·笔记·学习
Raymond运维3 小时前
MySQL源码编译安装
linux·数据库·mysql