Skip to content

Commit

Permalink
Runs on the Pico 2.
Browse files Browse the repository at this point in the history
Tested showing 640x480@4bpp images and running the neotracker with DAMAGE.MOD.
  • Loading branch information
thejpster committed Dec 30, 2024
1 parent fe6a548 commit e670477
Show file tree
Hide file tree
Showing 9 changed files with 162 additions and 105 deletions.
10 changes: 4 additions & 6 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
[target.thumbv6m-none-eabi]
# This will make a UF2 and copy it to the RP2040's Mass Storage Device bootloader
# runner = "elf2uf2-rs -d"
# This will flash over SWD with any compatible probe it finds.
runner = "probe-rs run --chip RP2040 --speed 10000"
[target.thumbv8m.main-none-eabihf]
# This will load the binary with picotool
runner = "picotool load -v -u -x -t elf"
rustflags = [
# This is needed if your flash or ram addresses are not aligned to 0x10000 in memory.x
# See https://github.com/rust-embedded/cortex-m-quickstart/pull/95
Expand All @@ -16,7 +14,7 @@ rustflags = [
]

[build]
target = "thumbv6m-none-eabi" # Cortex-M0 and Cortex-M0+
target = "thumbv8m.main-none-eabihf" # Cortex-M33

[env]
DEFMT_LOG = { value = "info" }
14 changes: 7 additions & 7 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,15 @@ jobs:
run: |
rustup toolchain install stable --profile minimal --no-self-update
rustup default stable
rustup target add thumbv6m-none-eabi
rustup target add thumbv8m.main-none-eabihf
echo CARGO_INCREMENTAL=0 >> $GITHUB_ENV
echo CARGO_TERM_COLOR=always >> $GITHUB_ENV
- name: Build neotron-pico-bios
run: |
cargo build --release --verbose
mv ./target/thumbv6m-none-eabi/release/neotron-pico-bios ./target/thumbv6m-none-eabi/release/neotron-pico-bios.elf
elf2uf2-rs ./target/thumbv6m-none-eabi/release/neotron-pico-bios.elf
mv ./target/thumbv8m.main-none-eabihf/release/neotron-pico-bios ./target/thumbv8m.main-none-eabihf/release/neotron-pico-bios.elf
# elf2uf2-rs ./target/thumbv8m.main-none-eabihf/release/neotron-pico-bios.elf
- name: Upload Artifacts
uses: actions/upload-artifact@v4
Expand All @@ -41,15 +41,15 @@ jobs:
name: Artifacts
if-no-files-found: error
path: |
./target/thumbv6m-none-eabi/release/neotron-pico-bios.elf
./target/thumbv6m-none-eabi/release/neotron-pico-bios.uf2
./target/thumbv8m.main-none-eabihf/release/neotron-pico-bios.elf
./target/thumbv8m.main-none-eabihf/release/neotron-pico-bios.uf2
- name: Upload files to Release
if: github.event_name == 'push' && startswith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v1
with:
files: |
./target/thumbv6m-none-eabi/release/neotron-pico-bios.elf
./target/thumbv6m-none-eabi/release/neotron-pico-bios.uf2
./target/thumbv8m.main-none-eabihf/release/neotron-pico-bios.elf
./target/thumbv8m.main-none-eabihf/release/neotron-pico-bios.uf2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4 changes: 2 additions & 2 deletions .github/workflows/clippy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ jobs:
- name: Add targets/components
run: |
rustup component add clippy
rustup target add thumbv6m-none-eabi
rustup target add thumbv8m.main-none-eabihf
- name: Run Clippy
run: |
cargo clippy --target=thumbv6m-none-eabi --all-features
cargo clippy --target=thumbv8m.main-none-eabihf --all-features
2 changes: 1 addition & 1 deletion .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"coreConfigs": [
{
// Change this to the binary you want to debug
"programBinary": "${workspaceFolder}/target/thumbv6m-none-eabi/release/neotron-pico-bios",
"programBinary": "${workspaceFolder}/target/thumbv8m.main-none-eabihf/release/neotron-pico-bios",
"rttEnabled": true
}
],
Expand Down
123 changes: 74 additions & 49 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,7 @@ pc-keyboard = "0.7.0" # PS/2 scancode decoding
pio = "0.2.1" # RP2040 PIO assembler
pio-proc = "0.2" # Macros for RP2040 PIO assembler
portable-atomic = { version = "1.10.0", features = ["critical-section"] } # Atomic CAS for non-CAS CPUs
rp2040-boot2 = "0.3.0" # For the RP2040 bootloader
rp2040-hal = { version = "0.11", features = [ "defmt", "rt", "critical-section-impl", "rom-func-cache" ] } # The Raspberry Pi RP2040 HAL (so we can turn defmt on)
rp235x-hal = { version = "0.2", features = [ "defmt", "rt", "critical-section-impl", "rom-func-cache" ] } # The Raspberry Pi RP2350 HAL
shared-bus = "0.3.1" # I2C Bus Sharing
tlv320aic23 = "0.1.0" # CODEC register control

Expand Down
Loading

0 comments on commit e670477

Please sign in to comment.