You can simply set the bootcmd variable to `bootm 80000000; bootm 820000000 '. If the first bootm fails (what happens if the CRC check fails), then the second will be executed. If the first succeeds, then the second will never get a chance to launch.
Uboot supports a scripting mechanism with constructs such as for and if, for example:
for part in ${partition_list} do if nfs ${loadaddr} ${nfs_update_prefix}.${part} echo Partition ${part} loaded at ${loadaddr}. echo Do something with it here. else echo Partition ${part} not found. fi done
source share