Announcements

Help us improve the Power & Sensing Selection Guide. Share feedback

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
JaWa_4152831
Level 3
Level 3
10 replies posted 10 questions asked 5 replies posted

Computer OS Windows 10

IDE PSoC Creator 4.2

chip family: PSoC 63

Chip name: CYBLE-416045-02

Example CE216767 (attached)

PDL: 3.10

DFU SDK: 3.0.0

CySmart 1.3

using the attached example I Ported App0 into my project I can load app0 (bootloader project) and update using the cysmart app. but then app1 does not run. even debugging does not work.

when i directly program app1 it does not run.

in the example project I can load the bootloader and update app1 and it runs but programming app1 directly does not work.

what am I missing?

why can I not program App 1 (loadable project)

why does the app1 loadable project not run when I update it from cysmart?

0 Likes
1 Solution
GeonaP_26
Moderator
Moderator
Moderator
5 sign-ins 250 solutions authored 100 solutions authored

Application 0 and Application 1 are separate PSoC Creator projects. To combine both applicatio­ns, please use merge option (-M) available in CyMCUElfTool. It allows user to combine multiple elf and generate combined hex file. Note that .elf files are not allowed to have common memory ranges with different contents. Please run following command in command prompt to merge multiple application images.

“[Path of installation folder of PSoC 6 PDL]\PDL\[version of PDL]\ tools\win\elf\cymcuelftool.exe" -M [Path of App0 .elf file] [Path of App1 .elf file] . . . [Path of AppN .elf file]--output [Path to save merged .elf file] --hex [Path to save merged .hex file]


Eg: "C:\Program Files (x86)\Cypress\PDL\3.1.0\tools\win\elf\cymcuelftool.exe" -M PSoC6DfuBleApp0.cydsn\CortexM4\ARM_GCC_541\Debug\PSoC6DfuBleApp0.elf PSoC6DfuBleApp1.cydsn\CortexM4\ARM_GCC_541\Debug\PSoC6DfuBleApp1.elf --output MergedApp0_App1.elf --hex MergedApp0_App1.hex

For more details, refer to CyMCUElfTool User Guide available as part of PSoC Creator installation directory: C:\Program Files (x86)\Cypress\PDL\3.1.0\doc\cymcuelftool_user_guide.pdf

View solution in original post

3 Replies
GeonaP_26
Moderator
Moderator
Moderator
5 sign-ins 250 solutions authored 100 solutions authored

Application 0 and Application 1 are separate PSoC Creator projects. To combine both applicatio­ns, please use merge option (-M) available in CyMCUElfTool. It allows user to combine multiple elf and generate combined hex file. Note that .elf files are not allowed to have common memory ranges with different contents. Please run following command in command prompt to merge multiple application images.

“[Path of installation folder of PSoC 6 PDL]\PDL\[version of PDL]\ tools\win\elf\cymcuelftool.exe" -M [Path of App0 .elf file] [Path of App1 .elf file] . . . [Path of AppN .elf file]--output [Path to save merged .elf file] --hex [Path to save merged .hex file]


Eg: "C:\Program Files (x86)\Cypress\PDL\3.1.0\tools\win\elf\cymcuelftool.exe" -M PSoC6DfuBleApp0.cydsn\CortexM4\ARM_GCC_541\Debug\PSoC6DfuBleApp0.elf PSoC6DfuBleApp1.cydsn\CortexM4\ARM_GCC_541\Debug\PSoC6DfuBleApp1.elf --output MergedApp0_App1.elf --hex MergedApp0_App1.hex

For more details, refer to CyMCUElfTool User Guide available as part of PSoC Creator installation directory: C:\Program Files (x86)\Cypress\PDL\3.1.0\doc\cymcuelftool_user_guide.pdf

I added the this line to the .bat file and am getting and  cannot read elf error.

"C:\Program Files (x86)\Cypress\PDL\3.1.0\tools\win\elf\cymcuelftool.exe" -M ..\PSoC6DfuBleApp0.cydsn\CortexM4\ARM_GCC_541\Debug\PSoC6DfuBleApp0.elf PSoC6DfuBleApp1.cydsn\CortexM4\ARM_GCC_541\Debug\PSoC6DfuBleApp1.elf --output MergedApp0_App1.elf --hex MergedApp0_App1.hex

error:

------------------------------------------

  Post-build commands for Cortex-M4 core

------------------------------------------

C:\Users\w-wow\Documents\Green Mountain Docs\Cypress\OTA DFU\BioCheck_OTA\PSoC6DfuBleApp1.cydsn>"C:\Program Files (x86)\Cypress\PDL\3.1.0""\tools\win\elf\cymcuelftool.exe" -S .\CortexM4\ARM_GCC_541\Debug\PSoC6DfuBleApp1.elf CRC

Found section .cy_app_signature, attempting to sign application

SUCCESS: application signature calculated and stored in section .cy_app_signature

Application checksum calculated and stored in ELF section .cychecksum

Checksum calculated and stored in ELF section .cymeta

C:\Users\w-wow\Documents\Green Mountain Docs\Cypress\OTA DFU\BioCheck_OTA\PSoC6DfuBleApp1.cydsn>"C:\Program Files (x86)\Cypress\PDL\3.1.0""\tools\win\elf\cymcuelftool.exe" -M ..\PSoC6DfuBleApp1.cydsn\CortexM4\ARM_GCC_541\Debug\PSoC6DfuBleApp1.elf .\PSoC6DfuBleApp0.cydsn\CortexM4\ARM_GCC_541\Debug\PSoC6DfuBleApp0.elf --output MergedApp0_App1.elf --hex MergedApp0_App1.hex

.\PSoC6DfuBleApp0.cydsn\CortexM4\ARM_GCC_541\Debug\PSoC6DfuBleApp0.elf: Failed to open .\PSoC6DfuBleApp0.cydsn\CortexM4\ARM_GCC_541\Debug\PSoC6DfuBleApp0.elf

The command 'post_build_core1.bat' failed with exit code '1'.

--------------- Build Failed: 08/12/2019 19:45:29 ---------------

0 Likes

Both applications can be merged using the command prompt or PSoC Creator post-build user commands. Elf file locations can be provided as relative or forced.

“[Path of installation folder of PSoC 6 PDL]\PDL\[version of PDL]\ tools\win\elf\cymcuelftool.exe" -M [Path of App0 .elf file] [Path of App1 .elf file] . . . [Path of AppN .elf file]--output [Path to save merged .elf file] --hex [Path to save merged .hex file]

  1. In the previously shared command, file paths are relative to the workspace folder. pastedImage_2.png

 

   2. To force the project file paths in the post_build_core1.bat, please provide exact file paths or relative to the App1 cydsn folder.

   3. For generic post-build command, please follow the steps elaborated in Generate Combined Hex File for PSoC 6 MCU Basic Device Firmware Update - KBA227138.

        Please add the following lines in App1 post_build_core1.bat.

       

@rem Merges App0 and App1 into a single hex file for easier programming

%CY_MCU_ELF_TOOL% -M %OUTPUT_DIR%\%PRJ_NAME%%ELF_EXT% ..\App0%ELF_EXT% --output %OUTPUT_DIR%\%PRJ_NAME%_merged%ELF_EXT% --hex %OUTPUT_DIR%\%PRJ_NAME%.hex

0 Likes