草庐IT

【正点原子STM32】单片机简介(FLASH、SRAM和DRAM、CISC和RISC、冯诺依曼和哈佛)

一、单片机是什么二、单片机有什么用三、单片机发展历程四、单片机发展趋势五、CISCVSRISC六、总结一、单片机是什么单片机:Single-ChipMicrocomputer,单片微型计算机,是一种集成电路芯片RAM里的SRAM和DRAMSRAM(StaticRandomAccessMemory)和DRAM(DynamicRandomAccessMemory)是两种常见的随机访问存储器类型,它们在内部工作原理和应用方面有一些显著的区别。SRAM(StaticRAM):静态特性:SRAM是静态存储器,这意味着它在没有时钟信号的情况下可以保持存储的数据。刷新:不需要定期刷新,因为数据是存储在触发器

洋桃电子STM32F407单片机入门教程笔记三:备用SRAM读写

此文档作为对洋桃电子STM32F407单片机视频的整理,B站链接:第17集)备用SRAM读写_哔哩哔哩_bilibili1. 三种存储器的区别使用Flash保存数据可以在单片机断电后保持数据永久不丢失,但单片机运行在偶尔需要保存一次数据的场合是没有问题的,但如果单片机长期运行在需要频繁保存数据的场合,会在很短时间达到Flash擦写上限。为了解决频繁擦写和断电后不丢失的问题,STM32F4系列单片机内置了一块4KB容量的备用SRAM,SRAM存储器的特点是可无限次读写,但是断电后会丢失数据,只要给SRAM添加一个备用电源就可实现无限读写且不丢失数据,备用SRAM就是一个带有备用电源的SRAM存储

c++ - Arduino:命令 Serial.print ("some string text") 是否占用 SRAM?

我有一个相当大的Arduino项目(在eclipse中)使用Serial.print("somestringtext")命令进行大量调试消息,以便我可以一路调试。我注意到的一件事是我达到了项目中可以拥有的这些数量的限制。如果我放太多,程序会在非常奇怪的地方停止。即:通常在我最新添加的打印命令应该执行之前很久。目前我的项目.hex文件大约有20k。ArduinoUno限制在30kb左右,对吗?所以它不应该太大。所以我觉得实际的问题可能是这些串行命令正在填满我的sram。这只是2kb。我正在使用很多库。命令Serial.print("somestringtext")是否占用SRAM?gcc

基于MDK-Keil环境如何把STM32程序直接下载到SRAM运行

1.前言对于Cortex-M内核的微控制器,它们都可以支持在RAM中执行程序,有些非ARM的微控制器是不支持的。在内部SRAM执行程序,有基于以下几方面的原因:1、所使用的设备可能具有OTP(One-timeProgrammable,一次性可编程)ROM区域,还没有确定最终代码之前,还不会把程序编程到芯片中;2、有些MCU内部内部可能没有Flash,可能会使用到外部的存储器。但是在软件开发阶段可以下载到SRAM进行开发测试;3、对于特定的测试场合,Flash已经烧录了程序,但是不想擦除。这时可以把测试程序下载到SRAM运行;4、对于有些Flash被锁定的芯片,可以把代码下载到SRAM,然后进行

STM32复习笔记(五):FSMC连接外部SRAM

目录Preface:(一)原理相关(二)CUBEMX配置(三)轮询方式读写(四)DMA方式读写Preface:STM32F4有一个FSMC(FlexibleStaticMemoryController,可变静态存储控制器),可以用来驱动8080接口的TFTLCD,我之前就写过一篇blog,是用FSMC来驱动4.3寸液晶屏;此外,还可以用FSMC来连接外部的各种存储器,比如说SRAM、NORFLASH、PSRAM等等;但是每个区(Bank)的功能是不一样的;Bank1可以连接多达4个NORFLASH或PSRAM/SRAM存储器件(通过片选);Bank2和Bank3只能用于访问NANDFLASH,

Keil STM32配置SRAM启动并解决SRAM模式代码跑向中断向量表导致程序跑飞的问题

STM32的Flash的可擦写次数在10000次,在学习或调试过程中为了延长Flash的寿命,将程序写入SRAM是一个很好的办法。在百度上找到的SRAM启动方法总有各种各样的问题,接下来我将会提供一个完整的思路给大家学会如何配置SRAM启动的环境。这里用来演示的开发板是STM32F103C8T61.在STM32上调整BOOT引脚   将STM32的BOOT0和BOOT1上拉,下次RESET(重置)将会进入SRAM启动模式。   2.打开Keil,新建/打开一个工程  这个就不要我放截图了吧==3.创建一个新的Target用于保存SRAM启动配置   在Explorer(文件浏览器)中,右击Pr

[FPGA IP系列] FPGA常用存储资源大全(RAM、ROM、CAM、SRAM、DRAM、FLASH)

本文主要介绍FPGA中常用的RAM、ROM、CAM、SRAM、DRAM、FLASH等资源。一、RAMRAM(RandomAccessMemory)是FPGA中最基本和常用的内部存储块,根据不同架构可以实现不同容量,最大可达几十Mb。FPGA中的RAM主要包括:分布式RAM:存在于逻辑块(LE)中的小容量RAM,通常为几百比特到几千比特。块RAM:FPGA中专门用于实现RAM功能的大容量存储块,每个块RAM容量从几kb到几十kb不等。UltraRAM:某些高端FPGA特有的大容量RAM块,比块RAM具有更高的密度和带宽。1、分布式RAM分布式RAM利用查找表(LUT)的功能实现,不需要占用额外F

对SRAM的三种层次的认识

大家都知道,CPU是负责运算和处理的,而存储器则是负责交换数据的。有人是这么比喻的(场景是工程师的工作),说CPU就是工程师本人,内存就像是工作台,需要及时处理的东西需要先拿到工作台上才方便处理。那么硬盘是什么呢?硬盘就像柜子,存放电子器件仪器用的仓库,存东西。存储器有两个基本的构成单元,SRAM和DRAM,充分理解这两个概念以及电路原理,对于学习应用CPU构架以及DDR非常有用。DRAM就是动态(Dynamic)随机存储器,SRAM是静态(Static)随机存储器。这一动一静的本质是什么呢?先说静态随机存储器,它是利用如D触发器的结构来完成数据的读取与写入的,资料的写入不需要刷新动作,这样不

SoC设计项目 —— AHB SRAM控制器的设计 & March C-算法内建自测试的实现

绪论本项目用VerilogHDL语言设计了AHB总线上的SRAM控制器,SRAM存储器在AHB总线上作为AHBslave存在,该SRAM控制器具有以下特性:支持单周期的SRAM读写操作支持低功耗工作SRAM存储体由两个Bank组成,系统根据地址选中一块/多块Bank,未被选中的Bank将处于low-powerstandby模式以降低功耗支持DFT功能DFT(DesignforTest,可测性设计),指通过在芯片原始设计中插入各种用于提高芯片可测试性(包括可控制性和可观测性)的硬件逻辑,从而使芯片变得容易测试,大幅度节省芯片测试的成本。本项目中,DFT功能通过BIST(Build-inSelfT

SoC设计项目 —— AHB SRAM控制器的设计 & March C-算法内建自测试的实现

绪论本项目用VerilogHDL语言设计了AHB总线上的SRAM控制器,SRAM存储器在AHB总线上作为AHBslave存在,该SRAM控制器具有以下特性:支持单周期的SRAM读写操作支持低功耗工作SRAM存储体由两个Bank组成,系统根据地址选中一块/多块Bank,未被选中的Bank将处于low-powerstandby模式以降低功耗支持DFT功能DFT(DesignforTest,可测性设计),指通过在芯片原始设计中插入各种用于提高芯片可测试性(包括可控制性和可观测性)的硬件逻辑,从而使芯片变得容易测试,大幅度节省芯片测试的成本。本项目中,DFT功能通过BIST(Build-inSelfT