Orchard Firmware Developer's Guide
Orchard Firmware Developer's Guide
For the sake of convenience, Orchard firmware development, including compilation, flashing, and manufacturing provisioning is all done with a single tool: A Raspberry Pi.
Recommended tools:
- Raspberry Pi 2 Model B with 8 GB microSD card
- Firmware image: Raspberry pi Orchard development SD disk image
- A Linux machine to write the initial firmware image out
- Jumper cables, 5-wire (for SWD) and 2-wire (for UART)
Quickstart
1. Download the RPi firmware image (~2.5GiB). 2. Image the downloaded firmware onto an SD card using the following Linux command:
zcat orchard-pi-dev.img.gz | sudo dd of=/dev/sdX bs=1M # for SD cards mounted via USB adapters
or
zcat orchard-pi-dev.img.gz | sudo dd of=/dev/mmcblkX bs=1M # for machines with directly accessible SD cards
Note that /dev/sdX is the device node of the SD card as mounted on your Linux system. If you don't know what we're talking about, be careful, because if you pick the wrong /dev/sdX node you'll end up destroying your local system boot disk.
3. Insert card into RPi and boot. 4. Figure out the IP address of the RPi and ssh into it.
- Here's a guide to figuring out your IP address
- One method is to access the local router configuration page and query the DHCP client list and look for the rasperrypi client. This works if you're in a home environment where you have access to the local DHCP server
- If you don't have access to that, you can plug in an HDMI monitor and keyboard and find the IP address using ifconfig
- A final method is to use nmap to scan for the IP address
- Another solution is to use zeroconf. The image provided runs zeroconf and if your local system supports that. Linux users should install avahi-dnsconfd. Windows users will need to install bonjour printing services. If you have zeroconf, you should be able to run
ssh pi@raspberrypi.local
And the system will automatically find it (assuming it's the only Pi on the network, additional Pi's get a hyphenated numeral after the raspberrypi name)