¿Se soportan LDRH / STRH no alineados en Cortex M3 / M0?

0

¿Todos los núcleos Cortex M0 / M3 pueden hacer esto?

LDRH r0, [0x8001]

Esto sugeriría que sí, pero No veo nada específico sobre los núcleos Cortex-M.

    
pregunta odinthenerd

1 respuesta

1

1) Como Cortex-M conjunto de instrucciones doc sugiere, la construcción en su ejemplo no cumple con la sintaxis. El segundo operando debe ser un registro con compensación inmediata opcional.

2) Como restricciones de instrucción En este estado, la dirección calculada debe ser divisible por el número de bytes en la transacción. En tu caso es una media palabra, por lo tanto, divisible por dos.

3) Generalmente (para Cortex-M0), esta página indica que:

  

Un acceso alineado es una operación donde se usa una dirección alineada con palabras   para una palabra, o acceso a múltiples palabras, o donde una media palabra alineada   La dirección se utiliza para un acceso de media palabra. Los accesos byte son siempre.   alineado. No hay soporte para accesos no alineados en el Cortex-M0   procesador. Cualquier intento de realizar una operación de acceso a la memoria no alineada   da como resultado una excepción HardFault.

    
respondido por el Eugene Sh.

Lea otras preguntas en las etiquetas