游戲機專用STM32F系列芯片解密與IC破解

 


深圳耐斯迪反向開發(fā)技術中心,近日應客戶要求對某款游戲機進行反向開發(fā)破解服務,此款游戲機電路板有STM32系列加密芯片,經一段時間的技術攻關,現(xiàn)已成功破解。歡迎來電咨詢。

現(xiàn)解密時間全面提速,(51系列)AT89CXX、W78EXX、P87CXX、SM89XX...EMC全系列、HT全系列、MDT全系列...解密時間加急1天,(承諾:否則3倍解密款退還),正常時間為3-5天,(星期六、日除外)
誠證各省解密代理,價格優(yōu)惠,數(shù)量有限,可提供解密報價單。已在深圳(華強,賽格)、東莞、廣州、北京、上海、南京、江浙...等都設有代理機構,歡迎光臨。

 

工作頻率為36MHz,片上集成了高速存儲器(Flash最多可達512kB,SRAM最多可達48kB),和通過APB總線連接的豐富和增強的外設和I/O。所有的設備都提供標準的通信接口(最多可有2個IIC接口,3個SPI接口和5個USART接口)。片上還帶有一個12位的ADC,一個12位的DAC和9個16位的計時器。

特點:

內核:ARM32位Cortex-M3 CPU,最高工作頻率36MHz,1.25DMIPS/MHz。單周期乘法和硬件除法。

存儲器:片上集成32-512KB的Flash存儲器。6-48KB的SRAM存儲器??勺冹o態(tài)存儲管理器,帶4個片選,可支持Flash,SRAM,PSRAM,NOR和NAND模式。

時鐘、復位和電源管理:2.0-3.6V的電源供電和I/O接口的驅動電壓。POR、PDR和課編程的電壓探測器(PVD)。4-16MHz的晶振。內嵌出廠前調校的8MHz RC振蕩電路。內部40 kHz的RC振蕩電路。用于CPU時鐘的PLL。帶校準用于RTC的32kHz的晶振。

低功耗:3種低功耗模式:休眠,停止,待機模式。為RTC和備份寄存器供電的VBAT。

調試模式:串行調試(SWD)和JTAG接口。

DMA:最多12通道DMA控制器。支持的外設:定時器,ADC,DAC,SPI,IIC和USART。

1個12位的us級的A/D轉換器(16通道):A/D測量范圍:0-3.6 V。片上集成一個溫度傳感器。

2通道12位D/A轉換器:STM32F101xC,STM32F101xD,STM32F101xE獨有。

最多高達112個的快速I/O端口:根據(jù)型號的不同,有26,37,51,80,和112的I/O端口,所有的端口都可以映射到16個外部中斷向量。除了模擬輸入,所有的都可以接受5V以內的輸入。

最多多達9個定時器:4個16位定時器,每個定時器有4個IC/OC/PWM或者脈沖計數(shù)器。2個看門狗定時器(獨立看門狗和窗口看門狗)。Systick定時器:24位倒計數(shù)器。2個16位基本定時器(用于驅動DAC,STM32F101xC,STM32F101xD,STM32F101xE獨有)。

最多多達10個通信接口:2個IIC接口(SMBus/PMBus)。5個USART接口(ISO7816接口,LIN,IrDA兼容,調試控制)。3個SPI接口(18 Mbit/s)。

ECOPACK封裝:STM32F101xx系列微控制器采用ECOPACK封裝形式。

總體結構:

內部總線和兩條APB總線將片上系統(tǒng)和外設資源緊密的連接起來,其中內部總線是主系統(tǒng)總線,連接了CPU,存儲器和系統(tǒng)時鐘等。APB1總線連接高速外設,APB2總線連接系統(tǒng)通用外設和中斷控制。I/O端口包括PA、PB,PC,PD,PE,PF和PG共7個16位的端口,其它的外設接口引腳都與I/O端口的引腳功能復用。

系統(tǒng)功能:

1、集成嵌入式Flash和SRAM存儲器的ARM Cortex-M3內核。與8/16位設備相比,ARM Cortex-M3 32位RISC處理器提供了更高的代碼效率。STM32F101xx微控制器帶有一個嵌入式的ARM核,所以可以兼容所有的ARM工具和軟件。

2、嵌入式Flash存儲器和RAM存儲器:內置多達512KB的嵌入式Flash,可用于存儲程序和數(shù)據(jù)。多達48KB的嵌入式SRAM可以以CPU的時鐘速度進行讀寫(不待等待狀態(tài))。

3、可變靜態(tài)存儲器(FSMC):FSMC嵌入在STM32F101xC,STM32F101xD,STM32F101xE中,帶有4個片選,支持四種模式:Flash,RAM,PSRAM,NOR和NAND。3個FSMC中斷線經過OR后連接到NVIC。沒有讀/寫FIFO,除PCCARD之外,代碼都是從外部存儲器執(zhí)行,不支持Boot,目標頻率等于SYSCLK/2,所以當系統(tǒng)時鐘是36MHz時,外部訪問按照18MHz進行。

4、嵌套矢量中斷控制器(NVIC):可以處理43個可屏蔽中斷通道(不包括Cortex-M3的16根中斷線),提供16個中斷優(yōu)先級。緊密耦合的NVIC實現(xiàn)了更低的中斷處理延遲,直接向內核傳遞中斷入口向量表地址,緊密耦合的NVIC內核接口,允許中斷提前處理,對后到的更高優(yōu)先級的中斷進行處理,支持尾鏈,自動保存處理器狀態(tài),中斷入口在中斷退出時自動恢復,不需要指令干預。

5、外部中斷/事件控制器(EXTI):外部中斷/事件控制器由用于19條產生中斷/事件請求的邊沿探測器線組成。每條線可以被單獨配置用于選擇觸發(fā)事件(上升沿,下降沿,或者兩者都可以),也可以被單獨屏蔽。有一個掛起寄存器來維護中斷請求的狀態(tài)。當外部線上出現(xiàn)長度超過內部APB2時鐘周期的脈沖時,EXTI能夠探測到。多達112個GPIO連接到16個外部中斷線。

6、時鐘和啟動:在啟動的時候還是要進行系統(tǒng)時鐘選擇,但復位的時候內部8MHz的晶振被選用作CPU時鐘。可以選擇一個外部的4-16MHz的時鐘,并且會被監(jiān)視來判定是否成功。在這期間,控制器被禁止并且軟件中斷管理也隨后被禁止。同時,如果有需要(例如碰到一個間接使用的晶振失?。?,PLL時鐘的中斷管理完全可用。多個預比較器可以用于配置AHB頻率,包括高速APB(PB2)和低速APB(APB1),AHB和APB最高的頻率為36MHz。

7、Boot模式:在啟動的時候,Boot引腳被用來在3種Boot選項種選擇一種:從用戶Flash導入,從系統(tǒng)存儲器導入,從SRAM導入。Boot導入程序位于系統(tǒng)存儲器,用于通過USART1重新對Flash存儲器編程。

8、電源供電方案:VDD ,電壓范圍為2.0V-3.6V,外部電源通過VDD引腳提供,用于I/O和內部調壓器。VSSA和VDDA,電壓范圍為2.0-3.6V,外部模擬電壓輸入,用于ADC,復位模塊,RC和PLL,在VDD范圍之內(ADC被限制在2.4V),VSSA和VDDA必須相應連接到VSS和VDD。VBAT,電壓范圍為1.8-3.6V,當VDD無效時為RTC,外部32KHz晶振和備份寄存器供電(通過電源切換實現(xiàn))。

9、電源管理:設備有一個完整的上電復位(POR)和掉電復位(PDR)電路。這條電路一直有效,用于確保從2V啟動或者掉到2V的時候進行一些必要的操作。當VDD低于一個特定的下限VPOR/PDR時,不需要外部復位電路,設備也可以保持在復位模式。設備特有一個嵌入的可編程電壓探測器(PVD),PVD用于檢測VDD,并且和VPVD限值比較,當VDD低于VPVD或者VDD大于VPVD時會產生一個中斷。中斷服務程序可以產生一個警告信息或者將MCU置為一個安全狀態(tài)。PVD由軟件使能。

10、電壓調節(jié):調壓器有3種運行模式:主(MR),低功耗(LPR)和掉電。MR用在傳統(tǒng)意義上的調節(jié)模式(運行模式),LPR用在停止模式,掉電用在待機模式:調壓器輸出為高阻,核心電路掉電,包括零消耗(寄存器和SRAM的內容不會丟失)。

11、低功耗模式:STM32F101xx支持3種低功耗模式,從而在低功耗,短啟動時間和可用喚醒源之間達到一個最好的平衡點。休眠模式:只有CPU停止工作,所有外設繼續(xù)運行,在中斷/事件發(fā)生時喚醒CPU;停止模式:允許以最小的功耗來保持SRAM和寄存器的內容。1.8V區(qū)域的時鐘都停止,PLL,HSI和HSE RC振蕩器被禁能,調壓器也被置為正?;蛘叩凸哪J健TO備可以通過外部中斷線從停止模式喚醒。外部中斷源可以使16個外部中斷線之一,PVD輸出或者TRC警告。待機模式:追求最少的功耗,內部調壓器被關閉,這樣1.8V區(qū)域斷電。PLL,HSI和HSE RC振蕩器也被關閉。在進入待機模式之后,除了備份寄存器和待機電路,SRAM和寄存器的內容也會丟失。當外部復位(NRST引腳),IWDG復位,WKUP引腳出現(xiàn)上升沿或者TRC警告發(fā)生時,設備退出待機模式。進入停止模式或者待機模式時,TRC,IWDG和相關的時鐘源不會停止。

片上外設:

1、DMA:12通道的通用DMA(DMA1有7個通道,DMA2由5個通道)可用于存儲器到存儲器,外設到存儲器和存儲器到外設的傳輸。DMA控制器支持循環(huán)緩沖管理,從而避免了在到達緩沖區(qū)末端的時候產生中斷。每個通道都連接到專用的硬件DMA請求,同時支持軟件觸發(fā)。由軟件進行配置,源到目標的傳輸大小是獨立的。DMA可以和一些主要外設一起使用,包括SPI,IIC,USART,通用定時器TIMx,基本定時器,DAC和ADC。

2、RTC(實時時鐘)和備份寄存器:RTC和備份寄存器通過一個開關來控制供電,當VDD有效時,通過VDD供電,否則通過VBAT供電。備份寄存器(10個16位寄存器)可以用來在VDD無效時保存數(shù)據(jù)。RTC提供了一系列持續(xù)運行的計數(shù)器,可以結合軟件用作日歷功能,并且能夠提供警告中斷和周期性中斷。由32.768kHz外部晶振,內部低功耗RC振蕩器或者高速外部時鐘經過128比例分割來提供時鐘。內部低功耗RC通常有40kHz頻率。RTC可以通過一個外部512Hz輸出來校準從而來補償外部自然晶振的偏差。RTC特有一個用于長期測量用的32位可編程計數(shù)器,結合比較計數(shù)器可以用于產生一個警告。一個20位的預比較器用作時基時鐘,默認配制成從一個32.768kHz的時鐘產生一個1s的時基。

3、獨立看門狗:獨立看門狗基于12位的倒計數(shù)器和8位的預比較器。由一個獨立的40kHz的內部RC提供時鐘。由于和主時鐘獨立工作,所以它可以工作在停止和待機模式??梢杂米髟谙到y(tǒng)出問題時來復位設備,也可以作為一個空轉的定時器來用于應用程序的定時管理。硬件或者軟件都可以通過選項字節(jié)來配置,計數(shù)器在調時模式下可以凍結。

4、窗口看門狗:窗口看門狗基于一個在空轉時可設置的7位的倒計數(shù)器??梢杂米髟谙到y(tǒng)出問題時來復位設備。由主時鐘提供時鐘源,能夠實現(xiàn)提早警告中斷并且計數(shù)器在調時模式下可以凍結。

5、SysTick定時器:該定時器是OS專用,但也可以用作標準的倒計數(shù)器。特性:一個24位的倒計數(shù)器;自動重載能力;當計數(shù)器為0時產生的系統(tǒng)中斷是可屏蔽的;可編程的時鐘源。

6、通用定時器(TIMx):STM32F101xx設備最多自帶4個同步標準定時器。這些定時器基于一個16位自動重載順序/倒序計數(shù)器和一個16位的預比較器。每個定時器特有分別用于輸入捕獲,輸出比較,PWM或者單脈沖模式輸出的4個獨立通道。在最大的封裝下可以提供多達12輸入捕獲/輸出比較/PWM。通過同步連接特性或事件鏈,定時器可以一起工作。定時器在調時模式下可以凍結。任何一個標準的定時器都可以用于產生PWM輸出。每一個定時器可以產生獨立的DMA請求。

7、基本定時器TIM6,TIM7:這些定時器用于產生DAC觸發(fā),以可以用作通用的16位定時器。

8、IIC總線:最多可有兩個可以工作在多主機模式和從主機模式下的IIC總線接口,支持標準和快速模式。都支持雙從機尋址(只能時7位)和7/10位主機模式下尋址。內置硬件CRC產生和驗證模塊都支持DMA,支持SMBus2.0/PM Bus。

9、通用同步/異步收發(fā)器(USART):USART接口最多可以2.25Mb/s的速度通信。對CTS和RTS信號使用硬件管理,支持IrDA SIR ENDEC,兼容ISO7816并且具有LIN主/從性能。USART接口支持DMA。

10、串行外設接口(SPI):設備最多可有3個SPI接口,最多可以18Mb/s的速度在全雙工和單工的主機和從機模式下通信。3位預比較器提供了8種主機模式頻率,幀長可以配置為8位或者16位。硬件CRC產生/驗證模塊支持基本的SD card/MMC模式。SPI接口都支持DMA。

11、GPIO(通用輸入/輸出):每一個GPIO引腳都可以由軟件配置成輸出(上拉或者開漏),輸入(帶上拉或下拉或者不帶上拉或下拉)或者外設備用功能。大部分的GPIO引腳和數(shù)字或者模擬備用功能共享。所有的GPIO都支持高電流。I/O備用功能配置可以鎖定,必須通過一定的序列才可以開鎖,從而避免對I/O寄存器的虛假寫操作。

12、ADC(模數(shù)轉換器):12位的模數(shù)轉換器有多達16個外部通道,可以以單次或掃描模式進行轉換。在掃描模式下,自動轉換在一組選定的模擬輸入上進行。ADC支持DMA。如果轉換電壓在設置的限制之外會產生一個中斷,特有的模擬看門狗可以對每個通道的轉換電壓進行精準監(jiān)控。

13、DAC(數(shù)模轉換器):DAC帶有兩個可緩沖通道,可以將兩路數(shù)字信號轉化為兩路模擬信號輸出。具有以下的特性:2個轉換器,每個輸出通道一個;8位或者12位的單一輸出;12位模式下支持左對齊或者右對齊;支持同步更新;可產生噪聲波;可產生三角波;雙DAC通道可以獨立轉換或同時轉換;每個通道都支持DMA;外部觸發(fā)轉換;輸入?yún)⒖茧妷簽閂REF+。STM32F101xC,STM32F101xD,STM32F101xE使用了7個DAC觸發(fā)輸入。DAC通道通過定時器更新輸出來觸發(fā),DAC每個通道可以連接到不同的DMA通道。每個通道可以獨立被DMA控制器處理。

14、溫度傳感器:溫度傳感器用于根據(jù)溫度的變化來產生一個線性電壓。轉換的范圍在2-3.6V。溫度傳感器部連接到ADC_IN16輸入通道,從而把傳感器輸出電壓轉換為數(shù)字值。

15、串行線JTAG調試端口(SWJ-DP):芯片嵌入了ARM SWJ-DP接口,并且組合了JTAG和串行線調試端口。JTAG TMS和TCK引腳分別和SWDIO和SWCLK復用。如果要在JTAG-DP和SW-DP之間切換,只需要在TMS輸入一個特定的序列。