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

相关文章

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

oracle 11g导入\导出(expdp impdp)之导入过程

《oracle11g导入导出(expdpimpdp)之导入过程》导出需使用SEC.DMP格式,无分号;建立expdir目录(E:/exp)并确保存在;导入在cmd下执行,需sys用户权限;若需修... 目录准备文件导入(impdp)1、建立directory2、导入语句 3、更改密码总结上一个环节,我们讲了

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资