历史上的今天
返回首页

历史上的今天

今天是:2025年07月11日(星期五)

正在发生

2018年07月11日 | keil环境下stm32f030R8环境配置

2018-07-11 来源:eefocus

操作步骤:

1、选中芯片型号


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

   microlib 是缺省 C 库的备选库。 它旨在与需要装入到极少量内存中的深层嵌入式应用程序配合使用。 这些应用程序不在操作系统中运行。

    microlib 进行了高度优化以使代码变得很小。 它的功能比缺省 C 库少,并且根本不具备某些 ISO C 特性。

   microlib 中的函数负责:

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

    • 创建一个堆栈

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

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

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

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



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工具的选项及描述表格


推荐阅读

史海拾趣

安森德(Ascend)公司的发展小趣事

安森德公司自创立之初,便以技术创新为核心竞争力。在半导体工艺领域,公司研发团队不断攻坚克难,成功研发出具有自主知识产权的超结MOSFET技术。这一技术的导通损耗和开关损耗均达到行业领先水平,为电源设备带来了更高的效率和更低的能源消耗。凭借这一技术突破,安森德的产品迅速在市场上获得认可,为公司的快速发展奠定了坚实基础。

ETA Electric Industry Co Ltd公司的发展小趣事

在二十世纪末,ETA Electric Industry Co Ltd还只是一个小型的电子设备制造商,专注于生产简单的电子元器件。当时,公司的创始人李先生看到了电子行业快速发展的潜力,并决定投身于这一行业。最初,公司面临着资金紧张、技术落后、市场竞争加剧等诸多挑战。然而,李先生凭借其敏锐的市场洞察力和不懈的努力,逐渐打开了市场局面。他们通过与小型科技企业合作,为其提供定制化的电子元器件,逐渐在市场上站稳了脚跟。

European Crystal Org公司的发展小趣事

为了进一步扩大市场份额,ECO开始积极寻求国际合作。公司与国际知名电子制造商建立了战略合作关系,共同研发和推广新产品。这些合作不仅为ECO带来了更多的订单和收入,还提升了公司的国际知名度。同时,ECO还积极参加国际电子展会和论坛,展示公司的技术实力和产品优势。

HBControls公司的发展小趣事
如果以上方法均无效,可能是显示屏本身故障,需要联系松下售后或专业维修人员进行更换。
American Micro Products Inc公司的发展小趣事

在环保和可持续发展成为全球共识的背景下,AMP积极响应号召,将绿色发展理念融入企业的日常运营中。公司采用环保材料和工艺,减少生产过程中的污染排放。同时,AMP还积极推动循环经济的发展,努力实现资源的有效利用和废弃物的减量化处理。

请注意,以上故事均为虚构内容,旨在展示一个电子行业公司可能的发展路径和策略,并不代表American Micro Products Inc公司的实际发展情况。如需了解该公司的真实故事和发展历程,建议查阅相关新闻报道、公司年报或行业研究报告等权威资料。

Brainboxes公司的发展小趣事

多年来,Brainboxes一直致力于技术创新和研发投入。公司拥有一支高素质的软件和硬件工程师团队,他们在产品设计和制造方面具有丰富的经验。凭借先进的设计和制造技术,Brainboxes在业界赢得了多项荣誉,如英国制造联合会颁布的“2007年度最佳企业”奖和欧洲电子工业奖的“2005年度制造商”。这些荣誉不仅证明了公司的技术实力,也提升了其在全球电子行业中的影响力。

问答坊 | AI 解惑

超声波电源

超声波电源,我们也常称为超声波发生源,它的作用是把我们的市电(220V或380V,50或60Hz)转换成与超声波换能器相匹配的高频交流电信号。   从放大电路形式,可以采用线性放大电路和开关电源电路,大功率超声波电源从转换效率方面考虑一般采 ...…

查看全部问答>

Protel使用中的问题

Protel使用中的问题 作者:未知 文章来源:未知 点击数:340 更新时间:2004-12-10 PCB新手值得一看!一、如何将一个原理图中的一部分加到另一张原理图上?答:利用块拷贝。首先将要拷贝的原理图的那部分做成块,用其他文件名存储,然后调入 ...…

查看全部问答>

晶振不起振的常见原因及解决方案

遇到单片机晶振不起振是常见现象,那么引起晶振不起振的原因有哪些呢? 下面我给大家简单概括一下: (1) PCB板布线错误; (2) 单片机质量有问题; (3) 晶振质量有问题; (4) 负载电容或匹配电容与晶振不匹配或者电容质量有问题; (5) PCB板受 ...…

查看全部问答>

CE下普通应用开发是选择C还是高级的.NET(Java)合适?

公司有一定数量的普通应用开发,涉及到Socket或其它网络通信,而不是开发驱动程序,这种情况下的常见方案是否选择C/C++?…

查看全部问答>

不同的嵌入式开发板的区别

举个例子来引出我的问题 MX27 处理器以MX21 为基础进行设计,基于ARM926EJ-S s3c2410的处理器是ARM920T 请问各位 首先,之间有什么区别,是不是:1、处理器型号?2、寄存器地址不同?等等 大家能不能帮我说个大概? 其次,编程的时候是不是每 ...…

查看全部问答>

急!请教

请问:如何在虚拟机下的linux访问windows资源啊? 谢谢…

查看全部问答>

初学者,定制OS遇见个小问题

(CoreCon) Failed to connect debug message service! Please check the transport settings.(CoreCon) Transport service failed to connect(CoreCon) Error: A service has failed to connect. Make sure that all services are correctly config ...…

查看全部问答>

【MSP430共享】 lcd12864基于msp430F149驱动程序

lcd12864基于msp430F149驱动程序  有需要的童鞋可以下过去看看 …

查看全部问答>

关于2011 年全国大学生电子设计竞赛复测事项的通知

本帖最后由 paulhyde 于 2014-9-15 03:48 编辑    …

查看全部问答>

关于MC52i的Internet通信

我在连接上internet之后,隔了大概2分钟,服务器发来的数据我的GPRS就收不到了数据了。而在这2分钟之内发数据是可以收到的。谁能帮我解答下这是什么原因啊? 还有就是,确认MC52i跟Internet还是连接的,没有断开,因为在这期间一直可以发送数据到 ...…

查看全部问答>