With this Amazon.com and 4 jumper wires I already had, I was able to program the firmware from a Raspberry Pi. The adapter in this Amazon kit is just a breakout board to go from tightly spaced pins to wider spaced pins, but I needed it given the jumpers I had on hand.
The CC debugger programmer hardware that zigbee2mqtt mentions on their website (https://www.zigbee2mqtt.io/getting_started/flashing_the_cc2531.html) seems more complicated than the Raspberry Pi route, to be honest. The only tricky part with the Pi was having the jumper wires and making sure you get the pins right on both the breakout board and the Pi. Luckily my first bad attempt didn't burn anything out. Once I had the parts, it took about 5 minutes - but this isn't my first time doing something like this.
If you're comfortable in Linux and have done some electronics, it's really simple.
Lengthy reply omitted in the interest of keeping this thread on topic.