《安富莱嵌入式周报》第306期:开源独轮车,Cortex-M85修订版r1发布,Terathon图形数学库,不断变革的IDE开发环境,各个厂家总动员

Posted 硬汉嵌入式

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《安富莱嵌入式周报》第306期:开源独轮车,Cortex-M85修订版r1发布,Terathon图形数学库,不断变革的IDE开发环境,各个厂家总动员相关的知识,希望对你有一定的参考价值。

往期周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz!

 

视频版:

https://www.bilibili.com/video/BV1TT411Y7fq

《安富莱嵌入式周报》第306期:开源独轮车,Cortex-M85修订版r1发布,Terathon图形数学库,不断变革的IDE开发环境,各个厂家总动员



1、Terathon数学库,支持2D/3D/4D矢量,矩阵,四元函数和几何代数

GitHub - EricLengyel/Terathon-Math-Library: C++ math library for 2D/3D/4D vector, matrix, quaternion, and geometric algebra.

Terathon-Math-Library-main.zip (100.4 KB)

作者主要是做游戏引擎和计算机图形开发,这里分享的库也是图形方面,大家有需要做一些稍复杂图形绘制可以试试

 有时候不得不说好的文档整理确实要花很多心思才可以,作者这里整理的射影几何一览表

 confgeomalg.pdf (1.89 MB)
 projgeomalg.pdf (711.93 KB)

 

 


2、Cortex-M85

(一)ARM发布Cortex-M85修订版r1

https://community.arm.com/arm-co ... performance-updates

新的修订版引入如下功能:

(1)首款安全就绪的高性能Cortex-M内核

汽车和工业控制(ISO 26262 / IEC 61508 )产品依赖于安全标准,确保集成到产品中的每个电气或电子组件都符合功能安全要求,r1修订版做了不少改进,比如为了满足ASIL D的单点故障检测需要,Cortex-M85 可以实现双核锁步 (DCLS) ,其中一个检测另一个中的故障。此外,还提供硬件方式的内存内置自检 (MBIST) 对内部处理器内存进行现场和在线测试。

 

(2)支持客制化指令

用户可以自定义指令

 

(3)升级数据流性能

相比M55和M7,性能提升2倍,特别是通过AXI总线矩阵通信,提升是明显的。


(二)瑞萨的Cortex-M85内核芯片亮相Embedded World 2023

去年首次亮相就做了个Demo展示:

https://www.armbbs.cn/forum.php?mod=viewthread&tid=118304

这里要带来AI性能展示,该应用程序可在不同的照明和环境条件下识别和跟踪相机框架中的人员。此应用中使用TinyML 模型为各种物联网实施带来了低成本和低功耗的 AI 解决方案。第二个演示展示了一个电机控制预测性维护案例。

https://www.renesas.com/eu/en/ab ... g-helium-technology

 


3、开源独轮车

GitHub - AndReGeist/wheelbot-v2.5

 wheelbot-v2.5-main.zip (3.51 MB)

视频效果展示:

https://www.armbbs.cn/forum.php?mod=viewthread&tid=118304

 

 

 

 

 


4、不断变革的IDE开发环境,各个厂家总动员

(1)IAR9.X 各种更新,带来VS Code插件支持。

(2)MDK推出MDK6,Keil Studio Cloud,也支持VS Code插件。

Keil MDK6要来了,将嵌入式软件开发水平带到新高度,支持跨平台(2023-03-11) - 开发环境 - 硬汉嵌入式论坛 - Powered by Discuz!

(3)Nordic之前就推出VSCode插件支持

Nordic SDK全面支持VS Code,提供工程配置扩展包 - 开发环境 - 硬汉嵌入式论坛 - Powered by Discuz!

现在发现他们还有个设备树插件,挺带劲
https://marketplace.visualstudio ... ctor.nrf-devicetree

 

(4)NXP新版 MCUXpresso, 支持VS Code插件.

NXP Enriches the Developer Experience with a New Era of MCUXpresso Productivity | NXP Semiconductors

(5)ST现在也整了个VS Code插件一条龙

https://www.armbbs.cn/forum.php?mod=viewthread&tid=118304

(6)嵌入式搞到最后,微软竟然成了最终赢家,微软也不限制,顺势这两天就提出了Visual Studio导入STM32CubeMX。

eclipse方案,以后估计压力大了。

Importing ST projects into Visual Studio - C++ Team Blog

 


5、在线函数波形绘制网站GeoGeBra

论坛搜了下,坛友emwin很早之前就分享过了
利器推荐:在线函数波形绘制网站GeoGeBra - 数字信号处理 - 硬汉嵌入式论坛 - Powered by Discuz!

我也是最近才测试了下,确实非常不错
Calculator Suite - GeoGebra

用户可以方便的手动输入绘制

 

3D效果:

 

几何绘制:

 

概率:

 


6、2023 Embedded World 2023获奖提名

embedded world | embedded award

按照以往的惯例,开幕前公布embedded award 2022候选名单,这次分为8类:

(1)嵌入式视觉

 

 

(2)硬件

 

 

(3)软件

 

 

(4)安全

 

 

(5)工具

 

 

(6)初创公司

 

 

(7)人工智能

 

(8)SoC/IP/IC设计

 

 


7、英飞凌的AURIX TC3xx、TC4x、TRAVEO T2G和PSoC系列微控制器支持Rust编程语言

Automotive Safety and Cybersecurity: Infineon's AURIX™ TC3xx, TC4x, TRAVEO™ T2G & PSoC families of microcontrollers support Rust - Infineon Technologies

Rust 编程语言内置了对内存安全软件开发的支持,是关键任务汽车软件设计的重要推动因素。英飞凌迈出了在嵌入式领域创建Rust生态系统的第一步。这使得该公司成为第一家正式支持 Rust 微控制器的主要半导体制造商。首先是市场领先的AURIX TC2xx和TRAVEO T4G汽车MCU。

 


8、各种软件包更新

(1)CMSIS-DSP库升级至V1.14.4

ARM.CMSIS-DSP.1.14.4.pack (7.58 MB)

Releases · ARM-software/CMSIS-DSP · GitHub

 

(2) CycloneTCP发布V2.2.4

 Oryx-Embedded.Middleware.2.2.4.pack (19.48 MB)

作为当前驱动支持最全面,协议支持也最全面的网络协议栈,再次迎来更新,支持多款MAC和PHY

 

(3)  ThreadX全家桶发布V6.2.1版本

论坛下载:
ThreadX全家桶源码和文档下载,含GUIX,Filex,NetX,USBX,GUIX Studio,TraceX等,全部升级至V6.2.1(2023-03-11) - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz!

主要是内核和USBX更新比较多,其它中间件更新很少,其实USBX继续加强裸机玩法的支持。

 

另外就是ST上周的新品发布会提出了STM32H5,STM32WBA,STM32MP13等,其中STM32MP1带来了不错的消息,这款1GHz单核A7将在年底发布ThreadX全家桶支持

这个确实是个非常不错的消息。

 

 

 

 


9、H7-TOOL本周进展

H7-TOOL详细介绍:H7-TOOL开发工具,1拖4/16脱机烧录,高速DAPLINK,RTOS Trace,CAN/串口助手, 示波器, RTT等,支持WiFi,以太网,高速USB和手持 - H7-TOOL开发工具 - 硬汉嵌入式论坛 - Powered by Discuz!

(1)2.20版本反馈的问题修复差不多了,近期推出2.2.0a版本.

同时增加上位机软件配置参数导入功能,方便导入自己之前配置的界面效果,之前发过一个这种建议帖子:

H7-TOOL上位机每次更新后都要重新配置RTT,串口,CAN助手等功能的字体,颜色等信息时解决思路
H7-TOOL上位机每次更新后都要重新配置RTT,串口,CAN助手等功能的字体,颜色等信息时解决思路 - H7-TOOL开发工具 - 硬汉嵌入式论坛 - Powered by Discuz!

这次更新增加配置项:

 

(2) H7-TOOL的CAN/CANFD可视化方案本周将完成

H7-TOOL本身有个CAN/CANFD助手,

 

但是想要更好的检测CAN执行情况,需要将CAN的内部运行状态做可视化实现,这样不仅可以深入理解CAN运行机制,而且可以可视化和错误执行状态诊断

这个也是通过SWD接口实现

 

(3)开始几套不断电H7-TOOL第3轮测试,采用新的2.20固件

两个测试贴:
H7-TOOL实战应用,两套WiFi方式的H7-TOOL布局到村里面,开启远程稳定性测评之旅(2023-03-15,已经不断电运行143 + 432 + 1天) - H7-TOOL开发工具 - 硬汉嵌入式论坛 - Powered by Discuz!
H7-TOOL应用实战,布局三套TOOL到村里各个地方,开启外网远程测监控之旅(2023-03-15,已不断电运行171+432+1天) - H7-TOOL开发工具 - 硬汉嵌入式论坛 - Powered by Discuz!

这几套TOOL已经不断电测量两轮,第2轮测试已经不断电436天,纪念下,分别测试了WiFi版和以太网版,用的还是2.11版固件,很久以前的固件了。

现在已经更新到2.20版固件,测评的最终目的还是发现问题,解决问题,从而更好的提升H7-TOOL的实战能力

WiFi版测试完成升级

 

以太网版测试完成升级

 

 

《安富莱嵌入式周报》第243期:2021.12.06--2021.12.12

往期周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104

 

1、ZYNQ版高性能开源示波器,1Gsps采样率,100MHz带宽,捕获率22000 wfm/s,树莓派做波形渲染

这款开源示波器最大的特色就是波形渲染(余晖/荧光)效果做的很强,开始阶段作者是采用的树莓派模组3,每秒可以渲染22000帧,后面阶段采用英伟达Jetson,可以渲染130000帧。

ZYNQ的FPGA负责触发和数据采集,A9负责将数据传送给树莓派,然后树莓派做的显示处理,ADC采用1Gsps的HMCAD1511。

ZYNQ程序:
https://github.com/tom66/scopy-fpga

树莓派跑的APP应用:
https://github.com/tom66/scopeapp

硬件开源:
https://github.com/tom66/scopy_hardware

讨论帖:
https://www.eevblog.com/forum/testgear/a-high-performance-open-source-oscilloscope-development-log-future-ideas/

视频效果:
https://www.bilibili.com/video/BV1JL411E7nm

截图:

 

 

2、TI精密实验室推出的8000多期视频,含运放,ADC,电力电子,电机等

TI training search results | TI.com

之前整理过一次他们的ADC介绍,非常给力。

第1期:ADC介绍
主要分为三小节
(1)第1小节:直流规格,输入电容,输入阻抗,参考电压范围,INL和DNL。
(2)第2小节:AC和DC规格,失调误差,增益误差,CMRR,PSRR,SNR和TH。
(3)第3小节:SAR ADC输入类型。


第2期:ADC驱动器拓扑
主要分为四小节
(1)第1小节:使用运算放大器时确定SAR ADC的线性范围。
(2)第2小节:动手实验,交叉失真,它展示了前端驱动器如何影响SAR ADC性能。
(3)第3小节:使用仪表放大器时确定SAR ADC的线性范围。
(4)第4小节:用全差分放大器驱动SAR ADC。


第3期:误差和噪声的计算
主要分为四小节
(1)第1小节:数据手册里面误差分析中所做统计参数的含义。
(2)第2小节:理解和校准ADC的偏移和增益。
(3)第3小节:使用TI的工具TINA - SPICE Monte Carlo来做统计误差分析。
(4)第4小节:计算总噪声。
(5)第5小节:上手实验,ADC噪声,它展示了前端驱动器如何受到电阻器热噪声的影响。

 

第4期:ADC规格
主要分为五小节
(1)第1小节:介绍频域。
(2)第2小节:FFT变换和窗口。
(3)第3小节:相关采样和滤波来提高SNR和THD。
(4)第4小节:混叠和抗混叠器。
(5)第5小节:上手实验,混叠和抗混叠器。

 

第5期:SDR ADC输入驱动设计
主要分为四小节
(1)第1小节:介绍SDR ADC模拟前端器件选择。
(2)第2小节:运放的选择和验证。
(3)第3小节:建立SDR ADC模型。
(4)第4小节:优化Rfilt和Cfilt值(运放使用的电阻和电容值)。
(5)第5小节:最终SDR驱动器仿真。
(6)第6小节:SDR ADC驱动计算时用到的数学算法。

 

第6期:SDR ADC的低功耗设计
仅一小节
(1)第1小节:SAR ADC功率调节。

 

第7期:高速ADC基础知识
这些视频涵盖了高速ADC的基础知识,包括ADC和DAC两种架构的概述以及高速器件独有的其他细节。
主要分为七小节
(1)第1小节:了解和比较高速模数(ADC)和数模(DAC)转换器架构。
(2)第2小节:抖动对高速ADC和信噪比SNR的影响。
(3)第3小节:了解高速数据转换器中的信噪比(SNR)和噪声频谱密度(NSD)。
(4)第4小节:带宽,采样率和欠采样的概念。
(5)第5小节:高速数据转换器中的采样速率与数据速率,抽取(DDC)和插值(DUC)概念。
(6)第6小节:频率和采样率规划,了解高速ADC中的采样,奈奎斯特区,谐波和杂散性能。
(7)第7小节:介绍高速ADC的幅频和相频特性。

 这些视频有个关键的特色,就是视频下面都有中文字幕可以选

 

3、芯片外设使用硬件位带,如果没有起作用的话,注意使用__attribute__((bitband))的正确姿势即可
之前发的帖子:

推荐一种超简单的硬件位带bitband操作方法,让变量,寄存器控制,IO访问更便捷,无需用户计算位置
https://www.armbbs.cn/forum.php?mod=viewthread&tid=109508

帖子里面案例2,MDK编译会没有起作用,修改定义方式即可:

原来写法:

typedef struct 
  uint16_t ODR0 : 1;
  uint16_t ODR1 : 1;
  uint16_t ODR2 : 1;
  uint16_t ODR3 : 1;        
  uint16_t ODR4 : 1;
  uint16_t ODR5 : 1;
  uint16_t ODR6 : 1;
  uint16_t ODR7 : 1;        
  uint16_t ODR8 : 1;
  uint16_t ODR9 : 1;
  uint16_t ODR10 : 1;
  uint16_t ODR11 : 1;        
  uint16_t ODR12 : 1;
  uint16_t ODR13 : 1;
  uint16_t ODR14 : 1;
  uint16_t ODR15 : 1;        
  uint16_t Reserved : 16;        
 GPIO_ORD  __attribute__((bitband));

GPIO_ORD *GPIOA_ODR = (GPIO_ORD *)(&GPIOA->ODR);

修改为如下写法:

typedef struct 
uint16_t ODR0 : 1;
uint16_t ODR1 : 1;
uint16_t ODR2 : 1;
uint16_t ODR3 : 1;
uint16_t ODR4 : 1;
uint16_t ODR5 : 1;
uint16_t ODR6 : 1;
uint16_t ODR7 : 1;
uint16_t ODR8 : 1;
uint16_t ODR9 : 1;
uint16_t ODR10 : 1;
uint16_t ODR11 : 1;
uint16_t ODR12 : 1;
uint16_t ODR13 : 1;
uint16_t ODR14 : 1;
uint16_t ODR15 : 1;
uint16_t Reserved : 16;
 GPIO_ORD __attribute__((bitband));

GPIO_ORD GPIOA_ODR __attribute__((at(0x40020014)));

其中地址0x40020014很好获取,可以看参考手册,调试状态看MDK也非常方便:

 操作GPIOA的ODR1,就可以这样:

GPIOA_ODR.ODR1 = 0;
GPIOA_ODR.ODR1 = 1;

看反汇编,已经转换为硬件位带了:

 

4、Embedded Studio增加对 64bit RISC-V 支持

SEGGER adds 64-bit RISC-V support to Embedded Studio

 

5、MDK的STM32F1软件包竟然升级了,更新了一批CMSIS-Driver驱动

MDK5 Software Packs (keil.com)

时隔三年后升级了一次:

 

6、单片机版emWin6.20软件包发布了,配合AppWizard_V124_620b

网盘下载:https://pan.baidu.com/s/1Oe8TsHmxHLjNlMBXGLeYgw 提取码:dond

 

 更新记录:

 现在emWin视频支持AVI格式,支持自家的emf格式,其中emf的图片解码支持jpg和位图两种。

 emWin V6.20的VNC功能大更,支持多用户访问,同时支持Web浏览器访问


 


7、华为海思发布专为全高清电视设计的32位RISC-V单片机Hi3731V110

Hi3731V110 (hisilicon.com)

从配置上来看,性能很强,整合512Mbit DDR SDRAM。软件上跑LiteOS。

支持全球各种制式的模拟电视(ATV)主处理芯片,支持NTSC/PAL/SECAM制式解调,支持USB播放,支持主流的视频格式包括MPGE2,H.264,H.265,RMVB等,支持主流音频解码及音效处理,以及海思自研的SWS音效处理,支持CVBS/YPbPr/VGA/HDMI 1.4输入,支持LVDS和miniLVDS接口,支持主流的Tconless屏。

 

8、NXP推出的基于单片机i.MX RT117F的3D人脸识别方案:

https://www.nxp.com/design/designs/nxp-edgeready-mcu-based-solution-for-3d-face-recognition:VIZN3D

框图:

 效果:

 

 

9、普源采样率20Gsps,带宽4GHz,4通道示波器DS70004,搭载自研芯片RT8815IE,近期上线

去年年底就见到这个消息了,一直没有正式上线,今天看twitter消息要上线了。

https://www.bilibili.com/video/BV1hi4y1d7tc


10、本周更新两章ThreadX NetXDUO章节教程,快整理完毕

周一或者周二晚上分享更新章节教程,本来是打算今天就分享的,时间没安排好。

ThreadX近期主攻NetXDUO网络协议栈。



11、H7-TOOL本周进展

(1)为了方便生产人员,下次固件升级增加两个功能。

a、可以屏蔽用不到的功能图标。

b、1拖4脱机烧录增加导入配置功能和一键下载更新。如此以来,仅需将配置文件发给生产人员即可。


(2)由于TOOL是支持四个方向切换的

下次截图更新增加横屏展示:



(3)LUA小程序功能更新

LUA脚本的好处是用户可以根据自己注册的一批API(当前TOOL已经提供了几百个函数供大家使用),实现各种小程序,不再限制Flash里面已经下载的程序,就跟手机安装APP差不多,所以在H7-TOOL里面被广泛使用,支持在线调试运行,支持离线运行。

TOOL的LUA教程争取做到大家可以无痛调用各种功能函数,不需要学习成本。

a、H7-TOOL的LUA小程序教程第2期:变量,循环,函数,条件语句和字符串相关API

https://www.armbbs.cn/forum.php?mod=viewthread&tid=109936

b、LUA小程序做三函数波形验证非常方便

比如我们要测试tan函数:

for j=-10, 10, 0.1 do                                   
    s = string.format("%f", math.tan(j))
    print(s)                                   
    print_wave(s)
    delayms(20)                                   
end

方便的就打印出了效果:

 程序里面做了20ms延迟,方便看动态变换过程:


c、 Lua驱动74HC595,可配置任意引脚、595芯片个数。发布74HC595_8路继电器模块

详细操作说明贴:
https://www.armbbs.cn/forum.php?mod=viewthread&tid=110038

产品应用场合: 工装设备中做信号切换。
可搭配H7-TOOL使用,实现8选1信号切换、设备供电等。8路输出可独立控制。有配套的lua接口API。
特点:
1、内置74HC595,只需3个输出口即可控制. 支持级联.
2、体积小,节省底板空间
3、排针2.54mm间距,可直接插到洞洞板。
4、触点容量:2Ax2  两组并联。

  

(4)花了些时间学习开源调试组件OpenOCD,把Embedded Studio和STM32CubeIDE使用H7-TOOL使用高速DAPLINK做了个支持。

a、H7-TOOL高速DAPLINK用于Embedded Studio操作说明,采用OpenOCD配GDB Server

详细说明:https://www.armbbs.cn/forum.php?mod=viewthread&tid=109999

 进入调试状态动态GIF:

 
b、H7-TOOL的高速DAPLINK用于STM32CubeIDE操作教程,采用OpenOCD

详细说明:https://www.armbbs.cn/forum.php?mod=viewthread&tid=109997

进入调试,动态GIF:

 
(5)H7-TOOL接NTC热敏电阻的温度测量视频展示:

https://www.bilibili.com/video/BV1Wg411P7Zm

 

微信公众号:armfly_com 安富莱论坛:www.armbbs.cn 安富莱淘宝:https://armfly.taobao.com

以上是关于《安富莱嵌入式周报》第306期:开源独轮车,Cortex-M85修订版r1发布,Terathon图形数学库,不断变革的IDE开发环境,各个厂家总动员的主要内容,如果未能解决你的问题,请参考以下文章

《安富莱嵌入式周报》第250期:2022.01.24--2022.01.30

《安富莱嵌入式周报》第244期:2021.12.13--2021.12.19

《安富莱嵌入式周报》第262期:2022.04.18--2022.04.24

《安富莱嵌入式周报》第212期:2021.05.11--2021.05.17

《安富莱嵌入式周报》第293期:SEGGER开源其C/C++库源码emRun,丰富EMC电磁兼容资,OTA开源组件,2022 Github全球报告,内存安全指南

《安富莱嵌入式周报》第242期:2021.11.29--2021.12.05