These peripherals all have different protocols and requirements. The STM32F407 micro-controller is capable of interfacing to a large range of peripheral devices or sub-systems. * Clear the interrupt on the interrupt controllerĪfterwords we try to get for example AIC_IVR from pAic with code:ĭoes someone know where the problem lies? My compiler does not recognize the fields in my structure.Basic clock circuitry for the STM32F407 ARM processor. PAic->AIC_SVR = (unsigned int) newHandler
* Save the interrupt handler routine pointer and the interrupt priority Void (*newHandler) () ) // \arg address of the interrupt handler Unsigned int src_type, // \arg activation and sense of activation Unsigned int priority, // \arg priority to give to the interrupt Unsigned int irq_id, // \arg interrupt number to initialize _inline unsigned int AT91F_AIC_ConfigureIt (ĪT91PS_AIC pAic, // \arg pointer to the AIC registers In file: lib_AT91SAM7S64.h the pointer is being copied to pAic in the first line of Configuration
In file: AT91SAM7S64.h is the struct being made, with at the end a pointer *AT91PS_AIC ĪT91_REG AIC_SMR // Source Mode RegisterĪT91_REG AIC_SVR // Source Vector RegisterĪT91_REG AIC_ISR // Interrupt Status RegisterĪT91_REG AIC_IPR // Interrupt Pending RegisterĪT91_REG AIC_IMR // Interrupt Mask RegisterĪT91_REG AIC_CISR // Core Interrupt Status RegisterĪT91_REG AIC_IECR // Interrupt Enable Command RegisterĪT91_REG AIC_IDCR // Interrupt Disable Command RegisterĪT91_REG AIC_ICCR // Interrupt Clear Command RegisterĪT91_REG AIC_ISCR // Interrupt Set Command RegisterĪT91_REG AIC_EOICR // End of Interrupt Command RegisterĪT91_REG AIC_SPU // Spurious Vector RegisterĪT91_REG AIC_DCR // Debug Control Register (Protect)ĪT91_REG AIC_FFER // Fast Forcing Enable RegisterĪT91_REG AIC_FFDR // Fast Forcing Disable RegisterĪT91_REG AIC_FFSR // Fast Forcing Status Register I also have this with other structures who have been made. I found that the problem lies in the pointer to a variable of the pPDC struct.
#Iar arm warning redefinition of micro code#
What is wrong? It's code from the SAM7 example who was delivered to me and is normally working with Keil RVDM compiler (I think) \ARM7_AT91SAM7S64_KEIL_RV\lib_AT91SAM7S64.h(311): error: #134: expected a field nameģ08 _inline int AT91F_PDC_IsT圎mpty ( // \return return 1 if transfer is completeģ09 AT91PS_PDC pPDC ) // \arg pointer to a PDC controllerģ11return !(pPDC->PDC_TCR) This gives the error I do also have 30 errors with the same fault: How can I avoid this problem? Where should I include this file? This is probably because I include the lib_AT91SAM7S64.h in my AT91SAM7S64_inc.h file wich is linked a couple of times. \ARM7_AT91SAM7S64_KEIL_RV\AT91SAM7S64_inc.h(71): warning: #47-D: incompatible redefinition of macro "AT91C_AIC_PRIOR" (declared at line 192 of ".\.\Source\portable\Keil\SAM7\AT91SAM7S64.h") Now almost all my errors are gone but I always have following warning: I have include the portable.h and portmacro.h (from keil arm7) in the project also the AT91SAM7S64_inc.h and lib_AT91SAM7S64.h files.