Difference between revisions of "Bare metal micro:bit"

From Bare Metal micro:bit
Jump to: navigation, search
(Twenty experiments in low-level programming)
(25 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{DISPLAYTITLE:Bare Metal {{microbit}}}}__NOTOC__
+
{{DISPLAYTITLE:Bare metal {{microbit}}}}__NOTOC__
===Twenty experiments in low-level programming===
 
{{Smallcaps|This book describes}} a series of experiments in programming the BBC {{microbit}} at a low level.
 
 
 
Chapters will appear one-by-one in coming weeks, starting with some experiments with programming the {{microbit}} in machine code.  If you want to follow along as the book grows, you should get a {{microbit}} and either a Raspberry Pi or a Linux laptop, and begin with the appendices about [[Appendix A: Hardware setup|hardware]] and [[Appendix B: Software setup|software]] setup.  The hardware setup instructions include some modifications to the {{microbit}} that will come in handy later, but you don't have to do them before beginning with the first experiment.
 
 
 
Feedback is very welcome, and you can send me e-mail to [mailto:spivoxity@gmail.com <nowiki>spivoxity@gmail.com</nowiki>], or raise issues on the github page if you prefer: https://github.com/Spivoxity/baremetal.
 
 
 
 
[[Image:cover.png|400px|thumb|right|Front cover]]
 
[[Image:cover.png|400px|thumb|right|Front cover]]
 +
===Twenty-one experiments in low-level programming===
 +
This is the website for my book, "Bare metal {{microbit}}", containing [[#online resources|online recources]] to support the book, including updated instructions for setting up the hardware and software you will need, and a page that gathers together documentation on all aspects of the {{microbit}} hardware.
  
==Front matter==
+
* An [[outline]] of the book as it will appear.
 
 
==Part 1: Machine code programming==
 
* [[Introducing the microbit|Introducing the {{microbit}}]].
 
* {{Exp|X1000|Building a program|Check you can build and upload a simple program (written in pure C) that echoes lines typed on the terminal}}
 
* {{Exp|X1100|Machine instructions|Investigate the effect of single machine instructions using an interactive program}}
 
  
==Part 2: Input/output devices==
+
''I am now in discussions with publishers about how to take the project forward, including what will continue to appear on the website.  The code for the experiments will remain available on GitHub and continue to be updated.  If you would like to look at sample chapters or try out the experiments, please get in touch with me and I will give you access. -- Mike''
* {{Exp|X2400|Neopixels|Use assembly language to make a bit-banged implementation of the protocol for WS2812 'NeoPixel' LEDs}}
 
  
==Part 3: Embedded operating system==
+
[mailto:mike@cs.ox.ac.uk mike<nowiki>@</nowiki>cs.ox.ac.uk]
  
==Appendices==
+
==About the book==
* [[Appendix A: Hardware setup]]
+
{{:Blurb}}
* [[Appendix B: Software setup]]
 
  
==Web only==
+
==Online material==
* [[The micro:bit page|The {{microbit}} page]]
+
* [[Appendix A: Hardware setup]].
 +
* [[Appendix B: Software setup]].
 +
* [[The microbit page|The {{microbit}} page]].
  
  
 
----
 
----
 
{{CopyrightLine}}
 
{{CopyrightLine}}

Revision as of 12:31, 27 April 2022

Front cover

Twenty-one experiments in low-level programming

This is the website for my book, "Bare metal micro:bit", containing online recources to support the book, including updated instructions for setting up the hardware and software you will need, and a page that gathers together documentation on all aspects of the micro:bit hardware.

  • An outline of the book as it will appear.

I am now in discussions with publishers about how to take the project forward, including what will continue to appear on the website. The code for the experiments will remain available on GitHub and continue to be updated. If you would like to look at sample chapters or try out the experiments, please get in touch with me and I will give you access. – Mike

mike@cs.ox.ac.uk

About the book

Blurb

Online material



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