DFU Sample project "PSoC6DfuBasicApp0Uart " bootloader error when loading app1

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

cross mob
wistc_299286
Level 3
Level 3
10 replies posted 10 sign-ins First solution authored

Hi Cypress forum,

We need to add the DFU module to our application to make firmware changes in the field with our application. I am using the PSoC6DfuBasicApp0Uart project on the CYBLE-416045-02 43-SMT evaluation board with the kitprog2 in PSoC Creator to run the example project with the intent of learning how the DFU module works to incorporate in our design. The chip in our application will be the CY8C6247FDI-D32 80-WLCSP.

I've had no issue building the project, debugging, and programming the project to the board. The only modification to the project I made is changing the device to the CYBLE-416045-02 43-SMT and reassigning the LED outputs so that the correct port blinks the led. This seems to be working correctly and I did the same for the app1 sister program for the example. Both sample programs can be programmed with SWD with the kit prog and the light blink as indicated in the included application instructions. 

My issue is that when I open the Bootloader Host program and try to load app1 I repeatedly get this error:

09:03:20 AM - The bootloader reported error 'The flash row is not valid for the selected array.'.

I'm not sure what to do here as I have not be able to successful load app1 into the chip with app0. I have studied the code and the module flash organization in the sample project and I don't see the conflict. The memory organization defined in dfu_mdk_common.h looks good, and I confirmed this with a flash read from the programmer. I was also able to debug app0 and set a break point to trigger when the Boot Loader failed, but I am not able to see the failure status. I also compared the memory reads to App0 and app0 after a failed read to see if the flash memory was modified after the failed boot load. There was no difference.   

I am open to any other suggestions. I need a working DFU UART reference system so that I can start integrating the DFU into our application. 

Screenshot 2022-11-11 093042.png

 

 

0 Likes
1 Solution

Hello zhichao,

I modified the linker files as per the project directions and I was able to get app1 to load into app0 DFU functionality. Thank you for pointing me in the right direction.  It's really important to have a working reference system to start development with. 

View solution in original post

0 Likes
4 Replies
YuZh
Moderator
Moderator
Moderator
100 replies posted 10 likes received 50 sign-ins

Hi:

I strongly recommend you that try to use the MTB tools. Because PSOC Creator is old IDE, we will never maintain it. So please try to use MTB to generate code examples to do it again.

Thanks

zhichao

0 Likes
wistc_299286
Level 3
Level 3
10 replies posted 10 sign-ins First solution authored

Hi zhichao,

I was able to download MTB tools. The MTB tool box looks much better then it did several years ago when I first tried it out. However, there is bit of a learning curve and I haven't been able to get the sample applications working yet in MTB tools. I will continue to learn MTB tools see how I can port my main project from creator to MTB tools.

That being said I'm not sure my issue is the IDE. The sample projects were downloaded from creator sample codes and they compile correctly. They both have the same compiler settings. I can set a breakpoint and watch the DFU functions when I initialize a boot load from app1. I'm not understanding what's going on.

If you do think that the sample apps don't function correctly because they were built with creator, is there a DFU sample project using UART in MTB tools that you recommend? 

0 Likes
YuZh
Moderator
Moderator
Moderator
100 replies posted 10 likes received 50 sign-ins

Hi:

After discussion with my colleague, we guess that you need to modify the ld file correctly. Please refer to this doc: https://documentation.infineon.com/html/psoc6/hzt1667483412402.html

zhichao

0 Likes

Hello zhichao,

I modified the linker files as per the project directions and I was able to get app1 to load into app0 DFU functionality. Thank you for pointing me in the right direction.  It's really important to have a working reference system to start development with. 

0 Likes