This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[FAQ] AM6442: ROV throwing exception for NoLoad memory section

Part Number: AM6442

I am Runtime Object View in my application and it throws expection when I keep Heap section into the NoLoad memory region.

image.png

Note: The issue is specific to CCS Eclipse based IDE (CCS v12.8.1).

Please refer below error message.

obrazek.png

  • The above error is coming because the debugger cannot read the memory address at location 0x70100de0. The ROV code used to read this memory uses a fetchArray function which cannot read the memory content because it is either uninitialized or corrupt. Please refer the above error message.

    We need to modify the code for ROV to use fetchFromAddress API instead of fetchArray API.

    Modify the getTaskFreeStackSize function located at ${MCU+SDK}/source/kernel/freertos/rov/FreeRTOS.rov.js file with the below provided code.

    function getTaskFreeStackSize(stackBase, currentTaskSP)
    {
        let skipSize = 128;
    
        /*
            * We don't know the size of the task stack, so look every n bytes :(
            */
    
        let stackData = Program.fetchFromAddr(stackBase, "uint32_t");
        let index = stackBase;
    
        /*
            * Find the first non-0xa5.
            */
        while ((stackData == 0xa5a5a5a5) &&
               (index < currentTaskSP)
            ) {
            index += skipSize;
            stackData = Program.fetchFromAddr(index, "uint32_t");
        }
    
        if (stackBase >= index)
        {
            return "STACK OVERFLOW";
        }
        else {
            return index - stackBase;
        }
    }
      

    Once the above modification is done, re-open the ROV view and it should then work as expected.