2023-01-29 09:22 PM
Hello,
I'm working on my customized board with STM32H747XIH6 MCU which is connected to the DPRAM (Part No: 70T653MS12BCGI). The connectivity is as follows.
While I'm trying to read and write from the DPRAM after 22 locations the software hangs
I have attached my code snippet hardware configuration file and console message below for your reference.
uint8_t MemCheck(uint32_t startAdd, uint32_t endAdd)
{
uint8_t jCount = 0;
uint32_t iCnt = 0;
uint32_t Data = 0;
uint32_t AddRange = 0;
unsigned int addout = 0;
AddRange = (endAdd - startAdd)/4;
for(jCount = 0; jCount < 4; jCount++)
{
for(iCnt = 0; iCnt < AddRange; iCnt++)
{
addout = startAdd;
addout = startAdd+(iCnt*4);
*(uint32_t*) (addout) = addout;
}
for(iCnt = 0; iCnt < AddRange; iCnt++)
{
addout = startAdd+(iCnt*4);
Data = *(uint32_t*)(addout);
if(Data != addout)
{
return 0xFF; //Test Failed
}
}
}
return 0x00;
}
Console Message :
handle_vCont_t, Failed halting thread
handle_vCont_t, Failed halting thread
Kindly help me figure out the issue as to where is the fault I'm not able to detect the DPRAM.
Solved! Go to Solution.
2023-02-08 05:26 AM
Finally The issue has been solved.
Under the SRAM configuration :
I disabled the wait (Previously it was in asynchronous mode)
and also disabled the Byte enable (Previously it was 32- bit Byte enable)
Though I still don't understand how the asynchronous mode would effect here.
If someone could explain me that it would be great help.
Thank you all for your help and time.
2023-01-30 12:03 AM
>>customized board with STM32H747XIH6 MCU.
Did you rule out issues in the PCB trace layout?
Does it matter which 22 locations you read?
2023-01-30 01:48 AM
Hello Javier,
Thank you for your response.
>>Did you rule out issues in the PCB trace layout?
Yes we have worked that out.
>>Does it matter which 22 locations you read?
As we have tried reading and writing to different locations and in the code provided above we can provide a range of addresses.
We are able to read and write from any 22 locations while performing the 23rd write/read operation the software gets stuck.
While debugging when I open the Memory debug window the code stops working and it prints "Target lost connection" in the console.
2023-02-06 02:23 AM
Hello,
I'm still stuck with this issue kindly help me to solve the same.
Thank you
2023-02-06 04:22 AM
>>We are able to read and write from any 22 locations while performing the 23rd write/read operation the software gets stuck.
Understood, does it matter how long does it take you to read those 23 addresses? (adding debugging breaks in between each reading)
>>While debugging when I open the Memory debug window the code stops working and it prints "Target lost connection" in the console.
This is very interesting, how are you debugging the board?
Stlink? you could post your cubeMx file and/or pcb details of the debugging connector
2023-02-06 09:58 PM
>>Understood, does it matter how long does it take you to read those 23 addresses? (adding debugging breaks in between each reading)
No that doesn't matter as of now as I just want read and write continuously from the DPRAM.
>>This is very interesting, how are you debugging the board?
Yes, I'm using STLINK-V3SET for debugging.
I have attached my CubeMX report file in the beginning of this query.
2023-02-07 04:13 AM
Did you already try a simple looped byte write and read back?
And how have you ensured that the variables are in the external RAM?
2023-02-08 05:26 AM
Finally The issue has been solved.
Under the SRAM configuration :
I disabled the wait (Previously it was in asynchronous mode)
and also disabled the Byte enable (Previously it was 32- bit Byte enable)
Though I still don't understand how the asynchronous mode would effect here.
If someone could explain me that it would be great help.
Thank you all for your help and time.