Embedded Systems Weekly #127
Tags: embedded
Published: 2022-11-20 10:44:26

Welcome to issue #127! I hope you all had a great week coding, designing and testing your projects. It is now the moment to read the selection of links that I put together for you.

**Happy reading!**

## ‟Sponsor
— [Luos Makes Embedded Device Firmware Updates Easy](https://www.luos.io/blog/a-flexible-embedded-bootloader)
The new Luos bootloader updates all boards without needing physical access to each of them. Now, it’s possible to update
firmware on many microcontroller units (MCU) without needing a specific bootloader for each different board. [Get Started →](https://www.luos.io/tutorials/get-started)


## Articles 
[The RS-232 protocol](https://youtu.be/AHYNxpqKqwo)
After months without tutorials, Ben Eater delivers a new video as good as all the previous ones. Pedagogically, it is of high quality.

[How to make sure no Dynamic Memory is used](https://mcuoneclipse.com/2022/11/06/how-to-make-sure-no-dynamic-memory-is-used/)
You know the drill to build a robust system: No dynamic memory allocation. This article gives you tips to configure your build in order to be sure that no malloc slipped into your final binary. As a bonus, you get a short introduction on how to use the linker cross reference.

[Writing Verilog code using Python with Migen.](https://www.controlpaths.com/2022/11/07/writing-verilog-code-using-python-with-migen/)
Following this article, you'll get your first module generated under 1 hour. In issue #91 I linked the [tool chain Amaranth HDL](https://embedsysweekly.com/embedded-systems-issue91/) an alternative to [Migen](https://m-labs.hk/gateware/migen/) for abstracting away standard HDL languages with Python. Check it out too.

[Boolean algebra for noobs: stack alignment](https://yurichev.org/bool2/)
A short but interesting article that explains why and how the assembly code generated is making a stack alignment.

[TinyCPM - CP/M on a Tiny 2040](https://www.kianryan.co.uk/2022-11-14-tiny-cpm/)
For the fans of [CP/M](https://en.wikipedia.org/wiki/CP/M) among us, this article will show you how to put together a CP/M based system so small that you can bring it with you everywhere all the time.

[The unusual bootstrap drivers inside the 8086 microprocessor chip](https://www.righto.com/2022/11/the-unusual-bootstrap-drivers-inside.html)
Ken Shirriff managed to pull out yet another article on something I didn't know about the 8086. Please tell me that I'm not the only one who didn't know about this bootstrap driver!

[Creating a pick and place control board with the RP204](https://blog.thea.codes/starfish-a-control-board-with-the-rp2040/)
No details are let in the dark in this article. Every aspect of the [pick and place](https://en.wikipedia.org/wiki/Pick-and-place_machine) control board is described clearly with nice illustrations. It is a really nice article to read.

[How 74HC595 Shift Register Works & Interface it with Arduino](https://lastminuteengineers.com/74hc595-shift-register-arduino-tutorial/)
This is a good introduction on why and how using shift registers.

## Tools / Libraries
[PRNF](https://github.com/mickjc750/prnf)
I'm keeping an eye on this lightweight tiny printf alternative. It is one year old and get a 1.0.0 release recently, but doesn't have any tests. It could become interesting with a bit more QA.

## Misc
[FPGA + PCIe Hardware Accelerator Design Walkthrough (DDR3, M.2, ..)](https://youtu.be/8bw80LiCl7g)
A walk through of a FPGA-based (Xilinx Artix 7) PCIe hardware accelerator in an M.2 form-factor.