During the testing of the latest B0 silicon RTD in CRS, a flash operation leads to a bus fault in the following scenario:
1. A read operation of the external flash of sector size 256Kb is triggered in the 1000ms OS task. This request is being processed in the 1000ms task in a continuous loop until the operation is completed.
2. During the processing of read operation in 1000ms task, a higher priority 0.5ms task is cancelling this read operation. The cancellation of this read operation is successful in the higher priority task. But when the context is restored to the 1000ms task where the read operation had been initiated the core gets a bus fault.
The customer put main in while loop until the current job is processed. They can always reproduce this scenario on RDB.
Hi @haoyue-yan,
Based on the customer's situation as your message described. I suppose that this issue occurred because they invoked MemAcc_Mainfunction in both read and cancel task. They should invoke MemAcc_Mainfunction in only a task periodically (as the MemAcc MainFunction Period configured).
Best regards,
Dan
Hi @haoyue-yan,
Could you let me know their flow-code?
For example:
Best regards,
Dan
Hello Dan,
Please find the attached .xdm files. Let me know if you can't download.
Hello Dan,
Thanks for your response.
Hello @haoyue-yan,
Look like this issue is related to your OS environment instead of RTD driver.
1. Did you enable "Mem MainFunction Period" for using in OS environment?
2. Your images are quite blur, I can't see in details. Could you send images again with bigger size?
3. what is the RTD package version you used?
Best regards,
Dan