RK3568用戶自定義開機畫面功能

来源:https://www.cnblogs.com/jhting/archive/2023/04/27/17358545.html
-Advertisement-
Play Games

環境: 系統版本:Windows 10 家庭中文版 問題描述: 描述:按下Win+G後彈出提示框,需要使用新應用以打開此 ms-gamingoverlay 鏈接 問題解釋: 誤將Xbox game bar應用程式刪除了,無法找到啟動的程式。 這個程式我當時以為就是個打游戲的,我就刪除了,沒想到錄屏會 ...


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

通過以上手段即完成了,用戶可以自定義用戶圖片了!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一:背景 1. 講故事 在給各位朋友免費分析 .NET程式 各種故障的同時,往往也會收到各種其他類型的dump,比如:Windows 崩潰,C++ 崩潰,Mono 崩潰,真的是啥都有,由於基礎知識的相對缺乏,分析起來並不是那麼的順利,今天就聊一個 Windows 崩潰的內核dump 吧,這個 dum ...
  • 一般方法 System.Windows.Forms.Screen類 // 獲取當前主屏幕解析度 int screenWidth = Screen.PrimaryScreen.Bounds.Width; int screenHeight = Screen.PrimaryScreen.Bounds.He ...
  • 本文演示通過PowerShell+Docker Desktop for Windows 一鍵部署Sitecore10.3(即Sitecore最新版)Docker開發/測試/演示 環境。 官方參考 SitecoreXP 10.3.0 Developer Workstation Deployment W ...
  • (網路相關命令) 前言 這期呢主要說一說Linux中與網路相關命令,一共包含19個命令 測試主機之間網路是否聯通 1、簡介 ping 命令不管是在Windows還是Linux都是比較常用的命令。命令用於測試主機之間的網路連通性 2、語法格式 ping [參數選項] [目標主機] 3、參數說明 | 參 ...
  • 哈嘍大家好,我是鹹魚 今天我們來學習一下 Linux 操作系統核心之一:記憶體 跟 CPU 一樣,記憶體也是操作系統最核心的功能之一,記憶體主要用來存儲系統和程式的指令、數據、緩存等 關於記憶體的學習,我會儘量以通俗易懂的方式且分成多篇文章去講解 那麼今天在 pt.1 文章中,我們來學習一下 Linux 中 ...
  • 本文分享自天翼雲開發者社區《RPM常用命令以及組合使用場景》,作者:鄔祥釗 當涉及到管理基於 Red Hat 系的 Linux 系統時,RPM (Red Hat Package Manager) 是一個常用的軟體包管理器。以下是一些常用的 RPM 命令以及它們的組合使用場景: 常用命令: 1. rp ...
  • 本人習慣了Linux環境的du命令,在HP-UX下,發現du命令真的非常難用,有種讓人很難受的感覺。主要是因為HP-UX下的du命令參數比Linux平臺du命令參數要少很多,尤其是沒有-h這個參數,它只能以kb形式顯示文件/文件夾的大小,對於我來說,看起來非常不直觀。下麵是工作中,HP-UX平臺使用 ...
  • 環境: 工具:Firefox 84版本 或者 360游覽器-某特殊版本 系統版本:Windows 10 問題描述: 描述:進入某需要Flash插件的管理網站,使用edge等最新主流游覽器均無法調用Flash,開啟IE模式也沒有做用,網上的其他教程也因為時效性已經無法生效。 問題解釋: 解釋:各大主流 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...