目录一、关于单片机堆栈的基础知识1、STM32程序数据分类2、STM32内存(RAM)分配3、经典例子分析:4、STM32堆栈位置5、STM32栈增长方式三、如何设置STM32的堆栈大小1、MDK编译环境下2、IAR 编译环境下四、STM32单片机程序内存占用大小分析1、MDK编译环境下2、IAR编译环境下一、关于单片机堆栈的基础知识1、STM32程序数据分类Code:程序代码RO-data:co
在开源电子中看到一篇文章讲的是栈增长和大端/小端问题。学C语言的时候,我们知道堆栈的区别: 1)栈区(stack):由编译器自动分配和释放,存放函数的参数值、局部变量的值等,其操作方式类似于数据结构中的栈。(2)堆区(heap):一般由程序员分配和释放,若程序员不释放,程序结束时可能由操作系统回收。分配方式类似于数据结构中的链表。(3)全局区(静态区)(static):全局变量和静态变量的存储是放
STM32移植FreeRTOS:主要是正点原子的delay、Sys文件、串口移植,使其支持FreeRTOS 硬件基于STM32F103ZET6 不过其他系列如F407、F429等也通用 工程模板在最后最主要的目的是使得delay_ms()能够替换FreeRTOS的vTaskDelay()以便兼容我们自己的代码(因为大量用到delay函数,不可能全部替换成vTaskDelay()下载FreeRTOS
STM32CubeMX 真的不要太好用由于工作内容的变动,我已经很久没有正经的玩过单片机了,近期又要用它做个小玩意了,还是选 stm32 吧,外设库开发不要太方便,哈哈哈先去 stm32 社区逛了逛,发现了一个新字眼 STM32CubeMX,简单看了下,大概明白是个 ST 公司新推出的一个配置工具,直接由图形界面简单配置下,生成初始化代码,并对外设做了进一步的抽象,让开发人员更只专注应用的开发,挺
转载 2024-06-19 19:44:29
461阅读
2.STM32CubeMX使用教程参考:http://www.mculover666.cn/posts/578764034/下载芯片对应的HAL库在官网上好难找,发现有一个办法。1.打开STM32CubeMX,菜单Help 里面”Manage embedded software packages“2.选择对应芯片包,点击 安装3.查看安装的包存取的位置。点击安装好的包,卸载,跳出对话框可以看出包的
转载 2021-08-06 16:27:00
485阅读
注:本文档仅针对GD32E103/F303系列替代STM32F103系列明:GD32E103/GD32F10x/GD32F30x都是和STM32F10x系列是完全PIN TO PIN兼容的,因此GD32F30x系列不是完全和STM32F30X系列兼容的。GD32F103是GD早期的产品,GD32E103和GD32F303是对GD32F103的升级和优化,所以4者是兼容的,虽然内核不同,但是通用外设
 相当部分的 STM32芯片都带USB模块,有时我们会考虑利用STM32芯片的USB模块进行程序代码的下载或升级。USB协议中有专门针对设备固件升级的类协议,即可以通过DFU类协议进行产品固件的加载或更新。      关于STM32产品的DFU程序下载和升级,ST官方有相关的资料文档。可以去www.stmcu.com.cn 或者去ww
之前裸机emWin成功了,接下来尝试CubeMx FreeRTOS emWin,又遇到三个坑。先说第一个坑:我直接再之前裸机的工程上增加FreeRTOS,结果生成程序后,编译报一大堆错误,分析了一下错误实在是无从下手,因此怀疑CubeMx有问题,因此我就将Keil工程文件夹全部删除,再重新生成。再次编译情况好转,但是还是不少错误。这是第二个坑!第二个坑:CubeMx配置FreeRTOS选项中有2个
目录一、创建项目1.新建工程2.添加main.c和Func.s3.编写代码二、C语言调用汇编1.无参数调用2.有参数调用三、汇编语言调用C函数四、参考文献 一、创建项目1.新建工程新建一个工程,步骤可以参考Keil环境下完成一个基于STM32汇编程序的编写,芯片选择STM32F103VE 新建工程完成如下:2.添加main.c和Func.s右击 Source Group 1 ,点击 Add Ne
GUI Guider设计UI界面移植到STM32一、什么是GUI Guider什么是 GUI-Guider? GUI Guider 是恩智浦为 LVGL 开发了一个上位机GUI 设计工具,可以通过拖放控件的方式设计 LVGL GUI 页面,加速 GUI 的设计。 设计完成的 GUI 页面可以在 PC 上仿真运行,预览自己设计的UI界面。确认设计完毕之后可以生成 C 代码,再整合到 MCU 项目中。
转载 6月前
144阅读
网络小说千千万,多数书虫看小说,都会找排行榜上面的热门小说来阅读。但是,很多老书虫也感觉排行榜上的热门小说不符合自己的胃口,反而一些冷门小说更有吸引力。因此,老书虫的口碑也成为一些朋友挑选小说的重要渠道。我是真游泳的猫,一个看小说20年的老书虫。很多朋友都喜欢从我的文章找小说看,感谢大家的喜爱和信赖。今天我给大家强推强推3本冷门网络小说,水平优秀却不火,真让粉丝鸣不平。书荒的朋友不妨试试这些小说呢
转载 2024-09-03 11:19:38
83阅读
1.输入捕获模式可以用来测量脉冲宽度或者测量频率。STM32的定时器,除了TIM6和TIM7,其他定时器都有输入捕获功能。STM32的输入捕获,简单的说就是通过检测TIMx_CHx上的边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候,将当前定时器的值(TIMx_CNT)存放到对应的通道的捕获/比较寄存(TIMx_CCRx)里面,完成一次捕获。同时还可以配置捕获时是否触发中断/DMA 等.2
Ⅰ、写在前面相信很多人都知道STM32CubeMX这个工具,也是近年来开发STM32比较流行的一个工具。这个工具从两年前第一版到现在已经有多个版本了,功能也从简单越来越强大了。  是一个配置STM32代码的工具,它把很多东西封装的比较好,硬件抽象层、中间层、示例代码等。  现在ST公司升级和维护的库主要就是STM32CubeMX的HAL库和标准外设库,使用这两种库开发STM3
目录前言示例CubeMonitor基础设置导出为csv文件Matlab画图参考文献 前言STM开发小白一枚,最近调试程序需要在程序运行中实时监控变量的值,并且需要把他导出。找资料时发现中文教程比较少,于是便记录一下具体过程。步骤其实都是参考官方手册的,英文好的可以直接去看(详见最后链接),说的很详细。示例示例中需要监控的变量为电机的实际速度以及目标指令速度。CubeMonitor基础设置安装之后
目录CubeMX设置CubeMX界面认识Project(工程管理)Code Generator(代码生成)MDK-ARM软件安装ST-LINK设置CubeMX设置1、在官网下载安装包安装2、一开始没有对应芯片的固件包,先下载安装。点击"Help—Manage embedded software packages",找到对应的芯片型号等待下载完成;如果在线安装太慢,可以先下载固件包到电脑,然后导入固
 本例程采用的芯片是STM32F103RET6,其中CAN通信部分硬件电路连接如下图所示,CAN_P和CAN_N分别连接到芯片的PA11和PA12引脚上,PCB布线时,尽量走差分等长线。 STM32CubeMX配置如下: 时钟及下载方式根据个人的实际情况进行选择。CAN参数配置如下:模式选择回环模式,并打开RX0中断(接收中断)。时钟配置如下: 主要配置就这
一、联网应用的发展趋势随着互联网技术的普及和物联网应用的兴起,各种设备和系统开始向互联网靠拢,实现互联互通。在这样的背景下,嵌入式系统的联网需求变得愈发迫切。传统的嵌入式系统往往只需实现单机功能,与外界通信的方式也大多是基于串口通信或者局域网通信,而现在越来越多的嵌入式系统需要实现与互联网的通信,实现远程监控、数据采集、远程升级等功能。因此,对于嵌入式开发者来说,如何在STM32等常见的嵌入式开发
STM32CubeMX 窗口及工具介绍1 前言1.1 STM32CubeMX1.2 准备工作2 STM32CubeMX 窗口介绍3 STM32PackCreator 工具介绍4 结束附录 相关教程 1 前言1.1 STM32CubeMX 图1 STM32CubeMX(点击图片进入 ST 官网 STM32CubeMX 介绍页面) 1.2 准备工作    系统版本: Windows 10 专
工欲善其事必先利其器,作为stm32开发程序员来说,一般情况都会使用keil或者IAR来进行编辑编译调试单片机设备,这两款IDE界面及代码智能补全不是很友好。作为宇宙最强IDE,visual studio可以通过安装visual gdb来调试嵌入式设备,可以通过安装蕃茄助手来实现代码智能提示。st公司也推出了官方的IDE:stm32cubemxIDE。集成了TrueSTUDIO
注意:MDK系列安装步骤差别不大,方法相通,本文以MDK5.27安装为例。MDK527软件下载a. 云盘下载:链接: https://pan.baidu.com/s/1Fb5tJzc7FzeXt_w6um38_w 提取码: s1b5b. 官网下载(建议下载最新版本):http://www2.keil.com/mdk5 MDK527安装教程双击打开MDK527,点击Next &
  • 1
  • 2
  • 3
  • 4
  • 5