跳转到主要内容
第五届滴水湖中国RISC-V产业论坛专题
【填问卷 月月赢好礼】“芯英雄联盟”直播服务在线调查
CES 2026(国际消费类电子产品展览会)专题
以板载匠心,赋能 FPGA 创新,加速产品从 0 到 1
直播预约 | AI 智能体加速FPGA开发
难以置信!5微米,比红细胞还小!Mars ZX2让机械臂变得更精密、更紧凑、更易集成
2026英伟达GTC大会专题
【视频】单片机原理及应用03

单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。

Cortex-M3寄存器组

<center><img src="http://mm32.eetrend.com/files/filefield_paths/1.png&quot; alt=""></center>

<strong>1、通用目的寄存器R0~R7</strong>

R0-R7 也被称为低组寄存器。所有指令都能访问它们。它们的字长全是 32 位,复位后的初始值是不可预料的。

<strong>2、通用目的寄存器 R8-R12</strong>

Cortex-M4 Systick滴答定时器

关于systick在Cortex-M4中有讲到,我们大家平常在单片机开发中经常会使用到延时函数,一般的,我们会使用变量自加循环判断的方法来实现软件延时。但是这种方法有个弊端——延时时间不精确。

主要体现在:

1、在C语言编写的延时函数中,每条函数语句的执行时间可能不同,这样,在实现延时的过程中,想通过增加或减少函数语句来实现延时的增加或减小控制起来不太方便,时间的精确性当然很难控制;

2、由于各种不同的控制器运行的主频可能不同,执行相同的延时函数所需要的的时间值可能就不同。这样,使得这种延时函数在不同的平台上移植起来时间的精确性就更不可靠。所以,我们就不使用这样的延时方法。

摩尔定律死亡?权威报告:2021年芯片只能向3D转型

本月早些时候公布的“2015年半导体国际技术路线图”(ITRS)显示,经过50多年的微型化,晶体管的尺寸可能将在五年后停止缩减。

该报告预测,在2021年后,继续缩小微处理器中晶体管的尺寸,对公司而言在经济上不可取。相反,芯片制造商将用其他方法增大晶体管密度,即将晶体管从水平结构,转变为垂直结构并建造多层电路。

一些人认为,这一变化相当于是宣布摩尔定律的终结。雪上加霜的是,这是最后一份ITRS路线图。

ITRS由美国发起,而后扩展到全球,已有20年的历史,现在却走到了终点。

Cortex系列M0-4简单对比

最近在关注Cortex-M处理器,针对目前进入大众视野的M0、M3、M4做了如下简单对比,内容来自ARM等官网,这里仅仅是整理了下,看起来更直观点,

Cortex-M 系列针对成本和功耗敏感的 MCU 和终端应用(如智能测量、人机接口设备、汽车和工业控制系统、大型家用电器、消费性产品和医疗器械)的混合信号设备进行过优化。.

<strong>一、比较 Cortex-M 处理器</strong>

MCU产品测试要领

(MCU测试部分)

<strong>一.MCU测试</strong>

1.mcu工作电压及电流,
测试MCU工作电压是否在工作电压范围,电压过高会影响MCU的正常工作甚至烧坏,工作电压过低会影响MCU的外围电路驱动能力,甚至导致外围电路不能正常工作。

2. mcu静态电流
静态电流是衡量MCU性能的主要参数之一,静态电流越小越好,根据MCU规格书测试静态电流是否符合要求,一旦MCU有损坏的话,静态电流就会变大,会增加产品的静耗,致使产品整体功耗增加。

3.mcu的振荡频率
如MCU为外接晶振型的,需要检测其正常工作时MCU的晶振输入脚的振荡频率是否正确,如果晶振振荡频率不符合要求则会影响产品的定时及延时,甚至不能正常工作。

ARM、MCU、DSP、FPGA、SOC选择的区别在哪里?

科技的发展,身边的智能产品越来丰富,扫地机器人、手机、VR、穿戴设备及车载仪表、导航仪等,这些产品都具备个智能的“芯”,今天,主要介绍这些“芯”的特点与联系。

<strong>ARM</strong>

ARM处理器是Acorn计算机有限公司面向低预算市场设计的第一款RISC微处理器。更早称作Acorn RISC Machine。ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。20世纪90年代,ARM 32位嵌入式RISC(Reduced lnstruction Set Computer)处理器扩展到世界范围,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。ARM公司既不生产芯片也不销售芯片,它只出售芯片技术授权。

Cortex-M3 NVIC与中断控制

<strong>一、NVIC概览 ——嵌套中断向量表控制器</strong>

NVIC 的寄存器以存储器映射的方式来访问,除了包含控制寄存器和中断处理的控制逻辑之外, NVIC 还包含了 MPU、 SysTick 定时器以及调试控制相关的寄存器。

NVIC 共支持 1 至 240 个外部中断输入(通常外部中断写作 IRQs)。具体的数值由芯片厂商在设计芯片时决定。此外, NVIC 还支持一个“永垂不朽”的不可屏蔽中断( NMI)输入。

NVIC 的访问地址是 0xE000_E000。所有 NVIC 的中断控制/状态寄存器都只能在特权级下访问。不过有一个例外——软件触发中断寄存器可以在用户级下访问以产生软件中断。所有的中断控制/状态寄存器均可按字/半字/字节的方式访问。

Cortex-M3工作模式与异常

<strong>一、工作模式</strong>

线程模式和手柄模式。

<center><img src="http://mm32.eetrend.com/files/2016-07/wen_zhang_/100002244-6946-1.png&q…; alt=""></center>

当处理器处在线程状态下时,既可以使用特权级,也可以使用用户级;另一方面, handler模式总是特权级的。在复位后,处理器进入线程模式+特权级。

单片机破解的常用方法及应对策略

本文介绍了单片机内部密码破解的常用方法,重点说明了侵入型攻击 / 物理攻击方法的详细步骤,最后,从应用角度出发,提出了对付破解的建议。 

<strong> 1、引言 </strong>

【视频】单片机原理及应用02

单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。

嵌入式系统的一些基本概念

<strong> 前后台系统 :</strong>

应用程序一般是一个无限的循环,可称为前后台系统或超循环系统。循环中调用相应的函数完成相应的操作,这部分可以看成后台行为。中断服务程序处理异步事件,这部分可以看成前台行为。后台也可以叫做任务级,前台也叫中断级。时间相关性很强的关键操作一定是靠中断服务程序来保证的。因为中断服务提供的信息一直要等到后台程序走到该处理这个信息这一步时才能得到进一步处理,所以这种系统在处理的及时性
上比实际可以做到的要差。这个指标称作任务级响应时间。

<strong> 实时操作系统(RTOS):</strong>

如何使用Keil uVision2软件调试单片机程序

先说一个概念:调试,在企业程序设计里(我把企业商务类型的软件开发叫企业程序设计,把单片机与驱动程序这样接触底层汇编与硬件相关的程序设计叫底层程序设计),调试一般都用来跟踪变量的赋值过程,以及查看内存堆栈的内容,查看这些内容的目的在于观察变量的赋值过程与赋值情况从而达到调试的目的。由于企业程序的宿主就是开发它的计算机本身,因此企业程序设计比起底层程序设计,特别是单片机的程序设计调试来的更直观,调试也更方便。

【下载】Cortex-M0 用户指南

ARM公司的Cortex-M0应用于各种微控制器(MCU)中,并可让研发工程师以8位的价位创造32位的的效能,并将传统的8位和16位的处理器升级到更高效、更低功耗的32位处理器。

Cortex-M0是Cortex-M家族中的M0系列。最大特点是低功耗的设计。Cortex-M0为32位、3级流水线RISC处理器,其核心仍为冯·诺依曼结构,是指令和数据共享同一总线的架构。作为新一代的处理器,Cortex-M0的设计进行了许多的改革与创新,如系统存储器地址映像(system address map)、改善效率并增强确定性的嵌套向量中断系统(NVIC)与不可屏蔽中断(NMI)、全新的硬件除错单元等等,都带给了使用者全新的体验和更便利、 更有效率的操作。

【下载】Keil MDK安装、使用说明

<strong> 1.1 RealView MDK简介</strong>

RealView MDK是ARM公司最先推出的基于微控制器的专业嵌入式开发工具。它采用了ARM的最新技术工具RVCT,集成了享誉全球的μVision IDE,因此特别易于使用,同时具备非常高的性能。与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善超过20%。

<strong> 1.2 J-LINK仿真器介绍</strong>

IAR-EW430开发工具使用指南

<strong> ► IAR EW430总体介绍</strong>

瑞典IAR System公司推出的IAR EW软件是一种非常有效的嵌入式系统开发工具,它使用户能够充分有效地开发并管理嵌入式应用项目,其界面类似于MS Visual C++,可以在Windows平台上运行,功能十分完善。包含有源程序文件编辑器,项目管理器,源程序调试器等,并且为C/C++编译器,汇编器,连接定位器等提供了单一而灵活的开发环境。源级浏览器功能可以快速浏览源文件;还提供了对第三方工具软件的接口,允许启动用户指定的应用程序。

Keil MDK 和 IAR 两款ARM开发工具区别比较

首先要说明,没有哪款开发工具是万能的,也没有哪款工具在所有方面都具有绝对优势。对于Keil MDK-ARM和IAR两款工具择,可以根据自己的习惯来选择,而不应该在使用其中的一款时贬低另外一款,或者总是赞美自己的选择。

好了,下面开始讲Keil MDK-ARM和IAR的区别。

<strong>一、概述</strong>

Keil MDK-ARM(旧称RealView MDK)开发工具源自德国Keil公司,被全球上百万的嵌入式开发工程师验证和使用,是ARM公司目前最新推出的针对各种嵌入式处理器的软件开发工具。

【下载】Cortex-M3 的异常处理

Cortex-M3的一些特性(一)

<li>处理器状态的自动保存和恢复;</li>

<li>中断向量表读取与处理器状态保存并行处理;</li>

<li>支持尾链技术,当处理背靠背的中断时,不需在两个中断服务子程序之间进行入栈和出栈操作;</li>

<li>可动态重设中断优先级;</li>

<li>NVIC 和 Cortex-M3 处理器核紧密耦合,可尽早处理中断,尤其是晚到的高优先级中断;</li>

Cortex-M3的一些特性(二)

<li>中断的数目可以配置,从 1 到 240;</li>

【视频】单片机原理及应用01

单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。

【下载】Cortex-M3的低层编程

<strong>概览</strong>

在CM3 上编程,既可以使用C 也可以使用汇编。可能还有其它语言的编译器,但是大多数人还是会在C 与汇编的世界里游弋。C 与汇编都有尺短寸长,不能互相取代。使用C 能开发大型程序,而汇编则用于执行特种任务。

在使用不同的工具链和芯片时,有大量的用法和用量都随之不同。因此,本书不会深入讲解怎样精通一个具体的工具链,也不会大谈如何把程序烧到板子上。在后面的章节会提到一些入门知识,具体内容还需查阅相关的文献和在线帮助文档。

<strong>使用汇编</strong>