mini2.0板是同学送我的,学电子花钱比较多,我平时应该能省就省,我一开始学的时候是使用不完全手册V2.3,后来玩到后面,汉字库的时候,不成功。SD卡的2.0英文协议反复与程序对比,winhex都玩过了,SD卡玩了好久。不成功,发现不完全手册V3.0有更多的内容,于是就使用V3.0了,天真的我,以为V3.0的例程仍能用在V2.0的板上,我使用V3.0的例程,发现各种问题,汉字库的黑屏,仿真才发现连main都没进去,是硬件fault,这些问题对于一个新手来说可不简单,找了一大堆资料,什么堆栈呀,修改启动文件呀,找了好久,黑屏的原因是溢出,找了好久,在论坛里的一个回复里终于找到修改的办法,亮屏了。现在才发现,原来V3.0要在V3.0的板上跑,终于明白为什么只有我有这些奇怪问题………………
Mini V3.0例程为什么会黑屏的答案就是,你用了V2.0的板去运行3.0的例程!!(LED的是正常,到了FAT后就不行了,这可能就是溢出的问题)
硬件都不一样,首先,STM32就不一样了,这就是溢出的原因,溢出的问题很严重,会出现很隐的问题,我就卡死在很隐问题上了,要想运行那些例程?请看论坛里的移植吧…………,还有按键也有一个变了,使用V3.0的例程要注意。经测试, Total RW Size (RW Data + ZI Data) <20K才能不溢出。因为只有20KSRAM。附上我修改过的,MniV2.0可使用的内存管理实验例程。
V2.3
选择的是STM32F103RBT6作为MCU,STM32F103的型号众多,我们选择这款的原因是看重其性价比,作为一款低端开发板,选择STM32F103RBT6是最佳的选择。128K
FLASH、20K
SRAM、2个SPI、3个串口、1个USB、1个CAN、2个12位的ADC、RTC、51个可用IO脚…,这样的配置无论放到哪里都是很不错的了,更重要的是其价格,
KEY0和KEY1用作普通按键输入,分别连接在PA13和PA15上,他们都连接在了JTAG相关的引脚上(KEY0还连接在SWDIO上),
ALIENTEK
MiniSTM32开发板载有SPI FLASH芯片W25X16,该芯片的容量为2M字节,
V3.0
选择的是STM32F103RCT6作为MCU,它拥有的资源包括:48KB
SRAM、256KB
FLASH、2个基本定时器、4个通用定时器、2个高级定时器、2个DMA控制器(共12个通道)、3个SPI、2个IIC、5个串口、1个USB、1个CAN、3个12位ADC、1个12位DAC、1个SDIO接口及51个通用IO口。
KEY0和KEY1用作普通按键输入,分别连接在PC5和PA15上,
SPI FLASH芯片W25Q64,该芯片的容量为8M字节,
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
你可以自己测试下
在main函数定义一个很大很大的数组
然后去操作这个数组
就会发现hardfault了。。。
---------------------------------
不是引脚问题,主要是超出了SRAM,只有20K,而例程所使用的超过20K,所以导致一开始就硬fault.
---------------------------------
原子大哥,该实验正常。 话说,原子大哥可以考虑一下推出栈堆溢出的相关教程哦,故意做一个溢出,然后展现如何排除问题。好期待有这方面相关的教程,若已经有的话,分享给我,初学者感激不尽呀。
一周热门 更多>