Could you help me to solve the problem.Do you have the code to verify the thumb instruction ? If have,the code can check any corner the functions of thumb instructions
Joseph Yiu said:understand the memory map of the device to see if the error is caused by an access to illegal address
hyue: in addition, note that (some?) chips will give a hardfault if you try to access a peripheral which has not been enabled.
So, as well as ensuring that an address is legal, you also have to ensure that it is in a valid state.
Some chips allow you to turn off parts of the memory to save power - I guess that could also be a source of a hardfault if you try to access disabled memory ... ?
Hi Andy,
That's true. But as the question is about memory testing, I would expect the program would have enabled the memories before starting the test ;-)
(Note: for memories it is less common for it to be disabled at start. e.g. imagine you want to place the stack at the top of the RAM and by default that memory range is disabled, your SystemInit and C startup code won't be able to run).
regards,
Joseph