搜索
bottom↓
回复: 40

STM32F437VG替换STM32F407运行不正常,内详,求解!

[复制链接]

出0入0汤圆

发表于 2017-1-16 10:10:58 | 显示全部楼层 |阅读模式
帮朋友调一个板子,想把STM32F407用STM32F437替换,板子硬件不变,都是100脚的。程序传进去运行不正常。
代码我有修改过,用的是野火的429模板,用JLINK 调试运行 就跑到系统区域,好像进入了自举模式,非常奇怪,哪有
有经验给指点一下 ,硬件哪里有问题,软件现在点个小灯都不行。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2017-1-16 10:32:16 | 显示全部楼层
有可能是启动文件的问题。或者,你查看一下boot引脚的跳线。遇到过boot引脚用USB-转串口控制复位和BOOT的方案里边有遇到过。。同样是 STM32F407 有的工程也会进入这里。

出0入0汤圆

 楼主| 发表于 2017-1-16 10:49:48 | 显示全部楼层
XUEPENGBIN 发表于 2017-1-16 10:32
有可能是启动文件的问题。或者,你查看一下boot引脚的跳线。遇到过boot引脚用USB-转串口控制复位和BOOT的方 ...

启动文件应该没什么问题,boot引脚boot0我10k下拉到G,BOOT1也同样下拉到G。复位是阻容,电平也正常

出0入0汤圆

发表于 2017-1-16 10:59:13 | 显示全部楼层
coslight_dt 发表于 2017-1-16 10:49
启动文件应该没什么问题,boot引脚boot0我10k下拉到G,BOOT1也同样下拉到G。复位是阻容,电平也正常 ...

看你的晶振是8M,时钟搞对了没有?

出0入0汤圆

 楼主| 发表于 2017-1-16 11:20:08 | 显示全部楼层
irobot07 发表于 2017-1-16 10:59
看你的晶振是8M,时钟搞对了没有?

多少M都没关系,只要满足4-26就可以,修改PLLM,PLL_N就可以 ,主频我想兼容原来的程序 就还设置成168M

出0入0汤圆

发表于 2017-1-16 11:24:27 | 显示全部楼层
coslight_dt 发表于 2017-1-16 11:20
多少M都没关系,只要满足4-26就可以,修改PLLM,PLL_N就可以 ,主频我想兼容原来的程序 就还设置成168M ...

你的只改了PLL_N PLL_P还有一处地方要改的
在"STM32F4xx.h"里边
#define HSE_VALUE    ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */

出0入0汤圆

 楼主| 发表于 2017-1-16 11:25:44 | 显示全部楼层
irobot07 发表于 2017-1-16 11:24
你的只改了PLL_N PLL_P还有一处地方要改的
在"STM32F4xx.h"里边
#define HSE_VALUE    ((uint32_t)800000 ...

也改了,晶振对不上 ,不是这个现象,是跑的慢了,现在是跑的位置不对

出0入0汤圆

发表于 2017-1-16 11:28:43 | 显示全部楼层
coslight_dt 发表于 2017-1-16 11:25
也改了,晶振对不上 ,不是这个现象,是跑的慢了,现在是跑的位置不对

如果超频了,就会跑飞的

出0入0汤圆

 楼主| 发表于 2017-1-16 11:45:40 来自手机 | 显示全部楼层
irobot07 发表于 2017-1-16 11:28
如果超频了,就会跑飞的

谢谢,这个线索跟重要!但我监视一下主频,是24m!很像进去了系统boot状态

出0入0汤圆

发表于 2017-1-16 13:41:47 | 显示全部楼层
coslight_dt 发表于 2017-1-16 11:45
谢谢,这个线索跟重要!但我监视一下主频,是24m!很像进去了系统boot状态 ...

请教一下,如何监视主频啊?是不是通过IO口翻转,然后根据分频系数推出主频?

出0入0汤圆

发表于 2017-1-16 13:46:31 来自手机 | 显示全部楼层
jlink单步仿真看看

出0入0汤圆

 楼主| 发表于 2017-1-16 13:46:47 | 显示全部楼层
河图洛书 发表于 2017-1-16 13:41
请教一下,如何监视主频啊?是不是通过IO口翻转,然后根据分频系数推出主频? ...

RCC_GetClocksFreq(RCC_ClocksTypeDef* RCC_Clocks),在初始化后用这个函数就能看。
我是的程序是有问题,我人为的修改了PC值,勉强能进入主循环。点亮小灯。

出0入0汤圆

 楼主| 发表于 2017-1-16 13:47:41 | 显示全部楼层
Excellence 发表于 2017-1-16 13:46
jlink单步仿真看看

压根走不起来,就在那个区域跑。

出0入0汤圆

 楼主| 发表于 2017-1-16 13:48:42 | 显示全部楼层
哪位用过437/439 芯片的?我自己对比跟407是pin TO pin的 ,怎嘛会这样呢 ,想不通

出0入0汤圆

发表于 2017-1-16 21:10:11 | 显示全部楼层
关注一下

出0入0汤圆

 楼主| 发表于 2017-1-16 21:10:13 | 显示全部楼层
我把程序搞到ram中运行,现象也一样~

出0入0汤圆

发表于 2017-1-17 09:59:18 | 显示全部楼层
楼主把芯片管脚用酒精擦擦,我猜你用了自己做的助焊剂

出0入4汤圆

发表于 2017-1-17 10:10:08 | 显示全部楼层
没用过帮顶

出0入0汤圆

 楼主| 发表于 2017-1-17 14:00:12 | 显示全部楼层
chenqi 发表于 2017-1-17 09:59
楼主把芯片管脚用酒精擦擦,我猜你用了自己做的助焊剂

买到假货的概率大,还是我焊坏的概率大》

出0入0汤圆

发表于 2017-1-17 14:15:57 | 显示全部楼层
coslight_dt 发表于 2017-1-17 14:00
买到假货的概率大,还是我焊坏的概率大》

哦,对了 。晶振配置不对了,程序跑飞了也是这种现象。。碰到过。系统时钟配置是24M的,结果我用的是8M的。也是出现这种现象。

出0入0汤圆

发表于 2017-1-17 15:53:45 | 显示全部楼层
你是程序根本就没有跑到main()吧,你一段段的加载进去看看到底是哪里不对

出0入0汤圆

 楼主| 发表于 2017-1-17 17:00:40 | 显示全部楼层
XUEPENGBIN 发表于 2017-1-17 14:15
哦,对了 。晶振配置不对了,程序跑飞了也是这种现象。。碰到过。系统时钟配置是24M的,结果我用的是8M的 ...

压根跑不到时钟初始化位置,还没初始化呢。

出0入0汤圆

 楼主| 发表于 2017-1-17 17:01:58 | 显示全部楼层
yy8047 发表于 2017-1-17 15:53
你是程序根本就没有跑到main()吧,你一段段的加载进去看看到底是哪里不对

确实是这样,请教一下 怎样一段一段加载,复位后就直接跑到0x1fffxxxx 系统区了。我手动修改PC,和sp 可以进入main

出0入0汤圆

发表于 2017-1-17 17:48:15 来自手机 | 显示全部楼层
测量下BOOT0管脚的电平试试

出0入0汤圆

发表于 2017-1-17 17:58:21 | 显示全部楼层
STM32F407用STM32F437用的是野火的429模板

出0入0汤圆

发表于 2017-1-17 18:19:36 | 显示全部楼层
coslight_dt 发表于 2017-1-17 17:01
确实是这样,请教一下 怎样一段一段加载,复位后就直接跑到0x1fffxxxx 系统区了。我手动修改PC,和sp 可以 ...

是这样的。。晶振不对 只要烧写过一次程序就会这样。 我的做法是 反复点擦除 给芯片上点。时钟不对的时候,仿真时是这样的。 要把原来的代码擦除掉才可以。

出0入0汤圆

发表于 2017-1-17 18:22:05 | 显示全部楼层
这个可能是芯片焊接有问题吧,能下载跑不起来。如果是程序的问题,那至少能跑到启动汇编的跳转到SystemInit那个位置的。除非你链接地址就是不对的。还有这个确实是pin to pin的,我们这边也有这么用过,没问题。

出0入0汤圆

 楼主| 发表于 2017-1-17 21:25:53 | 显示全部楼层
nongxiaoming 发表于 2017-1-17 18:22
这个可能是芯片焊接有问题吧,能下载跑不起来。如果是程序的问题,那至少能跑到启动汇编的跳转到SystemInit ...

焊接问题按理说不应该啊 ,407,429 我也是用一个烙铁焊的啊!407和429都好使。除非外围电路有差异

出0入0汤圆

 楼主| 发表于 2017-1-17 21:27:13 | 显示全部楼层
还有一个比较明显的现象就是 ,我要是把407板子的boot0 短接用jlink仿真就是进入系统区,现象同这个不好使的437

出0入0汤圆

 楼主| 发表于 2017-1-17 22:03:10 | 显示全部楼层
LQS1200 发表于 2017-1-17 17:58
STM32F407用STM32F437用的是野火的429模板

都试过的 ,野火的,CUBEMX生成的,原来407的,内部晶振,外部晶振,主频都试过了。没有一个能运行起来的

出0入0汤圆

发表于 2017-1-17 22:09:52 | 显示全部楼层
boot0,boot1四种组合都试一下

出0入0汤圆

 楼主| 发表于 2017-1-18 07:53:20 | 显示全部楼层
zhxlx 发表于 2017-1-17 22:09
boot0,boot1四种组合都试一下

试过的,没啥效果

出0入0汤圆

发表于 2017-1-18 07:57:23 | 显示全部楼层
coslight_dt 发表于 2017-1-17 17:01
确实是这样,请教一下 怎样一段一段加载,复位后就直接跑到0x1fffxxxx 系统区了。我手动修改PC,和sp 可以 ...

你把所有程序先都屏蔽掉,然后从main()的第一句程序开始打开,编译烧写进去看看正常不,如果正常就一步步往下打开

出0入0汤圆

 楼主| 发表于 2017-1-22 10:26:58 | 显示全部楼层
还是不行 ,芯片损坏的概率大一些,谁能告诉我一个能买到STM32F439/STM32F37的地方?

出0入0汤圆

发表于 2017-1-16 10:10:59 | 显示全部楼层
coslight_dt 发表于 2017-1-22 10:26
还是不行 ,芯片损坏的概率大一些,谁能告诉我一个能买到STM32F439/STM32F37的地方? ...

看了一下手册,建议注意一下BFB2这个位。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入4汤圆

发表于 2017-1-25 18:21:52 来自手机 | 显示全部楼层
云汉芯城试试,公司采购都走这个,但是,贵,慢

出0入0汤圆

发表于 2017-1-25 21:04:11 来自手机 | 显示全部楼层
检查各种vdd

出0入0汤圆

 楼主| 发表于 2017-2-5 09:59:49 | 显示全部楼层
qiuchen 发表于 2017-1-22 11:53
看了一下手册,建议注意一下BFB2这个位。

谢谢,非常像第二种情况,我再细看一下,再次表示感谢~

出0入0汤圆

 楼主| 发表于 2017-2-5 18:22:17 | 显示全部楼层
本帖最后由 coslight_dt 于 2017-2-5 19:10 编辑
qiuchen 发表于 2017-1-22 11:53
看了一下手册,建议注意一下BFB2这个位。


请问 我怎嘛才能控制BFB2这个操作位,是修改option byte 吗?

PS:找到了,手册不能看中文的,耽误事儿

出0入0汤圆

发表于 2017-2-5 20:31:10 | 显示全部楼层
coslight_dt 发表于 2017-2-5 18:22
请问 我怎嘛才能控制BFB2这个操作位,是修改option byte 吗?

PS:找到了,手册不能看中文的,耽误事儿 ...

找到就好。说实话我也没改过这一位,就是看到了而已。

出0入0汤圆

发表于 2017-2-6 15:08:47 | 显示全部楼层
1路回答的很有道理,首先检查,另外就是,VCAP引脚接高还是低看看数据手册;再就是根据调试的状态来看,如果单步都到不了Main函数,基本是Boot的问题....
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-24 04:53

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表