1
NXPTM M522XX, KINETIS and i.MX RT / Re: Tasks & Switching from Sim to Target
« on: May 10, 2011, 07:24:56 PM »
OUCH!
In the make file, the line
INC = -I../../uTaskerV1.4
causes the GCC build to find uTaskerV1.4\TaskConfig.h not the one in the current application directory and therefore not the same one that Visual C finds during the simulator build. This explains why the GNU build wasn't barking at me when I didn't include the source files for my task in the make file...it also wasn't building the TaskConfig.h file that referred to the task, so there were no undefined references during the GNU build. And during the simulator build, Visual C was finding the proper copies, building my source files, and happy as a clam. Changing the behavior of the demo C files in my application directory still changed the behavior of the program as expected, so there weren't many other clues that it was finding the wrong .h files.
Changing the line to
INC = -I../
seems to fix everything.
Using
#if defined(_GNU)
#error "build was here"
#endif
finally illuminated the problem.
John
In the make file, the line
INC = -I../../uTaskerV1.4
causes the GCC build to find uTaskerV1.4\TaskConfig.h not the one in the current application directory and therefore not the same one that Visual C finds during the simulator build. This explains why the GNU build wasn't barking at me when I didn't include the source files for my task in the make file...it also wasn't building the TaskConfig.h file that referred to the task, so there were no undefined references during the GNU build. And during the simulator build, Visual C was finding the proper copies, building my source files, and happy as a clam. Changing the behavior of the demo C files in my application directory still changed the behavior of the program as expected, so there weren't many other clues that it was finding the wrong .h files.
Changing the line to
INC = -I../
seems to fix everything.
Using
#if defined(_GNU)
#error "build was here"
#endif
finally illuminated the problem.
John