Difference between revisions of "Bare Metal micro:bit"

From Bare Metal micro:bit
Jump to: navigation, search
 
(One intermediate revision by the same user not shown)
Line 2: Line 2:
 
[[Image:cover.png|400px|thumb|right|Front cover]]
 
[[Image:cover.png|400px|thumb|right|Front cover]]
 
===Twenty-one experiments in low-level programming===
 
===Twenty-one experiments in low-level programming===
{{Smallcaps|This book describes}} a series of experiments in programming the BBC {{microbit}} at a low level.
+
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.
 +
 
 +
* 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''
 
''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''
Line 8: Line 10:
 
[mailto:mike@cs.ox.ac.uk mike<nowiki>@</nowiki>cs.ox.ac.uk]
 
[mailto:mike@cs.ox.ac.uk mike<nowiki>@</nowiki>cs.ox.ac.uk]
  
==About this book==
+
==About the book==
* An [[outline]] of the planned chapters.
+
{{:Blurb}}
  
 
==Online material==
 
==Online material==
Line 15: Line 17:
 
* [[Appendix B: Software setup]].
 
* [[Appendix B: Software setup]].
 
* [[The microbit page|The {{microbit}} page]].
 
* [[The microbit page|The {{microbit}} page]].
 +
  
 
----
 
----
 
{{CopyrightLine}}
 
{{CopyrightLine}}

Latest revision as of 08:59, 2 July 2021

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

This book explains, starting from the lowest level of software, how computer systems work, focussing on the microcontrollers that are embedded in many electronic devices, and illustrating every step with practical examples that readers can experiment with for themselves using the BBC micro:bit, an inexpensive ARM-based microcontroller board. Where other books about programming the micro:bit rely on a runtime library that insulates the programmer from the hardware, this one makes a virtue of explaining how the hardware works in detail, and enabling the reader to understand everything that is happening in the machine. After using machine language to explain what happens in the processor, the book moves on to show how programs written in assembly language or C can interact with I/O devices and react to external events using interrupt-based control. The need to manage concurrent events leads to the embedded operating system introduced in the last part of the book, where programs can have multiple processes that interact by exchanging messages.

About the author

Mike Spivey has 35 years of experience teaching computer programming to students at the University of Oxford, including functional, procedural and object-oriented programming in many languages, compiler construction, operating systems and formal specifications. His research interests include the relationship between functional programming, concurrency and the semantics of programming languages.

Online material



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