GNUbLIN another ARM Board

Posted on Wed 30 May 2012 in Embedded Devices

I am quite interested in all the ARM stuff. It's everywhere around us in all this nice and powerful smartphones, cameras, routers and other devices. When I saw an advertisement in the German Linux Magazine I ordered one of this small boards called GNUbLIN. It's a project created by the embeded project GmbH and the University of Augsburg in the South of Germany.

The Board costs around 50€ and comes with all you need. There is a preinstalled SmartCard with an embedded Linux on it and an USB cable to connect it to your PC.

Connect to Linux PC

If you connect it to your Linux PC this should work out of the box. Just install picocom as recommended by the tutorials on the GNUbLIN project page and run:

sudo picocom -b 115200 /dev/ttyUSB0

Connect to Mac OS X or Windows

If your on Windows or Mac you have to install some drivers. I don't use Windows but I have a Mac which I want to use for the developing and testing of the board. Therefor got to this page and download the Mac OS X package. You have to reboot after installation. Now when you connect the GNUbLIN Board to your Mac you should see something like this in your /var/log/kernel.log

kernel[0]: com_silabs_driver_CP210xVCPDriver: init
kernel[0]: com_silabs_driver_CP210xVCPDriver64(0xffffff801055c000)::attach
kernel[0]: com_silabs_driver_CP210xVCPDriver64(0xffffff801055c000)::probe
kernel[0]: com_silabs_driver_CP210xVCPDriver64(0xffffff801055c000)::detach
kernel[0]: com_silabs_driver_CP210xVCPDriver64(0xffffff801055c000)::attach
kernel[0]: com_silabs_driver_CP210xVCPDriver64(0xffffff801055c000)::start - Registered for Power Management
kernel[0]: com_silabs_driver_CP210xVCPDriver64(0xffffff801055c000)::start!
kernel[0]: com_silabs_driver_CP210xVCPDriver64(0xffffff801055c000)::start - Found device at interface 0
kernel[0]: com_silabs_driver_CP210xVCPDriver64(0xffffff801055c000)::SelectInterfaces - BulkInput Pipe is 0xffffff800cb07900 on EP1
kernel[0]: com_silabs_driver_CP210xVCPDriver64(0xffffff801055c000)::SelectInterfaces - BulkOutput Pipe is 0xffffff800bd8ce40 on EP1
kernel[0]: com_silabs_driver_CP210xVCPDriver64(0xffffff801055c000)::setPowerState - Waking up
kernel[0]: com_silabs_driver_CP210xVCPDriver64(0xffffff801055c000)::GetCP210xInfo - Part Number Found: 0x02
kernel[0]: com_silabs_driver_CP210xVCPDriver64(0xffffff801055c000)::GetCP210xInfo - UsbConfigurationDescriptor -
kernel[0]: com_silabs_driver_CP210xVCPDriver64(0xffffff801055c000)::GetCP210xInfo    .bLength = 9
kernel[0]: com_silabs_driver_CP210xVCPDriver64(0xffffff801055c000)::GetCP210xInfo    .bDescriptorType = 0x02
kernel[0]: com_silabs_driver_CP210xVCPDriver64(0xffffff801055c000)::GetCP210xInfo    .wTotalLength = 32
kernel[0]: com_silabs_driver_CP210xVCPDriver64(0xffffff801055c000)::GetCP210xInfo    .bNumInterfaces = 1
kernel[0]: com_silabs_driver_CP210xVCPDriver64(0xffffff801055c000)::GetCP210xInfo    .bConfigurationValue = 1
kernel[0]: com_silabs_driver_CP210xVCPDriver64(0xffffff801055c000)::GetCP210xInfo     .iConfiguration = 0
kernel[0]: com_silabs_driver_CP210xVCPDriver64(0xffffff801055c000)::GetCP210xInfo    .bmAttributes = 0x80
kernel[0]: com_silabs_driver_CP210xVCPDriver64(0xffffff801055c000)::GetCP210xInfo    .MaxPower = 50
kernel[0]: com_silabs_driver_CP210xVCPDriver64(0xffffff801055c000)::start - Sucessfully loaded the driver
kernel[0]: com_silabs_driver_CP210xVCPDriver64::setPowerState(0xffffff801055c000, 0 -> 1) timed out after 10141 ms

This indicates that your driver was loaded successful. Now the GNUbLIN console should be available under dev/cu.SLAB_USBtoUART. This is where I found it on my Mac. Next step is to install picocom using MacPorts or use screen which is installed by default to connect to your GNUbLIN board:

screen /dev/tty.SLAB_USBtoUART 115200

If you don't have MacPorts installed yet pleas follow the instructions here. If you have it installed just install picocom:

sudo port install picocom

Now run picocom on the USB device with following parameters in a terminal.

sudo picocom -b 115200 /dev/cu.SLAB_USBtoUART

Maybe you need to hit return to refresh the output. An login mask like this should appear:

image0

Login as root and have fun. There are some example scripts in /root. For example run /root/blink.sh to make the onboard LED blink.