AnsweredAssumed Answered

Shared headers for libksdk_platform_mqx.a?

Question asked by Brian Willoughby on Aug 10, 2015
Latest reply on Aug 13, 2015 by soledad

I've just successfully built libksdk_platform_mqx.a, and should be able to link this into my firmware. How does my firmware project access the headers for the library?


I'm potentially confused by the many options of MQX-Lite, MQX (w/o KSDK), and MQX_KSDK. I believe that the latter is what I want for my new K64 development, and that its library is named libksdk_platform_mqx.a, not to be confused with any other libraries for the KSDK that might be built for another RTOS or bare metal.


After building, I see /Freescale/KSDK_1.2.0/lib/ksdk_mqx_lib/kds/K64F12/debug/libksdk_platform_mqx.a, but I do not see any headers under that directory (just object files and other intermediate build results). I assume it's possible that this is not the final distribution location for the library - should I be looking elsewhere?


I would prefer to build the MQX_KSDK platform library outside my firmware project, so that clean builds do not recompile the entire RTOS and KSDK code. I'm assuming that the ksdk_mqx_lib project that I found on my drive is the way to build this, but I was hoping that the headers would be copied somewhere for distribution with the library.


Are there any standard practices here? The tutorials make it clear that we must build our own libraries, but I don't see any further suggestions on how to coordinate the various open source systems with our own firmware, while keeping them separate for build purposes.


Is there a simple way to copy all of the necessary headers? Are all of the headers necessary in a project that uses the MQX_KSDK library, or just some of them?


I also have a team where multiple people are working on our firmware, but we need to avoid having system and library source code mixed in with our custom firmware. Not only would this enforce the general Read-Only nature of the RTOS and SDK, but it would also save time when developers need to do a clean build (compared to having all source in one giant project).


Any hints or help along these lines?