10 个版本
0.1.9 | 2020 年 8 月 26 日 |
---|---|
0.1.8 | 2020 年 8 月 24 日 |
0.1.7 | 2020 年 5 月 11 日 |
0.1.5 | 2020 年 4 月 1 日 |
0.1.0 | 2019 年 11 月 9 日 |
#2027 in 嵌入式开发
每月 32 次下载
在 2 个软件包中使用(通过 himpp)
18KB
341 代码行
hitde-sys
Hi35XX TDE API 的 Rust 不安全绑定。
要求
- 目标板工具链必须安装并导出到
PATH
- hi3516ev200 -
arm-himix100-linux
。 - hi3516ev300 - 与
hi3516ev200
相同。 - hi3518ev200 - 与
hi3516ev200
相同。 - hi3518ev300 - 与
hi3516ev200
相同。 - hi3519av100 -
arm-himix200-linux
。 - hi3531v100 -
arm-hisiv100nptl-linux
。 - hi3559av100 -
aarch64-himix100-linux
。
- hi3516ev200 -
- 必须为目标板安装 rust 目标
- hi3516ev200 -
armv7-unknown-linux-musleabihf
。 - hi3516ev300 - 与
hi3516ev200
相同。 - hi3518ev200 - 与
hi3516ev200
相同。 - hi3518ev300 - 与
hi3516ev200
相同。 - hi3519av100 -
aarch64-unknown-linux-gnu
。 - hi3531v100 -
arm-unknown-linux-musleabi
。 - hi3559av100 -
aarch64-unknown-linux-gnu
。
- hi3516ev200 -
- 将
MPP_DIR
导出到包含mpp-lib
的目录。 - 将
SYS_INCLUDE
导出到包含系统头文件的目录。 - 将
SYS_LIBDIR
导出到包含系统库的目录。
工具链和 mpp-lib 可从 BSP sdk 获取。
环境默认值
Hi3516EV200
Hi3616EV300、Hi3616EV200、Hi3618EV300 使用相同的 SDK。
export PATH=/opt/hisi-linux/x86-arm/arm-himix100-linux/bin:$PATH
export MPP_DIR=vendor/mpp-lib-Hi3516EV200_V1.0.1.0
export SYS_INCLUDE=/opt/hisi-linux/x86-arm/arm-himix100-linux/target/usr/include
Hi3519AV100
export PATH=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin:$PATH
export MPP_DIR=vendor/mpp-lib-Hi3519AV100_V2.0.2.0
export SYS_INCLUDE=/opt/hisi-linux/x86-arm/arm-himix200-linux/target/usr/include
Hi3531V100
export PATH=/opt/hisi-linux-nptl/arm-hisiv100-linux/target/bin:$PATH
export MPP_DIR=vendor/mpp-lib-Hi3531V100_V1.0.D.0
export SYS_INCLUDE=/opt/hisi-linux-nptl/arm-hisiv100-linux/target/usr/include
Hi3559AV100
export PATH=/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin:$PATH
export MPP_DIR=vendor/mpp-lib-Hi3559AV100_V2.0.2.0
export SYS_INCLUDE=/opt/hisi-linux/x86-arm/aarch64-himix100-linux/aarch64-linux-gnu/sys-include
构建
要构建软件包,您必须首先设置交叉编译环境。
在 .cargo/
中有一些预设,可以帮助您快速设置交叉编译。
示例
# Setup for Hi3559AV100 boards
cp .cargo/hi3559av100.toml .cargo/config
# or for link static libraries
cp .cargo/hi3559av100-static.toml .cargo/config
# Build the package ...
cargo b
确保在 Cargo.toml 中启用了
hi3559av100
功能,hi3559av100
指定了目标板,您可以更改为其他,例如:hi3531v100
示例
use hitde_sys::{HI_SUCCESS, HI_TDE2_Open, HI_TDE2_Close};
fn main() {
unsafe {
let err = HI_TDE2_Open();
assert_eq!(err, HI_SUCCESS as HI_S32);
// Add your code here
HI_TDE2_Close();
}
}
依赖关系
~0–1.8MB
~34K SLoC