[STM32F4] STM32F407VE的启动文件和STM32F407ZG的一样吗?

[复制链接]
 楼主| nongfuxu 发表于 2020-12-28 15:02 | 显示全部楼层 |阅读模式
请教,STM32F407VE的启动文件和STM32F407ZG的一样吗?

遇到一个问题,卡顿了好久。
在正点原子STM32F407ZG上运行的TCP CLIENT文件,将IO口等针对STM32F407VE修改后,总是进入
void HardFault_Handler(void)
{
  /* Go to infinite loop when Hard Fault exception occurs */
  while (1)
  {
  }
}
为什么呢?
 楼主| nongfuxu 发表于 2020-12-28 15:07 | 显示全部楼层
求急啊,哪位好心人指点一下迷津。
 楼主| nongfuxu 发表于 2020-12-28 15:22 | 显示全部楼层
本帖最后由 nongfuxu 于 2020-12-28 15:24 编辑

正点原子的原程序是使用外部SRAM,我设计的板子不需要这么多内存。所以修改了malloc配置

第一张图片是mallco.c文件,第二张图片是malloc.h文件





1.PNG
2.PNG
 楼主| nongfuxu 发表于 2020-12-28 15:26 | 显示全部楼层
本帖最后由 nongfuxu 于 2020-12-28 15:27 编辑

启动文件如下
(直接使用正点原子的STM32F407ZG开发板的启动文件)
说明 (正点原子的STM32F407ZG 开发板,带外扩的SRAM)


startup_stm32f40_41xxx.rar

3.63 KB, 下载次数: 3

yklstudent 发表于 2020-12-28 16:09 | 显示全部楼层
放心,都是同一个启动文件
 楼主| nongfuxu 发表于 2020-12-28 16:13 | 显示全部楼层
yklstudent 发表于 2020-12-28 16:09
放心,都是同一个启动文件

谢谢!

那么  MDK的设置,需要修改嘛?

“mdk设置外部的sram” 是指什么?
 楼主| nongfuxu 发表于 2020-12-28 16:14 | 显示全部楼层
我现在的MDK中相关设置如下图所示。





3.PNG
 楼主| nongfuxu 发表于 2020-12-28 16:17 | 显示全部楼层
这个页面上的数据,好像由MDK自己,根据我选择的芯片型号,自动设置的。

扩展的外部SRAM,除了配置fsmc外,还有在哪里有显示?

在MDK配置页面上有相应指示嘛?
 楼主| nongfuxu 发表于 2020-12-28 16:21 | 显示全部楼层
正点原子探索者的STM32F407ZG的MDK配置页面如下图。

5.PNG
 楼主| nongfuxu 发表于 2020-12-28 16:23 | 显示全部楼层
删除外部SRAM后的程序,我在正点原子 探索者开发板(STM32F407ZG)运行正常。
不知道问题出在哪里了
yklstudent 发表于 2020-12-28 19:54 | 显示全部楼层
你有外部RAM嘛,没有就使用默认的就可以了
 楼主| nongfuxu 发表于 2020-12-28 20:13 | 显示全部楼层
yklstudent 发表于 2020-12-28 19:54
你有外部RAM嘛,没有就使用默认的就可以了

谢谢!
问一下,默认的startup_stm32f40_41xxx.s文件哪里有下载?
 楼主| nongfuxu 发表于 2020-12-28 21:45 | 显示全部楼层
yklstudent 发表于 2020-12-28 19:54
你有外部RAM嘛,没有就使用默认的就可以了

在正点原子探索者开发板 资料盘中找到STM32F407启动文件
您看,您说的“使用默认的启动文件”是不是这个

    这是我们修改后的STM32F40x和STM32F41x系列的共用启动文件。
    在官方启动文件的基础上,主要增加了使能STM32F4的硬件浮点运算功能、设置Heap_Size为0、禁止了SystemInit函数的调用。
    对于寄存器版本的例程,我们可以直接使用startup_stm32f40_41xxx.s这个文件。对于库函数版本,如果你想在汇编里面调用SystemInit函数,则只需取消对SystemInit函数的屏蔽即可。



5,STM32启动文件.rar

4.63 KB, 下载次数: 2

 楼主| nongfuxu 发表于 2020-12-28 21:48 | 显示全部楼层
这个文件存放的位置,如下图所示。
6.png
 楼主| nongfuxu 发表于 2020-12-29 08:14 | 显示全部楼层
yklstudent 发表于 2020-12-28 16:09
放心,都是同一个启动文件

救教一下,
1、正点原子官方给出的启动文件,是带支持外部SRAM的,还是不是。
2、支持外部SRAM,与不支持外部SRAM,在startup_stm32f40_41xxx.s文件中,在哪里有区别?

     先谢谢了。
 楼主| nongfuxu 发表于 2020-12-29 08:27 | 显示全部楼层
本帖最后由 nongfuxu 于 2020-12-29 08:44 编辑
yklstudent 发表于 2020-12-28 19:54
你有外部RAM嘛,没有就使用默认的就可以了

你好!
您说的“没有就使用默认的就可以了”是指

1)意法半导体公司官方默认的启动文件,还是
2)正点原子STM32F407ZG的启动文件呀

我现在使用正点原子STM32F407启动文件,还是HardFault_Handler()
谢谢!


wowu 发表于 2021-1-11 13:26 | 显示全部楼层
我只运行过官网例程
xiaoqizi 发表于 2021-1-11 13:28 | 显示全部楼层
二者的启动文件不一样吗
木木guainv 发表于 2021-1-11 13:30 | 显示全部楼层
使用哪一种启动方式更好呢
磨砂 发表于 2021-1-11 14:50 | 显示全部楼层
同一个启动文件启动方式不同的话 会有弊病吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

417

主题

4295

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部