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用户自定义开机画面功能的更多相关文章

  1. Samsung S4卡屏卡在开机画面的不拆机恢复照片一例

    大家好!欢迎再次来到我Dr.wonder的世界, 今天我给你们带来Samsung S4 I9508 卡屏开在开机画面的恢复!非常de经典. 首先看图 他开机一直卡在这里, 然后 ,我们使用专业仪器,在 ...

  2. [转载]Android系统开机画面的实现

    Android系统开机画面分为下面三个阶段: 1.开机图片:Android内核是基于标准内核的,对linux比较熟悉,特别是在开发板上移植过Linux系统的人就知道在内核引导过程中会显 示出一 个小企 ...

  3. 增加VMWare开机画面时间,来防止快速跳过而无法进入BIOS

    用记事本打开xx.vmx,在里面添加一行: bios.bootDelay = "30000" 意思是开机后,在开机画面里停留30秒.

  4. Android 开机画面和wallpaper总结

    Android 开机画面和wallpaper总结  1 kernel的开机画面修改 1.图片需求:图片格式:png图片大小:1024x600(具体示lcd分辨率而定). 2.转换图片png图片. 假设 ...

  5. 二 Android Studio 打包EgretApp (开机画面、横竖屏、调试、和原生交互)

    测试环境: Windows7 Egret Engine 5.0.14 Egret support 5.0.12 Android Studio 2.3 目录: 一 修改开机画面 二 横竖屏设置 三 修改 ...

  6. Win7更换锁屏和开机画面

    技术交流群:233513714 每次开机被Windows千年不变的开机画面和锁屏画面丑到的小伙伴们可以看过来,通过简单的几步就可以改掉系统默认的开机画面. 1.首先Windows+r键输入regedi ...

  7. Win7如何修复开机画面

    将下面文件保存为"修复Win7开机画面.bat"双击运行即可   bcdedit /set {current} locale zh-CN    

  8. 源码中修改Android的开机画面和动画【转】

    本文转载自:http://blog.csdn.net/dddxxxx/article/details/54343976 参照文章:http://blog.csdn.net/a345017062/art ...

  9. centos7 开机画面定制

    安装包 yum install plymouth-plugin-script 设置开机启动画面 mkdir /usr/share/plymouth/themes/tup 创建主题目录 cp /root ...

  10. VC++编程中为程序加入启动画面功能

     如何为自己的程序加入启动画面 观察我们平常使用的软件,当我们双击软件的时候,会在主界面出现前,先行出现一个启动画面,由于前一阵子写了一个基于对话框的程序,亲自实验了下,今天就为大家简单的介绍下,在我 ...

随机推荐

  1. matlab解析毫米波雷达bin文件数据 得到复数

    来源:TI提供的Mmwave Radar Device ADC Raw Data Capture %%% This script is used to read the binary file pro ...

  2. Linux配置NTP时间同步

    1.检查系统是否安装了NTP包(linux系统一般自带NTP4.2)没有安装我们直接使用yum命令在线安装:yum install ntp2.NTP服务端配置文件编辑vim /etc/ntp.conf ...

  3. CentOS7 安裝DHCP服務並啟用DHCP failover

    1. 安裝dhcp服務 yum install -y dhcp 2. host1 vi /etc/dhcp/dhcpd.failover failover peer "dhcpfailove ...

  4. ABP vNext微服务架构详细教程——镜像推送

    1. Jenkins搭建 为实现容器化部署,我们需要将代码打包成镜像并推送至容器仓库,我们可以选择自建容器仓库或者使用公有云服务商提供的镜像仓库.这里我们使用阿里云提供的免费镜像仓库. 代码打包和镜像 ...

  5. Net异步委托-泛型委托Action<T>与Func<T,TResult>及 异步调用AsyncCallback

    1.相同点 Func<ReqMode,ResultModel> 与 Action<ReqMode> 1).都是Net3.5 之后内置的委托方法,作用几乎一致 2).都支持lam ...

  6. 英码科技边缘计算智慧工地解决方案——给工地戴上AI“安全帽”

    据统计显示,2021年全国共发生房屋市政工程生产安全事故734起,死亡840人:且近3年来,工地事故数量.死亡人数连续攀升.这不仅仅是一个普通的数字,每个数字都代表一个独特.鲜活的生命.为什么每年会发 ...

  7. Axure RP Extension for Chrome 0.6.2安装和详解

    1.当我们用网页访问一个本地页面时就会出现这种问题,提示你要安装浏览器的扩展程序包,以下有搜狗浏览器如何安装,qq浏览器 ​

  8. fatal: unable to access 'https://github.com/github-eliviate/papers.git/': Failed to connect to github.com port 443 after 21107 ms: Timed out

    fatal: unable to access 'https://github.com/github-eliviate/papers.git/': Failed to connect to githu ...

  9. 统一观测丨使用 Prometheus 监控 E-MapReduce,我们该关注哪些指标?

    作者:闻洪 开源大数据平台E-MapReduce(简称"EMR")是云原生开源大数据平台,向客户提供简单易集成的Hadoop.Hive.Spark.Flink.Presto.Cli ...

  10. ARP协议:网络世界的临门一脚

    大家好,我是风筝. 各位同学肯定见过关于网络的面试题,什么TCP协议和UDP的区别啦,IP协议工作在哪层啊等等,这都是网络中定义的各种协议.这些标准化的协议就是网络分层模型标准化的核心部分.要想搞懂网 ...