15个版本 (8个重大更改)
0.18.0 | 2024年5月25日 |
---|---|
0.16.1 | 2024年3月5日 |
0.16.0 | 2022年10月26日 |
0.15.1 | 2022年5月31日 |
0.11.0 | 2020年7月12日 |
在嵌入式开发中排名第1528
在2 个软件包中使用
535KB
12K SLoC
Nordic nRF9160的硬件抽象层
该软件包是Nordic nRF9160的硬件抽象层(HAL),它包装了PAC(nrf9160-pac
)并为芯片的外设提供高级包装。
此软件包不了解您的PCB布局,也不知道哪些引脚分配给了哪些功能。唯一的例外是示例,这些示例是为在官方nRF9160-DK开发套件上运行而编写的。
使用方法
您需要安装thumbv8m.main-none-eabihf
目标。
$ rustup target add thumbv8m.main-none-eabihf
安全模式与非安全模式
此HAL设计为在非安全模式下运行,如大多数应用程序代码应这样做。因此,您需要一个'引导加载程序',它在安全模式下启动,将所需的设备移动到'非安全'世界,然后跳转到您的应用程序。
我们已成功使用来自nRF SDK v1.5.1的Nordic的Secure Partition Manager。SPM v1.5.1配置为在地址0x0005_0000
处期望您的应用程序,因此memory.x
必须指定为Flash的起始位置。
注意:其他版本的SPM可能期望不同的起始地址——尤其是那些作为另一个应用程序(如at_sample
)子映像编译的!您可以在启动时查看起始地址。
SPM: NS image at 0x50000
这告诉您SPM正在查找位于0x0005_0000
的非安全(NS)映像。
要构建SPM,请运行
$ west init -m https://github.com/nrfconnect/sdk-nrf --mr v1.5.1 ncs
$ cd ncs
$ west update # This takes *ages*
$ cd nrf/examples/spm
$ west build --board=nrf9160dk_nrf9160
$ west flash
West是Nordic提供的用于构建nRF Connect SDK的Python工具。有关详细信息,请参阅Nordic网站。
您的nRF9160-DK现在将在0x0000_0000
和0x0004_FFFF
之间安装SPM。在0x0005_0000
处刷写您的应用程序不应影响SPM,前提是您没有选择擦除整个芯片或类似操作!
如果您想更改闪存地址,请提供您自己的应用crate(或您的板级支持crate)中的memory.x
文件,并编写一个build.rs
文件,该文件将您的memory.x
复制到上面。
许可证
许可方式之一
- Apache License,版本2.0(LICENSE-APACHE或https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT或http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确说明,否则您有意提交的任何贡献,包括在Apache-2.0许可证中定义的贡献,均应如上所述双许可,不附加任何额外条款或条件。
依赖关系
约7.5MB
~183K SLoC