MCU

对于MCU,一切底层配置,最终都是在配置寄存器。

STM32F1xx官方资料:《STM32中文参考手册V10》-第8章通用和复用功能IO(GPIO和AFIO)

51单片机访问地址

51单片机经常会引用一个reg51.h的头文件。

下面看看它是怎么把名字和寄存器联系在一起的:

sfr p0=0x80;
p0=0x00;

sfr是一种扩充数据类型,点用一个内存单位,值域为0-255.利用它可以访问51单片机内部所有的特殊功能寄存器。前一句“sfr p0=0x80”就是将P0映射到地址0x80。后一句“p0=0x00”就是往p0地址(0x80)代表的寄存器写值。

STM32访问地址

寄存器地址名称映射

STM32肯定也是可以这样来设置寄存器的。但是由于STM32的寄存器数目太多了,如果以这样的方式列出来,需要很大的篇幅,而且也不方便开发。所以,MDK采用的方式是通过结构体来将寄存器组织在一起。

下面就介绍MDK如何把结构体和地址对应起来的,为什么修改结构体成员变量的值就可以达到操作寄存器的值?这些事情都是在stm32f10x.h文件中完成的。

注:stm32f10x.h文件在STM32固件库下的目录是:

STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x文件夹下。

GPIOA的寄存器地址名称映射

我们通过GPIOA的寄存器为例来进行介绍。

GPIOA->ODR=0x00000000;

首先,我们需要看一下GPIOA是个什么东西?通过宏定义我们可以看到:

#define GPIOA               ((GPIO_TypeDef *) GPIOA_BASE)
#define GPIOB               ((GPIO_TypeDef *) GPIOB_BASE)
#define GPIOC               ((GPIO_TypeDef *) GPIOC_BASE)
#define GPIOD               ((GPIO_TypeDef *) GPIOD_BASE)
#define GPIOE               ((GPIO_TypeDef *) GPIOE_BASE)
#define GPIOF               ((GPIO_TypeDef *) GPIOF_BASE)
#define GPIOG               ((GPIO_TypeDef *) GPIOG_BASE)

GPIOA是一个将GPIOA_BASE强制转换成GPIO_TypeDef的指针。这句话的意思就是,GPIOA指向地址GPIOA_BASE,而GPIOA_BASE存放的数据类型是GPIO_TypeDef。再看一下结构体GPIO_TypeDef的定义:

typedef struct
{
  __IO uint32_t CRL;
  __IO uint32_t CRH;
  __IO uint32_t IDR;
  __IO uint32_t ODR;
  __IO uint32_t BSRR;
  __IO uint32_t BRR;
  __IO uint32_t LCKR;
} GPIO_TypeDef;

结构体里面声明了7个变量,这个时候就明白了“GPIOA->ODR”就是指:GPIOA结构体下的ODR变量。

其实结构体的7个变量就是GPIOA的7个寄存器。我们需要知道GPIOA下的ODR寄存器的地址,首先需要知道的是GPIOA的基地址是怎么计算的呢?

#define GPIOA_BASE            (APB2PERIPH_BASE + 0x0800)
#define GPIOB_BASE            (APB2PERIPH_BASE + 0x0C00)
#define GPIOC_BASE            (APB2PERIPH_BASE + 0x1000)
#define GPIOD_BASE            (APB2PERIPH_BASE + 0x1400)
#define GPIOE_BASE            (APB2PERIPH_BASE + 0x1800)
#define GPIOF_BASE            (APB2PERIPH_BASE + 0x1C00)
#define GPIOG_BASE            (APB2PERIPH_BASE + 0x2000)

因为GPIO都是挂载在APB2总线之上的,所以它的基地址是由APB2总线的基地址+GPIO在APB2总线上的偏移地址决定的。那么APB2总线的基地址是怎么计算的呢?

#define PERIPH_BASE           ((uint32_t)0x40000000) /*!< Peripheral base address in the alias region */
#define APB2PERIPH_BASE       (PERIPH_BASE + 0x10000)

原理都是一样的,APB2总线的基地址也是从其他地址进行地址偏移得到的。

所以到这个时候,就可以算出GPIOA的基地址位了:

GPIOA_BASE=0x40000000+0x10000+0x0800=0x40010800

这上面就已经知道了GPIOA的基地址,那么那些GPIOA的7个寄存器的地址又是怎么计算出来的呢?


GPIOA的寄存器的地址=GPIOA基地址+寄存器相对GPIOA基地址的偏移值

寄存器相对于GPIOA基地址的偏移值可以在上面的寄存器地址映射表中查到。稍微解释一下:GPIO的每个寄存器都是32位的,所以每个寄存器是占用4个地址,也就是说一共占用28个地址。地址偏移范围为(000h-01Bh)。这个地址偏移是相对于GPIOA的基地址而言的。

那么你可能又有一个疑问:结构体里面的寄存器又是怎么与地址一一对应的呢?这就涉及到结构体的一个特征,那就是结构体存储的成员的地址是连续的。上面讲到GPIOA是指向GPIO_TypeDef类型的指针,又由于GPIO_TypeDef是结构体,所以自然而然我们就可以算出GPIOA指向的结构体成员变量对应地址了。

总结与分析

对于STM32而言,使用“GPIOA->ODR=0x00000000;”来对寄存器赋值的原理,也就是将GPIO下的所有寄存器放在一个结构体内,通过基地址和在基地址上的偏移地址不断转化,最终找到准确的寄存器实际地址来进行赋值。也就是说,和51单片机最大的不同就是:由于STM32的寄存器数目太多,就将其中控制同一外设的寄存器设置成一个结构体(如GPIO、DMA等),通过对结构体的地址和寄存器相对于结构体的偏移地址,来确定某个特定的寄存器。

来源:CSDN,作者:Yngz_Miao
原文:
https://blog.csdn.net/qq_38410730/article/details/79816270
版权声明:本文为博主原创文章,转载请附上博文链接!

围观 8

新的解决方案延长了电池续航,能够实现长距离连接,并且帮助可穿戴设备和遥控设备实现语音控制和音频传输功能

全球领先的嵌入式解决方案供应商赛普拉斯半导体公司(纳斯达克代码:CY)近日宣布,推出两款低功耗双模蓝牙5.0和低功耗蓝牙(BLE)MCU样片,以支持构建物联网中的蓝牙Mesh网络。两款全新MCU的型号分别为CYW20819和CYW20820,能够同时提供蓝牙5.0音频和BLE连接,低功耗的无线解决方案能够帮助依靠电池供电的运动手环、健康监测设备和语音遥控设备实现音乐传输和语音指令控制。设计人员还可以利用该解决方案来开发低成本、低功耗的、并能相互通信的蓝牙Mesh网络设备,通过简单、全面、无需hub的蓝牙连接,也实现智能手机、平板电脑和家庭语音助手之间的网络通信。

CYW20819蓝牙/BLE MCU能够同时保持SSP(串行端口配置)协议连接和蓝牙Mesh连接。CYW20820拥有与CYW20819相同的功能,但集成了最大输出功率为10dBm的功率放大器,用于400m以内的远距离应用,以及家庭范围内的全覆盖。在为平板电脑和智能手机提供传统蓝牙连接的同时,CYW20820还可为基于传感器的智能家居或企业应用构建低功耗、符合标准的Mesh网络。CYW20820搭载了Arm® Cortex®-M4内核,与现有的解决方案相比,连接200ms Beacon的工作功耗降低了60%,使用CR2032纽扣电池的情况下,其电池寿命最长可达123天,拥有行业领先的表现。因此,它成为了可穿戴设备、传感器、遥控器、智能家居照明以及医疗设备的理想选择,并且它能够与鼠标和键盘等双模人机接口(HID)设备实现向前、向后的兼容。

赛普拉斯物联网、计算和无线连接事业部营销副总裁Brian Bedrosian表示:“一直以来,为运动手环和健康监测设备提供更舒适的语音控制、音乐和音频辅导等功能,不得不以牺牲电池续航为代价。但是,赛普拉斯最新的低功耗蓝牙MCU解决了这一难题。赛普拉斯拥有业界领先的物联网连接产品组合,新推出的MCU是对这一系列产品的重要补充。低功耗、高性能、高性价比的解决方案,能够满足互操作蓝牙Mesh应用、语音控制以及支持音频功能的可穿戴设备对可靠性的严格要求。”

之前,如果没有额外的连接中继,用户只有在蓝牙设备的附近才能对其进行控制。但是,借助蓝牙Mesh网络技术以及集成的高性能功率放大器,CYW20820可帮助网络内的设备进行相互通信,轻松实现家庭内的全覆盖,让用户可以方便地通过手机、平板电脑和智能音箱上的应用程序来控制所有设备。

赛普拉斯ModusToolbox™开发工具支持CYW20819和CYW20820 MCU的开发,它为蓝牙Mesh网络和传感器套件提供示例代码和应用。同时,赛普拉斯还提供了CYW20719、CYW20706和CYW20735 BLE解决方案及CYW43438、CYW43570 Wi-Fi®和蓝牙Combo(组合)解决方案,可为智能家居设备打造基于Wi-Fi和全兼容蓝牙的Mesh网络。如果想了解更多关于赛普拉斯蓝牙Mesh网络解决方案的信息,请访问 www.cypress.com/ble-mesh

此外,赛普拉斯还提供基于CYW20819的认证蓝牙模块(CYBT-213043-02)和两个评估套件,目前均已开放预订。

采用CYW20819 MCU的赛普拉斯CYW20819EVB-02评估套件(用于评估和开发)将于2019年3月上市;

赛普拉斯Mesh网络评估套件(CYBT-213043-MESH)将于2019年第二季度上市。它使用了基于CYW20819 MCU、符合蓝牙5.0标准并且经过监管机构认证的模组,能够用于蓝牙Mesh网络应用开发。

赛普拉斯的蓝牙解决方案使用了目前被普遍选用的蓝牙协议栈,可使用ModusToolbox套件中的最新版本WICED® SDK进行设计,帮助开发人员轻松使用无线连接技术,进行智能家居照明设备、智能家电及健康类应用的设计。想要了解更多关于赛普拉斯无线解决方案的信息,请访问: www.cypress.com/wireless

围观 10

Holtek新推出移动电源专用微控制器BP45FH6N,整合快充移动电源所需的功能,如高分辨率PWM、高压驱动口、LDO与各项保护机制,适用1~3串锂电池应用,可实现同步整流升降压控制,最高可输出12V,涵盖市场95%快充移动电源需求。

内建2组高分辨率PWM,搭配4个高压大电流驱动口,实现升降压管理,额外4个高压驱动口,直接控制外部PMOS。高精准度±1%的2V/3V/4V参考电压源,提供给ADC与硬件保护电路使用,其中2路12-bit分辨率过电压/欠电压、2路8-bit分辨率过电流保护电路,可通过软件调整保护点,保护模式可设定为自动减少PWM占空比来降低输出功率或是直接停止输出PWM,提供完整保护措施。

BP45FH6N提供46QFN封装,相较于上一代产品HT45FH5N,具备更丰富资源可精简元件缩小PCB尺寸,并实现更多产品客制化功能,是快充移动电源产品应用最佳选择。

来源:HOLTEK

围观 6

Holtek 24-bit Delta Sigma A/D Flash MCU新增系列成员BH67F5270,拥有更大的内存资源、抗RF干扰能力强等特点,非常适合需要24-bit A/D高精度量测的应用,例如:秤重、压力与温度的量测;是各式电子秤、血压计、血糖仪、压力开关与相关量测类产品的最佳选择。

BH67F5270内建LED Driver、LCD Driver、OPA、LDO、PGA与24-bit Delta Sigma A/D,可以减少产品零件数目、降低成本及提高生产效率。MCU资源包含32K×16 PROM、2048×8 RAM、512×8 True EEPROM、MDU、IAP、UART/SPI/I2C及Timer Module。BH67F5270提供64-pin及80-pin LQFP两种封装型式。

来源:HOLTEK

围观 8

大家可能都知道破解51单片机是很容易的,但为什么容易,又是如何来破解的,可能很多人就不大清楚了,致芯解密专家结合网上一些前辈整理的资料和自己的经验,对MCU破解技术做个简单分析。

大家不要把解密想的很复杂,他不像研发一款产品那样,先确定客户需求或者新产品主要功能,然后立项确定技术指标,分配软硬件开发任务,基于硬件调试程序,然后验证功能,测试bug,还要做环境试验。行业里解密的方法有很多,每个人破解的思路也不一样。但是大致分为几种。

一、软件破解

利用软件破解目标单片机的方法,利用这种方法,不会对目标MCU元器件造成物理损伤。主要是对WINBONGD,SYNCMOS单片机和GAL门阵列,这种利用软件解密设备,按照一定的步骤操作,执行片内的程序送到片外的指令,然后用解密的设备进行截获,这样芯片内部的程序就被解密完成了(GAL采用逻辑猜测),就可以得到加密单片机中的程序。

二、硬件破解

流程如下:

1、测试

使用高档编程器等设备测试芯片是否正常,并把配置字保存。

2、开盖

采用手工或专用开盖设备进行开盖处理,这里说的开盖并不是说单片机或者其他MCU真有一个盖。简单解释一下,MCU其实是一个大规模集成电路,它是由N个电路组合而成的,而晶圆就是搭载集成电路的载体。将晶圆进行封装后,就形成了我们日常所用的IC芯片,封装形式可以有多种,比如TSSOP28、QFN28等。


3、做电路修改

对不同芯片,提供对应的图纸,让厂家做电路修改,目的是让MCU的存储区变得可读。有些MCU默认不允许读出Flash或者E2PROM中的数据,因为有硬件电路做保护,而一旦切断加密连线,程序就暴露可读了。如图2所示


4、读程序

取回修改过的MCU,直接用编程器读出程序,可以是HEX文件,或者BIN文件。

5、烧写样片给客户

按照读出的程序和配置,烧写到目标MCU中,这样就完成了MCU的破解。 至此,硬件破解法成功完成。

三、软硬兼施

采用软件和硬件结合的方法,需要对芯片的内部结构非常的熟悉。

另外还有其他一些破解技术,例如电子探测攻击、过错产生技术等等,但是最终目的只有一个,就是能够模仿出目标MCU的功能就可以了。

看到这里大家应该明白一个道理,破解MCU并不能做到把MCU中的程序原封不动的还原出来。目前的技术也做不到,至少国内应该做不到。针对以上情况,加密芯片应运而生,初期确实能很好的保护MCU的安全,但很快就被找到了漏洞。

来源:芯片解密

围观 109

具备虚拟化功能的新产品可在单芯片中集成不同功能安全级别的多个应用软件

瑞萨电子株式会社(TSE:6723)今日宣布推出新型内置闪存、集成了硬件集成虚拟化辅助功能的微控制器(MCU)产品——RH850/U2A。新产品保持了RH850系列一贯的高速实时性能,同时集成了基于硬件的虚拟化辅助功能,可支持最高ASIL D(注1)级别的功能安全,因而能够整合不同安全等级的ECU。RH850/U2A是瑞萨电子cross-domainMCU产品系列的首个成员,作为新一代车载控制芯片,可应对不断增长的将多种应用集成在单芯片上,从而实现将不同电子-电气架构(E/E架构)整合到同一电气控制单元(ECU)的需求。

采用28纳米制程工艺的32位RH850/U2A MCU基于瑞萨电子针对底盘系统应用的RH850/Px系列和针对车身控制的RH850/Fx系列的关键功能,进一步提升性能并实现虚拟化辅助功能,以支持底盘/安全、车身、域控制和中低端网关应用中的操作。为满足底盘/安全应用所需的ASIL D级功能安全,基于硬件的虚拟化辅助技术让在RH850/U2A MCU上运行多个具有不同功能安全级别的应用软件,并可互不干扰的并行运行,同时保持车辆控制所需的实时性能。

“随着新E/E体系架构的演进,市场对能够集成不同ECU、并可支持多个应用的高性能、cross-domain MCU的需求越来越高。”瑞萨电子汽车技术客户合作业务部副总裁吉田直树表示,“从RH850/U2A开始,瑞萨电子新推出的cross-domainMCU系列将帮助客户提高开发效率,缩短新车的开发时间,从而加速网联车及自动驾驶汽车的开发。同时,我们很荣幸能够引领虚拟化和支持ASIL D的技术潮流。”

全新RH850 /U2A MCU的主要特点

结合了高性能、片上安全性能和网联性能的cross-domainRH850/U2A MCU专为多种车辆控制应用的严苛要求而设计,包括车身、底盘/安全、域控制和中低端网关等领域。

  • 支持高速实时性能和基于硬件的虚拟化辅助功能,可在符合ASIL D标准的复杂汽车控制系统中加速ECU的集成

新推出的汽车控制MCU配备多达4组采用双核锁步结构,高达400MHz主频的CPU核,每个CPU核都集成了基于硬件的虚拟化辅助功能,同时保持了RH850系列一贯的高速实时性能。为支持ASILD,此MCU包含自诊断SR-BIST(待机-恢复BIST)功能,可将电流波动降到最低。基于硬件的虚拟化辅助功能还允许满足不同ISO26262功能安全级别的多个软件系统在高性能模式下独立运行而免受干扰,同时可降低虚拟化所需的资源占用,以维持实时性,这使客户能够将多个ECU功能集成到单个ECU中,同时保持功能安全,网络安全,以及实时操作要求。

  • 内置大容量闪存,支持先进、安全的OTA升级

内置大容量闪存,以支持空中传输(OTA)功能,从而保证自动无线升级ECU软件以控制程序,而不会中断车辆运行。RH850/U2A MCU配备高达16 MB的内置ROM闪存和3.6MB容量SRAM,为用户未来的功能扩展提供了灵活性。该MCU所包含的网络安全功能支持从Evita Light到Evita Full(注2)的全部安全等级,以加强对网络攻击的防护,使设备能够随着安全要求的发展,实现安全、快速的完全无等待OTA(Full No-Wait OTA)软件升级。

  • 扩展ADAS和自动驾驶系统的网络连接

RH850/U2A MCU还配备了多种网络接口,包括SGMII标准的1 Gbps以太网通信接口和最多达16路通道的CAN-FD接口,使MCU有能力处理大量由ADAS和自动驾驶功能中多种类型传感器生成的数据。让客户能够支持未来的高速网络功能并满足高通信吞吐量的要求。

瑞萨电子将于2019年2月26日至28日在德国纽伦堡举办的Embedded World(嵌入式电子与工业电脑应用展)1-310号展台(1号展厅)演示RH850/U2A MCU产品。

供货信息

RH850/U2A MCU样片将于2020年第一季度供货(供货情况如有更改,恕不另行通知)。瑞萨电子还将为RH850/U2A MCU提供软件和开发环境,作为其全新cross-domainMCU产品组合的一部分。

了解有关RH850/U2A产品的更多信息,请点击: https://www.renesas.com/cn/zh/products/microcontrollers-microprocessors/...

(注1)ASIL(Automotive Safety Integrity Level):在A至D的四个安全等级中,ASIL D是最严格的等级。

(注2)由欧盟联合资助的EVITA(E-safety Vehicle Intrusion proTected Applications)项目制定了车载网络安全规范。其中,Evita Full是继Light和Medium之后的最高级别。

围观 38

SmartBond™产品线最新成员,提供基于集成ARM Cortex M33的专用应用处理器等先进特性

高度集成定制和可配置电源管理、AC/DC电源转换、充电和蓝牙低功耗技术供应商Dialog半导体公司今日宣布,推出其最先进、功能最丰富的无线连接多核微控制器单元(MCU)SmartBond™ DA1469x蓝牙低功耗SoC系列。该新产品系列包括4个型号,建立在Dialog SmartBond™产品线的成功基础之上,为广泛的IoT连网消费类应用提供更强大的处理能力、更多资源、更大的覆盖范围、和更长的电池续航能力。

DA1469x产品系列旨在帮助设备制造商利用Dialog经过验证的SmartBond™技术,拓展其可以创造的应用范围。该产品系列的三颗集成的内核均经过严格挑选,因其卓越的传感能力、处理能力和设备间通信能力而胜出。

为了提供器件的处理能力,DA1469x是第一个采用基于ARM Cortex-M33处理器的专用应用处理器的量产无线微控制器系列。M33为高端健身追踪器、先进智能家居设备和虚拟现实游戏控制器等计算密集型应用提供更强大的处理能力。

DA1469x系列为开发人员提供了先进的连接功能,可以满足多种应用的需求,并使其经得起未来的考验。其新型集成无线电提供的覆盖范围是前代产品的两倍,结合基于ARM Cortex-M0+的软件可编程数据包引擎,可部署协议并为无线通信提供充分的灵活性。

在连接方面,一个新兴的应用是制造商通过新推出的蓝牙5.1标准中的到达角度(Angle of Arrival)和离开角度(Angle of Departure)特性实现精准定位。凭借世界级的无线电前端性能和可配置协议引擎,DA1469x符合此标准的新版本,为楼宇门禁和远程无钥开锁系统等需要精准室内定位的设备开辟了新的机会。

为了增强DA1469x系列的传感功能,M33应用处理器和M0+协议引擎配备了传感器节点控制器(SNC),该SNC基于可编程微型DSP,可自主运行并独立处理来自与其数字和模拟接口相连的传感器的数据,只在需要时唤醒应用处理器。除了该节能特性外,其最先进的电源管理单元(PMU)还可以通过控制不同的处理内核,并只在需要的时候激活它们,提供业内最佳的电源管理。

开发人员可以利用DA1469x系列全面的计算能力和功能。该SoC系列提供高达144 DMIPS、512 kBytes RAM、内存保护、浮点单元、专用加密引擎等,提供端到端的安全性和可扩展的存储器,确保可以利用该芯片组系列实现广泛的先进智能设备应用,并支持一系列关键的增值接口,进一步拓展功能。

PMU还提供3个稳压电源轨和1个LDO输出,为外部系统元件供电,无需额外的电源管理IC(PMIC)。此外,DA1469x产品系列还配备了一系列关键的增值接口,包括显示驱动器、音频接口、USB、高精度ADC、能驱动ERM和LRA电机的触觉控制驱动器、以及可编程步进电机控制器。

Dialog半导体公司高级副总裁兼连接技术业务部总经理Sean McGrath表示:“今天消费者对连网设备的需求随着每个新产品周期都在不断提高。我们的SmartBond™无线微控制器在市场上被认为不仅可以满足当今用户的需求,还能预测市场的发展方向,并为我们的客户在其下一个产品周期提供发展机会。与之前的产品相比,DA1469x系列的处理能力提高了一倍、可用资源增加了四倍、电池续航能力增加了一倍,成为迄今为止我们开发的最先进、功能最丰富的蓝牙产品之一。”

使用DA1469x产品系列的开发人员可以利用Dialog的软件开发套件SmartSnippets™,为其提供在该新MCU上开发业内最佳应用所需的工具。DA1469x多个型号将于2019年上半年开始量产。样品和开发套件可通过以下官网链接获得 https://www.dialog-semiconductor.com/products/da1469x-product-family

今年Dialog还将前往全球多个城市,开展首届SmartBond™无线微控制器技术巡回研讨会。该系列研讨会将针对所有SmartBond™产品系列提供信息介绍和实践培训,包括该最新的DA1469x系列。注册参加研讨会和了解更多详请,敬请访问 https://www.dialog-semiconductor.com/smartbond-technology-tour

围观 118

页面

订阅 RSS - MCU