Tag Archives: pi pico

ARM Assembly on the Pi Pico: Stack attack

This time round, I’ll wrap up my coverage of the key ARMv6-M Thumb instructions and mnemonics that you can use to command the Raspberry Pi RP2040. There are not many instructions left that were not covered in parts one and two, and I won’t be including all the remaining mnemonics, only those you’re likely to use frequently.

Continue reading

Arm Assembly on the Pi Pico: Mnemonics #2

A number of the Cortex-M0+ Thumb ops I covered last time update the core’s Program Status Register (PSR) based on the outcome of the operation. The ops that do so have an S appended to their mnemonics and they only work with the core’s ‘low’ registers, R0-7.

Continue reading

ARM Assembly on the Pi Pico: Mnemonics #1

Last time, I covered the basics of doing ARM assembly programming on the Raspberry Pi Pico’s RP2040 microcontroller. Now it’s time to get to grips with the dozens of instructions to which the RP2040’s Cortex-M0+ cores respond.

ARM assembly instructions for the Raspberry Pi Pico's RP2040 chip
Continue reading

Get Started with ARM Assembly on the Pi Pico

When I got my first microcomputer, I already knew Basic programming. My machine had a different Basic dialect from the one I’d learned at school, and there was a stack of graphics and sound functionality to get to grips with too, but it wasn’t long before I felt I’d mastered the high-level stuff and that it was time to move on to machine code. That’s how I’ve come to feel about the Raspberry Pi Pico’s RP2040 chip. The time’s right to learn ARM assembly programming on the Pico.

The Raspberry Pi RP2040 chip
Continue reading

Fun with FreeRTOS and the Pi Pico: timers

I made use of FreeRTOS’ timer functionality in the most recent post in this series, but I didn’t go into detail because the post was focused on other features. It’s time to address that deficiency. Today I’m talking about timers.

Continue reading

Fun with FreeRTOS and the Pi Pico: interrupts, semaphores and notifications

One of the reasons why an embedded application developer might choose to build their code on top of a real-time operating system like FreeRTOS is to emphasise the event-driven nature of the application. For “events” read data coming in on a serial link or from an I²C peripheral, or a signal to a GPIO from a sensor that a certain threshold has been exceeded. These events are typically announced by interrupting whatever job the host microcontroller is engaged upon, so interrupts are what I’ve chosen to examine next in my exploration of FreeRTOS on the Raspberry Pi RP2040 chip.

Continue reading

Phantom Slayer’s spooks get a shot of smarts

Phantom Slayer, the 1982 computer game I’ve restored on the Raspberry Pi Pico, has been updated to version 1.0.1 to give the titular spectres some extra smarts as they navigate the game maze in pursuit of the player.

Phantom Slayer's (slightly) smarter spooks
The Phantoms: certainly smarter — also more scary?
Continue reading

Hail to the Acorn Atom, the Pi Pico predecessor from 1980

If the Raspberry Pi is the BBC Micro de nos jours then the Pi Pico is perhaps the spiritual successor to that earlier Acorn micro: the Atom. So in homage to that ground-breaking pre-Beeb cased computer, here’s the latest offering from Smittytone’s Retro T-Shirt Store.

Atomic apparel
Continue reading