Hi.
I am writing control in C language and filter calculations in assembler for high-speed calculations.
The input consists of two different sampling signals.
Signal acquisition uses DMA interrupts, and calculations use software interrupts. Additionally, I read and write to QSPI memory while outputting signals.
Switching soft interrupts or accessing memory causes a few lines of assembly code to break and crash the system. Alternatively, crashes occur due to issues with return address or jump address.
I understand that I should not use i6/i7/m7, etc., within assembly code, but
1: What other registers besides MODE1/ASTATX/CMMR0 should be saved within assembly code?
2: I think there are registers that should be saved during interrupts. Which registers specifically?
How should this be written in C language? How should MODE1 be written?
The CMMR SYSCTL can be written as follows:
ESC_SYSCTL=*pREG_CMMR0_SYSCTL;
Thanks, Regards,
YAMAMOTO