达摩院玄铁视频视觉应用平台(ChiXiao Lite)
riscv cpu dummy driver SDK.
YoC dummy SDK
智能语音应用平台(LongYuan)
riscv dummy board configure.
riscv dummy development board config.
YoC是一个基于RTOS系统、RISC-V 软硬融合、端云一体的开源AIoT软件平台。它为开发人员提供了统一的芯片CSI接口。还提供针对蓝牙、WiFi、语音、视觉应用等优化的组件。可以通过IDE(集成开发环境剑池CDK)进行开发,并使用系统性能分析工具来调试、开发和部署功能组件。它有助于SoC公司和开发人员快速交付定制的SDK,可以显著缩短产品上市时间。
YoC 平台定义了芯片的统一接口,提供应用最基础的核心服务,提供了大量独立的应用组件,软件架构清晰、系统模块化并且可裁剪性非常好。针对芯片移植需求,只需要根据芯片驱动接口层(CSI)的定义,即可以将YoC 移植到该芯片上。针对资源受限的微控制器(MCU)系统,也可以裁剪出只需要几 KB 的 FLASH,几 KB的内存消耗的系统。对于资源丰富的物联网设备,YoC 提供可定制的核心服务,支持 OSAL API/POSIX API, 以及丰富的独立组件,提供更加面向领域的业务框架。
RVB2601是基于玄铁生态芯片CH2601的开发板,板载JTAG调试器,WiFi&BLE芯片W800,音频ADCES7210,音频DACES8156,128x64 OLED屏幕,RGB三色指示灯,用户按键,及兼容Arduino的扩展接口。
具体开发板硬件规格及信息请到RVB2601开发板.
开发板快速上手手册请参考RVB2601应用开发实战系列一: Helloworld最小系统。
Lichee D1 Dock Pro是一款功能集成度较高的RISC-V Linux开发套件。它板载128Mbit SPI FLASH及MIPI、RGB屏幕接口,拥有丰富的外设(2.4G Wi-Fi+BT模块、双数字麦克风和音频功放等),支持HDMI输出,同时还提供USB-JTAG和USB-UART功能。
具体开发板硬件规格及信息请到d1_dock_pro开发板.
开发板快速上手手册请参考YoC RTOS 实战:lichee D1 dock 开发板快速上手教程
BL606P-DVK专为用于评估音视频应用诞生,适用于智能面板、智能音箱、语音故事机等设备,适用于各类音视频和 AIoT 应用的开发。
具体开发板硬件规格及信息请到BL606P-DVK开发板.
开发板快速上手手册请参考BL606P 开发板上手手册
华山派 CV1812H开发板,是算能和生态伙伴硬件十万个为什么联合推出的开源生态开发板,为广大使用者提供基于RISC-V的开源开发环境,以视觉、AI场景开发为核心实现功能,芯片更集成第二代全自研深度学习张量处理器(TPU),全自研智能图像处理引擎(Smart ISP),硬件级别高度安全资料保护架构(Security),语音处理引擎及H.264/265智能编解码技术,同时还有配套的多媒体软件平台和IVE硬件加速接口,使AI部署与执行更加高效、快速、便捷。主流的深度学习框架,比如Caffe,Pytorch,ONNX ,MXNet和TensorFlow(Lite) 框架的主流网络可以轻松的移植。
具体开发板硬件规格及信息请到华山派开发板.
开发板快速上手手册请参考华山派开发板上手手册
使用之前请先安装yoctools编译构建工具。
试用示例之前请先使用以下命令进行下载:
git clone git@github.com:XUANTIE-RV/open-yoc.git -b v7.9.1
或者从GITEE下载:
mkdir yocworkspace
cd yocworkspace
yoc init
yoc install yoc -b v7.9.1
然后到solutions
目录下,所有的示例都在那里,用户可以根据每个示例下的README.md
文件进行操作。
通用示例如下:
分类 | 示例名称 | 说明 |
---|---|---|
QEMU | bare_core_dsp | 一个简单的基于baremetal的玄铁exx系列P扩展使用示例。 |
bare_core_ecc | 一个简单的基于baremetal的玄铁cpu ECC校验使用示例。 | |
bare_core_vector | 一个简单的基于baremetal的玄铁cpu vector使用示例。 | |
bare_core_matrix | 一个简单的基于baremetal的玄铁cpu matrix使用示例。 | |
bare_core_lockup | 一个简单的基于baremetal的玄铁exx cpu锁定lockup使用示例。 | |
bare_coremark | 一个简单的基于baremetal的coremark示例。coremark是一种基准测试套件,用于评估嵌入式系统处理器的性能,全面测试CPU、内存、编译器性能,不涵盖浮点运算、IO、网络等方面。 | |
bare_core_nmi | 一个简单的基于baremetal的玄铁exx cpu非屏蔽中断使用示例。 | |
bare_core_tcm | 一个简单的基于baremetal的玄铁cpu tcm功能使用示例。 | |
bare_core_vic | 一个简单的基于baremetal的玄铁cpu中断控制器使用示例. | |
bare_core_wfe | 一个简单的基于baremetal的玄铁exx cpu低功耗唤醒wfe功能使用示例。 | |
bare_core_wfi | 一个简单的基于baremetal的玄铁exx cpu低功耗唤醒wfi功能使用示例。 | |
bare_cpp_demo | 一个简单的基于baremetal的c++使用示例。 | |
bare_dhrystone | 一个简单的基于baremetal的dhrystone示例。dhrystone是一种基准测试程序,用于评估处理器的速度和效率。其主要用于测试整数运算速度和效率,不涵盖浮点运算、IO、网络等方面。 | |
bare_drv_timer | 一个简单的基于baremetal的定时器驱动裸驱示例(基于csi2.0规范). | |
bare_drv_uart | 一个简单的基于baremetal的串口驱动裸驱示例(基于csi2.0规范). | |
bare_helloworld | 一个简单的基于baremetal的helloword demo,可运行在QEMU环境. | |
bare_linpack_dp | 一个简单的基于baremetal的linpack_dp示例。linpack_dp是一种用于评估计算机系统浮点运算性能的基准测试程序,用于测试双精度浮点运算性能。 | |
bare_linpack_sp | 一个简单的基于baremetal的linpack_sp示例。linpack_sp是一种用于评估计算机系统浮点运算性能的基准测试程序,用于测试单精度浮点运算性能。 | |
bare_whetstone | 一个简单的基于baremetal的whetstone示例。whetstone是一种基准测试程序,用于评估处理器的浮点运算性能,不涵盖整数运算、IO、网络等方面。 | |
mcu_freertos_helloworld | 一个面向mcu领域的基于freertos的helloword demo | |
mcu_freertos_event | 一个面向mcu领域的基于freertos的event使用示例 | |
mcu_freertos_message_q | 一个面向mcu领域的基于freertos的message queue 使用示例 | |
mcu_freertos_mutex | 一个面向mcu领域的基于freertos的mutex使用示例 | |
mcu_freertos_sem | 一个面向mcu领域的基于freertos的sem使用示例 | |
mcu_freertos_task | 一个面向mcu领域的基于freertos的task使用示例 | |
mcu_freertos_time | 一个面向mcu领域的基于freertos的time 使用示例 | |
mcu_freertos_timer | 一个面向mcu领域的基于freertos的timer 使用示例 | |
mcu_freertos_cpp | 一个面向mcu领域的基于freertos的cpp demo | |
mcu_rtthread_helloworld | 一个面向mcu领域的基于rtthread的helloword demo | |
mcu_rtthread_event | 一个面向mcu领域的基于rtthread的event demo | |
mcu_rtthread_message_q | 一个面向mcu领域的基于rtthread的message queue demo | |
mcu_rtthread_mutex | 一个面向mcu领域的基于rtthread的mutex demo | |
mcu_rtthread_sem | 一个面向mcu领域的基于rtthread的sem demo | |
mcu_rtthread_task | 一个面向mcu领域的基于rtthread的task demo | |
mcu_rtthread_time | 一个面向mcu领域的基于rtthread的time demo | |
mcu_rtthread_timer | 一个面向mcu领域的基于rtthread的timer demo | |
mcu_rtthread_cpp | 一个面向mcu领域的基于rtthread的cpp demo | |
mcu_rtthread_smp | 一个面向mcu领域的基于rtthread的smp demo | |
soc_helloworld | 一个面向soc领域(使用osal封装)的helloworld示例,可运行在玄铁QEMU环境. | |
soc_smp_demo | 一个面向soc领域(使用osal封装)的smp demo | |
soc_core_dsp | 一个面向soc领域(使用osal封装)的玄铁cpu dsp多线程使用示例 | |
soc_core_vector | 一个面向soc领域(使用osal封装)的玄铁cpu vector多线程使用示例 | |
soc_core_matrix | 一个面向soc领域(使用osal封装)的玄铁cpu matrix多线程使用示例 | |
soc_kernel_event | 一个面向soc领域(使用osal封装)的event demo | |
soc_kernel_message_q | 一个面向soc领域(使用osal封装)的message_q demo | |
soc_kernel_mutex | 一个面向soc领域(使用osal封装)的mutex demo | |
soc_kernel_sem | 一个面向soc领域(使用osal封装)的sem demo | |
soc_kernel_task | 一个面向soc领域(使用osal封装)的task demo | |
soc_kernel_time | 一个面向soc领域(使用osal封装)的time demo | |
soc_kernel_timer | 一个面向soc领域(使用osal封装)的timer demo | |
soc_cpp_demo | 一个面向soc领域(使用osal封装)的cpp demo | |
最小系统 | helloworld | 最小系统Helloworld例程,例程将创建一个任务实现周期性hello world日志输出。 |
bootloader例程 | ch2601_boot | 基于CH2601平台的bootloader实例,完成下一级镜像的验签、跳转到下一级镜像和升级等功能。SDK中提供了其他已支持芯片平台的bootloader适配例程,可通过实例名字选择。比如:bl606p_boot - BL606P平台、d1_boot_demo - D1平台、cv181xh_boot - CV181xH平台 |
CLI命令行 | cli_demo | 串口命令行输入示例。串口命令行一般包括调试命令, 测试命令,获取系统信息命令,控制LOG信息打印等,用户也可以根据需要增加调测指令。 |
键值对 | kv_demo | KV文件系统是基于Flash的一种Key-Value 数据存储系统,支持断电保护、磨损均衡、坏块处理等功能。用户可通过CLI指令测试KV功能。 |
固件升级 | fota_demo | FOTA升级的DEMO。FOTA的云服务在OCC,包括固件的管理,许可证的管理,设备的管理等。 |
媒体播放 | xplayer_demo | 媒体播放器示例,用户可通过CLI指令测试播放器功能。 |
codec_demo | Codec裸驱示例,用户可通过CLI指令测试Codec功能。 | |
设备驱动 | devices_demo | devices_demo是devices组件下rvm_hal接口的使用示例。 |
USB协议栈 | usb_demo | usb_demo展示了USB协议栈接口的使用方法。 |
gprs_demo | 移远EC200A USB 4G模组适配实例,可参考实现RNDIS和USB Serial两类USB Class。 | |
核间通信 | ipc_demo | 核间通信IPC在AP核的示例,主要实现了AP侧作为服务端日志和CLI指令代理功能。 |
bl606p_c906_ipc_demo | 核间通信IPC在CP核的示例,主要实现了CP侧作为客户端日志和CLI指令功能。 | |
图形引擎 | lvgl_demo | 基于LVGL开源图形库的示例程序,适配了官方提供的Stress/Widgets/Benchmark/Music四个示例程序。用户可修改代码选择不同示例程序运行。 |
网络连接 | wifi_demo | WiFi驱动示例,用户可通过CLI指令测试Scan、Station模式、AP模式等功能,已适配RTL8723 / BL606P / W800 等平台。 |
httpclient_demo | httpclient组件使用示例,用户可通过CLI指令测试HTTP和HTTPS的访问以及HTTP Get功能。 | |
wifi_ble_provisioning_demo | 基于蓝牙协议栈实现蓝牙辅助配网功能的简单示例程序。 | |
bt_audio_demo | 基于蓝牙协议栈实现蓝牙音频播放功能的示例程序。 | |
ble_shell_demo | 蓝牙协议栈Shell测试程序,solution里带ble前缀的示例都是蓝牙BLE的开发例程,可以根据名字选择相应例程了解。比如:ble_hrs_demo - 展示HRS Profile功能、ble_hid_keyboard_demo - 展示HID设备基本功能、ble_scanner_demo - 中心设备开发实例、ble_uart_profile_client_demo - UART透传服务Client实例、ble_uart_profile_server_demo - UART透传服务Server实例 | |
mesh_shell | 蓝牙Mesh协议栈Shell测试程序,solution里带mesh前缀的示例都是蓝牙Mesh协议栈的开发例程,可以根据名字选择相应例程了解。比如:mesh_provisioner_demo - 蓝牙Mesh配网器实例、mesh_light_node_demo - Mesh智能灯设备实例、mesh_switch_node_demo - Mesh智能开关设备实例、mesh_switch_node_lpm_demo - Mesh低功耗设备实例、mesh_temperature_sensor_demo - Mesh低功耗设备实例、mesh_body_sensor_demo - Mesh低功耗设备实例 |
玄铁开源社区: https://www.xrvm.cn/
玄铁开源社区文档中心:文档中心
YoC使用手册yocbook: yocbook
YoC系统完全开源,代码版本遵循Apache License 2.0开源许可协议,可以免费在商业产品中使用,并且不需要公开私有代码。
开发工具 | 版本 | 说明 |
---|---|---|
CDK | >=V2.24.2 | 面向基于RISC-V的MCU/AIoT领域的极简开发环境,帮助开发者从工程获取到配置、开发、下载、调试全链路的图形界面的支持。 |
CDS | >=V5.2.18 | 面向基于玄铁CPU的集成开发环境,支持Bare metal、RTOS、Linux等各类程序的开发。 |
QEMU | >=V4.2.9 | 玄铁QEMU是一个以开源项目QEMU为基础,支持玄铁处理器的软件模拟器,提供了带基本外设的玄铁开发板模板。 |
XuanTie Debug Server | >=V5.18.1 | XuanTie DebugServer是一个调试代理软件,它通过CKLINK,以JTAG的方式连接目标板,并支持“GDB Remote Protocol” 。开发者可以通过GDB对运行在玄铁800系列和玄铁900系列处理器上的软件程序进行在线调试。 |
yoctools | >=2.0.80 | Linux下命令行构建编译工具。 |
玄铁工具链 | V2.10.0 | riscv编译所需工具链,可通过yoc命令安装(yoc toolchain --riscv -f);也可以自行下载安装,并在系统变量中设置对应的路径信息。 |
开发工具 | 版本 | 说明 |
---|---|---|
CDK | >=V2.24.2 | 面向基于RISC-V的MCU/AIoT领域的极简开发环境,帮助开发者从工程获取到配置、开发、下载、调试全链路的图形界面的支持。 |
CDS | >=V5.2.18 | 面向基于玄铁CPU的集成开发环境,支持Bare metal、RTOS、Linux等各类程序的开发。 |
QEMU | >=V4.2.9 | 玄铁QEMU是一个以开源项目QEMU为基础,支持玄铁处理器的软件模拟器,提供了带基本外设的玄铁开发板模板。 |
XuanTie Debug Server | >=V5.18.1 | XuanTie DebugServer是一个调试代理软件,它通过CKLINK,以JTAG的方式连接目标板,并支持“GDB Remote Protocol” 。开发者可以通过GDB对运行在玄铁800系列和玄铁900系列处理器上的软件程序进行在线调试。 |
yoctools | >=2.0.76 | Linux下命令行构建编译工具。 |
玄铁工具链 | V2.10.0 | riscv编译所需工具链,可通过yoc命令安装(yoc toolchain --riscv -f);也可以自行下载安装,并在系统变量中设置对应的路径信息。 |
riscv_dummy_demo
fota_demo
开发工具 | 版本 | 说明 |
---|---|---|
CDK | >=V2.22.0 | 集成开发环境IDE |
yoctools | >=2.0.56 | Linux下命令行构建编译工具 |
玄铁工具链 | V2.6.1 | riscv编译所需工具链,可通过yoc命令安装(yoc toolchain --riscv -f);也可以自行下载安装,并在系统变量中设置对应的路径信息 |
YoC非常感谢开发者、芯片厂商和解决方案开发者的支持,如果你在开发工程中有任何想法、建议和问题,请通过以下方式联系我们,我们会在24H里提供反馈。
开发者和厂商贡献产品解决方案或组件,需要明确以下事项:
具体方法请参考点击 这里