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

 

更新一期视频教程:

DSP视频教程第11期:插补算法,曲线拟合丝滑顺畅,统计函数和基础函数加速实现,汇集SIMD,饱和和MAC乘累加应用实战(2023-02-12)

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

 

视频版:

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

《安富莱嵌入式周报》第303期:微软推出嵌入式安全物联网RTOS CHERIoT,超强的产品级开源电机控制器项目,含上位机,蓝牙标准V5.4,玩转与或非编程操作



1、微软推出嵌入式安全物联网RTOS CHERIoT

知识补充:

CHERI的全称是Capability Hardware Enhanced RISC Instructions,硬件增强RISC指令,由英国剑桥大学与美国SRI International的合作研究项目

Department of Computer Science and Technology: Capability Hardware Enhanced RISC Instructions (CHERI)

 

CHERIoT RTOS

小型嵌入式内核几乎没有空间用于安全功能,且基本都用不安全语言编写的代码,并且越来越多地暴露在敌对的互联网中。CHERIoT(用于物联网的RISC-V功能硬件扩展)建立在CHERI和RISC-V之上,提供ISA和软件模型,让依赖于对象粒度空间的软件在内存释放后具有确定性和安全性,直接暴露给 C/C++ 语言模型的轻量级划分。这可以在全新的RTOS上运行现有的嵌入式软件组件,该RTOS可扩展到大量隔离(安全通信)空间,即使在SRAM低于256 KB的系统上也是如此。

源码,这目前是一个开源的研究项目,以实现更广泛的合作

GitHub - microsoft/cheriot-rtos: The RTOS components for the CHERIoT research platform

cheri-ibex是32位RISC-V微控制器,除了RV32IMCB之外,它还实现了CheriIoT ISA扩展。与原始的 ibex 核心相同,该设计可以配置 2 级或 3 级管道。它已通过初步仿真和FPGA验证,目前正在微软进行进一步验证和PPA分析

GitHub - microsoft/cheriot-ibex: cheriot-ibex is a RTL implementation of CHERI ISA based on LowRISC's Ibex core.

CHERIoT Sail指令集模型

GitHub - microsoft/cheriot-sail: Sail code model of the CHERIoT ISA

 

去年年初的时候,由Arm,微软,剑桥大学和其他公司领导的研究项目Morello原型架构上线。Morello是CHERI扩展的第一个高性能实现

An Armful of CHERIs | MSRC Blog | Microsoft Security Response Center

 


2、超强的产品级开源电机控制器项目,硬件,软件和上位机全开源

VESC Project

VESC已经解决了广泛的工程挑战,从需要数十瓦的微型多旋翼飞行器到消耗数百千瓦的电动客机。 如今,VESC电机控制器广泛用于各种不同的设备,包括机器人,多旋翼飞行器,飞机,相机稳定器,电动自行车,电动滑板,RC设备和许多工业应用

VESC并不是普通的开源电机项目,面向解决尖端电力系统的先进软件和硬件实施,可以直接用来开发产品的。VESC生态系统设置简单易用,并包含大量自动检测和配置向导。

所有的这些都是作者 Benjamin业余时间设计的,所以也接受大家捐款。

硬件效果和开源地址:
VESC Hardware | VESC Project
GitHub - vedderb/bldc-hardware: Brushless DC Motor controller from Benjamin Vedder

 

软件开源,包含DC/BLDC/FOC控制,RTOS采用ChibiOS
GitHub - vedderb/bldc: The VESC motor control firmware

BMS锂电池管理开源,RTOS采用ChibiOS
GitHub - vedderb/vesc_bms_fw: The VESC BMS Firmware

 

上位机开源,快平台 Linux, Windows, MacOS, Android 和 iOS
GitHub - vedderb/vesc_tool: The source code for VESC Tool. See vesc-project.com

 

 还支持直接编程脚本测试验证


3、Nordic的wifi6双频芯片nRF7002套件发布,支持SPI和QSPI通信

nRF7002 DK - Development kit for the nRF7002, a Wi-Fi 6 companion IC - nordicsemi.com

上上周就发布了,忘了给大家分享消息了,这次补上,支持SPI/QSPI通信还是比较方便的

 


4、Microchip分享的一篇单片机精确测量电流博文

Accurately Measuring Current With Microcontrollers | Microchip Technology

这篇博文介绍了这些错误源以及如何减少和消除它们。

 


5、大量的位图字体下载

现在电脑基本都使用矢量字体了,早期的旧式计算机用的是位图字体

这里作者搜集了大量旧式电脑上的位图字体
GitHub - robhagemans/hoard-of-bitfonts: turns out I like bitmap fonts

位图查看器:
Hoard of bitfonts

位图转二进制软件
GitHub - robhagemans/monobit: Tools for working with monochrome bitmap fonts

 

 

 


6、现代Cmake详细入门介绍文档

An Introduction to Modern CMake · Modern CMake

可以在线查看,也可以下载PDF板

 


7、树莓派单片机

(1)树莓派单片机SDK升级至V1.5.0,大更新,全面支持Pico W的蓝牙和WIFI通信

GitHub - raspberrypi/pico-sdk

 

 (2) 超强树莓派单片机的24通道,100Msps的逻辑分析仪开源升级至V3.5.0.1,

支持了Pico W的WiFi通信方式,采样深度提升到128KB。全面支持了跨平台

超强树莓派单片机的24通道,100Msps的逻辑分析仪开源发布,人人都可以轻松自制,跨平台已经发布2023-02-14 - 树莓派RP2040 - 硬汉嵌入式论坛 - Powered by Discuz!

Releases · gusmanb/logicanalyzer · GitHub

 


8、ST发布的电源管理指南

https://www.st.com/resource/en/brochure/power-management-guide.pdf

目录:

 

 

 结合给大家分享的数字电源指南一起看,有大量的参考开发板设计

ST出的数字电源指南 - 综合资料 - 硬汉嵌入式论坛 - Powered by Discuz!

 

 

 

 


9、MicroEJ动态APP管理开始支持C,Javascript和Java

MicroEJ在整活方面,确实会折腾,从最早的C+Java混合开放,炫酷GUI让单片机像Android机一样从远程商店下载各种应用,再到Android Studio生成单片机GUI APP

这次又带来新玩法,动态APP支持多种编程语言玩法

Managed Code - MicroEJ Developer

 


10、蓝牙标准V5.4发布

Bluetooth® Core Specification Version 5.4 - Technical Overview | Bluetooth® Technology Website

2301_5.4_Tech_Overview_FINAL.pdf (757.18KB)

新规范引入了两项新功能,它们共同支持无线接入点 AP和数千个超低功耗终端节点之间的安全双向通信

 


11、罗姆推出智能低边开关取代机械继电器和 MOSFET

ROHMs kompakte intelligente Low-Side-Schalter: Geringere Verlustleistung und sicherer Betrieb durch proprietäre TDACC™ Schaltungs- und Bauteiltechnologie | ROHM Semiconductor - ROHM Co., Ltd.

产品:

 与继电器相比:

 与Mosfet相比

 高边和底边开关比较

 


12、开源字体库FreeType V2.13发布

The FreeType Project

emWin的矢量字体库就是用的这个开源库

 


13、emWin的新版VNC远程软件升级至V1.2,测试了下,比之前稳定

SEGGER - The Embedded Experts - Downloads - emWin

 测试了下之前给V6开发板做的二代示波器:

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

 

 

 

 


14、玩转与或非操作

作者Eric Lengyel

里面的位操作和屏蔽操作很不错

 


15、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)H7-TOOL的LUA小程序长时间运行稳定性研究

随着H7-TOOL的LUA API不断扩充加大,有必要测试下长时间运行的稳定性了。

有时候大家想使用LUA长时间测试一些数据,这个时候稳定性就非常重要了,所以专门做个系统性的研究。

初步测试了如下代码13个小时,稳定运行

function printf(...)
    print(string.format(...))
end
  
--启动模拟量电路
function start_dso(void)
  write_reg16(0x01FF, 2) -- 测量模式 0:示波器 1:负载电流 2:多路低速扫描
  write_reg16(0x0200, 1) -- CH1耦合,0:AC 1:DC
  write_reg16(0x0201, 1) -- CH2耦合,0:AC 1:DC
  --量程取值 0:±13.8V 1:±6.4V 2:±3.2V 3:±1.6V 4:±800mV 5:±400mV 6:±200mV 7:±100mV
  write_reg16(0x0202, 0) -- CH1量程
  write_reg16(0x0203, 0) -- CH2量程
  write_reg16(0x0204, 0) -- CH1通道直流偏值,未用
  write_reg16(0x0205, 0) -- CH2通道直流偏值,未用
  write_reg16(0x0206, 12) --采样频率 0:100 1:200 2:500 3:1K 4:2K 5:5K 6:10K 7:20K
                          --8:50K 9:100K 10:200K 11:500K 12:1M 13:2M 14:5M
  write_reg16(0x0207, 0) --采样深度 0:1K 1:2K 3:4K 4:8K 5:16K 6:32K
  write_reg16(0x0208, 32768) --触发电平ADC 0-65535
  write_reg16(0x0209, 50) --触发位置百分比 0-100
  write_reg16(0x020A, 0) --触发模式 0:自动 1:普通 2:单次
  write_reg16(0x020B, 0) --触发通道 0:CH1 1:CH2
  write_reg16(0x020C, 0) --触发边沿 0:下降沿 1:上升沿 
  write_reg16(0x020D, 0x03) --通道使能控制 bit0 = CH1  bit1 = CH2
  write_reg16(0x020E, 1) --采集控制 0:停止 1:启动
end
  
print("V1.0")
  
local us = 0
local volt = 0
local cur = 0
local mah = 0
local pre_sec = 0
local sec_cnt = 1
local min_cnt = 1
local cur_sec = 0
  
start_dso()
pwron_st = get_runtime() -- 系统上电时的时间戳
  
while(true)
do
    cur_ms = check_runtime(pwron_st)
  
    --delayms(500)
  
    if(cur_ms >= 1000) then
      cur_sec = cur_sec+ 1
      pwron_st = get_runtime()
      cur = read_analog(3) --3 - 高端负载电流
      volt = read_analog(2) --2 - 高侧负载电压
      mah = mah + (cur / 3600)
      printf("tp:%.2fs v:%.2fv i:%.2fma w:%.2fmah",cur_sec,volt,cur,mah)
      
      sec_cnt = sec_cnt + 1
      if(sec_cnt == 60) then
        sec_cnt = 1
        min_cnt = min_cnt + 1
        printf("tp:%.2fs v:%.2fv i:%.2fma 
w:%.2fmah",cur_sec,volt,cur,mah)
      end
    end
end

 

(3)H7-TOOL硬件异常黑盒子功能,使用addr2line小软件可以方便锁定出错的源文件位置

【H7-TOOL的黑设置功能使用方法】

基于H7-TOOL的硬件异常黑盒子功能V1.0版本操作说明,持续更新(2022-08-17)
基于H7-TOOL的硬件异常黑盒子功能V1.0版本操作说明,持续更新(2022-08-17) - H7-TOOL开发工具 - 硬汉嵌入式论坛 - Powered by Discuz!

【根据出错地址锁定源文件位置】

前面分享的方法还需要大家在IDE调试状态锁定具体位置,不够方便。

通过addr2line小软件,可以方便的锁定位置,比如通过H7-TOOL硬件异常黑盒子功能锁定了出错位置0x0800 1000, 通过下面的命令方便的就锁定了出错源文件的位置

 后面想把这个黑盒子功能整合到RTOS Trace里面,这样检测状态出错了,就可以直接锁定出错位置一条龙,上位机直接运行下批处理就可以打印结果。

(4)H7-TOOL通过LUA监测CAN/CANFD全寄存器状态,特别是错误监测整理汇总帖

最近开始准备CAN/CANFD/CANopen专题视频教程第2期,已经发布了第1期

H7-TOOL已经支持了经典CAN和CANFD助手,但是还不够:

 我想通过SWD接口全面监测CANFD/CAN的寄存器状态,更好的方式展示出来,方便查看执行异常和错误分析,初步效果,本周继续升级下

 

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐