mirror of
https://github.com/italicsjenga/rp-hal-boards.git
synced 2024-12-23 04:31:30 +11:00
Use rp2040-hal in all example (possibly through their bsp) (#423)
* Use rp2040-hal in all example (possibly through their bsp) Some of the examples were using the cortex_m_rt::entry method which misses the device specific spinlock re-initialisation. This commits makes the usage more consistent by using rp2040_hal exported macro as the only `entry` method used across examples.
This commit is contained in:
parent
51db37a4cb
commit
42e929d7e1
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -2,3 +2,4 @@
|
|||
target
|
||||
Cargo.lock
|
||||
.vscode
|
||||
*.orig
|
||||
|
|
|
@ -13,7 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
|
||||
### Changed
|
||||
|
||||
- None
|
||||
- Use `rp2040-hal`'s entry function.
|
||||
|
||||
## 0.3.0 - 2022-06-13
|
||||
|
||||
|
|
|
@ -13,12 +13,15 @@ use adafruit_macropad::{
|
|||
},
|
||||
Pins, XOSC_CRYSTAL_FREQ,
|
||||
};
|
||||
use cortex_m_rt::entry;
|
||||
use embedded_hal::digital::v2::OutputPin;
|
||||
use embedded_time::rate::*;
|
||||
use panic_halt as _;
|
||||
|
||||
#[entry]
|
||||
/// Entry point to our bare-metal application.
|
||||
///
|
||||
/// The `#[rp2040_hal::entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables and the spinlock are initialised.
|
||||
#[rp2040_hal::entry]
|
||||
fn main() -> ! {
|
||||
let mut pac = pac::Peripherals::take().unwrap();
|
||||
let core = pac::CorePeripherals::take().unwrap();
|
||||
|
|
13
boards/arduino_nano_connect/CHANGELOG.md
Normal file
13
boards/arduino_nano_connect/CHANGELOG.md
Normal file
|
@ -0,0 +1,13 @@
|
|||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## Unreleased
|
||||
|
||||
### Changed
|
||||
|
||||
- Use `rp2040-hal`'s entry function.
|
||||
|
|
@ -10,9 +10,6 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
// The macro for our start-up function
|
||||
use cortex_m_rt::entry;
|
||||
|
||||
use embedded_hal::digital::v2::OutputPin;
|
||||
// // Time handling traits
|
||||
use embedded_time::rate::*;
|
||||
|
@ -36,12 +33,12 @@ use bsp::hal;
|
|||
|
||||
/// Entry point to our bare-metal application.
|
||||
///
|
||||
/// The `#[entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables are initialised.
|
||||
/// The `#[arduino_nano_connect::entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables and the spinlock are initialised.
|
||||
///
|
||||
/// The function configures the RP2040 peripherals, then blinks the LED in an
|
||||
/// infinite loop.
|
||||
#[entry]
|
||||
#[arduino_nano_connect::entry]
|
||||
fn main() -> ! {
|
||||
// Grab our singleton objects
|
||||
let mut pac = pac::Peripherals::take().unwrap();
|
||||
|
|
|
@ -3,9 +3,7 @@
|
|||
pub extern crate rp2040_hal as hal;
|
||||
|
||||
#[cfg(feature = "rt")]
|
||||
extern crate cortex_m_rt;
|
||||
#[cfg(feature = "rt")]
|
||||
pub use cortex_m_rt::entry;
|
||||
pub use rp2040_hal::entry;
|
||||
|
||||
//// The linker will place this boot block at the start of our program image. We
|
||||
//// need this to help the ROM bootloader get our code up and running.
|
||||
|
|
|
@ -5,4 +5,9 @@ All notable changes to this project will be documented in this file.
|
|||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [Unreleased]
|
||||
## Unreleased
|
||||
|
||||
### Changed
|
||||
|
||||
- Use `rp2040-hal`'s entry function.
|
||||
|
||||
|
|
|
@ -2,12 +2,11 @@
|
|||
|
||||
pub extern crate rp2040_hal as hal;
|
||||
|
||||
#[cfg(feature = "rt")]
|
||||
extern crate cortex_m_rt;
|
||||
#[cfg(feature = "rt")]
|
||||
pub use cortex_m_rt::entry;
|
||||
pub use hal::pac;
|
||||
|
||||
#[cfg(feature = "rt")]
|
||||
pub use rp2040_hal::entry;
|
||||
|
||||
/// The linker will place this boot block at the start of our program image. We
|
||||
/// need this to help the ROM bootloader get our code up and running.
|
||||
#[cfg(feature = "boot2")]
|
||||
|
|
13
boards/pimoroni-plasma-2040/CHANGELOG.md
Normal file
13
boards/pimoroni-plasma-2040/CHANGELOG.md
Normal file
|
@ -0,0 +1,13 @@
|
|||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## Unreleased
|
||||
|
||||
### Changed
|
||||
|
||||
- Use `rp2040-hal`'s entry function.
|
||||
|
|
@ -2,7 +2,6 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
use cortex_m_rt::entry;
|
||||
use defmt::*;
|
||||
use defmt_rtt as _;
|
||||
use embedded_hal::digital::v2::OutputPin;
|
||||
|
@ -18,7 +17,11 @@ use bsp::hal::{
|
|||
watchdog::Watchdog,
|
||||
};
|
||||
|
||||
#[entry]
|
||||
/// Entry point to our bare-metal application.
|
||||
///
|
||||
/// The `#[rp2040_hal::entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables and the spinlock are initialised.
|
||||
#[rp2040_hal::entry]
|
||||
fn main() -> ! {
|
||||
info!("Program start");
|
||||
let mut pac = pac::Peripherals::take().unwrap();
|
||||
|
|
|
@ -6,9 +6,6 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
// The macro for our start-up function
|
||||
use cortex_m_rt::entry;
|
||||
|
||||
// Ensure we halt the program on panic (if we don't mention this crate it won't
|
||||
// be linked)
|
||||
use panic_halt as _;
|
||||
|
@ -44,7 +41,11 @@ use ws2812_pio::Ws2812;
|
|||
// to keep the power draw compatible with USB:
|
||||
const STRIP_LEN: usize = 3;
|
||||
|
||||
#[entry]
|
||||
/// Entry point to our bare-metal application.
|
||||
///
|
||||
/// The `#[pimoroni_plasma_2040::entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables and the spinlock are initialised.
|
||||
#[pimoroni_plasma_2040::entry]
|
||||
fn main() -> ! {
|
||||
// Grab our singleton objects
|
||||
let mut pac = pac::Peripherals::take().unwrap();
|
||||
|
|
|
@ -3,10 +3,7 @@
|
|||
pub extern crate rp2040_hal as hal;
|
||||
|
||||
#[cfg(feature = "rt")]
|
||||
extern crate cortex_m_rt;
|
||||
|
||||
#[cfg(feature = "rt")]
|
||||
pub use cortex_m_rt::entry;
|
||||
pub use rp2040_hal::entry;
|
||||
|
||||
/// The linker will place this boot block at the start of our program image. We
|
||||
/// need this to help the ROM bootloader get our code up and running.
|
||||
|
|
|
@ -14,7 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
|
||||
### Changed
|
||||
|
||||
- None
|
||||
- Use `rp2040-hal`'s entry function.
|
||||
|
||||
## 0.4.0 - 2022-06-13
|
||||
|
||||
|
|
|
@ -38,9 +38,6 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
// The macro for our start-up function
|
||||
use cortex_m_rt::entry;
|
||||
|
||||
// Ensure we halt the program on panic (if we don't mention this crate it won't
|
||||
// be linked)
|
||||
use panic_halt as _;
|
||||
|
@ -57,7 +54,11 @@ use embedded_time::rate::*;
|
|||
// For LCD display
|
||||
use hd44780_driver::HD44780;
|
||||
|
||||
#[entry]
|
||||
/// Entry point to our bare-metal application.
|
||||
///
|
||||
/// The `#[rp_pico::entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables and the spinlock are initialised.
|
||||
#[rp_pico::entry]
|
||||
fn main() -> ! {
|
||||
// Grab our singleton objects
|
||||
let mut pac = rp_pico::hal::pac::Peripherals::take().unwrap();
|
||||
|
|
|
@ -9,9 +9,6 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
// The macro for our start-up function
|
||||
use cortex_m_rt::entry;
|
||||
|
||||
use cortex_m::prelude::*;
|
||||
|
||||
// GPIO traits
|
||||
|
@ -34,12 +31,12 @@ use rp_pico::hal;
|
|||
|
||||
/// Entry point to our bare-metal application.
|
||||
///
|
||||
/// The `#[entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables are initialised.
|
||||
/// The `#[rp2040_hal::entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables and the spinlock are initialised.
|
||||
///
|
||||
/// The function configures the RP2040 peripherals, then fades the LED in an
|
||||
/// infinite loop.
|
||||
#[entry]
|
||||
#[rp2040_hal::entry]
|
||||
fn main() -> ! {
|
||||
// Grab our singleton objects
|
||||
let mut pac = pac::Peripherals::take().unwrap();
|
||||
|
|
|
@ -13,7 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
|
||||
### Changed
|
||||
|
||||
- None
|
||||
- Use `rp2040-hal`'s entry function.
|
||||
|
||||
## 0.2.0 - 2022-06-13
|
||||
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
#![no_main]
|
||||
|
||||
use core::iter::once;
|
||||
use cortex_m_rt::entry;
|
||||
use embedded_hal::timer::CountDown;
|
||||
use embedded_time::duration::Extensions;
|
||||
use panic_halt as _;
|
||||
|
@ -30,12 +29,12 @@ use ws2812_pio::Ws2812;
|
|||
|
||||
/// Entry point to our bare-metal application.
|
||||
///
|
||||
/// The `#[entry]` macro ensures the Cortex-M start-up code calls this
|
||||
/// The `#[sparkfun_thing_plus_rp2040::entry]` macro ensures the Cortex-M start-up code calls this
|
||||
/// function as soon as all global variables are initialised.
|
||||
///
|
||||
/// The function configures the RP2040 peripherals, then the LED, then runs
|
||||
/// the colour wheel in an infinite loop.
|
||||
#[entry]
|
||||
#[sparkfun_thing_plus_rp2040::entry]
|
||||
fn main() -> ! {
|
||||
// Configure the RP2040 peripherals
|
||||
|
||||
|
|
|
@ -2,9 +2,7 @@
|
|||
|
||||
pub use rp2040_hal as hal;
|
||||
#[cfg(feature = "rt")]
|
||||
extern crate cortex_m_rt;
|
||||
#[cfg(feature = "rt")]
|
||||
pub use cortex_m_rt::entry;
|
||||
pub use rp2040_hal::entry;
|
||||
|
||||
/// The linker will place this boot block at the start of our program image. We
|
||||
/// need this to help the ROM bootloader get our code up and running.
|
||||
|
|
|
@ -20,6 +20,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
- Update embedded-hal alpha support to version 1.0.0-alpha.8
|
||||
- Implement `From<&SomeClock> for Hertz` instead of `From<SomeClock> for Hertz`
|
||||
for the clocks in `rp2040_hal::clocks`.
|
||||
- Use `rp2040-hal`'s entry function.
|
||||
|
||||
## [0.5.0] - 2022-06-13
|
||||
|
||||
|
|
|
@ -10,9 +10,6 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
// The macro for our start-up function
|
||||
use cortex_m_rt::entry;
|
||||
|
||||
// Ensure we halt the program on panic (if we don't mention this crate it won't
|
||||
// be linked)
|
||||
use panic_halt as _;
|
||||
|
@ -42,12 +39,12 @@ const XTAL_FREQ_HZ: u32 = 12_000_000u32;
|
|||
|
||||
/// Entry point to our bare-metal application.
|
||||
///
|
||||
/// The `#[entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables are initialised.
|
||||
/// The `#[rp2040_hal::entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables and the spinlock are initialised.
|
||||
///
|
||||
/// The function configures the RP2040 peripherals, then prints the temperature
|
||||
/// in an infinite loop.
|
||||
#[entry]
|
||||
#[rp2040_hal::entry]
|
||||
fn main() -> ! {
|
||||
// Grab our singleton objects
|
||||
let mut pac = pac::Peripherals::take().unwrap();
|
||||
|
|
|
@ -9,9 +9,6 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
// The macro for our start-up function
|
||||
use cortex_m_rt::entry;
|
||||
|
||||
// Ensure we halt the program on panic (if we don't mention this crate it won't
|
||||
// be linked)
|
||||
use panic_halt as _;
|
||||
|
@ -40,12 +37,12 @@ const XTAL_FREQ_HZ: u32 = 12_000_000u32;
|
|||
|
||||
/// Entry point to our bare-metal application.
|
||||
///
|
||||
/// The `#[entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables are initialised.
|
||||
/// The `#[rp2040_hal::entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables and the spinlock are initialised.
|
||||
///
|
||||
/// The function configures the RP2040 peripherals, then toggles a GPIO pin in
|
||||
/// an infinite loop. If there is an LED connected to that pin, it will blink.
|
||||
#[entry]
|
||||
#[rp2040_hal::entry]
|
||||
fn main() -> ! {
|
||||
// Grab our singleton objects
|
||||
let mut pac = pac::Peripherals::take().unwrap();
|
||||
|
|
|
@ -12,9 +12,6 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
// The macro for our start-up function
|
||||
use cortex_m_rt::entry;
|
||||
|
||||
// Ensure we halt the program on panic (if we don't mention this crate it won't
|
||||
// be linked)
|
||||
use panic_halt as _;
|
||||
|
@ -89,12 +86,12 @@ impl OutputPin for InOutPin {
|
|||
|
||||
/// Entry point to our bare-metal application.
|
||||
///
|
||||
/// The `#[entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables are initialised.
|
||||
/// The `#[rp2040_hal::entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables and the spinlock are initialised.
|
||||
///
|
||||
/// The function configures the RP2040 peripherals, assigns GPIO 28 to the
|
||||
/// DHT11 driver, and takes a single measurement.
|
||||
#[entry]
|
||||
#[rp2040_hal::entry]
|
||||
fn main() -> ! {
|
||||
// Grab our singleton objects
|
||||
let mut pac = pac::Peripherals::take().unwrap();
|
||||
|
|
|
@ -9,9 +9,6 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
// The macro for our start-up function
|
||||
use cortex_m_rt::entry;
|
||||
|
||||
// Ensure we halt the program on panic (if we don't mention this crate it won't
|
||||
// be linked)
|
||||
use panic_halt as _;
|
||||
|
@ -39,12 +36,12 @@ const XTAL_FREQ_HZ: u32 = 12_000_000u32;
|
|||
|
||||
/// Entry point to our bare-metal application.
|
||||
///
|
||||
/// The `#[entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables are initialised.
|
||||
/// The `#[rp2040_hal::entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables and the spinlock are initialised.
|
||||
///
|
||||
/// The function configures the RP2040 peripherals, then toggles a GPIO pin in
|
||||
/// an infinite loop. If there is an LED connected to that pin, it will blink.
|
||||
#[entry]
|
||||
#[rp2040_hal::entry]
|
||||
fn main() -> ! {
|
||||
// Grab our singleton objects
|
||||
let mut pac = pac::Peripherals::take().unwrap();
|
||||
|
|
|
@ -22,9 +22,6 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
// The macro for our start-up function
|
||||
use cortex_m_rt::entry;
|
||||
|
||||
// Ensure we halt the program on panic (if we don't mention this crate it won't
|
||||
// be linked)
|
||||
use panic_halt as _;
|
||||
|
@ -82,12 +79,12 @@ static GLOBAL_PINS: Mutex<RefCell<Option<LedAndButton>>> = Mutex::new(RefCell::n
|
|||
|
||||
/// Entry point to our bare-metal application.
|
||||
///
|
||||
/// The `#[entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables are initialised.
|
||||
/// The `#[rp2040_hal::entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables and the spinlock are initialised.
|
||||
///
|
||||
/// The function configures the RP2040 peripherals, then toggles a GPIO pin in
|
||||
/// an infinite loop. If there is an LED connected to that pin, it will blink.
|
||||
#[entry]
|
||||
#[rp2040_hal::entry]
|
||||
fn main() -> ! {
|
||||
// Grab our singleton objects
|
||||
let mut pac = pac::Peripherals::take().unwrap();
|
||||
|
|
|
@ -9,9 +9,6 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
// The macro for our start-up function
|
||||
use cortex_m_rt::entry;
|
||||
|
||||
// Ensure we halt the program on panic (if we don't mention this crate it won't
|
||||
// be linked)
|
||||
use panic_halt as _;
|
||||
|
@ -39,12 +36,12 @@ const XTAL_FREQ_HZ: u32 = 12_000_000u32;
|
|||
|
||||
/// Entry point to our bare-metal application.
|
||||
///
|
||||
/// The `#[entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables are initialised.
|
||||
/// The `#[rp2040_hal::entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables and the spinlock are initialised.
|
||||
///
|
||||
/// The function configures the RP2040 peripherals, then performs a single I²C
|
||||
/// write to a fixed address.
|
||||
#[entry]
|
||||
#[rp2040_hal::entry]
|
||||
fn main() -> ! {
|
||||
let mut pac = pac::Peripherals::take().unwrap();
|
||||
|
||||
|
|
|
@ -12,9 +12,6 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
// The macro for our start-up function
|
||||
use cortex_m_rt::entry;
|
||||
|
||||
// Ensure we halt the program on panic (if we don't mention this crate it won't
|
||||
// be linked)
|
||||
use panic_halt as _;
|
||||
|
@ -45,12 +42,12 @@ const XTAL_FREQ_HZ: u32 = 12_000_000u32;
|
|||
|
||||
/// Entry point to our bare-metal application.
|
||||
///
|
||||
/// The `#[entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables are initialised.
|
||||
/// The `#[rp2040_hal::entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables and the spinlock are initialised.
|
||||
///
|
||||
/// The function configures the RP2040 peripherals, writes to the LCD, then goes
|
||||
/// to sleep.
|
||||
#[entry]
|
||||
#[rp2040_hal::entry]
|
||||
fn main() -> ! {
|
||||
// Grab our singleton objects
|
||||
let mut pac = pac::Peripherals::take().unwrap();
|
||||
|
|
|
@ -12,9 +12,6 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
// The macro for our start-up function
|
||||
use cortex_m_rt::entry;
|
||||
|
||||
use embedded_time::fixed_point::FixedPoint;
|
||||
use hal::clocks::Clock;
|
||||
use hal::multicore::{Multicore, Stack};
|
||||
|
@ -83,12 +80,12 @@ fn core1_task(sys_freq: u32) -> ! {
|
|||
|
||||
/// Entry point to our bare-metal application.
|
||||
///
|
||||
/// The `#[entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables are initialised.
|
||||
/// The `#[rp2040_hal::entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables and the spinlock are initialised.
|
||||
///
|
||||
/// The function configures the RP2040 peripherals, then toggles a GPIO pin in
|
||||
/// an infinite loop. If there is an LED connected to that pin, it will blink.
|
||||
#[entry]
|
||||
#[rp2040_hal::entry]
|
||||
fn main() -> ! {
|
||||
// Grab our singleton objects
|
||||
let mut pac = pac::Peripherals::take().unwrap();
|
||||
|
|
|
@ -9,8 +9,6 @@
|
|||
#![no_main]
|
||||
|
||||
use cortex_m::delay::Delay;
|
||||
// The macro for our start-up function
|
||||
use cortex_m_rt::entry;
|
||||
|
||||
use embedded_time::fixed_point::FixedPoint;
|
||||
use hal::clocks::Clock;
|
||||
|
@ -64,9 +62,9 @@ static mut CORE1_STACK: Stack<4096> = Stack::new();
|
|||
|
||||
/// Entry point to our bare-metal application.
|
||||
///
|
||||
/// The `#[entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables are initialised.
|
||||
#[entry]
|
||||
/// The `#[rp2040_hal::entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables and the spinlock are initialised.
|
||||
#[rp2040_hal::entry]
|
||||
fn main() -> ! {
|
||||
// Grab our singleton objects
|
||||
let mut pac = pac::Peripherals::take().unwrap();
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
use cortex_m_rt::entry;
|
||||
use hal::gpio::{FunctionPio0, Pin};
|
||||
use hal::pac;
|
||||
use hal::pio::PIOExt;
|
||||
|
@ -16,7 +15,13 @@ use rp2040_hal as hal;
|
|||
#[used]
|
||||
pub static BOOT2: [u8; 256] = rp2040_boot2::BOOT_LOADER_GENERIC_03H;
|
||||
|
||||
#[entry]
|
||||
/// Entry point to our bare-metal application.
|
||||
///
|
||||
/// The `#[rp2040_hal::entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables and the spinlock are initialised.
|
||||
///
|
||||
/// The function configures the RP2040 peripherals, then blinks an LED using the PIO peripheral.
|
||||
#[rp2040_hal::entry]
|
||||
fn main() -> ! {
|
||||
let mut pac = pac::Peripherals::take().unwrap();
|
||||
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
use cortex_m_rt::entry;
|
||||
use hal::gpio::{FunctionPio0, Pin};
|
||||
use hal::pac;
|
||||
use hal::pio::PIOExt;
|
||||
|
@ -16,7 +15,11 @@ use rp2040_hal as hal;
|
|||
#[used]
|
||||
pub static BOOT2: [u8; 256] = rp2040_boot2::BOOT_LOADER_GENERIC_03H;
|
||||
|
||||
#[entry]
|
||||
/// Entry point to our bare-metal application.
|
||||
///
|
||||
/// The `#[rp2040_hal::entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables and the spinlock are initialised.
|
||||
#[rp2040_hal::entry]
|
||||
fn main() -> ! {
|
||||
let mut pac = pac::Peripherals::take().unwrap();
|
||||
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
use cortex_m_rt::entry;
|
||||
use hal::gpio::{FunctionPio0, Pin};
|
||||
use hal::pac;
|
||||
use hal::pio::PIOExt;
|
||||
|
@ -18,7 +17,11 @@ use rp2040_hal as hal;
|
|||
#[used]
|
||||
pub static BOOT2: [u8; 256] = rp2040_boot2::BOOT_LOADER_GENERIC_03H;
|
||||
|
||||
#[entry]
|
||||
/// Entry point to our bare-metal application.
|
||||
///
|
||||
/// The `#[rp2040_hal::entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables and the spinlock are initialised.
|
||||
#[rp2040_hal::entry]
|
||||
fn main() -> ! {
|
||||
let mut pac = pac::Peripherals::take().unwrap();
|
||||
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
use cortex_m_rt::entry;
|
||||
use hal::gpio::{FunctionPio0, Pin};
|
||||
use hal::pac;
|
||||
use hal::pio::PIOExt;
|
||||
|
@ -18,7 +17,11 @@ use rp2040_hal as hal;
|
|||
#[used]
|
||||
pub static BOOT2: [u8; 256] = rp2040_boot2::BOOT_LOADER_GENERIC_03H;
|
||||
|
||||
#[entry]
|
||||
/// Entry point to our bare-metal application.
|
||||
///
|
||||
/// The `#[rp2040_hal::entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables and the spinlock are initialised.
|
||||
#[rp2040_hal::entry]
|
||||
fn main() -> ! {
|
||||
let mut pac = pac::Peripherals::take().unwrap();
|
||||
|
||||
|
|
|
@ -10,9 +10,6 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
// The macro for our start-up function
|
||||
use cortex_m_rt::entry;
|
||||
|
||||
// Ensure we halt the program on panic (if we don't mention this crate it won't
|
||||
// be linked)
|
||||
use panic_halt as _;
|
||||
|
@ -47,12 +44,12 @@ const XTAL_FREQ_HZ: u32 = 12_000_000u32;
|
|||
|
||||
/// Entry point to our bare-metal application.
|
||||
///
|
||||
/// The `#[entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables are initialised.
|
||||
/// The `#[rp2040_hal::entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables and the spinlock are initialised.
|
||||
///
|
||||
/// The function configures the RP2040 peripherals, then fades the LED in an
|
||||
/// infinite loop.
|
||||
#[entry]
|
||||
#[rp2040_hal::entry]
|
||||
fn main() -> ! {
|
||||
// Grab our singleton objects
|
||||
let mut pac = pac::Peripherals::take().unwrap();
|
||||
|
|
|
@ -9,9 +9,6 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
// The macro for our start-up function
|
||||
use cortex_m_rt::entry;
|
||||
|
||||
// Ensure we halt the program on panic (if we don't mention this crate it won't
|
||||
// be linked)
|
||||
use panic_halt as _;
|
||||
|
@ -43,12 +40,12 @@ const SYSTICK_RELOAD: u32 = 0x00FF_FFFF;
|
|||
|
||||
/// Entry point to our bare-metal application.
|
||||
///
|
||||
/// The `#[entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables are initialised.
|
||||
/// The `#[rp2040_hal::entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables and the spinlock are initialised.
|
||||
///
|
||||
/// The function configures the RP2040 peripherals, then writes to the UART in
|
||||
/// an infinite loop.
|
||||
#[entry]
|
||||
#[rp2040_hal::entry]
|
||||
fn main() -> ! {
|
||||
// Grab our singleton objects
|
||||
let mut pac = pac::Peripherals::take().unwrap();
|
||||
|
|
|
@ -12,9 +12,6 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
// The macro for our start-up function
|
||||
use cortex_m_rt::entry;
|
||||
|
||||
// Ensure we halt the program on panic (if we don't mention this crate it won't
|
||||
// be linked)
|
||||
use panic_halt as _;
|
||||
|
@ -43,12 +40,12 @@ const XTAL_FREQ_HZ: u32 = 12_000_000u32;
|
|||
|
||||
/// Entry point to our bare-metal application.
|
||||
///
|
||||
/// The `#[entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables are initialised.
|
||||
/// The `#[rp2040_hal::entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables and the spinlock are initialised.
|
||||
///
|
||||
/// The function configures the RP2040 peripherals, then performs some example
|
||||
/// SPI transactions, then goes to sleep.
|
||||
#[entry]
|
||||
#[rp2040_hal::entry]
|
||||
fn main() -> ! {
|
||||
// Grab our singleton objects
|
||||
let mut pac = pac::Peripherals::take().unwrap();
|
||||
|
|
|
@ -11,9 +11,6 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
// The macro for our start-up function
|
||||
use cortex_m_rt::entry;
|
||||
|
||||
// Ensure we halt the program on panic (if we don't mention this crate it won't
|
||||
// be linked)
|
||||
use panic_halt as _;
|
||||
|
@ -42,12 +39,12 @@ const XTAL_FREQ_HZ: u32 = 12_000_000u32;
|
|||
|
||||
/// Entry point to our bare-metal application.
|
||||
///
|
||||
/// The `#[entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables are initialised.
|
||||
/// The `#[rp2040_hal::entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables and the spinlock are initialised.
|
||||
///
|
||||
/// The function configures the RP2040 peripherals, then writes to the UART in
|
||||
/// an infinite loop.
|
||||
#[entry]
|
||||
#[rp2040_hal::entry]
|
||||
fn main() -> ! {
|
||||
// Grab our singleton objects
|
||||
let mut pac = pac::Peripherals::take().unwrap();
|
||||
|
|
|
@ -9,9 +9,6 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
// The macro for our start-up function
|
||||
use cortex_m_rt::entry;
|
||||
|
||||
// Ensure we halt the program on panic
|
||||
use panic_halt as _;
|
||||
|
||||
|
@ -60,12 +57,12 @@ const XTAL_FREQ_HZ: u32 = 12_000_000u32;
|
|||
|
||||
/// Entry point to our bare-metal application.
|
||||
///
|
||||
/// The `#[entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables are initialised.
|
||||
/// The `#[rp2040_hal::entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables and the spinlock are initialised.
|
||||
///
|
||||
/// The function configures the RP2040 peripherals, then toggles a GPIO pin in
|
||||
/// an infinite loop. If there is an LED connected to that pin, it will blink.
|
||||
#[entry]
|
||||
#[rp2040_hal::entry]
|
||||
fn main() -> ! {
|
||||
// Grab our singleton objects
|
||||
let mut pac = pac::Peripherals::take().unwrap();
|
||||
|
|
|
@ -9,9 +9,6 @@
|
|||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
// The macro for our start-up function
|
||||
use cortex_m_rt::entry;
|
||||
|
||||
// Ensure we halt the program on panic (if we don't mention this crate it won't
|
||||
// be linked)
|
||||
use panic_halt as _;
|
||||
|
@ -42,13 +39,13 @@ const XTAL_FREQ_HZ: u32 = 12_000_000u32;
|
|||
|
||||
/// Entry point to our bare-metal application.
|
||||
///
|
||||
/// The `#[entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables are initialised.
|
||||
/// The `#[rp2040_hal::entry]` macro ensures the Cortex-M start-up code calls this function
|
||||
/// as soon as all global variables and the spinlock are initialised.
|
||||
///
|
||||
/// The function configures the RP2040 peripherals, then toggles a GPIO pin in
|
||||
/// an infinite loop. After a period of time, the watchdog will kick in to reset
|
||||
/// the CPU.
|
||||
#[entry]
|
||||
#[rp2040_hal::entry]
|
||||
fn main() -> ! {
|
||||
// Grab our singleton objects
|
||||
let mut pac = pac::Peripherals::take().unwrap();
|
||||
|
|
Loading…
Reference in a new issue