《安富莱嵌入式周报》第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任务链表
周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 视频版: https://www.bilibili.com/video/BV1Cr4y1d7Mp/ 《安富莱嵌入式周报》第320期:键盘敲击…...
DRF 缓存
应用环境 django4.2.3 ,python3.10 由于对于服务而言,有些数据查询起来比较费时,所以,对于有些数据,我们需要将其缓存。 最近做了一个服务,用的时 DRF 的架构,刚好涉及缓存,特此记…...
Collada .dae文件格式简明教程【3D】
当你从互联网下载 3D 模型时,可能会在格式列表中看到 .dae 格式。 它是什么? 推荐:用 NSDT编辑器 快速搭建可编程3D场景。 1、Collada DAE概述 COLLADA是COLLAborative Design Activity(中文:协作设计活动)…...
在K8s上处理nginx
基本说明 创建一个名为ssl的TLS类型的Secret对象,用于存储证书和密钥信息。 kubectl create secret tls ssl --certserver.crt --keyserver.key配置Nginx的events块,设置worker连接数为1024。 events {worker_connections 1024; }配置Nginx的http块&a…...
嵌入式:ARM Day4
一、自己编写代码实现三盏灯点亮 源码: .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案例-员工管理-分页条件查询
根据页面原型,明确需求 页面原型 需求 查看接口文档 接口文档的链接如下: 【腾讯文档】SpringBoot案例所需文档 https://docs.qq.com/doc/DUkRiTWVaUmFVck9N 思路分析 分页条件查询就时将条件查询的结果进行分页展示,由于有的条件可能设…...
python控制obs实现无缝切换场景!obs-websocket-py
前言 最近一直在研究孪生数字人wav2lip。目前成果可直接输入高清嘴型,2070显卡1分钟音频2.6分钟输出。在直播逻辑上可以做到1比1.3这样,所以现在开始研究直播。在逻辑上涉及到了无缝切换,看到csdn上有一篇文章还要vip解锁。。。那自己研究吧…...
Vue3实现图片懒加载及自定义懒加载指令
Vue3实现图片懒加载及自定义懒加载指令 前言1.使用vue3-lazyload插件2.自定义v-lazy懒加载指令2.1 使用VueUse2.2 使用IntersectionObserver 前言 图片懒加载是一种常见性能优化的方式,它只去加载可视区域图片,而不是在网页加载完毕后就立即加载所有图片…...
LeetCode150道面试经典题-- 环形链表(简单)
1.题目 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 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执行周期性任务 第一种,无图形化界面1.新建类,继承IJob,在实现的方法种书写需要周期性执行的事件。2.编写方法类,定义事件执行方式3.在启动方法中,进行设置,.net 6中在program.cs的Main方法中&#…...
快速搭建图书商城小程序的简易流程与优势
很多人喜欢阅读电子书,又有很多人依旧喜欢实体书,而实体书店拥有一个图书商城小程序便成为了满足用户需求的理想选择。如果您也想进入这一充满潜力的领域,但担心开发难度和复杂流程,别担心!您能做到快速搭建一个专业、…...
C++ template 循环
在元编程循环中,我们不需要用while,for来循环,一般情况下都要用递归,例如: #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 数据备份和恢复
操作系统:22.04.1-Ubuntu mysql 版本:8.033 binlog 介绍 binlog 是mysql 二进制日志 binary log的简称,可以简单理解为数据的修改记录。 需要开启binlog,才会产生文件,mysql 8.0 默认开启,开启后可以在 /var/lib/mysql ÿ…...
Lucene教程_编程入门自学教程_菜鸟教程-免费教程分享
教程简介 Lucene是apache软件基金会 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引…...
物联网工程应用实训室建设方案
一、物联网工程应用系统概述 1.1物联网工程定义 物联网工程(Internet of Things Engineering)是一种以信息技术(IT)来改善实体世界中人们生活方式的新兴学科,它利用互联网技术为我们的日常生活活动提供服务和增益&am…...
【AI绘画】3分钟学会ikun幻术图
目录 前言一、效果展示二、准备工作三、操作步骤3.1平台创建实例3.2 启动SD 四、安装QR Code Monster 模型五、成图 前言 大家热爱的ikun幻术在今天的分享中将呈现。在本文中,我们将揭示一个备受欢迎的图像幻术技术,让您感受到令人惊叹的视觉创造力。 …...
Spring 框架入门介绍及IoC的三种注入方式
目录 一、Spring 简介 1. 简介 2. spring 的核心模块 ⭐ 二、IoC 的概念 2.1 IoC 详解 2.2 IoC的好处 2.3 谈谈你对IoC的理解 三、IoC的三种注入方式 3.1 构造方法注入 3.2 setter方法注入 3.3 接口注入(自动分配) 3.4 spring上下文与tomcat整…...
Centos升级openssl
依赖包 安装编译 OpenSSL 所需的包,包括 gcc、make、perl 和 zlib-devel。可以通过运行以下命令完成: yum install -y gcc make perl zlib-devel安装包下载 下载 OpenSSL 1.1.1 的源码包,可以从 OpenSSL 官网下载(https://www.op…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
