With the latest changes in the code, the application still does not succeed executing the whole application. Stopping the core in the debugger shows that it is looping forever in the Xil_Assert
function.
AMD provides an assertion API in the standalone API that can be used to check whether a condition is met at particular times in the execution. This API is commonly used within the AMD BSP drivers as well as in your application code. To check how a processor ends up on a certain point in the code, the call stack or backtrace feature within the IDE can be helpful.
Select the lowercase function line in the backtrace of the Cortex-A53#0 target in the Debug window to check which line actually calls the assertion function.
Reviewing the code line originating the assertion, you can see that the conditional statement has not been met, and that there is a bug in the code (the comparison should be lower than or equal to SIZE
). Modify the line to use the corret assertion statement:
Xil_AssertNonvoid(size <= SIZE);
Build the application and launch the debug session again. This time, the application is executed completely and the exit point is reached.