McuOnEclipse Releases on SourceForge

When I started the McuOnEclipse project back in 2012, I did not expect that it would create that much of attention :-). So far I’m sharing the project files on GitHub (see “McuOnEclipse goes Git“). GitHub is excellent for sharing sources, but not a good way to share release (binary) files. It is somewhat ok for small/few files, and initially that worked well for the few Processor Expert files (see “Processor Expert Component *.PEupd Files on GitHub“). However, with the amount of components and binary releases, the GitHub repository gets bloated. So I’m performing some maintenance work, and so I’m moving binary releases to a new McuOnEclipse SourceForge site.

McuOnEclipse On SourceForge

McuOnEclipse On SourceForge

Continue reading

User Interrupt on NMI Pin with Kinetis and ExtInt Component

While my beef brisket (see “My First DIY Smoked Beef Brisket: Day 1“) is smoking on ;-), I have time to investigate a problem I was running on in my lecture on Friday: For the Joystick shield (see “JoyStick Shield with the FRDM Board“) on the FRDM-KL25Z board, I wanted to use an interrupt if I press the green button:

No Interrupts for Button C

No Interrupts for Button C

However, that did not work :-(.

Continue reading

Putting Code of Files into Special Section with the GNU Linker

The GNU Linker (ld) is very, very powerful. This time I wanted to put all my Processor Expert generated code into its own dedicated section. This is useful for example to have a bootloader or a library inside a special area in FLASH. It was not obvious to me how to do this with the linker, with some search on the internet and some trial and errors, I finally managed that. And as always with exploring things, I have learnt something :-). So here is how I’m able to put the code of arbitrary files into its own dedicated section.

Code Section for Generated Code

Code Section for Generated Code

Continue reading

Comparing CodeWarrior with Kinetis Design Studio

At FTF 2014, Freescale made the announcement that CodeWarrior won’t support all the new ARM Kinetis devices coming out in the future: they will be supported with the free-of-charge Kinetis Design Studio (KDS) instead. As for myself, this is a big shift from a well established CodeWarrior toolchain to something new. A question which came up recently several times in the forums and in other posts is: how do CodeWarrior and KDS compare with each other?

CW vs KDS

CW vs KDS

Continue reading

RingBuffer Component with Put/Get/Clear Events

Sometimes I have a good idea how to extend one of my Processor Expert components with an extra feature, but then I step back because why implementing more than I need at the moment? Until another user of the component simply asks for the same thing, and here we go: if one or more can take advantage of a feature, that’s definitely a strong argument to add it :-). This happened with the RingBuffer Processor Expert component I’m using in many projects. And a reader of this blog asked to add some extra event methods: when an item is added or removed to the buffer.

RingBuffer used in USB Component with Extra Events

RingBuffer used in USB Component with Extra Events

Continue reading

Automatic Documentation Generation: Doxygen with Processor Expert

One really cool thing with Processor Expert is: it does not only generate the source code for me, it generates as well documentation :-). I’m a believer of the ‘single source’ approach: if I have to document a software project, then the software itself shall be the source of the documentation. And for this I love Doxygen: see “5 Best Eclipse Plugins: #1 (Eclox with Doxygen, Graphviz and Mscgen)“. Doxygen is a compiler which compiles my source files, and instead of object files it creates documentation files for me :-).

Pin Allocation Report

Pin Allocation Report

Continue reading

XFormat, a Lightweight printf() and sprintf() Alternative

Frequent readers of this blog know that I do not like printf (see “Why I don’t like printf()“), because the standard printf() adds a lot of overhead and only causes troubles. But like small kids, engineers somehow get attracted by troubles ;-). Yes, printf() and especially sprintf() are handy for quick and dirty coding. The good news is that I have added a lightweight printf() and sprintf() implementation to my set of components: the XFormat component. And best of all: it supports floating point formatting :-).

XFormat Component

XFormat Component

Continue reading

Eclipse Performance Improvement Tip: Close Unused Projects

Eclipse is not the fastest and snappiest IDE of the world, but in my view the most versatile and open one. And as with any tool: using it the wrong way does not make it better. Sometimes I have students in my classes which complain that Eclipse is slow, even on a decent machine. Looking at their notebook screens and Eclipse workspace usually tells me right away what they are doing ‘wrong’: there are many, many projects open in the workspace, the most I have seen was more than 50 projects (yikes!!!)!

Many many projects open

Many many projects open

Continue reading

LED Clock with Kitchen Hot Pan Protector

When I showed my 60 NeoPixel LED clock prototype to my daughter and her girlfriend, and they both wanted to have one right away :-). Well, that clock was just a proof of concept, with lots of temporary wiring. So I decided this week-end to beautify it and to make it look nice and clean(er). There is nothing like a week-end project with adding a few more LEDs and features :-).

Adafruit Neopixel Clock with 60+24+12 LEDs

Adafruit Neopixel Clock with 60+24+12 LEDs

Continue reading