单片机入门

正点原子学习:

资源
①开源电于网:www.openedv.com
②ST官方社区:www.stmcu.org

单片机是什么
单片机:Single-Chip Microcomputer,单片微型计算机,是一种集成电路芯片

单片机一般由CPU,SRAM,FLASH,外设构成。
FLASH就是存放代码的。
SRAM就相当于内存。
RAM分为SRAM(静态随机存储器),DRAM(动态随机存储器)
一般电脑的内存条使用的是DRAM。


FLASH存储器主要有两种类型:
NOR FLASH:用于存储程序代码,具有随机访问的特点。
NAND FLASH:用于大容量数据存储,具有高密度、低成本和高速写入的特点。

NOR FLASH 应用场景
1. 固件存储,存储系统的固件和启动代码(Bootloader)。
示例:嵌入式系统、微控制器、智能设备。
特点:需要可靠的存储来确保设备能够正确启动和运行,NOR FLASH的随机访问和快速读取特性使其成为理想选择。
2. 代码执行
用途:直接从FLASH中执行程序代码(Execute In Place,XIP)。
示例:实时操作系统(RTOS)、驱动程序、嵌入式软件。
特点:NOR FLASH可以直接进行随机访问,允许程序在不加载到RAM的情况下直接执行,提高了系统的启动速度和运行效率。
3. 配置和参数存储
用途:存储设备配置和用户参数设置。
示例:路由器、工业控制设备、医疗设备。
特点:数据需要频繁读取,且可靠性要求高,NOR FLASH能够快速访问并读取这些数据。
NAND FLASH 应用场景
1. 大容量数据存储,存储大容量的用户数据。
示例:固态硬盘(SSD)、USB闪存盘、SD卡。
特点:NAND FLASH提供高密度存储,能够以较低成本存储大量数据,是存储设备的核心组件。
2. 嵌入式系统数据存储
用途:存储日志数据、传感器数据、音视频数据。
示例:监控摄像头、物联网(IoT)设备、智能家居设备。
特点:这些设备通常需要记录大量数据,NAND FLASH的高速写入和大容量特性能够满足需求。
3. 文件存储
用途:存储文件系统和用户文件。
示例:智能手机、平板电脑、媒体播放器。
特点:需要存储和访问大量多媒体文件、应用程序数据等,NAND FLASH的高密度和快速写入能力使其适用于此类应用。

总结:
NOR FLASH 
优点:快速随机读取。直接代码执行(XIP)。适合小容量、高可靠性数据存储。
缺点:写入速度较慢。存储密度低,成本较高。
典型应用:启动代码存储。固件和操作系统内核存储。配置数据和参数存储。
NAND FLASH
优点:高存储密度,成本低。写入和擦除速度快。适合大容量数据存储。
缺点:随机读取速度较慢。需要复杂的错误校正码(ECC)管理。
典型应用:大容量数据存储设备(SSD、USB闪存)。嵌入式系统数据存储。多媒体文件存储。


代码和常量存储在FLASH中,确保掉电后依然保存。
运行时数据存储在SRAM中,提供快速读写的性能,但掉电后数据会丢失。

这里可以扩展一个问题。
FLASH满了怎么办?
1.优化代码:通过优化代码减少占用的FLASH空间。
2.使用外部存储器:如果优化代码仍不能解决问题,可以考虑增加外部存储器。
3.分割程序:将程序分割成多个部分,根据需要动态加载。
    设计一个Bootloader,能够根据需要从外部存储或不同的FLASH区域加载程序段。
4.选择更大容量的单片机:如果以上方法都无法满足需求,可以考虑使用FLASH容量更大的单片机型号。
5.外部存储映射(Memory-Mapped Storage):将外部存储映射到单片机的地址空间,方便直接访问。
    外部存储控制器:利用外部存储控制器(如FSMC)实现对外部存储的快速访问。
6.减少调试信息:在发布版本中减少或去除调试信息、日志和注释等占用空间的内容。

flash存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还可以快速读取数据(NVRAM的优势),使数据不会因为断电而丢失。flash是存储芯片的一种,通过特定的程序可以修改里面的数据。
ROM(EPROM)是过去20年使用的嵌入式存储器。

目前Flash主要有两种NOR Flash和NAND Flash。NOR Flash的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NORFLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。用户不能直接运行NAND Flash上的代码,因此好多使用NAND Flash的开发板除了使用NAND Flash以外,还加上了一块小的NOR Flash来运行启动代码。

ARM,RISC-V架构(开源)

指令流水线:取指,译码(分析),执行

冯诺伊曼结构特点:在同一时间只能读取数据或者程序。是一个分时复用架构

资料的寻找

ARM公司官网:www.arm.com

这里以Cortex-M3为例

ARM开发者官网:developer.arm.com

cotex介绍:

CoreMark跑分:www.eembc.org

在这里可以下载源码,然后在板子上移植,就可以对自己的板子进行跑分了。

  • 25
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值