What is GHI Bootloader?

The much-anticipated sequel to my earlier question “What is TinyBooter?” (a.k.a Episode IV: A New Question) comes Episode V: The Question Strikes Back . . . .

So if TinyBooter loads the CLR, what does the GHI Bootloader do?

It loads TinyBooter or TinyCLR when there is no TB.

Hmmm, so if a managed application has been deployed to the G120, and the module is subsequently turned on, is this the sequence of events:

GHI Bootloader loads TinyBooter --> TinyBooter loads TinyCLR --> TinyCLR runs managed application?

You got it

Thanks Gus and Architect, almost there!

What I’m ultimately trying to figure out is the purpose of the LDR0 and LDR1 pins on the G120.

If LDR0 and LDR1 are both Low, this accesses the GHI Bootloader. But what does that mean, exactly? I notice these need to be Low when updating firmware on the Cobra II for example.

If LDR0 is High and LDR1 is Low, this accesses TinyBooter. Again, what does that mean? Under what conditions would you configure the pins this way?

At some point in near future, you do not need to update tinybooter. It will be locked.

You need GHI loader to recover the device in case of deep failures.

Do the pins essentially control which bootloader gets overwritten/updated?

For example, set LDR0 and LDR1 Low to update the GHI Bootloader? Or is it more accurate to say that by setting these pins Low, you are executing a special part of the GHI Bootloader which allows you to manage the device at a low level? This is in addition to the GHI Bootloader’s usual job of loading TinyBooter when LDR1 is high on power-up?

Likewise, by setting LDR0 High and LDR1 Low, does that mean you want to replace TinyBooter with a different version?

Nevermind. I think I just answered my own question. Looks like the EMX User Manual has a very good explanation of the boot sequence.