17个版本 (6个稳定版)
2.7.1 | 2024年8月9日 |
---|---|
2.4.2 | 2023年9月6日 |
2.1.0 | 2022年12月25日 |
1.5.1 | 2021年5月19日 |
0.1.6 | 2019年7月31日 |
#3 in #nrf9160
每月375次下载
用于 3 个crate
1.5MB
123 行
包含 (静态库,400KB) oberon_3.0.15.lib,(静态库,400KB) liboberon_3.0.15.a,(静态库,400KB) liboberon_3.0.15.a,(静态库,130KB) libmodem.a,(静态库,130KB) libmodem.a,(静态库,24KB) liboberon_mbedtls_3.0.15.a 以及2个其他文件。
nrfxlib-sys
这是一个Rust对Nordic nrfxlib 库集的包装,主要用于nRF91*系列芯片(System-in-Packages)的libmodem
和liboberon
。支持的芯片如下:
- nRF9160
- nRF9151
- nRF9161
任何使用此crate的二进制文件都需要提供大量的C库函数,因为Nordic的库期望它们。这包括但不限于
- atoi
- snprintf
- strol
- strchr
您不能只是链接newlib
,因为它定义了memset
,这与编译器内置crate的memset
定义冲突。请通过明信片回答——目前我正在使用tinyrlibc。
使用
注意:此crate不遵循semver。此crate的版本跟踪底层Nordic 库的版本。
在您的程序或库中,您可以使用常规方式依赖此crate
[dependencies]
# A chip feature must be selected
nrfxlib-sys = { version = "=2.7.1", feature = ["nrf9160"] }
由于调制解调器库的调试部分被压缩,而Rust的工具链默认不支持这一点,因此此crate会剥离调试部分或解压缩它们。
默认情况下,此crate使用llvm-tools
,可以通过rustup component add llvm-tools
安装。在这种情况下,调试部分会被剥离。
如果您希望解压缩调试部分,请禁用此crate的默认功能并启用arm-none-eabi-objcopy
功能。这将尝试使用您可以从ARM网站下载的arm-none-eabi-objcopy
二进制文件。该二进制文件支持调试部分压缩。
这是一个底层包装器。您可能更喜欢更高层次的阻塞包装器
[dependencies]
nrfxlib = "*"
您也可能更喜欢异步包装器
[dependencies]
nrf-modem = "*"
许可证
除了./third_party
文件夹外的任何代码都受蓝橡树许可证约束。位于./third_party
文件夹内的任何代码(包括Nordic nrfxlib)都有其自己的许可证文件。
贡献
除非您明确说明,否则任何有意提交以包含在您的工作中的贡献,都应按照上述方式许可,不附加任何额外条款或条件。
变更日志
未发布变更(源代码 | 变更)
v2.7.1(源代码 | 变更)
- 通过包含二进制文件修复了构建问题
v2.7.0(源代码 | 变更)
- 更新到nrfxlib v2.7.0
- 添加了对nRF9151和nRF9161的支持
v2.4.2(源代码 | 变更)
- 更新到nrfxlib v2.4.2
- 改进了构建脚本搜索
llvm-objcopy
的方式
v2.1.0(源代码 | 变更)
- 更新到nrfxlib v2.1.0
- 添加了许多oberon加密函数
v1.4.2(源代码 | 变更)
- 更新到nrfxlib v1.4.2
- 为调用
bsd_init
函数添加了新的参数。 - 在Cargo问题#5730关闭后,切换回
bindgen
crate。
v1.2.0(源代码 | 变更)
- 更新到nrfxlib v1.2.0
- 修复了由usize/u32和isize/i32转换引起的某些构建错误。
v1.1.0-rc3+rel1(源代码 | 变更)
- 更新到nrfxlib v1.1.0-rc3
- 为
libnrf_cc310
(CryptoCell 310 API)生成头文件 - 为
liboberon
(优化的软件加密实现)生成头文件
v1.1.0-rc2+rel1(源代码 | 变更)
- 更新到nrfxlib v1.1.0-rc2,包括libbsd 0.5.0
- 将crate版本更改为跟踪Nordic的nrfxlib版本号。
v0.2.0(源代码 | 变更)
- 要求用户安装bindgen作为命令行工具。
v0.1.7 (源代码 | 变更)
- 使用Cargo 5730的解决方案。
- 更新bindgen到0.51版本。
- 使用Rustfmt生成的代码。
- 使用制表符重新格式化。
v0.1.6 (源代码 | 变更)
- 捆绑C头文件(修复了Travis构建问题)。
v0.1.5 (源代码 | 变更)
- 上游nrfxlib的子模块。
v0.1.4 (源代码 | 变更)
- 添加bsd_limits.h, nrf_key_mgmt.h和nrf_apn_class.h头文件。
v0.1.3 (源代码 | 变更)
- 更新本README以指定检出v1.0.0标签。
- 添加了Travis CI文件。
v0.1.2 (源代码 | 变更)
- 添加NEWLIB_PATH以便用户可以指向正确的新lib头文件。
v0.1.1 (源代码 | 变更)
- 更新README和crate元数据。
v0.1.0 (源代码)
- 第一个版本。
无运行时依赖。
~0–1.8MB。
~36K SLoC