全志R528代码编译和烧录以及测试

news2024/10/5 18:26:59

代表编译

代码存在如下目录中:/home/workspace/tina-r528-v1.2
在这里插入图片描述
在这里插入图片描述
这里输入如下指令进行编译:

su root
source build/envsetup.sh
lunch r528_evb2-tina
make & pack
root@tina-virtual-machine:/home/workspace/tina-r528-v1.2# source build/envsetup.sh
Setup env done! Please run lunch next.
root@tina-virtual-machine:/home/workspace/tina-r528-v1.2# lunch r528_evb2-tina
============================================
TINA_BUILD_TOP=/home/workspace/tina-r528-v1.2
TINA_TARGET_ARCH=arm
TARGET_PRODUCT=r528_evb2
TARGET_PLATFORM=r528
TARGET_BOARD=r528-evb2
TARGET_PLAN=evb2
TARGET_BUILD_VARIANT=tina
TARGET_BUILD_TYPE=release
TARGET_KERNEL_VERSION=5.4
TARGET_UBOOT=u-boot-2018
TARGET_CHIP=sun8iw20p1
============================================
no buildserver to clean
[1] 59144
root@tina-virtual-machine:/home/workspace/tina-r528-v1.2# 


开始编译显示如下log:

root@tina-virtual-machine:/home/workspace/tina-r528-v1.2# make & pack
[2] 59147
===This's tina environment.===
find: ‘/home/workspace/tina-r528-v1.2/lichee/brandy-2.0/spl’: No such file or directory
r528_evb2 r528 r528-evb2
build_boot platform:sun8iw20p1 o_option:spl-pub
grep: /home/workspace/tina-r528-v1.2/lichee/brandy-2.0/spl/Makefile: No such file or directory
Prepare toolchain ...
--------build for mode:all board:r528-------------------
platform set to sun8iw20p1
make -C /home/workspace/tina-r528-v1.2/lichee/brandy-2.0/spl-pub/fes fes
  CHK     /home/workspace/tina-r528-v1.2/lichee/brandy-2.0/spl-pub/include/config.h
  CHK     /home/workspace/tina-r528-v1.2/lichee/brandy-2.0/spl-pub/autoconf.mk
  UPD     /home/workspace/tina-r528-v1.2/lichee/brandy-2.0/spl-pub/include/config.h
  UPD     /home/workspace/tina-r528-v1.2/lichee/brandy-2.0/spl-pub/autoconf.mk
--==========--
PACK_CHIP         sun8iw20p1
PACK_PLATFORM     tina
PACK_BOARD        r528-evb2
PACK_KERN        
PACK_DEBUG        uart0
PACK_SIG          none
PACK_SECURE       none
PACK_MODE         normal
PACK_FUNC         android
PACK_PROGRAMMER   none
PACK_TAR_IMAGE    none
PACK_TOPDIR       /home/workspace/tina-r528-v1.2
--==========--

编译完成后log如下:

Number of fragments 90
Number of symbolic links  266
Number of device nodes 1
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 119
Number of ids (unique uids + gids) 1
Number of uids 1
	root (0)
Number of gids 1
	root (0)
rm -f /home/workspace/tina-r528-v1.2/out/r528-evb2/rootfs.img
rm -f /home/workspace/tina-r528-v1.2/out/r528-evb2/usr.img
dd if=/home/workspace/tina-r528-v1.2/out/r528-evb2/compile_dir/target/linux-r528-evb2/root.squashfs of=/home/workspace/tina-r528-v1.2/out/r528-evb2/rootfs.img bs=128k conv=sync
112+1 records in
113+0 records out
14811136 bytes (15 MB, 14 MiB) copied, 0.0124715 s, 1.2 GB/s
( cd /home/workspace/tina-r528-v1.2/out/r528-evb2 ; find -maxdepth 1 -type f \! -name 'md5sums'  -printf "%P\n" | sort | xargs md5sum --binary > md5sums )
( cd /home/workspace/tina-r528-v1.2/out/r528-evb2 ; find -maxdepth 1 -type f \! -name 'md5sums'  -printf "%P\n" | sort | xargs openssl dgst -sha256 > sha256sums )
make[5]: Leaving directory '/home/workspace/tina-r528-v1.2/target/allwinner/generic/image'
make[4]: Leaving directory '/home/workspace/tina-r528-v1.2/target/allwinner/r528-evb2'
make[3]: Leaving directory '/home/workspace/tina-r528-v1.2/target/allwinner'
make[2]: Leaving directory '/home/workspace/tina-r528-v1.2'
export MAKEFLAGS= ;make -w -r package/index
make[2]: Entering directory '/home/workspace/tina-r528-v1.2'
Generating package index...
Signing key has not been configured
make[2]: Leaving directory '/home/workspace/tina-r528-v1.2'
make[1]: Leaving directory '/home/workspace/tina-r528-v1.2'

#### make completed successfully (02:42 (mm:ss)) ####


[2]+  Done                    make
root@tina-virtual-machine:/home/workspace/tina-r528-v1.2# 

编译完成后如果没有意外将会在out的如下目录生成一个"tina_r528-evb2_uart0.img"的镜像
在这里插入图片描述

固件烧录

这里打开烧录工具PhoenixSuit,切换到一键烧录界面加在好镜像,
在这里插入图片描述
板子再未上单状态短路flash的1和2管脚:
在这里插入图片描述
给板子上电然后就断开flash的1和2管脚:
在这里插入图片描述
在这里插入图片描述
烧录完成后代码就会正常运行

测试

这里使用如下命令看log:

adb shell进去
然后dmesg

在这里插入图片描述
这里想修改一下启动的log,比如这里想把上面的感叹号改为一个字母:

"Tina is Based on OpenWrt!"  改为"Tina is Based on OpenWrtX"

输入如下命令看看这个字符串都在哪里出现:

root@tina-virtual-machine:/home/workspace/tina-r528-v1.2# grep -rl "Tina is Based on OpenWrt" ./
 
./package/busybox-init-base-files/busybox-init-base-files_ramfs/etc/banner
./package/busybox-init-base-files/files/etc/banner
./package/base-files/files/etc/banner
./out/r528-evb2/compile_dir/target/rootfs-tmp/etc/banner
./out/r528-evb2/compile_dir/target/rootfs/etc/banner
./out/r528-evb2/compile_dir/target/linux-r528-evb2/base-files/ipkg-sunxi/base-files/etc/banner
./out/r528-evb2/staging_dir/target/rootfs/etc/banner


这里可以确定基本就是"package/"目录下的内容决定的,"out/r528-evb2/"下面的内容是编译出来的结果,如下如下方式修改:

root@tina-virtual-machine:/home/workspace/tina-r528-v1.2# cat ./package/busybox-init-base-files/busybox-init-base-files_ramfs/etc/banner
 _____  _              __     _
|_   _||_| ___  _ _   |  |   |_| ___  _ _  _ _
  | |   _ |   ||   |  |  |__ | ||   || | ||_'_|
  | |  | || | || _ |  |_____||_||_|_||___||_,_|
  |_|  |_||_|_||_|_|  Tina is Based on OpenWrtC
 ----------------------------------------------
 Tina Linux (%C, %R)
 ----------------------------------------------
root@tina-virtual-machine:/home/workspace/tina-r528-v1.2# cat ./package/busybox-init-base-files/files/etc/banner
 _____  _              __     _
|_   _||_| ___  _ _   |  |   |_| ___  _ _  _ _
  | |   _ |   ||   |  |  |__ | ||   || | ||_'_|
  | |  | || | || _ |  |_____||_||_|_||___||_,_|
  |_|  |_||_|_||_|_|  Tina is Based on OpenWrtD
 ----------------------------------------------
 Tina Linux (%C, %R)
 ----------------------------------------------
root@tina-virtual-machine:/home/workspace/tina-r528-v1.2# cat ./package/base-files/files/etc/banner
 _____  _              __     _
|_   _||_| ___  _ _   |  |   |_| ___  _ _  _ _
  | |   _ |   ||   |  |  |__ | ||   || | ||_'_|
  | |  | || | || _ |  |_____||_||_|_||___||_,_|
  |_|  |_||_|_||_|_|  Tina is Based on OpenWrtE
 ----------------------------------------------
 Tina Linux (%C, %R)
 ----------------------------------------------
root@tina-virtual-machine:/home/workspace/tina-r528-v1.2# 

编译好代码后从新运行可以看到log如下:

PS E:\Documentation\Desktop\20221010> adb shell


BusyBox v1.27.2 () built-in shell (ash)

 _____  _              __     _
|_   _||_| ___  _ _   |  |   |_| ___  _ _  _ _
  | |   _ |   ||   |  |  |__ | ||   || | ||_'_|
  | |  | || | || _ |  |_____||_||_|_||___||_,_|
  |_|  |_||_|_||_|_|  Tina is Based on OpenWrtE
 ----------------------------------------------
 Tina Linux (Neptune, 6191F77D)
 ----------------------------------------------

有此可见决定输出的log的是"package/base-files/files/etc/banner"文件
注意编译的时候要把"out/r528-evb2/compile_dir/target/"目录删除掉,否则不会覆盖的
本文生成的镜像从如下地址下载:https://download.csdn.net/download/chengdong1314/88477701

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

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

相关文章

最小生成树专题2 最小生成树-Kruskal算法

题目: 样例1: 输入 4 5 0 1 3 0 2 2 0 3 3 2 3 1 1 2 1 输出 4 样例2: 输入 3 1 0 1 1 输出 -1 思路: 由题意,我们看一下数据,可以知道,朴素版的 最小生成树,是使用 二维数组存储…

【python入门篇】条件表达式、循环(5)

这一章节讲python的条件表达式和循环放在一起来说,条件语句是通过判断条件是否成立,根据条件表达式的结果做出决策,控制不同代码块的执行。循环是一种重复执行某段代码的结构,通常被用于遍历或处理一组数据,或者重复执行一些代码直到满足某个…

设计模式:状态模式(C#、JAVA、JavaScript、C++、Python、Go、PHP)

上一篇《备忘录模式》 下一篇《访问者模式》 简介: 状态模式,它是一种对象行为型模式,它允许一个对象在其内部状态改变时改变它的行为。这种模式可以让一个对象的行为随着状态的改…

Docker安装及镜像源修改

Docker安装及镜像源修改 一、docker安装1、yum 包更新到最新2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的3、 设置yum源4、 安装docker,出现输入的界面都按 y5、 查看docker版本,…

2023年中国商用洗碗机产量、需求量、市场规模及行业前景分析[图]

商用洗碗机是餐厅、食堂、中央厨房、酒店等应用场景中不可或缺的洁净消毒设备。商用洗碗机一般用于商用目的,随着消费者对食品卫生日渐重视,中国商用洗碗机市场得到了快速发展。商用洗碗机分类洗碗机有多种形式按洗涤方式分,有喷淋式、叶轮式…

AI 数字人短视频变现及引流,轻松掌握流量密码

项目介绍 AI 数字人短视频就是利用 AI 数字人工具 ,生成模仿真人的口播视频 ,进行涨粉变现。常见的领域有情感 、 创业 、 育儿 、 书单等 ,同一个视频可以发布到各大平台 ,实现一 鱼多吃。 创业就卖思维类书籍 ,育儿…

Android setText()错误

android.content.res.Resources$NotFoundException: String resource ID #0x0at android.content.res.Resources.getText(Resources.java:415)at android.widget.TextView.setText(TextView.java:6375) 出现场景:在RecycleView的 Override public void onBindViewHo…

MySQL数据库#6

Python操作mysql 在使用Python连接mysql之前我们需要先下载一个第三方的模块 pymysql的模块,导入后再进行操作。 操作步骤:1. 先连接mysql host,port,charset,username password 库,等等。 import pymysql…

RawNet 1-3 介绍

1. Overview RawNet: Advanced end-to-end deep neural network using raw waveforms for text-independent speaker verification (RawNet 1) 出自会议:INTERSPEECH 2019. (论文链接:https://arxiv.org/pdf/1904.0…

超分辨率——SESR网络训练并推理测试(详细图文教程)

最近学了一个超轻量化的超分辨率网络SESR,效果还不错。 目录 一、 源码包二、 数据集的准备2.1 官网下载2.2 网盘下载 三、 训练环境配置四、训练4.1 修改配置参数4.2 导入数据集4.3 2倍超分网络训练4.3.1 训练SESR-M5网络4.3.2 训练SESR-M5网络4.3.3 训练SESR-M11…

使用pycharm远程调试

使用pycharm 专业版, 在设置解释器中,具备ssh 解释器功能; 一般在本地无法调试远程端代码,机械性的scp传输文件十分影响工作效率,PyCharm的Pro支持远程Run,Debug,等可视化的功能。 操作系统&…

超声波原理的便携式明渠流量计

便携式明渠流量计是一款便携式的可随带随走的一款仪器,主要是用来和在线明渠流量计做液位和流量比对的一款比对装置。 仪器可自动每两分钟记录一次液位数据,连续记录6次,同时可以累计测量10分钟的流量数据,将其结果与现场在线明渠…

Angular改变组件中样式(两种方法)

项目中遇到修改组件样式的情况,搜了半天资料基本只有vue和react的方法,什么/deep/,v-deep统统不起效,崩溃! 所以这里总结一下Angular的方法。 angular中想引入组件并修改组件内样式,有两种方法。 文章目录 方法1&…

壹牛NFT数字艺术藏品数藏开源无加密

这个版本新增了不少功能,也修复了一些地方。 1.平台新增用户找回密码功能 2.平台新增短信注册(实名制功能) 3.平台新增主图后台添加功能 4.平台修复相关问题,系统高效运行 1、H5端与APP端在新UI完美适配 2、加入宝盒功能&am…

FL Studio21.2最新订阅版本更新升级(详细功能介绍)

好消息!FL Studio 21.2 在 10 月 26 日正式发布啦,它新增了 FL Cloud 在线采样库和 AI 音乐制作功能,还提供音乐分发到 Spotify、Apple Music 等主要音乐平台的服务。此外,还有新的音频分离功能、自定义波形颜色和新的合成器 Kepl…

下一代金融将呈现 7 项激动人心的金融科技创新

金融科技处于现代技术发展的前沿。随着金融科技领域价值超过 1790 亿美元,初创企业和创新者都在寻找金融和银行业的下一个重大事件。 本文讨论了 2024 年的 7 项金融科技创新。 其中一些创新建立在我们在金融行业看到的现有趋势的基础上,而另一些则是完…

学习ftp

文章目录 一、FTP介绍二、两种模式(主动模式和被动模式)三、FTP配置文件详解四、实际场景举例五、黑白名单六、网络限制 一、FTP介绍 1.FTP(File Transfer Protocol)是一种应用广泛且古老的互联网文件传输协议。 2.主要应用于互联…

vue项目中定制化音频展示,wavesurfer.js基本使用

效果图&#xff1a; wavesurfer是一个可定制的音频波形可视化&#xff0c;建立在Audio API和HTML5 Canvas之上。 基本使用&#xff1a; <body><script src"https://unpkg.com/wavesurfer.js"></script><div id"waveform"></di…

VMware ESXi和vCenter和vSphere关系是怎样的?

事实上&#xff0c;我们所说的vSphere并不是一个特定的软件。VMware vSphere是VMware的服务器虚拟化软件套件&#xff0c;它包括了许多软件组件&#xff0c;它们中的每一个都在vSphere环境中执行不同的功能。 VMware vSphere的两个核心组件就是VMware ESXi和VMware vCenter Se…

python接口自动化测试(八)-unittest-生成测试报告

用例的管理问题解决了后&#xff0c;接下来要考虑的就是报告我问题了&#xff0c;这里生成测试报告主要用到 HTMLTestRunner.py 这个模块&#xff0c;下面简单介绍一下如何使用&#xff1a; 一、下载HTMLTestRunner下载&#xff1a; 这个模块不能通过pip安装&#xff0c;只能…