Skip to content

Commit 703c7b4

Browse files
authored
Merge pull request #21 from albertskog/main
Fix #19 - add step for memory.x
2 parents b131e11 + 34ac080 commit 703c7b4

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

README.md

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ In `.cargo/config.toml`, pick the right compilation target for your board.
7878
+target = "thumbv7em-none-eabihf" # Cortex-M4F (with FPU)
7979
```
8080

81-
### 4. Add a HAL as a dependency
81+
#### 4. Add a HAL as a dependency
8282

8383
In `Cargo.toml`, list the Hardware Abstraction Layer (HAL) for your board as a dependency.
8484

@@ -95,15 +95,26 @@ For the nRF52840 you'll want to use the [`nrf52840-hal`].
9595

9696
#### 5. Import your HAL
9797

98-
Now that you have selected a HAL fix the HAL import in `src/lib.rs`
98+
Now that you have selected a HAL, fix the HAL import in `src/lib.rs`
9999

100100
``` diff
101101
// my-app/src/lib.rs
102102
-// use some_hal as _; // memory layout
103103
+use nrf52840_hal as _; // memory layout
104104
```
105105

106-
#### 6. run!
106+
#### (6. Get a linker script)
107+
108+
Some HAL crates require that you manually copy over a file called `memory.x` from the HAL to the root of your project. For nrf52840-hal, this is done automatically so no action is needed. For other HAL crates, you can get it from your local Cargo folder, the default location is under:
109+
110+
```
111+
~/.cargo/registry/src/
112+
```
113+
114+
Not all HALs provide a memory.x file, you may need to write it yourself. Check the documentation for the HAL you are using.
115+
116+
117+
#### 7. Run!
107118

108119
You are now all set to `cargo-run` your first `defmt`-powered application!
109120
There are some examples in the `src/bin` directory.

0 commit comments

Comments
 (0)