Keil5 :各种报错笔记

从STM32CubeIDE转文件到STM32CubeMX,并使用keil5编译时的报错error: L6236E: No section matches selector - no section to be FIRST/LAST.

在STM32CubeMX打开STM32CubeIDE的项目文件

打开ioc后缀名的文件(这里注意用STM32CubeMX打开,如果电脑上有STM32CubeIDE,右键打开方式自行选择一下)

在这里插入图片描述
在Project Manager里将调试工具选择为MDK-ARM,并点击GENERATE CODE生成
在这里插入图片描述
这一步我会跳出这个提示(不知道别人有没有),选择ok并关闭STM32CubeMX
在这里插入图片描述
打开一开始进入的文件,发现里面多了个名叫MDK-ARM的文件夹,打开后发现只有一个keil5的urprojx文件,双击打开
在这里插入图片描述
在这里插入图片描述
这里面其实是已经从拷进来了大部分东西,点击编译让其生成一下
在这里插入图片描述
编译完成后再次打开文件夹发现多了很多东西,但是有一个报错(我这里是全部写在主函数了,所以只有一个,如果有在ide里面外部导入过文件,需要自行根据提示报错将其补充加入keil5,后面浅浅写了一点,可以先去看看)
在这里插入图片描述在这里插入图片描述

报错:error: L6236E: No section matches selector - no section to be FIRST/LAST.

如图所示:
在这里插入图片描述
原因是在当前的工程中没有添加启动文件,需要在工程中添加相关的启动文件,也就是st官方的xxxx.s文件

具体添加过程如下:
先关闭keil5的程序,重新打开STM32CubeMX,再次点一下GENERATE CODE生成项目(只要编译后再次从STM32CubeMX生成一下就行)
发现这次没有像第一次那样报错了,提示生成成功
在这里插入图片描述
这一次重新编译后,MDK-ARM文件夹里多了一个文件,

在这里插入图片描述
在keil5里打开这个盒子
在这里插入图片描述
将刚刚出现的xxxx.s文件添加进去
在这里插入图片描述
在这里插入图片描述
再次编译即可

STM32CubeIDE里导入的.c和.h文件

STM32CubeIDE主要的文件在这个文件夹里面
在这里插入图片描述
在这里插入图片描述
导文件就不说什么了,可以不导入到左边目录,懒的话就在这里面添加一下.c文件就行

在这里插入图片描述

error: #20: identifier “uint8_t” is undefined

编译时候对uint8_t uint16_t 等报错

解决办法:
在文件中直接引用头文件#include “stdint.h”

串口printf重定向接收不到数据

先附上串口重定向代码,头文件#include “stdio.h”

#ifdef __GNUC__
  #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
  #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif
PUTCHAR_PROTOTYPE
{
  HAL_UART_Transmit(&huart1,(uint8_t *)&ch,1,0xFFFF);
  return ch;
}

普通的HAL_UART_Transmit可以正常收发,但是重定向后不行
原因是没勾上MicroLIB库,勾上即可
在这里插入图片描述

STM32的SWD烧录模式No Target Connected

stlink接入电脑后,左边①处有显示,但是②处显示No Target Connected
在编译时显示No Target Connected
在这里插入图片描述
在这里插入图片描述

曾经的解决方法(成功过)

1.对stlink的5v插上外接电源,让其用外部供电,当时猜测可能是供电不足
2.按住板子复位键不放,直接点击下载,在下方状态栏变化的那一瞬间,松开复位键(有概率失败)
在这里插入图片描述
在这里插入图片描述
还是没有完全解决,感觉有点凭运气

看我能把这篇写多长emmm

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值