The hispark_taurus repository provides drivers for the Hi3516D V300 chip and provides basic multimedia capabilities for the Multimedia and Graphics subsystems. including audio/video collection, audio/video encoding and decoding, audio/video output, video pre-processing, encapsulation, decapsulation, file management, storage management, and log system. The following figure shows the architecture of the Multimedia subsystem.
Figure 1 Multimedia subsystem architecture
/device/hisilicon/hispark_taurus/sdk_liteos
├── config # Hi3516D V300 device configuration information
├── mpp
│ ├── lib # Media library files and license files of Hi3516D V300
│ └── module_init # Libraries and license files of corresponding media module drivers of Hi3516D V300
└── uboot
├── out # U-Boot compiled using third_party\uboot\u-boot-2020.01
├── reg # U-Boot configuration files and license files
├── secureboot_ohos # Compilation scripts for securely booting OpenHarmony
└── secureboot_release # Source code and license files for generating secure U-Boot files
/device/hisilicon/hispark_taurus/sdk_linux/soc
├── ko # Kernel module loading script for the Hi3516D V300 chip
├── lib # Media and graphics library files and license files for the Hi3516D V300 chip
└── src # Linux kernel driver module source code and license files for the Hi3516D V300 chip
├── interdrv # Peripheral modules
│ ├── common # Common modules for all chips
│ │ ├── cipher # Encryption/Decryption module
│ │ ├── hi_adc # ADC bus controller
│ │ ├── hi_ir # IR controller
│ │ ├── hi_irq # IRQ management module of the user-space driver
│ │ ├── hi_proc # Debugging information management module
│ │ └── wtdg # Watchdog
│ └── hi3516cv500 # Chip-specific modules
│ ├── mipi_rx # RX direction of the MIPI protocol
│ ├── mipi_tx # TX direction of the MIPI protocol
│ └── sysconfig # System configurations
├── mpp # Graphics and multimedia modules
│ ├── cbb
│ │ ├── based # Logging functions
│ │ ├── sysd # Basic system module that provides memory and module binding functions
│ │ └── vo # video output
│ └── component
│ ├── hdmi # HDMI output
│ ├── hifb # Frame buffer management
│ └── tde # Two Dimensional Engine
└── osal # Operating system abstraction layer, which shields system differences and provides unified interfaces
Currently, the Hi3516D V300 chip is supported.
- Compiling U-Boot
- Download the GCC toolchain from https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads. Currently, the toolchain version for compiling U-Boot is gcc-arm-none-eabi-7-2017-q4-major-linux.tar.bz2. You can also select other GCC versions.
- Copy the GCC toolchain to the prebuilts directory and decompress it.
- Go to the hispark_taurus\uboot\out\boot directory and modify the path of the toolchain defined by OSDRV_CROSS in the makefile of the directory.
- Run the make clean;make all; command to compile the U-Boot.
The generated U-Boot is stored in the hispark_taurus\uboot\out\boot directory.
Note: prebuilts\mkimage is generated by the U-Boot source code.
-
The hispark_taurus\sdk_linux\soc\lib directory stores the HiSilicon-developed libraries, which comply with the license of HiSilicon (Shanghai). You can see the following license and copyright information in the license file stored in this directory:
/ *End User License Agreement ... Copyright (C) 2021 HiSilicon (Shanghai) Technologies Co., Ltd. All rights reserved. * /
-
The hispark_taurus\sdk_linux\soc\src directory stores the HiSilicon-developed code, which complies with the HiSilicon (Shanghai) copyright statement based on GPL. You can see the following license and copyright information at the beginning of the license file stored in this directory:
/ *Copyright (c) 2021 HiSilicon (Shanghai) Technologies CO., LIMITED. * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. * ... * /
-
The hispark_taurus\prebuilts directory stores the tools generated using the boot source code that is stored in the device\hisilicon\third_party\uboot\u-boot-2020.01 directory. prebuilts uses the Hisilicon (Shanghai) copyright statement based on the end-user license agreement. You can see the following license and copyright information in the license file stored in the hispark_taurus\prebuilts directory:
/ *End User License Agreement ... Copyright (C) 2021 HiSilicon (Shanghai) Technologies Co., Ltd. All rights reserved. * /
-
The hispark_taurus\sdk_linux\uboot\reg directory stores the HiSilicon-developed code, which complies with the HiSilicon (Shanghai) copyright statement based on the end-user license agreement. You can see the following license and copyright information in the license file stored in this directory:
/ *End User License Agreement ... Copyright (C) 2021 Hisilicon (Shanghai) Technologies Co., Ltd. All rights reserved. * /
-
The hispark_taurus\sdk_liteos\mpp\module_init\lib and hispark_taurus\sdk_liteos\mpp\lib directories store the HiSilicon-developed libraries, which comply with the license of HiSilicon (Shanghai). You can see the following license and copyright information at the end of license files that are stored in the two directories:
Copyright (C) 2020 Hisilicon (Shanghai) Technologies Co., Ltd. All rights reserved.
-
The hispark_taurus\sdk_liteos\mpp\module_init\src directory stores the HiSilicon-developed code, which complies with the HiSilicon (Shanghai) copyright statement based on the Apache License Version 2.0. You can see the following license and copyright information at the beginning of the license file that is stored in this directory:
/ *Copyright (c) 2020 HiSilicon (Shanghai) Technologies CO., LIMITED. Licensed under the Apache License,* ... * /
-
The hispark_taurus\sdk_liteos\uboot\reg directory stores a binary file, which complies with the license of HiSilicon (Shanghai). You can see the following copyright information at the end of a license file that is stored in this directory:
Copyright (C) 2020 Hisilicon (Shanghai) Technologies Co., Ltd. All rights reserved.
-
The hispark_taurus\sdk_liteos\uboot\out\boot directory stores a binary U-Boot file compiled using u-boot-2020.01 and reg_info_hi3518ev300.bin and following the u-boot-2020.01 protocol. For details, see the readme files in the third_party\uboot\u-boot-2020.01\Licenses directory.
-
The hispark_aries\sdk_liteos\uboot\secureboot_release directory stores the open-source code of secure U-Boot, in which the HiSilicon-developed code complies with the HiSilicon (Shanghai) copyright statement based on the GPL license. You can see the following license and copyright information at the beginning of the license file that is stored in this directory:
/ *Copyright (c) 2020 HiSilicon (Shanghai) Technologies CO., LIMITED. * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. * ... * /
-
The notice file stored in the hispark_taurus\NOTICE directory describes three open-source software, namely Das U-Boot 2020.01, mbed TLS 2.16.6, and fdk-aac v2.0.1.
The third_party\ffmpeg\ffmpeg-y directory stores the open-source code of ffmpeg, in which the code complies with the open-source license notice of its own software version. For details, see the readme files in the third_party\ffmpeg\ffmpeg-y directory.
The third_party\uboot\u-boot-2020.01 directory stores the open-source code of U-Boot, which complies with the open-source license notice of its own software version. For details, see the readme files in the third_party\uboot\u-boot-2020.01\Licenses directory.
device/hisilicon/build
device/hisilicon/drivers
device/hisilicon/hardware
device/hisilicon/hispark_taurus
device/hisilicon/modules
device/hisilicon/third_party/ffmpeg
device/hisilicon/third_party/uboot
vendor/hisilicon