MCU

MCU是Microcontroller Unit(微控制器单元)的缩写,它是一种集成了中央处理器(CPU)、存储器(ROM、RAM)、输入/输出端口(I/O)、定时器(Timer)、串行通信接口(UART、SPI、I2C等)和其他外围设备控制器的单个芯片。MCU通常用于嵌入式系统中,用于控制各种电子设备和系统。

由于其集成度高、体积小、功耗低以及成本相对较低等特点,MCU被广泛应用于各种嵌入式系统中,例如智能家居设备、医疗设备、汽车电子系统、工业自动化等。MCU的选择通常基于应用的需求,如处理性能、功耗、外设接口等因素。

双轮载人平衡车作为一种新型的交通工具,正慢慢渗透到我们的日常生活之中。其灵活、便捷以及环保的特性使其成为现代城市出行的理想新选择。然而,要实现这些特性,双轮载人平衡车的控制系统是关键,其中MCU又是控制系统的“智能大脑”。

1.jpg

爱普特推出的基于全国产RISC-V 32位MCU—APT32F173芯片的双轮载人平衡车方案,不仅通过集成多种模拟器件,减少外围器件,显著降低BOM成本;还兼具高稳定、高可靠性、高灵活性等突出特点,深受客户的认可和好评。

方案特性:

  • 电压范围:DC 30V-48V,可适应各种电源环境。

  • 功率范围:300W

  • 控制方式:双电阻霍尔有感FOC控制,双电机驱动。实现精确控制,提高电机效率,同时降低能耗。

  • 平衡车功能:高达200次/S的计算处理能力,提供安全保护平衡控制,超角度停止,倒地停止等多种功能。

  • 控制模式:支持远程遥控与腿控等多种模式,使驾驶更加灵活方便。

  • 安全可靠的保护功能:具备过欠压保护,过流保护,堵转保护,启动保护等全方位保护功能,为驾驶者安全保驾护航。

  • 简化电路设计,控制板电路简单,元器件少,从而降低BOM成本,提高系统可靠性。

  • 使用内部集成的运算放大器,减少外围器件,增益可配置,降低BOM成本,灵活性高。

  • 最快转换速率3MSPS的12位ADC,内部高精度电压参考源,保证精准的ADC采集,采样精准,从而控制更稳定,安全性更高。

系统框图:

2.png

该双轮载人平衡车方案的主控MCU采用的是爱普特新推出的APT32F173,该系列产品集高算力、高可靠、资源丰富且可支持双电机驱动等多种优势特点于一体。其采用的是全国产RISC-V内核,具有高度的可扩展性和灵活性,同时核内载8K ICACHE,具有单精度浮点和DSP运算能力,主频最高可达105MHz,跑分3.5 CoreMark/MHz,从而可充分发挥处理器的效率和性能。APT32F173系列还具有1.8V-5.5V宽电压优势,工作温度高达105℃,符合扩展工业级标准,支持CAN2.0和2.0B,可为工业控制、电机控制、家电等市场领域提供主流解决方案。

APT32F173系列更多芯片特性:

  • 工作温度:-40°C~105°C

  • 工作电压范围:1.8V~5.5V

  • 最高工作频率:105MHz

  • 128Kbytes内部闪存,支持ISP保护

  • 8Kbytes的数据闪存,32Kbytes的内部SRAM,8K ICACHE

  • 高效的5级执行流水线

  • 支持DSP指令和单精度浮点运算指令

  • 32位x32位的硬件整形乘法阵列

  • 支持2x6通道DMA,支持ETCB事件联动

  • 通信接口:1xI2C,3xUART,2xUSART,2xSPI,2xSIO,1xCAN

  • 最多支持54个GPIO,14个大电流管脚,所有GPIO均可配置为外部中断

  • 支持2个12位ADC共47通道

  • 1x12位DAC

  • 3个独立模拟比较器

  • 4个运算放大器

  • 支持8x10点阵LED驱动

  • 1个独立看门狗(IWDT)和窗口看门狗(WWDT)

  • 1x24位内核定时器CORET

  • 4x16位通用定时器/计数器GPTA,每个支持2路PWM输出功能

  • 6x16位通用定时器/计数器GPTB,每个支持3路PWM输出功能,其中2路可配置为互补带死区

  • 1x16位计数器COUNTERA

  • 4x16位基本计时器BT

  • 1x16位低功耗定时器LPT

  • 1x16位RTC

来源:爱普特微电子

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 11

概要

当谈到微控制器(MCU)和人工智能(AI)的结合,我们进入了一个激动人心的领域。传统上,AI应用程序需要大型计算机或云服务器的处理能力,但随着技术的发展,现在可以将AI嵌入到微控制器中。这为嵌入式系统、物联网设备、机器人和各种其他应用开启了新的可能性。

MCU AI的崛起

MCU AI代表着微控制器上的人工智能。它是将机器学习和深度学习模型部署到资源有限但功能强大的微控制器中,以实现智能决策和感知。以下是MCU AI的一些关键方面:

  • 低功耗: 微控制器通常以电池供电,因此低功耗是至关重要的。AI模型需要经过优化,以在微控制器上运行,同时尽量减小能耗。

  • 实时性: 微控制器常常用于实时控制系统,因此AI模型需要在极短的时间内执行,以应对即时需求。

  • 感知和决策: MCU AI可以使设备具备感知环境、分析数据并作出决策的能力。这对于自主机器人、智能传感器和自动控制系统尤为有用。

MCU AI的应用

MCU AI可以应用于各种领域,下面是一些示例:

  • 智能物联网设备: 微控制器上的AI可以使物联网设备更加智能,例如智能家居设备、智能灯具和智能门锁。它们可以学习用户的偏好,并自动适应不同环境。

  • 自主机器人: 微控制器上的AI使自主机器人能够避障、规划路径和执行任务,例如清扫机器人和无人机。

  • 医疗设备: 在医疗设备中,MCU AI可以用于监测患者的生命体征,提供早期警报和更好的病人护理。

  • 工业自动化: 微控制器上的AI可用于工业机器人、自动化生产线和质量控制系统,提高效率和质量。

作者开始深入进嵌入式AI这个领域,不过学习之前先了解如何用起来,跑起来。本篇文章聊一下如何移植TinyMaix推理框架到RT-THREAD并运行起来。

TinyMaix

TinyMaix:是矽速科技(Sipeed)利用两个周末的业余时间完成的项目,它是一款专为微控制器设计的轻量级开源机器学习库,面向单片机的超轻量级的神经网络推理库,即TinyML推理库,可以让你在任意单片机上运行轻量级深度学习模型。TinyMaix开源代码链接:https://github.com/sipeed/tinymaix

TinyMaix关键特性

  • 核心代码少于 400行(tm_layers.c+tm_model.c+arch_cpu.h), 代码段(.text)少于3KB

  • 低内存消耗,甚至 Arduino ATmega328 (32KB Flash, 2KB Ram) 都能基于 TinyMaix 跑 mnist(手写数字识别)

  • 支持 INT8/FP32/FP16 模型,实验性地支持 FP8 模型,支持 keras h5 或 tflite 模型转换

  • 支持多种芯片架构的专用指令优化: ARM SIMD/NEON/MVEI,RV32P, RV64V

  • 友好的用户接口,只需要 load/run 模型~

  • 支持全静态的内存配置(无需 malloc )

  • 即将支持 MaixHub 在线模型训练

TinyMaix底层依赖

TinyMaix可以简单理解为一个矩阵和向量计算库,目前已支持如下几种计算硬件:

#define TM_ARCH_CPU                 (0) //default, pure cpu compute
#define TM_ARCH_ARM_SIMD            (1) //ARM Cortex M4/M7, etc.
#define TM_ARCH_ARM_NEON            (2) //ARM Cortex A7, etc.
#define TM_ARCH_ARM_MVEI            (3) //ARMv8.1: M55, etc.
#define TM_ARCH_RV32P               (4) //T-head E907, etc.
#define TM_ARCH_RV64V               (5) //T-head C906,C910, etc.
#define TM_ARCH_CSKYV2              (6) //cskyv2 with dsp core
#define TM_ARCH_X86_SSE2            (7) //x86 sse2

对于ARM-Cortex系列MCU,可以支持纯CPU计算和SIMD计算。其中CPU计算部分无特殊依赖(计算代码均使用标准C实现)。SIMD部分,部分计算代码使用了C语言内嵌汇编实现,需要CPU支持相应的汇编指令,才可以正常编译、运行。

TinyMaix等级选择

TinyMaix目前支持两种等级:1. 选择最少代码和buf 2. 选择速度,需要更多代码和buf

#define TM_OPT0                     (0) //default, least code and buf
#define TM_OPT1                     (1) //opt for speed, need more code and buf
#define TM_OPT2                     (2) //TODO

TinyMaix量化

TinyMaix支持不同位宽的量化:

#define  TM_MDL_INT8    0
#define  TM_MDL_INT16   1
#define  TM_MDL_FP32    2
#define  TM_MDL_FP16    3
#define  TM_MDL_FP8_143 4 //experimental
#define  TM_MDL_FP8_152 5 //experimental

TinyMaix核心API

TinyMaix框架对上层应用程序提供的核心API主要位于代码仓的tinymaix.h文件中,其中:

1、模型API包含四个:模型加载,模型卸载,预处理,推理。

/******************************* MODEL FUNCTION ************************************/
tm_err_t tm_load  (tm_mdl_t* mdl, const uint8_t* bin, uint8_t*buf, tm_cb_t cb, tm_mat_t* in);   //load model
void     tm_unload(tm_mdl_t* mdl);                                      //remove model
tm_err_t tm_preprocess(tm_mdl_t* mdl, tm_pp_t pp_type, tm_mat_t* in, tm_mat_t* out);            //preprocess input data
tm_err_t tm_run   (tm_mdl_t* mdl, tm_mat_t* in, tm_mat_t* out);         //run model

2、统计函数:用于输出模型中间层信息

/******************************* STAT FUNCTION ************************************/
#if TM_ENABLE_STAT
tm_err_t tm_stat(tm_mdlbin_t* mdl);                    //stat model
#endif

3、工具函数,包含FP32和uint8的互转

/******************************* UTILS FUNCTION ************************************/
uint8_t TM_WEAK tm_fp32to8(float fp32);
float TM_WEAK tm_fp8to32(uint8_t fp8);

这里的模型,通常是预训练模型经过脚本转换生成的TinyMaix格式的模型;

TinyMaix移植到RT-Thread

1、TinyMaix移植到RT-Thread工作量其实不到,主要适配tm_port.h文件即可。

2、RT-Thread的配置是通过Kconfig设置一些参数的,所以我把硬件类型,选择等级,量化类型都修改为Kconfig进行配置。

#define  TM_ARCH                                   R_TINYMAIX_USING_ARCK_TYPE
#define TM_OPT_LEVEL               R_TINYMAIX_USING_OPTION_LEVEL
#define TM_MDL_TYPE                R_TINYMAIX_USING_MODULE_TYPE

3、TinyMaix需要对接平台内联,内存,打印等接口,所以我们修改对应宏定义,将其适配到RT-Thread平台的接口上。

#define TM_INLINE                   rt_inline
#define TM_WEAK                     rt_weak

#define tm_malloc(x)                rt_malloc(x)
#define tm_free(x)                  rt_free(x)

#define TM_PRINTF(...)              rt_kprintf(__VA_ARGS__)

4、TinyMaix调试依赖于精准的计时,我们需要适配其对应的几个宏定义,因为RT-Thread系统没有提供微秒级的接口,只有毫秒级的接口,所以我做了简单的适配。

#define TM_GET_US()                rt_tick_get_millisecond() / 1000;

#define TM_DBGT_INIT()              uint32_t _start,_finish;\
                                    float _time;\
                                    _start = TM_GET_US();

#define TM_DBGT_START()             _start = TM_GET_US();

#define TM_DBGT(x)                  {\
                                        _finish=TM_GET_US();\
                                        _time = (float)(_finish-_start) / 1.0;\
                                        TM_PRINTF("===%s use %.3f ms\n", (x), _time);\
                                        _start=TM_GET_US();\
                                    }

5、TinyMaix提供了多个实例,如:cifar10,mnist,vww等,RT-Thread支持命令行输入,为了实例可以在通过命令函运行,我们需要修改一下文件名和接口名字。

  • 我们将examples下的cifar10,mnist,vww三个实例下的main.c修改为对应实例的名字:cifar10.c,mnist.c,vww.c。

  • 将cifar10.c,mnist.c,vww.c中的main函数修改为对应实例名字。

int cifar10(int argc, char** argv)

int mnist(int argc, char** argv)

int vww(int argc, char** argv)
  • 将实例接口导出到命令行中。

MSH_CMD_EXPORT(cifar10, TinyMaix cifar10 example);

MSH_CMD_EXPORT(mnist, TinyMaix mnist example);

MSH_CMD_EXPORT(vww, TinyMaix vww example);

TinyMaix运行效果

实例的运行环境:STM32F401RE,M4内核,时钟频率:84MHz,RAM:96 KB,Flash:512 KB

1、cifar10实例,分类检测,识别图片是一只鸟:

1.jpg

2.jpg

2、mnist实例,数字识别,图片是一个数字2:

3.png

4.jpg

vww实例,检测有没有人,图片有人:

5.jpg

6.png

总结

1、TinyMaix作者已经做了一个RT-Thread的软件包:r-tinymaix。可以在RT-Thread中工程中加入软件包即可以验证。

2、r-tinymaix的开源链接:https://github.com/RiceChen0/r-tinymaix

3、TinyMaix非常赞,可以让一个普普通通的单片机拥有AI能力,让嵌入式AI成本减低。

来源:RTThread物联网操作系统

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 23

2023年10月30—11月1日,珠海极海半导体有限公司(以下简称“极海半导体”)携多款芯片产品亮相慕尼黑华南电子展,其中高性能APM32F035电机控制专用MCU为整机企业提供了高品质的电机MCU及方案选择。展会期间,珠海半导体开发工程师王衍绪接受了《半导体器件应用网》采访。

1.png

极海推出高性能电机控制专用MCU

助力客户产品快速投入市场

极海于2022年4月成立汽车电子芯片事业部,在国内汽车行业大环境推动与自身技术蓄力极海半导体是一家专注于工业控制、汽车电子、新能源等领域的集成电路芯片设计公司,并推出了多款基于Arm®  Cortex® -MO+/M3/M4F内核的32位工业级/车规级MCU,产品工作温度范围-40℃至125℃,已成功应用于变频器、编码器、电机驱动器、伺服控制器、逆变器、汽车车灯、充电桩、BMS电池管理等行业场景。

2.png

在本次展会中,针对电机市场,极海带来高性能、高性价比的APM32F035电机控制专用MCU ,其内置多种专用数学运算加速器,集成高速ADC、运放、比较器及CAN控制器等外设资源,能够极大地节省硬件开发成本、提高系统的性能和稳定性。

3.png

极海半导体紧跟行业发展趋势,实时关注客户面临的难题,在保证产品高可靠性的同时,助力客户产品快速导入市场。极海半导体开发工程师王衍绪表示:“针对电机市场,极海不仅建有完善的电机生态平台,还拥有行业资深的软硬件工程师以及算法工程师;硬件配套层面可提供高低压通用电机开发套件及细分领域专用PCB方案,软件配套层面则可根据客户实际应用方案需求,提供定制化算法及控制策略,助力客户简化产品开发流程,降低开发难度,实现产品更快更高效地投入市场。”

为电机应用注入全面开发服务

极海推出多款量产级应用方案

近年来,在新兴产业技术与市场快速更迭的推动下,全球范围内电机被广泛应用的同时,也呈现出智能化、高效能发展态势。极海始终秉持“领先的系统及生态服务能力,持续助力客户快速量产”的理念,致力于满足市场多元化应用开发需求。

王衍绪谈到:“除了全新推出的APM32F035外,极海依据不同电机细分应用市场,推出了风机、水泵、两轮车、高速吹风筒等一系列极具代表性的量产级应用方案。其中极海APM32F035实验室高速离心机应用,摒弃了传统方波控制方式,提供全新高性能矢量控制解决方案,支持启动无反转,能快速制动;同时精准控制反充电压,在超高转速运行时保持低噪声,比起市面上现有的产品拥有更优静音效果和加减速性能。”

持续扩大产品阵容

即将推出电机驱动新品

极海半导体始终致力于深耕中高端应用市场,并持续扩大产品阵容。王衍绪表示:“针对电机市场日益发展的应用需求,我们还将推出GHD3440电机专用栅极驱动器,以及集成预驱的APMSPIN32F020电机控制专用MCU ,这些新品将为客户提供更为丰富的电机产品选择。未来,我们也将持续为客户提供高性价比、高可靠性的芯片以及优质技术服务!”

来源:Geehy极海半导体

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 11

未来产品阵容包括采用先进小芯片封装(Chiplet)集成技术的R-Car SoC和基于Arm®核的车用MCU

11 月 7 日 - 全球半导体解决方案供应商瑞萨电子(TSE:6723)今日公开了针对汽车领域所有主要应用的下一代片上系统(SoC)和微控制器(MCU)计划。

1.jpg

瑞萨公开下一代车用SoC和MCU处理器产品路线图

2.jpg

瑞萨第五代R-Car产品家族

瑞萨预先公布了第五代R-Car SoC的相关信息,该SoC面向高性能应用,采用先进的Chiplet小芯片封装集成技术,将为车辆工程师在设计时带来更大的灵活度。举例来说,若高级驾驶辅助系统(ADAS)需要兼顾更突出的AI性能时,工程师可将AI加速器集成至单个芯片中。

瑞萨还分享了即将推出的下一代R-Car产品家族两款MCU产品规划:一款为全新跨界MCU系列,旨在为下一代汽车E/E架构中的域和区域电子控制单元(ECU)打造所需的高性能,这款产品将缩小传统MCU与先进R-Car SoC间的性能差距;瑞萨同时还将发布一款为车辆控制应用量身定制的独立MCU平台。这两款MCU都将采用Arm®架构,并将成为卓越的R-Car产品家族重要成员,为车辆工程师提供完善的可扩展选项和软件复用性。

作为产品路线图的一部分,瑞萨计划提供一个虚拟软件开发环境,配合汽车行业广为人知的“左移”模式。这些软件工具将允许客户在开发过程中更早地进行软件设计与测试。

Vivek Bhan, Senior Vice President, Co-General Manager of High Performance Computing, Analog and Power Solutions Group at Renesas表示:“基于与一级供应商和OEM客户多年的合作及讨论,瑞萨制定了这一路线图。我们收到最多的客户反馈是,需要在不影响质量的前提下加快开发速度。这意味着必须在拿到硬件之前启动软件设计和验证。因此,我们将继续投资“左移”模式和软件优先创新,部署新的可扩展嵌入式处理器,并加强瑞萨本已庞大的开发工具网络,助力客户实现目标。”

第五代R-Car SoC平台

直到第四代推出之前,R-Car SoC均针对特定案例而设计,例如需要高阶AI性能的ADAS/自动驾驶,以及具有增强通信功能的网关解决方案等。瑞萨的第五代R-Car SoC将采用Chiplet技术搭建一个灵活的平台,可根据不同案例的不同要求进行定制。新平台将提供从入门级到高端型号的多种处理器集,并可将AI加速器等各种IP,以及合作伙伴和客户的IP集成至单个封装。由此,将为用户带来根据自身需求定制设计的选择。

两款面向车辆控制应用的全新Arm内核MCU平台

随着汽车E/E架构的不断发展,域控制单元(DCU)和区域控制单元的高性能计算与实时处理能力变得愈发重要。瑞萨为应对这一挑战,开发了基于Arm核的32位跨界R-Car MCU平台,这一平台内置NVM(非易失性存储器),可提供比目前传统MCU更高的性能。此外,立足RH850产品家族MCU的卓越成就,瑞萨还推出同样采用Arm技术的全新R-Car MCU系列,以扩展其车辆控制产品阵容。这意味着车辆系统开发人员将首次能够借助Arm的软件和庞大生态系统,使用这些全新MCU来构建动力总成、车身控制、底盘和仪表盘系统。此次扩展将使瑞萨能够在MCU和SoC之间实现IP标准化,从而提升软件的可用性,降低客户开发费用。

瑞萨计划从2024年起,按照这一路线图陆续推出新产品。

软件开发环境

随着车载软件的规模和复杂性不断增加,使用硬件进行软件设计的传统模式因其冗长的生产流程而逐渐过时。瑞萨已率先推出应用软件虚拟开发环境,提供先进的调试与评估工具,用于分析和评估软件性能。从2024年一季度起,瑞萨将为下一代处理器提供这些工具。这样,开发人员甚至可以在下一代设备原型面世之前加速其软件开发工作,从而更快地将产品推向市场。

关于瑞萨电子

瑞萨电子(TSE: 6723),科技让生活更轻松,致力于打造更安全、更智能、可持续发展的未来。作为全球微控制器供应商,瑞萨电子融合了在嵌入式处理、模拟、电源及连接方面的专业知识,提供完整的半导体解决方案。成功产品组合加速汽车、工业、基础设施及物联网应用上市,赋能数十亿联网智能设备改善人们的工作和生活方式。更多信息,敬请访问renesas.com。关注瑞萨电子微信公众号,发现更多精彩内容。

围观 18

随着汽车产业朝着电动化和智能化趋势推进,车规MCU的市场需求持续增长。尤其是电动汽车,每一个功能实现都需要复杂的芯片方案支撑——例如汽车门窗控制、倒车刹车辅助系统、汽车空调、倒车雷达、多媒体信息娱乐等功能的控制。

1.png

全球车规级MCU芯片行业发展历程(资料来源:前瞻产业研究院)

作为头部MCU厂商,航顺芯片制定了车规SoC+高端MCU超市双战略,基于自身32位MCU研发实力,加速航顺车规SoC的产品布局,实现在汽车电子领域的快速扩张。

2021年~2023年航顺芯片陆续先后推出车规SoC产品:HK32AUTO39A和HK32A040系列,并成功进入车规级微控制器市场,在东南、东风、中兴、金康、柳汽等车厂部分车型的车身域和座舱域广泛应用。

航顺芯片结合工业和汽车行业的发展深度挖掘行业和客户需求,规划了未来产品方向——覆盖车身、网关、智能座舱、人工智能和自动驾驶等高阶控制。

2.png

HK32AUTO39A和HK32A040系列产品已通过汽车前装市场的导入和测试验证,经过几轮产品迭代,2022年正式通过了汽车电子产品严苛的AEC-Q100 可靠性和安全性认证。同时,产品品质符合零失效(Zero Defect)的供应链质量管理标准ISO/IATF 16949规范。

3.png

AEC-Q100认证

经过长达半年的培训,航顺芯片今年又通过了汽车功能安全ISO26262 ASIL-D产品设计流程认证,开始布局安全等级最高车规级微控制器产品,给汽车厂商们更具性价比更高性能的选择。

4.png

航顺芯片通过汽车功能安全ISO26262 ASIL-D最高等级认证

随着汽车功能复杂度提高,MCU将需要支撑更高端的汽车应用场景,这就要求MCU具备更强的算力、更大的资源以及更高的功能安全等级和信息安全。航顺芯片将会加大人才和研发投入,突破技术难点,提升CPU的算力,提供符合应用场景的关键芯片功能模块,并保证整个系统达到最高的功能安全等级和符合国际及国内标准的信息安全。

来源:航顺芯片

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com

围观 23

01、前言

STM32 MCU 新产品的早期用户有时候会遇见工具链还在完善中的情形,例如,一部分STM32 工具已经支持该产品,而另外一部分 STM32 工具还在更新中。具体到 Keil 用户,用户有可能可以使用 STM32CubeProgrammer 进行下载,但是 Keil 编译器中支持该产品系列的软件 Pack 还需要一些时间才会被更新。从而,用户能够使用 Keil 编译器进行编译甚至调试,但没法直接在 Keil 环境中对新产品进行下载。对此,用户可以选择等待,也可以自行扩展 Keil 的 FLM 来支持该产品。但考虑到用户产品开发的时间限制以及新的STM32 正式 Pack 很快就会发布,更简单快速的一种解决方案是在 Keil 中直接使用STM32CubeProgammer 在进行调试前下载。

02、步骤

这里以一个 NUCLEO-H723ZG 的 CRC_Example 为例。它是 STM32Cube 包中的一个完善的工程,可以正常使用配套的 Pack 进行编译下载调试。我们只是使用这个工程说明如何直接使用 STM32CubeProgrammer 进行 Flash 下载,没有其他特别的含义。首先,在 Keil 工程界面里,选择[Flash]->[Configure Flash Tools]菜单。

1.png

图1.配置菜单

或者在工程浏览器的工程名字上点击右键,选择[Options]然后选择[Utilities]

2.png

图2.工程选项

你可以看到如下菜单,说明该工程默认使用 Pack 中的 FLM 进行下载。

3.png

图3.配置工具选项

我们将其切换成[Use External Tool for Flash Programming]。

在[Command]中选择 STM32_Programmer_CLI.exe,它会自动填上所在的全路径,例如:

C:\ProgramFiles\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin\STM32_Programmer_CLI.exe 
在[Agruments]中输入使用 ST-Link 以及文件名参数,如下: 

-c port=swd -w #L 

STM32_Programmer_CLI 的更多用法,例如,在调试前修改某个特定选项字节,可以参考STM32CubeProgrammer 用户手册 UM2237。 

这里值得一提的是 Keil #L 参数的使用。为了该命令行的通用性,我们应该使用编译器工具提供的一些参数间接指向所需要烧录的路径及文件,而不是硬编码。这样,工程选项的改动,不影响该命令行;而且该命令行也可以在多个工程中复制使用。#L 以及其他类似参数的含义可以在 Keil 联机帮助中搜索 “ Key Sequence for Tool Parameters ”。设置界面如下:

4.png

图4.配置烧写指令

其中[Run Independent]的含义是,是否让 Keil 不需要等待该命令行执行完毕。我们希望按顺序执行,所以该选项没有勾上。用户可以切换此选项观察效果。

03、效果

这时候如果直接选择[Debug]

5.png

图5. 调试

则会发现 Flash 下载并没有发生。确实,这是其中不够完美的地方。但是如果选择[Download]

6.png

图6.下载

则会发现 Keil 调用 STM32CubeProgrammer 命令行进行当前工程的下载,如下所示:

7.png

图7.命令日志

然后,用户可以使用[Debug]启动调试,一切正常。所以,简单的方法就是,用户在调试前,按下 F8。这样比使用 Pack 的 FLM 并没有麻烦多少。

04、小结

本文提供了在 Keil 中使用STM32CubeProgrammer 来进行调试前下载固件的方法,适合 STM32 MCU 新产品的早期用户在使用 Keil 时进行参考。

来源:STM32单片机

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com

围观 34

英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)与Eatron Technologies签署合作协议,将Eatron先进的机器学习解决方案和算法集成至英飞凌的AURIX™ TC4x微控制器(MCU)中。此次合作旨在推进汽车电池管理系统(BMS)的发展。得益于MCU系列的尖端机器学习功能和集成并行处理单元(PPU),Eatron能够最大程度地提高其AI驱动的电池管理软件的性能和准确性。

配图:英飞凌AURIX™ TC4x微控制器.jpg

英飞凌AURIX TC4x微控制器

两家公司正在共同帮助电动汽车(EV)制造商解决迄今为止阻碍客户大规模采用电动汽车的三个技术挑战:里程焦虑、充电速度和电池健康。

Eatron首席执行官Umut Genc表示:“英飞凌的AURIX TC4x 并行处理单元(PPU)使我们能够提供基于AI的电池诊断,包括镀锂检测和预后,健康状态(SoH)和老化轨迹,以及边缘剩余使用寿命(RUL)预测。我们领先的全状态SoX解决方案可对可用电量、功率和电池健康状况进行最准确、最强大的电池级评估。这让TC4x 的用户有机会通过我们的软件和机器学习模型获得领先的电池管理系统( BMS)解决方案。”

PPU是一种片上单指令、多数据(SIMD)矢量数字信号处理器(DSP)。与传统CPU相比,可显著缩短计算时间。英飞凌在其生态系统中提供了一个自动化工具链,以确保能够最便捷、高效地处理PPU。例如,自动化工具链使客户能够自动将现有模型转换为矢量化代码。

英飞凌科技高级副总裁兼汽车微控制器产品线总经理Thomas Boehm表示:“英飞凌全新AURIX TC4x系列旨在提高众多xEV 应用的效率。如今,我们很自豪地宣布,AURIX TC4x克服了先前的计算性能限制,使我们的客户能够充分利用高精度模型和算法的价值。目前,电动汽车领域的新一轮技术进步正在推动电池管理系统(BMS)领域的蓬勃发展。我们在提供出色半导体硬件的同时,很高兴能与像Eatron这样的合作伙伴共同服务这一市场。”

关于EatronTechnologies

Eatron是一家快速成长的技术公司,致力于通过智能软件为全球所有汽车和电池制造商释放电池的全部潜能。Eatron开发AI驱动的边缘到云端连接的软件平台,为汽车、移动及其他领域提供更好、更安全、更耐用且更环保的电池。了解更多信息,请访问www.eatron.com

关于英飞凌

英飞凌科技股份公司是全球功率系统和物联网领域的半导体领导者。英飞凌以其产品和解决方案推动低碳化和数字化进程。该公司在全球拥有约56,200名员工,在2022财年(截至9月30日)的收入约为142亿欧元。英飞凌在法兰克福证券交易所上市(股票代码:IFX),在美国的OTCQX国际场外交易市场上市(股票代码:IFNNY)。

更多信息,请访问www.infineon.com

更多新闻请登录英飞凌新闻中心https://www.infineon.com/cms/cn/about-infineon/press/market-news/

英飞凌中国

英飞凌科技股份公司于1995年正式进入中国大陆市场。自1995年10月在无锡建立第一家企业以来,英飞凌的业务取得非常迅速的增长,在中国拥有约3,000多名员工,已经成为英飞凌全球业务发展的重要推动力。英飞凌在中国建立了涵盖研发、生产、销售、市场、技术支持等在内的完整的产业链,并在销售、技术研发、人才培养等方面与国内领先的企业、高等院校开展了深入的合作。

围观 16

Holtek持续扩展Touch A/D Flash MCU产品,新增系列成员BS86C12CA,延续优良抗干扰特性,提供丰富的定时器资源并支持LXT振荡器。引脚与BS86C08CBS86D12C相容,具高性价比,适合需求触控键、时间显示及PWM控制的应用产品,如:咖啡机、烤箱、浴室镜灯、LED台灯等产品。

1.jpg

BS86C12CA提供12个具高抗干扰的触控键,可通过CS (Conductive Susceptibility) 10V动态测试。宽工作电压1.8V~5.5V,系统资源包含4K×16 Flash ROM、512×8 RAM、512×8 EEPROM、10-bit CTM×4、10-bit PTM×1、高精准度±1%参考电压的12-bit ADC、I²C及高速UART等功能。

Holtek提供完整的触控函数库及软硬件开发工具,协助客户能快速应用于各式产品。封装提供24-pin SOP/SSOP及28-pin

来源:Holtek

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 12

页面

订阅 RSS - MCU