跳转到主要内容
第五届滴水湖中国RISC-V产业论坛专题
【填问卷 月月赢好礼】“芯英雄联盟”直播服务在线调查
CES 2026(国际消费类电子产品展览会)专题
以板载匠心,赋能 FPGA 创新,加速产品从 0 到 1
直播预约 | AI时代的光通信:从OFC到CIOE,我们看到了什么?
难以置信!5微米,比红细胞还小!Mars ZX2让机械臂变得更精密、更紧凑、更易集成
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>

从Google Home窥视智能家居

还记得在2016 Google I/O 全球开发者大会上,谷歌除了更新Android和Android Wear两个平台,发布了全新的Daydream VR平台之外,还发布了基于全新语音助手吗?这款旨在服务于智能家居的家庭智能终端Google Home,一经发布,就立刻吸引了无数人的目光。

所谓智能家居,其实是以住宅为平台,利用网络通信以及人工智能(AI)的自动控制、通过音视频将与家居生活有关的设施集成,构建高效的住宅设施与家庭日程事务的管理系统,提升家居安全性、便利性、舒适性、艺术性,并实现环保节能的居住环境。谷歌的Google Home 之所以博得了满堂彩,正是因为其强大的家庭管理功能让大家感觉智能家庭正在无限接近。

物联网时代MCU有哪些发展趋势?

据IC Insights的市场研究报告中指出,2015年全球MCU市场产值达168亿美元(比2014年增长5.6%),出货量达209亿颗(比2014年提升12.4%),而平均每颗售价则是0.81美元。而未来到2019年,MCU的销售量仍维持逐年递增(年复合成长率CAGR约为6%)、ASP逐年递减的趋势,但整体MCU市场规模仍是上扬的。

ARM cortex-M3 异常处理分析

作者:dogsun88

<strong>一、进入异常之前处理器可能的状态有:</strong>

1、 handler

2、 线程,MSP

3、 线程,PSP

<strong>二、产生异常时:</strong>

1、 有一个压栈的过程,产生异常时使用PSP,就压入到PSP中,产生异常时使用MSP,就压入到MSP中

2、 会根据处理器的模式和使用的堆栈,设置LR的值(当然设置完的LR的值再压栈)

<strong>三、异常返回时:</strong>

根据LR的值,判读使用那个堆栈,然后再从相应的堆栈中POP数据到寄存器。

关于Cortex-M3的中断优先级描述

关于Cortex-M3的中断优先级的描述 

1、和之前的ARM7不同,Cortex-M3使用NVIC(嵌套向量中断管理器)来管理系统的中断。
 
2、每一个中断源的优先级由3个位来决定,这3个位就是中断优先级寄存器器里(PRIx)的INTn,这里的n 一般是A、B、C、D。 

3、每个中断源的优先级由2部分组成,一部分表示中断组别,一部分表示同组的优先级编号。组别优先级高的中断源,可以打断组别优先级低的中断处理,同一个组的中断源不能打断正在处理的中断,只能在进入中断处理时,同时发生的两个中断源进行判别优先级。 

4、我们把中断源的优先级组别和同组内的中断编号分别用抢占式优先级别和子优先级别来表示。他们的具体表现形式就是第2条提到的INTn。 

【下载】Cortex-M3开发环境搭建(MDK)

<strong>一、Cortex-M3环境介绍</strong>

Cortex-M3程序开发使用Keiluvision4软件,该软件是由KEIL(anARMcompany)公司开发的一个IDE开发环境,包括工程管理,链接设置等等。 Keiluvision4开发环境界面优美、功能强大、芯片种类多、仿真能力强,是众多工程师首选开发环境之一。

Keiluvision4开发环境中比较常用的菜单如下所示:

关于单片机上拉电阻、下拉电阻的详解

<strong>一、定义</strong>

1、上拉就是将不确定的信号通过一个电阻嵌位在高电平!“电阻同时起限流作用”!下拉同理!

2、上拉是对器件注入电流,下拉是输出电流。

3、弱强只是上拉电阻的阻值不同,没有什么严格区分。

4、对于非集电极(或漏极)开路输出型电路(如普通门电路)提升电流和电压的能力是有限的,上拉电阻的功能主要是为集电极开路输出型电路输出电流通道。

<strong>二、拉电阻作用</strong>

1、一般作单键触发使用时,如果IC本身没有内接电阻,为了使单键维持在不被触发的状态或是触发后回到原状态,必须在IC外部另接一电阻。

ARM Cortex-M3 MCU 的 I2C DMA操作和中断

在项目开发的过程中,发现程序总是死在判断DMA一次传输是否完成这个标志位上。进一步回退分析,发现是在I2C读的过程中,有使用到DMA去取外部I2C设备的data。

但是data并没有读完,Data为32bits,DMA在读到18bits时,就出现读不到data bit了。导致I2C硬件模块不能进一步动作,SCK一直被拉低,没有clock输出,SDA也是如此。

下面是通过示波器抓到的波形:

单片机中关键字data、idata、xdata、pdata的区别

<strong>data</strong>

固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的,速度最快,生成的代码也最小。

<strong>idata</strong>

固定指前面0x00-0xff的256个RAM,其中前128和data的128完全相同,只是因为访问的方式不同。idata是用类似C中的指针方式访问的。汇编中的语句为:mox ACC,@Rx.(不重要的补充:c中idata做指针式的访问效果很好)

<strong>xdata</strong>