首頁 收藏 QQ群
 網(wǎng)站導(dǎo)航

ZNDS智能電視網(wǎng) 推薦當(dāng)貝市場

TV應(yīng)用下載 / 資源分享區(qū)

軟件下載 | 游戲 | 討論 | 電視計算器

綜合交流 / 評測 / 活動區(qū)

交流區(qū) | 測硬件 | 網(wǎng)站活動 | Z幣中心

新手入門 / 進(jìn)階 / 社區(qū)互助

新手 | 你問我答 | 免費(fèi)刷機(jī)救磚 | ROM固件

查看: 277487|回復(fù): 53
上一主題 下一主題
[攻略教程]

fastboot uboot的使用

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2021-7-24 15:15 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式 | 來自湖北
本帖最后由 z913457894 于 2021-7-24 15:14 編輯

其實早就準(zhǔn)備發(fā)一篇fastboot/uboot模式的科普貼,之前的有一篇逆向進(jìn)fastboot的帖子,http://m.81jnr2m.cn/tv-1198276-1-1.html,一直有人再說進(jìn)什么fastboot直接用Hitool不就ok了,fastboot下面也沒什么可以用的指令之類的,看到這些,我覺得我真有必要針對這些問題講一講。
我們這里說的fastboot/uboot模式,準(zhǔn)確的說只能叫uboot模式(在嵌入式領(lǐng)域都稱為bootloader模式,你可以理解為平常電腦的bios),而fastboot是運(yùn)行在uboot模式之上的一種協(xié)議,這種協(xié)議是可以通過USB或以太網(wǎng)與引導(dǎo)加載程序通信的機(jī)制,我們這里只針對這種模式來講,不談協(xié)議。
下面是我手上的兩個盒子進(jìn)入fastboot/uboot模式的終端輸出,也就是你們俗稱跑碼。
第一個 天邑TY1208-Z,可以看到上面顯示是Uboot
fastboot uboot的使用

第二個是廣電九聯(lián)科技HDC2100k,上面顯示為fastboot
fastboot uboot的使用

以上不管是fastboot還是uboot,源代碼都是由芯片廠商提供,和芯片廠商提供的刷機(jī)工具(比如海思的hitool)是配套的,后期盒子廠家會在fastboot/uboo代碼基礎(chǔ)上適配自己的其他基礎(chǔ)硬件,網(wǎng)卡,wifi等,但和上層的刷機(jī)工具通信的協(xié)議是不會改變的。
看完這個你就會明白為什么我一直在花力氣進(jìn)這個模式的原因,離開了這個模式刷機(jī)工具啥都干不了。
本來這里是準(zhǔn)備通過我的盒子HDC2100k修改fastboot環(huán)境變量,加入ctrl+c的bootdelaykey,hitool就可以正常備份刷寫固件的案列,來證明fastboot模式對刷機(jī)工具h(yuǎn)itool的重要性,加入證明讓帖子變得變得難以讓人看懂,之后會再寫一篇帖子帖子------hdc2100k如何支持hitool工具。
這種模式各個廠家的指令大同小異,都是類似的,因為他們的代碼都是仿照開源uboot代碼寫的,我這里以手上的HDC2100K介紹下fastboot/uboot下指令的用法,看懂了,其它的基本也就都會了。
我們現(xiàn)在就演示下fastboot下各個指令是如何使用。串口終端我推薦SecureCRT

我們首先輸入指令help,回車來看看你有哪些指令可以用,我只是簡單的列舉了幾個常用指令。
fastboot uboot的使用


環(huán)境變量相關(guān)
我們輸入指令printenv回車查看一下環(huán)境變量,可以看到tftpip設(shè)置,設(shè)備的mac地址,啟動信息等
fastboot uboot的使用

我們還可以修改環(huán)境變量,以修改加載kenel等待時間為例,輸入setenv bootdely 1 回車,然后在輸入 saveenv回車
很好理解設(shè)置完,保存,如果不保存,就是重啟無效。


傳輸相關(guān)
傳輸就是上載和下載,電腦到機(jī)頂盒內(nèi)存,機(jī)頂盒內(nèi)存到電腦,這里都是以機(jī)頂盒內(nèi)存為中間橋梁,這里很重要,必須要理解,就拿我們現(xiàn)在要刷系統(tǒng)的某個分區(qū),我們必須分兩步走,一是系統(tǒng)分區(qū)文件從電腦傳輸?shù)綑C(jī)頂盒內(nèi)存,二是再從機(jī)頂盒內(nèi)存到emmc或者其它存儲芯片。
傳輸方式有很多,串口,網(wǎng)口,usb都可以。
串口傳輸   輸入指令loady 0x1FFBFC0
后面1FFBFC0是內(nèi)存地址,同樣你可以通過指令getinfo ddrfree獲取空閑地址。 如果用的是SecureCRT的話,直接選擇 傳輸->發(fā)送Ymodem,選擇你要發(fā)送的文件點(diǎn)擊確定就行了。
如果是上載到電腦的,輸入指令uploadx 0x1FFBFC0 , SecureCRT上直接選擇 傳輸->接收Xmodem,保存文件就可以了。這里XmodemYmodem是兩個不同協(xié)議,根據(jù)具體指令選擇,loadx就是Xmodem,loady就是ymodem
fastboot uboot的使用

網(wǎng)絡(luò)傳輸  速度比較快,適合大文件傳輸,但我們需要在電腦上有一個tftp的服務(wù)器工具。
首先我們設(shè)置環(huán)境變量IP地址信息,指令
setenv serverip 192.168.0.119
setenv ipaddr 192.168.0.139
setenv gatewayip 192.168.0.250
ping 192.168.0.119
都很好理解,設(shè)置服務(wù)器ip,自己的ip,網(wǎng)關(guān)地址,ping下服務(wù)器,根據(jù)自己情況設(shè)置。

電腦打開tftp的服務(wù)器工具,下載的文件改名file.bin,放到程序同級目錄,準(zhǔn)備好之后輸入指令
tftp 0x1FFBFC0 file.bin  ,等待傳輸完成就行

上傳之需要在上面指令多加一個參數(shù),上傳字節(jié)數(shù),比如我們需要上傳0x400字節(jié)
tftp 0x1FFBFC0 file.bin 0x400  ,等待傳輸完成后,程序目錄就會生成文件file.bin


usb傳輸   我不太想講,要看具體盒子支持些什么指令,天邑Ty1208-z支持USB_burning指令,可以直接文件放到U盤(格式化成fast32)里面,然后直接文件寫入emmc分區(qū),這個盒子沒這個指令,顯得有點(diǎn)復(fù)雜,我簡單把指令列出來,有興趣自己嘗試。
usb start  打開初始化usb
usb storage   列舉出已經(jīng)插入的usb設(shè)備
fatls     展開usb設(shè)備中文件列表
fatload  將文件加載到內(nèi)存



內(nèi)存操作相關(guān)
下載完數(shù)據(jù),如何查看數(shù)據(jù)是不是正確的,顯示內(nèi)存數(shù)據(jù),輸入指令md.b 0x1FFBFC0 0x400
md.b 按單字節(jié)顯示; md.w按雙字節(jié)顯示;md.l 按四字節(jié)顯示
第二個參數(shù)和第三個參數(shù)分別是內(nèi)存地址和顯示字節(jié)數(shù),顯示字節(jié)數(shù)是以前面指令模式為單位的,md.l就會顯示4倍的顯示字節(jié)數(shù)。

修改內(nèi)存nm.b   nm.w   nm.l

查看空閑內(nèi)存地址getinfo ddrfree
這里面的地址范圍可以用在上面所有和內(nèi)存相關(guān)的地方



Emmc讀取寫入相關(guān)
emmc寫入,輸入指令mmcwrite 0 0x1FFBFC0 0x1000 2
Write 后第一個參數(shù)0是指的設(shè)備0,有的設(shè)備mmcwrite沒有這個參數(shù);
第二個0x1FFBFC0上面已經(jīng)提過了內(nèi)存地址;
第三個0x1000是扇區(qū)號,就是寫入的扇區(qū)地址,一個扇區(qū)0x200512)字節(jié),比如我們要寫入偏移地址0x200000,我只需要偏移地址除以扇區(qū)大小0x200就可以得到扇區(qū)地址0x1000;
第四個2就是寫入兩個扇區(qū)1024字節(jié)

emmc讀取,輸入指令mmcread 0 0x1FFBFC0 0x1000 2
參數(shù)跟前面mmc write一致。



總結(jié)
上面介紹的東西基本已經(jīng)覆蓋了百分之九十的常用指令,用這些最基本的指令,我們就可以完成固件讀取,寫入的操作,Hitool刷機(jī)軟件的所有功能也都是建立在這些指令之上的,你要是會寫軟件,基本上也可以寫一個hitool出來。作為一名程序開發(fā)者,從程序猿角度科普下,希望刷機(jī)的朋友們不只單單知道有包就可以刷,而真正去理解程序是怎么運(yùn)作的。

評分

參與人數(shù) 4威望 +20 金幣 +47 Z幣 +19 收起 理由
wwb66668 + 5 精品文章^_^
1個左撇子 + 17 一位不愿意透露姓名的網(wǎng)友給你點(diǎn)了個贊.
小魚干. + 10 + 9 開門,社區(qū)送溫暖...
路人甲是野百合 + 10 + 25 + 10 開門,社區(qū)送溫暖...

查看全部評分


上一篇:GDT-YH9000求固件
下一篇:求大神代刷廣電U點(diǎn)盒子,可提供各種型號盒子及原廠updates...
沙發(fā)
發(fā)表于 2021-7-24 16:03 | 只看該作者 | 來自山東
雖然我看不懂,但是感覺很厲害的樣子
回復(fù) 支持 反對

使用道具 舉報

板凳
發(fā)表于 2021-7-24 18:29 | 只看該作者 | 來自廣東
這是高手
回復(fù) 支持 反對

使用道具 舉報

地板
發(fā)表于 2021-7-24 18:29 | 只看該作者 | 來自遼寧
小白前來學(xué)習(xí)
回復(fù) 支持 反對

使用道具 舉報

5#
發(fā)表于 2021-7-24 18:30 | 只看該作者 | 來自山東
大師之作,需要慢慢消化,好久沒有這樣教學(xué)類的貼子了,支持一下?。。。。。?/td>
回復(fù) 支持 反對

使用道具 舉報

6#
發(fā)表于 2021-7-24 18:57 | 只看該作者 | 來自廣西

小白前來學(xué)習(xí),,,,
回復(fù) 支持 反對

使用道具 舉報

7#
發(fā)表于 2021-7-24 20:34 來自ZNDS手機(jī)版 | 只看該作者 | 來自江西
感謝大佬分享
回復(fù) 支持 反對

使用道具 舉報

8#
發(fā)表于 2021-7-25 20:24 | 只看該作者 | 來自廣東
雖然我看不懂,但是感覺很厲害的樣子
回復(fù) 支持 反對

使用道具 舉報

9#
發(fā)表于 2021-7-26 11:28 來自ZNDS手機(jī)版 | 只看該作者 | 來自北京
感謝分享

回復(fù) 支持 反對

使用道具 舉報

10#
發(fā)表于 2021-7-26 11:55 | 只看該作者 | 來自北京
這是高手
回復(fù) 支持 反對

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

Archiver|新帖|標(biāo)簽|軟件|Sitemap|ZNDS智能電視網(wǎng) ( 蘇ICP備2023012627號 )

網(wǎng)絡(luò)信息服務(wù)信用承諾書 | 增值電信業(yè)務(wù)經(jīng)營許可證:蘇B2-20221768 丨 蘇公網(wǎng)安備 32011402011373號

GMT+8, 2024-10-23 04:36 , Processed in 0.072766 second(s), 14 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報:report#znds.com (請將#替換為@)

© 2007-2024 ZNDS.Com

快速回復(fù) 返回頂部 返回列表