It isn't really difficult. But it can be a real pain and it's not hard to brick the Blackfin boot firmware.
In many cases, doing so won't generally "fix" anything. I flashed the button firmware on my G20 v2, bricked it the first time as a step was missing from the instructions, but it goes into a recovery mode so it can be reflashed using the "right" process with the simple step that wasn't listed in the process and restore it. lol But changing the firmware didn't help or improve anything for me.
If you boot with the diag key it will list the current dynamic button firmware, which is BFDB008E but earlier versions generally work just fine. BFB files are the Blackfin "boot bios" and BFB files are the button firmware files.
Is your G20 a v2 where the control board has a yellow handle and easily slides out? There are two flash files, one is the Blackfin boot chip, and one for dynamic buttons.
With a v2 board with the yellow handle on the control board. Both chips are on that board. The Blackfin bios is the "OS" for the Blackfin board itself. On a v2 control board with the yellow handle, the same control board works on G20's and G23's, the latest Blackfin boot bios is BFB00005, and there is an 8 pin removable 8 pin chip is right in the center of a v2 board that has the Blackfin boot bios. The latest and recommended button firmware is a small embedded flash chip on the v2 control board as far as I know which isn't removable. But both "can" be flashed via USB.
In my own vain attempt to upgrade. I first bricked the firmware, messing up the buttons entirely and making them unusable. But eventually found a simple step that was required to "enable" flashing of the bios that wasn't documented. Then I flashed a different version successfully to fix it again. But ended up just going back to the BFDB008E button firmware that was on it originally. Learned how to do it right, but that's about it.
You will need a Win7 laptop. Older software called the IGT Downloader tool. That also requires manually loading the drivers on the Win7 laptop to communicate with the control board over USB. And the flash files. You just unplug the power plug to your brainbox as you don't want it to boot. But need power from the cabinet to the controller board. And you connect the square USB port on the AVP control board to your Win7 laptop USB port. Then you can verify it's able to connect properly and can see what bios version is on the Blackfin board (it "might" be displayed if you boot with the diag in one of the menus), I can't recall offhand, and also the current button firmware. Then you know you "can" flash both from your Win7 laptop. In most cases the Blackfin boot bios must be BFB00005 or BFB0004 first if it isn't already before you actually flash the button firmware.
I keep an old Win7 laptop around just for slot stuff as the few apps for WMS and AVP as you can't run a newer OS than Win7 to run the IGT downloader tool.
In the end I could have just left my machine with the same bios as it was already and saved a lot of time and hassles.
Why are you wanting to flash the button firmware?

Do you know what button firmware is on there now from the diag key menus? In most cases you'll have a version that's already the best for your machine and button deck.