STM32无法使用IAR下载程序问题

一开始建立了工程,然后程序下载都很正常。不知道什么情况自己下载代码之后,再重新下载代码无法成功。

我按照提示找了一下FlashStm32f30x8.flash这个文件,却发现IAR的目录下没并没有。又怀疑是IAR文件丢失。

重新安装IAR,却发现问题仍然继续.   ~~~~感觉像是芯片坏了~~~

于是通过STVP工具,读取一下。 奇迹发生了,竟然可以读取程序。  嗯~~那可以排除芯片的问题。

好吧,那我重新用IAR下载应该可以吧。  于是重新下载程序, 晕~~~居然还是弹出那个错误。

难道自己的程序竟然会引起这样的错误???

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

于是通过STVP将FLASH全部清空,再用IAR下载调试。嗯~~~成功了....

既然成功了,那就用F5全速跑一下吧。  晕,程序跑飞了。。。。。。。。。。

此时,我再用IAR下载时候,发现又弹出刚开始的错误了。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

再通过STVP将FLASH全部清空,再用IAR下载调试,一步一步调试。发现程序跑到ST官方的库文件里面就出不来了。

继续跟踪,原来库在GPIO_OType参数的时候,没有判断值,直接就赋值给变量了.我的代码中确实没有对GPIO_OType变量进行赋值,因为感觉该口作用串口的输入输出应该不需要赋值.

后面对该值赋值后,问题再也没有重现了.

代码如下:

    GPIO_PinAFConfig(GPIOA, GPIO_PinSource9,GPIO_AF_7);
    GPIO_PinAFConfig(GPIOA, GPIO_PinSource10,GPIO_AF_7);

    //TX PIN
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
    GPIO_Init(GPIOA,&GPIO_InitStructure);

    //RX PIN
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
    GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;
    GPIO_Init(GPIOA,&GPIO_InitStructure);

看来库,还是得小心使用,否则出问题的时候.查死你啦~~~

时间: 2024-11-07 19:24:26

STM32无法使用IAR下载程序问题的相关文章

STM32的ISP下载程序方式:

STM32的板子的串口ISP下载方法:Boot0接到3.3V上,Boot1接到GND,对板子重新上电,STM32单片机重启的时候,会进入到ISP模式. 原文地址:https://www.cnblogs.com/ordinary-world/p/10202478.html

MPLAB X IDE v3.05 无法使用ICD3 下载程序

1.得出的结论:ICD3仿真器坏 2.测试环境 1)IDE为: MPLAB X IDE v3.05 2)编译器工具链为:XC16(v1.21) 3)MCU为:PIC24F08KA101 3.测试方法 1)确认ICD3的线序 2)确认单片机端原理图上仿真器引脚 3)接线方法 将仿真器端出来的接头,通过插针引一下,直接焊接在目标板的仿真口上. 4)给目标板上电 5)使用IDE进行仿真 得到如下错误提示 6)两天后找来一个 Kit3.5,并证明其线序与原来的ICD3是一致的: 7)在IDE上配置 硬件

如何使用串口来给STM32下载程序

前言 第一次学习STM32的时候,不知道有调试器这个东西,所以一直是通过串口来给STM32下载程序,下载速度也还算可以,一般是几秒钟完成.后来用了调试器,可以直接在Keil环境下进行下载,而且还可以进行在线调试,所以后来就很少使用串口来下载程序了.前几天在uFUN试用群里看到有几个朋友在使用串口下载程序时,遇到了各种各样的问题,所以在这里简单介绍一下如何通过串口来给STM32下载程序. STM32的启动模式介绍 从STM32参考手册上,可以查阅到,STM32的启动模式,共有下列三种,可以通过BO

第3章 如何用DAP仿真器下载程序

第3章     如何用DAP仿真器下载程序 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 3.1 仿真器简介 本书配套的仿真器为Fire-Debugger,遵循ARM公司的CMSIS-DAP标准,支持所有基于Cortex内核的单片机,常见的M3.M4和M7都可以完美支持,其外观见图 31. Fire-Debugger支持下载和在线仿真程序,支持XP/WIN7/WIN8/WIN

关于战舰STM32用PL2303下载线下载和BOOT的软件相关控制

以下内容可能有一些错误什么的,欢迎各位同学指正. 关于战舰STM32开发板上的BOOT0和BOOT1,很多人会有疑问,特别是软件mcuisp上为什么是DTR的低电平,RTS的高电平进入下载模式,先不管硬件上的BOOT0和BOOT1连接. 要了解BOOT0和BOOT1,首先要知道有三种模式, (1)BOOT0接高电平,BOOT1接低电平,如果此时RESET   I/O口产生复位信号,软件上点击下载,此时会把程序烧写进32里面 (2)BOOT0接低电平,BOOT1接低电平,如果此时RESET I/O

关于CH340在STM32实现一键下载电路的研究(转)

源:关于CH340在STM32实现一键下载电路的研究 在做基于STM32的多功能MP3播放器的课题时,在程序下载这部分时借鉴了正点原子开发板上的一键下载电路,采用CH340G这款芯片设计. 在画PCB初期原理图部分,对采用CH340G设计的一键下载电路不甚了解,于是花了一些时间来研究一下这个电路. 引用正点原子的一键下载电路: 我们通过RTS#和DTR#两个输出信号来控制STM32 IC的BOOT0和BOOT1两引脚来选择启动模式,如下表: 当烧写程序时,我们希望BOOT0=1,BOOT1=0.

STMF103系列单片机无法调试和下载程序的原因及其解决

时间:2018/11月/15 经过实践中发现,使用stm32cubeMX 自动生成的代码,烧入单片机后第一次,断电重启后能够运行. 但是,再次对其进行操作的时候,发现无法进行调试,也无法对其下载程序. 怀疑是硬件问题,比如怀疑是硬件不稳定导致的.但是实际上原因并不是. 换了另外一块主芯片一样的不同设计的板子,依然发现了类似现象. 怀疑是软件问题. 经过同事指导,将boot0.boot1的跳线接到高电平,不从内部flash启动. 发现可以在IDE环境下(比如keil v5)对其进行下载程序.这一次

Kinetis Design Studio 下使用J-Link下载程序

1.安装J-Link驱动. 在KDS安装目录下已自带J-Link驱动,进入以下目录(以我的为例): C:\Freescale\KDS_1.1.1\segger\USBDriver 将看到CDC.x64.x86三个文件夹,根据自己的系统选择对应的程序,只需两步(以我的为例): 1> 进入CDC文件夹下,运行dpinst_x86.exe,等待安装完成. 2> 进入x86文件夹下,运行DPInst.exe,等待安装完成. 2.建立工程并正确编译工程. 3.使用J-Link下载程序. 1> 单击

FPGA的EPCS 配置的2种方法 FPGA下载程序的方法(EPCS)

使用主动串行配置模式对Cyclone FPGA进行配置前,必须将配置文件写入串行配置器件EPCS.将配置文件写入EPCS的方法有三种: (1)在Quartus II的Programmer中,通过专门与EPCS连接的AS下载接口下载.pof文件到EPCS.不同之处在于将下载线连接到AS接口而不是JTAG接口,选择编程文件时是*.pof而不是*.sof. (2)在Quartus II的Programmer中,使用JTAG接口通过FPGA中间通道间接对EPCS进行编程. (3)使用Nios II ID