Hi, AHB-newbie here.
For AHB-lite is there any way that the Slave may signal to the Master that it is not ready to accept any transactions?
Driving HREADY low only extends the data phase of the current transaction.
My understanding that the MASTER always expects the respective slave to always be ready to sample the Address on the Address Phase.
Is there also any way for the slave to tell the master that the current address phase needs to be extended?
Thanks.
Appreciate the followup info.
I did consider that, ie. stalling the entire bus with HREADY low until that particular slave device is ready but in the end I worked around the top level RESET sequencing such that access to this device is made only after X ms after RESET release to meet requirements. This was not to overdesign the slave controller for now.
This is a good improvement feature to have further down the road.
Speaking on slave ERROR response, is there a standard way that the Master would handle this? I'm working with the CMSDK Cortex M0 example system and I notice an ERROR on the AHB-bus will cause the processor to go in to a HardFault.
Are there any other examples on how ERROR is handled?
I'm not really sure there can be any good "example" of how to handle an ERROR response as the master behaviour will depend completely on the reason the slave gave the ERROR response.
If the cause of the ERROR can be fixed, the master's abort handler will I guess need to interrogate the slave if there were numerous reasons why an ERROR could be returned, and then in some way reconfigure the slave or change the master's access such that the transfer when repeated now completes correctly.
But if the ERROR just signals something went wrong, and the master cannot fix that, the master either has to ignore the error (nothing can be done but it wasn't critical), or it might have to reset the system.
Unfortunately I'm guessing as I'm probably not the best person to answer this as it's more of a SW question, so might be worth posting a separate question in the software forums, and maybe there someone might be able to give you some real examples.
Sorry :)
No problems, will have a look in to the other forums. Cheers!!