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开发环境配置--正点原子阿尔法开发板
Linux开发环境配置–正点原子阿尔法开发板 文章目录Linux开发环境配置--正点原子阿尔法开发板1.网络环境设置1.1添加网络适配器1.2虚拟网络编辑器设置1.3Ubuntu和Windows网络信息设置Ubuntu网络信息配置方式:1.系统设置->网络->选项2.配置网络文件2源码准备2.…...
Android ThreadPoolExecutor的基本使用
ThreadPoolExecutor是Java中的一个线程池类,Android中也可以使用该类来管理自己的线程池,它为我们管理线程提供了很多方便。 线程池是一种能够帮助我们管理和复用线程的机制,它可以有效地降低线程创建和销毁的开销。使用线程池可以避免不必要…...
基于区域生长和形态学处理的图像融合方法——Matlab图像处理
✅ 大三下时弄的 文章目录最终效果图摘要1 研究背景及意义2 基本原理描述3 实验数据来源3.1 原始图像的来源3.2 天空背景图像的来源4 实验步骤及相应处理结果4.1 原始图像的预处理4.2 区域生长法分割图像4.3 形态学处理填充孔洞4.4 边缘检测根据二值图像构造RGB图像4.5 图像拼接…...
三个案例场景带你掌握Cisco交换机VLAN互通
VLAN间路由的方式现在主流的组网主要是依靠三层交换机通过配置SVI接口【有的厂商叫VLANIF接口】,当然也有比较小型的网络,它就一个出口路由器可管理的二层交换机,还有一种更加差的,就是出口路由一个可管理的二层交换机,…...
小白入门之持久连接与非持久连接的差别
对比 HTTP 0.9 已过时 HTTP1.0:非持续连接,每个连接只处理一个请求响应事务,有些服务器端甚至还在用此,可以在一定时间内复用连接,具体复用时间的长短可以由服务器控制,一般在15s左右。 HTTP 1.1 默认使用持…...
TypeScript篇.01-简介,类,接口,基础类型
1.简介(1)安装及编译安装: npm install -g typescript创建 .ts 后缀名的文件编译: tsc 文件名.ts 编译后会生成同名 .js 的文件查看: 在html文件中script引入js文件,运行查看控制台即可(2)类型注解TypeScript里的类型注解是一种轻量级的为函数或变量添加约束的方式 变量或函数声…...
分享几种WordPress怎么实现相关文章功能
一淘模板(56admin.com)给大家介绍一下WordPress代码实现相关文章的几种方法,希望对大家有所帮助! WordPress很多插件可以实现相关文章的功能,插件的优点是配置简单,但是可能会对网站的速度造成一些小的影响…...
PANGO的IOB的电平能力那些事
LVCMOS33 如果要使用33电平,VCCIO则必须供电3V3. 在此制式下,VILMAX为0.8V,VIHMIN为2.0V,即,电平处于0.8V到2.0V之间时,处于浮游态。 VOLMAX是0.4V,VOHMIN是VCCIO-0.4V,折算下来&am…...
scrpy学习-02
新浪微博[Scrapy 教程] 3. 利用 scrapy 爬取网站中的详细信息 - YouTubedef parse(self,response):soup BeautifulSoup(response.body,html.parser)tags soup.find_all(a,hrefre.compile(r"sina.*\d{4}-\d{2}-\d{2}.*shtmls"))#匹配日期for tag in tags:url tag.get(…...
MySQL运维篇之Mycat分片规则
3.5.3、Mycat分片规则 3.5.3.1、范围分片 根据指定的字段及其配置的范围与数据节点的对应情况,来决定该数据属于哪一个分片。 示例: 可以通过修改autopartition-long.txt自定义分片范围。 注意: 范围分片针对于数字类型的字段,…...
vue router elementui template CDN模式实现多个页面跳转
文章目录前言一、elementui Tabs标签页和NavMenu 导航菜单是什么?二、使用方式1.代码如下2.页面效果总结前言 写上一篇bloghttps://blog.csdn.net/jianyuwuyi/article/details/128959803的时候因为整个前端都写在一个index.html页面里,为了写更少的代码…...
ElasticSearch - ElasticSearch基本概念及集群内部原理
文章目录1. ElasticSearch的应用场景01. Elasticsearch 是什么?02. 为何使用 Elasticsearch?03. Elasticsearch 的用途是什么?04. Elasticsearch 的工作原理是什么?05. Elasticsearch 索引是什么?06. Logstash 的用途是…...
【反射中,Class.forName和ClassLoader区别】
在Java中,可以使用反射机制来获取类的信息并动态地创建对象。其中,Class是Java反射机制中的重要类,表示一个类的信息。 Class.forName()和ClassLoader都可以用于获取类的Class对象,但它们之间存在一些差别: 1、是否会…...
2023了为什么还有人在问:女生适合做跨境电商吗?
女生适合做跨境电商吗?这是东哥最近咨询里面问最多的,今天东哥就给大家解答一下你们内心的疑惑,虽然代表的是东哥我自己的观点,但我觉得还是很值得深思的。 女生适合做跨境电商吗? 性别并不是决定一个人是否适合从事跨…...
磁盘分区和挂载
磁盘分区和挂载一、linux分区1.原理介绍2.分区和文件关系示意图:3.硬盘说明二、linux分区1.查看所有设备挂载情况三、挂载案例1.使用lsblk命令查看2. 虚拟机硬盘分区3.虚拟机硬盘分区格式化4.mount挂载 重启挂载失效4.1挂载名词解释4.2注意事项4.3挂载4.4挂载非空目…...
电子技术——晶体管尺寸
电子技术——晶体管尺寸 在本节我们介绍关于IC设计的一个重要的参数晶体管尺寸(例如长度和长宽比)。我们首先考虑MOS反相器。 反相器尺寸 为了说明 (W/L)(W/L)(W/L) 的尺寸大小以及 (W/L)p(W/L)_p(W/L)p 和 (W/L)n(W/L)_n(W/L)n 的比例问题对于MO…...
Tuxera NTFS2023MacOS读写软件功能介绍使用
当我们遇到磁盘不能正常使用的情况时本能的会以为是磁盘损坏了,但某些情况下却并非如此。对于mac操作系统来说,软件无法使用设备无法正常读写似乎是很常见的事,毕竟现在的mac电脑对PC机上的产品无法完全适应使用,经常会存在兼容方…...
2022年数维杯国际大学生数学建模挑战赛A题自动地震地平线跟踪解题全过程论文及程序
2022年数维杯国际大学生数学建模挑战赛 A题 自动地震地平线跟踪 原题再现: 随着我国经济社会发展,地质工作的重要性也日益提高。地震资料解释是地震勘探工程的一个重要阶段,可以明确油气勘探的地下构造特征,为油气勘探提供良好和…...
推荐系统[八]:推荐系统常遇到问题和解决方案[物品冷启动问题、多目标平衡问题、数据实时性问题等]
相关文章推荐: 推荐系统[一]:超详细知识介绍,一份完整的入门指南,解答推荐系统相关算法流程、衡量指标和应用,以及如何使用jieba分词库进行相似推荐,业界广告推荐技术最新进展 推荐系统[二]:召回算法超详细讲解[召回模型演化过程、召回模型主流常见算法(DeepMF/TDM/Ai…...
shutil.copyfile PermissionError: [Errno 13] Permission denied
File "G:/od15/调试/翻译文件更换/更新翻译po文件.py", line 42, in <module> shutil.copyfile(gxpath,dir_file_path) File "E:\odsoft\python\lib\shutil.py", line 120, in copyfile with open(src, rb) as fsrc: PermissionError: [Er…...
从理论到实践:IGBT热设计与损耗估算的工程化指南
1. IGBT热设计的基础原理 IGBT(绝缘栅双极型晶体管)作为现代电力电子系统的核心器件,其热设计直接关系到设备可靠性和寿命。我第一次接触IGBT热设计是在开发工业变频器时,当时因为散热计算失误导致批量产品返修,这个教…...
ARM LDM指令原理与应用详解
1. ARM LDM指令架构解析LDM(Load Multiple)指令是ARM架构中用于批量加载数据的核心指令之一。作为一位长期从事ARM底层开发的工程师,我经常需要在中断处理、上下文切换等场景中使用LDM指令。与单寄存器加载指令相比,LDM指令通过单条指令即可实现从连续内…...
从国赛H题到实战:构建远程幅频特性测试系统的硬件设计精要
1. 从竞赛到实战的硬件设计转型 参加电子设计竞赛的朋友们都知道,国赛H题这类题目往往能给我们带来宝贵的实战经验。2017年的这道远程幅频特性测试装置题目,看似是一个具体的竞赛任务,实则蕴含了许多通用硬件设计原理。我在实际项目中多次运用…...
【Prometheus】如何诊断 Prometheus 查询缓慢或超时的问题?
Prometheus 查询性能深度调优:从高基数陷阱到 TSDB 存储引擎的全链路诊断 用户问题原文:“如何诊断 Prometheus 查询缓慢或超时的问题?” 在支撑单集群500万+时间序列的生产环境中,Prometheus 查询性能是 SRE 团队的生命线。一次缓慢的查询不仅会拖垮 Grafana 面板,更可能…...
AI编程助手统一工作空间框架:声明式配置提升开发效率
1. 项目概述:为AI编程助手打造的统一工作空间框架如果你和我一样,每天都在用Cursor、GitHub Copilot这类AI编程助手,那你肯定也遇到过这个痛点:每次开新项目,或者切换到一个稍微复杂点的多项目工作区,都得从…...
AI浪潮下,普通程序员如何避免沦为“提示词工程师”?
一、从“提示词执行者”到“质量架构师”:重新定义测试的价值锚点AI之所以能替代大量重复性测试工作,是因为它擅长处理“已知的已知”——那些规则明确、边界清晰的测试场景。然而,软件测试的真正价值,从来不在执行层面࿰…...
告别大影像卡顿:手把手教你用GISBox做影像切片
从城市规划的精准布局,到自然资源的合理开发利用,再到应急救援的高效指挥,GIS影像都扮演着至关重要的角色。而影像切片技术,作为GIS影像处理和应用的关键环节,更是为我们解决了诸多实际难题,让GIS影像的应用…...
Tokscale:AI编程助手Token成本监控与优化实战指南
1. 项目概述:为什么你需要一个AI助手“电费”监控器 如果你和我一样,每天的工作流里塞满了各种AI编程助手——从OpenCode、Claude Code到Cursor、Copilot CLI,甚至还在尝试各种新冒出来的工具,那你肯定有过这样的瞬间:…...
Godot行为树框架实战:构建模块化、可复用的游戏AI系统
1. 项目概述:为你的Godot游戏注入灵魂的AI框架 在游戏开发中,给NPC(非玩家角色)赋予“灵魂”一直是个既迷人又头疼的挑战。你肯定不想让敌人像木桩一样站着,或者只会沿着固定路线来回踱步,对吧?…...
使用taotoken cli工具一键配置ubuntu开发环境中的多工具密钥
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用taotoken cli工具一键配置ubuntu开发环境中的多工具密钥 在开发环境中接入多个大模型工具时,手动配置每个工具的AP…...
