7.15. External Aborts

In addition to the MMU-generated aborts, ARM720T has an external abort pin, BERROR, which may be used to flag an error on an external memory access. However, not all accesses can be aborted in this way, so this pin must be used with great care. The following information describes the restrictions.

The following accesses may be aborted and restarted safely. If any of the following are aborted the external access stops on the next cycle.

In the case of a read-lock-write sequence in which the read aborts, the write does not happen.

Cacheable reads (linefetches)

A linefetch may be safely aborted on any word in the transfer.

If an abort occurs during the linefetch, the cache is purged, so it does not contain invalid data.

If the abort happens on a word that has been requested by the ARM720T, it is aborted, otherwise the cache line is purged but program flow is not interrupted. The line is therefore purged under all circumstances.

Buffered writes

Buffered writes cannot be externally aborted. Therefore, the system should be configured such that it does not attempt buffered writes to areas of memory which are capable of flagging an external abort.

Note

Areas of memory which can generate an external abort on a location which has previously been read successfully must not be marked a cacheable or unbufferable. This applies to both the MMU page tables and the configuration register. If all writes to an area of memory abort, it is recommended that you mark it as read-only in the MMU, otherwise mark it as uncacheable and unbufferable.

Copyright © 1997, 1998 ARM Limited. All rights reserved.DDI 0087E
Non-Confidential