Prototype VI - Booting Linux !!
There has been much progress since my last post. In fact, I am a little late with this posting. Prototype VI has been booting Linux for about three weeks now. The biggest breakthrough came when we were able to get ethernet working over the powerline modem (Intellon). This allowed us to boot Linux without having to spend hours downloading the kernel to flash via JTAG.
All the peripheral devices are now working except Insteon and the amplifier.
Here is a list of what is working:
- CPU.
- Flash.
- RAM.
- Serial.
- Intellon.
- USB, SDCard, IR.
- Power.
Of course, we have had the CPU working ever since we got UBoot to work. However, by getting Linux to boot we have been able to work the CPU like a real computer. We have convinced ourselves that it is up and running fine. We had a few problems keeping it running, however. The more stuff we turned on in the kernel, the more power the entire board required and it overwhelmed our little power regulators. This would cause the CPU to reset. See the Power section below for how we 'fixed' this (for now).
Also, Flash memory has been working ever since we got UBoot to work. Linux doesn't really use it for much. Instead of making a file system in Flash, we mounted a root file system over the net on our lab computer.
RAM worked pretty much the first time. There was some work getting it configured right when we made UBoot work. After that, Linux was able to fine RAM and use it.
Again, this has been working since we got UBoot working. Now it displays the startup messages and boot prompt for Linux.
This was a big win. Initially, I wasn't supplying power to the INT1200. It can supply 2.5V for itself using an external switch. The layout was wrong for the switches I bought so the chip was not getting any power. I did a little surgery on the board and was able to get power to the chip. Once that was done, Jon provided a little program that I copied into Flash using JTAG that could download the Intellon firmware to the chip.
With that done, I used a 'cut-up' AC power cord to plug our board into a power strip (see the cord coming off the upper left of our board). That power strip was plugged into an 60Hz AC generator. That generator provides a pretty clean 120V 60Hz AC signal. I also plugged a NetGear XE103 into the power strip and then plugged that modem into my router. When this experiment was setup, we powered up the board and let it get to the UBoot prompt.
At the UBoot prompt, we run the program Jon provided to download the Intellon firmware into the Intellon chip. Once complete, I could see that the NetGear modem detected our modem on the powerline when its blue light turned on. That was a good sign. I then ran a boot command at the UBoot prompt that used tftp to get the kernel image and device tree from the lab computer. This worked! At the end of the download, the boot command instructed UBoot to boot the image that was copied into memory. This also worked!
Once Linux was up it was a pretty simple matter to get the other devices to work. Jon and I spent some time modifying the device tree definition and making a few lite changes to the kernel. The USB, SD Card and IR devices are now working.
Power was a problem throughout the process. The regulators I used were just too small. Even though they were rated for the current I needed for the board (about 1.3A at 5V), they would get too hot because they were just under their current limit (1.5A). So, I finally bought some bigger regulators (Linear LT1529-3.3) and did some more surgery on the board. They were bigger than the old parts but they just barely fit with a little push :). You can see the big regulator in the middle of the board near the top.
- tylerjbrooks's blog
- Login or register to post comments