工作以来一直使用ST的STM32系列芯片,ST为开发者提供了非常方便的开发。到目前为止,有标准外设(STD)、HAL、LL 三种。前两者都是常用的,后面的LL是ST最近才添加,目前支持的芯片也偏少。各如下所示:其中STD和HAL两者相互独立,互不兼容。几种的比较如下: 目前几种对不同芯片的支持情况如下: 上图中,LL目前有部分芯片不支持,
最近一直在搞STM32F4的一些小东西,因一些比较郁闷的原因,经常需要修改底层程序逻辑,某天忽然间想到为什么总是翻来覆去地这些底层的东西,难道没有一种比较方便的方法来做吗?于是想到了是否可以用脚本处理业务逻辑,通过驱动与应用分离的方式来处理程序,让上位机去折腾吧,想到就试。 因为有一些linux的基础,也有一些编译器的基础,网上搜索了一下,觉得用LUA脚本比较合理。 LUA特点不介绍了。 记录一
转载 2024-03-28 11:33:47
148阅读
stm32应用:lua在Keil上的移植和使用Lua的简介Lua的移植关于Lua的应用举例 Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。本文主要说明一下关于lua移植到STM32上的过程以及简单的举两个例子来说明lua的应用。 Lua的简介关于Lua的官方介绍,此处不在说明。有需要了解的看官可以
转载 2024-04-01 11:48:10
534阅读
前言: 现在开发stm32已经有很多人性化的ide了,像常用的keil,以及后面ST新推出的跨平台的STM32cubeide,都可以搭建自己的工程来开发。 但是本猿有时候就喜欢玩点另类的,比如这次我在ubuntu上搭建了stm32的开发环境,用vscode来开发,脚本编译甚至用来仿真(j-link),虽然整体功能上没有keil这些配套ide来的强大,但是有vscode的加持与开放的环境,整体用起来
目录环境参考链接脚本简介STM32F407ZETx_FLASH.ld文件分析控制输出文件中内存布局SECTIONS环境代码:STM32CUBEMX-linux版V6.5.0 + STM32Cube_FW_F4_V1.27.0 + Makefile方式目标SOC:STM32F407ZET6参考1、GUN Binutils2、《程序员的自我修养》链接脚本简介   &nbs
一、目的        相信很多小伙伴第一次使用STM32CubeIDE进行开发遇到GNU LD脚本时都是一脸懵逼,在Keil中我们会使用分散加载文件进行类似操作,那么GNU LD链接器使用的链接脚本是怎样呢?        本篇就根据CubeIDE中的ld脚本说明链接脚本文件的组成(更加详细的内容请参考下面的链接)。
程序的编译分为四个步骤:预处理、汇编、编译、链接。在开发STM32时,我们只要在IDE中点击编译就能一次性完成这4个步骤,实际上IDE也是要经过这些步骤的,只不过IDE为我们屏蔽了很多细节。首先我们需要了解一个image文件的构成。image即编译的产物,我们编译STM32生成的bin文件此处称之为image。一个image文件由RO段和RW段组成,RO段包含只读的代码段和常量,RW段包含可读可写
本篇文章主要围绕项目 STM32_RTOS_GUN 的链接脚本 STM32F417IG_FLASH.ld 进行分析,同时对编写链接脚本的方法进行相应的讲解,尽可能地做到通过阅读这篇文章后能够学会编写简单的链接脚本。什么是链接脚本我们在做 GCC 交叉编译时总会遇到一个 .ld 后缀的文件,这个就是我们常说的链接脚本。有朋友可能会疑惑这个脚本的到底有还是呢么用呢,我们在编写 GCC 命令时只需一句
#stm32重启调试笔记本文章主要解决在使用stm32+ucos进行嵌入式软件开发中遇到的系统重启现象查找与解决。1 、重启原因系统重启又多种可能:1、看门狗中断;2、内存泄漏;3、软件重启。 首先看一下stm32的手册关于系统重启的状态寄存器,其中详细的记录了几个系统重启的原因(低功耗复位标志、窗口看门狗复位标志、)寄存器详细信息:查看寄存器值a:通过debug查看,在代码进入main函数时加入
前言:在前一篇《STM32WL开发之LM401评估板开箱及PingPong测试》中经过测试,认为STM32WL的LoRa通信和易智联的LM401评估板都是OK的,接下来就开始开发环境的准备以及对易智联随评估板提供的Demo程序进行学习。LM401模组的软件开发环境       LM401模组采用的是STM32WLE5CB的芯片,因此其使用
STM32 HAL第三章 MDK5 软件入门bug解决关键文件介绍程序仿真User Keywords语法提示代码编辑/查看技巧第四章 STM32F1 基础知识入门MDK 下 C 语言基础复习STM32F103 时钟系统STM32F103 时钟树概述STM32F103 时钟系统配置STM32F1 时钟使能和配置端口复用和重映射STM32 NVIC 中断优先级管理第五章 SYSTEM 文件夹介绍d
转载 2024-05-29 12:38:58
146阅读
今天来说说 MicroPython 的架构情况,如果有必要我会做一些源码分析的文章供大家参考。先来认识一下 MicroPython 整体情况,可以从软件的角度上去看待,首先我们拿到 MicroPython 的主仓库。直接 git clone https://github.com/micropython/micropython ,在 Windows 下进行操作了解一下。之后需要交叉编译代码的时候,必
LVGL移植STM32LVGL简介LVGL(Light and Versatile Graphics Library)是一个免费、开源的嵌入式图形,可以创建丰富、美观的界面,具有许多可以自定义样式的控件,支持按键或触摸响应,支持中文字符,并且内存占用较低。可以在 https://lvgl.io/demos 使用网页端体验 LVGL 的动态效果,再决定是否需要使用 LVGL 。LVGL 使用
之前没做过ui,只用过lcd画几条线写点字,如果按键、菜单什么的全用线画也太麻烦了,所以需要一个ui。听说lvgl用的人很多,就打算裸机移植一下用用。本文移植的lvgl版本是lvgl6.2,也移植过8.2,但是flash占用陡增占了快300k,我用到了外置flash,涉及到bootloader+app,有机会下篇文章细说。使用的单片机是stm32h750vbt6,内置的flash极小只有128k
在嵌入式设备中,常涉及到低功耗下的串口通信,本文以STM32L4作为硬件平台,讲解3种低功耗下的串口通信,希望对做低功耗的嵌入式开发者有所启发或帮助。笔者才疏学浅,难免有错误或遗漏之处,望读者能不吝指正。下文所涉及的低功耗模式都是指STM32的停机模式,在该模式下PLL停止工作,仅LSI和HSI继续运行(进休眠前已经打开的话),所有IO状态、内部RAM数据保持不变,所有外部IO中断、内部RTC定时
一:准备材料: mavlink源码 stm32串口程序   1.mavlink源码:       a.进入mavlink官网(http://qgroundcontrol.org/mavlink/start)                 
转载 8月前
163阅读
目录一、STM32CubeMX配置(本文使用的STM32CubeMX版本为5.6.0)1.MCU选型2.使能时钟3.时钟配置4.设置GPIO口(本例使用的为串口1,板载自带USB转串口芯片)5.串口配置①模式配置②串口参数配置③开启串口中断④串口引脚配置6.配置STM32CubeMX生成工程文件7.点击GENERATE CODE生成工程文件二、KEIL程序1.串口相关函数说明:2.程序编写一、ST
目录1、.s启动文件2、map文件3、分散加载.sct文件4、程序在RAM中运行1、.s启动文件  ST提供的3个启动文件,分别适用于不同容量的STM32芯片。     这三个文件为:          startup_stm32f10x_ld.s         st
STM32如何使用arduino_ide进行开发很多朋友问到,我不懂硬件,不懂寄存器操作,C语言也不是很会用,能写STM32单片机代码吗?其实还是有小路子的,用Arduino_IDE上位机软件,借助Arduino的,使用C++/C语言编写STM32单片机代码。 这里以正点原子MINI板为例子,使用Arduino_IDE完成点灯和串口打印。第一步,先把Arduino_IDE软件安装好。Arduin
STM32低功耗+lora调试1. 使用符合《输变电设备物联网传感器数据规范》的lora协议规定汇聚节点有两个信道(控制信道+业务信道)控制信道默认为1,业务信道根据自己的实际情况可以进行设置,汇聚节点上电后首先将izji的业务信道进行设置,设置相关参数后需要使用命令进行lora的重启。当GD20(传感器节点)申请组网时候汇聚会收到相关的通知命令。2. 使用stm32单片机作为主控使用stm32
  • 1
  • 2
  • 3
  • 4
  • 5