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

文章目录

  • 前言
  • 1. 怎么生成keil下可以使用的文件和gcc下编译使用的makefile
  • 2. STM32的时钟树
  • 3.怎么查看keil5下的编译工具链用的是哪个
  • 4. Arm编译工具链和GCC编译工具链有什么区别吗?
  • 5. 怎么查看Linux虚拟机是x86的还是aarch64
  • 6. 怎么下载gcc-arm的编译工具链
  • 7.怎么修改keil5通过jlink进行下载
  • 8. Keil下编译后的hex文件在哪里?
  • 9. STM32L451和STM32L431的区别
  • 10. STM32怎么样可以做到不使用Keil进行下载


前言

记录下在使用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 ,MIPSvendor: 工具链的提供厂商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单片机程序使用教程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/26894.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PlugLink:让数据分析与工作流无缝连接(附源码)

PlugLink:让数据分析与工作流无缝连接 引言 数据分析和自动化工作流已成为各个企业和个人提高效率的关键手段。今天,我要介绍一款名为PlugLink的工具,它不仅能帮助你轻松进行数据分析,还能将这些分析结果无缝连接到你的工作流中&…

基于 Python 解析 XML 文件并将数据存储到 MongoDB 数据库

1. 问题背景 在软件开发中,我们经常需要处理各种格式的数据。XML 是一种常用的数据交换格式,它可以存储和传输结构化数据。很多网站会提供 XML 格式的数据接口,以便其他系统可以方便地获取数据。 我们有这样一个需求:我们需要从…

Vue30-自定义指令:对象式

一、需求:创建fbind指定 要用js代码实现自动获取焦点的功能! 二、实现 2-1、步骤一:绑定元素 2-2、步骤二:input元素获取焦点 此时,页面初始化的时候,input元素并没有获取焦点,点击按钮&…

NestJS学习笔记

一、安装NestJS CLI工具 环境检查 //查看node版本 node -v//查看npm版本 npm -v 安装nest/cli 使用npm全局安装nestjs/cli npm i -g nestjs/cli 查看nest版本 nest -v 结果如图: 创建nest项目 //命令行创建nest项目 nest new 【项目名】 VScode扩展下载 1、…

远程登录新建会话

在做远程登录会话建立的时候有时候会忘记顺便就记录了,方便后期回顾

没有登录微信就不会截图了?这个方法你一定要学会

前言 前段时间小白在指导小伙伴的时候,发现他在电脑没有登录微信的时候就不会截图了。 这个可就难倒他了…… 所以他登录了个微信,然后截了张图,接着把微信退出了。这人可真是谨慎啊~ 所以,小伙伴在使用电脑的时候…

JWT工具【工具类】

一、JWT JSON Web Token (JWT)是一个开放标准(RFC 7519),定义了一种紧凑且自包含的方式,以JSON对象的形式在各方之间安全地传输信息。这种信息可以被验证和信任,因为它是数字签名的。具体来说,JWT是一种用…

科技赋能,避震婴儿车或成为行业硬通货

全球知识经济发展发展到今天,消费者对于品质、服务、体验的要求越来越高,与之对应的产品也就越来越科技化、智能化、个性化,品牌化和差异化逐步成为产品的竞争核心。 婴儿推车作为关系婴幼儿出行安全的支柱性产业之一,从车架结构…

2.负载压力测试

负载压力测试是一种重要的系统测试方法,旨在评估系统在正常和峰值负载情况下的性能表现。 一、基本概念: 负载压力测试是在一定约束条件下,通过模拟实际用户访问系统的行为,来测试系统所能承受的并发用户数、运行时间、数据量等&…

编程前端看什么书比较好:深入解析与推荐

编程前端看什么书比较好:深入解析与推荐 在编程前端的学习道路上,书籍无疑是我们最宝贵的财富。一本好的书籍,不仅可以提供系统的知识体系,还能引导我们深入探索技术的奥秘。然而,面对市面上琳琅满目的前端书籍&#…

graalvm编译springboot3 native应用

云原生时代容器先行,为了更好的拥抱云原生,spring boot3之后,推出了graalvm编译boot项目,利用jvm的AOT( Ahead Of Time )运行前编译技术,可以将javay源码直接构建成机器码二进制的文件&#xff…

React-Native Modal组件中无法按返回键隐藏

问题: 在用Modal组件时,无法通过使用android的物理返回键进行退出,也无法通过BackHandler注册事件监听 找到一段相关的issue:Android Modal doesn’t handle the back button 解决: 查看文档,发现直接调…

算法训练营第五十八天 | LeetCode 392 判断子序列、卡码网模拟美团笔试第一、二、三题(300/500有待提高)

卡码网图论更新了可以去看看,模拟笔试第四题就是深搜/广搜还不太会 LeetCode 392 判断子序列 其实就是最长公共子序列翻版 代码如下: class Solution {public boolean isSubsequence(String s, String t) {int[][] dp new int[s.length() 1][t.lengt…

后端主流框架--Spring02

前言:上篇关于Spring的文章介绍了一些Spring的基本知识&#xff0c;此篇文章主要分享一下如何配置Spring环境&#xff0c;如何注入等。 Spring项目构建 导入Spring相关JAR包 <dependency><groupId>org.springframework</groupId><artifactId>spring…

泰坦尼克号数据集机器学习实战教程

泰坦尼克号数据集是一个公开可获取的数据集&#xff0c;源自1912年沉没的RMS泰坦尼克号事件。这个数据集被广泛用于教育和研究&#xff0c;特别是作为机器学习和数据分析的经典案例。数据集记录了船上乘客的一些信息&#xff0c;以及他们是否在灾难中幸存下来。以下是数据集中主…

嵌入式实训day3

1、 planet_list["水星","金星","火星","木星"] print(planet_list)planet_list.insert(2,"地球") print(planet_list)planet_list.append("土星") planet_list.append("天王星") planet_list.append(&…

MultiTrust:首个综合统一的多模态信任度基准(上)

随着我们迈向人工通用智能&#xff08;AGI&#xff09;的时代&#xff0c;出现了开创性的大语言模型&#xff08;LLMs&#xff09;。凭借它们强大的语言理解和推理能力&#xff0c;已经无缝地将其他模态&#xff08;例如视觉&#xff09;整合到LLMs中&#xff0c;以理解不同的输…

SSRF学习,刷题

[HNCTF 2022 WEEK2]ez_ssrf 给了一个Apache2的界面&#xff0c;翻译一下 就是一个默认的界面,目录扫描 可以看到flag.php,肯定是不能直接访问得到的&#xff0c;还有index.php&#xff0c;访问这个 可以看到三个参数data,host,port 还有fsockopen() 函数是 PHP 中用于打开一个…

排名前五的 Android 数据恢复软件

正在寻找数据恢复软件来从 Android 设备恢复数据&#xff1f;本指南将为您提供 5 款最佳 Android 数据恢复软件。浏览这些软件&#xff0c;然后选择您喜欢的一款来恢复 Android 数据。 ndroid 设备上的数据丢失可能是一种令人沮丧的经历&#xff0c;无论是由于意外删除、系统崩…

OpenSSL新手教程:加密与安全通信基础

OpenSSL新手教程&#xff1a;加密与安全通信基础 1. 什么是OpenSSL&#xff1f;2. 安装OpenSSL在Linux上安装在Windows上安装 3. OpenSSL基本命令速览生成RSA密钥对生成自签名证书加密与解密文件文件散列计算&#xff08;哈希&#xff09; 4. SSL/TLS握手与HTTPS5. 总结 欢迎来…