STM32开发过程中碰到的问题总结 - 1


前言

记录下在使用STM32L4系列芯片进行开发时,碰到的各种问题。

比较杂。

1. 怎么生成keil下可以使用的文件和gcc下编译使用的makefile

请添加图片描述
1.选中MDK-ARM生成Keil5下的工程文件
2.选中makefile生成该项目对应的make文件

2. STM32的时钟树

请添加图片描述
参考我另外一篇文章:STM32的时钟介绍

3.怎么查看keil5下的编译工具链用的是哪个

在这里插入图片描述
KEIL -> Project -> Manage -> Manage Project Items -> Folders/Extensions 目录下查找,我们用的应该是这个armCC

在这里插入图片描述
参考资料链接: Windows中使用GCC编译STM32CubeMx生成的Makefile文件

4. Arm编译工具链和GCC编译工具链有什么区别吗?

在这里插入图片描述
交叉编译工具链的命名规范是:

arch [-vendor] [-os] [-(gnu)eabi]

arch : 架构的意思,如ARM ,MIPS

vendor: 工具链的提供厂商

os: 支持的操作系统

eabi:嵌入式应用二进制接口(Embedded Application Binary Interface)

arm gcc还分为 是否支持操作系统

ABI是计算机上的,EABI是嵌入式平台上(如ARM,MIPS等)。
  • 支持操作系统: arm-none-linux-eabi-gcc

    主要用于基于ARM架构的Linux系统,可用于编译 ARM 架构的 u-boot、Linux内核、linux应用等。arm-none-linux-gnueabi基于GCC,使用Glibc库,经过 Codesourcery 公司优化过推出的编译器。

  • 不支持操作系统:arm-none-eabi-gcc
    用于编译 ARM 架构的裸机系统(包括 ARM Linux 的 boot、kernel,不适用编译 Linux 应用 Application),一般适合 ARM7、Cortex-M 和 Cortex-R 内核的芯片使用,所以不支持那些跟操作系统关系密切的函数。

参考资料
arm 交叉编译器各种gcc 傻傻分不清楚:gnueabi,gnueabhf,none-eaib
深入理解工具链-自己搭建STM32编程IDE
arm-gnu编译工具链下载地址

5. 怎么查看Linux虚拟机是x86的还是aarch64

uname -m查看

在这里插入图片描述

6. 怎么下载gcc-arm的编译工具链

在这里插入图片描述
下载地址:https://blog.csdn.net/ybhuangfugui/article/details/98136988

7.怎么修改keil5通过jlink进行下载

在这里插入图片描述
在这里插入图片描述
这里通过Jlink下载的时候移植提示出错,其实就是因为我没有下载到自己芯片锁对应的Pack包,导致flash下载的时候选不到正确的芯片。

https://www.keil.arm.com/packs/
到上面的地址去下载STM32的pack包

参考链接:
KEIL5安装STM32的芯片支持包
keil的flash down列表中找不到所需要的flash芯片
Flash Download failed - “Cortex-M3“解决方法

8. Keil下编译后的hex文件在哪里?

在这里插入图片描述

在MDK-ARM的那个目录下

9. STM32L451和STM32L431的区别

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
参考链接:

https://www.stmcu.com.cn/Product/pro_detail/STM32L4/product

10. STM32怎么样可以做到不使用Keil进行下载

在这里插入图片描述
在这里插入图片描述

参考链接:

STM32下载编程工具 | ST-LINK Utility介绍、下载、安装和使用教程
J-LINK J-FLASH 下载STM32单片机程序使用教程

  • 26
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值