游戏机专用STM32F系列芯片解密与IC破解

 


深圳耐斯迪反向开发技术中心,近日应客户要求对某款游戏机进行反向开发破解服务,此款游戏机电路板有STM32系列加密芯片,经一段时间的技术攻关,现已成功破解。欢迎来电咨询。

现解密时间全面提速,(51系列)AT89CXX、W78EXX、P87CXX、SM89XX...EMC全系列、HT全系列、MDT全系列...解密时间加急1天,(承诺:否则3倍解密款退还),正常时间为3-5天,(星期六、日除外)
诚证各省解密代理,价格优惠,数量有限,可提供解密报价单。已在深圳(华强,赛格)、东莞、广州、北京、上海、南京、江浙...等都设有代理机构,欢迎光临。

 

工作频率为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存储器。可变静态存储管理器,带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端口:根据型号的不同,有26,37,51,80,和112的I/O端口,所有的端口都可以映射到16个外部中断向量。除了模拟输入,所有的都可以接受5V以内的输入。

最多多达9个定时器:4个16位定时器,每个定时器有4个IC/OC/PWM或者脉冲计数器。2个看门狗定时器(独立看门狗和窗口看门狗)。Systick定时器:24位倒计数器。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总线将片上系统和外设资源紧密的连接起来,其中内部总线是主系统总线,连接了CPU,存储器和系统时钟等。APB1总线连接高速外设,APB2总线连接系统通用外设和中断控制。I/O端口包括PA、PB,PC,PD,PE,PF和PG共7个16位的端口,其它的外设接口引脚都与I/O端口的引脚功能复用。

系统功能:

1、集成嵌入式Flash和SRAM存储器的ARM Cortex-M3内核。与8/16位设备相比,ARM Cortex-M3 32位RISC处理器提供了更高的代码效率。STM32F101xx微控制器带有一个嵌入式的ARM核,所以可以兼容所有的ARM工具和软件。

2、嵌入式Flash存储器和RAM存储器:内置多达512KB的嵌入式Flash,可用于存储程序和数据。多达48KB的嵌入式SRAM可以以CPU的时钟速度进行读写(不待等待状态)。

3、可变静态存储器(FSMC):FSMC嵌入在STM32F101xC,STM32F101xD,STM32F101xE中,带有4个片选,支持四种模式:Flash,RAM,PSRAM,NOR和NAND。3个FSMC中断线经过OR后连接到NVIC。没有读/写FIFO,除PCCARD之外,代码都是从外部存储器执行,不支持Boot,目标频率等于SYSCLK/2,所以当系统时钟是36MHz时,外部访问按照18MHz进行。

4、嵌套矢量中断控制器(NVIC):可以处理43个可屏蔽中断通道(不包括Cortex-M3的16根中断线),提供16个中断优先级。紧密耦合的NVIC实现了更低的中断处理延迟,直接向内核传递中断入口向量表地址,紧密耦合的NVIC内核接口,允许中断提前处理,对后到的更高优先级的中断进行处理,支持尾链,自动保存处理器状态,中断入口在中断退出时自动恢复,不需要指令干预。

5、外部中断/事件控制器(EXTI):外部中断/事件控制器由用于19条产生中断/事件请求的边沿探测器线组成。每条线可以被单独配置用于选择触发事件(上升沿,下降沿,或者两者都可以),也可以被单独屏蔽。有一个挂起寄存器来维护中断请求的状态。当外部线上出现长度超过内部APB2时钟周期的脉冲时,EXTI能够探测到。多达112个GPIO连接到16个外部中断线。

6、时钟和启动:在启动的时候还是要进行系统时钟选择,但复位的时候内部8MHz的晶振被选用作CPU时钟。可以选择一个外部的4-16MHz的时钟,并且会被监视来判定是否成功。在这期间,控制器被禁止并且软件中断管理也随后被禁止。同时,如果有需要(例如碰到一个间接使用的晶振失败),PLL时钟的中断管理完全可用。多个预比较器可以用于配置AHB频率,包括高速APB(PB2)和低速APB(APB1),AHB和APB最高的频率为36MHz。

7、Boot模式:在启动的时候,Boot引脚被用来在3种Boot选项种选择一种:从用户Flash导入,从系统存储器导入,从SRAM导入。Boot导入程序位于系统存储器,用于通过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晶振和备份寄存器供电(通过电源切换实现)。

9、电源管理:设备有一个完整的上电复位(POR)和掉电复位(PDR)电路。这条电路一直有效,用于确保从2V启动或者掉到2V的时候进行一些必要的操作。当VDD低于一个特定的下限VPOR/PDR时,不需要外部复位电路,设备也可以保持在复位模式。设备特有一个嵌入的可编程电压探测器(PVD),PVD用于检测VDD,并且和VPVD限值比较,当VDD低于VPVD或者VDD大于VPVD时会产生一个中断。中断服务程序可以产生一个警告信息或者将MCU置为一个安全状态。PVD由软件使能。

10、电压调节:调压器有3种运行模式:主(MR),低功耗(LPR)和掉电。MR用在传统意义上的调节模式(运行模式),LPR用在停止模式,掉电用在待机模式:调压器输出为高阻,核心电路掉电,包括零消耗(寄存器和SRAM的内容不会丢失)。

11、低功耗模式:STM32F101xx支持3种低功耗模式,从而在低功耗,短启动时间和可用唤醒源之间达到一个最好的平衡点。休眠模式:只有CPU停止工作,所有外设继续运行,在中断/事件发生时唤醒CPU;停止模式:允许以最小的功耗来保持SRAM和寄存器的内容。1.8V区域的时钟都停止,PLL,HSI和HSE RC振荡器被禁能,调压器也被置为正常或者低功耗模式。设备可以通过外部中断线从停止模式唤醒。外部中断源可以使16个外部中断线之一,PVD输出或者TRC警告。待机模式:追求最少的功耗,内部调压器被关闭,这样1.8V区域断电。PLL,HSI和HSE RC振荡器也被关闭。在进入待机模式之后,除了备份寄存器和待机电路,SRAM和寄存器的内容也会丢失。当外部复位(NRST引脚),IWDG复位,WKUP引脚出现上升沿或者TRC警告发生时,设备退出待机模式。进入停止模式或者待机模式时,TRC,IWDG和相关的时钟源不会停止。

片上外设:

1、DMA:12通道的通用DMA(DMA1有7个通道,DMA2由5个通道)可用于存储器到存储器,外设到存储器和存储器到外设的传输。DMA控制器支持循环缓冲管理,从而避免了在到达缓冲区末端的时候产生中断。每个通道都连接到专用的硬件DMA请求,同时支持软件触发。由软件进行配置,源到目标的传输大小是独立的。DMA可以和一些主要外设一起使用,包括SPI,IIC,USART,通用定时器TIMx,基本定时器,DAC和ADC。

2、RTC(实时时钟)和备份寄存器:RTC和备份寄存器通过一个开关来控制供电,当VDD有效时,通过VDD供电,否则通过VBAT供电。备份寄存器(10个16位寄存器)可以用来在VDD无效时保存数据。RTC提供了一系列持续运行的计数器,可以结合软件用作日历功能,并且能够提供警告中断和周期性中断。由32.768kHz外部晶振,内部低功耗RC振荡器或者高速外部时钟经过128比例分割来提供时钟。内部低功耗RC通常有40kHz频率。RTC可以通过一个外部512Hz输出来校准从而来补偿外部自然晶振的偏差。RTC特有一个用于长期测量用的32位可编程计数器,结合比较计数器可以用于产生一个警告。一个20位的预比较器用作时基时钟,默认配制成从一个32.768kHz的时钟产生一个1s的时基。

3、独立看门狗:独立看门狗基于12位的倒计数器和8位的预比较器。由一个独立的40kHz的内部RC提供时钟。由于和主时钟独立工作,所以它可以工作在停止和待机模式。可以用作在系统出问题时来复位设备,也可以作为一个空转的定时器来用于应用程序的定时管理。硬件或者软件都可以通过选项字节来配置,计数器在调时模式下可以冻结。

4、窗口看门狗:窗口看门狗基于一个在空转时可设置的7位的倒计数器。可以用作在系统出问题时来复位设备。由主时钟提供时钟源,能够实现提早警告中断并且计数器在调时模式下可以冻结。

5、SysTick定时器:该定时器是OS专用,但也可以用作标准的倒计数器。特性:一个24位的倒计数器;自动重载能力;当计数器为0时产生的系统中断是可屏蔽的;可编程的时钟源。

6、通用定时器(TIMx):STM32F101xx设备最多自带4个同步标准定时器。这些定时器基于一个16位自动重载顺序/倒序计数器和一个16位的预比较器。每个定时器特有分别用于输入捕获,输出比较,PWM或者单脉冲模式输出的4个独立通道。在最大的封装下可以提供多达12输入捕获/输出比较/PWM。通过同步连接特性或事件链,定时器可以一起工作。定时器在调时模式下可以冻结。任何一个标准的定时器都可以用于产生PWM输出。每一个定时器可以产生独立的DMA请求。

7、基本定时器TIM6,TIM7:这些定时器用于产生DAC触发,以可以用作通用的16位定时器。

8、IIC总线:最多可有两个可以工作在多主机模式和从主机模式下的IIC总线接口,支持标准和快速模式。都支持双从机寻址(只能时7位)和7/10位主机模式下寻址。内置硬件CRC产生和验证模块都支持DMA,支持SMBus2.0/PM Bus。

9、通用同步/异步收发器(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引脚和数字或者模拟备用功能共享。所有的GPIO都支持高电流。I/O备用功能配置可以锁定,必须通过一定的序列才可以开锁,从而避免对I/O寄存器的虚假写操作。

12、ADC(模数转换器):12位的模数转换器有多达16个外部通道,可以以单次或扫描模式进行转换。在扫描模式下,自动转换在一组选定的模拟输入上进行。ADC支持DMA。如果转换电压在设置的限制之外会产生一个中断,特有的模拟看门狗可以对每个通道的转换电压进行精准监控。

13、DAC(数模转换器):DAC带有两个可缓冲通道,可以将两路数字信号转化为两路模拟信号输出。具有以下的特性:2个转换器,每个输出通道一个;8位或者12位的单一输出;12位模式下支持左对齐或者右对齐;支持同步更新;可产生噪声波;可产生三角波;双DAC通道可以独立转换或同时转换;每个通道都支持DMA;外部触发转换;输入参考电压为VREF+。STM32F101xC,STM32F101xD,STM32F101xE使用了7个DAC触发输入。DAC通道通过定时器更新输出来触发,DAC每个通道可以连接到不同的DMA通道。每个通道可以独立被DMA控制器处理。

14、温度传感器:温度传感器用于根据温度的变化来产生一个线性电压。转换的范围在2-3.6V。温度传感器部连接到ADC_IN16输入通道,从而把传感器输出电压转换为数字值。

15、串行线JTAG调试端口(SWJ-DP):芯片嵌入了ARM SWJ-DP接口,并且组合了JTAG和串行线调试端口。JTAG TMS和TCK引脚分别和SWDIO和SWCLK复用。如果要在JTAG-DP和SW-DP之间切换,只需要在TMS输入一个特定的序列。