Closed ic101 closed 4 years ago
Perhaps my issues with the bootloader is the first problem of many.
After removing the bootloader to try working with the aws_demos (with no bootloader), it appears the IDE cannot find FreeRTOS.h. That's bad. It seems some other vendors are packaging this file. Microchip harmony 2.0.5 packaged this in a third party folder that is not present in the aws freertos vendor source. Perhaps I'm looking at a demo that is a few years old and no longer supported? or got left behind by changes to the aws freertos source?
Microchip seems to have moved on to Harmony 3
Is anyone else working with the pic32 mz ef curiosity board?
@ic101 ,
Thanks for bringing this issue to our attention. Please find a few suggestions that may help you with the issue that you are facing.
@leegeth,
Thank you for your response. Shortening the file path has got me building.
The instructions in the aws link are indeed what I have been following.
The project found at: projects/microchip/curiosity_pic32mzef/mplab/aws_demos ... seems setup to build the bootloader and combine the demo and bootloader binaries (unified hex files) for the pic32.
the bootloader build process is what calls the python script.
For me, OTA doesn't really matter at the moment, I'm mostly in 'Hello World' mode here. My first thought was to build however it was setup by default. I guess if a new user doesn't attempt an OTA update, they should be ok.
I am trying to evaluate aws free rtos offerings, and am having issues building the pic32mz_ef_curiosity aws_bootloader demo (which is causing the aws_demos to fail building).
I have gone through the aws tutorial to generate security certificates for the demo applications, and placed the file: aws_ota_codesigner_certificate.pem into the codesigner_cert_utility folder.
I believe the aws_ota_codesigner_certificate.pem certificate is in the correct format: -----BEGIN CERTIFICATE----- ... ... numbers i don't care to share ... ... -----END CERTIFICATE-----
There is a pre-build python script that is supposed to generate a header file. It's executed with this line from the IDE: python ../../../../../vendors/microchip/boards/curiosity_pic32mzef/bootloader/bootloader/utility/codesigner_cert_utility/codesigner_cert_utility.py ../../../../../vendors/microchip/boards/curiosity_pic32mzef/bootloader//bootloader/utility/codesigner_cert_utility/aws_ota_codesigner_certificate.pem ../../../../../vendors/microchip/boards/curiosity_pic32mzef/bootloader//bootloader/include/aws_boot_codesigner_public_key.h
I tried replacing the two // with / thinking python may handle it funny, but no luck.
There are multiple issues at build time:
The python script is throwing an exception with the file present:
I have checked the file name and path and they appear correct. Perhaps I am having a version problem when python calls OpenSSL.crypto.load_certificate? Or maybe the key is incorrectly formatted?
I would like to help get this demo working, but I am not very good with python.
There also seems to be an assembly issue that I will try to bring up with Microchip.
Development Environment: Windows 10, Mplab X v5.35, XC32 2.20, Python 3.8.4