Hello,

Let's assume the debugger uses the direct system bus access to set a software 
breakpoint on address 'A', which means it temporarily write an 'EBREAK' into 
the data memory at address 'A', but the core may has already cached the memory 
data 'X' of an address 'A' in the data cache. In order to achieve that the core 
will execute the new 'EBREAK' instruction instead of the originally cached data 
'X, the debugger needs to flush the core's data cache before set a software 
breakpoint.

I have two ideas:
1. OpenOCD tries to execute cbo.flush before write memory via sysbus, but this 
destroys the benefits of sysbus access.
2. Restricting software breakpoint settings can only be done through progbuf 
and abstract, but restricting set a software breakpoint via sysbus seems 
unreasonable.

Can anyone have any suggestions?



This message and any attachment are confidential and may be privileged or 
otherwise protected from disclosure. If you are not an intended recipient of 
this message, please delete it and any attachment from your system and notify 
the sender immediately by reply e-mail. Unintended recipients should not use, 
copy, disclose or take any action based on this message or any information 
contained in this message. Emails cannot be guaranteed to be secure or error 
free as they can be intercepted, amended, lost or destroyed, and you should 
take full responsibility for security checking. 
 
本邮件及其任何附件具有保密性质,并可能受其他保护或不允许被披露给第三方。如阁下误收到本邮件,敬请立即以回复电子邮件的方式通知发件人,并将本邮件及其任何附件从阁下系统中予以删除。如阁下并非本邮件写明之收件人,敬请切勿使用、复制、披露本邮件或其任何内容,亦请切勿依本邮件或其任何内容而采取任何行动。电子邮件无法保证是一种安全和不会出现任何差错的通信方式,可能会被拦截、修改、丢失或损坏,收件人需自行负责做好安全检查。


Reply via email to