stm32工程加快编译速度

STM32工程加快编译速度

原来一直没有去了解stm32工程的编译版本,业余时工程虽然编译的时间比较长,好在没有开发的时间限制,因此也就咬咬牙忍下来了,最近工程的工期比较紧,工程里面lwip,usb一大堆模块全部编译要将近四分钟,这哪行,网上搜论坛发现可以加快文件的编译速度,一不做二不休,赶紧搞起来

keil工程虽然已经升级过了,但是compiler默认使用的还是v5版本,工程文件少倒也还可以应付,但是工程文件一多,工程文件5s编译一个就会显得特别的慢,最起码也要2到3分钟起步。如下是编译器的修改流程。
option的C/C++一栏
本来以为就大功告成了,结果给我报了一大堆错。
在这里插入图片描述
…/Middlewares/Third_Party/LwIP/system\arch/cc.h(48): error: ‘sys/time.h’ file not found
不过不要慌,下面是解决方法。
在cc.h文件下面的

//cc.h
#if defined (__GNUC__) & !defined (__CC_ARM)

替换成

#if defined (__GNUC__) && !defined (__CC_ARM) && !(defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050))

此时再次编译
在这里插入图片描述
有下列三个错误:
DEMO_TEST\DEMO_TEST.axf: Error: L6218E: Undefined symbol sio_open (referred from slipif.o).
DEMO_TEST\DEMO_TEST.axf: Error: L6218E: Undefined symbol sio_send (referred from slipif.o).
DEMO_TEST\DEMO_TEST.axf: Error: L6218E: Undefined symbol sio_tryread (referred from slipif.o).

出现下列错误的主要原因是sio_send(),sio_open()和sio_tyread()三个api函数没有申明。
因此我们需要对sio.h的定义进行修改。

在这里插入图片描述
如图,将文中的#if define(__CC_ARM)修改成如上形式。

#if defined (__GNUC__) && !defined (__CC_ARM) && !(defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050))

在这里插入图片描述

编译速度就非常快啦,在做项目中能够节省大量的编程时间。

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
STM32F103RBT6是一款高性能的32位微控制器,具有丰富的外设和高度灵活的可编程性,可实现多种应用。工程文件则是在STM32F103RBT6开发过程中产生的各种源代码、库文件、软件配置等文件的整合和管理。 STM32F103RBT6的工程文件主要包括项目文件(Project File)、源文件(Source File)、库文件(Library File)以及调试文件(Debug File)等内容。其中,项目文件是整个工程的核心文件,包含了编译器的配置信息、程序代码文件的存放路径、编译选项等重要信息。源文件是用户自己编写的程序代码文件,包括主程序、各个函数模块以及宏定义等。库文件则是STM32F103RBT6开发板提供的各种可重用代码模块,封装了各种复杂的部件功能,以方便用户加快开发速度。调试文件则是在调试时产生的信息文件,可以用于定位程序中出现的问题。 在使用STM32F103RBT6进行开发时,工程文件的正确使用和管理对于效率和代码质量都具有重要的影响。在项目创建和编写源代码时,应根据具体要求适时选择适当的库文件,以减少重复开发和提高代码复用性。同时,应注意在编译和调试过程中产生的各种文件,如中间文件、生成的可执行文件等,及时进行清理,以免占据过多磁盘空间。 总之,STM32F103RBT6工程文件是开发过程中必不可少的部分,正确的管理和使用可以加快开发速度、提高代码质量,对于实现高效、可靠的应用具有重要意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值