瑞芯微開發板 燒寫固件問題

自用rk3568-firefly-itx-3568q核心板+fpga+自研底板,因底板所需外設、功能與原廠有較大差異,故裁剪相應sdk,編譯新的內核進行燒寫。然而在更改設備樹過程中kernel/drivers/media/i2c/fpga.c中的像素格式MEDIA_BUS_FMT_YUYV8_2X8誤改成MEDIA_BUS_FMT_YUYV8_1X16,故導致開發板上電掛掉,需重新燒寫原廠鏡像啟動板子,再通過ssh進行傳輸更改后的正確鏡像。在燒寫過程中遇到很多問題,差一點板子就變磚,簡單總結一下,便于后期備用,有遇到相同情況的也可以嘗試一下~

一、模式問題

需準備硬件:USB雙公頭一根(一端在PC機,另外一端在開發板的USB OTG口),12v電源

1.連接好電源和USB線后,電源燈亮,但是RKDevTool.exe顯示“識別不到設備”,換了一根usb也沒用,后來按了一下reset鍵,可以進maskrom模式(但是這種情況我幾個月才遇到過一次,太偶然了)

2.MaskRom?模式是設備變磚的最后一條防線。強行進入?MaskRom?涉及硬件操作,有一定風險,因此僅在設備進入不了?Loader?模式的情況下,方可嘗試?MaskRom?模式。進入?MaskRom?的原理是人為的把 EMMC 的數據腳與地線短接,系統會認為 EMMC 數據出錯,從而清除 EMMC 數據。

連接好電源和USB線后,電源燈亮,但是RKDevTool.exe顯示“識別不到設備”,用firefly官方提供的說法,將EMMC附近的D0和GND 測試點對接,官方是要用鑷子短接,這邊為了方便焊出兩根線。

操作步驟如下:

  • 設備斷開電源

  • 使用雙公頭USB數據線連接設備和電腦

  • 將兩根線的頭部接觸

  • 設備插入電源

  • 稍候片刻,之后松開線。

此時就會進入maskrom模式

二、燒寫問題

1.進入maskrom模式之后?,首先嘗試直接固件升級,但是大概率會顯示“固件升級失敗”,如果遇到這種情況,可以在RKDevTool.exe----->高級功能中下載對應的MiniLoaderAll.bin,而后選中讀取存儲列表,一般會顯示“SPINOR(√)”,再“擦除所有”,最后點一下emmc,選中“切換存儲”。便會顯示如下界面,即從emmc燒寫。

回到升級固件界面,選中對應的E:\3568資料\firefly_official\Ubuntu20.04\Public\kernel-5.10\ITX-3568Q_Ubuntu20.04-Xfce-r31113_v1.4.0a_240307\ITX-3568Q_Ubuntu20.04-Xfce-r31113_v1.4.0a_240307.img進行升級,片刻便會升級成功,如下

2.如果makrom模式燒寫不成功,有可能是emmc空間已滿,而系統鏡像太大,燒不進去,這種情況可以選擇直接下電,再上電,過30-60s后會自動識別為loader設備,此時進行燒寫便可以了

3.如果loader模式也燒寫不進去,可以選擇擦除flash,再燒RK356x_NorFlash2eMMCLoader_20211209.img和系統鏡像便可

4.當燒寫進去顯示

Bootdev(atags): mtd 2
GUID Partition Table Header signature is wrong: 0xA9425BF5A94153F3 != 0x5452415020494645
*** ERROR: Can't write GPT header ***
Backup GPT repair fail!
PartType: EFI
boot mode: recovery (misc)
FIT: No fdt blob
boot mode: None
Android 11.0, Build 2021.4, v2
Found DTB in boot part
Failed to read resource hdr
Failed to create resource list
Failed to load DTB
Failed to get kernel dtb, ret=-19
io-domain: OK
Model: Rockchip RK3568 Evaluation Board
rockchip_set_ethaddr: vendor_storage_write failed -5
rockchip_set_serialno: could not find efuse/otp device
no recovery key node
CLK: (sync kernel. arm: enter 816000 KHz, init 816000 KHz, kernel 0N/A)apll 816000 KHzdpll 780000 KHzgpll 1188000 KHzcpll 1000000 KHznpll 24000 KHzvpll 24000 KHzhpll 24000 KHzppll 100000 KHzarmclk 816000 KHzaclk_bus 150000 KHzpclk_bus 50000 KHzaclk_top_high 300000 KHzaclk_top_low 200000 KHzhclk_top 150000 KHzpclk_top 50000 KHzaclk_perimid 300000 KHzhclk_perimid 150000 KHzpclk_pmu 50000 KHz
Net:? ?No ethernet found.
Hit key to stop autoboot('CTRL+C'):??0
## Booting FIT Image FIT: No fit blob
FIT: No FIT image
ANDROID: reboot reason: "(none)"
optee api revision: 2.0
TEEC: blk_dread fail
TEEC: OpteeClientRkFsInit fail!
Can't read vboot flag
Android boot failed, error -1.
no mmc device at slot 1
no mmc device at slot 0
starting USB...
Bus dwc3@fcc00000: usb maximum-speed not found
Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
Bus dwc3@fd000000: usb maximum-speed not found
Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus dwc3@fcc00000 for devices... 1 USB Device(s) found
scanning bus dwc3@fd000000 for devices... cannot reset port 1!?
1 USB Device(s) foundscanning usb for storage devices... 0 Storage Device(s) foundDevice 0: unknown device
No ethernet found.
missing environment variable: pxeuuid
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm-rockchip
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default
No ethernet found.
Config file not found
No ethernet found.
No ethernet found.
=>

這種情況是因為nor flash不為空,nor flash有一部分不完整的固件,通常是直接把固件燒到nor flash引起的
解決方法:
此uboot命令行中直接把nor flash擦除

=> mtd erase nor0
Erasing 0x00000000 ... 0x01ffffff (8192 eraseblock(s))
=> reboot

再重啟。

注:還有一種情況 是上電maskrom模式,而后按住recovery,再按一下reset,便可以進入loader模式。

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

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

相關文章

photoblog解題過程

本題要求:通過sql注入,找到數據庫中的賬號密碼,并成功登錄。登錄后利用文件上傳,將一句話木馬上傳到數據庫中,然后并對網站進行控制。 解題過程 1、通過在靶機中輸入ifconfig,查到ip為192.168.80.153&…

QT獲取tableview選中的行和列的值

查詢數據庫數據放入tableview(tableView_database)后 QSqlQueryModel* sql_model new QSqlQueryModel(this);sql_model->setQuery("select * from dxxxb_move_lot_tab");sql_model->setHeaderData(0, Qt::Horizontal, tr("id&quo…

「Mac玩轉倉頡內測版46」小學奧數篇9 - 基礎概率計算

本篇將通過 Python 和 Cangjie 雙語實現基礎概率的計算,幫助學生學習如何解決簡單的概率問題,并培養邏輯推理和編程思維。 關鍵詞 小學奧數Python Cangjie概率計算 一、題目描述 假設有一個袋子中有 5 個紅球和 3 個藍球,每次從袋子中隨機…

Face2QR:可根據人臉圖像生成二維碼,還可以掃描,以后個人名片就這樣用了!

今天給大家介紹的是一種專為生成個性化二維碼而設計的新方法Face2QR,可以將美觀、人臉識別和可掃描性完美地融合在一起。 下圖展示為Face2QR 生成的面部圖像(第一行)和二維碼圖像(第二行)。生成的二維碼不僅忠實地保留…

電子商務人工智能指南 1/6 - 搜索、廣告和發現

介紹 81% 的零售業高管表示, AI 至少在其組織中發揮了中等至完全的作用。然而,78% 的受訪零售業高管表示,很難跟上不斷發展的 AI 格局。 近年來,電子商務團隊加快了適應新客戶偏好和創造卓越數字購物體驗的需求。采用 AI 不再是一…

Python快速入門二:Python3 基礎語法

一、編碼 默認情況下,Python 3 源碼文件以 UTF-8 編碼,所有字符串都是 unicode 字符串。 當然你也可以為源碼文件指定不同的編碼: # -*- coding: cp-1252 -*-上述定義允許在源文件中使用 Windows-1252 字符集中的字符編碼,對應適…

nextcloud云盤的部署

借鑒鏈接:https://blog.csdn.net/guigenyi/article/details/126692747 創建自定義 Docker 網絡 docker network create nextcloud-network 創建mysql的賬號密碼都是root 并將其連接到自定義網絡 docker run --name mysql-container --network nextcloud-network -e…

圖(dfs與bfs)算法1

開辟新專題!不擅長的圖它來了來了!(莫名激動 進度:10/100 另:沒想到給自己挖了個坑,可以用dfs的基本上也可以用bfs,看來要雙線并行了。 補:圖算法是我近期得有30%的焦慮來源了&am…

Ruby On Rails 筆記3——表的增刪改查

1.Migration Migrations是一種便利的方法,能以重現的方式隨時間推移改變數據庫schema. 使用Ruby Domain Specific Language (DSL),因此你不用手寫SQL,進而使你的schema和changes與數據庫獨立。 可以把每次migration看作是數據庫的一個新“版本”。A schema開始時什么都沒有…

一、測試工具LoadRunner Professional腳本編寫-錄制前設置

設置基于URL的腳本 原因:基于HTML的腳本會導致login接口不能正確錄制 設置UTF-8 原因:不勾選此項會導致腳本中文變為亂碼

14、鴻蒙學習——管理通知角標

針對未讀的通知,系統提供了角標設置接口,將未讀通知個數顯示在桌面圖標的右上角角標上。 通知增加時,角標上顯示的未讀通知個數需要增加。 通知被查看后,角標上顯示的未讀通知個數需要減少,沒有未讀通知時&#xff0…

Thonny IDE + MicroPython + ESP32 + GY-302 測量環境中的光照強度

GY-302是一款基于BH1750FVI光照強度傳感器芯片的模塊。該模塊能夠直接測量出環境中的光照強度,并將光照強度轉換為數字信號輸出。其具體參數如下表所示。 參數名稱 參數特性 測量范圍 0-65535 LX 測量精度 在環境光下誤差小于20%,能夠自動忽略50/60…

AJAX和XHR、fetch、axios的關系

AJAX中有兩套原生的API,一個是XHR(XMLHttpRequest),一個是Fetch API axios是第三方庫,在瀏覽器環境中使用的是XHR umi-request也是第三方庫,在瀏覽器環境中使用的是Fetch 在 AJAX(Asynchronous JavaScript and XML&am…

openlayers地圖緩存添加

//通過安裝包localforage(npm install localforage)或https://cdnjs.cloudflare.com/ajax/libs/localforage/1.10.0/localforage.min.js tileCacheStore.js import localforage from localforage var tileCacheStorenull;// 從緩存中獲取該瓦片 functio…

云軸科技ZStack出席中國電信國際EMCP平臺香港發布會,持續推動海外合作

近日,以“云聚未來 翼起新篇”為主題的中國電信國際多云服務一站式平臺(E-surfing Managed Cloud Platform,簡稱EMCP平臺)新聞發布會在香港成功舉辦,標志著中國電信國際在云計算服務領域取得了又一重大進展。云軸科技…

面試復盤 part 02·1202-1207 日

作品集講述部分 分析反思 作品集講述部分,視覺講述部分需要更換,需要換成其他視覺相關的修改 具體話術 這是一個信息展示優化方案,用戶為財務,信息區分度不足,理解成本較高,因此選擇需要降低理解成本。…

2024.11.29——[HCTF 2018]WarmUp 1

拿到題&#xff0c;發現是一張圖&#xff0c;查看源代碼發現了被注釋掉的提示 <!-- source.php--> step 1 在url傳參看看這個文件&#xff0c;發現了這道題的源碼 step 2 開始審計代碼&#xff0c;分析關鍵函數 //mb_strpos($haystack,$needle,$offset,$encoding):int|…

brpc的二次封裝以及brpc與etcd的聯合

目的&#xff1a; 搭配etcd的注冊中心管理能知道誰能提供什么服務&#xff0c;并用rpc進行服務調用 封裝思想&#xff1a; 信道管理&#xff0c;將不同服務主機的通信信道管理起來 封裝&#xff1a; 1.指定的信道管理類 一個服務通常會有多個節點&#xff0c;每個節點都會…

【提升效率】如何寫好一份詳細設計文檔

版本日期修訂人描述V1.02024/12/6nick huang創建文檔 背景 CSDN在發起“如何做好一份技術文檔”的活動。 想起我最近在寫一份詳細設計&#xff0c;有一些感受&#xff1a; 一份考慮較周全的“詳細設計文檔模板”能起到質量保底的作用。 當一名初級技術人員需要編寫詳細設計文…

電阻計RM3544、RM3545的使用

目錄&#xff1a; 一、電阻計與PC通訊 1、硬件連接 2、RmLogger.exe的使用 二、RM3545測量35uΩ電阻 一、電阻計與PC通訊 1、硬件連接 可以設置USB或COM口(串口)連接PC&#xff0c;也可以設置為“打印”輸出。 1&#xff09;使用USB連接PC 2&#xff09;使用串口連接PC …