Page 1 of 1

Adivce on hardware for x86_64 bare metal development

Posted: Mon Dec 21, 2015 10:52 am
by winksaville
I'd like to have a serial port for debug and most importantly I'd
like a board with Ethernet NIC which is well documented. Ideally I'm
thinking an Intel 82540em (aka e1000) NIC as this is what's
supported on qemu, which I'm also using for development. But
if people are aware of other chipsets that are well documented
that would be great too.

Thanks in advance,

Wink

Re: Adivce on hardware for x86_64 bare metal development

Posted: Mon Dec 21, 2015 4:18 pm
by araxestroy
A lot of motherboards still have serial port headers (usually labeled COM) on them. They're nine-pin connectors generally shaped in a 5x2 pin block. If you have a serial port header on your motherboard, you might be able to then get an expansion card bracket that has a single RS-232 port on it and a cable leading to a matching connector for the board. Of course, depending on your location, it may actually be less expensive to buy a decent USB UART.

I believe most of Intel's NICs are well-documented by Intel. They have a good track record of just dumping the documentation they write for their hardware into the open. We don't have much in the way of info on it on the wiki, but the whole 410-page programmer's manual for the 8254x series NICs can be found at Intel's site here. If you're looking for a really quick and easy NIC to get up and running, the Realtek RTL8139 is an incredibly simple and common PCI 100Base-TX card that can be emulated in qemu.

Re: Adivce on hardware for x86_64 bare metal development

Posted: Mon Dec 21, 2015 4:50 pm
by iansjack
Kazinsal wrote:Of course, depending on your location, it may actually be less expensive to buy a decent USB UART.
That will require USB support in your OS, and also a driver for the USB serial card, which is something of a complication. Simpler by far just to buy an add-on serial card. The same goes for the NIC; just buy a suitable card if necessary.

Re: Adivce on hardware for x86_64 bare metal development

Posted: Mon Dec 21, 2015 4:55 pm
by araxestroy
iansjack wrote:
Kazinsal wrote:Of course, depending on your location, it may actually be less expensive to buy a decent USB UART.
That will require USB support in your OS, and also a driver for the USB serial card, which is something of a complication. Simpler by far just to buy an add-on serial card. The same goes for the NIC; just buy a suitable card if necessary.
Ah, I was thinking for the host machine, in case you need to connect a host machine to a test machine via RS-232.

Re: Adivce on hardware for x86_64 bare metal development

Posted: Tue Dec 22, 2015 11:02 am
by winksaville
Kazinsal wrote:A lot of motherboards still have serial port headers (usually labeled COM) on them. They're nine-pin connectors generally shaped in a 5x2 pin block. If you have a serial port header on your motherboard, you might be able to then get an expansion card bracket that has a single RS-232 port on it and a cable leading to a matching connector for the board. Of course, depending on your location, it may actually be less expensive to buy a decent USB UART.

I believe most of Intel's NICs are well-documented by Intel. They have a good track record of just dumping the documentation they write for their hardware into the open. We don't have much in the way of info on it on the wiki, but the whole 410-page programmer's manual for the 8254x series NICs can be found at Intel's site here. If you're looking for a really quick and easy NIC to get up and running, the Realtek RTL8139 is an incredibly simple and common PCI 100Base-TX card that can be emulated in qemu.
The RTL8139 looks like a good place to start on the qemu side. Looking at MB's maybe MSI B85M-E45 might work as its got one 3.3v PCI slot, an internal serial port connection and at $63 its cheap. And it looks like TP-Link 3239 has an RTL8139 according to the user guide so I'll see if

Thanks,

Wink