首页 > 其他分享 >《痞子衡嵌入式半月刊》 第 67 期

《痞子衡嵌入式半月刊》 第 67 期

时间:2022-11-24 08:55:30浏览次数:82  
标签:项目 痞子 嵌入式 单片机 TinyMaix https 67 com

痞子衡嵌入式半月刊: 第 67 期

这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。

本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。

上期回顾《痞子衡嵌入式半月刊: 第 66 期》

唠两句

历史上的今天:1859年11月24日,达尔文《物种起源》正式出版。

本期共收录 5 个项目,希望对你有帮助!

项目类

1、TinyMaix - 面向单片机的超轻量级的神经网络推理库

TinyMaix 是专为低资源的单片机设计的 AI 神经网络推理框架,通常被称为 TinyML。TinyMaix 可以让你在任意单片机上运行轻量级深度学习模型。TinyMaix 的设计原则:易用性 > 移植性 > 速度 > 空间。

TinyMaix 其实是矽速科技(Sipeed)利用两个周末的业余时间完成的项目,它足够简单,可以在 30 分钟内读完代码,可以帮助新手理解它是怎么运行的。

TinyMaix 关键特性:

- 核心代码少于400行(tm_layers.c+tm_model.c+arch_cpu.h), 代码段(.text)少于3KB
- 低内存消耗,甚至Arduino ATmega328 (32KB Flash, 2KB Ram) 都能基于TinyMaix跑mnist(手写数字识别)
- 支持INT8/FP32/FP16模型,实验性地支持FP8模型,支持keras h5或tflite模型转换
- 支持多种芯片架构的专用指令优化: ARM SIMD/NEON/MVEI,RV32P, RV64V
- 友好的用户接口,只需要load/run模型~
- 支持全静态的内存配置(无需malloc)
- MaixHub 在线模型训练支持

2、ZS1100A - 专用于物联网功耗测量的开源功率计

大多数用于创建物联网(IoT)的设备都是用小电池工作的。由于当前消费电子的动态性,测量这些物联网设备的能耗是一项艰巨的任务。开发人员经常需要使用多种仪器和手工计算来估计能源消耗。ZS1100A 型电能表就是为解决这些问题的。该工具可以非常准确和详细地绘制电流消耗与时间的关系,可以与电池模型一起使用,以估计电池的总体寿命。

3、dynamic_loader - 单片机上实现动态加载功能的函数库

dynamic_loader 是一个在单片机(如:STM32)上实现动态加载功能的函数库,与 Windows 中的 dll,Linux 中的 so 类似,可以将代码动态地从其他的存储介质,动态加载到 RAM 中。

程序使用 dl_load_lib 加载相应的库文件到句柄中,加载成功后可使用 dl_get_func,通过函数名获得相应函数指针,在不需要使用时可使用 dl_destroy_lib 对句柄进行释放。

4、little-bee-B1 - 开源实用的高性能电流和磁场探头

little-bee-B1 是一种基于各向异性磁电阻(AMR)磁传感器的开源磁场和电流探头。它直接感知磁场,并通过电流传感附件测量电流,该附件由放置在导线周围的有间隙的铁氧体环形体组成,在导线中的电流和传感器所受的磁场之间建立固定的关系。

特性如下:

- 可调带宽(10mhz和1mhz)
- 可调增益(1倍和4倍)
- SMA输出连接器
- 连接到任何标准1 MΩ阻抗示波器输入
- 单节AA电池供电(续航4小时)
- 自动归零

5、White Rabbit - 亚纳秒级同步精度的网络数据传输项目

White Rabbit 为大型分布式系统提供亚纳秒级同步精度,它还允许确定性和可靠的数据传输。White Rabbit 允许您对测量数据进行精确的时间标记,并允许您在大型安装中触发数据,同时使用相同的网络传输数据。

White Rabbit 特点:

- 亚纳秒级同步
- 支持连接数千个节点
- 节点之间的典型距离为 10 km
- 基于千兆以太网的的可靠数据传输
- 硬件、固件和软件全开源

欢迎订阅

文章会同时发布到我的 博客园主页CSDN主页知乎主页微信公众号 平台上。

微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。

标签:项目,痞子,嵌入式,单片机,TinyMaix,https,67,com
From: https://www.cnblogs.com/henjay724/p/16920757.html

相关文章

  • C++ 嵌入式实时操作系统调试心得
    1、如果设置了全局vector变量,然后在程序中一直pushback,如果是系统内存较小,运行一段时间后可能会崩溃;2、如果使用C语言编程采用动态内存,一定要在变量生存周期结束时对内存......
  • Databend 开源周报 #67
    Databend是一款强大的云数仓。专为弹性和高效设计,自由且开源。即刻体验云服务:https://app.databend.com。NewFeaturestoolchainRust工具链升级至1.67nightly(#8......
  • 嵌入式操作系统内核原理和开发(总结篇)
      很多朋友都喜欢嵌入式操作系统的内容,但是如何实现和仿真这样一个系统一直是困扰我们的难题。现在郑重推荐一下raw-os系统,在我们的博客当中也多次提到了这个代码,希望大......
  • 嵌入式操作系统内核原理和开发(实时调度)
      和很多通用的操作系统相比,实时操作系统有自己的一个特点,那就是实时调度。通用操作系统的线程优先级一般是可以变化的,而实时系统的线程优先级却是不变的。之所以这么......
  • 嵌入式操作系统内核原理和开发(消息队列)
         消息队列是线程交互的一种方法,任务可以通过消息队列来实现数据的沟通和交换。在嵌入式系统上,这可以说这是用的最多的一种方法。通过消息队列,无论是发送者,还是接......
  • 嵌入式操作系统内核原理和开发(事件)
      在很多操作系统的书上,其实互斥和同步是放在一起进行介绍的。互斥,比较简单,就是对某一份资源或者几份资源进行抢占获取。而同步是什么意思呢,就是某一个线程等待另外一个......
  • 嵌入式操作系统内核原理和开发(地址空间)
      不管是什么样的嵌入式cpu,它必然有自己的访问地址空间。至于这个具体的访问空间是什么,那cpu就不知道了。它可以是ram,当然也可以是flash、uart、ide、i2c等。当然cpu不......
  • 嵌入式操作系统内核原理和开发(中断)
    系统。一旦你明白了中断的真正含义,你对操作系统的了解就算真正入门了。什么是中断呢?我们可以看看单片机下面是怎么做的。#include<REG51.h>sbitLED=P1^6;unsignedint......
  • 嵌入式操作系统内核原理和开发(系统中断仿真)
       在嵌入式操作系统中,最难模仿的是系统中断的问题。在windows下面,这是没有办法的事情。但是在linux下面,却有一个非常便利的条件,那就是linux的信号处理。因为用户程序处......
  • 嵌入式操作系统内核原理和开发(任务创建和堆栈溢出检查)
       虽然写操作系统的博客要比写普通的技术点要麻烦一些,但是心中还是挺开心的。一方面,通过几行代码就可以说明一些问题,把理论实践化,这本身就很具有挑战性;另外一方面还锻......