Hi Chris,
I have a couple of question regarding the CMSIS Peripheral Access Layer Header.
Its my understanding that the CMSIS-DPAL was removed from the CMSIS standard @ V2.0. The Peripheral Access Layer Header is now provided by the MCU vendor. The complete bunch of files required are for completeness is:-
CMSIS Device specific files provided by MCU vendor
<Device.h>
system_<Device>.c
system_<Device>.h
startup_<Device>.s - This file is tool dependent as well
CMSIS Generic file provided with Tool installation and are usually enabled via a switch in the compiler
core_cm4.h
core_cmFunc.h
core_cmSimd.h
core_cmInstr.h
It is my understanding that to be CMSIS compliant the MCU vendor must provide a Peripheral Access Layer Header that conforms to the CMSIS naming convention <Device.h> and in this example that file is MKL25Z4.h
I downloaded the sample code (KL25Z_SC) and noticed the file kl25_sc_rev10\klxx-sc-baremetal\src\cpu\headers\CMSIS\MKL25Z4.h conforms to the correct naming convention <Device.h> however I also found another file kl25_sc_rev10\klxx-sc-baremetal\src\cpu\headers\MKL25Z4.h which also conforms to the CMSIS naming convention. Looking more closely the two file are quite different. The file in the CMSIS folder has the following identifier in its comment "CMSIS Peripheral Access Layer for MKL25Z4" whereas the file in the folder above ie the non-CMSIS compliant file has the comment "Peripheral memory map for MKL25Z4" Are both these files CMSIS compliant? I guess not, so shouldn't the non-compliant file have a different naming convention?
This leads to confusion as this quote from an FAE at IAR
" CMSIS Device Driver is what IAR (and others) provide but the device HAL comes from the chip manufacturer, at least it *should*. I found the HAL for a number of chip vendors, but not from Freescale. I will try to gather more information about that..."
" after a bit of research, I found an entry in the FSL community:
https://community.freescale.com/message/379147#379147 ([DC]This discussion)
… with a link to the CMSIS Peripheral layer for the KL25, the .h file is attached.
So I guess that you find this in on page for the any device on freescale.com "
Could you please give some clarity to this confusion please
Best Regards
Dave