Skip to content

Commit

Permalink
Update README.md to reflect v0.3 changes
Browse files Browse the repository at this point in the history
  • Loading branch information
mcknly committed Oct 31, 2024
1 parent cb0e717 commit bdd6b84
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ BreadboardOS is built on top of FreeRTOS, enabling fast integration of new funct

The central component of BBOS is the fantastic [microshell](https://microshell.pl/) project, which provides CLI functionality. Currently, a [fork](https://github.com/mcknly/microshell) of microshell is used, which includes some additional customization. The CLI implementation is organized into POSIX-style folders/files providing a recognizable user-interface for interacting with MCU hardware.

As of the first release, BBOS is implemented on a single MCU platform - the Raspberry Pi RP2040 (Pico, Pico W, etc). However, the project has been structured such that all hardware-specific code resides in a single directory, with a header file providing HAL functionality. The platform was built with porting in mind.
As of the v0.3 release, BBOS is implemented on a single MCU family - the Raspberry Pi RP2xxx (Pico, Pico W, Pico2, etc). However, the project has been structured such that all hardware-specific code resides in a single directory, with a header file providing HAL functionality. The platform was built with porting in mind.

### _Notable Features_

Expand All @@ -35,6 +35,7 @@ As of the first release, BBOS is implemented on a single MCU platform - the Rasp
- Selective peripheral hardware initialization routines
- Interacting with chip I/O and serial buses directly from command line
- Watchdog service for system failsafe recovery
- Command history using arrows or ctrl-a/ctrl-z

### _Demo_

Expand All @@ -58,6 +59,8 @@ Ensure that the environment variables `$FREERTOS_KERNEL_PATH` and `$PICO_SDK_PAT

It is suggested to add these commands to the user's `~/.profile`, `~/.bashrc`, etc depending on the system.

**NOTE for RP2350**: As of 10/2024, official FreeRTOS has not yet merged in support for RP2350. Rasberry Pi's [fork](https://github.com/raspberrypi/FreeRTOS-Kernel) must be used. Further, there is a [bug](https://forums.raspberrypi.com/viewtopic.php?p=2253073#p2253073) in the Pico SDK, use the `develop` branch to incorporate the fix. Hopefully these changes will be merged upstream soon.

### Setting up BreadboardOS

- Clone the repository: `git clone https://github.com/mcknly/breadboard-os.git`
Expand All @@ -76,10 +79,10 @@ set(PROJ_VER "0.0")
set(CLI_IFACE 0)
# MCU PLATFORM - set the MCU platform being used (i.e. the subdir in 'hardware/')
set(PLATFORM rp2040)
set(PLATFORM rp2xxx)
# BOARD - set the board being used (i.e. 'pico', 'pico_w', etc)
set(BOARD pico)
# BOARD - set the board being used (platform-specific prebuild.cmake contains more information about boards)
set(BOARD pico2)
```

Using CLI over USB requires no additional hardware; using CLI over UART will require a USB-UART adapter (i.e. FTDI FT232 or SiLabs CP2102). Using CLI/UART enables some additional early boot status prints.
Expand Down

0 comments on commit bdd6b84

Please sign in to comment.