Embedded Stuff Around The Web

Pages

October 28, 2014

I decided to move this blog to github. I was playing last 3 days with jekyll. It was harder than I expected, but I have moved all posts there. I'll keep this alive for cross-reference, but will be publishing new posts there.

Comments are enabled for all posts, so if you got any question, follow the link below.

I am going to merge IAR options once I finish and test them, currently implementation on the branch. It takes longer time than uVision, as IAR has many separate options.
I finished the release of v0.1 this week, created a new tasks for v0.2.

My focus in the v0.2 will be on documentation, stabilize uVision, IAR and creating one generic Makefile for GCC toolchains.

August 19, 2014

I just want to share that I added 2 more IDE to the project generator.

GCC ARM export and IAR is now enabled.

GCC ARM generates a makefile based project. Enabled in the mbed example as well.

IAR generates a project. Specific IAR options are not yet implemented. Thus they are predefined in the template project. As I shown with uvision class, it can be added to misc dictionary, and then parse it to get each specific settings.

The example with mbed sources is defined for 2 target at the moment, K20 and LPC1768.

August 12, 2014

It's been a while I posted something. I reallocated myself and started a new job, as you could notice, thus I didn't have time to write more news. I can ensure you, there are more things I'll be sharing. Let's begin with the one I have been programming last days.

There was a discussion for quite a while about creating exporters for small projects. A generator which could be easily edited and ported to a new platform or a new project. Many projects have own exporters (stay with a term: project generators), but don't share it with the world.

As some of you might have noticed, there were a problem with projects in CMSIS-DAP mbed repository. Projects are tracked by the version control system, as there are no generators. This introduces some clatter to the project, as IDE updates it's project files, without even changing any settings. Then a user sends a pull request with unintentionally updated project files. Not to mention if for a project there are more targets with various settings, the maintenance becomes cumbersome. What if you change a name of common file? Yes, update all projects which are using it.

I decided to give a shot to write trivial project generators in python based on yaml records. I published them few days ago, but there was no example how use records for a project. Therefore there was published an example for project generators. It is for K20D50M target, blinky demo based on mbed sources:

Currently, project generators support K20D50M target and uvision IDE. There is GCC class but needs more work (planned for upcoming days).

Be aware, it's still in early stage, so the structure of records is subject to change. I published it, primary as I don't have that much free time to be able to expand it dozen of targets and IDE's, therefore I hope that publishing it and providing an example how it works, will attract more developers.
Do you have a project where you could benefit from exporting
to various IDE? Give it a try.

February 22, 2014

The FRDM-KL05Z board was my first target added to mbed. I would even say that was my initial experience with mbed sources. That was back in June 2013. It was added to mbed.org yesterday. This became 3rd Freescale board available on mbed.

February 17, 2014

My latest article was how to use CoIDE with C++. I added exporters for CoIDE to mbed. I was able to make it work for KL25Z, KL05Z (not yet online on mbed.org site, will be soon). LCP1768 is functional but not through CMSIS-DAP, due to a problem which was reported to CoIDE team a while ago.

The exporter is online in the mbed compiler, see picture below.

Enjoy using CooCox CoIDE with KL25Z and mbed! If there are any problems, please report them on the mbed site, or just here in comments.

About Me

My main interest in my spare time are open source communities, helping various projects to expand to new targets, fixing bugs, interact with users, creating new software libraries and writing tutorials.