May 10th LUG & Makerspace Meeting

We had a somewhat quieter more chilled LUG after last week, present Mike (off course), Les, Tony, Arran, Elizabeth, her friend Susan, Keiron and me (Olly).

Tony took Elizabeth through a step by step tutorial for downloading and installing Linux Mint on a laptop she had rescued, they experienced a few difficulties with the machine as it had come to Elizabeth in quite a poor condition.  Tony showed her how to download the “iso” image from Linux Mint’s website and how to “burn” or extract the image onto a USB stick so they could boot and install from it.  They had to do this twice as there was some confusion as to whether the laptop was 64 or 32 Bit architecture.

Mike showed Susan around the Makerspace and explain how his PC recycling business works and explained the Linux operating system and demonstrated various bits of hardware inside a laptop and desktop computer.

Arran and I had ago hacking various Cisco network appliances which Mike had accumulated to understand what routing and switching features each appliance was capable of.  Both Arran and I have an interest in network infrastructure but duo to the cost of Cisco appliances don’t often get access to them to interrogate them in this way.  One of the switches we found had a serial connection as opposed to the console or USB connections most Cisco Appliances come with as standard to administer them through.  So we spent the early part of the LUG working out how we could connect our laptops to it using some of the port converters Mike had in his collection.

Les and Keiron spent the majority of the session building a Pimoroni Robot kit and programming it using Python GPIO libraries.  Kerion also helped Elizabeth and Tony with the trouble shooting the doner laptop towards the end of the session.

Olly, Les, Tony and Mike reflected on the day and how they could further expand meetings and engage more people at the Makerspace.

ARM Programming tutorials

When trying to get started with Single board computers (SBC), System on module (SOM) and system on Chip (SOC), I found it difficult to track down good resources or tutorials.

Sites like this:- seemed to hi-jack the search for arm tutorials and present adverts when you follow the link. So when I find a good tutorial, I put it here. If you find more, let me know in the comments.

Below is the list I have so far. The most authoritative must be ARM-UK themselves, so the first link is to a large repository of PDFs at their info centre.

Tutorials from the ARM-UK info centre.

ARM-GCC Inline Assembler programming.

Introduction to ARM-SOC, from a London University.

Programming AT92SAM7 ARM-SOC – An Introduction

Old but good ARM3 assembly language programming. (PDF)

Tour of ARM assembly language

New to ARM development?

If you are very new to ARM microcomputers, there’s no better introductory book
than “The Insider’s Guide to the Philips ARM7-Based Microcontrollers” by
Trevor Martin. Martin is an executive of Hitex, a UK vendor of embedded
microcomputer development software and hardware and he obviously understands
his material.
You must register first, then you can download this e-book for free from the Hitex web site.

This is another excellent introduction to ARM Cross Development With Eclipse Components, the free open source system, available as a free download with no need to register:-
Other resources are available at Alex the Geek

Snippet from the Hitex book:-

1.6 The ARM 7 Instruction Set
Now that we have an idea of the ARM7 architecture, programmers model and operating modes we need to take
a look at its instruction set or rather sets. Since all our programming examples are written in C there is no need
to be an expert ARM7 assembly programmer. However an understanding of the underlying machine code is
very important in developing efficient programs. Before we start our overview of the ARM7 instructions it is
important to set out a few technicalities. The ARM7 CPU has two instruction sets: the ARM instruction set which
has 32-bit wide instructions and the THUMB instruction set which has 16-bit wide instructions. In the following
section the use of the word ARM means the 32-bit instruction set and ARM7 refers to the CPU.
The ARM7 is designed to operate as a big-endian or little-endian processor. That is, the MSB is located at the
high order bit or the low order bit. You may be pleased to hear that the LPC2000 family fixes the endianess of
the processor as little endian (i.e. MSB at highest bit address), which does make it a lot easier to work with.
However the ARM7 compiler you are working with will be able to compile code as little endian or big endian.
You must be sure you have it set correctly or the compiled code will be back to front.