keil环境下stm32f030R8环境配置

操作步骤:

1、选中芯片型号


2、外部晶振8M,打钩“Use MicroLIB”,

   microlib 是缺省 C 库的备选库。 它旨在与需要装入到极少量内存中的深层嵌入式应用程序配合使用。 这些应用程序不在操作系统中运行。
    microlib 进行了高度优化以使代码变得很小。 它的功能比缺省 C 库少,并且根本不具备某些 ISO C 特性。

   microlib 中的函数负责:

  • 创建一个可在其中执行 C 程序的环境。 这包括:

    • 创建一个堆栈

    • 创建一个堆(如果需要)

    • 初始化程序所用的库的部分组成内容。

  • 调用 main() 以开始执行程序,常用于pritf函数的映射。

     存取区一般不需要设置,除非用于IAP或APP需要调整区域空间;

扫描二维码关注公众号,回复: 1948697 查看本文章


3、生成hex文件,即烧录文件。

是在keil中编写程序并编译连接成可以下载到开发板的  .hex 文件,然后用jlink仿真器下载;2,是在uboot APP中编写编译代码,生成的是 .bin 文件,可以用uboot 下载。


4、用于生成bin文件,如果不需要则可以略过这一步。


C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe  --bin -o  E:\bootloader_030test\OBJ\bootloader_030.bin E:\bootloader_030test\OBJ\bootloader_030.axf

格式:CMD命令 fromelf.exe --bin --output  a.bin  a.axf 

5、

#ifdef USE_STDPERIPH_DRIVER
  #include "stm32f0xx_conf.h"
#endif 

stm32f0xx_conf.h包含了对库函数头文件的包含。一般情况下要输入:USE_STDPERIPH_DRIVER;


为了保证你的代码在优化后能正确运行,一定要注意在不能被优化的变量前加上:volatile。

选项One ELF Section per Function的主要功能是对冗余函数的优化。通过这个选项,可以在最后生成的二进制文件中将冗余函数排除掉(虽然其所在的文件已经参与了编译链接),以便最大程度地优化最后生成的二进制代码。 
而该选项实现的机制是将每一个函数作为一个优化的单元,而并非整个文件作为参与优化的单元。 
选项One ELF Section per Function所具有的这种优化功能特别重要,尤其是在对于生成的二进制文件大小有严格要求的场合。人们习惯将一系列接口函数放在一个文件里,然后将其整个包含在工程中,即使这个文件将只有一个函数被用到。这样,最后生成的二进制文件中就有可能包含众多的冗余函数,造成了宝贵存储空间的浪费。 


选项One ELF Section per Function对于一个大工程的优化效果尤其突出,有时候甚至可以达到减半的效果。当然,对于小工程或是少有冗余函数的工程来说,其优化效果就没有那么明显了

选项One ELF Section per Function 只编译用到的函数。


Include Paths:包含用到的文件路径

6、硬件下载调试配置,用JTAG调试器SW模式下载,即3.3V、SWDIO、SWDCLK、GND(这四根就够了,一般即可下载成功;如果不正常下载则接RST可解决)



附:

Keil MDK 生成BIN 过程
在Realview MDK的集成开发环境中,默认情况下可以生成*.axf格式的调试文件和*.hex格式的可执行文件。虽然这两个格式的文件非常有利于ULINK2仿真器 的下载和调试,但是ADS的用户更习惯于使用*.bin格式的文件,甚至有些嵌入式软件开发者已经拥有了*.bin格式文件的调试或烧写工具。为了充分地 利用现有的工具,同时发挥Realview MDK集成开发环境的优势,将*.axf格式文件或*.hex格式文件转换成*.bin格式的文件是十分自然的想法。本文将详细的探讨这种转换方法。

在详细的介绍这种方法之前,先了解一下ARM公司的RVCT开发套件中的fromelf.exe转换工具是十分必要的,因为在Realview MDK中生成*.bin格式文件的工具正是它。
fromelf.exe转换工具的语法格式如下:
fromelf [options] input_file
其中[options]包括的选项及详细描述见表一。
表一 fromelf工具的选项及描述表格


猜你喜欢

转载自blog.csdn.net/zhaobinbin2015/article/details/72473043