书接上文,在上一篇()中将程序运行在了外部SRAM中,网上看到一篇文章,将外部的SRAM作为内存来使用,自己试着配置了一下,使用的还是上一篇中的工程,但是程序运行到main函数中的 LCD_Init(); 有的时候程序出错运行到了 HardFault_Handler() 经跟踪程序汇编,发现有的时候会导致在SRAM中的堆栈被破坏掉,想到 LCD 和 外部SRAM都使用的是FSMC总线,在配置LCD
文章目录1. STM32内存简述1.1. STM32寻址范围1.2. 存储器功能划分2. SRAM、ROM位置3. 程序占用内存大小3.1. 查看程序大小3.2. 占用内存分析4. text、data、bss 最近学到了 内存池、IAP 相关的知识,虽然明白大致的过程,但是对于具体的很多数字还是有些似懂非懂,因此又回来稍微细致的总结一下,方便理解。1. STM32内存简述1.1. STM32寻址
战舰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
内存管理 1.内存管理简介STM32F103ZET6内部有64KB的SRAM内存,加上外扩的128KB容量的SRAM后,可使用的内存还是比较多的。本例程将介绍一种简单的内存管理方式(即分块内存管理)来有效管理这些内存,类似于C语言中通过malloc函数和free函数来申请和释放内存内存管理是指软件运行时对计算机内存资源的分配和使用的技术,其最主要的目的是如何高效、快速的分配,并且在适当的时候释放
原创 2022-01-04 11:38:54
1009阅读
  学习stm32有2年的时间了,但是也只是有些基础的了解。为了深入的学习stm32应用,从新拿起原子写的《stm32开发指南》来深入的学习,所以这里太基本的东西不讲。文中有可能会搬一些原子大神的东西。另外这个系列只作为我自己的不完整笔记,毕竟原子大神写的很完整了!已经本人用的是神舟三号开发板。    首先先无耻的把原子的笔记粘过来一大堆。内存管理,是指软件运行时对计
摘自stm32F4参考手册、数据手册、内核权威指南Cortex M3 M4存储器映射:     地址空间可以通过一种方式分为8个512MB的空间:STM32F4xx寄存器边界地址:   STM32F4xx内存和Flash地址:       &nbsp
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阅读
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基础设置安装之后
网络小说千千万,多数书虫看小说,都会找排行榜上面的热门小说来阅读。但是,很多老书虫也感觉排行榜上的热门小说不符合自己的胃口,反而一些冷门小说更有吸引力。因此,老书虫的口碑也成为一些朋友挑选小说的重要渠道。我是真游泳的猫,一个看小说20年的老书虫。很多朋友都喜欢从我的文章找小说看,感谢大家的喜爱和信赖。今天我给大家强推强推3本冷门网络小说,水平优秀却不火,真让粉丝鸣不平。书荒的朋友不妨试试这些小说呢
转载 2024-09-03 11:19:38
83阅读
目录CubeMX设置CubeMX界面认识Project(工程管理)Code Generator(代码生成)MDK-ARM软件安装ST-LINK设置CubeMX设置1、在官网下载安装包安装2、一开始没有对应芯片的固件包,先下载安装。点击"Help—Manage embedded software packages",找到对应的芯片型号等待下载完成;如果在线安装太慢,可以先下载固件包到电脑,然后导入固
开发板:STM32F103CBT6        开发环境:keil 4一、STM32FLASH简介  不同的STM32它的FLASH大小也是不一样的,分为大、中、小容量,容量由16K到1024K不等。这次实验用的开发板FLASH容量大小为128K。  STM32的闪存模块由:主存储器、信息块和闪存存储器接口寄存器三部分组成。  主存储器:该部分主要是用来存
转载 2月前
543阅读
(一)GPIO1.GPIO通用输入输出端口的简称。2.STM32的引脚分类电源管脚(VDD\VSS\VREF)晶振管脚(PH0\PH1)复位管脚(NRST)下载管脚BOOT管脚(下载模式切换,boot0、boot1)GPIO管脚STM32F407ZGT6数据手册中P44查看管脚功能3.GPIO的基本结构3.1.推挽和开漏(1)推挽输出输出控制为1或0时分别使P-MOS和N-MOS切换导通和关闭的状
转载 2024-07-16 14:46:10
152阅读
  • 1
  • 2
  • 3
  • 4
  • 5