Немного о HAL

HAL - это Уровень аппаратной абстракции для встраиваемых систем.

В Rust сообществе используется модуль embedded-hal. Она предоставляет абстракции для взаимодействия модуля периферии конкретного микроконтроллера и модуля использующей периферию (например модуль для работы с дисплеем по SPI). Это позволяет написать один модуль, и использовать его на разных платах. Идея похожа на Arduino.

Так же следует знать немного о PAC. Это модуль предоставляющий удобное взаимодействие с регистрами периферии конкретного микроконтроллера. Модули PAC генерируются автоматически из файла SVD для каждого микроконтроллера. Эти модули используются в hal для конкретного микроконтроллера.

Для удобства модуль crabik-board содержит в себе модули nrf52810-hal и nrf52810-pac. Вы можете использовать их импортируя по пути crabik_board::hal и crabik_board::pac.

Документация по модулю nrf52810-hal доступна на docs.rs