STM32CubeMonitor

1、目标

通过本 LAT 实现一个从 LoRa 节点、LoRa 服务器、终端应用之间的数据或者命令的相互传输的过程。

“如何用STM32CubeMonitor图形化显示Lora节点信息"

2. 实验准备

为了实现上面目标,需要准备一些必要的软件和硬件。软件的安装、硬件的介绍和STM32CUBEMX 工具的使用,在本 LAT 中不做介绍。

“如何用STM32CubeMonitor图形化显示Lora节点信息"

“如何用STM32CubeMonitor图形化显示Lora节点信息"

3.服务器端账号和网关注册

这里只是简单描述,详情请参考 UM2587,可以到 WWW.ST.COM 网站下载

“如何用STM32CubeMonitor图形化显示Lora节点信息"

3.1. 账号注册

首先,要在远程服务器上注册自己的账户,本实验以 www.loriot.io 提供的免费服务器为例,创建自己的账户, 见图 2。请注意,在注册时选择正确的服务器网站。在本实验中,我们选择了 Singapore 的服务器,网址是 ap1.loriot.io

3.2.配置网关

在成功正确的注册完账户之后,我们需要在这个账户下注册我们需要的网关。其中需要注意几个方面:

➢配置网关使用不同的频段,在本实验中我们使用的是 CN470,如果网关地址不是的CN470 的话,需要使用下面 AT 指令对网关设备进行修改:

AT+CH=CN470PREQUEL

AT+CH=0,471.5,A

AT+CH=1,471.7,A

AT+CH=2,472.9,A

AT+CH=3,472.1,A

AT+CH=4,472.3,B

AT+CH=5,472.5,B

AT+CH=6,472.7,B

AT+CH=7,472.9,B

AT+CH=8,OFF

AT+CH=9,OFF

➢调整 LoRaWAN® 服务器, MAC 地址, 网关的 EUI。在做实验之前需要确认网关链接的网络服务器和你注册这个网关的服务器一致。本实验中使用的是 Singapore,而缺省的是 EU1,所以要使用下面 AT 指令进行修改。

AT+PKTFWD=ap1.loriot.io,1780,1780

3.3.注册网关和设备

➢ 注册网关, 登录注册的账户后,可以看到下图的 LORIOT 的 Dashboard。选择“Register a new gateway”进行网关注册,一般我们选择基础平台为“Packet Forwarder STM”,然后从我们网关设备的串口 log 拷贝 MAC 地址。

➢ 注册设备,请注意这点需要用到后面的一些参数(device EUI, Join EUI, Application key),所以刚开始实验可以先跳过这里。请选择[Loriot Dashboard]>[Application]>[SampleApp]>[Enroll Device]。然后按照步骤注册。

➢ 在注册完成后,[Loriot Dashboard]>[Application]>[SampleApp]>[output]拷贝外部应用访问服务器的连接,后面的 cubemx 需要用到。

“如何用STM32CubeMonitor图形化显示Lora节点信息"

“如何用STM32CubeMonitor图形化显示Lora节点信息"

下面两个范例分别为参考地为相邻层 L2 和参考地为两侧共面加参考层 L2 的仿真结果,仿真的阻抗为

单端 50ohm。从结果可以看出增加两侧共面为参考层可以减小阻抗线的宽度。

下面的范例图 8 为采用 L3 参考层为参考地时的仿真结果,与图 7 相比,结果显示由于参考地距离射

频走线更远,在保持共面地间距不变的情况下需要更宽的走线来达到同样的 50ohm 阻抗。如果觉得阻

抗线的宽度不理想可以适当调整阻抗线与两侧 GND 之间的间距。

图 9 为差分 100ohm 阻抗线设置范例,可通过差分线之间的间距,差分线宽度,差分线与两侧 GND

间距以及参考平面来调整阻抗。

4.设备搭建

在创建工程之前,下载最新的 STM32CUBEWL 软件包、X-CUBE-MEMS1和 STM32CUBEMX 并安装。

4.1. 创建工程

➢ 首先,打开 STM32CUBEMX,选择从“Start my project from Example”生成工程,然后搜索 Keyword “LoRaWAN_End_Node”.

➢ 然后,双击选中的工程。并且选择一个保存实验工程的路径。这个时候,我们就可以看到一个基本的 STM32CUBEMX 工程。

➢ 也可以直接从 STM32WL 的 Library 路径下面,在下面路径下,复制并粘贴工程文件STM32Cube_FW_WL_V x.x.x\Projects\NUCLEO

WL55JC\Applications\LoRaWAN\LoRaWAN_End_Node , 然后重命名为 LoRaWAN_End_Node_Sensor,最后打开工程文件里面的 STM32CUEMX 工程文件。

➢ 接着对工程做一些简单的修改:

1. 配置频段,缺省的频段是欧洲频段,本实验使用的中国频段 CN470.见图 4.

2. 增加 sensor 的配置。

a) 选择正确的 sensor 型号驱动软件,使用温度、湿度和压力。见图 5。

b) 使能访问 sensor 板的 I2C2 外设,根据 NUCLEO-WL55JC2 原理图,

配置对应的 I2C 总线 GPIO 为 PA11 和 PA12,见图 6。

c) 使能 senor 板,并且选择正确的 i2c 驱动见图 7.

d) 生成代码。见图 8

“如何用STM32CubeMonitor图形化显示Lora节点信息"

“如何用STM32CubeMonitor图形化显示Lora节点信息"

“如何用STM32CubeMonitor图形化显示Lora节点信息"

“如何用STM32CubeMonitor图形化显示Lora节点信息"

“如何用STM32CubeMonitor图形化显示Lora节点信息"

3. 代码修改

(i) 添加宏定义,在 IAR 的“Option 设置->C/C++ Compiler->Preprocessor”的 “Define symbols”中添加 X_NUCLEO_IKS01A3”,见图 9。

(ii) 找到 sys_sensors.h 使能 Sensor, 见图 10. #define SENSOR_ENABLED 1

(iii) 在“lora_app.c”的“SendTxData”函数中,修改 Lora 提取的上传数据,见图 11.

(iv) 为了更加容易加入网络,将CN470_FIRST_RX1_CHANNEL 改为“( (uint32_t) 470300000 )”。

(v) 将 BSP_BUTTON_SWx_IT_PRIORITY 改为 15。

(vi)将由于有 sensor 读取,所以关掉低功耗模式。

#define LOW_POWER_DISABLE 1

(vii)最后编译运行,可以从串口 log 看到下面的运行信息,如图 12,然后拷贝设

备信息(device EUI, Join EUI, Application key)继续完成 3.3 对设备的注册。

“如何用STM32CubeMonitor图形化显示Lora节点信息"

“如何用STM32CubeMonitor图形化显示Lora节点信息"

“如何用STM32CubeMonitor图形化显示Lora节点信息"

“如何用STM32CubeMonitor图形化显示Lora节点信息"

5.创建 STM32CubeMonitor 工程

通过创建一个 STM32CubeMonitor 工程,来显示 sensor 的数据,从而达到终端数据的利用展示。

5.1. 创建一个新的 STM32CubeMonitor 工程。

1. 打开 STM32CubeMonitor, 单击图 12 的“+”图标,创建一个 flow。

2. 双击默认 basic flow, 然后单击“Delete”按钮,见图 13。

3. 修改 新 flow 的名字为自己想要的名字,这里改为STM32WL_Sensor_Dashboard,见图 14。

4. 创建与 flow 关联的 Dashboard, 见图 15。

5. 创建关联的 group 并且修改,将鼠标放置在新建 tab 上,选择“+tab”添加 group ,并且通过选择“edit”编辑需要的名字,这里设为

“STM32WL_Sensor_Dashboard”,见图 16。

6. 用与步骤 5 相同的方式,修改 group 为“STM32WL_Sensor”

“如何用STM32CubeMonitor图形化显示Lora节点信息"

“如何用STM32CubeMonitor图形化显示Lora节点信息"

“如何用STM32CubeMonitor图形化显示Lora节点信息"

“如何用STM32CubeMonitor图形化显示Lora节点信息"

“如何用STM32CubeMonitor图形化显示Lora节点信息"

5.2. 添加需要的控件。

1. 从控件面板中拖拽需要的控件到 flow 中,从而实现需要显示的功能。这里需要用到 2个 TEXT 控件来显示文本信息;3 个 gauge 来显示 sensor 数据;两个 function 控件来,转换 json 格式,一个 comment 来提示输入;一个 websocket 输入和一个 websocket 输出;一个 led 来显示板子 LED 灯状态,一个 switch 来个控制板子的LED 灯的显示。见图 17。

“如何用STM32CubeMonitor图形化显示Lora节点信息"

2. 逐个双击 flow 上的每个控件打开其属性窗口,接着对逐个的参数进行修改,并将它关联到“STM32WL_Sensor”group。

➢ 修改“comment”控件,修改名字为“Remind”在文本框内添加一些提醒内容,如“Edit the "Loriot Uplink" node with your LORIOT WebSocket Token;you will find your LORIOT WebSocket Token under Application -> SampleApp -> Output.”

➢ 修改其中一个“TEXT”控件,修改 Label 为 “STM32WL_Sensor_Dashboard”;修改 Name 为 “Title”;选择 group 为 “STM32WL_Sensor”;size 设置 6x2,最后我们还再统一调整。在 layout 根据需要选择显示时的字体排列。

➢ 修改另外一个“TEXT”控件,修改 Label 为“LED”;修改 Name 为 “LED Status”;选择 group 为“STM32WL_Sensor”;size 设置 1x1,在 layout 根据需要选择显示时的字体排列。

➢ 修改“Websocket in”控件,选择 Type 为“connect on”;修改 Name 为“Loriot uplink”;添加 path 为前面提到的从服务器获取的 link(见 3.3),

这个例程中用到为“wss://ap1.loriot.io/app?token=vnoGCAAAAA1hcDEubG9yaW90LmlvXyeT

wWbRSI-MCBQC04gzTg==”

➢ 修改“Websocket out ”控件,选择 Type 为“Connect to”;修改 name 为 “Loriot DownLink”,path 它会自动填充 websocket in 的路径。

➢ 修改 “LED”控件,修改 Name 为 “LED”;选择 group 为“STM32WL_Sensor”;size 设置 1x1;在“Colors for value of msg.payload”下,单击“X”删掉一个选项,并且点击下拉箭头将类型选为 “number”,同时将 number 设为“1”,然后选择一个你喜欢的颜色,意思 是当收到数字为“1”时,显示红色。如图 18.

“如何用STM32CubeMonitor图形化显示Lora节点信息"

➢ 修改 “json”控件,修改 Name 为 “json”,其它的默认就可以了。

➢ 修改一个 function 控件,修改名字为“Decode Sensor Parameter ”,这里我们需要写一个函数来提取 sensor 数据,在“ON message”选项添加函数如图 19:

if (msg.payload.cmd ==="tx") return ;

var LedState = {payload: parseInt("0x" + msg.payload.data.substring(0, 2))};

var Pressure = {payload: parseInt("0x" + msg.payload.data.substring(2, 6))};

var Temperature = {payload: parseInt("0x" + msg.payload.data.substring(6, 8))};

var Humidity = {payload: parseInt("0x" + msg.payload.data.substring(8, 12))};

return [ LedState,Pressure, Temperature, Humidity];

同时在“Setup”选项中设置输出个数为 4;

“如何用STM32CubeMonitor图形化显示Lora节点信息"

➢ 修改“Switch”控件,修改 Label 为“LED ON/OFF”;修改 Name 为 “LED Switch”;选择 group 为“STM32WL_Sensor”;size 设置为 3x1; 添加一个 topic 域为“ MessageTx_LED”,如图 20.

“如何用STM32CubeMonitor图形化显示Lora节点信息"

➢ 修改另一个“function”控件,修改名字为“Encode LED Parameter ”,这里需要一个函数来提取 sensor 数据,在“ON message”选项添加函数如图 21,请注意这里用了 Device EUI, 这里需要从节点设备的信息 log 中获取。

“如何用STM32CubeMonitor图形化显示Lora节点信息"

➢ 修改“Gauge”控件,现在任意一个“Gauge”控件,双击设置属性,选择group为“STM32WL_Sensor”,size设置为4x3,Label为“Pressure”, range 的 min 为“900”,max 为“1100”,如图 22.

➢ 同理修改其它“Gauge”控件,选择一个“Gauge”控件,双击设置属性,选择 group 为“STM32WL_Sensor”,size 设置为 4x3,Label 为“Temperature”,range 的 min 为“0”,max 为“50”。

➢修改“Gauge”控件,将最后一个“Gauge”控件,双击设置属性,选择group为“STM32WL_Sensor”,size设置为 4x3,Label为“Humidity”, range 的 min 为“0”,max 为“100 “.

“如何用STM32CubeMonitor图形化显示Lora节点信息"

3. 修改完控件之后,我们需要将其所有的控件关联在一起。将一个控件的节点拖拽到另外一个需要关联的控件即可,如图 23。这里要特别注意的是 decoder 的输出函数的输出值的顺序必须跟你需要显示的值一致,这里是按照“LedState,Pressure, Temperature, Humidity”顺序,所以必须是 led 控件连接到最上面一个输出口。

“如何用STM32CubeMonitor图形化显示Lora节点信息"

4. 按照之前 5.1.5 的方式再次选择 Dashboard-》layout 对显示界面进行布局。如图 24。

图中右侧宽度是总的显示宽度,长度自动根据显示而设定的。单击控件上的锁定图标,从而锁定显示,然后拖拽而改变大小,按住鼠标左键移动位置。在在适当调整之后,点击 STM32CubeMonitor 右上角的“DEPLOY”部署工程,然后点击 “DASHBOARD”,显示效果,如果不满意,可以再次用前面的方式对界面多次布局,直到满意为止。如图 25。

“如何用STM32CubeMonitor图形化显示Lora节点信息"

“如何用STM32CubeMonitor图形化显示Lora节点信息"

5. 将网关通电确保接入外部网络(Internet),然后 sensor 节点通电,确保节点加入LoRa 网络,可以通过节点和网关的串口数据确认是否正确,在网关和节点工作正常后,点击“DASHBOARD”按钮,我们就可以看到图 26 的效果。

“如何用STM32CubeMonitor图形化显示Lora节点信息"

文档中所用到的工具及版本

➢ STM32CUBEMX 版本 6.3

➢ STM32CUBEMonitor 版本 1.3

➢ IAR 编译器 版本 9.0

➢ X-CUBE-MEMS1 版本 9.0

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

围观 82

SWM341系列的介绍

本文介绍了华芯微特SWM341系列主要性能,和其系列之一的SWM34SRET6-50驱动4.3寸800*480 TFTLCD显示的例程应用。

01、SWM341系列性能

SWM341是一款基于ARM Cortex-M33的32位微控制器,片上包含精度为 1%以内的 20MHz/40MHz 时钟,最高可 倍频到 150 MHz 时钟频率,提供多种内置 FLASH/SRAM 大小可供选择,支持 ISP(在系统编程)操作及 IAP(在应用编程)。

外设串行总线包括2路 CAN 接口,4路 UART 接口、1路USB 2.0全速(OTG)控制器、3路SPI 通信接口(支持主/从/I2S 模式选择)及 2路I2C接口(支持主/从选择),还包括1个32位看门狗定时器,5 组32位加强型定时器,12组24位基础型定时器。10路独立通道16位的 PWM 发生器。2路共计16通道12位、2.5MSPS的逐次逼近型 ADC 模块。1路 RGB888/RGB565/MPU-I8080接口的TFT-LCD 液晶驱动模块。1路SDIO 接口。一个图像硬解码器 JPEG、1路数模转换 DAC 模块、 1路RTC实时时钟以及1个外接SDRAM 接口控制模块,同时提供欠压检测及低电压复位功能。具有高性能、低功耗、代码密度大等特点,适用于家用电器、商用电器、工业控制,电机驱动等诸多应用领域。

SWM34SRET6-50秉承了SWM341系列的功能及性能,其特点是内置了8MB的SDRAM。主要面向于TFT-LCD RGB565显示驱动应用市场,分辨率最高可达1024x1024,实际应用以800x480分辨率为主,其显示效果尤为良好,性价比突出。系统主频最高可达150MHz,SDRAM时钟频率最高140MHz,SFC接口模块驱动外置Spi-NorFlash的时钟频率最高可达系统主频。除驱动TFT-LCD显示外,还有预留ADC、PWM、DAC、SDIO、USB、I2C、UART、CAN、GPIO、SWD等扩展接口,可接各种外设应用。

“SWM341系列之SWM34SRET6介绍"

02、SWM34SRT6-50显示驱动应用

2.1、SWM34SRET6显示开发板采用12MHz外部晶振,通过改动系统时钟配置文件,设置系统主频为140MHz,如图下图所示。

“SWM341系列之SWM34SRET6介绍"

2.2、UI图片的显示处理

UI图片的存储包括在Spi-Flash中的存储和在SDRAM中的缓存。

例程中Spi-Flash中存储的UI素材以文件方式进行存储,通过SDIO通讯接口读取SD-TF卡根目录下的UI素材文件,进而使用SFC接口拷贝复制写入到Spi-Flash(W25Q128JVSQ)中。其中,SD-TF卡的文件系统格式须要求为FAT/FAT32格式,如不是该格式,请进行格式化。需要注意,使用SPI四线通讯时,Spi-Flash本身须支持四线QSPI通讯方式。

显示过程中,SDRAM作为LCDC功能模块和LVGL-GUI SDK显示缓存。

在此,我们以使用LVGL图片控件显示一张UI图片素材的完整过程来举例说明:

程序中预先定义并声明 lv_img_dsc_t ‘图片变量’,其结构体类型详见下图;

“SWM341系列之SWM34SRET6介绍"

从SPI-Flash中读取图片文件信息,并依此对lv_img_dsc_t “图片变量”进行赋值,再将图片的RGB像素数据拷贝至对应的SDRAM区域中,详见load_file.c中的copy_image_from_flash_to_sdram() 实现;

“”SWM341系列之SWM34SRET6介绍"

“”SWM341系列之SWM34SRET6介绍"

此时 lv_img_dsc_t “图片变量” 的 *data 已被赋值为指向 图片实际RGB像素数据的 SDRAM区域,在未改变该区域数据的情况下,用户直接调用LVGL的API即可显示图片,

即:

lv_obj_t *obj = lv_img_create(lv_scr_act(), NULL);lv_img_set_src(obj, &图片变量);

最后请注意:当lv_img_dsc_t “图片变量” 的 *data 指向SDRAM区域内的值被改变后,须重新对lv_img_dsc_t “图片变量”赋值,以保持图片源地址的正确访问。

SWM341应用界面操作展示

“”

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

围观 1935

阅读本文时,请先阅读:

臻于至善,履践致远|STM32CubeProgrammer 和 STM32CubeMonitor上新,提高STM32开发效率-上

ST 近期推出新版本的 STM32CubeProgrammer、STM32CubeMonitor、STM32CubeMonitor-RF 和 STM32CubeMonitor-UCPD。许多 STM32 开发人员通过使用它们更快地将产品推向市场。所有嵌入式系统工程师都需要面对这样的挑战,为选用的微控制器或微处理器寻找功能全面的开发平台。一个设备可能有很多特性需求,设计人员如何有效地实现这些性能非常关键。因此,泛生态软件工具在推动基于 STM32 的嵌入式系统开发至关重要。让我们一起探索STM32CubeProgrammer 和 STM32CubeMonitor的新功能。

“STM32CubeProgrammer

STM32CubeProgrammer关键词,请参见“臻于至善,履践致远|STM32CubeProgrammer 和 STM32CubeMonitor上新,提高STM32开发效率-上

STM32 Cube Monitor关键词

MCU 的 “奈飞”

STM32CubeMonitor 是一个实时变量监控和可视化工具,提供支持远程连接的 Web 界面和可以创建自定义仪表板的图形界面。它确保开发人员可以通过可视化图形界面有效地监控他们的应用程序。这种基于流的编程工具使用户无需编码即可创建复杂的数据图表,使他们能够在不破坏程序代码的情况下轻松调试软件和分析行为。此外,用户可以在 Node-RED 和 ST 社区上共享他们的仪表板,以相互构建。

为了让 STM32CubeMonitor 的首次体验更加直观,ST Wiki 详细解释了开发人员如何通过两个简单的步骤监控应用程序中的变量。用户选择他们在内存中跟踪的数据起始地址及其类型。为了协助完成这项任务,我们提供了一份指南,展示了如何从 ELF 文件中获取地址,以及CubeMonitor 如何通过 STLINK 与 STM32 连接。

基于Node-RED的实时变量监控工具

跟踪寄存器、内存中的变量以及在任何给定时刻发生的无数事件难度非常大,手动监控它们的要求非常高,以至于团队通常没有资源来进行这项工作。STM32CubeMonitor 为这个问题提供了一个解决方案,并尽可能使其简单易用。用户可将可编辑的图形化节点拖放到画布上来创建流程,即一系列事件。例如,通过设置条件可以触发通过电子邮件发送警报或使用 MQTT 将数据推送到云平台的模块。

“▲
▲ STM32CubeMonitor

用户一行代码都不用输入,就可以创建图形、图表或生成仪表板,帮助他们计数器中的数据、传感器的数据以及应用程序的许多其他方面进行可视化。此外,网络服务器的存在意味着可以在任何 PC 或移动浏览器上使用这些可视化,无论是在本地网络上还是远程。此外,得益于 Node-RED 和 ST 社区,用户可以从简单地查看其他用户的仪表板开始,并通过学习其他人的示例来系统地学习。

贯穿产品生命周期的支持工具

在原型设计阶段,工程师可能会使用 STLINK ,例如目前可用的 STLINK-V3 模块之一。它将 MCU 板连接到 PC,这有助于设置 STM32CubeMonitor 仪表板并充当 Web 界面的网关。当设计人员准备好交付他们的最终产品时,他们还可以创建一段程序,该程序将通过 UART 将数据发送到 USB 端口。因此,开发人员仍然可以通过运行在PC上的STM32CubeMonitor连接到该 USB 端口来安全地监控他们的应用程序。因此,该工具提供了有助于计划升级或未来新功能的长期分析。

STM32CubeMonitor 的新功能

支持Node-RED 1.3.7

STM32CubeMonitor 1.3.0使用NodeRED 1.3.7框架,目前最新版本是1.3版本。1.3 版本带来了新的插件框架和自动执行功能节点的能力。Change/Switch 节点的更新也提高了它们的可读性。

OpenJS 基金会将在 2022 年推出新版本的 Node-RED,ST 将继续更新 STM32CubeMonitor。

新格式和符号更改通知

最新版本的 STM32CubeMonitor 能够以 CSV 格式导出数据,而不是仅仅使用专有格式。因此,用户将能够将信息导入 Excel、MATLAB 等,从而为更多的数据优化和操作打开大门。如果符号发生变化,新软件也会发出通知。简而言之,该软件通过在文件中定义变量并将它们与符号相关联来跟踪变量。但是,重新编译代码可能会使符号文件过时,从而与 Node-RED 仪表板产生差异。如果用户忘记更新符号文件,新的 STM32CubeMonitor 会提醒用户。

STM32CubeMonitor-RF关键词

STM32CubeMonitor-RF 是一款用于测试 STM32WB 微控制器的蓝牙和 802.15.4 无线性能的工具。图形用户界面有助于实现信号强度和数据包错误的可视化,而命令行界面为宏、批处理文件和其他类型的自动化打开了大门。简而言之,它借鉴了与传统 STM32CubeMonitor 相同的理念,但专注于无线性能。因此,开发人员可以快速测试他们的设计并发现问题。该实用程序还可以探测设备之间的 802.15.4 通信。试用方法非常简单,将 STM32WB 开发板通过其 USB 或 UART 接口连接到计算机,就可以开始使用该软件了。

STM32CubeMonitor-RF的新功能

STM32CubeMonitor-RF 2.8.0 是一项重大更新,因为使用了更大的数据包,无线性能提高了一倍以上。当用户在“OTA Updater”中选择“Optimize MTU size”选项时,软件工具将OTA传输从16 kbit/s增加到41 kbit/s。因此,对于开发人员来说,这是提高生活质量的必要条件。发送文件或更新设备固件是开发过程中的日常操作。更快的速度将确保开发人员更快、更高效地工作。

“▲
▲ The OTA Updater 和 Optimize MTU Size option

STM32 CubeMonitor-UCPD关键词

STM32CubeMonitor-UCPD 监控并帮助在运行 ST USB PD 堆栈的 STM32 微控制器上设置 USB-C 和供电系统。开发人员可以使用该工具监控 USB-C 接口上的交互,使用sink或source电源配置文件,并使用供应商定义的消息 (VDM)。该工具甚至具有预定义的设置,通过处理这些新技术固有的复杂性来加速开发。STM32CubeMonitor-UCPD 于2019年推出,是意法半导体 USB-C 供电生态系统不可或缺的一部分。一直以来,我们都在不断改进软件,以帮助开发人员更快地评估性能并获得认证。

STM32CubeMonitor-UCPD的新功能

STM32CubeMonitor-UCPD 1.2.0 最重要的新增功能之一是 Java 机器的集成。与本文中的其他工具一样,该软件具有安装程序所需的一切。用户在运行应用程序之前不再需要自己安装 Java。此外,用户现在可以追踪显示电压和电流、VDM、UCSI 等轨迹。新的 STM32CubeMonitor-UCPD 还可以监控电池的电气值。因此,开发人员可以跟踪更多进程并了解连接两个 USB-C 设备或使用 Power Delivery 时发生的情况。

更多资料

围观 277

通过本LAT 实现一个从LoRa 节点、LoRa 服务器、终端应用之间的数据或者命令的相互传输的过程。

详阅请点击下载《如何用STM32CubeMonitor图形化显示LoRa节点信息?》

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

围观 21

参考链接:

https://blog.st.com/stm32cubeprogrammer-stm32cubemonitor/

“”STM32CubeProgrammer

行而不辍,履践致远。为了给嵌入式工程师带来全新的STM32开发调试体验,大幅提升开发感受,ST在生态建设和开发工具创新上的努力从未间断。

STM32Cube系列大家族,相信大家用得很顺手。该系列软件开发工具大家族,提供了从MCU配置、代码生成、编译以及调试,到程序烧录和监测整个软件开发流程需要的全部功能。它们各司其职,也有功能交叠,大家合力,共同给STM32开发者搭建了一个完整的开发平台。

ST 近期推出新版本的 STM32CubeProgrammer、STM32CubeMonitor、STM32CubeMonitor-RF 和 STM32CubeMonitor-UCPD。许多 STM32 开发人员通过使用它们更快地将产品推向市场。所有嵌入式系统工程师都需要面对这样的挑战,为选用的微控制器或微处理器寻找功能全面的开发平台。一个设备可能有很多特性需求,设计人员如何有效地实现这些性能非常关键。因此,泛生态软件工具在推动基于 STM32 的嵌入式系统开发至关重要。让我们一起探索STM32CubeProgrammer 和 STM32CubeMonitor的新功能。

STM32CubeProgrammer关键词

统一的体验

STM32CubeProgrammer 旨在统一用户体验。ST 将 ST-LINK Utility、DFU 等实用程序的所有功能引入 STM32CubeProgrammer,使其成为嵌入式系统开发人员的一站式解决方案。ST还将它设计为适用于所有主要操作系统,甚至集成 OpenJDK8-Liberica, 以方便安装。在体验 STM32CubeProgrammer 之前,用户无需自己安装 Java ,也不用为兼容性问题烦恼。该实用程序有两个关键组件:图形用户界面和命令行界面。用户既可以选择直观的图形用户界面进行工作,也可以选择使用命令行工具来编写脚本文件。

STM32 Flasher 和调试器

STM32CubeProgrammer 的核心是帮助调试和烧写 STM32 微控制器。因此,它也包括优化这两个过程的功能。例如,2.6 版引入了导出整个寄存器内容和动态编辑任何寄存器的能力。以往,更改寄存器的值意味着更改源代码、重新编译并刷新固件。如今,测试新参数或确定某个值是否导致错误要简单得多。同样,工程师现在可以使用 STM32CubeProgrammer 一次烧写所有外部存储器。但在以前,烧写外部嵌入式存储和 SD 卡需要开发人员单独启动每个进程。而STM32CubeProgrammer 可以一步完成。

开发人员面临的另一个挑战是解析通过 STM32CubeProgrammer 传递的大量信息。刷过固件的人都知道跟踪所有日志有多么困难。因此,我们带来了自定义跟踪功能,允许开发人员为不同的日志信息设置不同的颜色。它确保开发人员可以快速将特定输出与日志的其余部分区分开来,从而使调试变得更加直接和直观。此外,它可以帮助开发人员使用与 STM32CubeIDE 一致的配色方案,STM32CubeIDE 是我们独特的生态系统的另一个成员,旨在为开发者提供支持。

STM32 上的安全门户

STM32CubeProgrammer 是 STM32Cube 生态系统中安全解决方案的核心部分。该实用程序附带 Trusted Package Creator,它使开发人员能够将 OEM 密钥上传到硬件安全模块并使用相同的密钥加密他们的固件。然后,OEM 使用 STM32CubeProgrammer 将固件安全地安装到支持SFI的 STM32 微控制器上。开发人员甚至可以使用 I2C 和 SPI 接口,这为他们提供了更大的灵活性。此外,STM32L5 和 STM32U5 还支持外部安全固件安装 (SFIx),使 OEM 可以在微控制器外部的内存模块上刷新加密的二进制文件。

Sigfox 规定

使用 STM32WL 微控制器时,开发人员可以使用 STM32CubeProgrammer 提取嵌入到 MCU 中的 Sigfox 证书。首先,开发人员将这个 136 字节的字符串复制到他们的剪贴板或将其保存在二进制文件中。 其次,他们访问 my.st.com/sfxp,在那里粘贴证书并立即以 ZIP 文件的形式下载 Sigfox 凭据。第三,他们通过 STM32CubeProgrammer 将下载包的内容加载到 MCU,并使用 AT 命令获取 MCU 的 Sigfox ID 和 PAC。最后,开发者去 https://buy.sigfox.com/activate/ 进行注册。激活后两年有效,开发者可以在一年内每天免费发送 140 条消息。

“▲
▲ STM32CubeProgrammer

STM32CubeProgrammer 的新功能

双重认证

最新版本 STM32CubeProgrammer 2.9 现在支持双重身份验证系统,通过 JTAG 或引导加载程序为 STM32WB 上的蓝牙协议栈配置OEM的密钥。简而言之,该功能使制造商能够保护其蓝牙协议栈防止最终用户随意更新协议栈。事实上,在大多数情况下,如果开发人员知道自己在做什么,他们就可以使用 ST 的安全固件更机制升级新蓝牙协议栈。但是,制造商可能会希望使用特定版本的协议栈配置,希望对其进行保护。因此,双重身份验证系统会阻止最终用户随意使用更新机制。ST 已发布了AN5185 应用笔记以提供更多详细信息。

脚本模式

新软件对其命令行界面 (CLI) 进行了更新,以支持创建脚本。由于脚本管理器是应用程序的一部分,因此它不依赖于操作系统或其外壳环境。因此,脚本是高度可共享的。另一个优点是脚本管理器可以保持与目标的连接。使用传统的批处理文件时,STM32CubeProgrammer CLI 需要在每一步都重新连接。另一方面,新的脚本管理器可以在整个会话期间保持连接。它还可以处理局部变量,甚至支持对这些变量的算术或逻辑运算。因此,开发人员可以创建强大的宏更好地实现复杂流程的自动化。

PKCS#11 支持

现在,STM32CubeProgrammer 2.9在为 STM32MP1 加密固件时可支持 PKCS#11。公钥加密标准 (PKCS) 11,也称为 Cryptoki,是一种在低级别管理加密过程的标准。PCKS#11标准化的API 方便嵌入式系统开发人员使用相关机制,因而越来越受流行。在 STM32MP1 上,PKCS#11 允许工程师分离私钥的存储和安全秘密配置 (SSP) 的加密过程。

SSP 相当于 MPU 的安全固件安装SFI。开发人员在将代码发送给 OEM 之前,可以通过STM32CubeProgrammer 使用公私钥系统对其固件进行加密。第三方无法读取OEM的软件代码。在生产过程中,OEM 将使用硬件安全模块 (HSM),将解密的固件加载到 MPU 内部,HSM中包含固件加密密钥,这个密钥无法保护在HSM中无法被读出。到目前为止,加密 MPU 代码的开发人员可以访问私钥。但一些组织必须限制对此类关键信息的访问。解决这个问题的新方法是使用新版 STM32CubeProgrammer 和 PKCS#11,即使在开发人员的加密过程中,私钥仍然可隐藏在 HSM 中。

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

围观 59
订阅 RSS - STM32CubeMonitor