targets: Add target for host builds

Change-Id: Iabeccd6238279d983ec5566fde102cbb30975f40
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/kudzu/+/172352
Reviewed-by: Armando Montanez <amontanez@google.com>
Reviewed-by: Anthony DiGirolamo <tonymd@google.com>
5 files changed
tree: 6c13f975078e1079b42cfc98f4aa4e833c7666a9
  1. applications/
  2. build_overrides/
  3. pcb/
  4. targets/
  5. third_party/
  6. tools/
  7. .gitignore
  8. .gitmodules
  9. .gn
  10. activate.bat
  11. banner.txt
  12. bootstrap.bat
  13. bootstrap.sh
  14. BUILD.gn
  15. BUILDCONFIG.gn
  16. OWNERS
  17. pigweed.json
  18. README.md
README.md

Kudzu

Compile:

pw build

Run:

Host Build

Run either of the host build apps:

./out/gn/host_debug/obj/applications/terminal_display/bin/terminal_demo
./out/gn/host_debug/obj/applications/32blit_demo/bin/32blit_demo

Flash a RP2040:

picotool reboot -f -u
sleep 3
picotool load -x ./out/gn/rp2040/obj/applications/terminal_display/terminal_demo.uf2
picotool reboot -f -u
sleep 3
picotool load -x ./out/gn/rp2040/obj/applications/32blit_demo/32blit_demo.uf2

Linux Setup

Udev Rules:

Put the following into /usr/lib/udev/rules.d/49-picoprobe.rules

# Pico app mode
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="000a", MODE:="0666"
KERNEL=="ttyACM*", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="000a", MODE:="0666", SYMLINK+="rp2040"

# RP2 Boot
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="0003", MODE:="0666"
KERNEL=="ttyACM*", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="0003", MODE:="0666", SYMLINK+="rp2040"

# Picoprobe
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="0004", MODE:="0666"
KERNEL=="ttyACM*", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="0004", MODE:="0666", SYMLINK+="picoprobe"

This will also symlink /dev/picoprobe and /dev/rp2040 to the respective vendor and product ids.

Apply the above rules with:

sudo udevadm control --reload-rules
sudo udevadm trigger