STM32

STM32有两个看门狗,独立看门狗和窗口看门狗。其实两者的功能是类似的,只是喂狗的限制时间不同。

窗口看门狗

窗口看门狗,之所以称为窗口,是因为其喂狗时间是一个有上下限的范围内,你可以通过设定相关寄存器,设定其上限时间和下限时间。喂狗的时间不能过早也不能过晚。

图1 窗口型看门狗

窗口看门狗的上窗口就是配置寄存器WWDG->CFR里设定的W[6:0];下窗口是固定的0x40;当窗口看门狗的计数器在上窗口值之外,或是低于下窗口值都会产生复位。

图2 窗口型看门狗工作原理

上窗口的值可以只有设定,7位二进制数最大只可以设定为127(0x7F),最小又必须大于下窗口的0x40,所以其取值范围为64~127(即:0x40~0x7F);配置寄存器WWDG->CFR中为计数器设定时钟分频系数,确定这个计数器可以定时的时间范围,从而确定窗口的时间范围。

窗口看门狗的时钟来自于PCLK1,在时钟配置中,其频率为外部时钟经倍频器后的二分频时钟,即为36MHz,根据手册可以知道其定时时间计算方法:


与独立看门狗的对比

1、使用条件对比


2、特点对比


3、两者的区别

独立看门狗与窗口看门狗的区别如下:

独立看门狗没有中断,窗口看门狗有中断。

独立看门狗有硬件软件之分,窗口看门狗只能软件控制。

独立看门狗只有下限,窗口看门狗有下限和上限。

独立看门狗是12位递减的,窗口看门狗是7位递减的。

独立看门狗是用的内部大约40KHz的RC振荡器,窗口看门狗是用的系统时钟APB1ENR

独立看门狗没有中断功能,只要在计数器减到0(下限)之前,重新装载计数器的值,就不会产生复位。

窗口看门狗有中断,这个中断的作用是在计数器达到下限0x40的时候,产生中断,让你喂狗;如果你不喂狗,计数器的值变为0x3f的时候,将会产生系统复位;即使是喂狗,也应该在中断里快速喂狗,要不时间长了计数器减1也会变成0x3f产生复位。

窗口看门狗还有一个上限值,这个值如果大于计数器的初始值,那么就没有任何作用了;这个值小于计数器初始值的时候,当计数器的值大于上限值时你对计数器进行装载,将会产生复位,只有在计数器减到小于上限值时,你才能重新装载计数器。意思就是说只有计数器的值在上限值和下限值之间你才能装载计数器,否则就会产生系统复位,当上限值小于下限值,也没有意义。

免责声明:本文系网络转载,版权归原作者所有。如有问题,请联系我们,谢谢!

围观 6

概念基础:

STM32时钟系统基本一致,不同系列之间有细微差别。此文档主要针对STM32F446的时钟系统进行介绍。

1. 时钟树概述

① 为何不是采用一个系统时钟?如51
因为STM32本身非常复杂,外设非常多,但是并非所有外设都需要系统时钟这么高的频率,比如看门狗和RTC只需要几十K的时钟即可。同一个电路,时钟越快,功耗越大,同时抗电磁干扰能力也会越弱,所以对于较为复杂的MCU一般采用多时钟源的方法来解决这些问题。

② 主要时钟源:
5个最主要的时钟源:
高速时钟源:HSI、HSE、PLL
低速时钟源:LSI、LSE
其中PLL实际又分为3个时钟源:主PLL、I2S部分专用PLLI2S、SAI部分专用PLLASI。

详解:
LSI是低速内部时钟,RC振荡器,频率为32K,供独立看门狗和自动唤醒单元使用。
LSE是低速外部时钟,接频率为32.768Khz的石英晶体,这个主要是RTC的时钟源。
HSE是高速外部时钟,频率范围为4Mhz-26Mhz,可以直接作为系统时钟或PLL输入。
HSI是高速内部时钟,RC振荡器,频率为16Mhz,可以直接作为系统时钟或PLL输入。
PLL为锁相环倍频输出,STM32F4有三个PLL:
a、 主PLL由HSE或HSI提供时钟信号,并具有两个不同的输出时钟。
第一个输出PLLP用于生成高速的系统时钟(最高180Mhz)
第二个输出PLLQ为48M,用于USB OTG FS时钟,随机数发生器的时钟和SDIO时钟。
b、 第一个专用PLL(PLLSAI)用于生成精确时钟,用作SAI输入时钟。Q是SAI时钟分频系数。P可以生成PLL48CLK用于给USB FS或SDIO提供48M时钟。
c、 第二个专用PLL(PLLI2S)用于生成精准时钟,在I2S和SAI上实现高品质音频性能。R是I2S时钟的分频系数,Q是SAI时钟的分频系数。

2. 常用时钟源选择

① 看门狗时钟:看门狗时钟只能是低速的LSI时钟,32Khz。
② RTC时钟源:可以选择LSI(32Khz)、LSE(32.768Khz)、HSE分频后提供(2-31分频)
③ 系统时钟SYSCLK:可选择HSE、HSI和PLL
④ USB高速设备会有外部PHY提供60Mhz
⑤ NOTE:
在上述的很多时钟输出中,有很多是带使能控制的,例如AHB总线时钟、内核时钟、各种APB1外设、APB2外设等。
APB1是外设低速总线
APB2是外设高速总线
一般时钟总线是设备总线的2倍
时钟主频可以设置为168Mhz,通过设置Over-driver模式可以超频到180Mhz
FLASH Latency 延时配置参考:


3. 时钟源使能和配置

在配置好时钟系统之后,如果我们要使用某些外设,例如GPIO、ADC,还要使能这些外设时钟,如果在使用外设之前没有使能外设时钟,这个外设是不可能正常运行的。

IO引脚复用器和映射

一个GPIO如果可以复用为内置外设的功能引脚,那么这个GOIO作为内置外设使用的时候,就叫做复用。

4. 寄存器配置

① RCC_CFGR,时钟配置寄存器


Bit2 bit3代表使用的时钟源,具体可查参考手册,系统刚上电时默认为内部HSI。

② RCC_PLLCFGR,PLL时钟配置寄存器


上电默认情况为HSI做为主PLL和I2SPLL的时钟入口。

③ RCC_CR,RCC时钟控制寄存器


通过Bit16可以切换为外部晶振。在时钟初始化的时候被调用。时钟切换之后,根据时钟设置逻辑,如果外部晶振使能了,则等待外部晶振正常起震。起震后查看RCC_CFRG寄存器,当前使用的还是HSI。下一步需要判断程序中是否要使用PLL,若使用,则继续进行PLL配置。

配置结束PLL的各种分频后,一块进行寄存器配置。此时再切换到外部HSE工作。

时钟配置过程:
(1)AHB配置预分频,得到HCLK时钟,分频值写入RCC_CFGR bit4-bit7
(2)系统时钟配置 RCC_CFGR bit0-bit1
(3)检查系统时钟状态是否切换成功 RCC_CFGR bit2-bit3
(4)APB1、APB2配置预分频,得到PCLK1、PCLK2时钟RCC_CFGR bit10-bit15
(5)更新系统全局变量SystemCoreClock

5. I2S时钟配置

(1)选择I2S外设的时钟源
(2)配置各项时钟分频系数,一般情况下使用PLLI2SR时钟
(3)计算时钟分频,需要在PLLI2SR上获得需要的48K

下列公式为参考手册提供:
When the master clock is generated (MCKOE in the SPIx_I2SPR register is set):
fS = I2SxCLK / [(16*2)*((2*I2SDIV)+ODD)*8)] when the channel frame is 16-bit wide
fS = I2SxCLK / [(32*2)*((2*I2SDIV)+ODD)*4)] when the channel frame is 32-bit wide
When the master clock is disabled (MCKOE bit cleared):
fS = I2SxCLK / [(16*2)*((2*I2SDIV)+ODD))] when the channel frame is 16-bit wide
fS = I2SxCLK / [(32*2)*((2*I2SDIV)+ODD))] when the channel frame is 32-bit wide
将计算额I2SDIV和奇数值ODD写入相应寄存器。
此例中,I2SxCLK为192MHz,使用48K时可以被整除,时钟准确,但是96K时不能被整除,造成时钟偏移。所以若需要进行I2S时钟动态调节,需要好好计算I2SxCLK。

版权声明:本文为CSDN博主「yk150915」的原创文章,
遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
https://blog.csdn.net/yk150915/article/details/79112766

围观 11

在STM32低功耗系列STM32L1产品线中,有些料号之间仅仅多了一个字母A的差别。经常有人问起这类带A与不带A的差别。如下图所示:


整体上讲,对于那些料号多了字母A的芯片,是后期推出的基于新工艺的芯片,将取代之前那些相应的不带A的料号。换言之,不带A的料号产品被归为不推荐使用产品,将逐步被带A的料号取代。带字母A料号的芯片在硬件管脚上完全兼容不带A的同型号产品,如果是从不带A的料号移植到带A的芯片上来,绝大部分场合是不需做任何调整的。当然,带A的产品在不带A产品基础上拓展或提升了部分特性,比如LCD驱动【STM32L1x2系列才有】、RTC、PCROP、动态功耗等方面。

关于二者的差别及移植,ST官方有个技术笔记TN1176做了详细的介绍。我这里稍作整理,将STM32L100XX与STM32L100XX-A ,STM32L15xxx与STM32L15xxx-A的差别罗列在下面。


另外,带A 产品的动态功耗要优于不带A 的产品,不过低功耗模式下的功耗二者整体比较接近。


最后提醒下,在基于带A 型号做产品的开发调试时,若需用到相对于不带A 型号的新增功能时,尽量使用最新ST 固件库、最新的开发环境并选择完整的带A 料号作为器件编号。更多细节,请阅读上面提到的技术笔记TN1176 和芯片对应的数据手册、参考手册。

来源:STM32单片机
https://mp.weixin.qq.com/s/EyXcn-HYaRdyZi8WBAPskQ

围观 6

意法半导体发布了三款功能安全软件包,简化基于STM32和STM8微控制器和微处理器的安全至关重要的工业、医疗、消费和汽车产品的开发。

这些软件包可免费下载使用,其中包含满足适用的IEC和ISO规范所需的资源。意法半导体拥有1000多款STM32微控制器,以及包括STM8AF汽车级认证产品在内的STM8系列微控制器,为开发者提供广泛的产品选型和亲民的价格,而价格昂贵的专用安全MCU通常是无法做到这两点的。

工业用功能安全软件包X-CUBE-STL通过了TÜV Rheinland认证测试机构的IEC 61508 SC3认证,与安全手册的使用条件配合使用,可以在STM32上实现安全完整性等级SIL-2或SIL-3的安全功能。

X-CUBE-STL现已上线,支持大多数STM32产品,按照计划,2020年第四季度将发布支持STM32L5、双核STM32H7和STM32MP1的软件包。

面向安全至关重要的家用电器,X-CUBE-CLASSB通过了Underwriters Laboratories(UL)的IEC 60335-1和60730-1的功能安全认证,适用于STM32F0、G0、F1、F3、G4、F2、F4、F7、H7、L0、L1、L4和WB系列STM32微控制器。

STM8-SafeCLASSB软件包让设备开发人员能够利用STM8产品的高能效、低成本和低功耗优势。

X-CUBE-STLX-CUBE-CLASSBSTM8-SafeCLASSB包含与应用无关的针对CPU内核和内存组件的自检库,以及必要的安全文档。

STM8A-SafeASIL软件包提供最高ASIL B级汽车功能安全应用开发所需的文档,适用于符合ISO26262的软件开发流程,可帮助用户实现STM8AF安全手册要求的软件自检库。

所有嵌入式开发人员都能利用这些软件包来克服工程难题,加快项目研发周期,最大程度地降低认证成本。

ST 授权合作伙伴的服务支持覆盖产品开发生命周期的各个阶段,包括安全要求制订;安全诊断、测试和验证;以及产品认证。这些授权合作伙伴包括Embedded Office、Microsoft、 Arm®、SEGGER和Wittenstein,每家授权公司都提供支持STM32微控制器和微处理器的安全RTOS操作系统。此外,IAR Systems和Arm还提供取得功能安全认证的STM8和STM32编译器。

Embedded Office、Hitex、innotec、MESCO和NewTec提供软件、设计和工程服务、参考平台和培训设施,以支持客户项目开发。

新功能安全软件包现已上线,用户可免费下载使用。X-CUBE-STLSTM8A-SafeASIL下载需要签订保密协议(NDA)。详情联系意法半导体当地销售办事处。

详情访问 https://www.st.com/functionalsafety

关于意法半导体

意法半导体(STMicroelectronics; ST)是全球领先的半导体公司,提供与日常生活息息相关的智能的、高能效的产品及解决方案。意法半导体的产品无处不在,致力于与客户共同努力实现智能驾驶、智能工厂、智慧城市和智能家居,以及下一代移动和物联网产品。享受科技、享受生活,意法半导体主张科技引领智能生活(life.augmented)的理念。意法半导体2019年净收入95.6亿美元,在全球拥有10万余客户。详情请浏览意法半导体公司网站:www.st.com

围观 4

作者:wenzid

内存映射

在一些桌面程序中,整个内存映射是通过虚拟内存来进行管理的,使用一种称为内存管理单元(MMU)的硬件结构来将程序的内存映射到物理RAM。在对于 RAM 紧缺的嵌入式系统中,是缺少 MMU 内存管理单元的。因此在一些嵌入式系统中,比如常用的 STM32 来讲,内存映射被划分为闪存段(也被称为Flash,用于存储代码和只读数据)和RAM段,用于存储读写数据。

STM32 的 Flash 和 RAM 地址范围

笔者标题所说的内存是指 STM32 的 Flash 和 RAM,下图是 ARM Cortex M3 的地址映射图:


从图中我们可以看到 RAM 地址是从 0x2000 0000 开始的,Flash地址是从 0x0800 0000 开始的,笔者将在下文中着重对这两部分进行剖析。

Flash

代码和数据是存放在 flash 中的,下面是将 flash 内部进行细分之后的一张图,图中标明了代码段,数据段以及常量在 flash 中的位置。


如上图所示,Flash 又可以细分为这么几个部分,分别是文本段 (Text),其中文本段中又包含可执行代码 (Executable Code)和常量 (Literal Value),在文本段之后就是只读数据区域 (Read Only Data),当然并不是所有架构的单片机都满足这样一个排布规律,这里只针对ARM Cortex M3 系列,只读数据段后面接着的就是数据复制段 (Copy of Data Section),第一次遇到这个概念的朋友看到数据复制可能会有所疑惑,其实这个段充当的作用是存放程序中初始化为非 0 值的全局变量的初始值,之所以要将初始值存放到这里,是因为全局变量是存放在 RAM 上的,RAM 上的值掉电便丢失,每次上电后这些变量是要进行重新赋值的,而重新赋的值就存放在这里。那为什么不存放初始化为 0 的全局变量初始值呢,原因也很简单,既然是初始化为 0,那么在上电后统一对存放初始化为 0 的全局变量的那块区域清0就好了。

下面举一个例子分析各个变量在上述中的存储位置:

#include <stdio.h>
const int read_only_variable = 2000;
int data = 500;

void my_function(void)
{
	int x = 200;
	char *str = "string";
}

在上述代码中,read_only_variable 是一个用 const 修饰的全局变量,它是只读的,存放在 flash 中的只读数据区域,编译器会给 read_only_variable 分配一个地址,并将 2000 这个数据存放到这个位置。data 这个变量将存放到 RAM 中的RW区域中 (后面将会进行详细讲解),但是 data 后面的初始值 500 将会被存放到数据复制区域中, 也就是上图中从下往上的第三个区域。在 my_function 中的变量 x 将会被存放到 RAM 中的堆栈中,将 x 赋值为 200 ,200 将被存储到 flash 里的 Text 中的常量区 (Literal Valu) 中。str 是一个 char 型的指针变量,它指向的是字符串第一个字符存放的位置,然而对于字符串 string 来讲,它是存放在Text常量区的,所以指针变量指向这个区域的一个地址,但是因为它终归中局部变量,它指向 Flash 的一个地址,但是其本身还是存放于 RAM 中的堆栈上的。

RAM

STM32单片机的片内RAM会被链接文件“分区”为如下几个段:


如上图所示,RAM 中包含了如下几个部分:

  • 栈 (Stack) : 存放局部变量和函数调用时的返回地址
  • 堆 (heap) : 由 malloc 申请,由 free 释放
  • bss : 存放未初始化或者是初始化为 0 的全局变量
  • data : 存放初始化为非 0 值的全局变量

下面举一个简单的例子来说明变量在各个段中的存储位置:

#include <stdio.h>
#include <stdlib.h>
int data_var = 500;
int bss_var0;
int bss_var1 = 0;
static int static_var;

void my_function(void)
{
	static int static_var1 = 0;
	int stack = 0;
	char *buffer;
	const int value = 1;
	buffer = malloc(10);
}

上述变量的命名已经很清楚地表明了变量处于 RAM 中的哪一个段,data_var 是已经初始化的全局变量,存放在 RAM 的 data 区,bss_var0 和 bss_var1是未初始化和初始化为0的全局变量,他们都存放于 RAM 中的 bss段,由 static 修饰的static_var 和 static_var1 都存放于 bss段,区别只在于两个变量的作用域不同。stack 是在函数内部定义的局部变量,其存放于 RAM 的栈区域,用 const 修饰的局部变量 value ,虽然他是只读的,但是它是存储于 RAM 中的栈中的,这里也说明一点,并不是所有用 const 修饰的变量都是存放于只读变量区的。buffer指针变量用 malloc 函数申请了 10 字节的内存空间,那这10字节的内存空间位于堆中。

堆栈溢出

如果在程序运行的过程中,堆的空间也一直在消耗,同时栈的空间也在增加,那么这时堆和栈如果碰到一起,那么就会造成堆栈溢出,从而导致我们的程序跑飞。

STM32中的map文件分析

在用 keil 编译 STM32 工程之后,我们会得到一个 map 文件,map 文件的最底部有这么一个信息:


上图中的各个段是和上文所述是能够进行对应起来的,正如下面这张表所示:


总结

对于 RAM 和 flash 空间都有限的 MCU 来讲,了解各个变量在内存中的存储位置是很有必要的,他能够很好地帮助我们去解决很多问题。

最后如果您觉得文章对您有所帮助,欢迎关注作者个人公众号:wenzi嵌入式软件

本文转自博客园 - wenzi
https://www.cnblogs.com/wenziw5/p/12801667.html

围观 22

STM32系列是ST公司基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核的32位单片机。按内核架构分为不同产品:

STM32外设有哪些?

其中STM32F系列有:STM32F103“增强型”系列、STM32F101“基本型”系列、STM32F105、STM32F107“互联型”系列。

增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是32位产品用户的最佳选择。两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,相当于0.5mA/MHz。

在STM32F105和STM32F107互连型系列微控制器之前,意法半导体已经推出STM32基本型系列、增强型系列、USB基本型系列、互补型系列;新系列产品沿用增强型系列的72MHz处理频率。内存包括64KB到256KB闪存和 20KB到64KB嵌入式SRAM。新系列采用LQFP64、LQFP100和LFBGA100三种封装,不同的封装保持引脚排列一致性,结合STM32平台的设计理念,开发人员通过选择产品可重新优化功能、存储器、性能和引脚数量,以最小的硬件变化来满足个性化的应用需求。

STM32外设有哪些?

外设指的是单片机外部的外围功能模块,比如键盘控制芯片,液晶,A/D转换芯片,等等。外设可通过单片机的I/O,SPI,I2C等总线控制。

常见STM32外设:基本IO、定时器TIM、串口USART、ADC模数转换、DAC数模转换、SPI串行通信、EXIT外部中断、BKP备份数据、RTC闹钟SysTIck系统滴答、WDG看门狗(独立+窗口)、DMA传输数据、片内FLASH编程、FSMC读写外部SRAM、外部NorFlash操作等。

STM32外设的初始化和设置:在设置一个外设前,必须调用以下一个函数来使能它的时钟RCC_AHBPeriphClockCmd(RCC_AHBPeriph_PPPx, ENABLE);

1.在主应用文件中声明一个结构PPP_InitTypeDef,例如: PPP_InitTypeDef

PPP_InitStructure;

2.为变量PPP_InitStructure的各个结构成员填入允许的值。可以采用以下2种方式:

a) PPP_InitStructure.member1 = val1;

b) PPP_StrucTInit(&PPP_InitStructure) PP_InitStructure.memberX = valX;

3.调用函数PPP_Init()来初始化外设PPP;

4.在这一步,外设PPP已被初始化。可以调用函数PPP_Cmd( )来使能之。

使用STM32外设的步骤:

1.PPP_Init() 函数,其功能是根据PPP_InitTypeDef中指定的参数,初始化外设PPP,如TIM_Init()名为PPP_DeInit()函数,其功能为复位外设PPP的所有寄存器至缺省值。

2.PPP_StructInit() 函数,其功能为通过设置PPP_InitTypeDef 结构中的各种参数来定义外设的功能,例如:USART_StructInit()。

3.PPP_Cmd() 函数,其功能为使能或者失能外设PPP,例如:SPI_Cmd。

4.PPP_ITConfig() 函数,其功能为使能或者失能来自外设PPP的中断源,例如:RCC_ITConfig。

5.PPP_DMAConfig() 的函数,其功能为使能或者失能外PPP的DMA接口。

6.PPP_GetFlagStatus() 的函数,其功能为检查外设PPP某标志位被设置与否。

7.PPP_ClearFlag() 的函数,其功能为清除外设PPP标志位,例如:I2C_ClearFlag。

8.PPP_GetITStatus() 的函数,其功能为判断来自外设PPP的中断发生与否。

9.PPP_ClearITPendingBit() 的函数,其功能为清除外设PPP中断待处理标志位。

转自: 嵌入式资讯精选

围观 16

2020年2月28日 – 横跨多重电子应用领域的全球领先的半导体供应商意法半导体(STMicroelectronics,简称ST; 纽约证券交易所代码:STM) 为STM32MP1系统微处理器(MPU)产品增加了新的授权合作伙伴和软件功能,并显著提升了处理性能,将时钟速度提高到800MHz,软件引脚与650MHz产品兼容。

新STM32MP1 MPUs现在搭载800MHz Arm®Cortex®-A7双核应用处理器和209MHz Cortex-M4处理器,具有优异的语音和音频处理性能,解码质量达到高清视频级别,在神经网络和机器学习应用中,能够实现更强大的AI(人工智能)功能,还为Android系统带来更好的用户体验。新产品集成运算及3D图形加速器,兼备高能效实时控制和高集成度。

Qt公司高级副总裁Petteri Holländer表示:“我们的高人气的Qt HMI工具包及其基于QML的GUI应用软件都可以部署在STM32 MCU和STM32MP1平台上,在大幅降低开发成本的同时加快客户产品交付周期。ST和Qt的可扩展工具套件可以轻松利用STM32MP1的硬件资源,尤其是3D 硬件GPU加速器,为工业 / 物联网应用带来一个流畅的人机界面渲染解决方案。”

利用STM32MP1的灵活架构,新产品增强了客户代码安全保护功能,例如,身份验证安全启动、客户可用一次性可编程熔丝,以及安全操作系统(OP-TEE:可信执行环境)。密钥生成器签名工具、STM32CubeProgrammer和硬件安全模块(STM32HSM)等整套安全工具可将客户的加密数据安全地输入微处理器。

作为一个主线开源Linux操作系统,OpenSTLinux Distribution 具有在应用处理器内核上运行软件所需的全部基本组件,帮助客户加快开发周期,现在又新增了Android开发者软件包和云计算支持。意法半导体继续积极参与Linux社区开发,坚持主线内核战略。

Bootlin首席执行官Michael Opdenacker表示:“ ST积极参与Linux内核社区活动,这给我们留下深刻的印象。Linux和STM32MP1同步发布将使此次发布会得到更高的关注度。我们认为,ST知道客户的兴趣在哪里,主线版本支持开源项目,新版本免费升级,零成本安全更新,开发社区支持,以及保护长期投资。享有相同的开源DNA,Bootlin很荣幸能成为ST授权合作伙伴,在这个平台上向全球客户提供工程和培训服务。”

除了STM32CubeMX和STM32CubeProgrammer等强大软件工具外,现在STM32CubeIDE调试器也可以在Cortex M-4内核上使用。

授权合作伙伴数量的快速增长极大地扩大了客户的研发能力范围,并加快了STM32MP1系列MPU应用开发周期。除了嵌入式软件 和软件开发工具外,合作伙伴还在培训 和 工程服务方面贡献专业知识。意法半导体与Phytec等多家模块系统厂商合作,满足客户对本地技术支持和系统灵活性的需求。

Phytec产品经理Yves Astein表示:“持续丰富扩大的STM32MP1产品系列,以及大量的图形处理功能和丰富的通信接口,为Phytec的phyCORE-STM32MP1系统模块提供了工业级外设,使得该模块成为人机接口以及各种实时交互应用的最佳选择。这款PhyCore 系统级模块及长期维护服务可降低任何嵌入式设计的复杂性,同时与ST团队的良好关系使我们能够按时交付系统模块,保证客户设计安全。”

意法半导体还与系统级封装制造商Octavo Systems合作,满足空间受限应用的设计需求。

Octavo Systems战略副总裁Greg Sheridan表示:我们很快意识到,Octavo必须开发一个基于STM32MP1的系统级封装,利用ST的Cortex-M产品悠久的成功历史来简化微处理器的开发使用。我们的OSD32MP1 SiP在一个18mm x 18mm的微型封装内集成STM32MP1、STPMIC1、DDR3、振荡器和无源器件,使微处理器像微控制器一样容易上手,让设计人员没有任何生疏感。结合ST授权合作伙伴计划的支持,OSD32MP1 SiP让客户能够在一款功能强大的微处理器上快速开发产品。”

STM32MP1 MPU已通过工业标准认证,结温范围-40°C至125°C,10年成本归集期作业率为100%。800MHz Cortex-A7版STM32MP1现已投产。

详情查阅https://blog.st.com/mpu-stm32mp1/

围观 4

页面

订阅 RSS - STM32