野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12133|回复: 11

STM32F429 开发板 例程无法运行和使用DAP仿真的问题

[复制链接]
发表于 2016-8-20 10:00:57 | 显示全部楼层 |阅读模式
问题1:
我用DAP 下载了EMWIN 15和16那个例程,下载完成后 不会自动运行。 但是 点debug可以正常运行。
但是那个综合例程也是 用DAP 下载 就可以正常运行

问题2:
开发板不用外部供电的话,点仿真后 不能正常运行, 连初始化第一条指令都进不去,每次reset都跑到这里

请问是为什么呢
回复

使用道具 举报

发表于 2016-8-20 11:20:35 来自手机 | 显示全部楼层
1、程序下载不能自动运行是软件设置的问题,要勾选reset and run ,不然下载程序后要手动复位。
回复 支持 反对

使用道具 举报

发表于 2016-8-20 11:21:35 来自手机 | 显示全部楼层
2、仿真器默认不能供电,或者供电了也会因为电流不足出现各种问题。一定要外部给开发板供电。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-22 06:59:39 | 显示全部楼层
fire 发表于 2016-8-20 11:20
1、程序下载不能自动运行是软件设置的问题,要勾选reset and run ,不然下载程序后要手动复位。

都是 勾选了reset and run的。 不知道什么原因,有的例程就是烧进去 不会运行。 我把仿真器 拔了之后,用外部供电,然后手动按reset 键 ,也不能运行。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-22 07:00:00 | 显示全部楼层
fire 发表于 2016-8-20 11:21
2、仿真器默认不能供电,或者供电了也会因为电流不足出现各种问题。一定要外部给开发板供电。

可以关掉仿真器的供电功能吗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-22 08:54:13 | 显示全部楼层
本帖最后由 morgen1 于 2016-8-22 09:08 编辑
fire 发表于 2016-8-20 11:21
2、仿真器默认不能供电,或者供电了也会因为电流不足出现各种问题。一定要外部给开发板供电。

问题补充: 如果我用稳压源 直接给开发板 3.3V供电,没供5V电。 仿真会出问题。

如果 改为给5V直接供电,则正常了,这是怎么回事呢?
5V不就是用来产生3.3V的吗? 为什么直接供3.3V就会出问题呢

我看了开发板的原理图 F429 引脚 并没有哪里是需要5V进去的呀。。。按理就是3.3V就够了吧

回复 支持 反对

使用道具 举报

发表于 2016-8-22 09:11:19 | 显示全部楼层
morgen1 发表于 2016-8-22 07:00
可以关掉仿真器的供电功能吗

只需要把DAP的对外的那根3.3V的线剪掉即可
回复 支持 反对

使用道具 举报

发表于 2016-8-22 09:11:35 | 显示全部楼层
morgen1 发表于 2016-8-22 08:54
问题补充: 如果我用稳压源 直接给开发板 3.3V供电,没供5V电。 仿真会出问题。

如果 改为给5V直接供 ...

估计还是电流不够的问题
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-23 15:52:02 | 显示全部楼层
fire 发表于 2016-8-22 09:11
估计还是电流不够的问题

我看了一下 ,直接用稳压源供3.3V的话,外部晶振振荡不起来。会不会是因为3.3V的纹波太大了。
另外 我 想问下 ,即使外部晶振有问题的。 在一开始SystemInit里面自动开启的是内部晶振吧?
回复 支持 反对

使用道具 举报

发表于 2016-8-23 15:53:26 | 显示全部楼层
morgen1 发表于 2016-8-23 15:52
我看了一下 ,直接用稳压源供3.3V的话,外部晶振振荡不起来。会不会是因为3.3V的纹波太大了。
另外 我  ...

1、你把WIFI供电的那个 3.3V 的调帽 试一试

2、不是
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-23 16:16:14 | 显示全部楼层
fire 发表于 2016-8-23 15:53
1、你把WIFI供电的那个 3.3V 的调帽 试一试

2、不是

SystemInit 里面这一句
  RCC->CR |= (uint32_t)0x00000001; 就是开启HSI内部振荡吧。
然后 下面的SetSysClock里面的语句是一直在 等待 HSE吧,HSE等待超时后时钟不是内部HSI提供的么?
/* Enable HSE */
  RCC->CR |= ((uint32_t)RCC_CR_HSEON);

  /* Wait till HSE is ready and if Time out is reached exit */
  do
  {
    HSEStatus = RCC->CR & RCC_CR_HSERDY;
    StartUpCounter++;
  } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));
回复 支持 反对

使用道具 举报

发表于 2016-8-23 18:53:05 来自手机 | 显示全部楼层
赞,火哥的回复及时!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-12-28 12:24 , Processed in 0.034211 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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