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

相关文章

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

Spring AI集成DeepSeek的详细步骤

《SpringAI集成DeepSeek的详细步骤》DeepSeek作为一款卓越的国产AI模型,越来越多的公司考虑在自己的应用中集成,对于Java应用来说,我们可以借助SpringAI集成DeepSe... 目录DeepSeek 介绍Spring AI 是什么?1、环境准备2、构建项目2.1、pom依赖2.2

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

Goland debug失效详细解决步骤(合集)

《Golanddebug失效详细解决步骤(合集)》今天用Goland开发时,打断点,以debug方式运行,发现程序并没有断住,程序跳过了断点,直接运行结束,网上搜寻了大量文章,最后得以解决,特此在这... 目录Bug:Goland debug失效详细解决步骤【合集】情况一:Go或Goland架构不对情况二:

redis群集简单部署过程

《redis群集简单部署过程》文章介绍了Redis,一个高性能的键值存储系统,其支持多种数据结构和命令,它还讨论了Redis的服务器端架构、数据存储和获取、协议和命令、高可用性方案、缓存机制以及监控和... 目录Redis介绍1. 基本概念2. 服务器端3. 存储和获取数据4. 协议和命令5. 高可用性6.