当前位置: 首页 > news >正文

《安富莱嵌入式周报》第320期:键盘敲击声解码, 军工级boot设计,开源CNC运动控制器,C语言设计笔记,开源GPS车辆跟踪器,一键生成RTOS任务链表

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

 

视频版:

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

《安富莱嵌入式周报》第320期:键盘敲击声解码, 军工级boot设计,开源CNC运动控制器,C语言设计笔记,开源GPS车辆跟踪器,一键生成RTOS任务链表



1、键盘敲击声解码

https://arxiv.org/abs/2308.01074

键盘敲击声被解码的话,我们使用键盘输入密码将被方便的解码出来。这篇文章介绍了一种使用最先进的深度学习模型,以便使用手机麦克风对笔记本电脑敲击键盘分析。实际测试训练手机,可以实现97%的准确率,使用Zoom视频会议软件可以实现93%的精度。

 

 


2、4轴CNC运动控制器,搭载开源库grblHAL,高度优化的 C 语言编写,能够保持高达300kHz的频率,稳定、无抖动的控制脉冲

https://github.com/phil-barrett/PicoCNC/

可以为机床,铣床等提供CNC运动控制器,

规格:

 

效果:

 

软件是采样的开源库grblHA,高度优化的 C 语言编写,能够保持高达300kHz的频率,稳定、无抖动的控制脉冲,当前已经支持了15款单片机。

grblHAL Web Builder

为了方便使用,也可以在线选择型号,生成固件,无需用户自己折腾

 


3、开源低功耗4G-LTE GPS车辆跟踪器,具有蓝牙和Wi-Fi连接功能

介绍:https://docs.valetron.com/wiki/p ... k-v4-vts-io-int-lte
原理图:https://docs.valetron.com/wiki/p ... esp32-c3/schematics
固件:https://docs.valetron.com/wiki/p ... s-esp32-c3/firmware

 

 


4、软件

(1)是德科技推出PathWave ADS 2024,助力加速 5G 毫米波设计,引领 6G 开发

https://www.keysight.com.cn/cn/z ... 4-to-accelerat.html

是德科技推出PathWave高级设计系统(ADS)2024,这是一款电子设计自动化(EDA)软件套件,为芯片设计人员提供了新的毫米波(mmWave)和亚太赫兹(sub-THz)频率功能,可加速5G毫米波产品设计并预测6G无线通信开发的要求。

 


(2)兆松科技 ZCC 工具链全面支持 ANDES 晶心科技 RISC-V 处理器

兆松科技 ZCC 工具链全面支持 Andes 晶心科技 RISC-V 处理器 – 兆松科技

晶心科技是 32 及 64 位高效能、低功耗 RISC-V 处理器核心领导供货商、RISC-V 国际协会的创始首席会员。ZCC 工具链相较晶心科技 AndeSight IDE 所提供的 LLVM 编译器,可以进一步将AndesCore AX45 双发射 8 级流水线处理器 CoreMark 分数提升 6%,在 Embench-IoT(-O3)测试中同时实现了 18.9% 的性能提升和 11.8% 的代码密度优化;在 Embench-IoT(-Os)测试同时实现了 10% 的代码密度优化和 9.1% 的性能提升

 


(3)nRF Connect for VS Code 加速物联网开发

https://devzone.nordicsemi.com/n ... -connect-for-vscode

这个是Nordic新发的一篇博文,开头有一句至理名言:“If the only tool you have is a hammer, you tend to see every problem as a nail”, 如果你拥有的唯一工具是锤子,你往往会把每个问题都视为钉子,为工作选择合适的工具至关重要。

a、丰富的案例

 

b、设备树可视化编程

 

c、应用程序KConfig配置

 

d、调试

 

e、内存报告

 


(4) emWin6.34模拟器发布,增加Cortex-M85和A系NEON扩展的硬件逆离散余弦IDCT支持

模拟器含手册下载:

SeggerEval_WIN32_MSVC_MinGW_GUI_V634.zip (80.81MB)

更新记录:

 


(5)STM32L5的ThreadX全家桶软件包升级至V2.0.0

GitHub - STMicroelectronics/x-cube-azrtos-l5: X-CUBE-AZRTOS-L5 (Azure RTOS Software Expansion for STM32Cube) provides a full integration of Microsoft Azure RTOS in the STM32Cube environment for the STM32L5 series of microcontrollers.

 


5、硬件

(1)ST推出汽车机器学习评估板SL-AIAID012401V1

https://blog.st.com/aekd-aicar1/

ST首款可识别四种汽车状态的机器学习解决方案:停车、正常路况、颠簸路面、打滑或转弯

 


(2) 安世半导体推出纽扣电池长续航管理芯片NBM7100ABQ

https://www.nexperia.com/product ... ics/NBM7100ABQ.html

NBM7100A/B 是一款电池能量管理器件,设计用于需要突发电流负载的低电压、低功耗应用时可最大限度地提高不可充电原电池的可用容量.

NBM7100A/B 包含两级高效 DC-DC 转换和智能学习算法。第一级DC-DC转换以低恒流将能量从锂电池传输到电容存储元件。充电后,第二个 DC-DC 转换周期利用该存储的能量在 VDH 输出引脚上提供具有高脉冲负载电流能力。电池永远不会直接受到大负载脉冲电流的影响,从而延长电池寿命,实现更可预测的电池寿命

 

(3)雅特力发布首款车规级MCU,AT32A403A通过AEC-Q100车规认证

AT32A403A通过AEC-Q100 Grade2车规级可靠性认证,满足功能安全标准车规级MCU的能力,可用于环境温度范围-40°C到105°C的大部分车载应用环境

 

(4)思瑞浦推出多通道高精度ADC—TPC517系列!16位分辨率,最高1MSPS采样率

 


6、军工级系统boot设计

Designing and implementing secure boot for military-grade systems - Military Embedded Systems

这是一篇非常不错的相关知识普及贴,军用级系统需要高级别的安全性来保护敏感信息和操作免遭未经授权的访问、修改。保护此类系统的关键组件之一是安全启动,它确保在系统启动期间只能加载受信任的固件和软件

 


7、LPython:新颖、快速、可重定向的 Python 编译器

https://github.com/lcompilers/lpython
LPython: Novel, Fast, Retargetable Python Compiler -

LPython是一个Python编译器,可以将type annotated 动态类型的Python代码编译为优化的机器代码。LPython提供了几个后端,如LLVM,C,C++,WASM,Julia和x86。LPython 具有快速编译和运行时性能。LPython还提供即时(JIT)编译以及与CPython的无缝互操作性。


 

 测试代码:

[Python]

from lpython import i32def main():x: i32x = (2+3)*5print(x)main()

生成C和LLVM

[C]

$ lpython examples/expr2.py --show-c
#include <inttypes.h>#include <stdlib.h>
#include <stdbool.h>
#include <stdio.h>
#include <string.h>
#include <lfortran_intrinsics.h>void main0();
void __main____global_statements();// Implementations
void main0()
{int32_t x;x = (2 + 3)*5;printf("%d\n", x);
}void __main____global_statements()
{main0();
}int main(int argc, char* argv[])
{_lpython_set_argv(argc, argv);__main____global_statements();return 0;

[C]

$ lpython examples/expr2.py --show-llvm
; ModuleID = 'LFortran'
source_filename = "LFortran"@0 = private unnamed_addr constant [2 x i8] c" \00", align 1
@1 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@2 = private unnamed_addr constant [5 x i8] c"%d%s\00", align 1define void @__module___main_____main____global_statements() {
.entry:call void @__module___main___main0()br label %returnreturn:                                           ; preds = %.entryret void
}define void @__module___main___main0() {
.entry:%x = alloca i32, align 4store i32 25, i32* %x, align 4%0 = load i32, i32* %x, align 4call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @2, i32 0, i32 0), i32 %0, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @1, i32 0, i32 0))br label %returnreturn:                                           ; preds = %.entryret void
}declare void @_lfortran_printf(i8*, ...)define i32 @main(i32 %0, i8** %1) {
.entry:call void @_lpython_set_argv(i32 %0, i8** %1)call void @__module___main_____main____global_statements()ret i32 0
}declare void @_lpython_set_argv(i32, i8**)

 

8、C语言程序设计笔记,适合想提高C/C++编程能力的

根据开头的说明,此笔记不适合初学者,也不适合专家,适合想熟悉C/C++的人。

笔记一共64页,内容不多。

  C-notes-en.pdf (598.73 KB)

 

 

 

 


9、波形图绘制软件waveme

感谢坛友fantasyhpu的分享。
波形图绘制软件waveme - 开发环境 - 硬汉嵌入式论坛 - Powered by Discuz!

waveme是一款免费的波形图绘制软件,可以输出BMP、PNG、SVG、TIFF、PDF等多种格式。

 


10、H7-TOOL本周进展

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

H7-TOOL的FreeRTOS,RTX5,ThreadX,uCOS-II和uCOS-III一键链表查看功能全部制作完成

1、之前推出了H7-TOOL的RTOS Trace功能,已经支持RTX5,ThreadX,uCOS-III,uCOS-II和FreeRTOS,特色是不需要目标板额外做任何代码,实时检测RTOS任务执行情况,支持在线和脱机玩法。
     【原创】H7-TOOL的RTOS Trace操作说明,不需要目标板额外做任何代码,实时检测RTOS任务执行情况,支持在线和脱机玩法2023-07-14 - H7-TOOL开发工具 - 硬汉嵌入式论坛 - Powered by Discuz!

 

 


2、但展示还不够直观,所以花了些时间研究图形化链表方式展示任务管理,从源码的角度来看,OS内核源码就是通过各种链表组装起来的,为了让大家更直观的看内核实现,开始支持一键查看链表,这种链表会让大家心里更有底。

FreeRTOS:

 


uCOS-II:

 
uCOS-III:

 
ThreadX:

 
RTX5:

 

相关文章:

《安富莱嵌入式周报》第320期:键盘敲击声解码, 军工级boot设计,开源CNC运动控制器,C语言设计笔记,开源GPS车辆跟踪器,一键生成RTOS任务链表

周报汇总地址&#xff1a;嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 视频版&#xff1a; https://www.bilibili.com/video/BV1Cr4y1d7Mp/ 《安富莱嵌入式周报》第320期&#xff1a;键盘敲击…...

DRF 缓存

应用环境 django4.2.3 &#xff0c;python3.10 由于对于服务而言&#xff0c;有些数据查询起来比较费时&#xff0c;所以&#xff0c;对于有些数据&#xff0c;我们需要将其缓存。 最近做了一个服务&#xff0c;用的时 DRF 的架构&#xff0c;刚好涉及缓存&#xff0c;特此记…...

Collada .dae文件格式简明教程【3D】

当你从互联网下载 3D 模型时&#xff0c;可能会在格式列表中看到 .dae 格式。 它是什么&#xff1f; 推荐&#xff1a;用 NSDT编辑器 快速搭建可编程3D场景。 1、Collada DAE概述 COLLADA是COLLAborative Design Activity&#xff08;中文&#xff1a;协作设计活动&#xff09…...

在K8s上处理nginx

基本说明 创建一个名为ssl的TLS类型的Secret对象&#xff0c;用于存储证书和密钥信息。 kubectl create secret tls ssl --certserver.crt --keyserver.key配置Nginx的events块&#xff0c;设置worker连接数为1024。 events {worker_connections 1024; }配置Nginx的http块&a…...

嵌入式:ARM Day4

一、自己编写代码实现三盏灯点亮 源码&#xff1a; .text .global _start _start: 进行一次初始化bl RCC_INITbl LED1_INITbl LED2_INITbl LED3_INITb looploop: 循环开关灯bl LED1_ONbl delay_1sbl LED1_OFFbl delay_1sbl LED2_ONbl delay_1sbl LED2_OFFbl delay_1sbl…...

SpringBoot案例-员工管理-分页条件查询

根据页面原型&#xff0c;明确需求 页面原型 需求 查看接口文档 接口文档的链接如下&#xff1a; 【腾讯文档】SpringBoot案例所需文档 https://docs.qq.com/doc/DUkRiTWVaUmFVck9N 思路分析 分页条件查询就时将条件查询的结果进行分页展示&#xff0c;由于有的条件可能设…...

python控制obs实现无缝切换场景!obs-websocket-py

前言 最近一直在研究孪生数字人wav2lip。目前成果可直接输入高清嘴型&#xff0c;2070显卡1分钟音频2.6分钟输出。在直播逻辑上可以做到1比1.3这样&#xff0c;所以现在开始研究直播。在逻辑上涉及到了无缝切换&#xff0c;看到csdn上有一篇文章还要vip解锁。。。那自己研究吧…...

Vue3实现图片懒加载及自定义懒加载指令

Vue3实现图片懒加载及自定义懒加载指令 前言1.使用vue3-lazyload插件2.自定义v-lazy懒加载指令2.1 使用VueUse2.2 使用IntersectionObserver 前言 图片懒加载是一种常见性能优化的方式&#xff0c;它只去加载可视区域图片&#xff0c;而不是在网页加载完毕后就立即加载所有图片…...

LeetCode150道面试经典题-- 环形链表(简单)

1.题目 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&…...

音视频学习-音视频基础

文章目录 一、 音视频录制原理二、音视频播放原理三、图像基础概念1.像素2.分辨率3.位深4.帧率5.码率6.Stride跨距 四、RGB、YUV1.RGB2.YUV1. 4:4:4格式2. 4:2:2格式3. 4:2:0格式4. 4:2:0数据格式对比 3.RGB和YUV的转换4.YUV Stride对齐问题 五、视频的主要概念1.基本概念2.I P…...

asp.net core webapi如何执行周期性任务

使用Api执行周期性任务 第一种&#xff0c;无图形化界面1.新建类&#xff0c;继承IJob&#xff0c;在实现的方法种书写需要周期性执行的事件。2.编写方法类&#xff0c;定义事件执行方式3.在启动方法中&#xff0c;进行设置&#xff0c;.net 6中在program.cs的Main方法中&#…...

快速搭建图书商城小程序的简易流程与优势

很多人喜欢阅读电子书&#xff0c;又有很多人依旧喜欢实体书&#xff0c;而实体书店拥有一个图书商城小程序便成为了满足用户需求的理想选择。如果您也想进入这一充满潜力的领域&#xff0c;但担心开发难度和复杂流程&#xff0c;别担心&#xff01;您能做到快速搭建一个专业、…...

C++ template 循环

在元编程循环中&#xff0c;我们不需要用while&#xff0c;for来循环&#xff0c;一般情况下都要用递归&#xff0c;例如&#xff1a; #include <iostream> using namespace std; template <int Head, int...Data> constexpr static int num Head num<Data..…...

时序预测 | MATLAB实现基于CNN-BiGRU卷积双向门控循环单元的时间序列预测-递归预测未来(多指标评价)

时序预测 | MATLAB实现基于CNN-BiGRU卷积双向门控循环单元的时间序列预测-递归预测未来(多指标评价) 目录 时序预测 | MATLAB实现基于CNN-BiGRU卷积双向门控循环单元的时间序列预测-递归预测未来(多指标评价)预测结果基本介绍程序设计参考资料 预测结果 基本介绍 MATLAB实现基于…...

mysql 数据备份和恢复

操作系统&#xff1a;22.04.1-Ubuntu mysql 版本&#xff1a;8.033 binlog 介绍 binlog 是mysql 二进制日志 binary log的简称&#xff0c;可以简单理解为数据的修改记录。 需要开启binlog,才会产生文件&#xff0c;mysql 8.0 默认开启,开启后可以在 /var/lib/mysql &#xff…...

Lucene教程_编程入门自学教程_菜鸟教程-免费教程分享

教程简介 Lucene是apache软件基金会 jakarta项目组的一个子项目&#xff0c;是一个开放源代码的全文检索引擎工具包&#xff0c;但它不是一个完整的全文检索引擎&#xff0c;而是一个全文检索引擎的架构&#xff0c;提供了完整的查询引擎和索引引擎&#xff0c;部分文本分析引…...

物联网工程应用实训室建设方案

一、物联网工程应用系统概述 1.1物联网工程定义 物联网工程&#xff08;Internet of Things Engineering&#xff09;是一种以信息技术&#xff08;IT&#xff09;来改善实体世界中人们生活方式的新兴学科&#xff0c;它利用互联网技术为我们的日常生活活动提供服务和增益&am…...

【AI绘画】3分钟学会ikun幻术图

目录 前言一、效果展示二、准备工作三、操作步骤3.1平台创建实例3.2 启动SD 四、安装QR Code Monster 模型五、成图 前言 大家热爱的ikun幻术在今天的分享中将呈现。在本文中&#xff0c;我们将揭示一个备受欢迎的图像幻术技术&#xff0c;让您感受到令人惊叹的视觉创造力。 …...

Spring 框架入门介绍及IoC的三种注入方式

目录 一、Spring 简介 1. 简介 2. spring 的核心模块 ⭐ 二、IoC 的概念 2.1 IoC 详解 2.2 IoC的好处 2.3 谈谈你对IoC的理解 三、IoC的三种注入方式 3.1 构造方法注入 3.2 setter方法注入 3.3 接口注入&#xff08;自动分配&#xff09; 3.4 spring上下文与tomcat整…...

Centos升级openssl

依赖包 安装编译 OpenSSL 所需的包&#xff0c;包括 gcc、make、perl 和 zlib-devel。可以通过运行以下命令完成&#xff1a; yum install -y gcc make perl zlib-devel安装包下载 下载 OpenSSL 1.1.1 的源码包&#xff0c;可以从 OpenSSL 官网下载&#xff08;https://www.op…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...