How-to: Bus Pirate bootloader v4 upgrade

See the latest version in the documentation wiki.

Bus Pirate firmware v4+ requires a bootloader upgrade. The upgrade frees space for more features, eliminates verify errors in the last page of memory, and fixes the bootloader speed limitation on some PICs. The new bootloader is available to everyone through an upgrader firmware that is loaded using the existing bootloader.

Thanks to the developers and testers who contributed to the bootloader update. You caught two major bugs prior to wider user trials. We’re now cautiously optimistic that the upgrade will go smoothly.

We’d like to invite most Bus Pirate v2go and v3 users to upgrade. If you’re in the middle of a project, don’t upgrade yet, wait and see how it goes. The upgrade has gone smoothly for twenty lots of users, and we tested the latest updater on every version of the Bus Pirate chip and hardware prior to release.

A v1a upgrade will follow if the v2go and v3 deployment goes smoothly. No further support is planned for v0a or v2a hardware. Upgrade instructions follow.

Overview

What we’re going to do is use the existing v2 bootloader and P24QP.exe application (or Python script) to upload a bootloader upgrader. The upgrader will erase and reprogram the correct parts of the PIC flash memory with the new bootloader. After the new bootloader is programmed, we’ll erase the installer and old bootloader by uploading a v4 Bus Pirate firmware.

***STOP*** DO NOT UPLOAD A V4 FIRMWARE TO A V2 BOOTLOADER WITH P24QP.PY!!! The Python utility erases the entire chip, including the ‘configuration words’ that determine how the pic behaves on start-up. The v4 firmware does not contain replacement configuration words, so the Bus Pirate won’t start from the correct clock after programming a v4 firmware to a v2 bootloader with p24qp.py. Only Upload v2 firmware or BPv3-v2blupdaterVa3-v4.1.hex with P24QP.PY.

The Windows utility does not have this issue – it preserves the config words on erase – so accidental v4 uploads don’t damage the configuration words.

Despite this warning, some will still be tempted – don’t do it, it’s the only significant source of upgrade failures. Read all the steps here first, before you upgrade. Heed the warnings in the firmware archives – please don’t try to upload v4 firmware to a Bus Pirate with a v2 bootloader.

Step 1. Download the upgrade package for v2go & v3

The upgrade package (v4.1-va3) includes:

  • Bootloader updater (BPv3-v2blupdaterVa3-v4.1.hex)
  • V4 Bus Pirate firmware compatible with the new bootloader (BPv3-firmware-v4.1.hex)
  • Application for v2 bootloader (P24QP.exe or P24qp.py)
  • Application for v4 bootloader (ds30Loader.exe)

Note that Bus Pirate v2go and v3 now use the same bootloader and firmware. Do not use this upgrade with v2a, v1a, or va.

Step 2. Load the bootloader upgrader

Page 1 of 3 | Next page