Bring in the Pies!
For production, fast re-flashing and testing of each JeeNode Zero is going to be a must. This week’s episode will be about speeding up the uploads, but also several ways to debug and test any STM32...
View ArticleEvery possible connection
The Raspberry Pi does not really need an introduction: Linux plus some tinkering pins - who could possibly ask for more? It has all the features needed to create a flexible and powerful programming /...
View ArticleSetting up the Pi software
To turn the Raspberry Pi into a general-purpose uploader / debugger for ARM STM32 chips, we need to set up some software.First of all - the OS. DietPi is a very practical little distribution these...
View ArticleNo milk today...
Yikes. I’ve been felled by some bad stomach cramps and fever these past couple of days. Hence no articles this week - my apologies!The blog will resume next week, stay tuned.
View ArticleLet's try out the multi-tasker
There’s been a multi-tasker hiding in the Embello repository for some time now. It’s a small variation of the one provided as part of the Mecrisp distribution, also on GitHub.The multi-tasker lets us...
View ArticleKeeping busy (in Forth)
Serial ports, radio packets, I2C devices… it adds up when you’re trying to keep many activities going at once. Luckily, there are some nice packages for Mecrisp Forth to help with this…This week, I’m...
View ArticleSometimes, timers are easier
Multi-tasking is a great mechanism, but there is a drawback: each task needs its own stack. In the case of Forth, it’s even worse because each task needs both a return stack and a data stack.In its...
View ArticleStay busy, but also sleep a lot
One of the examples in the multi.fs code contains this little gem:: sleep ( -- ) [ $BF30 h, ] inline ; \ WFI Opcode, enters sleep mode task: lowpower-task : lowpower& ( -- ) lowpower-task activate...
View ArticleSD cards, interrupts, and DMA
This week is another potpourri of code for the STM32F103, the purpose of which will become clear next week… suspense!SD cards and µSD cards have a ridiculous amount of storage in a very small package....
View ArticleSD cards with FAT files
Those little plastic µSD-to-SD card adapters, of which you may have a bunch lying around since they are often included with new µSD cards, make excellent µSD card sockets:There are many libraries (in C...
View ArticleInterrupts, tamed at last
Before going into interrupts, why they’re needed, and why they are tricky, let’s first look into an example which does not use interrupts: writing a pass-through USB-to-serial application.Note that...
View ArticleTying SPI and DMA together
If you consider µCs to be incapable of any “serious” data handling, then you’ll be in for a treat.The following design was created for an upcoming project, which needs a fairly high-speed path for...
View ArticleEZ-Retro: system overview
The EZ-Retro project is about creating a Z80-compatible board capable of running CP/M and based on the eZ80F91 microcontroller from Zilog - it looks like they’re still in business, BTW!That’s “EZ” as...
View ArticleEZ-Retro is a Z80 running CP/M
And now something completely different!I’ve always been fascinated by those 8-bit computers that started it all. As a teenager, I spent many hours reading about them, but never could afford a Z80...
View ArticleA truly minimal eZ80 setup
To check that the eZ80 chip works, we only need to connect it to the Blue Pill with 6 wires:+3.3V and ground (the eZ80 runs at 3.3V, but it has 5V-tolerant I/O pins)a two-wire “Zilog Debug Interface”...
View ArticleMinimal requirements for CP/M
Even a minimal EZ-Retro setup is very powerful compared to CP/M systems of the 1970’s, costing thousands of dollars, drawing hundreds of Watts, and placed in Boring Bulky Boxes.So let’s start planning...
View ArticlePokeMon, the eZ80 monitor
Out of the factory, the eZ80 is totally ignorant: it comes with 256 KB of empty flash memory. This reads as $FF, which corresponds to the “RST 38h“ instruction, a one-byte call to address $0038 (mixed...
View ArticleEZ-Retro Z80 - part 2
Getting CP/M working on this two-chips-plus-a-blue-pill setup took more time than I thought, especially on the software side.This week, I’ll turn Forth into a peek-and-poke monitor for the eZ80,...
View ArticleBootstrapping CP/M via simh
The next step is actually more of a giant leap: building a working CP/M system from scratch…This can’t be done in one go. Let’s start as simply as possible - which is already pretty steep:decide how to...
View ArticleWe'll need a BIOS for CP/M
The minbios.z80 code used so far only has the minimal functionality needed to get CP/M off the ground. Well… slightly more, to be precise: it can see 256 KB of RAM as virtual disk A: and 256 KB of...
View Article