RK3588 android12 DDR開發指南相關記錄

一,DDR打印信息

DDR 打印信息包括 loader 中的打印和 kernel 中的打印,loader 中打印的解析如下:

DDR Version 1.05 20170712// DDR 初始化代碼的版本信息,用于核對版本。從這行開始,已經進入DDR初始化代碼
In
SRX // 有SRX,說明是熱重啟;沒有SRX,說明是冷開機。有的芯片沒加這個功能,一直都是沒有SRX的
Channel a: DDR3 400MHz // 下面都是DDR容量的詳細信息,具體解析可以看"如何查看DDR的容量"章節
Bus Width=32 Col=10 Bank=8 Row=15 CS=1 Die Bus-Width=16 Size=1024MB
Channel b: DDR3 400MHz
Bus Width=32 Col=10 Bank=8 Row=15 CS=1 Die Bus-Width=16 Size=1024MB
Memory OK // DDR自測的結果,第一個Memroy OK是Channel a的自測結果
Memory OK // 是Channel b的自測結果。有報錯,說明焊接有問題;沒報錯,說明當前自測沒問題,整個DDR是否能穩定工作,還得看后續階段的運行結果。
OUT // 這行打印之后,就退出了DDR初始化代碼

二,將DDR bin 合成成完整可用的 loader

  1. 將 DDR bin 放在 U-Boot 工程的 rk\rkbin\bin\對應目錄下;
    在這里插入圖片描述

  2. 刪除原有的 DDR bin 文件;

  3. 將新的 DDR bin 改名為刪除掉的名字;

  4. 編譯 U-Boot(編譯前make distclean),就會生成對應的loader文件;
    在這里插入圖片描述

  5. 根據 DDR bin 打印的串口信息,確認 loader 已經更新正確;

三,修改DDR bin文件

可以使用rkbin/tools/ddrbin_tool命令行工具,說明文檔是 rkbin/tools/ddrbin_tool_user_guide.txt
在這里插入圖片描述

1. 官方說明help如下:

~/Rockchip/RK3588_Android12/rkbin/tools$ ./ddrbin_tool -h
version v1.17 20230725
chip name error
For more details, please refer to the ddrbin_tool_user_guide.txt
This tools support two functions
for example:
function 1: modify ddr.bin file from ddrbin_param.txt.1) modify 'ddrbin_param.txt', set ddr frequency, uart info etc what you want.If want to keep items default, please keep these items blank.like: ./ddrbin_tool px30 ddrbin_param.txt px30_ddr_333MHz_v1.13.binfunction 2: get ddr.bin file config to gen_param.txt fileIf want to get ddrbin file config, please run like that:./ddrbin_tool px30 -g gen_param.txt px30_ddr_333MHz_v1.15.binThe config will show in gen_param.txt.Note:   The function 1 and function 2 are two separate functions
The gen_param.txt file which is generated by function 2 is no need used in function 1.For more details, please refer to the ddrbin_tool_user_guide.txt

2. 如何修改DDR頻率?

RK3588在loader初始化DDR時,會一起初始化4個DDR頻率,供后續的kernel使用,且默認以最高頻退出loader,繼續后面的程序。如下的F1,F2,F3,F0就是這4個頻率,默認以F0退出。
DDR V1.12 52218f4949 cym 23/07/06-19:46:50
LPDDR4X, 1848MHz      /* 當前DDR頻率 */
channel[0] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[1] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[2] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[3] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
Manufacturer ID:0x13
CH0 RX Vref:28.9%, TX Vref:22.8%,0.0%
CH1 RX Vref:29.7%, TX Vref:22.8%,0.0%
CH2 RX Vref:29.3%, TX Vref:23.8%,0.0%
CH3 RX Vref:31.4%, TX Vref:21.8%,0.0%
change to F1: 528MHz        /* 4個DDR頻率 */
change to F2: 1068MHz
change to F3: 1560MHz
change to F0: 1848MHz
out

步驟1:確定當前的ddr.bin文件
具體文件名可在rkbin/RKBOOT/RK3588MINIALL.ini中查看:
在這里插入圖片描述
步驟2:查看當前ddr.bin配置

./ddrbin_tool rk3588 -g gen_param.txt ../bin/rk35/rk3588_ddr_lp4_1848MHz_lp5_2736MHz_v1.12.binversion v1.17 20230725
chip rk3588
version 4
generate info from bin file ok.

生成的gen_param.txt會包含DDR.bin的配置信息。
在這里插入圖片描述
步驟3:修改gen_param.txt,設置DDR頻率
修改lp5_freq的值,保存退出。

./ddrbin_tool rk3588 gen_param.txt ../bin/rk35/rk3588_ddr_lp4_1848MHz_lp5_2736MHz_v1.12.bin

步驟4:編譯燒錄
修改完成后,需要重新編譯U-Boot,并燒錄u-boot下新生成的rk3588_spl_loader_v1.19.113.bin。在這里插入圖片描述

3.修改完成

串口可看見DDR頻率已更新成功。
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/94861.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/94861.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/94861.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Docker 部署 GitLab 并開啟 SSH 使用詳解

在日常使用 GitLab 時,很多人習慣通過 SSH 協議 而不是 HTTPS 來拉取與推送代碼。但是在使用 Docker 部署 GitLab 的過程中,經常遇到 SSH 端口未開放、只能本地訪問、客戶端無法連接 等問題。本文將從零開始,詳細講解如何在 Docker 中正確開啟…

C/C++---前綴和(Prefix Sum)

在C算法與數據結構領域,前綴和是一種時間復雜度優化利器,尤其適用于頻繁查詢數組區間和的場景。它通過預先計算“前綴累積和”,將原本O(n)時間的區間和查詢壓縮至O(1),是面試、競賽及工程開發中高頻使用的基礎技巧。 一、前綴和的…

[n8n] 全文檢索(FTS)集成 | Mermaid圖表生成

第5章:全文檢索(FTS)集成 在前一章中,我們構建了REST API服務作為數據訪問入口。 本章將介紹全文檢索(FTS)集成,它如同智能搜索引擎,為工作流系統提供高效靈活的檢索能力。 核心架構 前文傳送: 技術選型 SQLite …

用戶模式與內核模式:操作系統的“權限雙軌制”

要理解用戶模式與內核模式,首先需要明確一個核心概念——進程(Process)。我們日常用C語言編譯生成的.exe文件,本質是“存儲在磁盤上的靜態程序”;當它被加載到內存并開始運行時,就轉化為“動態活動的進程”…

探索 Vertex AI 與 Elasticsearch

作者:來自 Elastic Jhon Guzmn 了解如何將 Vertex AI 與 Elasticsearch 集成來創建 RAG 應用。按照本教程配置一個 Gemini 模型并在 Kibana 的 Playground 中使用它。 更多閱讀: Elasticsearch:在 Elastic 中玩轉 DeepSeek R1 來實現 RAG …

[新啟航]白光干涉儀在微透鏡陣列微觀 3D 輪廓測量中的應用解析

引言微透鏡陣列作為由數百至數千個微米級透鏡單元組成的光學元件,在成像系統、光通信、傳感器等領域應用廣泛,其表面微觀 3D 輪廓參數(如曲率半徑、面型誤差、中心厚度等)直接影響光學性能。白光干涉儀憑借非接觸、高精度、三維成…

MTK Linux DRM分析(十四)- Mediatek KMS實現mtk_drm_drv.c(Part.2)

一、MTK KMS分析 mtk_drm_kms_init 函數分析 mtk_drm_kms_init 是 MediaTek DRM 驅動程序中的一個靜態函數(static int mtk_drm_kms_init(struct drm_device *drm)),位于 mtk_drm_drv.c 文件中。該函數的主要作用是初始化 DRM 設備的 Kernel Mode Setting (KMS) 子系統,包…

大模型RAG(Retrieval-Augmented Generation)

RAG檢索增強生成 一種結合了檢索與生成能力的人工智能技術,主要用于增強大型語言模型在特定任務中的表現。 含義 RAG 將檢索系統與生成模型相結合,當接收到一個查詢或問題時,模型首先通過檢索模塊從大規模知識庫中尋找與查詢相關的信息片段&a…

企業版Idea 無快捷鍵的啟動方式

在沒有快捷鍵的情況下啟動 IntelliJ IDEA 企業版,可以通過以下幾種方式進行操作: 1. 通過應用程序菜單啟動(適用于 macOS) 在 macOS 系統中,可以打開 Launchpad,在應用程序列表中找到 IntelliJ IDEA&#x…

智慧清潔革命:有鹿機器人如何重塑三大行業未來

作為有鹿智能巡掃機器人,每天清晨當城市還未蘇醒,我已悄然完成數萬平方米的清潔工作。搭載254TOPS算力的具身智能大腦,我正重新定義保潔、環衛和物業行業的清潔標準。技術賦能:智慧清潔的全面突破我搭載的Master2000通用具身大腦和…

安寶特方案丨AR異地專家遠程支持平臺,適合:機電運維、應急處置、監造驗收

隨著車間設備智能化程度的不斷提高,其復雜性越來越高,故障維修難度越來越大,嚴重依賴設備原廠的技術支持和上門服務。但設備廠家受制于地理遠近和專業人才數量的限制,服務的及時性和服務質量均很難保證。鑒于市場現有的通信聊天軟…

QT應用層項目20250822

01.服務器端代碼1.dbhelper.cpp#include "dbhelper.h" #include <iostream> #include <cstring>using std::string; using std::cerr; using std::cout; using std::endl;template <typename T> std::vector<T>& operator<<(std::…

【Linux】Linux基礎開發工具從入門到實踐

前言&#xff1a;學了Linux的指令&#xff0c;再就是Linux基礎開發工具&#xff0c;熟練掌握基礎開發工具是提升效率的關鍵。本文學習Linux的基礎開發工具&#xff0c;無論是軟件安裝、代碼編輯&#xff0c;還是編譯調試、版本控制&#xff0c;一套順手的工具鏈能讓你在開發路上…

黑馬點評|項目日記(day02)

目錄 一. 全局id生成器 1.為什么需要全局id生成器 2.傳統方式的缺陷: 3.典型全局 ID 生成方案的設計思路 二.優惠券秒殺-Redis實現全局唯一id 三.優惠券秒殺-添加優惠券 四.優惠券秒殺-實現秒殺下單 五. 一人一單問題 1.單體項目下 1,超賣問題思路分析 2.樂觀鎖解決問…

shell腳本編程規范與變量

文章目錄Shell編程文檔整理一、Shell介紹1.1 簡介1.2 Shell解釋器二、快速入門2.1 編寫Shell腳本2.1.1 創建腳本示例2.1.2 賦予執行權限2.2 執行Shell腳本三、Shell程序&#xff1a;變量3.1 語法格式3.2 變量使用3.3 變量類型四、字符串4.1 單引號4.2 雙引號4.3 獲取字符串長度…

【AGI使用教程】Coze 搭建智能體(1)

歡迎關注【AGI使用教程】 專欄 【AGI使用教程】GPT-OSS 本地部署&#xff08;1&#xff09; 【AGI使用教程】GPT-OSS 本地部署&#xff08;2&#xff09; 【AGI使用教程】Coze 搭建智能體&#xff08;1&#xff09; 【AGI使用教程】Coze 搭建智能體&#xff08;2&#xff09; 【…

(二分查找)Leetcode34. 在排序數組中查找元素的第一個和最后一個位置+74. 搜索二維矩陣

首先要明確二分查找算法如何實現&#xff0c;是采用左閉右閉還是左閉右開 左閉右閉 第?種寫法&#xff0c;我們定義 target 是在?個在左閉右閉的區間?&#xff0c;也就是[left, right] &#xff08;這個很重要?常重要&#xff09;。 區間的定義這就決定了?分法的代碼應…

損失函數,及其優化方法

什么是損失函數&#xff1f;損失函數&#xff0c;也稱為代價函數&#xff0c;是一個用來??衡量機器學習模型預測結果與真實值之間差距??的函數。損失函數的優化方法有哪些&#xff0c;各自優缺點是什么&#xff0c;他們的應用范圍是什么&#xff1f;方法類別代表算法核心思…

pyqt+Python證件號智能校驗工具

目錄 一、引言 二、GUI界面設計 1.相關提示 2.效果演示 3.界面設計.py 三、主要程序詳解 1.導入相關模塊 2.初始化設置 3.校驗過程 四、總程序代碼 一、引言 在數字化轉型加速的背景下&#xff0c;證件信息核驗已成為金融、政務、安防等領域的剛需。傳統人工校驗存在…

主流技術棧 NestJS、TypeScript、Node.js版本使用統計

&#x1f4ca; 2024年主流技術棧版本使用統計&#x1f527; TypeScript 采用情況全球采用率: 38.5% 的開發者使用 TypeScript&#xff08;Stack Overflow 2024&#xff09;增長趨勢: 從 2017年的 12% 增長到 2024年的 35%&#xff08;JetBrains 調研&#xff09;TypeScript vs …