用过ST Link调试工具的同事都应该知道,ST Link是一个很不错的调试工具,它具有小并且功能齐全,价格便宜等特点,现在市场上普遍是下面这两种ST Link, 但如果用的比较多,会发现有时候会存在这种的问题:烧不进程序.造成这种问题的原因可能是下面这种问题: 1.直接用ST Link来供电,导致电量不足,烧不进程序,因此应该用其他电源供电 2.如果用第一种ST Link来烧程序,两根数据线的位置插相反了,应该反过来 3.开发板上boot位置没有拔对,导致烧不进程序 4.ST Link坏了…
st官网 正版ST-link/V2引脚定义和注意事项 分为ST-LINK/V2和ST-LINK/V2-ISOL两种型号 是STM8和STM32微控制器(MCU)系列的在线调试器和编程器(还是下载器.仿真器??). 使用 keil ST-LINK_V2使用说明 sw4stm32 sw4stm32开发stm32 STVP少些软件 如何用ST-LINK V2给stm32下载程序 连接 一头是usb与电脑上的开发软件连接? 一头是一些特殊引脚(定义好的,有几根线/引脚必须接),与开发板上的STM32通过…
☆1.无法进入main函数(printf的影响)***为什么有时候可以进入main函数,有什么进入不了main函数?    <1> 因为C语言默认使用显示器作为标准输出的设备,所以如果想利用printf必须进行函数的输出重映射到串口.MDK下使用printf函数会导致程序无法进入main函数 ,防止其进入半主机模式.使用特定代码,或者使用微库.但是依旧没用.      在清除所有断点后好用!! ☆2.调试过程中程序依然执行: <1> 独立看门狗对调试的影响:   调试时关闭IWDG…
在keil中仿照别人的程序写了RCC初始化的程序,编译后出现以下问题 .\obj\pro1.axf: Error: L6218E: Undefined symbol FLASH_PrefetchBufferCmd (referred from main.o). .\obj\pro1.axf: Error: L6218E: Undefined symbol RCC_GetFlagStatus (referred from main.o). .\obj\pro1.axf: Error: L6218E…
keil中串口的虚拟调试信息在通过View-serial windows-#usart1/2/3/4/debug(printf)可以看到.当然也可以通过虚拟串口VSPD+串口调试助手在外部实现,方法如下: 虚拟 串口使用:步骤 1 下载虚拟串口软件,虚拟2个连接的串口COMA/COMB,这两个串口与PC机的真实物理串口没关系.两边的设置相同 2 打开串口通讯助手,将A分配给串口通讯助手,则B就分配给下面的COMx 2 在MDK中输入命令行或者将下面的做成debug.ini文件加载 MODE CO…
Keil 中使用 STM32F4xx 硬件浮点单元一.前言有工程师反应说 Keil 下无法使用 STM32F4xx 硬件浮点单元, 导致当运算浮点时运算时间过长,还有 一些人反应不知如何使用芯片芯片内部的复杂数学运算,比如三角函数运算.针对这个部分本文将详 细介绍如何使用硬件浮点单元以及相关数学运算.二.问题产生原因1. ------对于Keil MDK Version 5 版本, 编译器已经完全支持STM32F4xx 的FPU(浮点运算单元), 可以直接 使用芯片内部的浮点运算单元.2. --…
OpenOCD烧录STM32失败的问题 Linux下使用 OpenOCD 烧录 STM32, 出现了 Error: init mode failed (unable to connect to the target) 错误. 如果在代码中, 不小心将 PA13,PA14 的 SWD 功能关闭, 例如使用了下面的代码 rcc_periph_clock_enable(RCC_GPIOA); // Need GPIOA clock gpio_primary_remap( AFIO_MAPR_SWJ_C…
[Keil]浅学一下keil中的.sct文件 最近重新捣鼓了acfly的源码,有了新的有趣发现,当然,过程并不有趣. 起因 clone下来我去年提交的代码,编译 ...... 报错辣! linking... .\Objects\ACFly.axf: error: L6031U: Could not open scatter description file \ACFly_Prophet.sct: No such file or directory 在网上找了一下解决方案,鬼迷心窍的我听信了CSD…
原文在此:http://www.cnblogs.com/mddblog/p/4920063.html 概述 在嵌入式系统中,启动文件是整个系统非常关键的部分,它会进行一些底层的初始化,构建程序运行必要的环境,比如堆栈初始化,变量初始化等.如果启动文件出现错误,则整个系统就跑不起来,因此研究启动文件非常必要. 在keil中,启动文件由汇编代码编写,一般命名为startup_xxx.s,xxx为支持的某种芯片,比如可以是lpc15xx(NXP的LPC15xx系列).MK60D10(飞思卡尔).stm…
一般说来,我们在C语言中定义的每一个变量初始化后都会占用一定的内存(RAM)空间.但是在keil中提供了一个特殊的关键字“code”,这个关键字在标准C中是没有的.其语法举例如下: unsigned char code word[] = {       0x04,0x10,0x34,0x08,0xC4,0x06,0x04,0x01,       0xC4,0x82,0x3C,0x8C,0x20,0x40,0x10,0x30,       0x0F,0x0C,0xE8,0x03,0x08,0x0C…