GNU ARM compiler

gnuarm.comIt looks like I don’t need to make my own ARM cross compiler afterall, thanks to gnuarm.com. Now I can either try to compile a bootloader and a Linux kernel for the development board, I can go for a smaller “embedded” solution, or I can try to code everything myself (I could, but I won’t).

To install the environment and not have it interfere with my running Linux installation I plan to use chroot. Chroot will change the root of the running program (for example the shell you have opened) so that it appears that it’s working in a completely isolated environment, leaving the files of the mother OS untouched. However it is not true virtualisation like VMWare or Xen, and although it is often referred to as a chroot jail it is not meant to be a safe environment. There are ways to break out of that jail and still access the files from the higher operating system. But I’m pretty confident that the ARM compiler won’t do anything like that. 🙂 For everything to work I’ll need to make a second set of system files for the chroot environment.

So first I make a directory chroot_env in my home folder, and I use debootstrap (I use Ubuntu at home and at work, and I love it) to install a minimal Ubuntu filesystem, you need to be root for that or use sudo in Ubuntu. If you don’t have debootstrap installed, in Ubuntu you can install it with sudo apt-get install debootstap.

The command is: sudo debootstrap gutsy ~/chroot_env/ http://archive.ubuntu.com/ubuntu
Total size of all this is about 212MB.

Once the chroot environment is installed you can access it with (as root/sudo, and assuming that you installed it in your home folder): chroot ~/chroot_env

Once inside the new environment, I also need some build tools to get started:
apt-get install build-essential
I also need to install the toolchain from gnuarm.com: exit the chroot env and copy the tarball to an appropriate place in the chroot tree, enter chroot again, extract the tarball and put the path of the bin directory into your $PATH variable (placing symbolic links in the /usr/bin folder to the arm-elf-* executables works too).

ARM development kit

SMDK40100I asked my boss about those evaluation boards I mentioned earlier, and he allowed me to take the ARM SMDK40100 home to play with. It’s not a gift, it’s just a loan, but I wasn’t hoping for anything more. If they need it back for any reason, they know where it is.
I also have a J-Link jtag debugger for the board, but I still need to check whether the connector is wired correctly, but I’m sure it’ll make my programming alot easier if I can get it to work.

I’m sure I’ll be allowed to use the PIC controller board too under those same conditions, but for now I’ve left it where it is.

I’ve been thinking about that POV project again, and I don’t see me using that ARM board for this to be honest. It’s way too large, and it consumes way too much power. The PIC controller is a much better candidate for that, as I can make that battery operated. I believe I saw a battery operated PIC board/programmer by Velleman if I’m not mistaken… It would an ideal start for that POV project.

First job would be to get me a cross compiler for that ARM processor. I know GCC can be made into a cross compiler for ARM, but I also know how much work it is to make your own cross compiler and how important it is to get those versions to match. Second, I should have a deeper look into those Velleman PIC programming kits.

On the account of the rs232 level converter, I haven’t received the samples yet, and I can’t find all the components I need at Conrad and Vael is closed next week. So I’ll only be able to get it going again in April.

POV rotating LEDs not dead?

The rotating LED idea is now 2 years old, and I haven’t got any further. A while ago I was sorting out the closet in my cubicle which I inherited when a colleague left. And I came across various boards and prototype devices from previous discontinued projects, like satellite locators with a large LCD display, 2-way satellite devices for Interactive TV, and stuff like that. All the way at the bottom of the junk pile, I found two development and evaluation boards. One for a PIC controller we still use in today’s products, and one for an ARM controller.

SMDK40100
The ARM board is an SMDK40100 development board from Aiji Systems used in the evaluation of the controller and the initial development done for the interactive TV modules. The entire product line has been discontinued for as far as I know, and that 40MHz microcontroller is in my closet gathering dust. Now I think that’s a real shame. There are even JTAG debuggers for that ARM processor in my closet, and no one in the company is developing for ARM any more. A real pity.

PICDEM 2 PLUS
The PIC board is a PICDEM 2 PLUS demo board from Microchip. It is fitted with a P18PTST and a small LCD screen.

So I’m gathering my courage to step over to my boss and ask him if I can liberate those boards and give them a new life as light show.

Continue reading “POV rotating LEDs not dead?”