Skip to main content
Ctrl+K

K230 文档

  • CanMV K230 教程
  • K230 SDK使用说明
  • K230 SDK 实用教程
    • K230 实战基础篇 - hello world
    • K230 AI实战 - HHB神经网络模型部署工具
    • K230 GPU 应用实战 - VGLite 绘制酷炫图形
    • K230 GUI实战 - LVGL移植教程
    • K230 RVV实战
    • K230 USB应用实战-UVC传输YUV及编码码流
    • K230 图像实战 - 开机视频和开机logo
    • K230 编码实战 - rtsp sever搭建和推流
    • K230 音频实战 - 音频采集、播放和编解码
    • K230 场景实战-智能门锁POC
    • K230 场景实战-智能门锁POC
    • K230 场景实战-猫眼POC
    • K230 AI Demo介绍
    • K230 Fancy POC介绍
    • K230 SDK CanMV Board Demo使用指南
    • K230 SDK EVB Board Demo使用指南
  • K230 SDK 开发指南
    • K230 RVV优化性能说明
    • K230 内存优化指南
    • K230 内存分析指南
    • K230 启动优化指南
    • K230图像采集实战 如何支持一款新sensor
    • K230大小核通讯Sharefs使用简介
    • K230 OpenBLAS开发指南
    • K230 OpenCV开发指南
    • K230 Camera Sensor适配指南
    • K230_功耗管理适配指南
    • K230 VICAP SENSOR 参数分区参考
    • K230 PMU使用指南
    • K230 SDK IoT WiFi AiW4211LV10使用指南
    • K230 SDK IoT WiFi AiW4211LV10驱动开发指南
    • K230 nncase开发指南
  • 硬件
    • K230 DEMO BOARD 资源使用说明
    • K230 硬件设计指南
    • K230 Product Full Datasheet
  • K230 SDK API 参考
    • K230核间通讯API参考
    • K230系统控制MAPI参考
    • K230 多媒体中间件API参考
    • K230 DMA API参考
    • K230 DPU API参考
    • K230 FFT API参考
    • K230 GPU API参考
    • K230 SHA256 API参考
    • K230 VICAP API参考
    • K230系统控制API参考
    • K230视频编解码API参考
    • K230视频输出API参考
    • K230音频API参考
    • K230 DRM使用指南
    • K230大核低速驱动API参考
    • K230小核Linux驱动API参考
  • K230 常见问题解答
  • 其他文档
    • K230 SDK版本说明
v1.2
Tags
v1.0.1
v1.1
v1.2
v1.3
v1.4
v1.5
Branches
dev
External links
K210 CanMV
K210 CanMV Docs
K230 Docs
K230 CanMV Docs
  • .md

K230 图像实战 - 开机视频和开机logo

目录

  • 免责声明
  • 商标声明
  • 概述
  • 1. 环境准备
    • 1.1 硬件环境
    • 1.2 软件环境
  • 2. 源码位置
  • 源码解析
  • 3. 程序执行

K230 图像实战 - 开机视频和开机logo#

cover

版权所有©2023北京嘉楠捷思信息技术有限公司

免责声明#

您购买的产品、服务或特性等应受北京嘉楠捷思信息技术有限公司(“本公司”,下同)及其关联公司的商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约定,本公司不对本文档的任何陈述、信息、内容的正确性、可靠性、完整性、适销性、符合特定目的和不侵权提供任何明示或默示的声明或保证。除非另有约定,本文档仅作为使用指导参考。

由于产品版本升级或其他原因,本文档内容将可能在未经任何通知的情况下,不定期进行更新或修改。

商标声明#

logo、“嘉楠”和其他嘉楠商标均为北京嘉楠捷思信息技术有限公司及其关联公司的商标。本文档可能提及的其他所有商标或注册商标,由各自的所有人拥有。

版权所有 © 2023北京嘉楠捷思信息技术有限公司。保留一切权利。 非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

概述#

本文将讲解如何通过视频解码在k230 evb开发板上实现开机视频和开机logo。 视频解码模块支持H.264/H.265/MJPEG解码,屏幕显示最大分辨率为1920x1080,可旋转。

1. 环境准备#

1.1 硬件环境#

  • K230-USIP-LP3-EVB-V1.0/K230-UNSIP-LP3-EVB-V1.1

  • Typec USB线,用于供电。

  • SD卡

  • 屏幕及连线

  • 摄像头子板(IMX335)

1.2 软件环境#

k230_sdk中提供了工具链,分别在如下路径。

  • 大核rt-samrt工具链

k230_sdk/toolchain/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu
  • 小核linux工具链

k230_sdk/toolchain/Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.0

也可通过以下链接下载工具链

wget https://download.rt-thread.org/rt-smart/riscv64/riscv64-unknown-linux-musl-rv64imafdcv-lp64d-20230222.tar.bz2
wget https://occ-oss-prod.oss-cn-hangzhou.aliyuncs.com/resource//1659325511536/Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.0-20220715.tar.gz

2. 源码位置#

SDK中包含一个用户态解码demo,路径位于k230_sdk/src/big/mpp/userapps/sample/sample_vdec。编译生成的可执行文件在k230_sdk/src/big/mpp/userapps/sample/elf/sample_vdec.elf,默认没有加载到大核镜像中,需要按照执行方式章节修改Makefile才能在大核启动后的/mnt目录中生成可执行文件。

源码解析#

  1. sample_vb_init:配置vb pool cnt,并初始化vb。

  2. vb_create_pool:配置vb总各个pool的block大小和个数。

  3. kd_mpi_vdec_create_chn:创建解码通道。

  4. kd_mpi_vdec_start_chn:开启解码通道。

  5. sample_vdec_bind_vo:将解码绑定到vo。

  6. input_thread:从文件中读取数据,并调用kd_mpi_vdec_send_stream将数据送给VPU。

  7. output_thread:从VPU获取解码数据。

3. 程序执行#

  1. 修改k230_sdk/Makefile中mpp-apps的编译脚本。 将

    cp userapps/sample/fastboot_elf/* $(RTSMART_SRC_DIR)/userapps/root/bin/; \
    

    改为

    cp userapps/sample/elf/sample_vdec.elf $(RTSMART_SRC_DIR)/userapps/root/bin/; \
    
  2. 将需要显示的H.264/H.265/MJPEG/JPEG文件拷贝到k230_sdk/src/big/rt-smart/userapps/root/bin目录中

  3. 修改k230_sdk/src/big/rt-smart/init.sh为如下命令:

    /bin/sample_vdec -i <filename> [-t <sec>]
    
    • <filename>为上一步中拷贝的视频文件

    • -t仅在显示图片时使用,为显示图片的时间。

  4. 在k230_sdk目录下执行make命令。

  5. 将编译生成的k230_sdk/output/k230_evb_defconfig/images/sysimage-sdcard.img烧写到SD卡中,EVB板拨码开关全拨到OFF(从SD卡启动),即可实现开机显示视频。

显示效果如下: boot_logo

上一页

K230 USB应用实战-UVC传输YUV及编码码流

下一页

K230 编码实战 - rtsp sever搭建和推流

目录
  • 免责声明
  • 商标声明
  • 概述
  • 1. 环境准备
    • 1.1 硬件环境
    • 1.2 软件环境
  • 2. 源码位置
  • 源码解析
  • 3. 程序执行

作者: Canaan

© Copyright 2024 Canaan Inc.