Keil5编译STM32注意事项

硬件:某STM32开发板,ST-Link/V2

一、硬件相关:

1、引脚连接:

pin7 <—> SWIO

pin9 <—> SWCLK

pin20/pin18 <—> GND

pin19 <—> +3.3V (如果不使用ST-Link给板子供电,不要接)

 

2、Keil中设置:

1)在Debug下,选择ST-Link Debugger

2)选中ST-Link Debugger后,选择Settings。

3)选择Flash Download,然后添加Programming Algroithm。(我这里是STM32F10x的芯片)

 

二、软件相关:

点击这个:

然后看到个:

我这里是一个GPIO的例子,我添加了:CMSIS-Core(必须)、Device->GPIO(GPIO初始化)、Device->Startup(初始代码)、Device->StdPherphDrivers->GPIO(GPIO控制)、Device->StdPherphDrivers->RCC(时钟控制)。

如果编译报错,那肯定是漏了哪个库了。

如果还是编译出错,缺少stm32f10x_conf.h之类的文件,再设置一下这里:

在Define里添加USE_STDPERIPH_DRIVER,在IncludePaths里添加自己工程所在的目录,并把stm32f10x_conf.h复制到工程所在目录下。(stm32f10x_conf.h可以从KeilV5的目录下找到,不要直接指向该文件,因为每个工程可能会根据需要修改)。

如果你的工程还是编译出错,我已经帮不你了,请自己搜索去吧。

Keil5编译STM32注意事项,布布扣,bubuko.com

时间: 2024-07-30 20:31:51

Keil5编译STM32注意事项的相关文章

STM32使用cube生成的程序后在keil5编译后首次SWD可以下载再次下载不行的解决办法。

使用cube配置导出工程在keil5编译后首次SWD下载可以再次下载不行的解决办法. 1原因: cube使用的是HAL库,初始化语句里面禁用了调试功能. 在stm32f1xx_hal_msp.c中 __HAL_AFIO_REMAP_SWJ_DISABLE();  就是这句禁了. 2解决: 在stm32f1xx_hal_msp.c中改为 __HAL_AFIO_REMAP_SWJ_ENABLE();    这句启用调试功能. 下载办法:按住开发板的复位按钮(一直到点击下载)后松开,就可以下载成功.

unbutu server 12.04编译apk注意事项

1.系统自带的open jre是可以的,不过需要安装 sudo apt-get install openjdk-7-jre 2.一直提示build.xml错误 则需要 sudo apt-get install lib32stdc++6 sudo apt-get install lib32stdc++6 lib32z1 lib32z1-dev unbutu server 12.04编译apk注意事项

Keil5.15使用GCC编译器编译STM32工程

我们使用Keil一般使用ARMCC编译MCU工程代码.其实,Keil也是支持内嵌GCC编译器的.我们可以使用GCC来编译我们的工程代码. 一.下载GCC编译器 GCC编译器下载地址 二.安装GCC 我们可以把GCC解压到keil的安装目录下面.如下图 三.配置Keil使用GCC编译器 1.配置CC编译规则,Misc Controls 填写 -mcpu=cortex-m4 -mthumb -fdata-sections -ffunction-sections 2.Assembler中规则,Misc

Keil5配置GCC编译器编译STM32工程

Keil一般使用ARMCC编译MCU工程代码.偶然听说Keil也是支持内嵌GCC编译器的.于是尝试了网上博客所述的一些方法,最终找到了一篇博客 http://blog.csdn.net/lan120576664/article/details/46806991 按照文中所述,发现仍存在一些其他错误,后来又查找了其他相关资料,在这作以总结 一.下载GCC编译器https://launchpad.net/gcc-arm-embedded/ 二.安装GCCGCC解压到keil的安装目录下面.如下图 三

Ubuntu 系统下安装gcc-arm-none-eabi编译STM32工程

在使用rikirobot机器人做ROS下的导航实验是,粗心大意将底层控制板烧坏,买了个新的电路板重新开始.在编译商家各处的STM32源代码时,Ubunt下总是出现了/arm-none-eabi-gcc/bin/ld:cannot find -lstdc++的错误,这是一个链接错误,使用arm-none-eabi-gcc编译器时总是连接不到libstdc++.首先尝试使用网上给出的一种方法,原因认为是在64位系统下编译32位的工程需要把32位的库包含进来,使用如下命令 1 sudo apt-get

android 编译代码注意事项

1 安装openjdk1.7 sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-apt update sudo apt-get install openjdk-7-jdk 2 切换java版本 sudo update-alternatives --config java sudo update-alternatives --config javac 3 编译错误 (1)clang错误 art/build/Android.common_build

Curl的移植编译以及注意事项

最近需要用curl来发送http请求,遇到了不少问题,查了不少资料,都是零零散散的,现在总结下.   1.移植编译 1 ./configure --prefix=$(PWD)/build --host=arm-XXX-linux;make ;make install 这步基本都没有问题,生成的动态链接库libcurl.a,可以直接给应用程序去使用. 2.API使用 1)全局初始化 curl_global_init(CURL_GLOBAL_ALL); 2)通过curl_easy_init得到一个C

学习STM32注意事项

无论去不去B,都要自学,只不过学的时候注意方法,ro和韦就是自学的,自学肯定是有用的,一定要相信自学是有用的, 1.要学到工作时遇到自己真正能用的程度,不要只是看,要自己真正去写代码,如果只是把看一下手册,然后把程序下载进去那样没用,工作时遇到自己也还是不会用. 2.要复习,有些知识点要去学三遍,要不然学完了之后忘了就没用了. 查485 232 和常说的串口有什么区别, SRAM跟RAM有什么区别. can总线要学, 还有外扩的FLASH好像是用地 SPI总线,这个也要学

keil编译STM32工程时 #error directive: &quot;Please select first the target STM32F10x device used in your application (in stm32f10x.h file)&quot;

我们可以双击错误,然后会自动定位到文件 stm32f10x.h 中出错的地方,可以看到代码: #if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined(STM32F10X_MD) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD)&& !defined (STM32F10X_HD_VL