Common LPC driver API

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Common LPC driver API

跳至解决方案
2,761 次查看
j_bos
Contributor I

The CMSIS website states that it defines

"a common approach to interface to peripherals"

for example it shows a Driver API for an USART. However, for LPC devices, there is the LPCopen library (LPC1100 - 4300 series) or the MCUXpresso SDK (LPC800 and LPC541xx series) where both do not use this CMSIS USART Driver API, instead they both have their own USART API.

Can I conclude that there is no common USART API for all LPC devices even though CMSIS sort of suggests that this exists?

See also https://community.nxp.com/t5/LPCXpresso-IDE-FAQs/CMSIS-support-in-LPCXpresso-IDE/m-p/469104 and https://stackoverflow.com/questions/25681041/cmsis-and-peripherals-drivers

标记 (2)
1 解答
2,632 次查看
j_bos
Contributor I

In a MCUXpresso SDK archive there are two sets of drivers;

  1. CMSIS drivers with prefix fsl_* and the postfix *_cmsis.* in *\SDK_x.x.x_device\devices\device\cmsis_drivers.
  2. NXP drivers with the prefix fsl_* in *\SDK_x.x.x_device\devices\device\drivers

For the LPC1100 - 4300 series both sets are not available and creating these is currently not planned by NXP, see Supported Devices Table. So the answer to the question above is; yes.

在原帖中查看解决方案

0 项奖励
回复
3 回复数
2,633 次查看
j_bos
Contributor I

In a MCUXpresso SDK archive there are two sets of drivers;

  1. CMSIS drivers with prefix fsl_* and the postfix *_cmsis.* in *\SDK_x.x.x_device\devices\device\cmsis_drivers.
  2. NXP drivers with the prefix fsl_* in *\SDK_x.x.x_device\devices\device\drivers

For the LPC1100 - 4300 series both sets are not available and creating these is currently not planned by NXP, see Supported Devices Table. So the answer to the question above is; yes.

0 项奖励
回复
2,674 次查看
Omar_Anguiano
NXP TechSupport
NXP TechSupport

Hello

If the SDK is available for the device we suggest using it. When the MCUXpresso SDK is not available we suggest the LPCOpen libraries.
Here you can consult the recommended software for each device: https://community.nxp.com/t5/MCUXpresso-General-Knowledge/MCUXpresso-Supported-Devices-Table/ta-p/11...

Let me know if this solves your questions, if you have more questions do not hesitate to ask me.
Best regards,
Omar

0 项奖励
回复
2,346 次查看
danielholala
Senior Contributor II

Hi Omar,

you are recommending to use the SDK API (e.g., fsl_usart.h) when available. 

So my question is: why does the "Peripherals" tools generate code using CMSIS based API (e.g., fsl_usart_cmsis.h) instead? 

UPDATE/EDIT: Peripherals tools generates different code based on user's choice. If "Peripheral drivers (Universal)" is selected, CMSIS based code is generated. If "Peripheral drivers (Device specific)" is selected, code based on standard SDK driver is generated. However, I did not find any documentation about this.