Skip to content

HAL Update Guide

Ian edited this page Aug 30, 2024 · 3 revisions

v0.17

usb-device updates

The interface for supplying string descriptors has changed from:

.manufacturer("Fake company")
.product("Serial port")
.serial_number("TEST")

to

.strings(&[StringDescriptors::new(LangID::EN)
    .manufacturer("Fake company")
    .product("Serial port")
    .serial_number("TEST")])
.expect("Failed to set strings")

Critical Section feature required

Linking your firmware may result in errors like rust-lld: error: undefined symbol: _critical_section_1_0_acquire. In your firmware's Cargo.toml, specify the critical-section-single-core feature of cortex-m: cortex-m = {version = "0.7", features = ["critical-section-single-core"]}.

v0.15

SERCOM v2 now default

Code that had use hal::sercom::v2:: should be changed to use hal::sercom::, and usage of the v1 SERCOM implementation needs to be ported to v2.

Clone this wiki locally