Bare metal micro:bit: Difference between revisions
No edit summary |
No edit summary |
||
Line 9: | Line 9: | ||
==Chapters== | ==Chapters== | ||
* [[Appendix B | * [[Appendix B – Software setup]]. I've replaced PyOCD with OpenOCD, and will update the @debug@ script appropriately. | ||
{{ExptLink|X1000}} | {{ExptLink|X1000}} | ||
{{ExptLink|X2000}} | {{ExptLink|X2000}} A section is needed about sharing the GPIO pins and using either bitmasks or the @GPIO.OUTSET@ and @GPIO.OUTCLR@ registers to update limited fields in @GPIO.OUT@. | ||
---- | ---- | ||
{{CopyrightLine}} | {{CopyrightLine}} |
Revision as of 15:51, 27 September 2024
Twenty-one experiments in low-level programming
Welcome to the online version of my book, "Bare metal micro:bit", an experiment-based introduction to programming embedded devices at the machine level. The book shows you how to program the ARM-based BBC micro:bit in assembly language and in C, how to make programs interact with hardware devices, and later how to use a simple, embedded operating system.
The complete book will contain 21 or more experiements, each described in a separate chapter, plus supporting material. On this page I have listed the chapters in more or less the order I have uploaded them, which is also the order I suggest you read them and try the experiments. Among the first few items are instructions for obtaining and setting up the hardware and software you will need to follow the book, followed by Experiment 1, a simple task where you compile and upload a simple C program to check that everything is working properly.
If you'd like to see my plan for the whole book, then look at the contents page, which has links to all the chapters present and future. The conventions regarding the naming of files and hardware registers are a bit different in this draft of the book from previous drafts, so if you have begun to work with the software previously, I'm afraid some changes to your programming will be needed.
Chapters
- Appendix B – Software setup. I've replaced PyOCD with OpenOCD, and will update the
debug
script appropriately.
GPIO.OUTSET
and GPIO.OUTCLR
registers to update limited fields in GPIO.OUT
.
Copyright © 2019–24 J. M. Spivey. All rights reserved.