《安富莱嵌入式周报》第346期:开源2GHz带宽,12bit分辨率,3.2Gsps采样率示波,开源固件安全分析器, 开源口袋电源,开源健康测量,FreeCAD
周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz!

视频:
https://www.bilibili.com/video/BV1TYBhYKECK/
《安富莱嵌入式周报》第346期:开源2GHz带宽,12bit分辨率,3.2Gsps采样率示波,开源固件安全分析器, 开源口袋电源,开源健康测量,FreeCAD
目录:
1、开源2GHz带宽,12bit分辨率,3.2Gsps采样率示波器
2、开源嵌入式固件安全分析器
3、TI分享的8通道隔离 ±12.288 V 模拟采集参考设计,符合涌瞬态抗扰度 EN 61000-4-5 2 类标准(±1 kV,24 A)
4、C编译器原理书籍
5、FreeCAD V1.0版本发布
6、两年未更新的FatFS发布V0.15a版本
7、开源USB Type-C口袋电源,支持3.3 -20 V,最大5 A
8、IDE相关
(1)Embedded Studio发布V8.20版本
(2)新唐自家所有M内核芯片免费使用MDK专业版,授权到2027年9月
9、【实测】使用STM32H7板子FatFS文件系统每秒读写2MB文件,实时写入7450个文件不出错,写满16GB SD卡
10、开源血压信号,PPG,ECG,听诊信号测量设备
11、H7-TOOL本周进展
(1)脱机烧录
增加NXP车轨芯片S32K312脱机烧录支持
增加英飞凌车轨芯片CYT4B和CYT3B脱机烧录支持
增加航顺HK32C030系列
(2)加紧H7-TOOL的LUA API手册制作,与2.27版本固件同时发布
1、开源2GHz带宽,12bit分辨率,3.2Gsps采样率示波器
软件和硬件全开源
这个是早期Haasoscope开源项目的升级版,不过这次升级与之前版本已经没有任何关系,只是示波器名字没变。但性能是质的飞跃
GitHub - drandyhaas/HaasoscopePro: An Affordable 2 GHz 3.2 GS/s 12 bit open-source open-hardware expandable USB oscilloscope
https://www.crowdsupply.com/andy-haas/haasoscope-pro
软硬件软件包:HaasoscopePro-main.zip (292.75MB)
2GHz探头软件包: oshw-active-probe-master.zip (3.94 MB)
效果:



规格:
两个设备同步,可以做到6.4Gsps采样率

由于示波器带宽比较高,普通探头是无法满足需求的,所以专门设计了一个2GHz带宽探头

2、开源嵌入式固件安全分析器
GitHub - e-m-b-a/emba: EMBA - The firmware security analyzer
EMBA 会自动发现固件中可能存在的弱点和漏洞。例如,不安全的二进制文件、旧的和过时的软件组件、可能易受攻击的脚本或硬编码的密码。EMBA 是一个命令行工具,可以生成易于使用的 Web 报告以供进一步分析
视频效果:
https://www.armbbs.cn/forum.php?mod=viewthread&tid=126614
有详细的文档说明:
Home · e-m-b-a/emba Wiki · GitHub
3、TI分享的8通道隔离 ±12.288 V 模拟采集参考设计,符合涌瞬态抗扰度 EN 61000-4-5 2 类标准(±1 kV,24 A)
设计指南.pdf (1.64 MB)
原理图.pdf (1.67 MB)
TIDA-00764 reference design | TI.com
此参考设计是具有 8 个通道的高压模拟输入模块。每个通道都可用于电压和电流测量。该设计使用 16 位模数转换器 (ADC) ADS8681,可处理 ±12.288 V 的输入电压。此外,该设计的四个通道能够处理高达 ±160 V 的共模电压。因此,用户无需担心接地回路或补偿电流在连接的输入之间流动。
±12.288 V 的高压输入
每个通道的电压和电流测量
4 个通道,共模电压高达 ±160 V
-85dB 的邻道串扰抑制
100 MΩ 输入阻抗
浪涌瞬态抗扰度符合 EN 61000-4-5 2 类标准(±1 kV,24 A)

4、C编译器原理书籍
有助于深入了解C以及编译原理
Modern Compiler Implementation in C.pdf (5.17 MB)
https://github.com/ethanhe42/Mod ... on-in-C/tree/master

每个章节配套例题

5、FreeCAD V1.0版本发布
FreeCAD Version 1.0 Released | Hackaday
经过 22 年的发展,FreeCAD 终于达到了 1.0 版的里程碑
各大平台都提供了下载

视频:
https://www.armbbs.cn/forum.php?mod=viewthread&tid=126614
6、两年未更新的FatFS发布V0.15a版本
http://elm-chan.org/fsw/ff/
上一次更新还是2022年的11月份.
ff15a.zip
ffsample.zip
更新记录:

7、开源USB Type-C口袋电源,支持3.3 -20V,最大5A
GitHub - CentyLab/PocketPD: Opensource firmware for PocketPD
https://www.crowdsupply.com/centylab/pocketpd
电压和电流可调,电压支持3.3V-20V,单步50mV可调。电流1A-5A可调,单步50mA可调。



规格

8、IDE相关
1、Embedded Studio发布V8.20版本
SEGGER - The Embedded Experts - Downloads - Embedded Studio


2、新唐自家所有M内核芯片免费使用MDK专业版,授权到2027年9月
各家芯片厂商都在折腾GCC + eclipse/vscode免费方案的时候,新唐不折腾这些了,直接让大家免费使用MDK。
新闻如下:
Keil MDK Nuvoton Edition – Full Cortex-M - Nuvoton
Arm 与新唐科技为软件开发者提供免费的Keil® MDK专业工具:Keil MDK Nuvoton Edition - Full Cortex-M,此服务可支持所有基于 Arm® Cortex-M 处理器为内核的新唐产品,包括 Arm Cortex-M0/M0+/M23/M33/M4/M55/M7/M85,并可用于商业用途。
此服务亦包含 Arm Keil MDK v6 提供的所有工具和软件套件,包括 Arm C/C++ 编译程序、Arm Keil Studio Pack - the Visual Studio Code extensions、Keil µVision 与除错环境。
此免费服务的使用范围仅适用于 Keil MDK 5.37(含) 或更高的版本,并且仅支持 Arm Compiler 6。
安装说明:
Keil Download - Nuvoton

9、【实测】使用STM32H7板子FatFS文件系统每秒读写2MB文件,实时写入7450个文件不出错,写满16GB SD卡
【测试平台】
STM32-V7开发板
【测试例子】
【安富莱】STM32H7用户手册发布,重在BSP驱动包设计方法,HAL库的框架学习,授人以渔,更新至95章(2024-05-06) - STM32H7 - 硬汉嵌入式论坛 - Powered by Discuz!
V7-025_FatFS文件系统例子(SD卡 V1.2)
【测试条件和校验】
运行例子里面的命令6,命令6是个测速函数,每次写入2MB文件,同时读取出来校验,保证写入的没问题。
/*
*********************************************************************************************************
* 函 数 名: WriteFileTest
* 功能说明: 测试文件读写速度
* 形 参:无
* 返 回 值: 无
*********************************************************************************************************
*/
static void WriteFileTest(void)
{FRESULT result;char path[64]; uint32_t bw;uint32_t i,k;uint32_t runtime1,runtime2,timelen;uint8_t err = 0;static uint32_t s_ucTestSn = 0;for (i = 0; i < sizeof(g_TestBuf); i++){g_TestBuf[i] = (i / 512) + '0';}/* 挂载文件系统 */result = f_mount(&fs, DiskPath, 0); /* Mount a logical drive */if (result != FR_OK){printf("挂载文件系统失败 (%s)\r\n", FR_Table[result]);}/* 打开文件 */sprintf(path, "%sS%05d.txt", DiskPath, s_ucTestSn++); /* 每写1次,序号递增 */ result = f_open(&file, path, FA_CREATE_ALWAYS | FA_WRITE);/* 写一串数据 */printf("开始写文件%s %dKB ...\r\n", path, TEST_FILE_LEN / 1024);runtime1 = bsp_GetRunTime(); /* 读取系统运行时间 */for (i = 0; i < TEST_FILE_LEN / BUF_SIZE; i++){result = f_write(&file, g_TestBuf, sizeof(g_TestBuf), &bw);if (result == FR_OK){if (((i + 1) % 8) == 0){printf(".");}}else{err = 1;printf("%s文件写失败\r\n", path);break;}}runtime2 = bsp_GetRunTime(); /* 读取系统运行时间 */if (err == 0){timelen = (runtime2 - runtime1);printf("\r\n 写耗时 : %dms 平均写速度 : %dB/S (%dKB/S)\r\n",timelen,(TEST_FILE_LEN * 1000) / timelen,((TEST_FILE_LEN / 1024) * 1000) / timelen);}f_close(&file); /* 关闭文件*//* 开始读文件测试 */result = f_open(&file, path, FA_OPEN_EXISTING | FA_READ);if (result != FR_OK){printf("没有找到文件: %s\r\n", path);return;}printf("开始读文件 %dKB ...\r\n", TEST_FILE_LEN / 1024);runtime1 = bsp_GetRunTime(); /* 读取系统运行时间 */for (i = 0; i < TEST_FILE_LEN / BUF_SIZE; i++){result = f_read(&file, g_TestBuf, sizeof(g_TestBuf), &bw);if (result == FR_OK){if (((i + 1) % 8) == 0){printf(".");}/* 比较写入的数据是否正确,此语句会导致读卡速度结果降低到 3.5MBytes/S */for (k = 0; k < sizeof(g_TestBuf); k++){if (g_TestBuf[k] != (k / 512) + '0'){err = 1;printf("Speed1.txt 文件读成功,但是数据出错\r\n");break;}}if (err == 1){break;}}else{err = 1;printf("Speed1.txt 文件读失败\r\n");break;}}runtime2 = bsp_GetRunTime(); /* 读取系统运行时间 */if (err == 0){timelen = (runtime2 - runtime1);printf("\r\n 读耗时 : %dms 平均读速度 : %dB/S (%dKB/S)\r\n", timelen,(TEST_FILE_LEN * 1000) / timelen, ((TEST_FILE_LEN / 1024) * 1000) / timelen);}/* 关闭文件*/f_close(&file);/* 卸载文件系统 */f_mount(NULL, DiskPath, 0);
}

【实测】
1500个文件时:

5100个文件时:

写满SD卡,特别注意,但SD卡还剩下一点空间的时候,比如200M时,建议停止再写入,防止写爆后损坏SD卡

10、开源血压信号,PPG,ECG,听诊信号测量设备
之前给大家分享多款这种开源,本次再为大家分享一款
https://github.com/MilosRasic98/ ... gnalMeasuringDevice
软硬件全部开源,包括3D打印的所有 CAD 文件以及数据分析的测试结果。该项目的主要目标是能够记录、存储和分析这些信号。


11、H7-TOOL本周进展
H7-TOOL详细介绍:https://www.armbbs.cn/forum.php?mod=viewthread&tid=89934
1、脱机烧录
(1)增加NXP车轨芯片S32K312脱机烧录支持
(2)增加英飞凌车轨芯片CYT4B和CYT3B脱机烧录支持
详细说明:时隔半年,再次死磕,成功搞定H7-TOOL脱机烧录英飞凌车规级M7多核芯片CYT4B
时隔半年,再次死磕,成功搞定H7-TOOL脱机烧录英飞凌车规级M7多核芯片CYT4B,凌晨发帖纪念(2024-11-21) - H7-TOOL开发工具 - 硬汉嵌入式论坛 - Powered by Discuz!


(3)增加航顺HK32C030系列

2、加紧H7-TOOL的LUA API手册制作,与2.27版本固件同时发布
争取下个月初2.27版本固件发布时,同时发布LUA API手册,方便大家查阅

相关文章:
《安富莱嵌入式周报》第346期:开源2GHz带宽,12bit分辨率,3.2Gsps采样率示波,开源固件安全分析器, 开源口袋电源,开源健康测量,FreeCAD
周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 视频: https://www.bilibili.com/video/BV1TYBhYKECK/ 《安富莱嵌入式周报》第346期:开源2GHz带…...
Apache OFBiz xmlrpc XXE漏洞(CVE-2018-8033)
目录 1、漏洞描述 2、EXP下载地址 3、EXP利用 1、漏洞描述 Apache OFBiz是一套企业资源计划(ERP)系统。它提供了广泛的功能,包括销售、采购、库存、财务、CRM等。 Apache OFBiz还具有灵活的架构和可扩展性,允许用户根据业务需求…...
【论文复现】融入模糊规则的宽度神经网络结构
📝个人主页🌹:Eternity._ 🌹🌹期待您的关注 🌹🌹 ❀ 融入模糊规则的宽度神经网络结构 论文概述创新点及贡献 算法流程讲解核心代码复现main.py文件FBLS.py文件 使用方法测试结果示例:…...
sql server 获取当前日期的时间戳
SQL Server 获取当前日期的时间戳 在 SQL Server 中,可以使用 GETDATE() 函数获取当前日期和时间。如果想要获取当前日期的时间戳,可以将日期转换为 UNIX 时间戳格式。本文将介绍如何在 SQL Server 中获取当前日期的时间戳,并提供示例代码。 …...
LLM PPT Translator
LLM PPT Translator 引言Github 地址UI PreviewTranslated Result Samples 引言 周末开发了1个PowerPoint文档翻译工具,上传PowerPoint文档,指定想翻译的目标语言,通过LLM的能力将文档翻译成目标语言的文档。 Github 地址 https://github.…...
铲屎官进,2024年宠物空气净化器十大排行,看看哪款吸毛最佳?
不知道最近换毛季,铲屎官们还承受的住吗?我家猫咪每天都在表演“天女散花”,家里没有一块干净的地方,空气中也都是堆积的浮毛,幸好有宠物空气净化器这种清理好物。宠物空气净化器针对宠物浮毛设计,可以有效…...
python 中常用的定积分求解方法
【例1】 解:本例题使用 Scipy 科学计算库的 quad 函数,它的一般形式是 scipy.integrate.quad(f,a,b),其中 f 是积分的函数名称,a和b分别是下线和上线。 【代码如下】: import numpy as np from scipy.integrate impo…...
音视频相关的一些基本概念
音视频相关的一些基本概念 文章目录 音视频相关的一些基本概念RTTH264profile & levelI帧 vs IDRMP4 封装格式AAC封装格式TS封装格式Reference RTT TCP中的RTT指的是“往返时延”(Round-Trip Time),即从发送方发送数据开始,到…...
pikachu文件上传漏洞通关详解
声明:文章只是起演示作用,所有涉及的网站和内容,仅供大家学习交流,如有任何违法行为,均和本人无关,切勿触碰法律底线 目录 概念:什么是文件上传漏洞一、客户端check二、MIME type三、getimagesi…...
【拥抱AI】向量数据库有哪些常见的检索算法?
在信息检索领域,有许多常见的算法用于帮助用户从大量数据中找到相关的信息。以下是一些常见的检索算法: 布尔模型示例(文本操作) 在文本操作中,布尔模型可以通过编写一个简单的脚本来实现。例如,你可以创…...
Webpack前端工程化进阶系列(二) —— HMR热模块更新(图文+代码)
前言 之前更新过一篇Webpack文章:Webpack入门只看这一篇就够了(图文代码),没想到颇受好评,很快就阅读量就破万了hhh,应读者私信的要求,决定继续更新Webpack进阶系列的文章! 进入今天的主题 —— HMR 热模块替换(HotM…...
【RAG 项目实战 07】替换 ConversationalRetrievalChain(单轮问答)
【RAG 项目实战 07】替换 ConversationalRetrievalChain(单轮问答) NLP Github 项目: NLP 项目实践:fasterai/nlp-project-practice 介绍:该仓库围绕着 NLP 任务模型的设计、训练、优化、部署和应用,分享大…...
godot游戏引擎_瓦片集和瓦片地图介绍
在 Godot 中,TileSet 和 TileMap 是用于处理瓦片地图的两个关键概念,它们的作用和用途有明显的区别。以下是两者的详细对比: 1. TileSet(瓦片集) TileSet 是资源,定义瓦片的内容和属性。 特点:…...
7、深入剖析PyTorch nn.Module源码
文章目录 1. 重要类2. add_modules3. Apply(fn)4. register_buffer5. nn.Parametersister_parameters6. 后续测试 1. 重要类 nn.module --> 所有神经网络的父类,自定义神经网络需要继承此类,并且自定义__init__,forward函数即可: #!/usr…...
如何提升编程能力第二篇
如何提升编程能力2 1. 引言2. 掌握理论基础2.1 理解编程语言的核心2.2 数据结构与算法2.3 计算机基础与系统设计3.1 多写代码3.2 参与开源项目3.3 开发自己的项目 4. 提高代码质量4.1 代码风格与可读性4.2 测试驱动开发 1. 引言 编程是推动现代科技发展的核心技能,…...
问:SpringBoot核心配置文件都有啥,怎么配?
在SpringBoot的开发过程中,核心配置文件扮演着至关重要的角色。这些文件用于配置应用程序的各种属性和环境设置,使得开发者能够灵活地定制和管理应用程序的行为。本文将探讨SpringBoot的核心配置文件,包括它们的作用、区别,并通过…...
RHCSA作业
课后练习 将整个 /etc 目录下的文件全部打包并用 gzip 压缩成/back/etcback.tar.gz [rootlocalhost ~]# tar -czvf /back/etcback.tar.gz -C / etc 使当前用户永久生效的命令别名:写一个命令命为hello,实现的功能为每输入一次hello命令,就有hello&#…...
ESP32学习笔记_FreeRTOS(3)——SoftwareTimer
摘要(From AI): 这篇笔记全面介绍了 FreeRTOS 软件定时器的核心概念和使用方法,包括定时器的创建、管理、常用 API 和辅助函数,并通过示例代码演示了如何启动、重置和更改定时器的周期。它强调了软件定时器的灵活性、平台无关性以及与硬件定时器的对比 …...
文心一言与千帆大模型平台的区别:探索百度AI生态的双子星
随着人工智能技术的迅猛发展,越来越多的公司开始投入资源开发自己的AI解决方案。在中国,百度作为互联网巨头之一,不仅在搜索引擎领域占据重要位置,还在AI领域取得了显著成就。其中,“文心一言”和“千帆大模型平台”便…...
【c语言】文件操作详解 - 从打开到关闭
文章目录 1. 为什么使用文件?2. 什么是文件?3. 如何标识文件?4. 二进制文件和文本文件?5. 文件的打开和关闭5.1 流和标准流5.1.1 流5.1.2 标准流 5.2 文件指针5.3 文件的打开和关闭 6. 文件的读写顺序6.1 顺序读写函数6.2 对比一组…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...
(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...
