首页 > 其他分享 >LwRB - 一款适用嵌入式系统的轻量级 RingBuffer+MultiTimer - 超精简的纯软件定时器驱动

LwRB - 一款适用嵌入式系统的轻量级 RingBuffer+MultiTimer - 超精简的纯软件定时器驱动

时间:2024-05-11 13:54:11浏览次数:15  
标签:定时器 LwRB MultiTimer timer DSLogic 软件 轻量级

1、Micro Magic发布世界上最快的64-bit RISC-V核

近日,一家位于美国加州森尼维尔的小型电子设计公司Micro Magic宣称设计、生产出了全世界最快的64位RISC-V内核,比苹果的M1 芯片和 Arm Cortex-A9 表现还要出色。

消息源: http://www.micromagic.com/news/RISCv-Fastest_PR.pdf

这款原型CPU在1.1v电压下可以达到5GHz的时钟速度,远高于运行速度为3.2GHz的英特尔Xeon服务器芯片E7,CoreMarks跑分达到13000分。而1.1伏时,该芯片只需要消耗1瓦的功率,不到英特尔Xeon功率的1%。此外,单个Micro Magic核心在0.8V下可以达到4.25GHz,CoreMarks跑分达到11000分,但消耗的功率仅为200mW。据称,该RISC-V芯片的速度和效能同样超过了三星基于Arm Holdings Plc计算核心的Exynos 4芯片。

项目类

1、LwRB - 一款适用嵌入式系统的轻量级 RingBuffer

ringbuffer(环形缓冲区)可以说是嵌入式应用非常常用的数据缓存设计了,LwRB 是国外开发者 MaJerle 维护实现的轻量级 ringbuffer,是一个为嵌入式系统特殊优化设计的 FIFO。

项目主页: https://github.com/MaJerle/lwrb

LwRB 特点:

1. 纯ANSI C99实现, 数据类型兼容于size_t
2. 与具体硬件平台无关
3. 类FIFO缓冲设计
4. 未使用动态内存分配,纯静态内存
5. 特殊优化过的memcpy实现
6. 当用作单写/单读的管道时是线程&中断安全的
7. 适用于DMA在缓冲区和应用程序内存之间进行零拷贝开销的DMA传输
8. 支持数据查看、读跳过、写进
9. 实现对事件通知的支持

LwRB 的代码设计很完善了,是个开源项目,更难能可贵的是它的设计文档也相当详实。下图很好地展示了 LwRB 对于不同的缓冲区边界处理情况,可以让你对其内部如何管理数据有个基本理解。

2、MultiTimer - 超精简的纯软件定时器驱动

MultiTimer 是网友 0x1abin 开发的一个纯软件定时器扩展模块,可无限扩展你所需的定时器任务,取代传统的标志位判断方式, 更优雅更便捷地管理程序的时间触发时序。

项目主页:https://github.com/0x1abin/MultiTimer

MultiTimer 使用用法特别简单:

#include "multi_timer.h"
struct Timer timer;
void timer_callback()
{
    printf("timer timeout!\r\n");
}
int main()
{
    timer_init(&timer, timer_callback, 1000, 1000); //1s loop
    timer_start(&timer);
    while(1)
    {
        timer_loop();
    }
}
void HAL_SYSTICK_Callback(void)
{
    timer_ticks(); //1ms ticks
}

工具类

1、DSLogic - 一款跨平台的逻辑信号分析仪

DSLogic是梦源实验室出品的一款基于USB的逻辑分析仪,支持最大采样率高达1GHz,stream模式下最大采样深度16G。DSLogic有配套专用上位机,支持各种模式,例如逻辑分析仪,示波器,数据采集等,随着功能的不断集成和完善,DSLogic被打造成易上手的信号分析综合平台。

DSLogic的两大优势:

1.支持Windows / MacOS / Linux。 由于具有开源功能,还可以将DSView移植到个人平台上。
2.易于使用是DreamSourceLab的设计初衷,能够有效、快速地帮助您的项目落地成功。

2、WinHex - 强大的十六进制编辑软件

WinHex是在Windows下运行的十六进制编辑软件,此软件功能非常强大,有完善的分区管理功能和文件管理功能;它能够编辑任何一种文件类型的二进制内容(用十六进制显示)其磁盘编辑器可以编辑物理磁盘或逻辑磁盘的任意扇区。

在嵌入式应用场景下,用它来编辑分析bin文件简单小菜一碟。

下载地址: http://www.x-ways.net/winhex/

标签:定时器,LwRB,MultiTimer,timer,DSLogic,软件,轻量级
From: https://www.cnblogs.com/lineAI2022/p/18186352

相关文章

  • PikaScript - 面向嵌入式的超轻量级python引擎+Ring-Buffer - 仅80行代码的超简洁环形
    1、PikaScript-面向嵌入式的超轻量级python引擎PikaScript(前称mimiscript)是一个完全重写的超轻量级python引擎,零依赖,零配置,可以在少于4KB的RAM下运行(如stm32g030c8和stm32f103c8),极易部署和扩展。项目地址:https://github.com/pikasTech/pikascriptPikaScript是使用c语言写......
  • nRF51_Platform - 基于nRF51平台(蓝牙4.0)的轻量级SDK+AliOS Things - 阿里出品轻量级
    1、AliOSThings-阿里出品轻量级物联网嵌入式操作系统AliOSThings发布于2017年杭州云栖大会,是AliOS家族旗下的、面向IoT领域的、高可伸缩的物联网操作系统。AliOSThings致力于搭建云端一体化IoT基础设施,具备极致性能、极简开发、云端一体。项目主页: https://github.c......
  • 面向单片机的超轻量级的神经网络推理库+单片机上实现动态加载功能的函数库
    1、TinyMaix-面向单片机的超轻量级的神经网络推理库TinyMaix是专为低资源的单片机设计的AI神经网络推理框架,通常被称为TinyML。TinyMaix可以让你在任意单片机上运行轻量级深度学习模型。TinyMaix的设计原则:易用性>移植性>速度>空间。TinyMaix其实是矽速科技(Sipee......
  • 嵌入式系统设计的轻量级框架+在Linux中用于外围设备访问C库+自研的编程语言和集成开发
    1、mr-library-一个专为嵌入式系统设计的轻量级框架mr-library是一个专为嵌入式系统设计的轻量级框架,模块化的软件架构充分考虑了嵌入式系统的资源和性能要求。通过提供标准化的设备管理等,极大地简化了嵌入式应用的开发难度,帮助开发者快速构建嵌入式应用程序。设备框架 为......
  • Pdoc:轻量级生成 API 文档
    pdoc是一个轻量级的库,专注于为Python项目生成API文档。它通过扫描指定的模块和包,自动提取文档字符串,快速转化为易于浏览的HTML文档。这项技术尤其适用于需要快速生成文档的现代Python项目。与市面上其他文档生成库例如Sphinx相比,pdoc的特色在于其轻量级和......
  • VectSharp一个C#轻量级矢量图形库
    VectSharp是一个功能强大的C#库,专门用于创建矢量图形,包括文本,不依赖任何第三方,支持跨平台运行,包括Mac、Windows和Linux。使得开发者可以更容易地在他们的项目中集成矢量图形的生成和处理。https://github.com/arklumpus/VectSharp特点:内置字体:包含了14种标准字体,这些字体......
  • Imghdr:轻量级判断图像文件类型
    我们可能很少遇到需要判断图片类型的情况,因为通过扩展名一下子就判断出来了,但是从网上大量的下载图片,将它们作为机器学习的材料时,可能会遇到大量的图片只有数据没有扩展名的情况,为了将图片信息标准化,你就需要确定每一张图片数据的类型,到底是jpg、png还是bmp呢?遇到这种状况,该......
  • Pdoc:轻量级生成 API 文档
    pdoc是一个轻量级的库,专注于为Python项目生成API文档。它通过扫描指定的模块和包,自动提取文档字符串,快速转化为易于浏览的HTML文档。这项技术尤其适用于需要快速生成文档的现代Python项目。与市面上其他文档生成库例如Sphinx相比,pdoc的特色在于其轻量级和......
  • Whose:轻量级搜索引擎工具
    #Whoosh简介Whoosh由MattChaput创建,它一开始是一个为Houdini3D动画软件包的在线文档提供简单、快速的搜索服务工具,之后便慢慢成为一个成熟的搜索解决工具并已开源。Whoosh纯由Python编写而成,是一个灵活的,方便的,轻量级的搜索引擎工具,现在同时支持Python2、3,其优点如......
  • 一个开源轻量级的C#代码格式化工具(支持VS和VS Code)
    前言C#代码格式化工具除了ReSharper和CodeMaid,还有一款由.NET开源、免费(MITLicense)、轻量级的C#语言代码格式化工具:CSharpier。工具介绍CSharpier是一款开源、免费、轻量级的C#语言代码格式化工具。它使用Roslyn来解析你的代码,并根据其自身的规则重新格式化代码。工具支持IDE......