diff --git a/docs/Embedded Programming.md b/docs/Embedded Programming.md index 0aadd728b36e42d18797e2fa442a64ad45e343c8..190d62b8d25db96c65a27efeaee8bb09ddb10fc2 100644 --- a/docs/Embedded Programming.md +++ b/docs/Embedded Programming.md @@ -14,7 +14,7 @@ This week is about learning how to program a microcontroller. 1. Understanding a Datasheet --- -For Electronics Design, I modified the hello.ftdi.44 board by adding a pushbutton and an led. This board uses the Attiny44A, so I chose the same datasheet to understand it better. +For Electronics Design, I [modified the hello.ftdi.44 board](./Electronics Design.md) by adding a pushbutton and an led. This board uses the Attiny44A, so I chose the same datasheet to understand it better. The datasheet is available on the Atmel site. The document contains the main features of the MCU, the pinout diagram, architecture overview, register summary, assembly instruction set and packaging information, and describes the microcontroller features in detail. @@ -44,7 +44,27 @@ The first three chapters - pin configurations, overview and general information, 2. Comparing the performance and development workflows for different microcontroller families --- -Next task is to program the board you have made to do something, with as many different programming languages and programming environments as possible. +Next task is to program the board you have made to do something, with as many different programming languages and programming environments as possible. + +Some different architectures: +1. CPU architecture - [t44 series](https://www.microchip.com/en-us/product/ATTINY44) uses ISP programmer, t412 series uses UPDI programmer / serial pyupdi.py +2. [SAMD11 series](https://www.microchip.com/en-us/product/ATSAMD11C14) uses JTAG programmer with ARM core / USB +3. [ESP8266 series + ESP32](https://www.espressif.com/en/products/socs) series use Tensilica 32-bit +4. BBC microbit - ARM core / serial FTDI/USB +5. Raspberry Pi - broadcom system / serial USB +Pi Pico - ARM + +Here is how a development workflow generally is: + + +Comparing basic features of different microcontrollers: + + +This helps while selecting the appropriate MCU for particular tasks depending on the features, communication protocols, inputs and outputs. + +Different environments possible for an attiny88/84: + +In the next sections I will use different workflows for programming the hello board based on t44 I made in [Electronics Design week](./Electronics Design.md). 3. Programming with FabISP + Arduino IDE --- @@ -141,7 +161,7 @@ Also, the pin numbers are recognised by their ports PB# instead of pin #. 5. Programming with Atmel Studio --- -can't in mac. will do this later on a windows system... +Can't in mac. will do this later on a windows system... 5. References diff --git a/docs/images/empro/comparing1.jpg b/docs/images/empro/comparing1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8ae090e1f3b84b3c300b047bd825973a6d7c80b6 Binary files /dev/null and b/docs/images/empro/comparing1.jpg differ diff --git a/docs/images/empro/comparing2.jpg b/docs/images/empro/comparing2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7e021fb243fe7fc1df0843d1ee8eb7d5a77f92fb Binary files /dev/null and b/docs/images/empro/comparing2.jpg differ diff --git a/docs/images/empro/features.jpg b/docs/images/empro/features.jpg index 4da20b63fd91e7e3424e049536721f4e73ebc83b..fa8f12404e263a17d4c033686eb3c2c3bdb2b3ec 100644 Binary files a/docs/images/empro/features.jpg and b/docs/images/empro/features.jpg differ diff --git a/docs/images/empro/pinout.jpg b/docs/images/empro/pinout.jpg index 3cc48fd152691ec941db50e37ede933e241f0dc3..753f658aaf35aee1951010a01c8d2eb82558acc9 100644 Binary files a/docs/images/empro/pinout.jpg and b/docs/images/empro/pinout.jpg differ diff --git a/docs/images/empro/workflow.jpg b/docs/images/empro/workflow.jpg new file mode 100644 index 0000000000000000000000000000000000000000..85277d3582720b56108163552a458eb01e78671e Binary files /dev/null and b/docs/images/empro/workflow.jpg differ