KL25Z CMSIS-Core/CMSIS Peripheral Access Layer headers

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

KL25Z CMSIS-Core/CMSIS Peripheral Access Layer headers

Jump to solution
2,879 Views
heliosfa
Contributor II

Hi All,

I am wondering if Freescale have created any CMSIS Peripheral Access Layer headers for the KL25Z micro controllers?

Basically, I am looking at porting Contiki to the FRDM-KL25Z so having these headers available would be beneficial.  I have found Ben Harris' BSD Licensed implementation (Toolchain: Kinetis KL25 development - Part 2 << bharr) but this is incomplete.

Labels (1)
1 Solution
1,340 Views
chris_brown
NXP Employee
NXP Employee

Hi Graeme,

Yes, CMSIS header files are available for the KL25Z.  Please find these in the sample code (KL25Z_SC) under the directory klxx-sc-baremetal\src\cpu\headers\CMSIS.  The sample code can be downloaded from the FRDM-KL25Z webpage or from the KL25Z part specific page. 

Regards,

Chris

View solution in original post

0 Kudos
4 Replies
1,340 Views
DaveTonyCook
Contributor IV

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

0 Kudos
1,340 Views
Jorge_Gonzalez
NXP Employee
NXP Employee

Hello Dave:

I just read your question. Are you still in doubt about naming convention?

The problem here is that Freescale has always used the naming "Device.h" for all of its MCU header files disregarding of CMSIS rules. The fact that the convention is the same for CMSIS header files is just an inconvenient that causes confusion as in your case.

Since all previous Freescale software stacks, example codes, projects, demos, RTOS and the like are using the "not CMSIS compliant" Device.h files, it would be immensely difficult to change the name.

However it seems that with the introduction of Kinetis SDK, file names are focused on CMSIS compliance.

I hope this helps to clarify.


Regards!,
Jorge Gonzalez

1,341 Views
chris_brown
NXP Employee
NXP Employee

Hi Graeme,

Yes, CMSIS header files are available for the KL25Z.  Please find these in the sample code (KL25Z_SC) under the directory klxx-sc-baremetal\src\cpu\headers\CMSIS.  The sample code can be downloaded from the FRDM-KL25Z webpage or from the KL25Z part specific page. 

Regards,

Chris

0 Kudos
1,340 Views
heliosfa
Contributor II

Thanks Chris - exactly what I was looking for.

0 Kudos