- U-Boot、Linux Kernel和 rootfs 这三者一起构成了一个完整的 Linux 系统。
一、Ubuntu 和 Windows 文件互传
1、开启 Ubuntu 下的 FTP 服务
-安装 FTP 服务
sudo apt-get install vsftpd
- 修改/etc/vsftpd.conf
- 重启 FTP 服务
sudo /etc/init.d/vsftpd restart
2、Windows 下 FTP 客户端安装
- FileZilla,免费的 FTP 客户端软件(https://www.filezilla.cn/download)
- 点击:文件->站点管理器
二、Ubuntu 下 NFS 和 SSH 服务开启
1、 NFS 服务开启
- 进行 Linux 驱动开发的时候需要 NFS 启动。
sudo apt-get install nfs-kernel-server rpcbind
-
根目录下创建一个名为“linux”的文件夹,在文件夹中创建的 nfs 文件夹供 nfs 服务器使用,以后可以在开发板上通过网络文件系统来访问 nfs 文件夹,要先配置 nfs。
-
打开/etc/exports,添加如下内容:
/home/david/linux/nfs *(rw,sync,no_root_squash)
- 重启 NFS 服务
sudo /etc/init.d/nfs-kernel-server restart
2、SSH 服务开启
- 开启 Ubuntu 的 SSH 服务以后我们就可以在 Windwos 下使用终端软件登陆到 Ubuntu,比如使用 SecureCRT。
- ssh 的配置文件为/etc/ssh/sshd_config,使用默认配置即可。
sudo apt-get install openssh-server
三、Ubuntu 交叉编译工具链安装
- 是一个 GCC 编译器,运行在 X86 架构的 PC 上,这个 GCC 编译器是编译 ARM 架构代码的,也就是编译出来的可执行文件是在 ARM 芯片上运行的。
1、安装交叉编译器
- ARM 官方出品的交叉编译器:gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf
- 在 Ubuntu 中创建目录:/usr/local/arm,将交叉编译器拷贝到这个目录。
sudo mkdir /usr/local/arm
- 拷贝完成以后在/usr/local/arm 目录中对交叉编译工具进行解压
sudo tar -vxf gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz
- 修改环境变量,使用打开/etc/profile 文件,在最后面输入如下所示内容
export PATH=$PATH:/usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin
2、安装相关库
sudo apt-get update //先更新,否则安装库可能会出错
sudo apt-get install lsb-core lib32stdc++6 //安装库
3、交叉编译器验证
arm-none-linux-gnueabihf-gcc -v
1、arm 表示这是编译 arm 架构代码的编译器。
2、none 表示厂商,一般半导体厂商会修改通用的交叉编译器,此处就是半导体厂商的名
字,ARM 自己做的交叉编译这里为 none,表示没有厂商。
3、linux 表示运行在 linux 环境下。
4、gnueabihf 表示嵌入式二进制接口,后面的 hf 是 hard float 的缩写,也就是硬件浮点,说
明此交叉编译工具链支持硬件浮点。
5、gcc 表示是 gcc 工具。
四、工具软件安装
- 常用的两款软件
1、VScode软甲安装
2、MobaXterm 软件安装
五、Windows 下 ST 官方软件安装
- 使用的是STM32MP157,需使用
- Java 环境安装
- STM32CubeMX 安装
- STM32CubeIDE 安装,用于STM32MP157 的 M4 开发,安装包解压到非中文路径下。
- STM32CubeProgrammer 安装
- USB DFU 以及 STLink 驱动安装,在 Windows 下 USB DFU 驱动不需要安装,所以只需要安装 STLink 驱动。
六、使用路由器Windows Ubuntu Linux开发板三者互通
- 线路:笔记本+开发板->网线(无线)连接到路由器
- 串口连接开发板,‘ifconfig’查看网卡IP信息,'udhcpc’自动获取开发板自身IP。
- 可以通过‘ping’指令,测试开发板与windows之间的通讯情况(注意关闭防火墙)。
- 配置虚拟机网络适配器参数,第一个网络适配器配置为’NET模式’,使ubuntu可上网;第二个配置为桥接模式,使ubuntu能够在同一网段内获取IP地址,使三者互通。
- 如果使用unbutu终端查看没有自动获取IP地址,则需要关闭unbutu后配置一下虚拟机的编辑-》“虚拟网络适配器”。
- 配置虚拟网络编辑器,选择桥接模式,选择对应的网卡。
- 启动unbutu查看一下网卡信息,若仍然没有,可“sudo dhclient”主动获取一下。
- 到这里就可以实现windows、unbuntu、开发板之间的三者互通。
- 参照【正点原子】文档学习。