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 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 …
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 …
It's been a while since my last update. What can I say... summer was nice.
But now, back to business! I've just committed some long overdue patches to the upstream GNU tools:
- Add a device tree blob to the gdb simulator. This lets us describe the gdb sim target to …
I've spent a lot of time in airports/planes/hotels recently, which is good news for the moxie linux port. It runs about 6.5M instructions, booting up to the point where a couple of kernel threads are created. However, a few context switches later it all comes tumbling down …
A few quick MoxieDev updates...
- The verilog output patch is in binutils
- The moxie ports for binutils, newlib, libgloss and gdb are all upstream. Waiting on sim and gcc reviews.
- The upstream qemu team have switched to git, so I've rebased MoxieDev's qemu against this new repository.
Also, I've been …
After a UART, one of the most useful and interesting peripherals you can add to a board is a Real Time Clock (RTC). Qemu comes with a simulation of Freescale's MC146818 RTC chip. Adding it to our qemu-defined board was as simple as....
rtc_mm_init(0x400, 0, 0, 0);
This …
Today we're introducing the notion of Board Support Packages (BSPs) to the moxie toolchain.
A BSP provides all of the configuration data and code requires to target a specific hardware platform. This mostly involves linker scripts, platform initialization code, and hardware abstraction support libraries.
Until recently the gdb sim was …
I've finally cracked the gdb+qemu puzzle, so now we can debug code running on the qemu moxie simulator!
The last little gotcha was that the simulated $pc wasn't being updated after single-stepping. This will get you nowhere fast! But it's all fixed now, and here's how it works...
$ qemu-system-moxie …
I made some progress on using moxie-elf-gdb with qemu the other day. Qemu has an integrated gdb stub, so GDB speaks to it via the remote protocol. It's still not quite there, but getting close. I'm anxious to get it working, as it's the last step before hacking on the …