推荐阅读最新更新时间:2024-03-16 16:11
JFlash ARM对stm32程序的读取和烧录
本篇文章主要是记录一下JFlash ARM 的相关使用和操作步骤,读取程序说不上破解,这只是在没有任何加密情况下对Flash的读写罢了! 在我们装了JLINK驱动后再根目录下找到JFlash ARM ,运行。 读取Flash程序: 第一步:Option-- Project Settings-- CPU下选择 Device 在下拉菜单中找到自己的芯片型号后点击确定。 第二步:Targect-- Connect链接JLINK ;Targect-- Read back-- Entrie chip读取整个Flash区域, 接下来就等待读取完成了。 第三部:File-- Save file as 选择要储存的文件类型如:HE
[单片机]
关于使用STM32 SPI3的一些总结
总结一下spi3的问题,因为spi3的nss口与JTAG有共用引脚,所以配置错误会导致SPI3无法使用。需要注意以下三点就可以了: 1.将PA15配置为普通IO口,GPIO_Mode_Out_PP 2.开启AFIO时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); 3.关闭JTAG功能,使能SWD GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE) ; 其他的SPI口正常配置,因为板子重启后默认为JTAG模式,虽然在调试时使用了SWD,但PA15依然不是普通的IO口,当把它重新配置时,一定要开启AFIO时钟,
[单片机]
stm32 TFTLCD驱动原理(二)
FSMC简介: (1) 在大容量, 100 脚以上的 STM32F103 芯片都带有 FSMC 接口,硬石开发板 F1采用的主芯片为 STM32F103ZET6, 是带有 FSMC 接口的。 FSMC(灵活的静态存储器控制器),之所以称为灵活,是由于通过对特殊公的寄存器的设置, FSMC 能够根据不同个外部存储器列席,发出相应的数据/地址 /控制信号类型以匹配信号的速度,使得 STM32 系列微控制器不仅能够应用各种不同的外部静态存储器,而且能够在不增加外部器件的情况下同时扩展多种不同 类型的静态存储器, 满足系统设计对存储容量、产品体积以及成本的综合要求。 从上图中可以看到, STM32 的 FSMC 将外部设备分为
[单片机]
STM32 系统架构
简介:这里所讲的 STM32 系统架构主要针对的 STM32F103 这些非互联型芯片。STM32 主系统主要由四个驱动单元和四个被动单元构成。 四个驱动单元是: 内核DCode总线;系统总线;通用DMA1;通用DMA2; 四被动单元是: AHB到APB的桥:连接所有的APB设备;内部FlASH闪存;内部SRAM;FSMC; 下面我们具体看一下图中几个总线的知识: ①ICode总线:该总线将M3内核指令总线和闪存指令接口相连,指令的预取在该总线上面完成。 ②DCode总线:该总线将M3内核的DCode总线与闪存存储器的数据接口相连接,常量加载和调试访问在该总线上面完成。 ③系统总线:该总线连
[单片机]
stm32基础知识汇总,看有多少是没有深入学习的
STM32是一种功能比较强大的32位单片机,广泛应用于各种嵌入式设备中,由于它的普及性及丰富的资源,受到广大嵌入式开发者的喜欢,但要想学好用好STM32也并非易事,毕竟,相比8位、16位产品,STM32要复杂得多。 STM32的时钟 其中,高速时钟(HSE和HSI)提供给芯片主体的主时钟.低速时钟(LSE和LSI)只是提供给芯片中的RTC(实时时钟)及独立看门狗使用,图中可以看出高速时钟也可以提供给RTC。内部时钟是在芯片内部RC振荡器产生的,起振较快,所以时钟在芯片刚上电的时候,默认使用内部高速时钟。而外部时钟信号是由外部的晶振输入的,在精度和稳定性上都有很大优势,所以上电之后我们再通过软件配置,转而采用外部时钟信
[单片机]
STM32的时钟学习
在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。 ①、HSI是高速内部时钟,RC振荡器,频率为8MHz。 ②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。 ③、LSI是低速内部时钟,RC振荡器,频率为40kHz。 ④、LSE是低速外部时钟,接频率为32.768kHz的石英晶体。 ⑤、PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。其中40kHz的LSI供独立看门狗IWDG使用,另外它还可以被选择为实时时钟RTC的时钟源。另外,实时时钟RTC的时钟源还可以选择LSE,或者
[单片机]
C指针+ STM32 理解
环境:IAR + Cortex-M3的处理器 关注:指针在寄存器层次上的存储、调用等。。。 推荐:让你不再害怕指针 存储: 示例代码如下: int yyy=16; int *ptr1 = int **ptr2 = &ptr1; int (*ptr3) ; int *(*ptr4) ; int main() { ................ //使用这几个变量 ................. return 0; } IAR--View--Statics显示的全局区(静态区)情况: 以ptr2来说,定义:int **ptr2 = &ptr1; 从上图可知,指针变量ptr2的类型,
[单片机]
STM32操作 I/O 口的步骤
先来总结一下 STM32 操作 I/O 口的步骤(以精英板为例): ① 使能 I/O 口时钟,调用函数为RCC_APB2PeriphClockCmd(); ② 初始化 I/O 参数,调用GPIO_Init(); ③ 操作 I/O 口 看了STM32操作 I/O 口的步骤,是不是一头雾水,因为我们以前学习51单片机的时候,根本没有这么麻烦,I/O 想输入就直接读,想输出就直接赋值,串口、AD转化、外部中断等等也都是想用就用,不需要单独配置时钟。 51单片机的这种做法确实很方便,不需要有乱七八糟的设置就能让芯片跑起来,但是随之带来的就是所谓的功耗问题。换句话来说就是一些资源根本用不上,但是芯片却还给它分配资源,即增加了芯片的负担,
[单片机]