The Bucket List

There are so many things I have in my mind to explore in this tech blog. Here is my bucket list, not in priority order:

Still on my list (no priority order):

  • How to use the visualization graph, and how to use trace triggers? How to use Data Visualization?
  • S12 in Eclipse: The S12 tool chain is available only in classic CodeWarrior. How to use S12 in Eclipse?
  • Shell the Eclipse IDE: How create projects from the (DOS) shell with Eclipse? How to build and debug for test automation?
  • Make Files: how to write make files with automatic dependency calculation? How to automatically add files in a folder?
  • Processor Expert: How to use templates and interfaces in component development? What is the meaning of grayed out methods?
  • VCS: How to use VCS in Eclipse? How to install the plugin, first steps to use it with a version control system, pros and cons using a VCS plugin vs. standalone tools.
  • sing LLVM/clang for ARM/Kinetis
  • Construct a game using NeoPixels

Done šŸ™‚

Happy Bucketing šŸ™‚


81 thoughts on “The Bucket List

  1. Good job man! Keep working. Try to put in list how to show messages via ITM Stimulus port by using ETM in ARM Cortex MCU. Such a plugin is only available DS5 Professional from ARM which is quite expensive.


  2. regarding makefiles – check out
    i used it to create multiple-architecture, cross-compiling makefiles for the OMAP processor that ran within Eclipse (so I could compile a project with bits of x86, bits of ARM, and bits of TI DSP C)… hacked his scripts a bit, and I see that now the author added some of my hacks allowing cross compilation (e.g. TGT_CXXFLAGS, though he missed TGT_AR).
    it does the dependencies automatically and is pretty great in traversing a hierarchy of makefiles as well. I had auditioned a few and considered writing my own, this one was my favorite.


  3. Hi Erich

    The blog on the Burner was verry helpful. Is there anyway to get CW 10.4 to download a binary file from Burner.exe? I can generate the file but can’t see how to load it over the PE multi-link. I know the binary can be used for external programmers, but I only have the multi-link for the Kinetis.




  4. Hello,

    I have one question : In my project MQX_Lite on code warior 10.4, I use also the Processor Expert. But the component Inspector it’s writen “Cpu (disable)”.

    What shall I do the enable it ?
    thanks in advance


      • Hi,

        Thanks for quick answering. But I luckly have found alone the solution.
        I had simply to go to the Projet panel, and then set the right target I’m using at moment. Then the PE will be active and saveable.

        Thanks for quick answer, and if someone have the same problem, I can try to follow the same way as me.



  5. Hi, I have created a library for KL15 in Code Warrior 10.4 and I want to use it in a new project… but I can not use the library! I added the library path in Properties>C Build>Settings>GCC Linker>Library search path, and the name of library in Properties>C Build>Settings>GCC Linker>Libraryies. Have any ideas on how to fix it? Thanks, Marco


  6. Pingback: Tutorial: FreeMASTER Visualization and Run-Time Debugging | MCU on Eclipse

  7. Hi,
    I’ve been using your FreeRTOS bean with a 9S12XDP512 uC and the code works very well in the banked memory mode. I’m curious if the bean is aware of and able to use the other RAM pages and not just the banked flash space.

    Thanks Mark


  8. Hi Mark
    I’m just starting a project using Processor Expert. Its going fairly well but I would like to create a new component that will create a Interrupt Handler wrapper for the Software Interrupt (SWI). Your tutorial on creating a new component is informative, but I’m missing the link to add a new IRQ vector.
    Any suggestions or links to follow?


  9. Pingback: FRDM with Arduino Ethernet Shield R3, Part 4: MinIni | MCU on Eclipse

  10. Hi, I made a One-wire and DS18B20 components, they work fine, but there are some warnings that I don’t know how to solve them:

    Description Resource Path Location Type
    Generator: Warning: at line 2: {{DEVELOPMENT}} Global symbol is deprecated: ProjectModule (file: Drivers\sw\_PE_ProjectInfo.drv) SensorTest _PE_ProjectInfo Processor Expert Problem

    Description Resource Path Location Type
    Generator: Warning: at line 85: {{DEVELOPMENT}} Target section is not selected, writing to error output (file: Drivers\Kinetis\GlobalSymbolsDefinition.prg) SensorTest Main Processor Expert Problem

    Description Resource Path Location Type
    Warning: at line 54: {{DEVELOPMENT}} The symbol “IsPinRoutable_ClockGate” is not described in the header/comment and is not undefined at the end of included file. (file: Drivers\Kinetis\IsPinRoutable.prg) SensorTest DQ1 Processor Expert Problem

    If you need, I could send you the project, would you like help me please?


  11. Hey Eric some items for your bucket list – or perhaps creating a collaboration method to do the following.
    – 1) Transmitting a temperature reading to the cloud REST post http over ethernet from Frdm-K64
    – 2) On FRDM-K64 create a web server accessible over ethernet displaying temperature reading
    – 3) On Frdm-K64 create a web server accessible over USB/WiFi displaying temperature reading and local wiFi networks with ability to enter an SSID and destination cloud to push temperature reading to as in 1) but over WiFi


    • Hi Ondrey,
      ‘possible’ yes, but since mid of Jan I’m so swamped with too many tasks and things and emergencies that I cannot promise anything, at least not in the near/mid term. And my backlog of things is bigger than ever :-(. So I suggest that you have a look at the existing drivers and learn from them?


  12. Any plans to add FreeRTOS+TCP & FreeRTOS+FAT to PE? And an Ethernet driver for K64 on FRDM-K64 if it doesn’t exist?
    And thanks for all the incredible work you have done so far.


  13. Hi Erich,

    I would love to see how the GPIO toggling performance could be increased in a convineant way. Stepping through the assembly introduced by GPIO_DRV_WritePinOutput(PIN1,0) surprises me very much.

    Thank you!


    • Hi Peter,
      Clearly, the Kinetis SDK is not something for the highest performance. Because it adds all the layers in between, with function calls. So you could either do directly from your application the pin writing (access directly the registers). Or you could change the SDK code (e.g. removing the asserts, do the inlining yourself). As always, you need to balance portability, easy-to-re-use, nice software API’s vs. speed and code size.
      I hope this helps.


  14. Hi Erich,

    currently, I’m doing some benchmarking on the flash execution performance of several microcontrollers.
    The kinetis k65 compares very bad in contrast to an stm32f429 both clocked at 180 MHz and all possible caching options enabled. Meaning it degrades to ~60% performance due to flash wait states.

    I have posted something in the freescale forum:

    have you done similar research? are you aware of any tricks in the kinetis k65/k66 family which could speed up execution from internal flash?


    • Hi Petr,
      really interesting data, indeed. And no, I have not done such an analysis myself. I have to ask around at the universitiy, but I believe there is no-one I would now who did such a comparision.


  15. Hi Erich,
    We already discussed that last week. MSD Device Mode for K64F would be a good tutorial. Using a FRDM-K64F and his K64 USB as a MSD Device to appear as a mass storage device on a computer. Better with a SD card connected on FRDM and which is appearring on computer šŸ™‚


  16. With the new LPUART in silicon – it uses 16bit register access – just wondering if there could be a driver for it that works with the SHELL.
    Also, how about a microPython task component- a basic version is done for the Teensy3.1 – initially target for FRDM-MK64F. On an STM32F405 (192Kram) footprint is apparently flash=75K & ram=8kb June2014


    • Good suggestions!
      LPUART will work with the shell, if it is supported by the AsynchroSerial (but I have not checked it).
      microPython: that looks really interesting, but not something I have envisioned for the near future (and I won’t have bandwidth anyway until the end of the semester I think). Any volunteers to take over that work? šŸ™‚


  17. Hi Erich,

    I am interested in implementing multiple Kinetis device hardware designs. Though it would be excellent if there was a library or PE component for driving the Ezport for firmware upgrade of the slave MCU’s .
    Would this be a worthwhile project?



  18. I enjoyed you 5 posts on “5 Best Eclipse Plugins”

    I was wondering if from the time you posted to now, are there other eclipse plugins that you found useful/essential/important/greate to have on an eclipse workbench.

    I thought I could maybe share a few I could add to that list.(may not be great sites, but hope this can be a start).
    *GWT from google or SWT from eclipse
    Also a hard to find utility not mentioned much online/hard to find, still useful, and how to run it. I think you can create a batch file that runs the program and drag a file on the batch to open or called to run via eclipse. Like i said, not much info online, but great tool. Seen it works on mac, but never took the time yet to create batch file to test it on windows. (should work on windows too)


  19. Hi Erich,

    nice page. Very helpful. We are working with the FRDM-KL25Z board and it helps a lot.
    Though I am wondering if you have ever tried to run the Kinetis-SDK-PEMicro toolchain in Linux. For some reason everything is working in Windows but we have troubles to flash the board with PEMicro in Ubuntu.



    • Hi Gerhard,
      I have only used Linux sporadically in the past, not enough time to do the same on Linux. You might be best at reporting your Linux issues on the NXP forum or directly to P&E?


  20. Hi Erich.
    Other tutorial about how create a components was very good.
    Explain how use a link components (not inherit), and other functions.
    I have a lot of components codes that I was happy to port as processor expert component.

    Thanks a lot


    • Hi Sergi,
      linked components are not really different from inherited components: the difference is that with the linked component you can use one component by many other components (link to it). While the inherited component is ’embedded’ into the ‘master’ component. Other than that, it is exactly the same.


  21. Hey Erich.

    How about a blog post on the top 10 Eclipse plug-ins geared specifically for embedded C development?



  22. Hey Erich! How about a blog post on the top 10 Eclipse plug-ins geared specifically towards embedded C development?



  23. Erich,
    What about adding FreeRTOS software timers to your list? It’s a very easy to use feature, but I know a lot of developers out there don’t even realize they exist.


  24. Hi Erich, what is the best approach to track down the watchdog timer reset. I mean, How could we find out where the application get stock that leads to watchdog timer not to be refreshed.
    many thanks,


    • Here is what I do:
      I have a ‘watchdog’ tasks which monitors all the other tasks and the system. This task ‘kicks the dog’ if everything is fine. If not, it will write a message (or stores it somewhere) which task or system part is not responding, and then lets the watchdog time out. That way I can know what was the reason. Jack Ganssle has an article around that topic too:

      I hope this helps,


What do you think?

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.