RK3568用户自定义开机画面功能
RK方案中的开机画面处画逻辑
在RK的方案中,如RK1109,RK1126,RK3568这些嵌入式LINUX方案在开机画面的处理逻辑都是一致的.
用户的uboot,kernel开机画面都是同dts,kernel一起入在一个boot.img文件中的.
boot.img的文件结构,基本又同Android的boot文件结构类似,具体的文件结构,可以参考uboot,kernel中的对应的定义!
资源打包工具
在uboot中的tools目录下 u-boot\tools\rockchip 工具 resource_tool.c,即是资源打包工具!
具体的用户在BSP中可以参考 mkimg 这个脚本!
如,我们需要把 dtb, 开机画面等文件一起打包:
resource_tool test.dtb logo.bmp logo_kernel.bmp > /dev/null
执行完以后,在目录下得到 resource.img 这样一个文件!
再使用kernel中的 mkbootimg 脚本同kernel一起打包成 boot.img!
mkbootimg --kernel zImage --second resource.img -o boot.img
RK3568用户自定义开机画面功能
在RK方案中,用户的uboot,kernel开机画面都是同dts,kernel一起入在一个boot.img文件中的,
在嵌入式产品中,如果面对全包升级时,dts,kernel,图片文件等资源文件是一同升级的!在一些应用产品的应用场景上,
如客户要求的开机画面自定义,即比较难满足要求!
设计逻辑
1、在系统中添加一个专用的分区来放用户的资源文件,如开机画面等!
2、修改uboot中加载图片的代码,从专用的分区来加载图片文件!
添加资源文件分区
修改 parameter.txt 分区配置,在其中添加一个如,OEM的分区!,如我的分区位置:
0x00010000@0x00048000(oem)
修改uboot中的代码加载用户图片
这个分区规划在 1M~5M区间用来放用户的图片!
在uboot中把以上分区的代码通过emmc指令读到指定的内存,如:
emmc read 0x88000000 0x48800 0x2000
这样把用户的图片加载到了 0x88000000了,接下来修改uboot中的代码(rockchip_display.c)
参照 load_bmp_logo 修改加载的的位置方式,完成图片的加载方式!
系统应用层加添加用户修改图片的工具
1、把resource_tool编译一个板端版本!
2、用户上传一个bmp文件格式(要求小于4M,24bit图片);
3、调用resource_tool把用户上传的bmp文件生成resource.img文件;
4、使用dd命令把resource.img文件写到oem的特定分区(1~5MB分区位置);
通过以上手段即完成了,用户可以自定义用户图片了!
RK3568用户自定义开机画面功能的更多相关文章
- Samsung S4卡屏卡在开机画面的不拆机恢复照片一例
大家好!欢迎再次来到我Dr.wonder的世界, 今天我给你们带来Samsung S4 I9508 卡屏开在开机画面的恢复!非常de经典. 首先看图 他开机一直卡在这里, 然后 ,我们使用专业仪器,在 ...
- [转载]Android系统开机画面的实现
Android系统开机画面分为下面三个阶段: 1.开机图片:Android内核是基于标准内核的,对linux比较熟悉,特别是在开发板上移植过Linux系统的人就知道在内核引导过程中会显 示出一 个小企 ...
- 增加VMWare开机画面时间,来防止快速跳过而无法进入BIOS
用记事本打开xx.vmx,在里面添加一行: bios.bootDelay = "30000" 意思是开机后,在开机画面里停留30秒.
- Android 开机画面和wallpaper总结
Android 开机画面和wallpaper总结 1 kernel的开机画面修改 1.图片需求:图片格式:png图片大小:1024x600(具体示lcd分辨率而定). 2.转换图片png图片. 假设 ...
- 二 Android Studio 打包EgretApp (开机画面、横竖屏、调试、和原生交互)
测试环境: Windows7 Egret Engine 5.0.14 Egret support 5.0.12 Android Studio 2.3 目录: 一 修改开机画面 二 横竖屏设置 三 修改 ...
- Win7更换锁屏和开机画面
技术交流群:233513714 每次开机被Windows千年不变的开机画面和锁屏画面丑到的小伙伴们可以看过来,通过简单的几步就可以改掉系统默认的开机画面. 1.首先Windows+r键输入regedi ...
- Win7如何修复开机画面
将下面文件保存为"修复Win7开机画面.bat"双击运行即可 bcdedit /set {current} locale zh-CN
- 源码中修改Android的开机画面和动画【转】
本文转载自:http://blog.csdn.net/dddxxxx/article/details/54343976 参照文章:http://blog.csdn.net/a345017062/art ...
- centos7 开机画面定制
安装包 yum install plymouth-plugin-script 设置开机启动画面 mkdir /usr/share/plymouth/themes/tup 创建主题目录 cp /root ...
- VC++编程中为程序加入启动画面功能
如何为自己的程序加入启动画面 观察我们平常使用的软件,当我们双击软件的时候,会在主界面出现前,先行出现一个启动画面,由于前一阵子写了一个基于对话框的程序,亲自实验了下,今天就为大家简单的介绍下,在我 ...
随机推荐
- 【MSSQL】AlwaysOn集群增加发布订阅
在现有AlwaysOn集群增加发布订阅节点 配置 前提 节点1.节点2在AlwaysOn集群,节点3作为集群外节点使用订阅复制集群数据同步 发布对象必须要有主键 步骤 登录节点3配置分发distrib ...
- 【Leetcode】 剑指offer:栈与队列 --Day01
写在前面 2023届秋招形势严峻,作为2024届本科生倍感压力.时间紧迫,需要加快脚步. 计划之一是在未来的36天时间里通关Leetcode的剑指offer系列算法题.这一系列的学习周期为31天,也就 ...
- 平滑arctan的值,将值映射为0~2π
欢迎访问我的个人博客:xie-kang.com 原文地址 在某些场景计算夹角时,会期望带上象限信息. 此时atan函数将不再满足我们的使用要求,因为atan返回值为 -π/2 ~ π/2,它没有携带有 ...
- 深入理解 Python 虚拟机:元组(tuple)的实现原理及源码剖析
深入理解 Python 虚拟机:元组(tuple)的实现原理及源码剖析 在本篇文章当中主要给大家介绍 cpython 虚拟机当中针对列表的实现,在 Python 中,tuple 是一种非常常用的数据类 ...
- [极客大挑战 2019]Upload 1
进入可以看到,这时一道文件上传题目 直接上传test.php 提示Not image不是图片,可能是MIME绕过,尝试抓包修改Content-Type 提示Not php,猜测可能是检测后缀名不能是p ...
- Javaweb项目和Maven项目的相关导包
Javaweb项目的学习大致需要一下几个导包: 以上几个包需要导入到WEB-INF目录下的lib文件夹里面,主要操作如下: 1.新建一个lib文件夹(在WEB-INF目录下) 2.右键lib文件夹,选 ...
- hdfs的异构存储
目录 1 背景 2 hdfs异构存储类型和存储策略 2.1 hdfs支持的存储类型 2.2 hdfs如何知道数据存储目录是那种存储类型 2.3 存储策略 2.3.1 在hdfs中支持如下存储策略 2. ...
- Spring面试题持续更新
这些都是我在微信公众号上看到的一些很有质量的文章,于是乎,自己记录一遍供自己学习 Spring中使用了哪些设计模式 单例模式:Spring中的Bean 模式都是单例的. 工厂模式:工厂模式主要是通过B ...
- uniapp H5图片编辑器(安卓/iOS适用)
箭头绘制参考了:https://blog.csdn.net/qq_45939676/article/details/127425426 这位大佬的文章 gitee地址: https://gitee.c ...
- WPF 界面布局、常用控件入门教程实例 WPF入门学习控件快速教程例子 WPF上位机、工控串口通信经典入门
WPF(Windows Presentation Foundation)是一种用于创建 Windows 桌面应用程序的框架,它提供了丰富的控件库和灵活的界面布局,可以创建现代化的用户界面.下面是 WP ...