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 26, 2013
Sunday, May 19, 2013
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) 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
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
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
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
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
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 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
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
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 !
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
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)
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:
Subscribe to:
Posts (Atom)