Thursday, September 15, 2011

A startup for non-profits

Hang on a minute, the whole point of a startup is to make gazillions dollars, isn't it? Well sort of. Dodd Caldwell has just launched BellStrike about two weeks ago, and it seems to be off to a steady start.

I really like the way that Dodd has worked on this. This is a win-win situation that is not only for himself, but also for the non-profit community. As he rightly pointed out, most non-profits do not want to worry about setting up a website to get donations, or increasing their profile. BellStrike is an almost perfect solution as it has the right mixture of features required for such a website to work. 

At the moment, BellStrike is only able to do non-profits based in the USA. I believe that he has plans to expand beyond the American borders. I really want to see something like to succeed, anything to help increase the level of donations for the non-profits is always good.

Check it out!

Sunday, June 19, 2011

unix tools and firmware package for the STM32VL Discovery

To complement command line tools chain from Code Soucery, I download the command line toolset of unxutils. unxutils gives you similar Unix tools but develop for native execution. So the rm or the ls or the mv tool does not rely on cygwin.dll.

To kick off the development, I download the STM32VL Discovery Firmware package. This package contains some examples which I have used to quickly verify if my setup is correct or totally wrong. The source code of the firmware that is shipped with the STM32 discovery board is also part of the firmware package. The firmware package has accompanying documentation with it. Look for application note AN3268 on

You may also want to consider downloading ST-Link utility. This will allow you to download the binary into your discovery.

Thursday, June 16, 2011

setting up the development for the STM32VL Discovery board

I found myself with some spare time so I go started on setting up a dev environment on the STM32VL Discovery board that I got recently. This post talks about the compilers.


There are three options recommended by ST as a compiler. These are IAR Workbench, Atollic True Studio and Keil MDK-ARM. These tools are pretty restricted in some way, except for the Atollic command line tools. The restriction usually comes in the forms such as code size limitation.

Now the STM32 is just a ARM Cortex M3 core device, so there are many other ARM compilers available. The GNU toolchain also support the ARM core. This is the compiler that I choose as it is not limited in anyway.

The simplest way to to grab the lite version from Code Soucery. This will provide you with the full GNU toolchain including the binutils as well. However, as it stands, it is only driven from the command line.

Monday, March 21, 2011

Sunday, March 06, 2011

STM32 Discovery

At the start of this week, I visited Embedded World 2011 in N├╝rnberg. It was a very good traide fair with plenty of demos by the big players, the semiconductor manufacturers, the tools vendors, embedded product developers etc.

One of the things I picked up from ST Microelectronics was the STM32 Discovery board 

The STM32 Discovery board is a simple eval board for the STM32F100RB (datasheet) microcontroller. The STM32 family of microcontrollers has a ARM Cortex M3 as it core. The board normally retails at about USD10, making it a very cheap 32bit eval board.

I haven't had a chance to fire it up, but it should be to start it up to develop some simple application for it.

There are some good resources on the net at

Saturday, February 26, 2011

Area51 Embedded Systems Design and Development

StackOverflow Q&A website has a site in their staging area Area51 for embedded system design and development. If you have any interests in embedded systems, get over there right now and follow up.

Wednesday, February 16, 2011

what does mean to be on trunk?

I like working with a version control system. It keeps my work in a pretty straight order, even using a really bad version control system such as VSS, it still something. Imagine the bad old days of software development without a version control system. Every time, a release is to be made, the whole source directory would be zipped up and copied to another directory before a build is made and deployed.

Using a version control system by itself is part of the way there, but it needs to be supplemented by a set of rules or procedures. At end of the day, the version control system is a tool and without a well defined set of rules or procedures, things can get rather bad.

To be on trunk means that the source code will always build for all the targets. If the trunk fails to build for any of the target, it is consider a broken and it is a show stopper.

To be on trunk means that it is a evolution of the latest stable release. If this is not the case, it means that experimental features are being trailed on the trunk rather than on a branch. I think that the only exception of this is a team of one, even this is potentially dangerous.

To be on trunk means that all the commits and changes on the trunk have a comment associated with it. The trunk contains the latest code set in it and all changes must be traceable. Not being able to trace changes on the trunk is just as bad as breaking the build on trunk.

The bottom line is that trunk is the most sacred of code sets and must be treated with care.

Sunday, February 13, 2011

Giving git a go

Do we give git a go? I have only use a centralise version control system such as CVS or SVN, or god forbid, VSS. With the new project getting started, I thought I give git a shot.

Looking for the easiest way to get start, I did not want to start with a local git server. I don't have a spare computer laying about, nor do I have a computer that running Linux. 

So headed on over to and signed up for an account. For all the experimentation that I am going to be early on, I will be making it open sourced. There is nothing that I need to hide as it is mostly just prototype code anyway.

The next thing I need to do is to install a git client. git started in the Linux domain and the majority of the tools are in the Linux domain. The Windows tools are available but are over a msys environment, meaning that the git tool is used in a Linux simulated environment. 

I am excited to find out how git can help me produce a better result as oppose to using SVN.