two sets of API/driver functions ... there's the kind in the SDK, yet another that comes preloaded with MCUXpresso... why?

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

two sets of API/driver functions ... there's the kind in the SDK, yet another that comes preloaded with MCUXpresso... why?

649 Views
emergentist
Contributor II

Hello,

   I was wondering if anyone could shed some light on this issue.

   I am working with the LPC54114 board, a.k.a the OM13089 board, but I am assuming this issue exists for other MCUs/boards as well.

   I am puzzled about the existence of two separate sets of API/driver functions offered by NXP which seem to do essentially the same things. Is there a reason for the redundancy?  For example, to work with the SCTimer and PWM, on the one hand I could use: Chip_SCTPWM_Init(), Chip_SCTPWM_SetRate(), Chip_SCTPWM_SetDutyCycle(), and Chip_SCTPWM_Start(). But I could also use (available via the SDK): SCTIMER_Init(), SCTIMER_SetupPwm(), SCTIMER_StartTimer(), etc.

   As you can see, one set of board-level API functions, are prefixed by "Chip_". They come in a zip archive as part of MCUXpresso. To use these functions, there is just one massive "board.h/board.c" library that must be included in your application. The other API/driver functions seem like they are more suited to using the config tool, and a specific "fsl_" driver must be included in your application.

   

   I was just wondering what the design intention behind these sets of functions are, and whether one set is becoming obsolete. Which one should I invest my time learning about and/or using?

   Any insights would be greatly appreciated...

Thanks!

Labels (3)
2 Replies

520 Views
soledad
NXP Employee
NXP Employee

Hi, 

Some LPC devices have both LPCOpen and MCUXpresso SDK support. This is the case for the LPC54114. 

LPCopen uses the set of APIs with chip_xx. LPCOpen packages that are already available continue to be maintained, and can be used with MCUXpresso IDE. 

The other API/Driver, is used for the MCUXpresso SDK. It is recommended that MCUXpresso SDK be used in order to take advantage of future updates and improvements. 

Have a great day,
Sol

 

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

 

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

520 Views
emergentist
Contributor II

Thanks for clarifying, Sol.

SDK it is! :smileyhappy:

0 Kudos