这几天再网上一直再找关于407的外部SRAM内存设置的相关**,这里和大家分享一下。本人亲测能够正常使用。欢迎各位大牛指导说明:首先要明白一点,开发板硬件上电复位前,我们是无法完成STM32对外部SRAM的配置,只能上电后进行配置了
才可以使用。也就是说,只有正常的硬件复位序列完成后,我们可以在Reset_Handler(复位中断服务程序)中完成对
SRAM的配置,但是在这之前,局部变量和函数调用用到的Stack栈空间,我们都得使用STM32内部SRAM,明白了这
点,开始说下配置(堆栈的初始化是由函数_ _main完成的,这个函数被MDK封装起来了,最终跳转到用户main函数)。
======================================================================
第一步:修改启动代码,固定的分配0x400字节做为栈使用。特别注意,修改栈顶指针固定在0x2000_0400位置。
不要让编译器去自动配置。
第二步:在函数SystemInit_ExtMemCtl中初始化外部SRAM。
第三步:配置外部SRAM的起始地址和大小:
第四步:添加全局的宏定义 |