《安富莱嵌入式周报》第349期:VSCode正式支持Matlab调试,DIY录音室级麦克风,开源流体吊坠,物联网在军工领域的应用,Unicode字符压缩解压
周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz!

视频版:
《安富莱嵌入式周报》第349期:VSCode正式支持Matlab调试,DIY录音室级麦克风,开源流体吊坠,物联网在军工领域的应用,Unicode字符压缩解压_哔哩哔哩_bilibili
目录:
1、VSCode正式支持Matlab调试
2、DIY录音室级麦克风,20美元成本实现500美元产品效果
3、开源流体吊坠
4、Unicode算法,含编解码,大小写转换,文本分割,排序和文本压缩解压
5、DIY 高精度计时系统ProTimer,适合骑行者、跑步者、滑冰者等,声称其分辨率达到了0.003秒
6、资讯
(1)跨平台开源软件IDE Apache NetBeans V24发布
(2)RTX5中间件升级至V8.1.0
(3)STM32N6软件包发布,含ThreadX全家桶案例
(4)KICAD9 RC2发布,正式版将于本月末发布
(5)ThinkPython第3版,线上阅读
(6)物联网在军工领域的应用
7、手把手1000行C代码实现完整小型系统,涵盖上下文切换、用户模式、shell、磁盘设备驱动程序和文件读写操作
8、PX5 RTOS发布动态APP管理组件PX5 MODULES
9、开源硬件OSHWA整理认证的作品数增加至2950个
10、图形化RISC-V流水线指令执行仿真运行
11、H7-TOOL本周进展
(1)成功实现H7-TOOL的RTT,CAN和UART同时刷新,同时实时记录功能,2.28版本固件将正式发布
(2)解决H7-TOOL脱机烧录Nordic的nRF5340系列的NET核,至此APP核和NET核均可以烧录
1、VSCode正式支持Matlab调试
https://marketplace.visualstudio ... rks.language-matlab
之前分享过一期视频,不过当时还不支持VSCode中调试Matlab,但可以编译:
DSP视频教程第6期:Matlab和VSCode联调,使用贼舒服,大大方便测试验证,全程无需打开Matlab
DSP视频教程第6期:Matlab和VSCode联调,使用贼舒服,大大方便测试验证,全程无需打开Matlab(2022-04-09) - STM32H7 - 硬汉嵌入式论坛 - Powered by Discuz!
现在更加方便了,支持编辑,编译和调试一条龙。
视频效果:
《安富莱嵌入式周报》第349期:2025.01.08--2025.01.20 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz!
编译运行:

调试支持,Continue、Step Over、Step Into、Step Out、Restart 和 Stop均可,甚至条件断点也支持


2、DIY录音室级麦克风,20美元成本实现500美元产品效果
DIY High Quality Microphone JLI2555 capsule and PCB
这个制作的核心在于JLI-2555,它与高端麦克风中使用的相同。过程包括为放大器组装一个定制的PCB,选择高质量的电容器,并设计轻便但屏蔽的布线以尽量减少噪音。作者还展示了一个结构良好的金属网罩的重要性,以消除干扰,借用了木模板上成型网罩和用超薄漆包铜线绝缘电线等技术。虽然最终的制作没有完全达到参考的DIY Perks制作的工作室质量水平和外观,但值得观看和学习。
这个项目的关键挑战是实现一致的音质。麦克风在噪音、低音量和单声道音频方面遇到了困难,直到对屏蔽布线和放大阶段进行了智能修改。尽管有这些障碍,这个制作仍然是一个具有显著改进潜力的经济实惠的替代品。

3、开源流体吊坠
Fluid Simulation Pendant - mitxela.com
设计比较好看
动图:

实物:

外壳纯手工打造




4、Unicode算法,含编解码,大小写转换,文本分割,排序和文本压缩解压
下载:GitHub - railgunlabs/unicorn: Unicode® algorithms on a chip. Compliant with MISRA C:2012.
案例:Code Examples – Unicorn | Railgun
为了方便使用,特别提供了各种案例说明

5、DIY 高精度计时系统ProTimer,适合骑行者、跑步者、滑冰者等,声称其分辨率达到了0.003秒
GitHub - renat2985/protimer.club: Wireless training timer for BMX, cycling, sprint and other athletics. Based on ESP8266.
ProTimer是一款多功能的开源训练计时器,专为运动员和爱好者设计,提供高精度、无线连接和一系列可定制的功能。无论你是在训练速度、耐力还是精度,ProTimer都是完美的解决方案。
如果你在寻找高精度的断光计时装置,ProTimer承诺提供0.003秒的精度。ProTimer硬件基于用户选择的红外或激光传感器,后者提供更大的范围,并连接到微控制器。传感器单元的光束发射到一个反射面板上,除非光束被跑步者、骑行者或其他物体打断,否则传感器会触发事件。


6、资讯
(1)跨平台开源软件IDE Apache NetBeans V24发布
Welcome to Apache NetBeans

(2)RTX5中间件升级至V8.1.0
GitHub - ARM-software/MDK-Middleware: MDK-Middleware (file system, network and USB components) source code for Arm Cortex-M using CMSIS-Drivers and CMSIS-RTOS2 APIs.
当前还在beta阶段,即将发布,待发布正式版了,再看更新记录

(3)STM32N6软件包发布,含ThreadX全家桶案例
GitHub - STMicroelectronics/STM32CubeN6

(4)KICAD9 RC2发布,正式版将于本月末发布
Post-V8 New Features and Development News - KiCad Official SW Thread - KiCad.info Forums

(5)ThinkPython第3版,线上阅读
Think Python — Think Python
Think Python 是一本 Python 入门书,适合以前从未编程过的人,或者尝试过但遇到过困难的人

(6)物联网在军工领域的应用
The internet of battle things: a survey on communication challenges and recent solutions | Discover Internet of Things
大家有兴趣可以了解下
s43926-025-00093-w.pdf (1.22 MB)

7、手把手1000行C代码实现完整小型系统,涵盖上下文切换、用户模式、shell、磁盘设备驱动程序和文件读写操作
https://operating-system-in-1000-lines.vercel.app/en/
在这本书中,我们将一步一步地从头开始构建一个小型操作系统。
当你听到操作系统或内核开发时,可能会感到害怕,但操作系统(尤其是内核)的基本功能其实非常简单。即使是经常被引用为庞大开源软件的Linux,在0.01版本中也只有8,413行代码。今天的Linux内核非常庞大,但它也是从一个小代码库开始的,就像你的业余项目一样。
我们将用C语言实现基本的上下文切换、用户模式、shell、磁盘设备驱动程序和文件读写操作。听起来很多,但实际上只有1,000行代码!
你需要记住的一件事是,这并不像听起来那么容易。创建自己的操作系统的棘手部分是调试。在实现printf调试之前,你无法进行printf调试。你需要学习不同的调试技术和你在应用程序开发中从未需要过的技能。特别是从头开始时,你会遇到像启动过程和分页这样的挑战部分。但别担心!我们还将学习“如何调试操作系统”!

8、PX5 RTOS发布动态APP管理组件PX5 MODULES
PX5 MODULES | Embedded Application Modules
继ThreadX老大离开微软,开发的第5代RTOS系统PX5 RTOS后,已经陆续推出的PX NET网络协议栈,PX FILE文件系统,这次推出MODULES动态APP管理
PX5 RTOS特色:
(1)Flash和RAM最小需求都小于1KB.
(2)原生支持POSIX,这样各种基于POSIX编程的应用都可以互通移植,而还提供了拓展,专为深度嵌入式实时应用而设计。
(3)PX5 RTOS 还提供内存保障技术PDV,这是一种独特的技术,可实现运行时函数指针、链表和堆栈验证。最后,集中错误处理,有助于构建更强大的应用程序。

PX5 Net特色:
(1)PX5 NET的最小需求<6KB FLASH和<2KB RAM),可在一些内存最受限的设备中实现网络连接。
(2)同样支持PX5 RTOS的供内存保障技术PDV。
(3)原生支持BSD Socket,嵌入式 Linux 上运行的网络应用程序可以很容易地在 PX5 NET 下运行,反之亦然。

PX5 File:
(1)支持FAT 12/16/32
(2)支持exFAT
(3)支持8.3格式和长文件名
(4)原生支持Linux方式文件系统API open, close, read, write

PX5动态APP:
单片机动态APP加载玩法就跟安卓应用似的,可以从SD卡,NAND,NOR, eMMC等各种地方加载应用程序到支持执行程序的SRAM,SDRAM,QSPI Flash,内部Flash等空间执行。
而且支持MPU的话,可以隔离APP,APP死机了系统都不会挂掉。

9、开源硬件OSHWA整理认证的作品数增加至2950个
OSHWA Certified Projects List
2022年10月末的时候是1898个,截止今天,增加至2950个
每个项目都是点击打开了解的,大部分是全开源的,也有半开源的。

10、图形化RISC-V流水线指令执行仿真运行
WebRISC-V - RISC-V PIPELINED DATAPATH SIMULATION ONLINE
WebRISC-V 是一个基于 Web 的图形化流水线数据路径仿真环境,专为 RISC-V 指令集架构设计。它适用于教学如何在 RISC-V 流水线架构上执行汇编级代码,并用于展示流水线架构元素

11、H7-TOOL本周进展
H7-TOOL详细介绍:H7-TOOL开发工具,1拖4/16脱机烧录,高速DAPLINK,RTOS Trace,CAN/串口助手, 示波器, RTT等,支持WiFi,以太网,高速USB和手持 - H7-TOOL开发工具 - 硬汉嵌入式论坛 - Powered by Discuz!
成功实现H7-TOOL的RTT,CAN和UART同时刷新,同时实时记录功能,2.28版本固件将正式发布
【前言】
之前的版本,为了配合TOOL显示屏离线版界面同时展示,上位机进入RTT,CAN或者UART任意助手后,显示屏端会同步进入对应的界面,这样就不方便同时再展示另一个助手内容了,需要来回切换,非常不方便大家使用。
每个助手都有这么一个显示屏端的离线同步展示支持


【已经解决】
新的设计将在使用电脑端在线展示后,显示屏端就不展示了。这样上位机端就可以方便同时展示RTT, UART, CAN页面窗口,已经验证通过
下面是分别点击RTT UART CAN的效果,已经可以同时刷新,并且都在实时存储记录。

剩下就是以怎样的方式,方便大家查看,之前是打算都悬浮出来,发现三个页面都悬浮出来,容易点击乱。后面再看看怎么样的方式悬浮展示比较好。

解决H7-TOOL脱机烧录Nordic的nRF5340系列的NET核,至此APP核和NET核均可以烧录
1、5340是双核的,一个APP核是128MHz,1MB Flash,还有一个网络的核是256KB Flash, 64MH,当前烧录APP核的Flash和NET核的Flash都已经没问题。
2、推荐使用扇区擦除,整片擦除不稳定,出问题后也容易芯片保护。
NET核在线烧录(在线烧录是方便验证测试,上位机和下位机均无需联网即可测试)

NET核脱机烧录(手持TOOL操作烧写,无需连接电脑和任何网络)

去年完成的APP核烧录:




相关文章:
《安富莱嵌入式周报》第349期:VSCode正式支持Matlab调试,DIY录音室级麦克风,开源流体吊坠,物联网在军工领域的应用,Unicode字符压缩解压
周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 视频版: 《安富莱嵌入式周报》第349期:VSCode正式支持Matlab调试,DIY录音室级麦克风…...
使用LabVIEW的History功能实现队列数据的读取而不清空
在LabVIEW中,有多种方法可以读取队列中的数据而不清空它。使用 Dequeue Element 和 Enqueue Element 函数可以实现读取并重新插入数据回队列,但当需要处理大数据流或需要更动态的解决方案时,这种方法可能会变得繁琐。一个更高效的解决方案是利…...
电脑如何访问手机文件?
手机和电脑已经深深融入了我们的日常生活,无时无刻不在为我们提供服务。除了电脑远程操控电脑外,我们还可以在电脑上轻松地访问Android或iPhone手机上的文件。那么,如何使用电脑远程访问手机上的文件呢? 如何使用电脑访问手机文件…...
SpringBoot实现定时任务,使用自带的定时任务以及调度框架quartz的配置使用
SpringBoot实现定时任务,使用自带的定时任务以及调度框架quartz的配置使用 文章目录 SpringBoot实现定时任务,使用自带的定时任务以及调度框架quartz的配置使用一. 使用SpringBoot自带的定时任务(适用于小型应用)二. 使用调度框架…...
java上传图片功能实现
1 MinIO核心概念 下面介绍MinIO中的几个核心概念,这些概念在所有的对象存储服务中也都是通用的。 对象(Object) 对象是实际的数据单元,例如我们上传的一个图片。 存储桶(Bucket) 存储桶是用于组织对象的命…...
73,【5】BUUCTF WEB [网鼎杯 2020 玄武组]SSRFMe(未解出)
进入靶场 又是代码又是代码又是代码又是代码又是代码又是代码又是代码又是代码又是代码又是代码又是代码又是代码又是代码又是代码 <?php // 检查 URL 是否为内部 IP 地址 function check_inner_ip($url) {// 使用正则表达式检查 URL 格式是否以 http、https、gopher 或 d…...
【FreeRTOS 教程 一】任务结构体及其基础创建使用
目录 一、任务与协程的区别: (1)任务的特点: (2)协程的特点: (3)总结: 二、任务概述 : (1)任务状态: &…...
深入剖析 JVM 内存模型
前言: 下面分别介绍了新生代和老年代的不同收集器及其相关子类型,并附有示例代码和说明,感兴趣的朋友可以参考一下。 简介: 在 Java 虚拟机(JVM)的世界里,内存模型是其核心架构之一࿰…...
解决DeepSeek-R1模型在Cursor中使用报错的问题
在使用Cursor时,如果你尝试调用DeepSeek-R1模型,可能会遇到以下报错信息: {"error": {"message": "deepseek-reasoner does not support successive user or assistant messages (messages[1] and messages[2] in …...
ASP.NET Core 6.0 如何处理丢失的 Startup.cs 文件
介绍 .NET 6.0 已经发布,ASP.NET Core 6.0 也已发布。其中有不少变化让很多人感到困惑。例如,“谁动了我的奶酪”,它在哪里Startup.cs?在这篇文章中,我将深入研究这个问题,看看它移动到了哪里以及其他变化。…...
Java如何向http/https接口发出请求
用Java发送web请求所用到的包都在java.net下,在具体使用时可以用如下代码,你可以把它封装成一个工具类 import javax.net.ssl.*; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.Outpu…...
数据分析 变异系数
目录 变异系数的应用场景包括: 特点: 注意事项: np.nanvar——方差,np.sanstd标准差 简单来讲就是平均值/标准差 变异系数(Coefficient of Variation, CV)是一种相对量的变异指标,常用于衡…...
利用免费GIS工具箱实现高斯泼溅切片,将 PLY 格式转换为 3dtiles
在地理信息系统(GIS)和三维数据处理领域,不同数据格式有其独特应用场景与优势。PLY(Polygon File Format)格式常用于存储多边形网格数据,而 3DTiles 格式在 Web 端三维场景展示等方面表现出色。将 PLY 格式…...
面试-二维数组
应用 快递业务有N个站点,1<N<10000;站点0、站点1可达,记作0-1;如果0-1、1-2,则站点0、站点2可达,记作0-2;s[i][j]1表示i-j可达,反之s[i][j]0表示i-j不可达;s[i][j…...
如何使用 findIndex() 方法查找数组中的第一个匹配元素的索引?
使用 findIndex() 方法查找数组中第一个匹配元素的索引 目录 简介findIndex() 方法概述如何使用 findIndex() 查找第一个匹配元素的索引 基本用法使用箭头函数和回调函数 实际项目中的代码示例 示例 1:查找第一个符合条件的用户索引示例 2:查找第一个符…...
5. 马科维茨资产组合模型+政策意图AI金融智能体(Qwen-Max)增强方案(理论+Python实战)
目录 0. 承前1. AI金融智能体1.1 What is AI金融智能体1.2 Why is AI金融智能体1.3 How to AI金融智能体 2. 数据要素&计算流程2.1 参数集设置2.2 数据获取&预处理2.3 收益率计算2.4 因子构建与预期收益率计算2.5 协方差矩阵计算2.6 投资组合优化2.7 持仓筛选2.8 AI金融…...
Centos类型服务器等保测评整/etc/pam.d/system-auth
修改服务器配置文件/etc/pam.d/system-auth,但是,把一下配置放在password的配置第一行才会生效 执行命令:配置口令要求:大小写字母、数字、特殊字符组合、至少8位,包括强制设置root口令! sed -i 14a pas…...
从工厂到桌面:3D打印制造潮玩手办
传统潮玩手办的制造过程复杂且成本高昂。从设计到成品,需要经过多道工序,包括手工建模、模具制作、注塑成型等。这一过程不仅耗时耗力,而且难以满足消费者日益增长的个性化需求。此外,传统制造方式对于小批量生产或定制化产品的经…...
Java高频面试之SE-16
hello啊,各位观众姥爷们!!!本牛马baby今天又来了!哈哈哈哈哈嗝🐶 Java中异常的处理方式有哪些? 在 Java 中,异常的处理方式主要有以下几种: 1. 使用 try-catch 语句 …...
三分钟简单了解一些HTML的标签和语法_01
1.图片建议建立一个文件夹如下图所示 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"keywords"><title>魔神羽落</title><style>.testone{background-color: #ff53e…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
