
STM32
文章平均质量分 87
coder.mark
物联网、智能语音设备、嵌入式从业者,关注工作号《1024嵌入式》
展开
-
理解STM32上的MPU和Cache (一)
一、目的MPU(内存管理单元)这个东西其实在Cortex-M3/M4系列的STM32 MCU(F1/F4系列)就有,只是M3/M4系列的MCU主频都偏低,所以基本上大家都不用它;但是当我们使用Cortex-M7内核的MCU时(例如STM32H750),不好好学习一下MPU和Cache,那么你可能会遇到奇奇怪怪的问题去无法定位解决。关于Cache请参考《xxx》好,本篇的目的主要就是介绍介绍MPU到底能做些什么,为什么需要它,以及如何使用它,并且讲解MPU如何和Ca...原创 2022-05-14 20:37:32 · 5086 阅读 · 0 评论 -
手把手系列--STM32H750移植FreeRTOS
一、目的二、准备三、实战原创 2021-12-09 22:54:48 · 8342 阅读 · 2 评论 -
手把手系列--STM32 QSPI操作指南
一、目的前段时间淘了一个STM32H750XBH6_ArtPi开发板,板载两颗华邦的Flash芯片,一颗为W25Q64JV(8Mbytes),通过STM32H750XBH6的QUASDSPI控制用于XIP;一颗为W25Q128JV(16Mbytes)用于数据存储。 然后W25Q64JV使用Quad SPI方式连接,W25Q128JV使用标准SPI连接。 本博文基于此开发板从基础介绍STM32 Quad SPI硬件模块。 参考ST官方Q...原创 2021-12-06 23:55:06 · 20082 阅读 · 10 评论 -
手把手系列--编写Keil MDK 外部FLASH下载算法
手把手系列--编写Keil MDK 外部FLASH下载算法原创 2021-11-30 23:47:16 · 13554 阅读 · 11 评论 -
手把手系列--STM32H750移植FreeRTOS(三)--获取CPU占用
FreeRTOS获取CPU占用的方法原创 2022-10-21 23:00:45 · 2339 阅读 · 3 评论 -
STM32CubeMX SDRAM的使用(二)
上一篇我们介绍了SDRAM的基本知识以及一些关键时间参数,本篇我们将介绍FMC中关于SDRAM控制器的相关知识并通过STM32CubeMX进行配置来测试我们的SDRAM芯片读写。原创 2022-09-15 23:02:15 · 2433 阅读 · 0 评论 -
STM32CubeMX SDRAM的使用(一)
STM32CubeMX SDRAM概念、配置、实战原创 2022-08-14 20:15:50 · 2195 阅读 · 0 评论 -
GNU LD脚本命令语言(二)
链接器默认配置是支持所有可用地址空间的分配的;可以使用MEMORY命令定义目标平台(cortex-M系列中常说的地址空间映射)中内存块首地址和大小;也就是说可以通过MEMORY指令描述哪些地址空间可以被链接器使用;当定义了REGION后我们可以将输出段指定在某个REGION中,如果某个REGION空间不足,输出段无法放入,链接器就会报错;一个链接脚本中最多只能有一个MEMORY指令。......................................................原创 2022-07-21 15:33:55 · 922 阅读 · 1 评论 -
STM32CubeIDE链接脚本讲解
STM32CubeIDE链接脚本讲解原创 2022-07-20 22:21:05 · 3697 阅读 · 2 评论 -
GNU LD脚本命令语言(一)
链接器脚本控制着每一次链接过程,链接脚本是用链接器命令语言编写的(linker command language)。链接脚本的主要目的是描述输入文件中的段(section)应该如何映射到输出文件中的段(section),并且控制输出文件的内存布局(地址分配)。有些时候链接器脚本还可以使用链接器命令指示链接器执行许多其他操作。......................................................原创 2022-07-20 21:46:09 · 4887 阅读 · 0 评论 -
FreeRTOS如何判断当前上下文是在中断还是在线程环境中
一、目的很多小伙伴在使用FreeRTOS时,肯定看到过这样的接口:xSemaphoreGiveFromISR ( SemaphoreHandle_t xSemaphore, signed BaseType_t *pxHigherPriorityTaskWoken );xSemaphoreGive( SemaphoreHandle_t xSemaphore );这两个接口的区别:中断上下文中只能调用FromISR的接口 ...原创 2022-05-19 11:54:12 · 2802 阅读 · 1 评论 -
理解SPI/Dual SPI/Quad SPI/QPI之间的区别
一、目的二、介绍三、实战原创 2022-05-08 11:36:36 · 43770 阅读 · 5 评论 -
手把手系列--STM32H750移植FreeRTOS(二)--优化编译速度
一、目的 在上一篇《手把手系列--STM32H750移植FreeRTOS》我们已经实现了在ArtPi开发板上使用FreeRTOS。在编译阶段我们发现整个编译过程特别慢,那么如何优化编译速度呢?本篇的主要目的就是优化整个功能的编译速度。二、准备MDK V5.36.0.0FreeRTOS源码三、实战 首先我们打开上一篇博客中的对应工程从上图可以看到编译一次要6分钟。打开魔术棒,...原创 2022-04-06 15:32:25 · 5097 阅读 · 1 评论 -
手把手系列--华邦W25Q128JV Flash操作指南
一、目的 在上一篇《手把手系列--华邦W25Q64JV Flash操作指南》中我们详细介绍了W25Q64JV这款Flash颗粒,本篇我们再介绍一下W25Q128JV这块颗粒。二、介绍W25Q128JV存储容量为16Mbytes,每页256bytes,总共有65536个可编程页,最大一次可编程大小为256bytes。一次擦除大小可以为4K、32K、64K字节(K=1024)或者全擦除。 支持标准SPI、Dual SPI、Quad SPI,...原创 2021-12-04 16:47:38 · 7391 阅读 · 1 评论 -
手把手系列--华邦W25Q64JV Flash操作指南
一、目的 前段时间淘了一个STM32H750XBH6_ArtPi开发板,板载两颗华邦的Flash芯片,一颗为W25Q64JV(8Mbytes),通过STM32H750XBH6的QUASDSPI控制用于XIP;一颗为W25Q128JV(16Mbytes)用于数据存储。 那么本篇的目的就是给大家介绍介绍W25Q64JV这块颗粒。 参考官网的资料二、介绍 W25Q64JV存储容量为8Mbytes,每页256b...原创 2021-12-04 16:26:51 · 13191 阅读 · 10 评论 -
手把手系列--验证自己编写的STM32H750XBH6_ArtPi平台Keil MDK Flash下载算法
一、目的二、准备三、实战原创 2021-12-04 09:27:15 · 3491 阅读 · 6 评论 -
手把手系列--编写STM32CubeProgrammer的外部Flash下载算法
一、目的 在上一篇《手把手系列--编写Keil MDK 外部FLASH下载算法》我们学会了如何给Keil MDK编写下载算法,本篇我们在这基础上编写用于STM32CubeProgrammer的下载算法。 基于官网文档第2.3.2 External Flash memory programming的内容进行操作。二、准备 STM32CubeProgrammer V2.8.0 Keil MDK V5.34三、实战 ...原创 2021-12-04 00:02:42 · 6255 阅读 · 14 评论 -
手把手系列--使用STM32CubeMX生成代码工程
一、目的 相信最开始玩过STM32f103开发的同学一般都是从看芯片手册或者开发手册看起的,有时候要配置一个时钟或者IO管脚都要花上很长时间。初学者一般第一个工程都是从别人那边准备好的模板工程开始学习,然后才逐渐开始自己从零创建自己的第一个模板工程。 为了解决此类繁琐枯燥的工作,ST为我们提供了STM32CubeMX工具,有了这个工具,我们就可以分分钟创建一个demo工程。 下面我们以STM32H750XBH6_ArtPi开发板为例,指导初学者使用这个工...原创 2021-12-02 21:20:34 · 19454 阅读 · 0 评论