AnsweredAssumed Answered

KDS vs IAR?

Question asked by dave408 on Dec 11, 2014
Latest reply on Dec 11, 2014 by Cesar Rabak

Free is nice, right?  That's why I'm evaluating KDS at the moment for a small project, which involves making MQX and RTCS work.  I'm simultaneously evaluating IAR, and at the moment I'd have to give the advantage to IAR.  For whatever reason, it seems like IAR projects are much easier to start from the ground up and actually get something that compiles and runs.  With KDS, I find myself chasing missing header files.

 

Even the provided demos are easier to run out of the box with IAR.  Take the web_hvac demo as an example.  In IAR, I merely open the build workspace which contains all of the K64's dependencies and build it.  Then I add the web_hvac project, set it as active, and debug.  Voila, it works!

 

I haven't found any equivalent to an IAR "workspace" or Visual Studio "solution" in KDS, so I manually added all of the projects like bsp, psp, etc.  Then I added the web_hvac project and built it.  I would get compiler error after error because of missing header files.  I spent a bunch of time searching the file system for them, which included:

 

"C:\Freescale\Freescale_MQX_4_1\usb\host\source\rtos\mqx\"

"C:\Freescale\Freescale_MQX_4_1\mqx\source\io\tfs\"

"C:\Freescale\Freescale_MQX_4_1\mqx\source\io\sdcard\sdcard_esdhc\"

"C:\Freescale\Freescale_MQX_4_1\mqx\source\io\sdcard\sdcard_spi\"

"C:\Freescale\Freescale_MQX_4_1\mqx\source\io\sdcard\"

"C:\Freescale\Freescale_MQX_4_1\mqx\source\io\esdhc\"

"C:\Freescale\Freescale_MQX_4_1\mqx\source\io\usb\"

"C:\Freescale\Freescale_MQX_4_1\mqx\source\io\gpio\kgpio\"

"C:\Freescale\Freescale_MQX_4_1\mqx\source\io\gpio\"

"C:\Freescale\Freescale_MQX_4_1\mqx\source\io\lwgpio\"

"C:\Freescale\Freescale_MQX_4_1\usb\common\include\"

"C:\Freescale\Freescale_MQX_4_1\mqx\source\io\enet\macnet\"

"C:\Freescale\Freescale_MQX_4_1\mqx\source\io\enet\"

"C:\Freescale\Freescale_MQX_4_1\mqx\source\io\io_null\"

"C:\Freescale\Freescale_MQX_4_1\mqx\source\io\io_mem\"

"C:\Freescale\Freescale_MQX_4_1\mqx\source\io\i2c\"

"C:\Freescale\Freescale_MQX_4_1\mqx\source\io\spi\"

"C:\Freescale\Freescale_MQX_4_1\mqx\source\io\dma\"

"C:\Freescale\Freescale_MQX_4_1\mqx\source\io\serial\"

"C:\Freescale\Freescale_MQX_4_1\mqx\source\io\lpm\"

"C:\Freescale\Freescale_MQX_4_1\mqx\source\io\cm"

"C:\Freescale\Freescale_MQX_4_1\usb\host\source\include\"

"C:\Freescale\Freescale_MQX_4_1\mqx\source\psp\cortex_m\cpu\"

"C:\Freescale\Freescale_MQX_4_1\mqx\source\psp\cortex_m\compiler\gcc_arm"

"C:\Freescale\Freescale_MQX_4_1\config\common\"

"C:\Freescale\Freescale_MQX_4_1\config\frdmk64f\"

"C:\Freescale\Freescale_MQX_4_1\mqx\source\include\"

"C:\Freescale\Freescale_MQX_4_1\mqx\source\psp\cortex_m"

"C:\Freescale\Freescale_MQX_4_1\mqx\source\bsp\frdmk64f"

 

And now I'm at a point where when I build, it can't find sdcard_esdhc.h, but the location is right there in my includes list!  Perhaps I've maxed out the number of includes allowable due to the awesome Windows command line length limitation, so now I am going to look for how to use "include files", hoping that I can just pass a filename that has all of my include paths in it...

 

Has anyone had a similar experience that can provide me with some suggestions for improving this workflow?  Thanks!

Outcomes