Archive for category ARM

Speed speed speed! Hacking USB Gadget serial driver

The latest task for me using ARM9 devboard was to try to start USB slave device in the board. Since I was using Linux kernel 2.6.29.1, I have searched for the solution for starting devboard as a slave device using USB and the solution was found using USB Gadget device as it offers USB device as ethernet device, serial device or mass storage device, so I have chosen using communication via serial port, because it is easy to read and write data and also there are Windows drivers for it.
Read the rest of this entry »

No Comments

Reading GPIO input in Linux

Since the GPIO can be as input, I have written a kernel module, which shows the status of the input. If the input is high, output of the device file will be 1 and 0 otherwise. Loaded module creates a misc device in /dev directory called gpiopb21, so if you read this file using cat, the output will be 1 or 0. As you can see, this software is used for PB21 pin reading. Source code can be found here.

No Comments

Controlling GPIO pins in Linux

I had to reach GPIO pins to make AT91SAM9263 board useful, but it is not easy in Linux, because all hardware is controlled by kernel and commands from userspace can’t affect hardware, that’s why I had to write my own kernel module for GPIO control. The loaded module creates a misc device in /dev called gpio for PB8 pin control. The port can be controlled using echo. For example, echo 1 > /dev/gpio will set gpio pin PB8 to be high (5V output). The current version of the module is used for setting pin high or low. Here is the code: Atmel ARM9 Linux GPIO.

No Comments

AT91SAM9263 Development board

Hello, just got AT91SAM9263 ARM9 development board from Atmel. Just installed Angstrom Linux for testing purposes. All updates – later.

AT91SAM9263

No Comments