x86 Serial Loader

Feb 20, 2006 3 Replies

Hi Folks,



I am looking for source code (preferably C) for a serial loader (running on x86) that will execute straight after bootsector (i.e. pre-os). The intention is to load a file (i-rec) over a serial port and execute in RAM.



After hours of searching I can only find OS based serial code or reams of assembly (the back-up plan). Any non-OS serial code would be appreciated such as a simple terminal which I can adapt.



Best Regards



Are you using an embedded x86 controller or a stock motherboard? I'm unclear on how you're going to get your loader into ram in the first place.

If you code it up in assembly, you can probably get it into the boot sector of a floppy. I've done an X-modem CRC receiver in about 512 bytes. I know that you're looking for a existing solution, but what you're asking for will most likely be fairly customized to the hardware platform you're using. So you might want to just suck it up and write it yourself.

I could probably send you asm source for the X-modem CRC program I have.

Perhaps the link below can help you out, the debugger contains a very simple Intel hex bootloader,

formatting link

Hans

formatting link

Thanks for the response and I will certainly take a careful look at mon88.

The installation is on a COTS PC104 single board computer booting to on board flash. We have 64k available so size shouldn't be too much of a problem. The previous version of the board had this capability built in (somewhere in BIOS extensions I believe) but due to obsolecence we are forced down a different path ........ so much for drop-in replacement.

I have done this many times before on micro-controllers (such as H8S) but this is the first time on micro-processor. I am lead to believe there are 2 options for serial comms either via direct hardware addressing or BIOS calls. Which is easiest/best?

Best Regards

Kelvin

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required