Bare metal micro:bit: Difference between revisions

From Bare metal micro:bit
Jump to navigation Jump to search
No edit summary
No edit summary
 
(12 intermediate revisions by the same user not shown)
Line 4: Line 4:
Welcome to the online version of my book, "Bare metal {{microbit}}", an experiment-based introduction to programming embedded devices at the machine level.  The book shows you how to program the ARM-based BBC {{microbit}} in assembly language and in C, how to make programs interact with hardware devices, and later how to use a simple, embedded operating system.
Welcome to the online version of my book, "Bare metal {{microbit}}", an experiment-based introduction to programming embedded devices at the machine level.  The book shows you how to program the ARM-based BBC {{microbit}} 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 {{Xref|X1000}}, a simple task where you compile and upload a simple C program to check that everything is working properly.
The complete book will contain 21 or more experiments, 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 {{Xref|X1000}}, 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.
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.  I'll try my best to avoid making similar radical changes necessary in the future.


==Chapters==
==Chapters==
* [[Appendix B: Software setup]].  I've replaced PyOCD with OpenOCD, and will update the @debug@ script appropriately.
<ul>
{{ExptLink|X1000}}.
<li>[[Appendix B|Appendix B &ndash; Software setup]].
{{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@.
{{ExptLink|X1000}}
 
{{ExptLink|X2000}}
{{ExptLink|X2100}}
{{ExptLink|X2200}}
<li>[[Appendix A|Appendix A &ndash; Hardware setup]].
<li>A note about conventions for [[hardware register access]].
{{ExptLink|X2300}}
{{ExptLink|X3000}} -- a first experiment using {{microbian}}.
<li>[[Copyright notice]] and disclaimer.
</ul>


----
----
{{CopyrightLine}}
{{CopyrightLine}}

Latest revision as of 14:14, 27 January 2025

Front cover

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 experiments, 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. I'll try my best to avoid making similar radical changes necessary in the future.

Chapters


Copyright © 2019–24 J. M. Spivey. All rights reserved.