I am curious why there is no "fallback code" for CPU firmware. Like, if the bios cant determine your CPU because you need a firmware update, it could run in a fallback mode that all CPUs for the socket would support that would allow you to boot into the BIOS to do an update. Seems it would make this a lot easier to fix.
Because it is the other way around. CPUs execute code, they don't store it. Now, in theory, if you designed the architecture of the CPU to support a 'standard' code that allowed them to run just enough to update the motherboard to the 'full' code, that might work - but you would essentially need to dedicate die real estate to having a 'mini-CPU' inside of the actual CPU, that only a fraction of user would ever utilize - and then only for a few minutes.
ASUS' Flashback is a much better and more workable option.
I agree that the ASUS option is one of the best.
CPUs do execute code; however, subsequent generations of CPUs typically add instructions that supplement the set of instructions available to prior generation CPUs. The newer generations of CPUs still support all of the instructions of the prior generations. This means that a fallback mode is possible without taking die space for a dedicated "fallback CPU mode". In fact, that fallback mode is built into the CPU without AMD doing anything special.
If you want the instruction set of the new CPU to be fully supported, then you need the new BIOS. A MB BIOS typically only looks for a CPU identifier. If they see a known identifier, then they allow the board to run with the new CPU. If they do not see that identifier, then they have the capability to fall back to a sort of "safe mode" where they will run in a fashion that is safe WRT voltages, etc, for the CPU - if the MB maker designs the MB to do so.
So how can I say this? Because I went through it before. I bought a prior generation MB with a next generation CPU. I was aware of this issue, and I knew there were MBs out there that did not support the CPU without the BIOS update first. So, I contacted a MB maker and asked them whether their MB would boot without the requisite update that was required to fully enable the MB for the new CPU. They said it would. So I bought the MB and the CPU and it worked as advertised, then I updated the BIOS.
This brings me to the fact, at least as I see it, that AMD is taking flak for this is bogus. It is the MB makers who should be taking flak for this since almost all BIOS are engineered to work specifically with that motherboard by the MB maker. I'll speculate that some MB makers WANT to sell new MBs and could care less whether their AM4 MB supports subsequent generations of AM4 compatible parts if it sells new MBs for them - and I expect that this is part of the reason ASUS charges a premium for the ability to flash without a CPU installed. I'll go so far as to speculate that some MB makers specifically engineer their MBs not to boot without the BIOS recognizing the CPUID so that they will sell new MBs.
As I see it, AMD is playing the hero in this by providing the update kits, and I would expect that there are certain MB makers out there that do not like this practice because it keeps them from selling MBs. This is a business world and capitalism reigns meaning selling stuff is the way capitalism procreates, and some companies out there do not care how they line their pockets with the money of their customers as long as they do. However, my experience is that there are some companies that care about their customers because they know that if they treat their customers well, they are likely to keep coming back.
Another course AMD could take is to require that there be a fallback mode, but this would not be in the spirit of their recently announced policy of transparency and pledge of no control over how and where manufacturers use their parts unlike other "chip makers."
So, I would suggest this to anyone contemplating buying a next gen CPU with a prior gen MB. Contact the tech support for the MB before you buy it and ask them if that particular MB will boot with the new CPU without a BIOS update. Though tech support could be clueless or worse, lie, my bet is that they will tell the truth because doing so is good customer relations and treating their customers well means that those same customers may buy from them again in the future.