草庐IT

【Keil】CubeMX配置的FreeRTOS利用V6编译出错

一、问题复现当使用CubeMX生成带有FreeRTOS的工程时,由于Usedefaultcompilerversion5编译器编译时间过于漫长,我们选择使用编译速度更快的Usedefaultcompilerversion6,但是更改之后再次编译会出现很多错误。 在Target一栏的ARMCompiler:选择Usedefaultcompilerversion6; 并修改c/cpp编译方式。二、分析原因CubeMX生成的FreeRTOS的port.c、portmacro.h不支持GNU,内部有大量的内联汇编,需更换为GCC版本。三、解决办法如果直接在生成的工程里将 RVDS/ARM_CM4F内的

keil出现identifier “u8“ is undefine,不识别 u8

在keil打开这个文件,往下翻可以看到所以,把u8改为unit8_t即可

关于Keil MDK编译missing compiler version 5报错

因为新版本的Keil不预装V5编译器(ARMcompilerversion5),编译v5的项目时报以下这个错Buildstarted:Project:Project***Target'STM3210C_EVAL'usesARM-Compiler'DefaultCompilerVersion5'whichisnotavailable.***PleasereviewtheinstalledARMCompilerVersions:'ManageProjectItems-Folders/Extensions'tomanageARMCompilerVersions.'OptionsforTarget-T

使用 Keil uVision5 打开工程, 解决“Missing Device(s)”问题

 如果使用KeiluVision5打开工程,有两种方法解决“MissingDevice(s)”问题。第一种是方法先安装\Library\Firmware\GigaDevice.GD32F4xx_DFP.1.0.4.pack,在Project菜单中选择Manage子菜单,点击MigratetoVersion5Format...菜单,将KeiluVision4工程转为KeiluVision5工程,同时在OptionforTarget的C/C++中添加路径C:\Keil_v5\ARM\Pack\ARM\CMSIS\4.2.0\CMSIS\Include; 第二种方法是直接安装Addon,在Folde

最新keil5没有ARM CompilerV5或者安装编译器5.06后编译license报错

踩坑了一中午,终于是搞好了,现在0报错,0警告,看着非常舒服。事情原由:现在网上绝大多数的STM32教程都使用的是老版本的MDK,因此编译器用的是老版本的,导致工程的启动文件添加后就报错。但是肯定有追求完美的小伙伴就喜欢最新版,就偏不用老版本的MDK,就不卸载刚安装好的keil,巧了,我也是,因此踩坑如下。第一个坑:如果是MDK5.36版本(我写文章的时候最新的已经到5.38版本)之前,是带有AC5版本的编译器,可以直接在Target里面的ARMcompiler里面直接切换到AC5版本的编译器。然后重新编译,即可解决!如果是MDK5.37以及以后版本的,是默认不带AC5版本的编译器的(5.36

02_Keil5报错 error: #5: cannot open source input file “XXX.h”: No such file or directory解决方法

Keil5 error:#5:cannotopensourceinputfile“led.h”:Nosuchfileordirectory 是找不到包含文件解决办法1.包含文件可以解决。  解决办法2.如果包含了还是报#5找不到文件错误,错误原因就是文件目录太深导致识别不出来,解决办法就是把工程放浅一些。 

keil设置程序起始地址及生成bin文件的方法

一.keil设置程序起始地址1.1FLASHAPP的起始地址设置随便打开一个之前的实例工程,点击OptionsforTarget→Target选项卡默认的条件下,图中IROM1的起始地址(Start)一般为0X08000000,大小(Size)为0X80000,即从0X08000000开始的512K空间为我们的程序存储区。而图中,我们设置起始地址(Start)为0X08020000,即偏移量为0X20000(128K字节),因而,留给APP用的FLASH空间(Size)只有0X80000-0X20000=0X60000(384K字节)大小了。设置好Start和Szie,就完成APP程序的起始地

Keil 提示error C231: ‘INT0‘: redefinition的原因及其解决方法

文章目录1.编译现象2.分析原因3.解决方法1.编译现象2.分析原因redefinition中文意思是“重复定义”。纵览我所写的程序,只有此处首次出现INT0。既然说我是重复定义,说明被引用到文件里已经定义INT0。OK,我只包含reg51.h头文件,只有找它了。reg51.h头文件已经使用INT0了。3.解决方法将自己写的INT0改成其他名字。(不要改头文件里的INT0)

Keil出现Flash Timeout.Reset the Target and try it again.

解决方法建议:打开OptionsforTarget->Debug->Setting->Debug在下面的选项中找到Reset选项,修改为SYSRESETREQ 

Keil5添加.c文件与.h文件的方法-导入支持库-新大陆物联网竞赛-Lora模块&NBIOT模块例程-添加导入文件

一、概述    在某些情况下,我们使用现用的物联网开发例程,例如新大陆物联网的Lora与NBIOT的例程,我们对其例程内目前所有的库不满意,不足以实现开发需要的功能,我们需要在原有工程上添加我们自己的库,以满足开发需要。二、操作步骤    首先,打开文件夹选项,点击如下图所示的按钮。    随后先选择用户组,再点击AddFiles    随后我们选择想要添加的文件,点击Add按钮,随后关闭该窗口即可。(已经添加完成)    随后点击OK关闭文件夹选项。    此时c文件导入完成,需要继续导入.h文件,打开设置。     随后依次进入下面目录:        在这里我们添加自己的头文件所在目录即