Monday, 20 January 2014

The AIM of Raspberry PI is a bit off.

I have been playing with a Raspberry Pi for the last few months, my first impressions are generally favourable, if you like Linux or RISCoS then it is absolutely great but me interests are at a somewhat lower level. As a Linux machine it ticks all the boxes for a small in the real world processor. You have the associated development tools that come with Linux plus the opportunity to develop on a full scale machine then cut down for the small machine.
To get down a bit lower and go to BareBones is well supported by users, but less well supported by makers, mainly because the some of the hardware documentation is not available from Broadcom, this especially related to the USB control.
Some development support is available via a special version of QEMU available here. With the original version I'm using NetBeans for development and via an extension accessing the build in DBG in QEMU, in theory it should be possible to do this under Windows, but I cannot get the version of QEMU to work on windows so I'm running it on Ubuntu.
When/if the full hardware emulation is available in QEMU this will make debugging of bare bones code very easy.
If you're trying to decide whether or not you should invest in a PI, the answer is probably not simple. Firstly, if all you want to do is mess around with Linux you be just as happy with an old NetBook, with Linux installed, that way you don't have to bother with getting an extra screen, keyboard etc. You will also have that bit more processing power to play with. Consider digging out any old hardware you have and giving it a new lease of life with Linux.
AIM 65 by Boffy B
If you do have a desire to take you PI to places never gone before whether it's as an attachment to a balloon or some item of the internet of things, then the Pi is probably right for you, but you may still be better doing as much dev work on a more powerful machine before moving it to the target hardware.
When it comes to Bare Bones development it is possible, but for the complete novice may not be a bit daunting as there is not a standard set of Libraries for the USB etc, you simply cannot access all of the peripherals. This is something that should have been thought of by the manufacturers, something to allow the complete assembler novice to create a simple Hello World and get simple input, it may not be any use for peoples final project, but it would be an invaluable tool for learning assembler.
I remember the terror in the early 80s of being taught assembler that quickly disappeared when I got to try it out on an AIM65. A boot image which provided specialties similar to the AIM would be a very useful tool and would go a long way to teaching people about computers rather than about LINUX. I don't expect a tape interface, but being able to save to the SD card would do, though if anyone has constructed an interface for reading tapes I'd like to know.
It is only by having a firm understanding of the nature of assembler language that developers can truly understand what a computer is doing and understand its strengths and weaknesses and see new and fresh areas for exploitation.
As it stands the Raspberry PI is not aimed low enough, it suffers from being tied to the fashionability of Linux, but at least it is possible to go out and produce a product which is based on the PI Hardware, that does the job of low level training in an accessible way. If it does truly want to teach the wider community about computers, then in addition to the Linux Boots the box needs to contain a low level framework, like the AIM and a fully hardware compatible emulator for Linux/Windows etc.

Some more BareBones code, here.

No comments:

Post a Comment