unusual bare metal target: Amazon Dash

Laeeth Isharc via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Aug 17 18:32:10 PDT 2015


I don't know whether D can run on one, but from a quick look 
perhaps feasible.  Running D on something like this (perhaps it's 
underpowered, but looked to have similar spec to what people had 
been doing with related ARM cortex processors) would certainly 
make the point very vivid that it can be a bare metal programming 
language.

Only 1Mb of flash RAM for the program - is that enough?

https://learn.adafruit.com/dash-hacking-bare-metal-stm32-programming/programming
https://learn.adafruit.com/dash-hacking-bare-metal-stm32-programming/overview

The Amazon Dash button is a tiny device that orders products from 
Amazon.com at the press of a button.  It's designed to be put 
wherever you store consumeables like paper towels, trash bags, 
etc. so that you can easily order more when they run out.  The 
Dash is great at what it's designed to do, but did you know 
inside the Dash is a powerful ARM Cortex-M3 processor and WiFi 
module that are very similar to wireless development boards like 
the Particle Photon?  You'll even find there are easily 
accessible test pads on the Dash which allow you to reprogram its 
CPU and turn it into your own $5 internet button!  This guide 
will explore how to take apart the Dash and reprogram its CPU to 
run your own code.
...
The CPU is a STM32F205RG6 processor which is an ARM Cortex-M3 
that can run up to 120mhz and has 128 kilobytes of RAM and 1 
megabyte of flash memory for program storage.
The WiFi module is a BCM943362 module which in combination with 
the CPU make it a platform for Broadcom's WICED SDK.
There's a 16 megabit SPI flash ROM which is typically used in 
conjunction with the WICED SDK for storing application data.
An ADMP441 microphone is connected to the CPU and used by the 
Dash iOS application to configure the device using the speaker on 
a phone/tablet.
There's a single RGB LED and a button.



More information about the Digitalmars-d-learn mailing list