- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I try to use the DFU-UART with a PSOC61 with one CM4 core.
But it did not work. Compiling and burning is working without error, but debugging is not possible.
I think it is because of the Linker File dfu_cm4.ld
Here are definition of Core0 and Core1, but the PSOC61 just have one core.
I use PSCO Creator 4.3 with PDL 3.1.2 (I tried with all available PDL Version from 3.0.1 on)
Is there a solution for this problem?
I was succesful with a PSOC63 already. So with a dual core it works without problem.
best regards,
Mike
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Mike,
Compiling and burning is working without error, but debugging is not possible.
Are you able to Bootload the App_1 using Bootloader Host tool or DFU host tool? Are you facing any issues in this process?
For debugging, we recommend you to do following steps:
1. Add the following code in the App_1 project.
volatile uint8_t temp = 0;
while(temp == 0)
{
}
2. Once the App_1 is bootloaded, select App_1 project in PSoC Creator work space and then select Debug--> Attach to running target.
Once it is done, you should get stuck in the above while loop. From there you can change the value of temp variable in the watch variables window and then get over the while loop.
I think it is because of the Linker File dfu_cm4.ld
Please remove the core0 part of the linker script.
Please attach the truncated version of your project. We will check the firmware flow and linker scripts once.
Thanks
Ganesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Mike,
Compiling and burning is working without error, but debugging is not possible.
Are you able to Bootload the App_1 using Bootloader Host tool or DFU host tool? Are you facing any issues in this process?
For debugging, we recommend you to do following steps:
1. Add the following code in the App_1 project.
volatile uint8_t temp = 0;
while(temp == 0)
{
}
2. Once the App_1 is bootloaded, select App_1 project in PSoC Creator work space and then select Debug--> Attach to running target.
Once it is done, you should get stuck in the above while loop. From there you can change the value of temp variable in the watch variables window and then get over the while loop.
I think it is because of the Linker File dfu_cm4.ld
Please remove the core0 part of the linker script.
Please attach the truncated version of your project. We will check the firmware flow and linker scripts once.
Thanks
Ganesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Ganesh,
thank you for your response.
How can I truncate my project?
What I simply did was to load the example "CE213903 - PSoC 6 MCU Basic Device Firmware Update (DFU)"
change the device to my PSOC61xxxx.
Put in the correct PDL path with version 3.1.0.
generate application.
The program can be compiled. (UART_APP0..) But if I program the PSOC61xxxx no LED is blinking. (I adapt the SW2 and LED Pins in the code and in the design)
If I debug the program it switches to some king of memory position 80100000 and nothing goes further on.
So I looked in the following files:
dfu_cm4.ld, dfu_cm4.scat,dfu_mdk_symbols.c,dfu_cm4.icf.
Here are definitions of memory addresses for core0 core1 app0 app1 ....
So, the PSOC61xxxx has just an CM4 core, but no CM0 core.
If I delete all entries of core0 it ends in error messages.
So is there an application note (walk through guide) to get the DFU running on a psoc61xxxx ?
thanks for your support
regards Mike