Index ¦ Archives ¦ Atom ¦ RSS > Category: moxie ¦ Atom

Putting it together: on-chip firmware

The on-chip firmware for the Marin SoC has been updated with the gdb stub, so now when you program the FPGA, you'll see the following on the serial console:

MOXIE On-Chip Bootloader v2.0
Copyright (c) 2013 Anthony Green

Waiting for an S-Record Download or Remote GDB Connection...

...and the …


A Really Tiny GDB Remote Protocol Stub

I recently trimmed the Marin SoC's on-chip memory down to 4k. The existing firmware for downloading srecord programs into external RAM for execution was taking up about 2k. With 2k to spare, I was wondering if you could fit a GDB remote protocol stub in there as well. It turns …


Moxie on Altera's Cyclone II, and a Chance Encounter

I recently fired up the Altera software, Quartus II, and spent a little time porting the Marin SoC to the popular Cyclone II based DE2 board. There's no external memory support yet, but on-chip memory is working, and it looks like the on-chip bootloader is coming up properly. As usual …


QEMU 1.5 includes Moxie support

QEMU 1.5 was just released the other day, and in the "And much more..." category I'm happy to say that it includes Moxie support!

This release contains basic Moxie core support, with the imaginary "moxiesim" board support. I have some local changes that provide Marin SoC emulation, and can …


An On-Chip Bootloader

Good news: we can access external memory! The logic for my pseudo-static RAM controller is working, and big programs can finally run on hardware.

You may recall that I had previously only been accessing fake memory that was configured directly out of limited FPGA resources. I could squeeze a tiny …


And time ticks on...

The interrupt controller is working now, as is the timer and my exception handling firmware. So now I'm able to write a basic stop-watch application, where the 7-segment display simply increments the count every second. Yes, this sounds basic, but there's a lot of complexity under the hood! This is …


Moxie ports and hardware developments

It's been a while since my last update.. let me bring you up to speed.

A couple of libffi releases got in the way of moxie hacking (although libffi 3.0.13 now includes full moxie support!), but things are picking up speed again.

On the software side of things …


Native On-Chip GDB Remote Protocol Support

A typical software debug solution for an embedded systems might involve a JTAG connection to the board, and then some kind of protocol translation software that handles communication between GDB's remote serial protocol and the target JTAG port (see OpenOCD, for instance). The FPGA systems I'm working with include JTAG …


Running a C Program on the Marin SoC

I've just committed the bits required to run a C program on the Marin SoC.

Rather than hook up the Nexys3 external RAM module, I'm using extra space on the FPGA itself for RAM. Most of the hard work was sorting out the linker script magic required to generate an …


Moxie SoC Progress

Time for a quick update!

"Marin" is the name of my test SoC consisting of a wishbone wrapped 75Mhz big-endian MoxieLite bus master, along with two slave devices: embedded ROM and the Nexys3's 7-segment display. So, right now I can write some code into FPGA embedded ROM to manipulate the …

© Anthony Green. Built using Pelican. Theme by Giulio Fidente on github.