I have a customer who is trying to build a simple MITA project. He has tried with two Windows laptops and has been having a lot of trouble getting the application to compile and when it does compile the project often says invalid applcation.
He has worked with two computers. After sometime with both computer the application no longer builds. I have attached the build log for when the application stops building. It points to a windows issue. Why does this stop working after sometime and how can we repair this issue.
Before this issue occurs he was able to get the project to build, but he often runs into an issue where after flashing the file it will say this in the console log
INFO | Flashing file 'C:/Users/matthew.saliken/XDK-Workspace/Accel/src-gen/debug/ClogDetection.bin'...
INFO | XDK DEVICE 1: Ready
INFO | XDK DEVICE 1: C
INFO | XDK DEVICE 1: XMODEM Download Success
INFO | XDK DEVICE 1: c
INFO | XDK DEVICE 1: CRC of application area
INFO | XDK DEVICE 1: CRC0000FB56
INFO | Application checksum 'fb56' successfully verified.
INFO | Transmission successfully completed!
INFO | Booting application...
INFO | XDK DEVICE 1: Performing application CRC validation (this will take a couple of seconds)
INFO | XDK DEVICE 1: Application Firmware Corrupted
INFO | XDK DEVICE 1: Invalid application
INFO | XDK DEVICE 1: Jumping to application on button 2 press
INFO | XDK DEVICE 1: Application Firmware Corrupted
I have worked with him on this and directed him to force the code to compile for his XDK's Bootloader (v1.2) and even though he got it to work once or twice, after a few attempts, it starts to fail again with the same issues. We have also added the XDK Nature to the project and refreshed the index. I have also asked him to clear out the console widows logs periodically, as I know when running a program that fills up the console window with too much data will cause the XDK to crash.
I have not been able to reproduce this issue and am not sure what else we can to to solve the issue. Please let me know what he can try to fix the issue.
Thank you for your support.
Solved! Go to Solution.
“Invalid application” error comes when the user is trying to flash an application which is not compatible with the bootloader version running in XDK device.
I am using 64bit operating system, x64 based processor.
I am able compile the MITA project successfully many times. I was not able to reproduce "Couldn't reserve space for cygwin's heap" compilation error.
In some forum, they are recommended to use the 64-bit version, inorder to avoid "Couldn't reserve space for cygwin's heap" error
Restarting the computer to clean the address space might solve "Couldn't reserve space for cygwin's heap" error.
I understand the Invalid Application is when the bootloader version is incorrect, but we have set up the bootloader for their workbench and for the individaul project to match their XDK's bootloader and this error still pops up.
I will try to understand his system better for the heap issue. Right now they are using their personal computer to get it to work.
Thanks for your help in understanding.
Technical Reason for getting an "Invalid Application" error message in XDK Workbench console is,
User has compiled the application binary file for specific bootloader version(Example: v0.0.10). When user trying to flash the same application binary file(which is compatible only for v0.0.10 device) into XDK device having different bootloader version(Example: v1.2.0). Then the user may get "Invalid Application" Error message in XDK Workbench console
I have added little bit more clear and detail steps below to understand the reason for getting "Invalid Application" error message in XDK Workbench console .
1. Right Click on XDK device, Selected 'Flash Bootloader' option. Select v0.0.10 Bootloader version -> v0.0.10 Bootloader version was successfully flashed into XDK device.
2. Selected "LedsAndButtons" project and Right clicked and Selected Build option -> "LedsAndButtons" application binary file was successfully generated for v0.0.10 Bootloader version.
3. Selected "LedsAndButtons" project and Clicked "Flash" Button -> Application was flashed successfully into the XDK device having v0.0.10 Bootloader version.
4. Right Click on XDK device, Selected 'Flash Bootloader' option. Select v1.2.0 Bootloader version -> v1.2.0 Bootloader version was successfully flashed into XDK device. Device was in Bootloader mode.
5. Selected "LedsAndButtons" project and Clicked "Flash" Button.
Workbench doesn't automatically compile the application for newer or current running bootloader version(v1.2.0) in device.
Instead Workbench flashed the binary file which was generated in Step-2.
Binary file generated in step-2 is compatible only for the devices having v0.0.10 Bootloader version.
Binary file generated in step-2 is not compatible for the device having v1.2.0 Bootloader version.
This is the reason why the user was getting "Invalid application" error message in XDK Workbench console.
Workbench does not automatically compile and flash the application based on the Bootloader version running on the device.
User has to make sure to Re-compile the application based on the bootloader version running on the device and then flash the application.
The user I have been helping, had been instructed to set the bootloader version for his project and for the Workbench to version 1.2, as this is the version of his XDK. He had also been instructed to clean and build the project before he attempted to flash his XDK. After some time this still proved to be iffy at best, as he still receieved the Invalid Application error on occasion when flashing his XDK.