Archive for the ‘Uncategorized’ Category

64-bit ARM is here

23 Jan

 

Last year I updated my Raspbian ARM Assembly Language book to cover the Raspberry Pi 3 release.  The major addition was to update some of the program examples to reflect address changes in the operating system, especially which access the GPIO port. No great shakes.

However, the release of the Raspberry PI 3 includes a major internal change in that the system was moved onto an ARMv8 architecture with the introduction of the ARM-Cortex A53 microprocessor as the CPU of choice. The ARMv8 architecture had introduced with its release a 64-bit system, as well as the traditional 32-bit system. Both brought with them two new instruction sets. Well, the 32-bit system, now called AArch32, was largely backward compatible with the original ARM instruction set, whilst AArch64 was an entirely new instruction set altogether.

At the time, there were no new operating systems for the Raspberry Pi to take advantage of the 64-bit infrastructure. So, the A53 chip was operated in AARch32 mode and was effectively running as an ARMv7 architecture. Raspbian – the ‘official’ operating system, remains a 32-bit based system and is likely to remain so for the foreseeable future.  It would need to be re-written to utilise AArch64.

Recently several 64-bit systems have been developed, Arch Linux now has a 64-bit flavour for the RPi and others are becoming available, so for coders anxious to learn more the tools are there.

The current Raspbian Assembly Language book will not be updated to include 64-bit programming. Mainly because the two are like chalk and cheese. Although there are some similarities, there is also a lot of change and also redundancy. The option remains, of course, to write a 64-bit Assembly Language book and that is what I am investigating at the moment.

You cannot switch between AArch32 and AArch64 modes within programs in the same way you can with ‘old’ ARM and Thumb instruction – called interworking – it is one or the other. So how you boot your system determines what mode you operate at the processor level. AArch32 should ensure that the fantastic backward capability that is so inherently part of the ARM design remaining. But AArch64 is a totally different beast!

As for an AArch64 Assembly Language book? Watch this space…

 
 

Happy Halloween Update

31 Oct

 

halloween1I CANT believe it’s over a a year since I last posted – as I say this is an occasional blog! However the next item will explain part of the reason…

31 October 2016
Contact Responses
My apologies to anyone who has contacted me via the website or Facebook over the past few months. Due to illness I have been ‘offline’ for quite a while and have not in a position to reply to questions or comments. I will slowly work my way through all outstanding queries over the next few months. There is a fair backlog so it may take a while. Thanks for your understanding.

31 October 2016
Raspbian Assembly Language Beginners
Edition 3 of the book has been on sale for a few months now. This covers Raspberry Pi 3, 2, 1 and Zero. Amazon does not allow the date of publication to be updated, thus the current date on the site of publication is 19 Aug 2013. I control the files that are utilised for the book and I keep these all current. So what you order should always be the latest edition of the book. Please download the program files to ensure you have the latest version if you are having issues with functionality. Download Program Files

31 October 2016
Raspberry Pi Insider Guide
The current edition of this title covers the all models including models A, B, A+, B+,2. It was written before the release of the Raspberry Pi 3. That said the look of the initial start-up screen has changed. The functionality largely remains the same so the descriptions therein remain applicable. Another area of change is in the start-up process where latest releases of the Raspbian software boot to the Desktop and by-pass the original configuration process. However, the configuration coverage remains relevant as users may wish to alter their Raspberry Pi seatings at some point.

 
 

Why do I need a book when it’s all on the web?

31 Dec

 

Raspberry Pi Insider Guide

Do I really need a book where all the information is in one place, and always readily available?

People often ask me why they should purchase one of my books when they can get all the information and learning they need from the web? It’s a fair question, and over time it is one I have thought hard about, so much so that my response nowadays is simply: ‘Can you?’

We all know there is a vast amount of information on the web, but a lot of it’s repetitive, and without structure or depth. Some of it is also of dubious quality and, on occasions, just plain wrong. Of course, there is the exception to the rule and I can think of several websites that are amazing works and both comprehensive and accurate in their coverage. But they are few and far between. If your intention is only to occasionally dabble in a particular subject then there are sites that will provide you with exactly what you need. If you are serious about leaning and mastering a subject then a book wins hands down.

I received an email from an interesting character a few months back who was asking me some questions about various aspects of programming in Raspbian. I answered briefly and also suggested that he would find exactly what he need in one of my books (I am a salesman at heart!). His response was that he didn’t need a book and could get everything he needed off the web. I could only assume he meant from me, as the information he was after wasn’t presented by any search engine I tried afterwards.

Most of my books come in at around 80,000 words; some like Raspberry Pi Insider Guide exceed that by more than 30,000 words. That’s a lot of work and I have yet to see that sort of textual commitment on any website. Books are therefore often more comprehensive in their overall coverage of a topic. And once you have the book, printed or electronic, it remains with you, and that cannot be said of a website which can disappear without trace overnight.