Adivce on hardware for x86_64 bare metal development

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
winksaville
Posts: 2
Joined: Sun Nov 15, 2015 11:06 am

Adivce on hardware for x86_64 bare metal development

Post 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
User avatar
Kazinsal
Member
Member
Posts: 559
Joined: Wed Jul 13, 2011 7:38 pm
Libera.chat IRC: Kazinsal
Location: Vancouver
Contact:

Re: Adivce on hardware for x86_64 bare metal development

Post by Kazinsal »

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.
User avatar
iansjack
Member
Member
Posts: 4706
Joined: Sat Mar 31, 2012 3:07 am
Location: Chichester, UK

Re: Adivce on hardware for x86_64 bare metal development

Post 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.
User avatar
Kazinsal
Member
Member
Posts: 559
Joined: Wed Jul 13, 2011 7:38 pm
Libera.chat IRC: Kazinsal
Location: Vancouver
Contact:

Re: Adivce on hardware for x86_64 bare metal development

Post by Kazinsal »

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.
winksaville
Posts: 2
Joined: Sun Nov 15, 2015 11:06 am

Re: Adivce on hardware for x86_64 bare metal development

Post 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
Post Reply