Skip to content

Commit 4e6aacf

Browse files
committed
Updated README to RP2040
1 parent 3bb7e4f commit 4e6aacf

File tree

1 file changed

+17
-35
lines changed

1 file changed

+17
-35
lines changed

README.md

Lines changed: 17 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
| dev |
66
|:------:|
7-
|[![CircleCI](https://circleci.com/gh/apertus-open-source-cinema/AXIOM-Remote/tree/dev.svg?style=svg)](https://circleci.com/gh/apertus-open-source-cinema/AXIOM-Remote/tree/dev)|
7+
[![Build, Test, and Deploy](https://github.com/apertus-open-source-cinema/AXIOM-Remote/actions/workflows/firmware-build.yml/badge.svg)](https://github.com/apertus-open-source-cinema/AXIOM-Remote/actions/workflows/firmware-build.yml)
88
|[![codecov](https://codecov.io/gh/apertus-open-source-cinema/AXIOM-Remote/branch/dev/graph/badge.svg)](https://codecov.io/gh/apertus-open-source-cinema/AXIOM-Remote)
99

1010
## Preview (3D)
@@ -26,9 +26,9 @@ for details see: LICENSE.txt
2626

2727
```/Archive/``` contains old outdated projects related to the AXIOM Remote.
2828

29-
```/AXIOM_Remote_Firmware_Visualizer/``` contains the AXIOM Remote Visualizer - a tool to emulate the actual code running on the PIC32 and pixels displayed on the 320x240 LCD on a PC.
29+
```/AXIOM_Remote_Firmware_Visualizer/``` contains the AXIOM Remote Visualizer - a tool to emulate the actual code running on the RP2040 and pixels displayed on the 320x240 LCD on a PC.
3030

31-
```/Bootloader/``` The Bootloader will be used for handling of periphery (LCD, USB-UART, I2C) and updating the firmware of the main PIC32 and also the east and west PIC16s (key managers) without a dedicated programming hardware.
31+
```/Bootloader/``` The Bootloader will be used for handling of periphery (LCD, USB-UART, I2C) and updating the firmware.
3232

3333
```/Common/``` contains general code and definition that are used in several projects in this repository.
3434

@@ -42,11 +42,11 @@ for details see: LICENSE.txt
4242

4343
## Build instructions
4444

45-
### Fetch the Microchip XC32/XC32++ compiler for your OS
45+
### Setup RP2040 Build Environment
4646

47-
[https://www.microchip.com/mplab/compilers](https://www.microchip.com/mplab/compilers). We have tested the code up to compiler version 3.0.
47+
Before building, you need to set up the Raspberry Pi Pico SDK and toolchain. Please follow the official guide for your operating system: [https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf](https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf)
4848

49-
To be able to build, the variable **XC32_PATH** in the Makefile of firmware and bootloader has to be adjusted to the actual install path of XC32.
49+
Ensure the `PICO_SDK_PATH` environment variable is set correctly.
5050

5151
### Bootloader
5252

@@ -57,35 +57,19 @@ To be able to build, the variable **XC32_PATH** in the Makefile of firmware and
5757

5858
### Firmware
5959

60-
- Open **Firmware** folder in terminal
61-
- Execute **make** or when rebuilding **make clean && make**
62-
- **HEX** and **ELF** files would placed in the **build** folder
60+
- Open the **Firmware** folder in a terminal.
61+
- Create a build directory: `mkdir build`
62+
- Change into the build directory: `cd build`
63+
- Run CMake: `cmake ..`
64+
- Run Make: `make`
65+
- The build output, including the `axiom_remote.uf2` file, will be in the `build` folder.
6366

6467
## Flash instructions
6568

66-
Note that with the current hardware the PICKit2 needs to stay connected for normal operation even when flashing has been completed as the PICkit2 pulls down the RESET signal.
67-
68-
### IPE
69-
70-
- Open IPE and connect to your PICKit3 or later, drag and drop the HEX file into the IPE window
71-
- Click **Program**, after a moment it should be finished and main menu with 6 buttons shown
72-
73-
### pic32prog
74-
75-
- Acquire binary or build from source from: <https://github.com/sergev/pic32prog> to flash with PICKit2
76-
- run **pic32prog yourfile.hex** and you should see a progress bar of the flashing/verification process
77-
78-
If ```pic32prog``` only works with ```sudo``` add your user to the plugdev group and add the following udev rule to /etc/udev/rules.d/26-microchip.rules (create file if it does not exist) and reboot:
79-
80-
```
81-
ATTR{idVendor}=="04d8", MODE="664", GROUP="plugdev"
82-
```
83-
84-
The idVendor should be looked up with ```lsusb```, in case of the PICkit2 it looks like this:
85-
86-
```
87-
Bus 003 Device 002: ID 04d8:0033 Microchip Technology, Inc. PICkit2
88-
```
69+
- Connect the AXIOM Remote to your computer via USB while holding down the `BOOTSEL` button on the RP2040 board.
70+
- It will mount as a mass storage device named `RPI-RP2`.
71+
- Drag and drop the `Firmware/build/Axiom_Remote_Firmware.uf2` file onto the `RPI-RP2` volume.
72+
- The board will automatically reboot and run the new firmware.
8973

9074
## Development Environment
9175

@@ -94,7 +78,6 @@ This means its important to open the root folder of this repo in VS code.
9478

9579
We recommend installing the VsCode Action Buttons extension: <https://marketplace.visualstudio.com/items?itemName=seunlanlege.action-buttons> and configurations (.vscode/settings.json) to add buttons to compile and flash the AXIOM Remote.
9680

97-
9881
### Developing inside Docker container
9982

10083
To avoid the need to install all the required and helpful tools, you can also use a Docker container we provide for development. Follow the steps to set it up in VSCode:
@@ -107,8 +90,7 @@ Remote container button | Remote container dialog
10790
:-------------------------:|:-------------------------:
10891
![](Docs/Remote_container_button.png) | ![](Docs/Remote_container_reopen.png)
10992
- Use the terminal in VSCode for builds, like you've did on your machine before
110-
- **minicom** and **pic32prog** are already included, if required
111-
93+
- **minicom** is already included for serial debugging, if required.
11294

11395
## Coding Guidelines ##
11496

0 commit comments

Comments
 (0)