- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Application 0 and Application 1 are separate PSoC Creator projects. To combine both applications, 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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Application 0 and Application 1 are separate PSoC Creator projects. To combine both applications, 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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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 ---------------
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
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