上海东软载波微电子有限公司长期深耕于工业控制和白色家电等行业,并致力提供高可靠性、高性价比的芯片产品。消防产业持续变革,智慧消防产品日趋规范。我司面向消防应用的芯片产品系列不断延伸,可以覆盖主要的通用消防前装市场,已广泛应用于消防设备中的智能控制与人机交互等应用,涵盖早期预警、火灾报警、应急疏散、自动灭火等多系统。燃气安全无小事,燃气报警器在检测到气体泄漏后发出报警并切断燃气阀,范防于未“燃”。...
Cortex-M0
澎湃微S038系列创造新的Cortex-M0 MCU主频记录澎湃微电子日前宣布,澎湃微的S038系列Cortex-M0 MCU创造了新的工作时钟主频记录,以200M的CPU主时钟工作频率,大幅超越全球已知Cortex-M0 MCU,全球主流厂商的Cortex-M0 MCU时钟主频通常在48M~72M,少数公司提供96M的产品。NEW PAI NEW LIFE.当程序在S038的SRAM里运行,...
相关文章:敏矽微电子Cortex-M0学习笔记01——芯片简介敏矽微电子Cortex-M0学习笔记02——Cortex-M0开发环境的建立及调试敏矽微电子Cortex-M0学习笔记03——时钟系统设计例程敏矽微电子Cortex-M0学习笔记04——GPIO详解及应用实例敏矽微电子Cortex-M0学习笔记05——端口外部中断实例敏矽微电子Cortex-M0学习笔记06——...
相关文章:敏矽微电子Cortex-M0学习笔记01——芯片简介敏矽微电子Cortex-M0学习笔记02——Cortex-M0开发环境的建立及调试敏矽微电子Cortex-M0学习笔记03——时钟系统设计例程敏矽微电子Cortex-M0学习笔记04——GPIO详解及应用实例敏矽微电子Cortex-M0学习笔记05——端口外部中断实例敏矽微电子Cortex-M0学习笔记06——段式LCD液晶实例1、...
相关文章:敏矽微电子Cortex-M0学习笔记01——芯片简介敏矽微电子Cortex-M0学习笔记02——Cortex-M0开发环境的建立及调试敏矽微电子Cortex-M0学习笔记03——时钟系统设计例程敏矽微电子Cortex-M0学习笔记04——GPIO详解及应用实例敏矽微电子Cortex-M0学习笔记05——端口外部中断实例1、LCD显示驱动概述在上一章节GPIO中断的学习中,...
相关文章:敏矽微电子Cortex-M0学习笔记01——芯片简介敏矽微电子Cortex-M0学习笔记02——Cortex-M0开发环境的建立及调试敏矽微电子Cortex-M0学习笔记03——时钟系统设计例程敏矽微电子Cortex-M0学习笔记04——GPIO详解及应用实例1、目的本篇学习笔记我们主要来了解ME32F030的中断系统,首先通过对ME32F030终端系统和中断控制存器进行学习,...
相关文章:敏矽微电子Cortex-M0学习笔记01——芯片简介敏矽微电子Cortex-M0学习笔记02——Cortex-M0开发环境的建立及调试敏矽微电子Cortex-M0学习笔记03——时钟系统设计例程前面我们已经对敏矽微电子的基于cortex m0内核的ME32F030R8T6的基本功能做了介绍,然后详细讲解了开发环境MDK的安装,pack包的安装,工程的建立及程序的仿真,...
相关文章:敏矽微电子Cortex-M0学习笔记01——芯片简介敏矽微电子Cortex-M0学习笔记02——Cortex-M0开发环境的建立及调试1.1. ME32F030R8T6的时钟树时钟是MCU运行的基础,时钟信号推动单片机内各个部分执行相应的指令。时钟系统就是CPU的脉搏,决定cpu速率,像人的心跳一样 只有有了心跳,人才能做其他的事情,而MCU有了时钟,才能够运行执行指令,才能够做准确、...
相关文章:敏矽微电子Cortex-M0学习笔记01——芯片简介本篇先简单介绍MDK的安装流程,然后重点说明如何把敏矽微电的Cortex-M0的PACK包添加到mdk中,这样才能顺利的在MDK环境下开发敏矽微电子Cortex-M0新片。最后用了很大篇幅介绍如何建立工程,工程中各种文件的添加等等。1、敏矽微电子Cortex-M0的开发环境敏矽微电子Cortex-M0是基于ARM内核的,...
1.敏矽微电子Cortex-M0学习手记01-芯片简介1.1. 概述ME32F030R8T6 的出现为嵌入式的开发带来了极大地便利,ME32F030R8T6 是一款内嵌 ARM Cortex™ M0 核的 32 位微控制器。64Kflash、8K的RAM可以容纳更多的代码,工程师们可以尽情的丰富与完善产品的功能。对于硬件工程师来说,芯片管脚的复用极大的便利了PCB的排版,...
本篇先简单介绍MDK的安装流程,然后重点说明如何把敏矽微电的Cortex-M0的PACK包添加到mdk中,这样才能顺利的在MDK环境下开发敏矽微电子Cortex-M0新片。最后用了很大篇幅介绍如何建立工程,工程中各种文件的添加等等。
1、敏矽微电子Cortex-M0的开发环境
敏矽微电子Cortex-M0是基于ARM内核的,...
为了使单独编译的C语言程序和汇编程序之间能够相互调用,必须为子程序之间的调用规定一定的规则,ATPCS就是ARM程序和THUMB程序中子程序调用的基本规则。
01、ATPCS
ATPCS即ARM Thumb Procedure Call Standard(ARM-Thumb过程调用标准)的简称,ATPCS规定了一些调用和被调用程序之间调用的基本规则,...
Arm处理器是基于精简指令集计算机(RISC)原理设计的,指令集和相关译码机制较为简单,具有32位Arm指令集和16位Thumb指令集,Arm指令集效率高,但是代码密度低,而Thumb指令集具有更好的代码密度,却仍然保持Arm的大多数性能上的优势,它是Arm指令集的子集。所有Arm指令都是可以有条件执行的,而Thumb指令仅有一条指令具备条件执行功能。Arm程序和Thumb程序可相互调用,...
OS能够支持多任务,能够以周期性地完成上下文的切换,以并行的架构处理任务,单一任务的崩溃并不会牵连到整个系统。上下文周期性切换需要一个定时器能够打断程序执行,SysTick定时器就可以提供必要的时钟节拍,为OS的任务调度提供一个有节奏的“心跳”。
SysTick定时器即系统滴答定时器,也称“心跳定时器”,它是一个24 位的倒计数定时器,计到0 时,将从重装载寄存器中自动重装载定时初值。...
Cortex-M0系统控制块(SCB)是内核外设的主要模块之一,提供系统控制以及系统执行信息,包括配置,控制,上报系统异常等。
这个地方CPUID与我们经常提到的MCU的96位UID不同,CPUID是处理器的ID号,由Arm提供并实现,通过CPUID可以知道内核型号及版本等信息。而96位UID是MCU产品ID,属于MM32,由上海灵动微电子股份有限公司提供并按照一定的规则实现,...
Cortex-M0处理器允许两种形式的中断请求:电平触发和脉冲输入。
电平触发是外设的中断请求有持续的电平信号,若电平信号在处理器从ISR返回之前没有被取消,则中断返回后将再次触发已经服务过的中断。
脉冲中断是在信号的上升沿同步采样的中断信号,为了确保NVIC检测到中断,外设必须维持中断信号至少一个时钟周期,在此期间,NVIC检测脉冲和锁存中断。后续的脉冲可以将暂挂状态加到活动中断中...
在前几天有客户问了一个问题:如果外部中断来的频率足够快,上一个中断没有处理完成,新来的中断该如何处理?
在研究了arm的官方手册后,了解中断有使能、清除或挂起等实现方式,今天分享给大家。
中断一般是由硬件(例如外设、外部引脚)产生,当某种内部或外部事件发生时,MCU 的中断系统将迫使 CPU 暂停正在执行的程序,转而去进行中断事件的处理,中断处理完毕后,又返回被中断的程序处,...
NASA成功发射SpaceX CRS-10货运飞船进行第十次国际空间站商业货运任务。SpaceX CRS-10搭载了一个电子辐射效应实验,关键是该实验由美国Vorago公司的ARM架构抗辐射MCU进行控制。2016年,NASA宣布将选择ARM Cortex-A53处理器构建下一代空间电子产品平台,计划于2020年发射。可见,ARM技术在航天工业中势头越来越猛。...
前几天刚好同事问起在Cortex-M上延时不准的问题,在网上也没找到比较满意的答案,干脆自己对这个问题做一个总结。
根据我们的经验,最容易想到的大概通过计算指令周期来解决。该思路在Cortex上并不是很适用:一方面MCU从Flash取指是有延时的,另一方面Cortex的指令集不是固定周期的,特别从M3加入分支预测后,分支指令在Cortex-M不同型号上的结果都不相同。因此除了指令周期外,...
作者:Founder_U
1. Cortex-M0 的两种总线协议:
1)AHB_Lite 系统总线协议:32位地址线,高速高性能访问(Flash, SRAM,总线桥,外部存储器接口)
2)APB 外设总线协议: 32位, 外设等较慢设备通讯(I/O,Timer, UART, Watch Dog。)
系统总线和外设总线是相互分离的,两种总线通过总线桥连接通讯,...
作者:Founder_U
一、 NVIC和系统控制块特性
1. 灵活的中断管理:使能/禁止中断,优先级配置
2. 硬件嵌套中断支持
3. 向量化的异常入口
4. 中断屏蔽
5. NVIC寄存器的起始地址:0xE000E100, 对其访问必须是每次32bit
6. SCB的起始地址: 0xE000E010,也是每次32bit访问。
二....
作者:Founder_U
1、异常类型及编号
Cortex-M0的每个异常源都有一个单独的编号:
1~15内部系统异常:Reset(1), NMI(2), H/W Error(3), SVC(11), PndSV(14), SysTick(15)其他编号未用;
16~47外部中断:IRQ#0~IRQ#31。
2、异常优先级 (Cortex-M0 支持7个...
一、故障处理
故障是异常的一个子集,见第2-19页的异常处理模型。在NMI或HardFault异常处理时发生的故障将会引起HardFault异常或导致锁定(Lockup)。故障包含:•执行一条SVC指令,该指令的优先级高于或等于SVCall。•缺少调试器连接时,执行BKPT指令。
• 在加载或存储数据时,系统产生总线错误。
• 执行XN存储区的指令。
•...
本节主要介绍Cortex-M0的异常处理模型。
1、异常的状态
每个异常都处于以下状态之一:
未激活(Inactive)
异常没有被激活也没有被挂起。
挂起(Pending)
异常正等待被处理器服务。
来自外设或软件的中断请求,能让相应中断变为挂起状态。
激活(Active)
异常正在被处理器服务,并且服务尚未结束。...
本文将描述Cortex-M0设备的内存映射和内存访问行为。该处理器有一个固定的存储映射,它可以提供高达4GB的可寻址内存。存储映射图如下:
该处理器为处理器核外设寄存器保留了PPB地址范围,关于Cortex-M0处理器以及核外设的内容见《Cortex-M0处理器及其特性》
1、存储区、类型和属性
存储映射被分成多个区,每个区都有其存储类型,有些区还有附加属性。...
本节描述Cortex-M0编程模型。除了内核的各个寄存器之外,还包含处理器操作模式和堆栈的介绍。
1、处理器工作模式
处理器工作模式有:
Thrread模式
用于执行应用程序,在处理器复位时,进入Thread模式。
Handler模式
用于异常处理,处理器执行完所有异常程序后,返回到Thread模式。
2、堆栈
处理器使用满递减堆栈,...
本文将简要地介绍Cortex-M0处理器及其特性:
Cortex-M0处理器及其核外设
Cortex™-M0处理器是用于嵌入式应用设计的入门级ARM Cortex 32位的处理器。它为开发者提供以下好处:
• 简单易用的编程模型;
• 高效的低功耗操作模式;
• 高代码密度;
• 可确定的、高效的中断处理;
• 向上兼容Cortex-M...
最近在关注Cortex-M处理器,针对目前进入大众视野的M0、M3、M4做了如下简单对比,内容来自ARM等官网,这里仅仅是整理了下,看起来更直观点,
Cortex-M 系列针对成本和功耗敏感的 MCU 和终端应用(如智能测量、人机接口设备、汽车和工业控制系统、大型家用电器、消费性产品和医疗器械)的混合信号设备进行过优化。.
一、比较 Cortex-M 处理器...
ARM公司的Cortex-M0应用于各种微控制器(MCU)中,并可让研发工程师以8位的价位创造32位的的效能,并将传统的8位和16位的处理器升级到更高效、更低功耗的32位处理器。
Cortex-M0是Cortex-M家族中的M0系列。最大特点是低功耗的设计。Cortex-M0为32位、3级流水线RISC处理器,其核心仍为冯·诺依曼结构,是指令和数据共享同一总线的架构。作为新一代的处理器,...
ARM公司的Cortex-M0应用于各种微控制器(MCU)中,并可让研发工程师以8位的价位创造32位的的效能,并将传统的8位和16位的处理器升级到更高效、更低功耗的32位处理器。
Cortex-M0是Cortex-M家族中的M0系列。最大特点是低功耗的设计。Cortex-M0为32位、3级流水线RISC处理器,其核心仍为冯.诺依曼结构,是指令和数据共享同一总线的架构。作为新一代的处理器,...
;先在RAM 中分配系统使用的栈,RAM 的起始地址为0x2000_0000
;然后在RAM 中分配变量使用的堆
;然后在CODE 区(flash)分配中断向量表,flash 的起始地址为0x0800_0000,该中断向量表就从这个起始地址开始分配
;分配完成后,再定义和实现相应的中断函数,
;所有的中断函数全部带有[weak]特性,即弱定义,...