You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+37-46Lines changed: 37 additions & 46 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -82,65 +82,56 @@ Currently the BIOS uses Core 0 for running the Neotron OS (and application code)
82
82
83
83
The Neotron BIOS uses the [defmt](https://crates.io/crates/defmt) crate to provide structured logging over the SWD interface. The easiest way to flash and debug your Neotron Pico BIOS is with a second Raspberry Pi Pico, or the official Raspberry Pi Debug Probe.
84
84
85
-
1. If your BMC has not been programmed, do that first.
85
+
1. If your BMC has not been programmed, [do that first](https://github.com/Neotron-Compute/Neotron-BMC/blob/v0.5.2/neotron-bmc-pico/README.md).
86
86
87
-
2. Connect your *Debugger* Pico to the three *DEBUG* pins on the *Neotron* Pico, following the instructions for your particular debugging device or firmware.
87
+
1. Connect your *Debug Probe*to the three *DEBUG* pins on the *Raspberry Pi Pico* fitted to your Neotron Pico, following the instructions for your particular debugging device or firmware.
88
88
89
-
3. If your *Debugger* Pico was a bare Pi Pico (and not a Debug Probe) then flash it with <https://github.com/raspberrypi/picoprobe> or <https://github.com/majbthrd/DapperMime> firmware (e.g. by copying the UF2 file to the USB Mass Storage device)
89
+
1. On your PC, install the [*probe-rs*](https://github.com/probe-rs), a microcontroller flashing tool. See website for instructions.
90
90
91
-
4. On your PC, install [*probe-rs*](https://github.com/probe-rs), a microcontroller flashing tool.
91
+
1. Power on your Neotron Pico into bootloader mode by applying 12V, holding down
92
+
the "BOOTSEL" button on the Raspberry Pi Pico and then and tapping the On/Off
93
+
button on the Neotron.
92
94
93
-
```sh
94
-
cargo install probe-rs --features=cli
95
-
```
95
+
If you don't put the Raspberry Pi Pico into bootloader mode then when
96
+
`probe-rs` resets the chip after programming, the firmware will detect it has
97
+
had an incomplete reset and cause a full reset. This makes the video output
98
+
more reliable, but the full reset will immediately disconnect `probe-rs` so
99
+
you won't see any log messages. Booting the RP2040 in USB bootloader mode
100
+
avoids this issue by making the `probe-rs` triggered reset look more like a
101
+
full reset.
96
102
97
-
5. Build the Neotron OS:
98
-
We use the "neotron-flash-1002.ld" linker script to link it at `0x1002_0000`.
You should see your Neotron Pico boot, both over RTT in the `probe-rs` output, and also on the VGA output.
111
+
1. You can download the `neotron-pico-bios.elf` file from [Github
112
+
Releases](https://github.com/Neotron-Compute/Neotron-Pico-BIOS/releases) and
113
+
flash with `probe-rs`:
114
+
115
+
```bash
116
+
probe-rs run --chip RP2040 ~/Downloads/neotron-pico-bios
117
+
```
118
+
119
+
1. You can download the `neotron-pico-bios.uf2` file from [Github
120
+
Releases](https://github.com/Neotron-Compute/Neotron-Pico-BIOS/releases) and
121
+
flash by copying to the RP2040 bootloader's fake USB Mass Storage Device. You will need to connect a USB cable to the Raspberry Pi Pico's external USB micro-AB port, and ensure that the USB Host Power jumper near the 12V input is NOT fitted.
122
+
123
+
1. Now when you reset your board, you will see the BIOS splash screen on any
124
+
connected VGA display and some start-up tones on any connected PC Speaker. No
125
+
OS will be booted, as we haven't flashed the OS yet. Grab a compatible OS
126
+
release from <https://github.com/Neotron-Compute/Neotron-OS/releases>. You
127
+
need the `flash1002` variant for the Neotron Pico, because the BIOS expects
128
+
the OS to live in flash at address `0x1002_0000`.
137
129
138
130
## Multiple Probes
139
131
140
132
If you have multiple `probe-rs` compatible probes attached to your computer,
141
133
you will receive an error message.
142
134
143
-
144
135
You will need to check what probes are available and edit `.cargo/config.toml` to add the appropriate `--probe VID:PID` argument.
145
136
146
137
```console
@@ -165,7 +156,7 @@ See [CHANGELOG.md](./CHANGELOG.md)
165
156
## Licence
166
157
167
158
```text
168
-
Neotron-Pico-BIOS Copyright (c) Jonathan 'theJPster' Pallant and the Neotron Developers, 2023
159
+
Neotron-Pico-BIOS Copyright (c) Jonathan 'theJPster' Pallant and the Neotron Developers, 2024
169
160
170
161
This program is free software: you can redistribute it and/or modify
171
162
it under the terms of the GNU General Public License as published by
0 commit comments