ARM-software / CMSIS_5

CMSIS Version 5 Development Repository
http://arm-software.github.io/CMSIS_5/index.html
Apache License 2.0
1.32k stars 1.08k forks source link

Add #ifndef in ARMCM33.h #965

Open nrj-gif opened 4 years ago

nrj-gif commented 4 years ago

Please add #ifndef in CMSIS_5\Device\ARM\ARMCM33\Include\ARMCM33.h (and other header files as well) file as shown below so that macros can be overridden in makefile.

`#ifndef __SAUREGION_PRESENT

define __SAUREGION_PRESENT 0U / SAU regions present /

endif

ifndef __MPU_PRESENT

define __MPU_PRESENT 1U / MPU present /

endif

ifndef __VTOR_PRESENT

define __VTOR_PRESENT 1U / VTOR present /

endif

ifndef __NVIC_PRIO_BITS

define __NVIC_PRIO_BITS 3U / Number of Bits used for Priority Levels /

endif

ifndef __Vendor_SysTickConfig

define __Vendor_SysTickConfig 0U / Set to 1 if different SysTick Config is used /

endif

ifndef __FPU_PRESENT

define __FPU_PRESENT 0U / no FPU present /

endif

ifndef __DSP_PRESENT

define __DSP_PRESENT 0U / no DSP extension present /

endif`

JonatanAntoni commented 4 years ago

Hi @nrj-gif,

would it be feasible for you to raise a pull request with these changes applied to all relevant files?

The device headers part of CMSIS repo are only template ones. Typically those get only used when targeting simulator, fast model or MPS2/3 prototyping systems. Real silicon devices have their own individual device header files shipped separately, e.g. in device familiy packs maintained by the device vendor. We won't be able to apply such a change to all of these.

Do you have any specific reason for requiring such a change? Basically, the device header file only specifies the device capabilities. That does not necessarily mean one needs to use a provided capability. E.g. a device with FPU can be used to execute non floating point applications without issues.

Cheers, Jonatan