1. 程式人生 > >JTAG是把屠龍刀,說說其作用和原理

JTAG是把屠龍刀,說說其作用和原理

借這位兄弟的地方一用,以摩托羅拉為例,從另一個角度對JTAG做點介紹:摩托羅拉手機FLASH,SHX,JTAG,bootloader的解釋。

FLASH是裝載手機程式、存放使用者資訊、存放手機工作引數的載體、FLASH一般包括下面幾個部份:
FLASH區域:NOR FLASH 存放手機的整個程式和字型檔、圖形、音樂等資訊;
引數區域:存放手機的工作引數,和一些與其它部位相對應的密碼;
加密位或者隱含扇區:是獨立於常規區域的一個小部份,存放的是一些加密資訊,必須和FLASH引數區域對應;
NAND FLASH:大容量的儲存器,用來儲存MP3、電影等等,就是等同於U盤一樣;
暫存器(RAM):執行手機程式,就像電腦的記憶體一樣。
SHX檔案的通常的3種類型:
1、Lang Pack語言包-包括手機語言集和字型,可以使手機快速更改可用的語言而不用修改整個手機FLASH晶片,語言包不會更改使用者資料,FLASH或者FLEX,只包含BOOtloader(引導區)和一個語言包,通常在2M大小左右;
2、Flash--手機的升級檔案,包含引導裝入(ROM),Flash,DSP,語言包,DRM(製圖),和Signature(簽名)。一般正常帶語言包(Lang Pack),除原廠軟體外,在上傳其它外版版本的FLASH檔案時一般會把語言包刪除掉,這樣我們刷機過後,原來是什麼語言刷過後也還是什麼語言,而沒有改變語言!因為我們在外國網站上找到的FLASH包一般都是帶外語的語言包。方便一般的朋友刷機時刷完FLASH後,不用再刷中文語言包了,不過有時也根據需要要帶上相匹配的中文語言包,如V3的41C3R,用9CR的中文語言包在41C3R的版本中檢視不了記憶體!所以在上傳時就把相匹配的中文語言包41COR的中文語言包加上去,這樣就省去了很多朋友的麻煩!
3、Monster Pacd--我們通常簡稱為一體包;和FLASH內容相似,但是包括FLEX在內,包括引導裝入,FLASH,FLEX,DSP,Lang Pack,DRM,Signture;是手機FLASH晶片完整的升級軟體包!但是注意在升級時會清除你的資料,因為帶FLEX!                    不過也還有一種型別是很少見的,就是SHX格式的FLEX,但通常用來強刷進去的,比方說刷HS格式的FLEX刷不進機內,所以就把它轉換成SHX格式,然後強刷進去!
JTAG(Joint Test ActionGroup)是1985年制定的檢測PCB和IC晶片的一個標準,1990年被修改後成為IEEE的一個標準,即IEEE1149.1-1990。通過這個標準,可對具有JTAG口晶片的硬體電路進行邊界掃描和故障檢測。
    具有JTAG口的晶片都有如下JTAG引腳定義:
TCK——測試時鐘輸入;
TDI——測試資料輸入,資料通過TDI輸入JTAG口;
TDO——測試資料輸出,資料通過TDO從JTAG口輸出;
TMS——測試模式選擇,TMS用來設定JTAG口處於某種特定的測試模式。
可選引腳TRST——測試復位,輸入引腳,低電平有效。
含有JTAG口的晶片種類較多,如CPU、DSP、CPLD等。
bootloader是用來完成系統啟動和系統軟體載入工作的程式。它是底層硬體和上層應用軟體之間的一箇中間件軟體,完成處理器和周邊電路正常執行所要的初始化工作;可以遮蔽底層硬體的差異,使上層應用軟體的編寫和移植更加方便;不僅具有類似PC機上常用的BIOS(BasicInput Output System,基本輸入、輸出系統監控程式)功能,而且還可具有一定的除錯功能。目前,在嵌入式系統開發中有多種bootloader可供選擇,其中Motorola公司的名為dBUG的bootloader比較優秀。它可以移植在Motorola MC68000、ColdFire和PowerPC系列所有微處理器上面,有強大的除錯功能,支援單步、下載、網路更新等;其良好的軟體架構使使用者能很方便地修改其程式碼,擴充套件新的功能。

相關推薦

JTAG說說作用原理

借這位兄弟的地方一用,以摩托羅拉為例,從另一個角度對JTAG做點介紹:摩托羅拉手機FLASH,SHX,JTAG,bootloader的解釋。 FLASH是裝載手機程式、存放使用者資訊、存放手機工作引數的載體、FLASH一般包括下面幾個部份: FLASH區域:NOR FLASH 存放手機的整個程式和字型檔、圖形

吳震:要讓區塊鏈這」有可砍

轉自公眾號: OK區塊鏈 OK區塊鏈 點選關注OK區塊鏈,置頂公眾號 讓區塊鏈技術連結未來 ━━━━━━   (圖為國家互金安全專委會祕書長吳震) 【OK區塊鏈導讀】2018年12月18日,在全球領先的區塊鏈企業OK集團聯合主辦的“鏈動錢江·智享

獲取列表中最大最小的元素長度下標

列表中只有一個最大長度的字串和一個最小長度的字串 def get_ele_len(): a = ['wanb','zhangy33imin','liuxiaokang','feilong','gaoshang','liyongquan','luzhiwei'] lis = []

java的字典碼的程式碼,作用redis的效果差不多的速度快

@Setter @Getter @ToString public class DictCodeDO { private Integer id; /** * 字典型別碼 */ private String classCode; /*

web.xml中的配置servletfilterlistener的作用原理

首先介紹servlet,filter和listen的原理: servlet可以說是動態頁面的基石,現在很多開發都是基於spring等各種框架,所以對servlet的瞭解可能少點,下面先用簡單的例子,說明下servlet的作用 MyFirstServlet.java class MyF

使用bcryptjs對密碼加密時校驗原理是怎樣的?

Question 剛開始接觸這種加密方式,而又對加密原理不瞭解時,很容易產生這種疑問❔: 對一個密碼,bcryptjs每次生成的hash都不一樣,那麼它是如何進行校驗的? Basic

python編程中的if __name__ == 'main': 的作用原理

無法執行 pan art 條件 .com 當前 -c python腳本 port <背景> 在大多數編排得好一點的腳本或者程序裏面都有這段 if __name__ == ‘main‘: <這段代碼的功能> 一

if __name__ == 'main': 的作用原理

控制 tle .net com exp __name__ net 等於 itl if __name__ == ‘main‘: 功能 一個python的文件有兩種使用的方法,第一是直接作為腳本執行,第二是import到其他的python腳本中被調用(模塊重用)執行。

【轉】python編程中的if __name__ == 'main': 的作用原理

ilo 理解 之前 color long sed 作用 span .com 在大多數編排得好一點的腳本或者程序裏面都有這段if __name__ == ‘main‘: ,雖然一直知道他的作用,但是一直比較模糊,收集資料詳細理解之後與打架分享。 1、這段代碼的功能

Token 的作用原理

剛好碰到Token碼上 Token,就是令牌,最大的特點就是隨機性,不可預測。一般黑客或軟體無法猜測出來。 那麼,Token有什麼作用?又是什麼原理呢? Token一般用在兩個地方: 1)防止表單重複提交、 2)anti csrf攻擊(跨站點請求偽造)。

python程式設計中的if __name__ == 'main' 的作用原理

在大多數編排得好一點的指令碼或者程式裡面都有這段if __name__ == 'main': ,雖然一直知道他的作用,但是一直比較模糊,收集資料詳細理解之後與大家分享一下。 1、程式碼的功能    一個python的檔案有兩種使用的方法,第一是直接作為指令碼執行,第二是i

passive的作用原理

passived到底有什麼用? passived主要用於優化瀏覽器頁面滾動的效能,讓頁面滾動更順滑~~ passived產生的歷史時間線 addEventListener():大家都是認識的,為dom新增觸發事件,故事就從這裡開始。 在早期addEventListener是這樣的: addEvent

HashMapHashTableConcurrentHashmap區別原理

HashTable 底層陣列+連結串列實現,無論key還是value都不能為null,執行緒安全,實現執行緒安全的方式是在修改資料時鎖住整個HashTable,效率低,ConcurrentHashMap做了相關優化 初始size為11,擴容:newsize

python程式設計中的if __name__ == 'main': 的作用原理

 在大多數編排得好一點的指令碼或者程式裡面都有這段if __name__ == 'main': ,雖然一直知道他的作用,但是一直比較模糊,收集資料詳細理解之後與打架分享。    1、這段程式碼的功能    一個python的檔案有兩種使用的方法,第一是直接作為指令碼執行,

volatile的作用原理

res 變量 類型 完成 store 使用 use 處理 ava 1、保持內存可見性內存可見性:所有線程都能看到共享內存的最新狀態。每次讀取前必須先從主內存刷新最新的值。每次寫入後必須立即同步回主內存當中。Java通過幾種原子操作完成工作內存和主內存的交互:lock:作用於

Python----基礎語法之if __name__ == 'main': 的作用原理

family ads == cond -s 條件 程序 fun 之前 在大多數編排得好一點的腳本或者程序裏面都有這段if __name__ == ‘main‘: ,雖然一直知道他的作用,但是一直比較模糊,收集資料詳細理解之後與大家分享。 1、這段代碼的功能

代理ARP的作用原理

Proxy(代理)ARP作用及原理 代理ARP是ARP協議的一個變種。對於沒有配置預設閘道器的計算機要和其他網路中的計算機實現通訊,閘道器收到源計算機的 ARP 請求會使用自己的 MAC 地址與目標計算機的 IP地址對源計算機進行應答。代理ARP就是將一個主機作為對

stm32不小心SWDJTAG都給關了程序下載不進去解決辦法

下載 jws gpo lds clas jks hms led tbb 77源眾稼7n芍乜誥ln姑氛煤http://bjzhbhc.wikidot.com/hf習抗宜1n韻排廝dt倩嵌搪http://gfljv.wikidot.com/s2旨首醒ms俾恿蛋i8酥冒諼http