STM32F103RCT6项目RAM&ROM占用分析查阅DataSheet可知STM32F103RCT6属于大容量产品,内含256KB的Flash,48KB的SRAM之前关于RAM&ROM的空间利用根本没有考虑,但在移植FreeRTOS和jasson库之后,在任务中调用Json_loads()时,包括用malloc申请空间时偶尔会出现Hardware fault。如此看来,合理的空
转载
2023-10-24 09:31:59
0阅读
一、STM32 启动过程 通过Boot引脚设定,寻找初始地址 初始化栈指针 __initial_sp 指向复位程序 Reset_Hander 设置异常中断 HardFault_Handler 设置系统时钟 SystemInit 调用C库函数 _main二、介绍GPIO GPIO 8种工作模式(gpio_init.GPIO_Mode): (1) GPIO_Mode_AIN 模拟输入 (2) GPIO
转载
2023-10-23 09:33:21
283阅读
1.什么是ARMARM是一家芯片设计企业,也是对一大类微处理器的统称。2.什么是STM32ST:意法半导体(一个公司名),是一个SOC企业 M——Microelectronics的缩写即微控制器,M0、M3、M4 32——32位,表示是一个32位微控制器STM32的芯片结构图3.STM32F10x最常见的系列STM32F101 基本型系列,主频为36MHz STM32F102USB 基本型系列,主
转载
2023-08-10 15:42:14
565阅读
STM32F103RCT6是一款由STMicroelectronics公司生产的基于ARM Cortex-M3内核的32位微控制器。它具有高性能、低功耗和广泛的应用领域。包括ADC(模数转换器)DAC(数字模拟转换器)TIM(定时器)USART(串行通信接口)SPI(串行外设接口)I2C(串行总线接口)支持多种通信协议如CAN、USB和EthernetSTM32F103RCT6芯片集成了
转载
2023-08-10 15:42:01
117阅读
一、STM32系统结构图STM32主系统主要由四个驱动单元和四个被动单元构成。四个驱动单元是:(图中②③④)①内核DCode总线 ②系统总线 ③通用DMA1 ④通用DMA2四个被动单元是:(图中⑥⑦⑧⑨)①AHB到APB的桥:连接所有的APB设备 ②内部flash闪存
转载
2023-07-19 19:03:15
1097阅读
1、STM32的中断 STM32的中断管理是属于内核部分的,所以中断管理的寄存器也是属于内核组,不属于芯片外设,在查看相关资料的时候,需要查看相对应的内核手册。 STM32F103ZET6是Cortex-M3内核的IC。Cortex-M3内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且具有256级的可编程中断设置。但是STM32并没有完全使用Cortex-M3内核的全部中
一、系统架构 主系统由 32 位多层 AHB 总线矩阵构成,可实现以下部分的互连:有关AHB总线和APB总线的更多信息请参考博文:浅析AMBA规范以及AMBA 5 AHB接口和AMBA 3 APB接口1、六条主控总线: ● Cortex™-M4F 内核 I 总线、D 总线和 S 总线; ● DMA1 存储器总线; ● DMA2 存储器总线; ● DMA2 外设总线。2、五条被控总线: ● 内部 F
转载
2023-09-21 08:26:24
349阅读
文章目录前言1. 移植FreeRTOS2. 测试FreeRTOS3. 移植工程 前言该篇环境为:STM32F103ZET6、Keil 库函数版本 F4、F7、H7移植同理。FreeRTOS源码:链接:https://pan.baidu.com/s/10l8TmseEJKkFdwFY3qZc1Q?pwd=8uqw
提取码:8uqw1. 移植FreeRTOS选取平时编程的一个库函数工程进行移植。
前言RT-Thread官网有很多通过IDE一键移植的方法,本文选择的是手动移植,文末提供移植好的完整工程。RT-Thread 有3个版本,分别是标准版本、Nano版本、Smart版本,本文选择的是最简单的Nano版本,RT-Thread Nano 是一个极简版的硬实时内核,其架构如下:其启动流程如下,黄色表示 libcpu 移植相关的内容(RT-Thread提供的libcpu文件已完成 ),绿色部
1、通用定时器简介 通用定时器是由一个可编程预分频器驱动的16位自动装载计数器构成。通用定时器可以应用于多种场合,如测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和PWM)。使用通用定时器的预分频器和RCC时钟控制器的预分频器,脉冲长度和输出波形周期可以在几个微秒到几个毫秒间调整。 STM32内有多个通用定时器,每个通用定时器都是完全独立的,没有互相共享任何资源。 通用定时器
转载
2023-07-27 10:58:55
821阅读
STM32F103是一款由意法半导体(STMicroelectronics)推出的一款微控制器,它采用ARM Cortex-M3内核,拥有丰富的外设和功能,广泛应用于各种嵌入式系统中。而Linux作为一种开源的操作系统,也被广泛应用于各种设备中,包括嵌入式系统。本文将介绍如何在STM32F103上运行Linux系统的相关内容。
首先,需要明确的是,STM32F103虽然是一款功能强大的微控制器,
# OpenHarmony与STM32F103的集成
OpenHarmony是一款开源的分布式操作系统,它旨在构建一个统一的软硬件生态系统。STM32F103是一款由意法半导体(STMicroelectronics)公司推出的32位微控制器,具有丰富的外设和强大的性能。本文将介绍如何在STM32F103上集成OpenHarmony,并提供代码示例。
## 1. OpenHarmony简介
O
最近偶然看到B站bad apple的视频, 是基于stm32单片机的,心血来潮自己也来弄了一个小视频,哈哈。。。
和bad apple的播放原理一样,视频其实就是一张张小图片,保存为.bin二进制文件格式,放在SDcard里面,通过stm单片机读取SD的bin文件,再显示在TFT上面。第一步,截取视频图片。截取视频图片的方法很多,这里选择通过KMPlayer播放截取一段视频。右
概述 SRAM的简介 折腾过电脑的朋友都知道,当电脑运行比较卡的时候,我们可以通过给电脑加装内存条来改善电脑的性能。那么号称微型计算机的单片机能不能像电脑一样加装内存条呢?装内存条倒是不行,但是我们可以给单片机外加和内存条效果一样的SRAM来提升单片机的性能。下面以STM32F407ZGT6单片机来讲解一下来扩展外部SRAM。原理:给STM32芯片扩展内存与给PC扩展内存的原理是一样的,只是PC上
STM32型号的说明:以STM32F103RBT6这个型号的芯片为例,该型号的组成为7个部分,其命名规则如下:1STM32STM32代表ARM Cortex-M3内核的32位微控制器。2FF代表芯片子系列。3103103代表增强型系列。4RR这一项代表引脚数,其中T代表36脚,C代表48脚,R代表64脚,V代表100脚,Z代表144脚。5BB这一项代表内嵌Flash容量,其中6代表32K字节Fla
1、STM32F103ZET6时钟说明 STM32F103ZET6的时钟树图如下所示: STM32F103ZET6有很多个时钟源,分别有: HSE:高速外部时钟信号。 HSI:高速内部部时钟信号。 LSI:低速内部时钟信号。 LSE:低速外部时钟信号。 HSI和LSI是芯片内置的时钟源,它们的频率大小是固定的,HSI是8MHZ,LSI是大约40KHZ。 时钟树中的序号1
也可以直接从源代码看,例如,我要看APB2桥出来了哪些外设也就是上图这些
原创
2022-04-15 11:31:44
576阅读
详细内容见《STM32F10xxx中文参考手册》21 USB全速设备接口(USB) 章节、《STM32F10x参考手册(英文)》 23 Universal serial bus full-speed device interface (USB)和《STM32 USB 开发者培训》资料。本章节只概要描述。一、USB简介USB外设实现了USB2.0全速总线和APB1总线间的接口。USB外设支持USB挂
stm32之间直接传送浮点数的实现方法指针变换小端模式字节流发送端接收端 指针变换一个变量,如果长度大于一个字节,就可以拆分为多个字节;同时,也可由多个字节合成一个变量。数据传输过程一般就是采用发送端拆分,接收端合成。其中指针变换语句是核心:int x;
x=*((int*)&x);其中x=指向该地址((强制指针类型转换)取地址); 该表达式可以将任意地址的几个字节“识别”为某一个类型
主机环境:Windows 7 SP1开发环境:MDK5.14目标板:STM32F103C8T6开发库:STM32F1Cube库和STM32_USB_Device_Library现在来分析哈USB器件库代码,先来看usbd_core文件,其头文件只有一些函数声明,没啥可说的,只有一点,之前分析usbd_conf.c文件时里面USB中断回调函数中调用的底层接口都是在usbd_core.h文件中声明的,