为什么全球开发者都在转向RISC-V + Python嵌入式开发?

第一章:RISC-V与Python嵌入式开发的融合趋势

随着开源硬件生态的持续演进,RISC-V架构正逐步成为嵌入式系统设计的核心选择。其开放、可扩展的指令集特性为开发者提供了前所未有的自由度,尤其在边缘计算和物联网设备中展现出巨大潜力。与此同时,Python凭借简洁语法和丰富的库支持,在快速原型开发中广受欢迎。两者的结合标志着嵌入式开发范式的重大转变。

为何选择RISC-V平台运行Python

  • RISC-V的模块化设计允许定制化SoC集成微控制器级Python运行环境
  • 开源工具链(如GCC、LLVM)对MicroPython和CircuitPython的支持日趋成熟
  • 低功耗RISC-V内核可在资源受限设备上高效执行轻量级Python脚本

典型开发流程示例

以基于SiFive HiFive1 Rev B开发板为例,部署MicroPython的步骤如下:
  1. 下载适用于RISC-V架构的MicroPython固件(.bin文件)
  2. 通过USB连接开发板并进入烧录模式
  3. 使用openocd工具将固件写入Flash存储器
# 使用OpenOCD烧录MicroPython固件
openocd -f board/sifive-hifive1-revb.cfg \
        -c "program micropython-rv32imac.bin verify reset exit"
该命令执行后,OpenOCD会加载配置文件、编程固件、验证写入结果并重启设备,使开发板进入MicroPython REPL环境。

性能对比参考

平台CPU架构主频(MHz)Python执行速度(相对值)
ESP32XTensa LX62401.0
HiFive1 Rev BRISC-V E313200.85
Raspberry Pi PicoARM Cortex-M0+1330.7
graph TD A[RISC-V SoC] --> B[Bootloader初始化] B --> C[加载MicroPython固件] C --> D[启动REPL或运行main.py] D --> E[外设控制/网络通信]

第二章:RISC-V架构基础与Python运行环境构建

2.1 RISC-V指令集架构核心特性解析

RISC-V 架构以其简洁、模块化和可扩展性著称,其核心特性之一是采用精简指令集(RISC)设计原则,强调固定长度指令格式与负载-存储架构。
模块化指令集组织
RISC-V 将指令集划分为多个可选扩展模块,基础整数指令集(RV32I 或 RV64I)为必选,其他如乘法扩展(M)、原子操作(A)、浮点(F/D)等按需添加,提升灵活性。
  • 基础指令集:RV32I(32位地址空间)
  • 常用扩展:M(乘除法)、F(单精度浮点)
  • 自定义扩展:支持用户定义指令(C、V 等)
典型指令示例
addi x5, x0, 10    # 将立即数10加载到寄存器x5中
lw   x6, 0(x5)     # 从x5指向的地址加载32位数据到x6
上述代码展示RISC-V典型的立即数加载与内存读取操作。`addi`为I型指令,`x0`为零寄存器,恒返回0;`lw`执行符号扩展的32位加载,体现其负载-存储架构特性。

2.2 主流RISC-V开发板选型与开发环境搭建

主流RISC-V开发板选型建议
目前市场上主流的RISC-V开发板包括SiFive HiFive1、Longan Nano、BeagleV-Fire等。HiFive1基于FE310-G000芯片,适合嵌入式初学者;Longan Nano集成GD32VF103 MCU,性价比高,支持Arduino生态;BeagleV-Fire搭载高性能CX2800处理器,适用于AI边缘计算场景。
开发环境搭建流程
搭建RISC-V开发环境需安装工具链、QEMU模拟器及IDE支持。以Ubuntu系统为例:
# 安装RISC-V GNU工具链
sudo apt-get install gcc-riscv64-unknown-elf

# 安装QEMU用于仿真
sudo apt-get install qemu-system-riscv

# 克隆并编译示例程序
git clone https://github.com/riscv-collab/riscv-tests.git
make
上述命令依次完成交叉编译工具链部署、硬件仿真环境配置和测试用例构建。gcc-riscv64-unknown-elf提供裸机编程支持,QEMU可模拟不同架构的RISC-V平台,便于调试无操作系统依赖的固件代码。

2.3 MicroPython在RISC-V平台上的移植与配置

将MicroPython移植到RISC-V架构需首先准备支持该指令集的编译工具链,如riscv64-unknown-elf-gcc。目标平台需具备基本的内存管理与中断处理能力。
移植关键步骤
  1. 配置Makefile以指定RISC-V架构(如ARCH=riscv)
  2. 实现底层启动代码(crt0.s),完成堆栈初始化与跳转至main
  3. 适配mpconfigport.h,定义端口特有常量与函数指针
核心配置示例

// mpconfigport.h 片段
#define MICROPY_HW_BOARD_NAME       "RISC-V Dev Board"
#define MICROPY_HW_MCU_NAME         "RV32IMAC"
#define MICROPY_EMIT_RISCV          (1)
上述配置声明了硬件名称、MCU型号,并启用RISC-V汇编发射器,确保字节码可被正确执行。
外设接口对接
通过绑定machine模块至具体寄存器地址,实现GPIO、UART等外设控制,从而建立完整的嵌入式运行环境。

2.4 Bare-metal环境下Python解释器的轻量化部署

在资源受限的Bare-metal环境中,传统CPython解释器因依赖完整操作系统服务而显得臃肿。为提升启动速度与运行效率,可采用MicroPython或Minimal Python(miniconda精简构建)替代标准发行版。
构建轻量Python运行时
通过静态链接和功能裁剪,仅保留核心模块:
# 基于Alpine构建最小Python镜像
FROM alpine:latest
RUN apk add --no-cache python3 py3-pip
# 移除文档与测试包
RUN find /usr/lib/python3* -name "*.pyc" -delete
RUN rm -rf /usr/share/doc /usr/share/man
该脚本移除了非必要文件,将Python运行时压缩至<15MB,适用于嵌入式设备直接部署。
内存与性能优化策略
  • 禁用GC以换取确定性延迟
  • 预编译.py为.pyc减少解析开销
  • 使用mmap加载字节码提升IO效率

2.5 性能基准测试与资源占用分析

在分布式系统中,性能基准测试是评估服务吞吐量与延迟的关键手段。通过标准化压测工具,可量化不同负载下的CPU、内存及网络I/O占用情况。
基准测试指标定义
核心指标包括:
  • 请求延迟(P99、P95)
  • 每秒事务处理数(TPS)
  • 内存峰值占用
  • GC暂停时间
典型测试结果对比
配置TPS平均延迟(ms)内存(MB)
4核8G, 100并发215047680
8核16G, 500并发4320681350
代码级性能采样

// 启用pprof进行CPU与内存分析
import _ "net/http/pprof"
go func() {
    log.Println(http.ListenAndServe("localhost:6060", nil))
}()
该代码片段启用Go的pprof服务,通过访问/debug/pprof/路径采集运行时性能数据,用于分析热点函数与内存分配瓶颈。

第三章:嵌入式Python编程实战

3.1 GPIO控制与传感器数据采集的Python实现

在嵌入式系统开发中,利用Python进行GPIO控制和传感器数据采集已成为主流方案。通过RPi.GPIO或gpiozero库,开发者可轻松实现引脚状态读写。
基础GPIO操作

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT)

# 控制LED闪烁
for _ in range(5):
    GPIO.output(18, GPIO.HIGH)
    time.sleep(1)
    GPIO.output(18, GPIO.LOW)
    time.sleep(1)
上述代码配置BCM编号模式下的18号引脚为输出模式,循环控制外接LED每秒闪烁一次,适用于基础硬件响应场景。
传感器数据读取示例
以DHT11温湿度传感器为例,使用Adafruit_DHT库获取环境数据:
  • 连接传感器至指定GPIO引脚
  • 调用read_retry方法稳定读取
  • 处理返回的温度与湿度值

3.2 多任务并发处理:协程与中断回调机制应用

在高并发系统中,传统线程模型因上下文切换开销大而受限。协程提供了一种轻量级的并发解决方案,允许在单线程内实现多任务协作式调度。
协程基础示例(Go语言)
func task(id int, done chan bool) {
    fmt.Printf("任务 %d 开始\n", id)
    time.Sleep(1 * time.Second)
    fmt.Printf("任务 %d 完成\n", id)
    done <- true
}

func main() {
    done := make(chan bool, 3)
    for i := 1; i <= 3; i++ {
        go task(i, done)
    }
    for i := 0; i < 3; i++ {
        <-done
    }
}
上述代码通过 go 关键字启动三个协程,并利用通道(channel)实现同步。每个协程独立执行任务并通知完成状态,体现了非阻塞通信与资源低消耗的特性。
中断回调机制对比
  • 协程:主动让出控制权,协作式调度,内存占用小
  • 回调函数:事件驱动,避免轮询,但易形成“回调地狱”
  • 结合使用可提升响应性与可维护性

3.3 网络通信与IoT协议(MQTT/HTTP)集成

在物联网系统中,设备与云端的高效通信依赖于轻量且可靠的网络协议。MQTT 和 HTTP 是两种广泛应用的协议,各自适用于不同的场景。
协议特性对比
  • HTTP:请求-响应模式,适合一次性数据传输,如设备状态上报;但开销大,不适用于频繁通信。
  • MQTT:基于发布/订阅模型,低带宽、低延迟,适合实时消息推送和设备间异步通信。
特性HTTPMQTT
通信模式请求-响应发布/订阅
开销高低
实时性弱强
代码示例:MQTT客户端连接
import paho.mqtt.client as mqtt

def on_connect(client, userdata, flags, rc):
    print("Connected with result code "+str(rc))
    client.subscribe("sensor/temperature")

client = mqtt.Client()
client.on_connect = on_connect
client.connect("broker.hivemq.com", 1883, 60)
client.loop_start()
上述代码使用 Python 的 Paho 库建立 MQTT 连接,监听温度主题。on_connect 回调在连接成功后自动订阅指定主题,loop_start() 启用非阻塞网络循环,确保消息持续接收。

第四章:典型应用场景深度剖析

4.1 智能边缘设备中的实时数据处理方案

在智能边缘计算场景中,设备需在低延迟下完成数据采集、处理与响应。为提升实时性,常采用轻量级流处理引擎进行本地化分析。
基于TinyML的数据预处理
通过在边缘端部署微型机器学习模型,可对传感器原始数据进行初步分类与过滤,减少上行带宽消耗。
实时流处理代码示例
# 使用Apache Pulsar处理边缘数据流
import pulsar

client = pulsar.Client('pulsar://edge-broker:6650')
consumer = client.subscribe('sensor-input', 'realtime-group')

while True:
    msg = consumer.receive()
    data = msg.data().decode('utf-8')
    # 实时解析并触发本地决策
    if float(data) > threshold:
        trigger_alert()
    consumer.acknowledge(msg)
上述代码构建了边缘节点上的消息消费循环,pulsar.Client连接至本地消息代理,threshold为预设告警阈值,实现毫秒级响应。
性能对比表
方案平均延迟资源占用
云端集中处理320ms低
边缘实时处理45ms中

4.2 低功耗场景下的Python脚本优化策略

在嵌入式设备或物联网终端中,Python脚本常面临电源受限的挑战。通过减少CPU占用与I/O频繁唤醒,可显著延长设备续航。
减少轮询频率与异步处理
使用异步事件驱动替代持续轮询,能有效降低处理器负载。例如:
import asyncio

async def sensor_check(interval=60):
    while True:
        # 模拟低频传感器读取
        data = read_sensor()
        await asyncio.sleep(interval)  # 长间隔休眠
该逻辑将采样周期拉长至分钟级,并利用asyncio.sleep()释放事件循环,使CPU进入低功耗模式。
资源使用对比
策略CPU占用率平均功耗
高频轮询45%120mW
异步+休眠8%45mW
通过调度优化,系统可在等待期间关闭外围模块供电,实现精细化能耗控制。

4.3 基于RISC-V + Python的AIoT终端原型开发

在AIoT终端设计中,采用RISC-V架构作为底层硬件平台,结合Python高层应用开发,实现了高效能与快速迭代的统一。其开放性指令集支持定制化扩展,适用于边缘智能场景。
开发环境搭建
选用SiFive FE310作为核心MCU,搭载Zephyr RTOS,并通过MicroPython实现脚本层控制逻辑。开发工具链包括GCC-RISC-V、PlatformIO及Pybricks IDE。
传感器数据采集示例

# 读取温湿度传感器(DHT12)数据
import dht
import machine

d = dht.DHT12(machine.I2C(scl=machine.Pin(22), sda=machine.Pin(21)))
d.measure()
temp = d.temperature()  # 返回摄氏度
humidity = d.humidity() # 返回相对湿度百分比
该代码利用MicroPython的dht模块通过I²C总线读取环境数据,适用于低功耗边缘节点的数据感知层构建。
优势对比
特性RISC-V+Python方案传统ARM+C方案
开发效率高中
功耗控制优良
生态成熟度发展中成熟

4.4 安全启动与固件更新的Python自动化管理

在嵌入式设备管理中,安全启动与固件更新是保障系统完整性的关键环节。通过Python脚本可实现对签名验证、镜像烧录和回滚机制的自动化控制。
自动化固件更新流程
使用Python结合加密库(如cryptography)验证固件签名,确保仅加载可信代码:
import hashlib
from cryptography.hazmat.primitives.asymmetric import rsa, padding
from cryptography.hazmat.primitives import hashes, serialization

def verify_firmware(firmware_path, signature_path, pubkey_path):
    with open(pubkey_path, 'rb') as f:
        pubkey = serialization.load_pem_public_key(f.read())
    with open(firmware_path, 'rb') as f:
        firmware_data = f.read()
    with open(signature_path, 'rb') as f:
        signature = f.read()

    try:
        pubkey.verify(
            signature,
            firmware_data,
            padding.PKCS1v15(),
            hashes.SHA256()
        )
        return True
    except:
        return False
该函数通过RSA公钥验证固件哈希签名,防止恶意固件注入。参数分别为固件文件路径、签名文件和公钥证书路径。
更新任务调度表
步骤操作工具/模块
1下载固件包requests
2校验完整性hashlib
3签名验证cryptography
4烧录设备pyocd / esptool

第五章:未来展望与生态发展挑战

跨链互操作性的演进路径
随着多链生态的持续扩张,跨链通信协议成为关键瓶颈。当前主流方案如LayerZero依赖预言机与中继器组合验证消息,但存在中心化风险。实际部署中,项目方需自行实现轻客户端验证逻辑,例如在Solidity中集成Cosmos IBC轻节点:

// 简化版跨链消息验证示例
function verifyAndExecute(bytes memory proof, bytes32 payload) external {
    require(lightClient.verify(proof, expectedRoot), "Invalid proof");
    executePayload(payload);
}
开发者工具链的碎片化问题
不同L1/L2平台采用各异的虚拟机(EVM、WASM、Move等),导致开发体验割裂。以下为典型开发环境配置对比:
平台调试工具测试框架部署方式
EthereumGanacheHardhatCLI + Ethers
SuiSui Test ValidatorMocha集成Move CLI
去中心化身份的集成实践
DID(Decentralized Identifier)正逐步融入应用层认证流程。某DeFi协议通过整合ENS与Polygon ID实现KYC凭证链上验证,用户授权流程如下:
  1. 用户通过钱包签名发起身份请求
  2. 零知识证明生成合规性凭证(zkKYC)
  3. 智能合约验证凭证有效性并开放高级功能
用户钱包 DID解析器
手把手带你用QEMU模拟器运行第一个RISC-V程序(附环境配置避坑) 本文详细介绍了如何在QEMU模拟器上运行第一个RISC-V程序,包括环境配置、工具链安装、常见问题解决以及编写和调试RISC-V汇编与C语言程序的完整流程。通过实战指南,帮助开发者快速掌握RISC-V架构的基础开发技能,并提供了进阶的Linux系统运行和性能优化技巧。 阅读详情

相关推荐

深圳嵌入式开发:RISC-V、端侧AI与具身智能的物理闭环实践

嵌入式系统是连接软件逻辑与物理世界的桥梁,其核心在于构建可感知、可决策、可执行的实时闭环。RISC-V凭借开放指令集与高度可定制性,成为重构硬件抽象层的关键底座;端侧AI(如TinyML)则将轻量级推理能力下沉至MCU级资源约束环境,推动智能从云端走向边缘;而具身智能进一步要求算法输出必须精准映射为电机控制、传感器反馈与安全响应等物理动作。三者融合催生了以‘确定性延迟’‘物理鲁棒性’和‘最小闭环验证’为特征的新一代嵌入式开发范式。本文聚焦深圳产业一线实践,解析RISC-V芯片选型要点、端侧AI在光照/温漂等

weixin_34414650的博客 421

TinyML在Arduino部署(语音检测及人体识别数据)

TinyML在Arduino部署(语音检测及人体识别数据)

m0_62459326的博客 1099

SF32LB52黄山派RISC-V嵌入式开发环境搭建指南

RISC-V嵌入式开发环境是物联网终端软硬件协同的基础支撑,其核心在于工具链完整性、交叉编译可靠性与板级支持包(BSP)适配性。基于GCC-RISCV工具链与OpenOCD调试框架,可实现从代码编译、固件烧录到串口验证的全链路闭环;该环境特别适用于超低功耗(ULP)MCU开发场景,广泛支撑RT-Thread等实时操作系统移植与物联网终端原型验证。本文围绕SF32LB52黄山派开发板,详解Windows平台下SiFli-SDK v2.4的自动化部署、路径规范、国内镜像加速及VS Code终端固化等工程实践要点

weixin_36184718的博客 45

Syntiant TinyML 开发板 + Edge Impulse 机器学习实现语音识别

本次项目用 Syntiant TinyML 开发板自带的麦克风,通过 Edge Impulse 搭建机器学习模型,使板卡上的 LED 灯根据中文语音指令呈现出不同效果。一共训练了四个标签的声音数据,具体说明如下。Syntiant TinyML Board 是美国 AI 芯片研发商 Syntiant 推出的一款 TinyML 开发板,它配备了超低功耗 Syntiant NDP101 神经决策处理器,可以使语音和传感器应用程序分别在 140 和 100 微瓦以下运行。与基于 MCU 的传统 MCU 相比,Syn

程序员「阿基米东」的编程之旅 3582

Python实现的RISC-V指令集模拟器详解

RISC-V(发音为“risk-five”)是一种基于精简指令集(RISC)原则的开源指令集架构(ISA),其设计目标是模块化、可扩展和适应性强。与传统闭源架构不同,RISC-V通过开放标准促进软硬件协同创新,降低研发成本。RISC-V支持多种指令格式,包括整数、浮点、压缩指令等,并通过模块化扩展(如M、A、F、D等扩展)实现灵活配置。其寄存器文件包含32个通用寄存器(x0-x31),其中x0恒为0,便于优化。

weixin_34064233的博客 1149

线性回归LinearRegression

对视频中线性回归算法的相关内容进行总结与记录 文章目录一、理论基础二、实例2.1 一元线性回归2.1.1 推导过程2.1.2 代码实现(基于numpy)2.1.3 代码实现(基于sklearn)2.2 多元线性回归2.2.1 代码实现(基于numpy)2.2.2 代码实现(基于sklearn) 一、理论基础 回归 通常是指利用某个函数,尽可能把数据样本点“串”在一起,用于描述输入变量和输出变量间的变化关系 线性回归 特点:用来把数据“串”起来的那个函数是线性的 (一元线性回归(一个自变量) &a.

邱邱邱的博客 1068

TinyML - 端侧智能革命及开源生态的深度指南

1. TinyMl 核心概念与技术价值、应用场景介绍; 2. 核心技术栈解析以及部署流程; 3. 开源项目及官网;

cmc43176196的博客 4133

别再用图片水印了!5种你可能不知道的文本隐写术实战

本文介绍了5种高效的文本隐写术,帮助创作者在不影响内容可读性的情况下嵌入版权信息。从零宽度字符到同形字替换,再到标点符号变形和行尾空格编码,这些技术为数字内容提供了轻量级版权保护方案,特别适用于社交媒体和电子合同等场景。

k8l9m0n的博客 225

微芯片上的AI革命:TinyML如何重塑边缘智能未来

如何在指甲盖大小的芯片上运行AI模型?当传统深度学习模型动辄需要数十GB内存和GPU集群时,边缘AI面临着严峻的资源挑战。这正是TinyML技术诞生的意义所在——让机器学习在微控制器和嵌入式设备上成为现实,开启边缘智能的新纪元。 ## 🚀 从云端到指尖的技术跃迁 [![TinyML技术演进对比](https://raw.gitcode.com/gh_mirrors/ti/tinyml/raw

gitblog_00540的博客 1589

UE5Could not be compiled. Try rebuilding from source manually.

UE5Could not be compiled. Try rebuilding from source manually.

weixin_45417260的博客 2770

32位快速加法器设计

32位快速加法器设计

好好学习,天天向上 3290

TinyML-ESP32 开源项目教程

TinyML-ESP32 开源项目教程 项目介绍 TinyML-ESP32 是一个基于 ESP32 微控制器的微型机器学习(TinyML)项目。该项目旨在将机器学习模型部署到资源受限的设备上,如 ESP32,使其能够在边缘设备上执行机器学习任务。通过该项目,开发者可以学习如何在嵌入式系统上实现机器学习模型的推理,从而实现低功耗、高效的智能应用。 项目快速启动 环境准备 硬件: 需要一块 ESP3...

gitblog_01168的博客 915

Python 爬虫实战:爬取电商平台商品信息(价格 / 销量 / 评价)

摘要:本文详细介绍基于Python的电商商品信息爬取技术方案,以京东商品详情页为例,对比分析静态(BeautifulSoup)和动态(Selenium)两种爬取方式的实现逻辑。静态爬取适合获取基础信息,而动态爬取可解决JS渲染数据的获取问题。文章包含完整的代码实现、反爬规避策略及数据存储方案,涵盖商品名称、价格、销量、评价等核心数据提取。同时强调爬虫的合规使用,提供扩展方向建议,为电商数据采集提供实用技术参考。

2503_91057718的博客 2023

RISC-V-On-PYNQ:开源RISC-V项目评估工具

RISC-V-On-PYNQ:开源RISC-V项目评估工具 项目介绍 RISC-V-On-PYNQ 是一个专为评估RISC-V项目而设计的开源Python库,基于PYNQ 2.1+版本,适用于PYNQ-Z1开发板。该项目源自论文《Everyone's a Critic: A Tool for Evaluating RISC-V Projects》,旨在为RISC-V处理器项目提供一个便捷的评估平台...

gitblog_00769的博客 801

《唤醒你的AI同事:WorkBuddy从零上手》000:介绍及目录

《唤醒你的AI同事:WorkBuddy从零上手》全书导览与总目录:000–043 共 44 篇,覆盖从环境搭建、对话基础到资料库、行业助手与多模态生成的入门实战。含完整篇目速查与编号直达,建议关注收藏。

LuckyHanMo的博客 599

Pytorch实用教程:super(MLP,self).__init__()和super().__init__()有什么区别?

在 Python 中,super()函数用于调用父类(超类)的方法。它的使用在继承关系中非常常见,特别是在初始化继承自父类的属性时。在 PyTorch 中,这通常见于初始化nn.Module类的子类。super()的两种调用方式有微妙的差别,但在 Python 3 中常常用来达到同样的目的。这种写法在 Python 2 中非常常见。这里,super()被调用时需要指定当前类名(MLP)和当前实例(self。

若北辰 1026

【RISC-V嵌入式Python开发实战】:掌握高效开发的5大核心技巧

auto-generated

Algorhythm的博客 1084

ThingsBoard教程(十六):RPC部件的使用

前言 各位读者好,截止目前,ThingsBoard系列文章已经做了十篇,分别是 ThingsBoard教程(一):ThingBoard介绍及安装 ThingsBoard教程(二):租户,租户配置,部件组模块的使用 ThingsBoard教程(三):系统设置模块的使用 ThingsBoard教程(四):规则链简介与操作 ThingsBoard教程(五):客户,资产管理 ThingsBoard教程(六):设备管理 ThingsBoard教程(七):模拟设备遥测 ThingsBoard教程(八):自定义UI T

知无涯 4580

揭秘RISC-V架构下的Python移植难题:3步实现嵌入式部署

auto-generated

FuncTide的博客 1010

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Nimmake for RISC-V — 让 RISC-V 固件构建像写 Python 一样简单

Nimmake 为 RISC-V 嵌入式开发提供轻量级、Python 驱动的构建方案,内置 RISCV_32_IMAC_CFG 等预设配置,支持自动源码扫描、依赖管理与多工具链切换。通过声明式配置实现一键构建,显著简化编译参数管理,提升增量编译速度与团队协作效率,让 RISC-V 固件开发更高效、更优雅。

ebiobiz的博客 671

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

从零构建:SCons在RISC-V嵌入式开发中的高效构建实践

本文详细介绍了如何在RISC-V嵌入式开发中使用SCons构建系统,特别是在CanMV K230双核异构平台上进行高效构建实践。通过配置交叉编译环境、管理多核构建任务,并集成CoreMark性能测试,SCons显著提升了开发效率和代码质量,解决了传统Makefile在复杂项目中的维护难题。

carrot的博客 600

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

RISC-V-On-PYNQ 项目教程

RISC-V-On-PYNQ 项目教程 1. 项目介绍 RISC-V-On-PYNQ 是一个用于在 PYNQ 平台上集成和评估 RISC-V 处理器的开源项目。该项目提供了一个 Python 包,允许用户在 PYNQ-Z1 开发板上运行 RISC-V 处理器,并通过 Jupyter Notebook 进行交互。项目的主要目标是简化 RISC-V 处理器的开发和评估过程,提供了一系列的教程和示例,帮...

gitblog_00271的博客 559

深圳嵌入式开发:RISC-V、端侧AI与具身智能的工程落地

嵌入式系统是连接软件与物理世界的桥梁,其核心在于实时性、资源约束与高可靠性。随着RISC-V开源架构普及和端侧AI技术成熟,嵌入式开发正从传统MCU编程迈向硬件感知编译、异构协同与具身智能系统集成的新阶段。RISC-V不仅降低IP门槛,更催生面向消费电子快速迭代的定制化芯片;端侧AI部署已超越模型压缩,依赖TVM等硬件感知编译器实现算子融合与内存优化;具身智能则推动嵌入式向感知-决策-执行闭环演进,要求RTOS、CAN FD、ROS2 Micro-ROS等能力深度融合。在深圳,这些技术因本地化全链条(芯片设

weixin_34185512的博客 413

基于 RISC-V VisionFive 的桌面数字时钟项目实战

本篇文章将基于 VisionFive / VisionFive 2 开发板,从硬件选择、系统准备、软件运行环境搭建,到程序实现、自启动优化、可视化设计以及后期扩展功能,完整呈现一个可稳定运行、界面美观的桌面数字与模拟双模式时钟项目。全文约 3000 字适合作为教程或技术博客分享,也可作为你在 RISC-V 平台上进行 GUI 项目实践的参考。

cooldream2009的博客 1356

从零搭建RISC-V Python开发环境(完整工具链配置指南)

auto-generated

BreakNexus的博客 1064

【亲测免费】 RISC-V DV 项目下载及安装教程

RISC-V DV 是一个基于 SystemVerilog/UVM 的开源指令生成器,用于 RISC-V 处理器的验证。该项目支持多种 RISC-V 指令集(如 RV32IMAFDC 和 RV64IMAFDC),并提供了丰富的功能,包括页面表随机化、异常处理、子程序生成、非法指令生成等。RISC-V DV 还支持与多个 ISS(Instruction Set Simulator)如 Spike、r...

gitblog_01221的博客 1606
上一篇: 手把手教你用Python构建节日智能客服大模型(附完整代码模板)
下一篇: 【独家】制造业AI转型必看:Python构建边缘端质检系统的7个关键步骤
SimProceed
博客等级 码龄1年 146粉丝 2011原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值