STM32是指令和数据共用相同的地址空间,即程序存储器、数据存储器、寄存器和I/O端口在一个4GB的线性地址空间内。数据字节以小端格式存放在存储器中,一个字的最低地址字节被认为是该字的最低有效字节,而最高地址字节是最高有效字节。一、STM32存储器架构      4G的地址空间即地址编码的范围,编码就是对每一个程序存储、数据存
转载 2023-07-16 19:56:19
766阅读
动态内存管理根据需要分配內存和回收内存通常在一块较大且连续的内存空间上进行分配和回收动态内存管理解决的问题内存资源稀缺,通过内存复用增加任务的并发性动态内存管理的本质时间换空间,通过动态分配和回收“扩大”物理内存动态内存管理的关键时间效率从发出内存申请到得内存的时间越短越好空间效率为了管理内存而占用的内存越少越好碎片化最大可分配内存占空闲内存总和的比例越大越好动态内存管理的分类定长内存管理将内存分为大小相同的单元,每次申请一个单元的内存变长内存管理每次申请
原创 2021-11-13 14:37:26
802阅读
动态内存管理根据需要分配內存和回收内存 通常在一块较大且连续的内存空间上进行分配和回收动态内存管理解决的问题 内存资源稀缺,通过内存复用增加任务的并发性动态内存管理的本质 时间换空间,通过动态分配和回收“扩大”物理内存 动态内存管理的关键时间效率 从发出内存申请到得内存的时间越短越好空间效率 为了管理内存而占用的内存越少越好碎片化 最大可分配内存占空闲内存总和的比例越大越好 动态内存管理的分类定
原创 2022-01-11 13:51:01
336阅读
背景这里针对STM32F407芯片+1M外部内存内存管理!(全篇是个人愚见,如果错误,请不吝指出!)定义首先,定义3个内存池,分别是内部SRAM,外表SRAM和CCM;通过指定内存中的绝对地址,后面就可以直接通过数组操纵内存数据了。这里的mem1的大小是112KB,这里用100KB,其余12KB 用作内存管理表;mem2的大小为1M,这里用960K,剩余用作内存管理表;mem3的大小为64KB
战舰STM32F103ZET6开发板ZET6芯片 该芯片内部自带了64k字节的SRAM,以及512K的内部FLASHIROM1=0x80000=512K 和IRAM1=0X10000=64k的大小同时开发板外置了1M字节外部SRAM芯片(IS62WV51216)1M字节(即512K*16位)其中512K是由19根地址线决定,219=512K; 16位是由16根数据线决定的64k字节内部S
一、MDK下的概念 1)Code:代码段,存放程序的代码部分。 2)RO-data:只读数据段,存放定义的常量。 3)RW-data:读写数据段,存放初始化为非0值的全局变量和静态变量。 4)ZI-data:零数据段,存放未初始化及初始化为0的全局变量和静态变量。所以在stm32中:flash的容量是前三项相加(RW-data的初始值也要存在flash里),RAM的容量是后两项相加等。static
# STM32内存虚拟化的科普介绍 随着嵌入式系统的不断发展,内存管理和虚拟化技术在微控制器中的应用变得愈加重要。STM32作为一种广泛使用的微控制器系列,其内存虚拟化技术的实现可以增强系统的安全性、灵活性和可维护性。本文将带你了解STM32内存虚拟化的基本概念和实现方法,并通过代码示例加以说明。 ## 什么是内存虚拟化? 内存虚拟化是将物理内存空间与逻辑内存空间分开的技术,它允许操作系统和
原创 2024-08-06 08:23:11
157阅读
1.内存管理介绍内存管理,是指软件运行时对计算机内存资源的分配和使用的技术。其最主要的目的是如何高效,快速的分配,并且在适当的时候释放和回收内存资源。 内存管理的实现方法有很多种,他们其实最终都是要实现 2 个函数: malloc 和 free; malloc 函数用于内存申请, free 函数用于内存释放。             &n
转载 2023-09-07 19:59:32
166阅读
GPIOx_CRL(x=A~E) 地址偏移:端口配置的初始地址加上偏移地址就是该特殊寄存器的地址 GPIO通用输入输出8种工作模式 1.浮空输入模式: (1)当GPIOx_CRL或GPIOx_CRH寄存器的CNF[1:0]位设置为01,并且MODE[1:0]位设置为00时 (2)STM32复位之后默 ...
转载 2021-04-08 13:51:00
891阅读
2评论
总线矩阵  上图为stm32f4的总线矩阵,其中主控总线有8条,被控总线有7条,主设备和从设备通过各自的总线两两相交连接,图中两条总线相交且为圆圈的地方,表示这两条总线对应的主设备可以访问从设备,如I总线(指令总线),只有跟 M0、M2和M6这三根被控总线交叉的时候才有圆圈,就表示I总线只能跟这三根被控总线通信,这样就可以知道stm32f4的启动有三种分别是FLASH、内部SRAM、外部存储FSM
本文讲述的是如何从零开始,使用keil建立一个简单的STM32的工程,并闪烁LED灯,给小白看。第零步,当然首先你得有一个STM32的板子,其IO口上接了一个LED。。。第一步,建立一个文件夹0.0第二步,打开keil,建立工程在弹出来的对话框中选择你所用的STM32的芯片。在接下来弹出来的对话框中选择是,这样keil就帮我们建立好了启动文件。 第三步,新建一个main.c文件,并添加到
转载 2023-06-19 15:27:24
969阅读
stm32在freertos系统下使用串口DMA接收方式对接freemodbus-rtu协议栈 文章目录stm32在freertos系统下使用串口DMA接收方式对接freemodbus-rtu协议栈前言码农工程师,人狠话不多,大家多看图和代码!!!一、准备工作cubemx配置dma初始化的一个注意点二、拆解freemodbus1.porttimer.c文件不再使用(不使用定时器判断接收完成),接口
转载 2024-03-17 00:43:12
1171阅读
1点赞
1评论
一、SysTick基础简介:SysTick系统定时器是 CM3 内核中的一个外设,内嵌在 NVIC 中。系统定时器是一个 24bit 的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般我们设置系统时钟 SYSCLK等于 72M。当重装载数值寄存器的值递减到 0 的时候,系统定时器就产生一次中断,以此循环往复。因为 SysTick 是属于 CM3 内核的外设,所以所有基于 CM3
转载 2024-05-16 14:20:13
528阅读
STM32:嵌入式开发的强大选择在嵌入式系统开发领域,STMicroelectronics推出的STM32系列微控制器凭借其出色的性能和丰富的功能,已成为工程师们的首选之一。作为基于ARM Cortex-M内核的32位微控制器,STM32系列提供了从入门级到高性能的完整产品线,满足各种应用场景的需求。强大的硬件特性STM32系列最显著的特点是它的多样性。从低功耗的STM32L系列到高性能的STM3
背景在使用PyTorch深度学习框架的时候,不管是训练还是测试,代码中引入PyTorch的第一句总是: import torch 在Gemfield前述专栏文章里,我们已经得知,torch/csrc/stub.cpp链接libshm.so、libtorch_python.so、libcaffe2_gpu.so生成了_C.cpython-37m-x86_64-linux-gnu.s
在嵌入式设备中,常涉及到低功耗下的串口通信,本文以STM32L4作为硬件平台,讲解3种低功耗下的串口通信,希望对做低功耗的嵌入式开发者有所启发或帮助。笔者才疏学浅,难免有错误或遗漏之处,望读者能不吝指正。下文所涉及的低功耗模式都是指STM32的停机模式,在该模式下PLL停止工作,仅LSI和HSI继续运行(进休眠前已经打开的话),所有IO状态、内部RAM数据保持不变,所有外部IO中断、内部RTC定时
模拟IICIIC协议GPIO配置根据时序图完成代码起始与停止信号等待应答读写字节检查设备是否连接 IIC协议I2C 通讯协议(Inter-Integrated Circuit)是由Phiilps公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要USART、 CAN等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。它是一个支持多设备的总线。“总线”指多个设备共
转载 2024-03-20 14:56:28
178阅读
韦东山 数码相框 项目学习(三)freetype的移植要把freetype移植到STM32MP157上,我们主要完成四步源码下载解压配置、编译对应文件复制到对应目录一、源码下载解压源码的下载可以进入去https://freetype.org/这个网址进行下载,本次移植我们使用的是2.4.10版本,然后将下载下来的压缩包上传到服务器。然后执行tar -jxvf freetype-2.4.10.tar
简介IAP(In Application Programming)即在应用编程, IAP 是用户自己的程序在运行过程中对User Flash 的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。通常实现 IAP 功能时,即用户程序运行中作自身的更新操作,需要在设计固件程序时编写两个项目代码,第一个项目程序不执行正常的功能操作,而只是通过某种通信方式(
转载 2024-05-03 13:40:25
176阅读
基础元器件控制本篇博文将使用LED灯、蜂鸣器、开关元器件,学习如何使用HAL库进行GPIO的输入输出设置。博主采用如下开发板进行学习STM32的编程:LED灯LED(Light Emitting Diode),发光二极管,是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光。LED可以直接发出红、黄、蓝、绿、青、橙、紫、白色的光。1.查看引脚首先,查看原理图,找到LED灯的引脚。
转载 2024-03-15 10:34:43
432阅读
  • 1
  • 2
  • 3
  • 4
  • 5