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
This BIOS will run on the [Neotron Pico]v0.5.0. Other boards based around the
15
-
Raspberry Pi Pico could be supported with just a minor change to the pin
16
-
configurations.
14
+
This BIOS will run on the [Neotron Pico]v1.0.0 and v1.1.0. Other boards based
15
+
around the Raspberry Pi Pico could be supported with just a minor change to the
16
+
pin configurations.
17
17
18
-
## Features
18
+
## Hardware Features
19
19
20
-
The Neotron Pico offers:
20
+
The Neotron Pico PCB offers:
21
21
22
-
* Dual Cortex-M0+ clocked at 133 MHz
22
+
* Dual Cortex-M0+ clocked at ~~133 MHz~~ 151.2 MHz
23
23
* 256 KiB RAM
24
24
* 2048 KiB Flash
25
25
* SD/MMC Slot
26
-
*4096-colour VGA output
27
-
* Stereo 16-bit 48kHz audio
26
+
*640x480 VGA output
27
+
* Stereo 16-bit 48 kHz audio
28
28
* Four Neotron expansion slots
29
29
* A dedicated Board Management Controller, offering:
30
30
* Dual PS/2 ports
31
-
* 5-wire TTL UART
31
+
* 5-wire 3.3V TTL UART
32
32
* Power/reset control
33
33
34
-
Currently the BIOS only uses a single core, and starts the OS on the same core.
35
-
Later versions may move some functionality onto the second core (e.g. screen
36
-
updates) for performance reasons.
34
+
## Software Features
35
+
36
+
Currently the BIOS uses Core 0 for running the Neotron OS (and application code), and Core 1 for updating the video display and performing 80-column colour text rendering in real-time.
37
+
38
+
*[x] 640x480 @ 60 Hz text mode
39
+
*[x] 80 columns, 60 rows, 8x8 font
40
+
*[x] 80 columns, 30 rows, 8x16 font
41
+
*[x] 16 foreground and 8 background colours
42
+
*[x] Fixed font
43
+
*[ ] Loadable soft-font
44
+
*[x] 640x400 @ 70 Hz text mode
45
+
*[x] 80 columns, 50 rows, 8x8 font
46
+
*[x] 80 columns, 25 rows, 8x16 font
47
+
*[x] 16 foreground and 8 background colours
48
+
*[x] Fixed font
49
+
*[ ] Loadable soft-font
50
+
*[ ] 640x480 @ 60 Hz graphics mode
51
+
*[ ] 1-bpp mode (2 colours) in 38 KiB
52
+
*[ ] 2-bpp mode (4 colours) in 75 KiB
53
+
*[ ] 4-bpp mode (4 colours) in 150 KiB
54
+
*[ ] 320x240 @ 60 Hz grapics mode
55
+
*[ ] 1-bpp mode (2 colours) in 10 KiB
56
+
*[ ] 2-bpp mode (4 colours) in 19 KiB
57
+
*[ ] 4-bpp mode (4 colours) in 38 KiB
58
+
*[ ] 8-bpp mode (8 colours) in 75 KiB
59
+
*[x] SPI Bus
60
+
*[x] I2C Bus
61
+
*[x] SPI I/O Expander for Chip Selects and LEDs
62
+
*[x] External Interrupts
63
+
*[x] SD Card support
64
+
*[x] Read/write 512 byte blocks
65
+
*[x] Insert/remove detection
66
+
*[x] Communications with the BMC
67
+
*[x] Reading from a PS/2 keyboard
68
+
*[x] Sending beeps/boops to the PC Speaker
69
+
*[ ] Writing to the PS/2 keyboard
70
+
*[ ] Reading/writing to/from the PS/2 mouse
71
+
*[ ] UART support
72
+
*[ ] Second I2C Bus support
73
+
*[ ] Volatage monitoring
74
+
*[ ] Soft-power
75
+
*[ ] Soft-reset
76
+
*[x] Dallas or Microchip RTC support
77
+
*[ ] Audio CODEC mixer programming
78
+
*[ ] I2S Audio Output
79
+
*[ ] I2S Audio Input
37
80
38
81
## Programming
39
82
40
-
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.
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.
41
84
42
-
1. Connect your *Debugger* Pico to the *Neotron* Pico:
43
-
* connect Pin 3 on the *Debugger* Pico to GND on the *Neotron* Pico
44
-
* connect Pin 4 on the *Debugger* Pico to SWCLK on the *Neotron* Pico
45
-
* connect Pin 5 on the *Debugger* Pico to SWDIO on the *Neotron* Pico
46
-
* connect USB on the *Debugger* Pico to your PC
85
+
1. If your BMC has not been programmed, do that first.
47
86
48
-
2.Flash your *Debugger* Pico 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)
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.
49
88
50
-
3.On your PC, install [*probe-run*](https://github.com/knurling-rs/probe-run), the programming tool from [Ferrous System's](https://www.ferrous-systems.com)[Knurling Project](https://github.com/knurling).
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)
51
90
52
-
We are temporarily stuck at 0.3.6 as 0.3.7 is broken and 0.3.8 doesn't support the RP2040. A 0.3.9 should be along shortly, but the logging binary format has changed, and we currently pin ourselves to a 0.3.6 compatible version.
91
+
4. On your PC, install [*probe-run*](https://github.com/knurling-rs/probe-run), the programming tool from [Ferrous System's](https://www.ferrous-systems.com)[Knurling Project](https://github.com/knurling).
53
92
54
-
```sh
55
-
cargo install probe-run --version=0.3.6
56
-
```
93
+
```sh
94
+
cargo install probe-run
95
+
```
57
96
58
-
4. Power on your Neotron Pico.
97
+
5. Build the Neotron OS:
98
+
We use the "neotron-flash-1002.ld" linker script to link it at `0x1002_0000`.
0 commit comments