首页 > 其他分享 >RK3568用户自定义开机画面功能

RK3568用户自定义开机画面功能

时间:2023-04-27 12:12:38浏览次数:45  
标签:kernel resource 自定义 img RK3568 用户 开机 uboot

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分区位置);

通过以上手段即完成了,用户可以自定义用户图片了!

标签:kernel,resource,自定义,img,RK3568,用户,开机,uboot
From: https://www.cnblogs.com/jhting/p/17358545.html

相关文章

  • 史上最全! 瑞芯微RK3568核心板评估板资源分享!
    ▎瑞芯微RK3568芯片  高性能处理器:采用四核A55架构CPU,G52GPU;内置NPU,可提供1T算力高可靠性设计:支持DDR及CPUCache全链路ECC内置自研ISP图像处理器:8M@30fps处理能力,强大的HDR功能,支持畸变矫正、去雾、噪点消除等功能丰富的显示、外设及拓展接口:内置HDMI/eDP/LVDS/MIPI/RG......
  • #PowerBI 利用format函数,自定义格式显示
    PowerBI是一款强大的数据分析和可视化工具,它可以帮助我们快速地创建各种报表和仪表盘,展示数据的洞察和价值。在PowerBI中,有许多内置的函数可以帮助我们处理和转换数据,其中一个常用的函数就是Format函数。Format函数的作用是将一个值按照指定的格式进行显示,例如日期、时间、货币......
  • CefSharp自定义缓存实现
    大家好,我是沙漠尽头的狼。上文介绍了《C#使用CefSharp内嵌网页-并给出C#与JS的交互示例》,本文介绍CefSharp的缓存实现,先来说说添加缓存的好处:提高页面加载加速:CefSharp缓存可以缓存已经加载过的页面和资源,当用户再次访问相同的页面时,可以直接从缓存中加载,而不需要重新下载和解......
  • 博客园自定义皮肤设置
    目录博客园自定义皮肤设置1.选择皮肤darkgreentrip2.博客侧边栏公告3.页面定制css代码4.页首HTML代码博客园自定义皮肤设置1.选择皮肤darkgreentrip2.博客侧边栏公告<style>#back-top{position:fixed;bottom:10px;right:5px;z-index:99;}#ba......
  • Java自定义生成证书图片
    1、引入依赖<!--cmyk格式图片转换--><dependency><groupId>org.sejda.imageio</groupId><artifactId>webp-imageio</artifactId><version>0.1.6</version></dependen......
  • CefSharp自定义缓存实现
    大家好,我是沙漠尽头的狼。上文介绍了《C#使用CefSharp内嵌网页-并给出C#与JS的交互示例》,本文介绍CefSharp的缓存实现,先来说说添加缓存的好处:提高页面加载加速:CefSharp缓存可以缓存已经加载过的页面和资源,当用户再次访问相同的页面时,可以直接从缓存中加载,而不需要重新下载和解......
  • 阿里oss自定义域名从默认的预览改成下载
    阿里oss自定义域名从默认的预览改成下载今天测试人员反馈,说oss绑定的自定义域名,在电脑端的QQ浏览器打开的excel文件,打开显示黑屏,而不是下载。微软的Edge浏览器还算正常点,QQ浏览器直接黑屏。如下图:(1)Edge浏览器: (2)QQ浏览器: 以前我试过把已经上传到oss的图片,批量地从......
  • springboot自定义拦截器
    springboot自定义拦截器操作说明1、编写一个拦截器实现HandlerInterceptor接口2、拦截器注册到容器中(实现WebMvcConfigures的addInterceptors)3、指定拦截规则(如果是拦截所有,静态资源也会被拦截)LoginInterceptor.javapackagecom.example.springtxiangmu.interceptor;im......
  • maven 自定义变量
    可以用properties这个标签来自定义变量,例如:<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xs......
  • oracle plsql 自定义函数
    例如:CREATEORREPLACEFUNCTIONHELLO(strINVARCHAR2)RETURNVARCHAR2ISRETVARCHAR2(20);BEGINRET:='Hello'||str;DBMS_OUTPUT.put_line(RET);RETURNRET;END;执行:SELECTHELLO('yang')FROMDUAL;删除:DROPFUNCTIONHELLO;......