ErichStyger / McuOnEclipse_PEx

McuOnEclipse Processor Expert Source Files and Components
Other
66 stars 30 forks source link

MCUx.h which is includes when assembling portasm.s causes problems with IAR #24

Closed martin-mm closed 7 years ago

martin-mm commented 7 years ago

MCUx.h which is includes when assembling portasm.s causes problems with IAR since is included then which only works with the compiler

MCUx.h includes Cpu.h:

if MCUC1_CONFIG_SDK_VERSION_USED == MCUC1_CONFIG_SDK_PROCESSOR_EXPERT

/ Include shared modules, which are used for whole project /

include "PE_Types.h"

include "PE_Error.h"

include "PE_Const.h"

include "IO_Map.h"

include "Cpu.h" / include CPU related interfaces and defines /

Cpu.h includes PE_Types.h which includes which includes

The problem with the IAR is now that portasm.s includes FreeRTOSConfig.h which includes MCUx.h. Yvals.h now can only be used with the compiler but not with the assembler:

if (IAR_SYSTEMS_ICC < 8) || (IAR_SYSTEMS_ICC > 8)

error " compiled with wrong (version of IAR) compiler"

endif

martin-mm commented 7 years ago

Solution to this:

When generating MCUx.h then exlude the include-files if IAR assembler is running:

if MCUC1_CONFIG_SDK_VERSION_USED == MCUC1_CONFIG_SDK_PROCESSOR_EXPERT

/ Include shared modules, which are used for whole project /

ifndef IASMARM

include "PE_Types.h"

include "PE_Error.h"

include "PE_Const.h"

include "IO_Map.h"

include "Cpu.h" / include CPU related interfaces and defines /

endif

martin-mm commented 7 years ago

should be: #ifndef IASMARM

martin-mm commented 7 years ago

ifndef IASMARM

bugtracker seems to eat the leading and trailing two underscored

ErichStyger commented 7 years ago

Thanks, I have fixed that one and verified it with IAR using a FreeRTOS project. The fix is in https://github.com/ErichStyger/McuOnEclipse_PEx/commit/076353b9b7216c1840d31c37d44bc65ce9776425. Additionally, I had to update the port file for using the new macros in case the Kinetis SDK is used (might not be the case for you), see https://github.com/ErichStyger/McuOnEclipse_PEx/commit/a17211a92e893f26140bd3629d93e2888db2302c