During the last 3 week I have been back in the good old times of hardcore programming, this time against a bigger enemy: The Kernel! In the process I found this amazing collection of tools called YADR.
Author Archives: javigon.napster
Setting up the environment for the Xilinx ZC702 (Zynq-7000 SoC) – ISE Design Suite (14.x)
About a month ago my group purchased the Xilinx Zynq-7000 SoC ZC702 Evaluation Kit, featuring the ZC702 SoC board. Far from being trivial, getting the SDK and the framework (ISE Design Suite 14.x + ARM Tools) to work properly in a stable environment is quite challenging. In this post I will go through the different alternatives, describing the pros and cons I considered. I will also propose a mixed set-up combining 2 virtual machines, as well as a step-by-step guideline for it. This configuration is actually the one I am using for programming the ZC702.
Avoiding Mail App auto-completing Contact names
For a loooooong time I have had a battle against my iPhone. Today, I won.
SerialSend – A scriptable serial terminal
For a long time now I have been working with Wireless Sensor Networks (WSN). One of my interest in this field has been improving the speed and the reliability of the serial communication among sensor nodes.
One problem I have always had to solve in one way or another when coming up with a new idea was testing it! Unfortunately, even when there are many serial terminals out there (cutecom, minicom, etc.), I found it very difficult to cover all my needs. For this reason, I decided to make my own serial terminal, keeping in mind that it had to be as configurable as possible, as well as easy scriptable. The product, serialSend.
Android – Understanding, Modifying, Building and Installing
Once we have understood how our device boots up, we will then cover the technical aspects of how to flash our device. As in the boot sequence, the 3 main components that need to be transferred -”flashed”- to the board, are: The Bootloader, the Kernel and the OS (Android). We cover them in different posts, continuing here with the OS – Android.
Once the boot loader has loaded the kernel, the following step is mounting the root file system (Please refer here for further details on the boot sequence). In this post we will go through the process of compiling the Android system and uploading it image to our device. Sometimes, this image needs to be modified. Refer to this post in order to get more information on how to mount/unmount the Android system image.
Recover command line after upgrading Mac OS – Installing Command Line Tools (Lion & Mountain Lion)
I love Apple and use my MB Pro for everything, from my personal everyday: mail, calendars, Facebook, etc. However, each time a new version of Mac OS is released, the SO moves further and further from Unix, and therefore from “standards”.
One of the consequences of this -among others- is that the known in linux OS as /bin moves around, making our .bashrc (yes, we do have that in Mac OS too) useless every time we upgrade. Since trying to add to the $PATH all the different folders each upgrade moves around is extremely painful, here it is an useful tip to recover the system commands from the terminal (e.g. git, gcc, javac, etc). (Please note that your own scripts, commands and binaries will remain the same and totally accessible as log as they are part of your $PATH).
Mount / Unmount Android System images
There are many reasons for wanting to unpack Android’s system image. The most obvious is modifying it. System.img is in the end an ext4 loop file system (such as the Linux system image), that can be mounted, modified and repacked in order to be burned afterwards in an embedded system. Android’s system image can be obtained from the google factory images.
The Kernel – Understanding, Modifying, Building and Installing
Once we have understood how our device boots up, we will then cover the technical aspects of how to flash our device. As in the boot sequence, the 3 main components that need to be transferred -”flashed”- to the board, are: The Bootloader, the Kernel and the OS (Android). We cover them in different posts, continuing here with The Kernel.
Android Developer Tools – Fastboot
Fastboot is a protocol used to update the flash filesystem in Android devices from a host via USB. It is part of the Android Debug Bridge library (adb). The materialization of this protocol is the fastboot command, which we can make use of, to easily interface with the protocol. Since it is part of the adb library, before using it, we need to install the Android SDK and configure our environment to work from the command line. This post, will guide you through this process.
The Bootloader – Understanding, Modifying, Building and Installing
Once we have understood how our device boots up, we will then cover the technical aspects of how to flash our device. As in the boot sequence, the 3 main components that need to be transferred -“flashed”- to the board, are: The Bootloader, the Kernel and the OS (Android). We will cover them in different posts, starting here with The Bootloader.