Skip to content

Commit 07a8767

Browse files
Merge pull request #242 from ferrous-systems/move-startup-pause
Move start-up delay to after HAL clock init.
2 parents 1beff7f + 139ac4b commit 07a8767

File tree

3 files changed

+19
-13
lines changed

3 files changed

+19
-13
lines changed

exercise-book/src/nrf52-tools.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ cargo install cyme
119119
Install `probe-rs` 0.29.1 pre-compiled binaries on Linux with:
120120

121121
```bash
122-
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/download/v0.29.1/probe-rs-tools-installer.sh | sh
122+
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/download/v0.30.0/probe-rs-tools-installer.sh | sh
123123
```
124124

125125
---
@@ -195,7 +195,7 @@ cargo install cyme
195195
Install `probe-rs` 0.29.1 pre-compiled binaries on Windows with:
196196

197197
```bash
198-
powershell -c "irm https://github.com/probe-rs/probe-rs/releases/download/v0.29.1/probe-rs-tools-installer.ps1 | iex"
198+
powershell -c "irm https://github.com/probe-rs/probe-rs/releases/download/v0.30.0/probe-rs-tools-installer.ps1 | iex"
199199
```
200200

201201
---
@@ -244,7 +244,7 @@ cargo install cyme
244244
Install `probe-rs` 0.29.1 pre-compiled binaries on macOS with:
245245

246246
```bash
247-
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/download/v0.29.1/probe-rs-tools-installer.sh | sh
247+
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/download/v0.30.0/probe-rs-tools-installer.sh | sh
248248
```
249249

250250
---

nrf52-code/boards/dk-solution/src/lib.rs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -323,11 +323,6 @@ pub enum Error {
323323
///
324324
/// This return an `Err`or if called more than once
325325
pub fn init() -> Result<Board, Error> {
326-
// probe-rs puts us in blocking mode, so wait for blocking mode as a proxy
327-
// for waiting for probe-rs to connect.
328-
while !defmt_rtt::in_blocking_mode() {
329-
core::hint::spin_loop();
330-
}
331326
// NOTE: this branch runs at most once
332327
#[cfg(feature = "advanced")]
333328
static EP0IN_BUF: GroundedArrayCell<u8, 64> = GroundedArrayCell::const_init();
@@ -337,6 +332,14 @@ pub fn init() -> Result<Board, Error> {
337332
config.lfclk_source = hal::config::LfclkSource::ExternalXtal;
338333
let periph = hal::init(config);
339334

335+
// probe-rs puts us in blocking mode, so wait for blocking mode as a proxy
336+
// for waiting for probe-rs to connect.
337+
//
338+
// do this *after* clock set-up to avoid start-up issues
339+
while !defmt_rtt::in_blocking_mode() {
340+
core::hint::spin_loop();
341+
}
342+
340343
// NOTE: this branch runs at most once
341344

342345
let mut rtc = hal::rtc::Rtc::new(periph.RTC0, 0).unwrap();

nrf52-code/boards/dk/src/lib.rs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -295,11 +295,6 @@ pub enum Error {
295295
///
296296
/// This return an `Err`or if called more than once
297297
pub fn init() -> Result<Board, Error> {
298-
// probe-rs puts us in blocking mode, so wait for blocking mode as a proxy
299-
// for waiting for probe-rs to connect.
300-
while !defmt_rtt::in_blocking_mode() {
301-
core::hint::spin_loop();
302-
}
303298
// NOTE: this branch runs at most once
304299
#[cfg(feature = "advanced")]
305300
static EP0IN_BUF: GroundedArrayCell<u8, 64> = GroundedArrayCell::const_init();
@@ -309,6 +304,14 @@ pub fn init() -> Result<Board, Error> {
309304
config.lfclk_source = hal::config::LfclkSource::ExternalXtal;
310305
let periph = hal::init(config);
311306

307+
// probe-rs puts us in blocking mode, so wait for blocking mode as a proxy
308+
// for waiting for probe-rs to connect.
309+
//
310+
// do this *after* clock set-up to avoid start-up issues
311+
while !defmt_rtt::in_blocking_mode() {
312+
core::hint::spin_loop();
313+
}
314+
312315
// NOTE: this branch runs at most once
313316

314317
let mut rtc = hal::rtc::Rtc::new(periph.RTC0, 0).unwrap();

0 commit comments

Comments
 (0)