It seems everytime I power up the board, there is a new issue. This morning it was a loose wire wrap in the pullups. But later, I seemed to have the same problem. I have a wrap around a copper wire that is not connecting between the bare copper wire and the wrapping wire. So, time for some posts.

But, when it does work, it sort of works. I have a simple program that just outputs a string with puts and then uses gets in a loop. Of course, it doesn’t do the puts properly, but I see data moving between the SPI/GPIO CPLD and the MAX 3110E. So the UART driver code is getting executed. It’s just not configuring properly yet. I did fix a few bugs in the the GPIO and UART initialization. Just have to fix enough of the rest to get through this boot strapping phase.

A flash write takes about a minute for 4 driver modules, the main with the puts and gets, and the C library functions of only putchar, puts, getchar, and gets. So I’ll be happy to have the bank switching, flash programming, and intel hex capabilities.

Also, I applied what I learned about get the poorly documented toolchain from the linux virtual machine to my usual Windows environment and now it works without just sitting there error-messagelessly.

So it’s definite progress!