基于正点原子alpha开发板的第三篇系统移植

news2024/9/25 22:34:49

系统移植的三大步骤如下:

  1. =系统uboot移植====
  2. =系统linux移植====
  3. =系统rootfs制作====

一言难尽,踩了不少坑,当时只是想学习驱动开发,发现必须要将第三篇系统移植弄好才可以学习后面驱动,现将移植好的文件分享出来:
仓库:https://gitee.com/wangyoujie11/imx6u-ll-uboot-kernel-rootfs.git
在这里插入图片描述

使用如下

如果直接使用我移植好的四大组件,只需要完成以下配置

  1. 将usb线连接开发板的OTG串口,另一端连接电脑;然后另一根连接USB_TTL串口,另一端连接电脑;
  2. 检测自己的sd卡是否取下(sd卡槽不能插卡)
  3. 红色拨码开关打到USB启动
  4. 给板子上电,双击打开mfgtool2-alientek-alpha-emmc.vbs文件,提示“符合标准就可以点击start,等待烧入,可以打开串口助手查看下载信息。提示信息如下所示,说明以及将系统烧写到板子上的emmc了。

在这里插入图片描述

从emmc启动将红色拨码开关打到emmc启动,然后复位板子就可以正常进入了boot命令,先输入ls mmc 1:1查看是否是图中的信息,没问题就输入环境变量:


=>setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw

=>setenv bootcmd 'mmc dev 1;fatload mmc 1:1 80800000 zImage;fatload mmc 1:1 83000000 imx6ull-alientek-emmc.dtb;bootz 80800000-83000000;'

boot

在这里插入图片描述
在这里插入图片描述
从SD启动将红色拨码开关打到SD启动。首先准备工作alientek-linux和alientek-uboot和alientek-rootfs下载到本地ubuntu下解压如下:
链接:https://pan.baidu.com/s/18e-UhGz_HCEF9-Z2ADEjlg
提取码:wjwj

在这里插入图片描述

  1. 进入alientek-uboot文件下,打开终端使用./imxdownload u-boot.bin /dev/sdb(自己的sd)中
  2. 然后将SD卡插入到板子卡槽内,使用SD卡启动模式
  3. 在tftp文件下面添加如下内容(可以在alientek-linux文件中找到)
    在这里插入图片描述
  4. 将rootfs文件解压到nfs文件夹下面
    在这里插入图片描述
  5. 使用chmod 777 -R nfs 和chmod 777 -R tftpboot。给这俩个文件夹权限
  6. 开发板直连电脑搭建NFS&TFTP环境配置:https://blog.csdn.net/zzssdd2/article/details/110455413。注意:路径一定要改为自己的路径
  7. 板子从SD卡启动,然后就可以使用驱动例程来做了,在编译驱动例程的时候,需要替换官方的路径
    在这里插入图片描述
    在这里插入图片描述
  8. 确定板子的信息是
    在这里插入图片描述
 # 设置启动参数bootargs
#	nfsroot后的参数为Ubuntu的nfs文件夹路径;格式为:nfsroot=NFS服务器IP:文件系统的绝对路径.
#	ip后的参数为开发板网络信息:ip=开发板IP:服务器IP:网关,子网掩码::eth0:off. 
setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs rw nfsroot=192.168.104.88:/home/wj/linux/nfs/rootfs ip=192.168.104.90:192.168.104.88:192.168.104.1:255.255.255.0::eth0:off’
# 保存
=> saveenv
Saving Environment to MMC... Writing to MMC(0)... OK
# 复位重启
=> reset

重启板子之后就会出现:
在这里插入图片描述
然后在自己的ubuntu下找到一个编译好的驱动例程,使用如下命令就可以将程序拷贝到开发板的/lib/modules/4.1.15/路径下

sudo cp chrdevbase.ko chrdevbaseApp /home/wj/linux/nfs/rootfs/lib/modules/4.1.15/ -f

至此,所有的移植就完成了,可以愉快的驱动开发了

使用02_led驱动例程测试:
在这里插入图片描述
挂载之后就行点灯操作:
在这里插入图片描述请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1074137.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一篇讲清楚Java for循环详解

for 语句是应用最广泛、功能最强的一种循环语句。大部分情况下,for 循环可以代替 while 循环、do while 循环。 for 语句是一种在程序执行前就要先判断条件表达式是否为真的循环语句。假如条件表达式的结果为假,那么它的循环语句根本不会执行。for 语句通…

七个有用的 GIT 命令

在这篇文章中,我将与你分享7个 GIT 命令。 它们是有用的简短命令,但有时我们会错过它们。 01、查看之前的分支 我们将从一个非常短的 git 命令开始这个列表。 有时,我们在分支机构工作。 对于某些季节,我们需要切换到另一个分支…

图片批量处理:将长图切割成短图,轻松高效!

在日常生活中,我们经常需要处理大量的图片,包括上传和下载的图片。有时候,我们可能需要将这些长图切割成几个短图,以便更好地管理和使用。但是,如何快速高效地完成这个任务呢?今天,我们将向你介…

ViewPager、RecycleView实现轮播图

1.ViewPager实现轮播图形效果。 1&#xff09;layout中&#xff0c;PageIndicatorView轮播的View <RelativeLayoutandroid:layout_width"match_parent"android:layout_height"200dp"android:orientation"vertical"><androidx.viewpager…

nio 文件传输

transferto方法一次只能传输2个g的数据 文件大于2个g时

双十一孩子护眼台灯应该怎么选?2023好用护眼台灯推荐

在快节奏的生活中&#xff0c;孩子的压力越来越大&#xff0c;越来越需要良好的光线进行学习&#xff0c;越来越多的家长考虑到孩子的视力问题&#xff0c;选择购买护眼台灯来为孩子提供良好舒适的光线环境&#xff0c;选择一款舒适的护眼台灯尤为重要&#xff0c;那么&#xf…

fastadmin 后台列表数据多表查询筛选

记录一下fastadmin后台列表数据连表查询筛选提示&#xff1a; 1&#xff1a;下拉框方式搜索 示例&#xff1a; 在对应js文件中添加如下代码&#xff1a; 代码&#xff1a; {field: s.area_id,title: __(所属片区),visible: false,//不显示在列表中operate: ,searchList: $.…

3.2.OpenCV技能树--二值图像处理--图像腐蚀与膨胀

文章目录 1.文章内容来源2.图像膨胀处理2.1.图像膨胀原理简介2.2.图像膨胀核心代码2.3.图像膨胀效果展示 3.图像腐蚀处理3.1.图像腐蚀原理简介3.2.图像腐蚀核心代码3.3.图像腐蚀效果展示 4.易错点总结与反思 1.文章内容来源 1.题目来源:https://edu.csdn.net/skill/practice/o…

芥墨 | 设计需要平衡那些我们都会跳跃的创意

在这个空间很显然&#xff0c;洞石是作为设计师的首选&#xff0c;在电视墙、壁炉、都用了温润柔和的洞石铺设而成。设计这个门洞也是请了设计师最喜爱的工匠合作&#xff0c;他们知道如何配合设计师&#xff0c;精准的执行&#xff0c;对细节有着极致的标准。

如何解决openal32.dll丢失,有什么办法解决

你第一次知道openal32.dll文件是在什么情况下&#xff0c;你了解过openal32.dll文件吗&#xff1f;如果电脑中openal32.dll丢失有什么办法可以解决&#xff0c;今天就教大家如何解决openal32.dll丢失&#xff0c;都有哪些办法可以解决openal32.dll丢失。 一&#xff0e;openal3…

解决: 使用html2canvas和print-js打印组件时, 超出高度出现空白页

如果所示&#xff1a;当我利用html2canvas转换成图片后, 然后使用print-js打印多张图片, 第一张会出现空白页 打印组件可参考这个: Vue-使用html2canvas和print-js打印组件 解决: 因为是使用html2canvas转换成图片后才打印的, 而图片是行内块级元素, 会有间隙, 所以被挤下去了…

基于YOLOv5的火灾烟雾检测系统

目录 1&#xff0c;YOLOv5算法原理介绍 2&#xff0c;代码实现 3&#xff0c;结果展示 1&#xff0c;YOLOv5算法原理介绍 YOLOv5是目前应用广泛的目标检测算法之一&#xff0c;其主要结构分为两个部分&#xff1a;骨干网络和检测头。 骨干网络采用的是CSPDarknet53&#xff…

机器学习必修课 - 交叉验证 Cross-Validation

想象一下你有一个包含5000行数据的数据集。通常情况下&#xff0c;你会将约20%的数据保留作为验证数据集&#xff0c;即1000行。但这会在确定模型得分时引入一些随机性。也就是说&#xff0c;一个模型可能在一组1000行数据上表现良好&#xff0c;即使在另一组1000行数据上表现不…

信息收集-01-WEB应用

针对各种应用的信息收集&#xff08;Web网站、APP应用、PC应用、小程序应用、微信公众号等&#xff09; 常见查询网址和平台 1.业务资产 企业资产分五类&#xff1a;Web应用、APP应用、PC端应用、小程序应用、微信公众号、其他产品 信息收集目标&#xff1a;某某企业、某某…

C语言打印菱形

一、运行结果图 二、源代码 # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int line 0;int i 0;int j 0;//获取变量值&#xff1b;scanf("%d", &line);//循环打印上半部分&#xff1b;for (i 0; i <…

解决nginx反向代理web service的soap:address location问题

原webservice是部署在tomcat上&#xff0c;使用的http协议端口是80&#xff0c;基于安全原因&#xff0c;需要升级使用https&#xff0c;使用了简单的方式在最外层加nginx做反向代理&#xff0c;业务调用webservice接口通过nginx再去访问。nginx需要开启SSL配置证书。 现在发现…

深度学习纯小白如何从零开始写第一篇论文?看完这篇豁然开朗!

&#x1f4e2;前言 上个月小贾消失了一段时间&#xff0c;原因就是。。。 写论文去啦&#xff01;&#xff01;&#xff01; 先拿我导的认可镇个楼&#xff1a; 本篇文章将分享我个人从迷茫地找方向→苦苦做了48次实验才高效涨点→写论文到头秃等等一系列真实经历&#xff0c…

2023年中国地面安全门产业链、市场规模及行业需求前景分析[图]

地面安全门是一种用于地下停车场或车库入口的特殊门类&#xff0c;通常是钢质或铝质制成&#xff0c;可以在地面上开启和关闭&#xff0c;使车辆能够进出停车场。地面安全门通常配备电动驱动系统和遥控器&#xff0c;方便用户远程控制门的开启和关闭。 地面安全门行业分类 资料…

网表导入virtuoso后发现pg pin忘记connect_pg_net/globalNetConnect怎么办?

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 数模混合项目中经常需要一些需要到virtuoso去连接的线,比如IO上的pg和一些信号线,除了在pr工作中设置skip route之外还需要做好net的赋值,告诉工具虽然我没在物理上有连接,但是实际上应该连什么…

数据库中删除部分记录,导致的自增 ID 的不连续问题

问题如图所示&#xff1a; 删除了部分数据后&#xff0c;自增 ID 从 21 处开始断层&#xff0c;从而出现了自增 ID 不连续的问题 解决方法&#xff1a; 设置变量i 0 把表中的id字段都重新修改一遍&#xff0c;从1开始 设置自增值为1&#xff0c;防止下次插入数…