NoteFollowing a national ballot, the union, UCU, that represents staff in the higher education sector has called a strike on three days in late November, and also "action short of a strike" during a period that starts on Wednesday, 23 November. During this period, colleagues are invited to take various actions, including abstaining from voluntary activities. I view the maintenance of Spivey's Corner as an activity I undertake voluntarily and not part of any contract of employment, and I cannot guarantee that it will remain accessible during the period of the dispute. In addition, some materials on the site may pertain to lectures that are cancelled by myself or others as part of the strike, and we are asked not to make them available online. Further details of the reasons for the strike and how it affects teaching in Oxford are on a brief FAQ page.
Here's a checklist of hardware and software tasks to be completed before the course begins again in January, 2022. Apologies for giving references to Debian packages and leaving you (Ian) to work out where they live in Fedora.
- Order a sufficient quantity of V2 micro:bits:
- Install an enhanced version of Geany 1.37, with the change found here on GitHub:
- Update (6/8/2021): The enhanced version of Geany isn't desperately needed, because the existing sizes of the build menus is enough for the particular examples I plan to use in the lab. We still need Geany ≥1.37 though, because it adds support for ARM assembly language syntax.
- Install GCC plus tools and GDB for ARM cross-compiling. Probably
gdb-multiarchthese days, together with dependencies like
- Install BSD utilities to get
- Install pyOCD via
pip3 install pyocd.
minicomwith defaults set in
/dev/ttyACM0and 9600 8N1.
- Install udev rules that make all three of the micro:bit's USB endpoints accessible to users: the serial device
/dev/ttyACM0, a mass storage device, and a generic HID device that is the debugger interface. Compare the existing
/etc/udev/51-microbit.ruleson lab machines, but note that the V2 microbit may have a different USB id.
- USB id's from actual samples: V1 0D28:0204, V2 0D28:0204 (the same, so no problem there).
fx2lafwfirmware for FX2-based logic analysers. Package
- Possibly add udev rules to allow access to a logic analyser pod.
- I think the required rules are in
- I think the required rules are in
The list of packages needed on a vanilla RPi used as the host:
sudo apt-get -y install \ geany geany-plugin-projectorganizer \ gcc-arm-none-eabi gdb-arm-none-eabi \ pulseview sigrok-firmware-fx2lafw minicom \ python3-pip bsdmainutils sed
Todo's for Mike
- Install the
debugscript in those labs that need it.
- Prepare Geany project files and installation script.
- Add bonus programs to Lab 2.
The setup script should
- Modify mime types to associate Geany with
*.geanyfiles (see below).
- Install the GnuARM file type for Geany.
- Modify Geany preferences:
- Disable 'Load Files from last session'.
- Enable Project Organizer extension: this requires knowing where
projectorganizer.sois installed. Care needed if the setup script is going to work both on Fedora and on Debian and derivatives.
- Select Project tab in sidebar.
The existing setup script for Bare Metal micro:bit creates files (see GitHub for the contents):
and then runs
update-desktop-database on the two directories respectively.
Note that this modification is potentially disruptive to others who might use Geany to edit native assembly language files on x86 – so probably better done locally for each user.
- Remove the setting for
[Extensions] GnuASand add one for