《安富莱嵌入式周报》第294期:将C/C++代码转换为各种高级语言,超炫渲染着色器,VS2022新闻插件,基于以太网的开源步进电机控制器,Arduino PLC

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

更新视频教程:

USB应用实战视频教程第5期:手把手玩转USB HID免驱方式下位机和QT6.4上位机开发上篇

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

 

视频版:

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


 1、将C/C++代码转换为Perl, Python, Tcl, Ruby, PHP, Java, C#, D, Go, Lua, Octave, R等语言的开源软件工具SWIG

https://www.swig.org/
https://github.com/swig/swig

这个有点强,所以放在开头就给大家推荐下,很多时候我们的代码都是C实现的,想上位机用C#, Python等方式,各种的折腾。

有了这个工具方便不少,更重要的是还在持续更新中

 


2、用于24/7全天候物联网设备的太阳能MPPT充电器开源项目

https://www.crowdsupply.com/danjuliodesigns/makerpower-solar
https://hackaday.io/project/161351-solar-mppt-charger-for-247-iot-devices
https://github.com/danjulio/MPPT-Solar-Charger/tree/master/hardware
https://github.com/danjulio/MPPT-Solar-Charger/tree/master/arduino
https://github.com/danjulio/MPPT-Solar-Charger/tree/master/mpptChgD
https://github.com/danjulio/MPPT-Solar-Charger/tree/master/mppt_dashboard

既可以做独立电源运行,也可以作为监测电源状况的设备运行,真正的最大功率点MPPT算法。

 

应用:

 

上位机UI软件

 


3、ST推出用于入门学习的运放和比较器简易测试板

https://www.st.com/en/evaluation ... on_oct2022#overview

可以用来做做一些典型的运放电路测试。原理图,PCB Gerber等文件全部提供了

 


4、各种编程标准文档,C/C++/POSIX等

https://www.open-std.org/

 

比如C:

 

比如C++:

 


5、基于以太网的开源步进电机控制器,支持JSON和UDP方式交互

https://hackaday.io/project/187187-ethersweep
https://github.com/neumi/ethersweep

效果:

 


6、Altia推出新品Altia CloudWare,无需用户搭建硬件测试平台,可以通过云端方式运行目标硬件测试

https://altia.com/2022/12/05/altia-solves-gui-development-challenges-with-new-hardware-in-the-cloud-solution/
https://altia.com/cloudware/

通过这个产品,用户可以方便的将经过验证的GUI程序与各种硬件配对测试。更重要的是,即使手头没有硬件,可以通过云端进行各种硬件方案测试来选择最佳性能。

 


7、Arduino推出ArduinoPLC IDE,支持IEC61131-3标准定义的五种语言:梯形图,功能框图,结构化文本,顺序功能图和指令列表

集成了CanOpen,Modbus TCP,Modbus RTU等

https://blog.arduino.cc/2022/12/06/being-a-plc-engineer-just-became-a-lot-easier/

 

另外本月他们还将推出具有工业物联网功能的micoPLC,主控采样的STM32H747 ,当前没有看到Arduino是否会开源这个产品,以往Arduino都会开源的,这次我们持续关注下

 


8、罗姆推出AI单片机,AI应用测试30mW

https://www.rohm.com/news-detail?news-title=2022-11-29_news_ai&defaultGroupId=false

通常,AI芯片通过学习和推理来实现人工智能功能。由于学习需要捕获大量数据,将其编译到数据库中,并根据需要进行更新。因此,执行学习的AI芯片需要大量的计算能力,这必然会消耗大量的功率。到目前为止,开发能够在现场学习的人工智能芯片一直很困难,这些芯片消耗边缘计算机和端点的低功耗来构建高效的物联网生态系统。

罗姆的这款芯片通过三层神经网络将 AI 电路从 500 万门缩小到仅 20000 门(尺寸的 0.4%),能够以仅几十毫瓦的超低功耗实现人工智能学习和推理。这使得在安装设备的现场,对于未知的输入数据模式(即加速度、电流、亮度、语音),可以进行“异常检测结果”的数字输出,而无需云服务器或事先进行AI学习,允许现场AI进行实时故障预测(预测性故障迹象的检测),同时保持较低的云服务器和通信成本。

 


9、超强的局部渲染着色器shadertoy,VSCode上也有对应的插件

https://www.shadertoy.com/

他们官网上分享了很多炫酷的设计Demo效果,每个都是渲染着色出来的。

 

VSCode也有对应的插件

https://marketplace.visualstudio.com/items?itemName=stevensona.shader-toy


10、Qt for MCU V2.3发布,增加QML Loader和局部缓存功能

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

Qt for MCU也在持续的更新中,看来有不少用户在使用。

 


11、emWin模拟器V6.30发布,推出新版视频转换小软件MakeMovie,VNC软件开始支持网络和USB两种玩法

(1)模拟器下载含手册

SeggerEval_WIN32_MSVC_MinGW_GUI_V630.zip (78.32MB)

更新记录:


 (2)新作的视频文件制作小软件,支持AVI和EMF两种格式

MakeMovie_V630_Install.exe (4.99MB)

 

(3)VNC软件效果,增加USB连接方式

SEGGER_VNC_Client_Windows_221130.zip (4.47MB)

 


12、STM32H7的ThreadX全家桶软件包升级至V3.0.0,增加一批USB应用案例

https://github.com/STMicroelectronics/x-cube-azrtos-h7

x-cube-azrtos-h7.zip (65.07MB)

(1)增加了FileX/LevelX和USBX的裸机版例子。

(2)  USBX增加9个例子,包含了Video,双HID,客制化HID,RNDIS,PIMA_MTP,  CCID,Printer以及HID裸机主从方式

(3)对应的HAL库软件包使用的V1.11.1

更新记录:

 

STM32CubeH7的软件包升级至V1.11.0

https://www.st.com/zh/embedded-software/stm32cubeh7.html

en.stm32cubeh7_v1-11-0.zip (1062.98MB)

更新记录如下:

 


13、VS2022增加开发者新闻插件

https://marketplace.visualstudio.com/items?itemName=MadsKristensen.DeveloperNews2022

包含Visual Studio 2022 (amd64), 2022 (Arm64)

 


14、H7-TOOL本周进展

H7-TOOL详细介绍:https://www.armbbs.cn/forum.php?mod=viewthread&tid=89934

(1)已经开始RTOS Trace功能的收尾工作

一些细节功能的解决,确实比较耗精力。花了三天做了一个H7-TOOL的RTOS Trace功能读取内存失败的解决办法,太不容易了,给整懵了

前面两天一直在排查RTOS例子,看看是那个组件导致的,几乎把所有组件和底层驱动全部注释了个遍。然后又倒腾Cache问题,发现都无法解决。

今天又是一顿操作,干脆排查下LUA代码吧,果然发现了一个坑,读取失败后不能简单省事的goto exti,  然后下次重新读取,这样是不行的。

在这里重新设置了读取方式问题解决。

 

(2)之前分享了H7-TOOL的LUA小程序实现JSCope HSS模式操作首版

下次发布2.20固件,将增加专门的LUA函数

pg_auto_report(period, addr1, type1, addr2, type2 ... addr6,type6)
period : 定时周期,us。限制最小周期为100us。
addr:内存地址
type : 数据类型:
   typedef enum
  {
        N_U8 =      0,
        N_S8 =      1,
        N_U16 =     2,
        N_S16 =     3,
        N_U32 =     4,
        N_S32 =     5,
        N_FLOAT =   6,
        N_DOUBLE =  7,
        N_INT64 =   8,
        N_UINT64 =  9,
}NUMBER_E;

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

 

(3)待RTOS Trace功能发布后,将酝酿H7-TOOL的新玩法。

直接读取各个IC厂家提供的CMSIS SVD文件生成LUA程序,像MDK,IAR在线调试那样实时检测外设状态,等RTOS Trace功能完全体整理完毕后,着手实现下这个功能。

MDK, IAR等在线调试有两个重要功能,一个是断点,单步调试等玩法。还有一个就是外设寄存器状态,内存数据等实时检测。

我们本次要实现的就是这个外设寄存器状态,内存数据等实时检测。通过LUA小程序,我们可以离线,WiFi,以太网和USB四种玩法,且支持内网和外网远程。

SVD文件格式:

 

 

posted @ 2022-12-09 15:46  硬汉嵌入式  阅读(206)  评论(0编辑  收藏  举报