... Looking at my device, i can see the baudrate=115200 command from the bootloader image - and can see baudrate=19200 in both of my environment partitions, and i know these contain a crc check. Apparently the bootloader itself does not?
I've changed environment variables by directly editing the image and never had problems. This applies to the bootloader, you can set baudrate, change the timeout, and I don't remember what, and it always worked for me.
I don't understand at all what you are doing. You can write everything directly from Linux, using dd with maximum rights. You know how to set 19200. If it doesn't work, then you can figure it out. But first you need to copy the image. Then, before writing a new one, compare visually, usually this is enough. If it stops starting at all, then I would unsolder the nor flash and conduct temporary experiments with the flash in a familiar case. Perhaps I would use JTAG if I had everything configured. Perhaps the chip has a bootrom and it is easier to use.
Well I can confirm that editing the parameters through editing the binary worked no worries.
I was able to change the default environment baudrate to 19200 and flash it back in.
My goal here was to get the device onto a production firmware, or at least operating system, so that I would be able to program the device (HMI) with Codesys. Having the production firmware would mean I would have the accompanying codesys library to allow programming.
Since doing that, I built up courage and modified the binary of the production v2.2.2.1, chaning baudrate to be 19200, and flashed it.
Device now has some messages come up on the console at 115.2kbps and uboot doesn't appear.
Next steps - play around with the opamp circuit to get back to 115.2kbps, and then work on rectifying the problem with the new bootloader (unlikely), or, work on getting the old binary reloaded (jtag?)