linux笔记(9):MangoPi-MQ(芒果派麻雀D1s)Tina系统编译烧录

news2025/1/20 14:49:46

文章目录

  • 1.下载相关资料
    • 1.1 WhyCan Forum(哇酷开发者社区)提供的sdk
      • 1.1.1 SDK解压过程
    • 1.2 WhyCan Forum(哇酷开发者社区)提供的补丁
      • 1.2.1 补丁包含的文件
      • 1.2.2 补丁文件和D1下面的相同文件进行合并
      • 1.2.3 引脚PD17被复用,导致LCD变暗,修改设备树
  • 2. 编译tina-sdk
    • 2.1 获取环境变量
    • 2.2 选择编译目标 d1_mangopi_mq_rgb800x480_gt9xx-tina
    • 2.3 编译
    • 2.4 打包
  • 3.烧录
  • 4.运行前准备-接线
    • 4.1 液晶屏接线
    • 4.2 电容触摸接线
  • 5.运行
  • 6.修改开机logo

这里是我根据网友文章照章操作的记录。
我在芒果派的官方淘宝店买了芒果派麻雀开发板(D1s)+5寸电容触摸屏800x480.
参考文章:
1.作者:丨匿名用户丨 , 全志D1s/F133学习笔记(2)——MangoPi-MQ(芒果派麻雀)Tina系统编译烧录
2.B站视频:
【【分享】 小麻雀 全志D1S 镜像编译】https://www.bilibili.com/video/BV1mF411B7v9?vd_source=9b9d77fdd745041a813065a38aab1bbc

1.下载相关资料

1.1 WhyCan Forum(哇酷开发者社区)提供的sdk

  • SDK百度云下载:提取码: 6666 解压密码: whycan.com https://pan.baidu.com/s/1QjHPLrWIRQMUb7sr4eBd-g=6666
    在这里插入图片描述

1.1.1 SDK解压过程

  • 1.把3个分卷合并

d1_sdk.tar.zip.001 ,d1_sdk.tar.zip.002,d1_sdk.tar.zip.003

> cat d1_sdk.tar.zip.00* > d1_sdk.tar.zip

合并后变成一个文件:d1_sdk.tar.zip

  • 2.unzip解压
> unzip d1_sdk.tar.zip

解压完毕生产 d1_sdk.tar

  • 3.tar 解压
> tar  -xf  d1_sdk.tar

解压完成后,在当前目录下生成 《D1》子目录:
在这里插入图片描述

我觉得这个过程挺复杂的,不是很熟悉,觉得可能是哪里出了问题,不应该这么复杂。

1.2 WhyCan Forum(哇酷开发者社区)提供的补丁

5寸800x480,4.3寸480x272补丁:芒果派麻雀固件与源码补丁2021-12-16.7z
https://bbs.aw-ol.com/assets/uploads/files/1639823150751-%E8%8A%92%E6%9E%9C%E6%B4%BE%E9%BA%BB%E9%9B%80%E5%9B%BA%E4%BB%B6%E4%B8%8E%E6%BA%90%E7%A0%81%E8%A1%A5%E4%B8%812021-12-16.7z

1.2.1 补丁包含的文件

下载的压缩包《芒果派麻雀固件与源码补丁2021-12-16.7z》包含下面的内容:
在这里插入图片描述
其中的《d1-mangopi_mq_20211216.tgz》才是补丁。把它解压:

> tar  -xf  d1-mangopi_mq_20211216.tgz

解压后生成下面的内容:
在这里插入图片描述

1.2.2 补丁文件和D1下面的相同文件进行合并

在这里插入图片描述
把补丁文件拷贝到D1目录下:
在这里插入图片描述

1.2.3 引脚PD17被复用,导致LCD变暗,修改设备树

在这里插入图片描述
修改《d1/device/config/chips/d1/configs/mangopi_mq_rgb800x480_gt9xx/board.dts》:
在这里插入图片描述

&dmic {
	pinctrl-names   = "default","sleep";
	pinctrl-0       = <&dmic_pins_a>;
	pinctrl-1       = <&dmic_pins_b>;
	status = "disabled";
};

至此,可以开始编译。

2. 编译tina-sdk

进入D1目录:

2.1 获取环境变量

book@100ask:~/Tina/D1$ source build/envsetup.sh
Setup env done! Please run lunch next.

2.2 选择编译目标 d1_mangopi_mq_rgb800x480_gt9xx-tina

book@100ask:~/Tina/D1$ lunch

You're building on Linux

Lunch menu... pick a combo:
     1. d1_mangopi_mq_rgb480x272_rtp-tina
     2. d1_mangopi_mq_rgb800x480_gt9xx-tina
     3. d1_nezha_min-tina
     4. d1_nezha-tina

Which would you like? [Default d1_mangopi_mq_rgb800x480_gt9xx]: 2
============================================
TINA_BUILD_TOP=/home/book/Tina/D1
TINA_TARGET_ARCH=riscv
TARGET_PRODUCT=d1_mangopi_mq_rgb800x480_gt9xx
TARGET_PLATFORM=d1
TARGET_BOARD=d1-mangopi_mq_rgb800x480_gt9xx
TARGET_PLAN=mangopi_mq_rgb800x480_gt9xx
TARGET_BUILD_VARIANT=tina
TARGET_BUILD_TYPE=release
TARGET_KERNEL_VERSION=5.4
TARGET_UBOOT=u-boot-2018
TARGET_CHIP=sun20iw1p1
============================================

2.3 编译

这里是第二次编译,用时比较少,第一次编译,用时超过30分钟。

book@100ask:~/Tina/D1$ make -j16
......
......
#### make completed successfully (04:22 (mm:ss)) ####

2.4 打包

book@100ask:~/Tina/D1$ pack
......
make user resource for : /home/book/Tina/D1/out/d1-mangopi_mq_rgb800x480_gt9xx/image/sys_partition.fex
......
====================================
show "sys_partition_for_dragon.fex" message
......
Dragon execute image.cfg SUCCESS !
----------image is for nand/emmc----------
----------image is at----------

/home/book/Tina/D1/out/d1-mangopi_mq_rgb800x480_gt9xx/tina_d1-mangopi_mq_rgb800x480_gt9xx_uart0.img

pack finish

3.烧录

固件在 D1/out/d1-mangopi_mq_rgb800x480_gt9xx/tina_d1-mangopi_mq_rgb800x480_gt9xx_uart0.img,这里使用 PhoenixCard 烧录(windows环境):
在这里插入图片描述

4.运行前准备-接线

4.1 液晶屏接线

5寸800x480液晶的排序顺序(芒果派官方淘宝店配套液晶屏):
在这里插入图片描述

芒果派麻雀D1s开发板(MQ-B-V1p6)液晶插座线序:
在这里插入图片描述

4.2 电容触摸接线

电容触摸屏线序:
在这里插入图片描述
芒果派麻雀D1s开发板(MQ-B-V1p6)电容触摸屏插座线序:
在这里插入图片描述

5.运行

可以使用串口观察输出:
在这里插入图片描述
插入tf卡,上电运行,开机logo:
在这里插入图片描述
自动运行lvgl demo:
在这里插入图片描述

6.修改开机logo

我是随便选择一张图片,使用微信剪图,保存为bmp格式,命名为 《bootlogo.bmp》,存放于目录D1/device/config/chips/d1/configs/mangopi_mq_rgb800x480_gt9xx/configs
在这里插入图片描述

重新执行下面的命令:

  1. source build/envsetup.sh
  2. lunch
  3. make -j16
  4. pack
    再烧录运行。

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

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

相关文章

【node.js 安装】linux下安装node.js

下面我们介绍安装包安装方法 nodejs官网下载地址1 nodejs官网下载地址2 我们以官网下载地址2打开 直接下载源代码&#xff0c;rz上传到/opt/tools/ 目录下 tar -xJvf node-v18.13.0-linux-x64.tar.xz配置环境变量&#xff0c;vim /etc/profile &#xff0c;配置内容如下&am…

SFP 收发器居然有那么多种?值得收藏学习

SFP 模块具有广泛的应用范围&#xff0c;可与大部分现代网络配合使用&#xff0c;大多数可以分为四大类&#xff1a;电缆类型、传输范围、传输速率、应用。 一、电缆类型 SFP 模块可以在光纤和铜线上工作&#xff0c;根据光纤的种类&#xff0c;SFP收发器可分为与单模光纤配合…

π122E60 5.0kVrms 200Mbps 双通道数字隔离器 兼容代替Si8622BT-IS

π122E60 5.0kVrms 200Mbps 双通道数字隔离器 兼容代替Si8622BT-IS 具有出色的性能特征和可靠性&#xff0c;整体性能优于光耦和基于其他原理的数字隔离器产品。 产品传输通道间彼此独立&#xff0c;可实现多种传输方向的配置&#xff0c;可实现 5.0kVrms 隔离耐压等级和 DC 到…

Loading 用户体验 - 加载时避免闪烁

&#x1f353; 前言 在切换详情页中有这么一个场景&#xff0c;点击上一条&#xff0c;会显示上一条的详情页&#xff0c;同理&#xff0c;点击下一条&#xff0c;会显示下一条的详情页。 伪代码如下所示&#xff1a; 我们定义了一个 switcher 模版&#xff0c; 用户点击上一…

TensorRT部署YOLOv5(03)-TensorRT介绍

TensorRT是本专栏中最重要的内容,绝大多数内容将围绕TensorRT来展开,本文对TensorRT进行一个基本的介绍,让不熟悉TensorRT的读者能够对TensorRT是什么,如何使用它有一个较为全面的认识 Nvidia TensorRT是一个用于Nvidia GPU上高性能机器学习推理的SDK,对开发者屏蔽了模型…

到底什么样的 REST 才是最佳 REST?

说起 REST API&#xff0c;小伙伴们多多少少都有听说过&#xff0c;但是如果让你详细介绍一下什么是 REST&#xff0c;估计会有很多人讲不出来&#xff0c;或者只讲出来其中一部分。 今天松哥就来和大家一起来聊一聊到底什么是 REST&#xff0c;顺便再来看下 Spring HATEOAS 的…

[算法与数据结构]——并查集

目录 1. 概论 定义&#xff1a; 主要构成&#xff1a; 作用&#xff1a; 2. 并查集的现实意义 故事引入&#xff1a; 数据结构的角度来看&#xff1a; 3. find( )函数的定义与实现 故事引入&#xff1a; 实现&#xff1a; 4. join( )函数的定义与实现 故事引入&#xff1a; 实现…

c++11 标准模板(STL)(std::forward_list)(三)

定义于头文件 <forward_list> template< class T, class Allocator std::allocator<T> > class forward_list;(1)(C11 起)namespace pmr { template <class T> using forward_list std::forward_list<T, std::pmr::polymorphic_…

Apollo本地快速部署

GitHub项目地址 Gitee项目地址 Apollo&#xff08;阿波罗&#xff09;是携程框架部门研发的分布式配置中心&#xff0c;能够集中化管理应用不同环境、不同集群的配置&#xff0c;配置修改后能够实时推送到应用端&#xff0c;并且具备规范的权限、流程治理等特性&#xff0c;适…

【计算机网络-数据链路层】介质访问控制协议(MAC协议)

文章目录1 静态划分信道——信道划分 MAC 协议1.1 频分多路复用&#xff08;FDM&#xff09;——“并行”1.2 时分多路复用&#xff08;TDM&#xff09;——“并发”1.2.1 同步时分多路复用1.2.2 异步时分多路复用1.3 波分多路复用&#xff08;WDM&#xff09;1.4 码分多路复用…

数据结构进阶 AVL树

作者&#xff1a;小萌新 专栏&#xff1a;数据结构进阶 作者简介&#xff1a;大二学生 希望能和大家一起进步&#xff01; 本篇博客简介&#xff1a;介绍高阶数据结构:AVL树 AVL树AVL树的概念AVL树节点类的定义AVL树的插入AVL树的旋转左单旋右单旋左右双旋右左单旋AVL树的验证…

多线程适用接口及常见类

日升时奋斗&#xff0c;日落时自省 目录 1、Callable接口 1.1、Callable方式 1.2、非Callable方式 2、JUC&#xff08;java.util.concurrent&#xff09;的常见类 2.1、ReentrantLock 2.2、信号量Semaphore 2.3、CountDownLatch 3、线程安全的集合类 3.1、多线程使用A…

【SpringMVC】使用SpringMVC处理JSON格式的数据

目录 一、前言 二、ResponseBody 三、RequestBody 四、HttpMessageConverter 相关文章&#xff08;可以关注我的SpringMVC专栏&#xff09; SpingMVC专栏SpingMVC专栏一、前言我们在使用Servlet处理前端请求&#xff0c;使用Json格式的数据&#xff0c;通常引入外部提供的一些…

拉伯证券|利好来了,145万手封涨停!低位+低市值“无主”股揭秘

二三四五或将完毕多年“无主”局势。 周末大消息不断。蚂蚁集团1月7日在官网发布关于持续完善公司管理的公告。公告显现&#xff0c;蚂蚁集团调整首要股东投票权&#xff0c;强化与阿里巴巴集团的隔离&#xff0c;阿里巴巴开创人马云抛弃了对蚂蚁集团的实践操控权&#xff0c;蚂…

JavaScript 原型链

文章目录原型链本质 - 对象间的关联关系instanceof 和 isPrototypeOf__proto__的大致实现委托原型链 原型链就是一系列对象的链接。通常来说&#xff0c;这个链接的作用是&#xff1a;如果在对象上没有找到需要的属性或者方法引用&#xff0c;引擎就会继续在[[Prototype]]关联的…

餐饮业数字化提速,OceanBase助海底捞变身“云上捞”

在海底捞火锅智慧餐厅&#xff0c;你会看到忙得团团转的机械臂和传菜机器人&#xff0c;顾客在智能点餐系统上下单&#xff0c;机械臂和传菜机器人就会着手备菜、传菜、上菜&#xff0c;服务人员则有更多时间专心应答顾客的各种询问。这种新模式&#xff0c;也为海底捞家喻户晓…

Springboot新手开发 基本总结

前言&#xff1a; &#x1f44f;作者简介&#xff1a;我是笑霸final&#xff0c;一名热爱技术的在校学生。 &#x1f4dd;个人主页&#xff1a;个人主页1 || 笑霸final的主页2 &#x1f4d5;系列专栏&#xff1a;后端专栏 &#x1f4e7;如果文章知识点有错误的地方&#xff0c;…

网络实验之HSRP协议

一、HSRP协议简介 HSRP&#xff1a;热备份路由器协议&#xff08;HSRP&#xff1a;Hot Standby Router Protocol&#xff09;&#xff0c;是cisco平台一种特有的技术&#xff0c;是cisco的私有协议。该协议中含有多台路由器&#xff0c;对应一个HSRP组。该组中只有一个路由器承…

mac自定义环境变量,mac自定义python变量,自定义通用变量(任意名字)

文章目录几个常用的命令工作原理知道原理后已经有了环境变量没有该环境变量几个常用的命令 功能命令查看当前环境变量echo $PATH编辑文件&#xff08;注&#xff1a;这里是直接编辑bash_profile&#xff09;vi ~/.bash_profile编辑i退出编辑esc回到命令&#xff08;用命令来保…

Apollo实现cron语句的热配置

GitHub项目地址 Gitee项目地址 Apollo&#xff08;阿波罗&#xff09;是携程框架部门研发的分布式配置中心&#xff0c;能够集中化管理应用不同环境、不同集群的配置&#xff0c;配置修改后能够实时推送到应用端&#xff0c;并且具备规范的权限、流程治理等特性&#xff0c;适…