Archive for the ‘Uncategorized’ Category

Debugging Justop K10A

Posted: January 18, 2014 in Uncategorized
Tags: ,

Debugging Justop K10A

I’ve been doing some work with Rockchip RK3188 devices and since there are so many of them which are so similar and no information about the particular device I am using I though I’d post a pic showing the debug serial port of the Justop K10A device. It is helpfully labelled G T R which is of course Ground Transmit and Receive. Note this is 3V3 level TTL.

An interesting discovery

Posted: November 14, 2013 in Uncategorized

I’ve been poking around in the sources for the rowboat project, which is the Android for TI ARM processors, and have made an interesting discovery. It seems the Texas Instruments are going to be releasing a new processor soon as from the sources here there has been a flurry of activity for something called the AM43XX and the device-ti-am437xevm. Now maybe I’m just behind on my news but I certainly have never heard of this processor or board before. It seems that neither has TI because their website does not mention anything about this series.

From the Android board configuration it seems that this is as follows:

TARGET_ARCH_VARIANT := armv7-a-neon

Also seems to contain the usual batch of accelerometer, light sensor, camera, bluetooth which we expect on an Android device. Also the kernel version they are building for it is 3.12 which is refreshing as other devices on this site are still stuck on 3.2.

I for one am very excited to see where this goes…

I’ve been doing some Linux work again lately and so it back to bootloaders. Every time I work on a new product I have to do this so I thought I’d write up a post about it. Usually the vendors provide a working u-boot source tree but more often than not it’s pretty old and I’ve been playing around with putting together a multi architecture kernel so I’d like have device tree support in my bootloader. So here is the procedure. First get the sources and start a branch for your project:

git clone git://
git checkout -b project-name

If you’re going to be working on this for multiple projects I suggest starting a fork and the easiest way to do that is with Github. Then if you want to update your master branch to the latest from U-Boot all you need to do is add a git remote and merge the changes in.

git remote add upstream git://
git fetch upstream
git checkout master
git merge upstream/master

The name upstream is just a generic name, you could call in denx or uboot or whatever you want. Next you need to create the location for your sources and the way in which U-Boot does that is in the board folder. In this folder add a folder with your company name and then a folder with the name of the project you’re working on. ./board/acme/rocket The easiest way to start with this is to copy the sources from another board which uses the same processor. Your folder will now usually look as follows:

board -> acme -> rocket.c
|-> rocket.h
\-> Makefile

Next you need to add your configuration file and tell the build system about your new project. This is again easiest done by copying the configuration file of the board that is most similar to yours. The configuration files are located in ./include/configs/rocket.h Instructing the build system is done by editing the boards.cfg file in the root. This file is kept in alphabetical order so you should add it in the same manner. It’s form is:

Status, Arch, CPU:SPLCPU, SoC, Vendor, Board name, Target, Options, Maintainers
Active, arm, armv7, am33xx, acme, rocket, rocket, -,

You may also want to add an entry to ./arch/arm/include/asm/mach-types.h so that U-Boot can tell the Linux kernel that it’s your custom board that is booting and this should be in the form #define MACH_TYPE_ROCKET 9999 Just make sure it is a unique number. That is why I usually add it as a high number as new board are being added to the sources all the time. Now you can make your changes to your configuration and board sources and when you are ready to compile just run:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rocket_config
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

There is obviously a lot more to this process and there are a fair few edits to these instructions that may need to be made for you system but it’s a good start. I hope this is helpful to someone and if you need a hand with something similar give me a shout. I’ll write another post about the kernel and device tree when I get a chance. It really is an amazing system!

RFM12B Linux Module

Posted: July 8, 2013 in Uncategorized
Tags: , , ,

RFM12B Linux Module

I found this great project the other day. I’ve been meaning to write something like this for ages. It will really help expand my home projects. I will integrate it into my EVE Raspberry Pi as soon as I get some time to play. SO helpful!

Posted: March 24, 2013 in Uncategorized

Wow, what an incredible project! So well put together. I’m truly impressed.


One frustrating aspect of firmware or kernel development on commodity hardware, such as cheap evaluation board or production devices, is the necessity of power-cycling the target device to reboot it every time the developer needs to load and run a new software build.

It sometimes happens that a development board is designed with proper management electronics to ease software development or automated testing, but in most cases the developer has reset the board manually, and sadly quite often reset buttons are unaccessible or just non-existent, requiring the developer to unplug and replug the power cable. If this ends up in your workflow and at the end of the day your fingers hurt, something is wrong.

This project is a small AVR/V-USB based board to control the power supply of development boards and other low voltage and USB powered devices. It allows to program a sequence of events for the output…

View original post 916 more words

EE Times University

Posted: January 16, 2013 in Uncategorized

I’ve been working on the EE Times University course Wireless for Miniaturized Consumer Electronics & Mobile Products this week. It has been good so far. The lectures and slides are archived so you can catch up if you have missed the last 2 days. The lecturer has been pretty good but the coordinator is pretty annoying. Have a look if you interested.


Another amazing post from Jeelabs

Posted: December 5, 2012 in Uncategorized
Tags: ,

Another amazing post from Jeelabs

This is a really handy post from Jeelabs today which describes in details exactly what I will be going through soon. Really great to get some background before I start rehashing the same problems. Thanks J C!