Linux开发环境配置详细过程--正点原子阿尔法开发板

本文主要是介绍Linux开发环境配置详细过程--正点原子阿尔法开发板,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Linux开发环境配置–正点原子阿尔法开发板


文章目录

  • Linux开发环境配置--正点原子阿尔法开发板
  • 1.网络环境设置
    • 1.1添加网络适配器
    • 1.2虚拟网络编辑器设置
    • 1.3Ubuntu和Windows网络信息设置
    • Ubuntu网络信息配置方式:
      • 1.系统设置->网络->选项
      • 2.配置网络文件
  • 2源码准备
    • 2.1编译内核源码
    • 2.2编译uboot源码
  • 3uboot配置


1.网络环境设置

开发环境,电脑使用无线网卡为开发板提供网络

1.1添加网络适配器

编辑虚拟机设置->添加->网络适配器->设置添加的网络适配器为NAT模式
在这里插入图片描述

1.2虚拟网络编辑器设置

编辑->虚拟网络编辑器设置->更改设置->添加网络VMnet0并设置为桥接模式->保存后还原默认设置
在这里插入图片描述

1.3Ubuntu和Windows网络信息设置

上述设置后Ubuntu中会有两个网卡的信息,一个用来让Ubuntu上网,另一个用于为开发板提供网络。
在这里插入图片描述
如图所示,网卡ens38让虚拟机上网,ens33为开发板提供网络
配置ens38网卡信息与前面虚拟网络编辑器中NAT模式的网卡信息在同一子网下
配置ens33网卡信息与usb转网口的网卡信息一致
在这里插入图片描述

Ubuntu网络信息配置方式:

1.系统设置->网络->选项

ens33
在这里插入图片描述
ens38
在这里插入图片描述

2.配置网络文件

编辑网络文件

sudo vim /etc/network/interfaces

eg:

auto lo
iface lo inet loopbackauto ens33
iface ens33 inet static
address 192.168.10.100
gateway 192.168.10.1
netmask 255.255.255.0
#network 192.168.10.225
#broadcast 192.168.10.255auto ens38
iface ens38 inet static
address 192.168.187.128
gateway 192.168.187.1
netmask 255.255.255.0
#network 192.168.187.0
#broadcast 192.168.187.255dns-nameserver 8.8.8.8

重新加载网络配置文件

sudo /etc/init.d/networking force-reload

重启网络服务

sudo /etc/init.d/networking restart

重启

reboot

2源码准备

获取正点原子提供的Linux内核源码及其uboot源码

2.1编译内核源码

解压内核

tar -vxjf linux-imx-xxxxx

编译内核

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx_v7_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j16

将开发板对应的设备树文件和镜像文件拷贝到tftp目录下

cp arch/arm/boot/zImage /home/alientek/linux/tftp -f
cp arch/arm/boot/dts/imx6ull-14x14-evk.dtb /home/alientek/linux/tftp -f

2.2编译uboot源码

解压uboot

tar -vxjf uboot-im-xxxxxxxxx

编译uboot

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_14x14_ddr512_emmc_defconfig
make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j12

编译成功:
在这里插入图片描述
在这里插入图片描述

将编译出来的u-boot.bin文件下载到tf卡中,使用 imxdownload 软件烧写,

chmod 777 imxdownload
./imxdownload u-boot.bin /dev/sdd

注意:
1.tf卡在下载前必须格式化干净
2.使用imxdownload下载
tf卡格式化不干净后果,启动uboot时始终卡在:

在这里插入图片描述

3uboot配置

设置开发板为sd卡启动,上电启动uboot,进入uboot命令模式
在这里插入图片描述
配置uboot网络信息

setenv ipaddr 192.168.10.101
setenv ethaddr b8:ae:1d:01:00:00
setenv gatewayip 192.168.10.1
setenv netmask 255.255.255.0
setenv serverip 192.168.10.100
saveenv

在这里插入图片描述
配置后使用开发板ping serverip,ping通即配置成功
配置环境变量和根文件系统目录

setenv bootargs 'console=tty1 console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.10.100:/home/alientek/linux/nfs/rootfs,proto=tcp rw ip=192.168.19.101:192.168.19.100:192.168.19.1:255.255.255.0::eth0:off'
saveenv

格式参考:

setenv bootargs ‘console=开发板串口,波特率 root=挂载方式 \nfsroot=虚拟机 IP
地址:文件系统路径,proto=传输协议 读写权限 \ip=开发板 IP 地址:虚拟机 IP
地址:网关地址:子网掩码::开发板网口:off’

注意:
文件系统路径不要错
IP地址等信息不要错
根文件系统路径错误或IP信息填错可能的结果:

在这里插入图片描述

设置环境变量 bootcmd 来挂载 tftp 目录下的内核、设备树文件到开发板内存中。

setenv bootcmd 'tftp 80800000 zImage; tftp 83000000 imx6ull-14x14-evk-emmc.dtb; bootz 80800000 - 83000000'
saveenv

重启开发板即可启动内核:
在这里插入图片描述

这篇关于Linux开发环境配置详细过程--正点原子阿尔法开发板的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/794897

相关文章

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

linux如何复制文件夹并重命名

《linux如何复制文件夹并重命名》在Linux系统中,复制文件夹并重命名可以通过使用“cp”和“mv”命令来实现,使用“cp-r”命令可以递归复制整个文件夹及其子文件夹和文件,而使用“mv”命令可以... 目录linux复制文件夹并重命名我们需要使用“cp”命令来复制文件夹我们还可以结合使用“mv”命令总

Spring Boot 3 整合 Spring Cloud Gateway实践过程

《SpringBoot3整合SpringCloudGateway实践过程》本文介绍了如何使用SpringCloudAlibaba2023.0.0.0版本构建一个微服务网关,包括统一路由、限... 目录引子为什么需要微服务网关实践1.统一路由2.限流防刷3.登录鉴权小结引子当前微服务架构已成为中大型系统的标

MySQL zip安装包配置教程

《MySQLzip安装包配置教程》这篇文章详细介绍了如何使用zip安装包在Windows11上安装MySQL8.0,包括下载、解压、配置环境变量、初始化数据库、安装服务以及更改密码等步骤,感兴趣的朋... 目录mysql zip安装包配置教程1、下载zip安装包:2、安装2.1 解压zip包到安装目录2.2

Java集合中的List超详细讲解

《Java集合中的List超详细讲解》本文详细介绍了Java集合框架中的List接口,包括其在集合中的位置、继承体系、常用操作和代码示例,以及不同实现类(如ArrayList、LinkedList和V... 目录一,List的继承体系二,List的常用操作及代码示例1,创建List实例2,增加元素3,访问元

Linux使用cut进行文本提取的操作方法

《Linux使用cut进行文本提取的操作方法》Linux中的cut命令是一个命令行实用程序,用于从文件或标准输入中提取文本行的部分,本文给大家介绍了Linux使用cut进行文本提取的操作方法,文中有详... 目录简介基础语法常用选项范围选择示例用法-f:字段选择-d:分隔符-c:字符选择-b:字节选择--c

使用Go语言开发一个命令行文件管理工具

《使用Go语言开发一个命令行文件管理工具》这篇文章主要为大家详细介绍了如何使用Go语言开发一款命令行文件管理工具,支持批量重命名,删除,创建,移动文件,需要的小伙伴可以了解下... 目录一、工具功能一览二、核心代码解析1. 主程序结构2. 批量重命名3. 批量删除4. 创建文件/目录5. 批量移动三、如何安

MySQL 中的服务器配置和状态详解(MySQL Server Configuration and Status)

《MySQL中的服务器配置和状态详解(MySQLServerConfigurationandStatus)》MySQL服务器配置和状态设置包括服务器选项、系统变量和状态变量三个方面,可以通过... 目录mysql 之服务器配置和状态1 MySQL 架构和性能优化1.1 服务器配置和状态1.1.1 服务器选项

Java中对象的创建和销毁过程详析

《Java中对象的创建和销毁过程详析》:本文主要介绍Java中对象的创建和销毁过程,对象的创建过程包括类加载检查、内存分配、初始化零值内存、设置对象头和执行init方法,对象的销毁过程由垃圾回收机... 目录前言对象的创建过程1. 类加载检查2China编程. 分配内存3. 初始化零值4. 设置对象头5. 执行

SpringBoot整合easy-es的详细过程

《SpringBoot整合easy-es的详细过程》本文介绍了EasyES,一个基于Elasticsearch的ORM框架,旨在简化开发流程并提高效率,EasyES支持SpringBoot框架,并提供... 目录一、easy-es简介二、实现基于Spring Boot框架的应用程序代码1.添加相关依赖2.添