游戲機(jī)專用STM32F系列芯片解密與IC破解
深圳耐斯迪反向開發(fā)技術(shù)中心,近日應(yīng)客戶要求對某款游戲機(jī)進(jìn)行反向開發(fā)破解服務(wù),此款游戲機(jī)電路板有STM32系列加密芯片,經(jīng)一段時間的技術(shù)攻關(guān),現(xiàn)已成功破解。歡迎來電咨詢。
現(xiàn)解密時間全面提速,(51系列)AT89CXX、W78EXX、P87CXX、SM89XX...EMC全系列、HT全系列、MDT全系列...解密時間加急1天,(承諾:否則3倍解密款退還),正常時間為3-5天,(星期六、日除外)
誠證各省解密代理,價格優(yōu)惠,數(shù)量有限,可提供解密報價單。已在深圳(華強(qiáng),賽格)、東莞、廣州、北京、上海、南京、江浙...等都設(shè)有代理機(jī)構(gòu),歡迎光臨。
工作頻率為36MHz,片上集成了高速存儲器(Flash最多可達(dá)512kB,SRAM最多可達(dá)48kB),和通過APB總線連接的豐富和增強(qiáng)的外設(shè)和I/O。所有的設(shè)備都提供標(biāo)準(zhǔn)的通信接口(最多可有2個IIC接口,3個SPI接口和5個USART接口)。片上還帶有一個12位的ADC,一個12位的DAC和9個16位的計時器。
特點(diǎn):
內(nèi)核:ARM32位Cortex-M3 CPU,最高工作頻率36MHz,1.25DMIPS/MHz。單周期乘法和硬件除法。
存儲器:片上集成32-512KB的Flash存儲器。6-48KB的SRAM存儲器??勺冹o態(tài)存儲管理器,帶4個片選,可支持Flash,SRAM,PSRAM,NOR和NAND模式。
時鐘、復(fù)位和電源管理:2.0-3.6V的電源供電和I/O接口的驅(qū)動電壓。POR、PDR和課編程的電壓探測器(PVD)。4-16MHz的晶振。內(nèi)嵌出廠前調(diào)校的8MHz RC振蕩電路。內(nèi)部40 kHz的RC振蕩電路。用于CPU時鐘的PLL。帶校準(zhǔn)用于RTC的32kHz的晶振。
低功耗:3種低功耗模式:休眠,停止,待機(jī)模式。為RTC和備份寄存器供電的VBAT。
調(diào)試模式:串行調(diào)試(SWD)和JTAG接口。
DMA:最多12通道DMA控制器。支持的外設(shè):定時器,ADC,DAC,SPI,IIC和USART。
1個12位的us級的A/D轉(zhuǎn)換器(16通道):A/D測量范圍:0-3.6 V。片上集成一個溫度傳感器。
2通道12位D/A轉(zhuǎn)換器:STM32F101xC,STM32F101xD,STM32F101xE獨(dú)有。
最多高達(dá)112個的快速I/O端口:根據(jù)型號的不同,有26,37,51,80,和112的I/O端口,所有的端口都可以映射到16個外部中斷向量。除了模擬輸入,所有的都可以接受5V以內(nèi)的輸入。
最多多達(dá)9個定時器:4個16位定時器,每個定時器有4個IC/OC/PWM或者脈沖計數(shù)器。2個看門狗定時器(獨(dú)立看門狗和窗口看門狗)。Systick定時器:24位倒計數(shù)器。2個16位基本定時器(用于驅(qū)動DAC,STM32F101xC,STM32F101xD,STM32F101xE獨(dú)有)。
最多多達(dá)10個通信接口:2個IIC接口(SMBus/PMBus)。5個USART接口(ISO7816接口,LIN,IrDA兼容,調(diào)試控制)。3個SPI接口(18 Mbit/s)。
ECOPACK封裝:STM32F101xx系列微控制器采用ECOPACK封裝形式。
總體結(jié)構(gòu):
內(nèi)部總線和兩條APB總線將片上系統(tǒng)和外設(shè)資源緊密的連接起來,其中內(nèi)部總線是主系統(tǒng)總線,連接了CPU,存儲器和系統(tǒng)時鐘等。APB1總線連接高速外設(shè),APB2總線連接系統(tǒng)通用外設(shè)和中斷控制。I/O端口包括PA、PB,PC,PD,PE,PF和PG共7個16位的端口,其它的外設(shè)接口引腳都與I/O端口的引腳功能復(fù)用。
系統(tǒng)功能:
1、集成嵌入式Flash和SRAM存儲器的ARM Cortex-M3內(nèi)核。與8/16位設(shè)備相比,ARM Cortex-M3 32位RISC處理器提供了更高的代碼效率。STM32F101xx微控制器帶有一個嵌入式的ARM核,所以可以兼容所有的ARM工具和軟件。
2、嵌入式Flash存儲器和RAM存儲器:內(nèi)置多達(dá)512KB的嵌入式Flash,可用于存儲程序和數(shù)據(jù)。多達(dá)48KB的嵌入式SRAM可以以CPU的時鐘速度進(jìn)行讀寫(不待等待狀態(tài))。
3、可變靜態(tài)存儲器(FSMC):FSMC嵌入在STM32F101xC,STM32F101xD,STM32F101xE中,帶有4個片選,支持四種模式:Flash,RAM,PSRAM,NOR和NAND。3個FSMC中斷線經(jīng)過OR后連接到NVIC。沒有讀/寫FIFO,除PCCARD之外,代碼都是從外部存儲器執(zhí)行,不支持Boot,目標(biāo)頻率等于SYSCLK/2,所以當(dāng)系統(tǒng)時鐘是36MHz時,外部訪問按照18MHz進(jìn)行。
4、嵌套矢量中斷控制器(NVIC):可以處理43個可屏蔽中斷通道(不包括Cortex-M3的16根中斷線),提供16個中斷優(yōu)先級。緊密耦合的NVIC實現(xiàn)了更低的中斷處理延遲,直接向內(nèi)核傳遞中斷入口向量表地址,緊密耦合的NVIC內(nèi)核接口,允許中斷提前處理,對后到的更高優(yōu)先級的中斷進(jìn)行處理,支持尾鏈,自動保存處理器狀態(tài),中斷入口在中斷退出時自動恢復(fù),不需要指令干預(yù)。
5、外部中斷/事件控制器(EXTI):外部中斷/事件控制器由用于19條產(chǎn)生中斷/事件請求的邊沿探測器線組成。每條線可以被單獨(dú)配置用于選擇觸發(fā)事件(上升沿,下降沿,或者兩者都可以),也可以被單獨(dú)屏蔽。有一個掛起寄存器來維護(hù)中斷請求的狀態(tài)。當(dāng)外部線上出現(xiàn)長度超過內(nèi)部APB2時鐘周期的脈沖時,EXTI能夠探測到。多達(dá)112個GPIO連接到16個外部中斷線。
6、時鐘和啟動:在啟動的時候還是要進(jìn)行系統(tǒng)時鐘選擇,但復(fù)位的時候內(nèi)部8MHz的晶振被選用作CPU時鐘??梢赃x擇一個外部的4-16MHz的時鐘,并且會被監(jiān)視來判定是否成功。在這期間,控制器被禁止并且軟件中斷管理也隨后被禁止。同時,如果有需要(例如碰到一個間接使用的晶振失敗),PLL時鐘的中斷管理完全可用。多個預(yù)比較器可以用于配置AHB頻率,包括高速APB(PB2)和低速APB(APB1),AHB和APB最高的頻率為36MHz。
7、Boot模式:在啟動的時候,Boot引腳被用來在3種Boot選項種選擇一種:從用戶Flash導(dǎo)入,從系統(tǒng)存儲器導(dǎo)入,從SRAM導(dǎo)入。Boot導(dǎo)入程序位于系統(tǒng)存儲器,用于通過USART1重新對Flash存儲器編程。
8、電源供電方案:VDD ,電壓范圍為2.0V-3.6V,外部電源通過VDD引腳提供,用于I/O和內(nèi)部調(diào)壓器。VSSA和VDDA,電壓范圍為2.0-3.6V,外部模擬電壓輸入,用于ADC,復(fù)位模塊,RC和PLL,在VDD范圍之內(nèi)(ADC被限制在2.4V),VSSA和VDDA必須相應(yīng)連接到VSS和VDD。VBAT,電壓范圍為1.8-3.6V,當(dāng)VDD無效時為RTC,外部32KHz晶振和備份寄存器供電(通過電源切換實現(xiàn))。
9、電源管理:設(shè)備有一個完整的上電復(fù)位(POR)和掉電復(fù)位(PDR)電路。這條電路一直有效,用于確保從2V啟動或者掉到2V的時候進(jìn)行一些必要的操作。當(dāng)VDD低于一個特定的下限VPOR/PDR時,不需要外部復(fù)位電路,設(shè)備也可以保持在復(fù)位模式。設(shè)備特有一個嵌入的可編程電壓探測器(PVD),PVD用于檢測VDD,并且和VPVD限值比較,當(dāng)VDD低于VPVD或者VDD大于VPVD時會產(chǎn)生一個中斷。中斷服務(wù)程序可以產(chǎn)生一個警告信息或者將MCU置為一個安全狀態(tài)。PVD由軟件使能。
10、電壓調(diào)節(jié):調(diào)壓器有3種運(yùn)行模式:主(MR),低功耗(LPR)和掉電。MR用在傳統(tǒng)意義上的調(diào)節(jié)模式(運(yùn)行模式),LPR用在停止模式,掉電用在待機(jī)模式:調(diào)壓器輸出為高阻,核心電路掉電,包括零消耗(寄存器和SRAM的內(nèi)容不會丟失)。
11、低功耗模式:STM32F101xx支持3種低功耗模式,從而在低功耗,短啟動時間和可用喚醒源之間達(dá)到一個最好的平衡點(diǎn)。休眠模式:只有CPU停止工作,所有外設(shè)繼續(xù)運(yùn)行,在中斷/事件發(fā)生時喚醒CPU;停止模式:允許以最小的功耗來保持SRAM和寄存器的內(nèi)容。1.8V區(qū)域的時鐘都停止,PLL,HSI和HSE RC振蕩器被禁能,調(diào)壓器也被置為正?;蛘叩凸哪J?。設(shè)備可以通過外部中斷線從停止模式喚醒。外部中斷源可以使16個外部中斷線之一,PVD輸出或者TRC警告。待機(jī)模式:追求最少的功耗,內(nèi)部調(diào)壓器被關(guān)閉,這樣1.8V區(qū)域斷電。PLL,HSI和HSE RC振蕩器也被關(guān)閉。在進(jìn)入待機(jī)模式之后,除了備份寄存器和待機(jī)電路,SRAM和寄存器的內(nèi)容也會丟失。當(dāng)外部復(fù)位(NRST引腳),IWDG復(fù)位,WKUP引腳出現(xiàn)上升沿或者TRC警告發(fā)生時,設(shè)備退出待機(jī)模式。進(jìn)入停止模式或者待機(jī)模式時,TRC,IWDG和相關(guān)的時鐘源不會停止。
片上外設(shè):
1、DMA:12通道的通用DMA(DMA1有7個通道,DMA2由5個通道)可用于存儲器到存儲器,外設(shè)到存儲器和存儲器到外設(shè)的傳輸。DMA控制器支持循環(huán)緩沖管理,從而避免了在到達(dá)緩沖區(qū)末端的時候產(chǎn)生中斷。每個通道都連接到專用的硬件DMA請求,同時支持軟件觸發(fā)。由軟件進(jìn)行配置,源到目標(biāo)的傳輸大小是獨(dú)立的。DMA可以和一些主要外設(shè)一起使用,包括SPI,IIC,USART,通用定時器TIMx,基本定時器,DAC和ADC。
2、RTC(實時時鐘)和備份寄存器:RTC和備份寄存器通過一個開關(guān)來控制供電,當(dāng)VDD有效時,通過VDD供電,否則通過VBAT供電。備份寄存器(10個16位寄存器)可以用來在VDD無效時保存數(shù)據(jù)。RTC提供了一系列持續(xù)運(yùn)行的計數(shù)器,可以結(jié)合軟件用作日歷功能,并且能夠提供警告中斷和周期性中斷。由32.768kHz外部晶振,內(nèi)部低功耗RC振蕩器或者高速外部時鐘經(jīng)過128比例分割來提供時鐘。內(nèi)部低功耗RC通常有40kHz頻率。RTC可以通過一個外部512Hz輸出來校準(zhǔn)從而來補(bǔ)償外部自然晶振的偏差。RTC特有一個用于長期測量用的32位可編程計數(shù)器,結(jié)合比較計數(shù)器可以用于產(chǎn)生一個警告。一個20位的預(yù)比較器用作時基時鐘,默認(rèn)配制成從一個32.768kHz的時鐘產(chǎn)生一個1s的時基。
3、獨(dú)立看門狗:獨(dú)立看門狗基于12位的倒計數(shù)器和8位的預(yù)比較器。由一個獨(dú)立的40kHz的內(nèi)部RC提供時鐘。由于和主時鐘獨(dú)立工作,所以它可以工作在停止和待機(jī)模式??梢杂米髟谙到y(tǒng)出問題時來復(fù)位設(shè)備,也可以作為一個空轉(zhuǎn)的定時器來用于應(yīng)用程序的定時管理。硬件或者軟件都可以通過選項字節(jié)來配置,計數(shù)器在調(diào)時模式下可以凍結(jié)。
4、窗口看門狗:窗口看門狗基于一個在空轉(zhuǎn)時可設(shè)置的7位的倒計數(shù)器??梢杂米髟谙到y(tǒng)出問題時來復(fù)位設(shè)備。由主時鐘提供時鐘源,能夠?qū)崿F(xiàn)提早警告中斷并且計數(shù)器在調(diào)時模式下可以凍結(jié)。
5、SysTick定時器:該定時器是OS專用,但也可以用作標(biāo)準(zhǔn)的倒計數(shù)器。特性:一個24位的倒計數(shù)器;自動重載能力;當(dāng)計數(shù)器為0時產(chǎn)生的系統(tǒng)中斷是可屏蔽的;可編程的時鐘源。
6、通用定時器(TIMx):STM32F101xx設(shè)備最多自帶4個同步標(biāo)準(zhǔn)定時器。這些定時器基于一個16位自動重載順序/倒序計數(shù)器和一個16位的預(yù)比較器。每個定時器特有分別用于輸入捕獲,輸出比較,PWM或者單脈沖模式輸出的4個獨(dú)立通道。在最大的封裝下可以提供多達(dá)12輸入捕獲/輸出比較/PWM。通過同步連接特性或事件鏈,定時器可以一起工作。定時器在調(diào)時模式下可以凍結(jié)。任何一個標(biāo)準(zhǔn)的定時器都可以用于產(chǎn)生PWM輸出。每一個定時器可以產(chǎn)生獨(dú)立的DMA請求。
7、基本定時器TIM6,TIM7:這些定時器用于產(chǎn)生DAC觸發(fā),以可以用作通用的16位定時器。
8、IIC總線:最多可有兩個可以工作在多主機(jī)模式和從主機(jī)模式下的IIC總線接口,支持標(biāo)準(zhǔn)和快速模式。都支持雙從機(jī)尋址(只能時7位)和7/10位主機(jī)模式下尋址。內(nèi)置硬件CRC產(chǎn)生和驗證模塊都支持DMA,支持SMBus2.0/PM Bus。
9、通用同步/異步收發(fā)器(USART):USART接口最多可以2.25Mb/s的速度通信。對CTS和RTS信號使用硬件管理,支持IrDA SIR ENDEC,兼容ISO7816并且具有LIN主/從性能。USART接口支持DMA。
10、串行外設(shè)接口(SPI):設(shè)備最多可有3個SPI接口,最多可以18Mb/s的速度在全雙工和單工的主機(jī)和從機(jī)模式下通信。3位預(yù)比較器提供了8種主機(jī)模式頻率,幀長可以配置為8位或者16位。硬件CRC產(chǎn)生/驗證模塊支持基本的SD card/MMC模式。SPI接口都支持DMA。
11、GPIO(通用輸入/輸出):每一個GPIO引腳都可以由軟件配置成輸出(上拉或者開漏),輸入(帶上拉或下拉或者不帶上拉或下拉)或者外設(shè)備用功能。大部分的GPIO引腳和數(shù)字或者模擬備用功能共享。所有的GPIO都支持高電流。I/O備用功能配置可以鎖定,必須通過一定的序列才可以開鎖,從而避免對I/O寄存器的虛假寫操作。
12、ADC(模數(shù)轉(zhuǎn)換器):12位的模數(shù)轉(zhuǎn)換器有多達(dá)16個外部通道,可以以單次或掃描模式進(jìn)行轉(zhuǎn)換。在掃描模式下,自動轉(zhuǎn)換在一組選定的模擬輸入上進(jìn)行。ADC支持DMA。如果轉(zhuǎn)換電壓在設(shè)置的限制之外會產(chǎn)生一個中斷,特有的模擬看門狗可以對每個通道的轉(zhuǎn)換電壓進(jìn)行精準(zhǔn)監(jiān)控。
13、DAC(數(shù)模轉(zhuǎn)換器):DAC帶有兩個可緩沖通道,可以將兩路數(shù)字信號轉(zhuǎn)化為兩路模擬信號輸出。具有以下的特性:2個轉(zhuǎn)換器,每個輸出通道一個;8位或者12位的單一輸出;12位模式下支持左對齊或者右對齊;支持同步更新;可產(chǎn)生噪聲波;可產(chǎn)生三角波;雙DAC通道可以獨(dú)立轉(zhuǎn)換或同時轉(zhuǎn)換;每個通道都支持DMA;外部觸發(fā)轉(zhuǎn)換;輸入?yún)⒖茧妷簽閂REF+。STM32F101xC,STM32F101xD,STM32F101xE使用了7個DAC觸發(fā)輸入。DAC通道通過定時器更新輸出來觸發(fā),DAC每個通道可以連接到不同的DMA通道。每個通道可以獨(dú)立被DMA控制器處理。
14、溫度傳感器:溫度傳感器用于根據(jù)溫度的變化來產(chǎn)生一個線性電壓。轉(zhuǎn)換的范圍在2-3.6V。溫度傳感器部連接到ADC_IN16輸入通道,從而把傳感器輸出電壓轉(zhuǎn)換為數(shù)字值。
15、串行線JTAG調(diào)試端口(SWJ-DP):芯片嵌入了ARM SWJ-DP接口,并且組合了JTAG和串行線調(diào)試端口。JTAG TMS和TCK引腳分別和SWDIO和SWCLK復(fù)用。如果要在JTAG-DP和SW-DP之間切換,只需要在TMS輸入一個特定的序列。