Sunday, May 26, 2013

Raspberry Pi GPIOs

Raspberry Pi GPIOs

GPIO : General Purpose Input Output Consider a GPIO as a pin whose behavior will be controlled by the software. The raspberry pi board has a 26-pin expansion header containing 17 GPIO pins that can be used to control external devices (lights, LCD display, ...) or to read information

Sunday, May 19, 2013

Build a minimalist root filesystem

Build a minimalist root filesystem

During my research, I have seen many different tutorials to create a minimalist root filesystem. Some of them advise to copy files from the host's root filesystem and then proceed to customization, others use very handy tools like Buildroot and finally some people create it manually. It is this

Saturday, May 11, 2013

Compile the Linux Kernel (part1)

Compile the Linux Kernel (part1)

Compile the Linux Kernel (part1) H1 { margin-bottom: 0.08in; }H1.western { font-family: "Liberation Sans",sans-serif; font-size: 16pt; }H1.cjk { font-family: "DejaVu Sans"; font-size: 16pt; }H1.ctl { font-family: "Lohit Hindi"; font-size: 16pt; }P { margin-bottom: 0.08in; }A:link { } Les distributions classiques fournissent des noyaux binaires pré-compilés, soit sous forme
Linux init process

Linux init process

As we have seen before, the usual boot sequence of a Linux-based platform consists of several steps : The init process : completes the boot procedure have the process ID '1' starts the system processes (as described in /etc/inittab) is not part of the kernel, it belongs to the

Thursday, May 9, 2013

Prepare your SD Card to boot a kernel

Prepare your SD Card to boot a kernel

Read this post for the kernel build instructions. Read this post if you're interested in how the pi boots once powered up. Read this post for the partitioning instructions. The following files are needed on your boot partition : - bootcode.bin - start.elf - fixup.dat - cmdline.txt - kernel.img

Sunday, May 5, 2013

Raspberry Pi boot sequence

Raspberry Pi boot sequence

Read this post if you are not familiar with bootloaders. For a long time, the boot sequence consisted of 3 stages as shown above. Lately, the 3rd stage has been short circuited : the start.elf image is now directly read by the 2nd stage bootloader.

Saturday, May 4, 2013

Partition your SD Card for Pi

Partition your SD Card for Pi

Create the parition table 1. Plug your SD Card to your computer. 2. Identify your /dev/ node sudo fdisk -l The output lists your disks :    Device Boot      Start         End      Blocks   Id  System /dev/sda1   *           1        2473    19864341    7  HPFS/NTFS /dev/sda2            2474       19456   136415745    f  W95 Ext'd
Build vanilla kernel for Raspberry Pi

Build vanilla kernel for Raspberry Pi

Check this post if you're looking for the build instructions. Check this post if you're looking for the git main commands. Raspberry Pi's official kernel git repository : https://github.com/raspberrypi/linux.git We could have cloned this repository, built it and ran a linux on our Pi.... yes we could, but we

Tuesday, April 30, 2013

Git tutorial

Git tutorial

Git is a distributed version control system which means that it does not require a central server to store all the data, unlike SVN or CVS. In practice, there is usually a central repository (remote repository, typically hosted on the internet) that one can copy (cloning). When cloning an

Sunday, April 28, 2013

Boot sequence on embbeded platform

Boot sequence on embbeded platform

When powered on, the CPU will fetch its first instruction from an address preassigned by the manufacturer. From there, two options : the bootlader is programmed at this address (on a NOR memory) the CPU has an integrated boot code that will start ( ROM memory) The former is

Saturday, April 27, 2013

Embedded development setups

Embedded development setups

Linked Setup (most common) The host and the target are permanently connected using a cable (serial or ethernet). With this configuration, the host builds the cross-compiled binaries and downloads them directly on the device's storage media. The cable is also used for debugging although there are usually 2

Friday, April 26, 2013

Delivered !

Delivered !

I am now the lucky owner of this small piece of hardware :-) The Raspberry Pi will be our development board during our initiation to linux. It is small, light, cheap and powerful enough to read 720p videos without a hitch. You can find additional information about this very
GPL and LGPL licenses

GPL and LGPL licenses

Most of the components making up a Linux system are distributed under two type of licenses :  GPL : mainly used for applications (gcc compiler, gdb debugger)  LGPL : mainly used for libraries (C library, GTK widget toolkit, ...) Other licenses exist (BSD, Mozilla, ...) but are less used.

Saturday, April 20, 2013

Embedded Linux (part 2)

Embedded Linux (part 2)

H4 { margin-bottom: 0.08in; direction: ltr; color: rgb(0, 0, 0); }H4.western { font-family: "Liberation Sans","Arial",sans-serif; font-style: italic; }H4.cjk { font-family: "DejaVu Sans"; font-style: italic; }H4.ctl { font-family: "Lohit Hindi"; font-style: italic; }H3 { margin-bottom: 0.08in; direction: ltr; color: rgb(0, 0, 0); }H3.western { font-family: "Liberation Sans","Arial",sans-serif; }H3.cjk { font-family:
Pages (14)123456

 
biz.