AnsweredAssumed Answered

fNET bootloader, invalid storage class for function

Question asked by João Ribeiro on Jul 3, 2019
Latest reply on Jul 4, 2019 by Alexis Andalon

Hello NXP community,

 

I am using an Kinetis MK64FX512 and trying to build an ethernet bootloader.

I have started from scratch by creating a new project on MCUXpresso and then begin to import the libraries needed. I have copied fnet_stack and fnet_application from the FNET4.6.3 package and my main has the fapp_main() and fapp_hw_init()

 

The issue is that when I finally import the fnet_application folder and set it in the tool setting include, I get a massive number of compiling erros such as:

 

../CMSIS/cmsis_gcc.h:126:53: error: invalid storage class for function '__enable_irq'

__attribute__((always_inline)) __STATIC_INLINE void __enable_irq(void)

                                                     ^~~~~~~~~~~~

../CMSIS/cmsis_gcc.h:137:53: error: invalid storage class for function '__disable_irq'

__attribute__((always_inline)) __STATIC_INLINE void __disable_irq(void)

                                                     ^~~~~~~~~~~~~

../CMSIS/cmsis_gcc.h:148:57: error: invalid storage class for function '__get_CONTROL'

__attribute__((always_inline)) __STATIC_INLINE uint32_t __get_CONTROL(void)

                                                         ^~~~~~~~~~~~~

../CMSIS/cmsis_gcc.h:178:53: error: invalid storage class for function '__set_CONTROL'

__attribute__((always_inline)) __STATIC_INLINE void __set_CONTROL(uint32_t control)

                                                     ^~~~~~~~~~~~~

../CMSIS/cmsis_gcc.h:202:57: error: invalid storage class for function '__get_IPSR'

 

It continues for a lot more.

 

At the cmsis_gcc.h (that I have not changed) I have :

 

/**

  \brief   Enable IRQ Interrupts

  \details Enables IRQ interrupts by clearing the I-bit in the CPSR.

           Can only be executed in Privileged modes.

*/

__attribute__((always_inline)) __STATIC_INLINE void __enable_irq(void)

{

  __ASM volatile ("cpsie i" : : : "memory");

}

 

Do you guys have any idea on what am I missing ?

 

Thank you very much in advance

 

Best regards

Outcomes