Our company has been developing several products with PsoC 4 BLE. Until now we've always been using PsoC creator for developing prototypes and pilots firmware. Right now we've started mass production and we want to configure our PSoC 4 developments at bamboo server for continuous integration. So we've begun to develop our own scripts and makefiles to achieve the target based on gcc tool chain 4.9.3 integrated in PSoC Creator 4.0 Update 1 (126.96.36.1992).
Unfortunately, we've found a problem we cannot find a proper solution. Basically, the final .hex files running the tool chain in continuous integration and running Creator are completely different. Following the thread we've tried to simplify as much as possible the problem and we notice that objects (.o) created during compilation stage from inside PSoc Creator and from command line are different, even using the same tool chain and compiler options.
Find attached both command line, one for PSoc creator and the other for cmd tool for continuous integration. Find also the resulting objects as well as a resulting cmd output for cmd execution and finally a comparison snapshot of both final objects.
Let's comment that sometimes I have found some similar behaviour for other compilers and other uC's, usually regarding differences in compilation date, file path's, enviroment variables, etc. that were embedded in the object file content, and so the output became different. But in this case we don't find a connection between that and the completely different generated objects.
For us it does not matter if final firmware behaves the same or not, but it's required to get exactly the same output binary. In any other case we cannot trust the results and cannot go to continuous integration.
Can you help ?
Please don't hesitate to ask me for further information if required.
Thanks in advance,
EGO Appliance Controls S.L.U.
SW Group Leader