CoX Peripheral Interface(NUC1xx Implement) V2.1.1.1
API Reference
CooCox/CoX

What's CoX ?

CoX is the definition of a group of interface function. It defines the functional access functions of MCU's common peripherals, such as I2C, SPI, UART, etc.

CoX Peripheral Library can be divided into four parts:

  • Common mandatory type interface.
  • Common type of non-mandatory interface.
  • MCU-specific interface.
  • MCU register interface.

Features

  • Free and Open source under BSD license
  • Peripherals library with a unified standard interface, can be ported to other MCUs easily, Supports the platforms of ICCARM, ARMCC, GCC
  • Full functions of the peripheral, CoX still provides a set of APIs for special MCU features
  • Support interrupt, CoX extracts a set of interrupt events
  • A lot of reused drivers
  • Extensive documentation generated using doxygen standard
  • Standard definition of the API reference for almost all the Cortex-M0/M3 MCU manuals
  • Add a new innovative element, such as the short pin (PA2) in GPIO module
  • Strict coding standard and does not affect code size and speed, through rigorous testing and verification
  • Configurable
  • Provide blank template to make port more easily
CoX-Big0.png

Why do we use CoX ?

  • CoX Peripheral is not only a common interface for drivers, but also a full peripheral library.
  • CoX function interface unify the definition of the access functions of MCU's common peripherals, which makes you port programs among different MCUs more conveniently.
  • CoX has a set of specific realization for each MCU, and its code size and speed are nearly the same as the library that the suppliers provided.

When should we use CoX ?

  • If users may change MCU in the future and do not want to do too much unnecessary port work.
  • If users plan to use the existing drivers based on CoX interface.

The process of CoX evolution ?

CoX V1.0.0 was first released in September 2010, and has been ported to several MCU platforms, such as LPC11xx, NUC1xx and so on.

CoX V1.0.0 also provides a group of common functions for peripherals, but it has some drawbacks:

  • Do not support interrupt.
  • Does not have full functions. It just implements some of the most common functions, and can't play the advantages of the special MCUs.
  • Does not support all the peripherals, users need to rely on the cooperation of other libraries. That will also leads to larger code size, and may have some conflicts for logic implementation.

So we re-write the CoX. We have prepared for about one year for the new CoX, each of whose interface was defined after having read and compared a number of chip manufacturers'manuals. The current version of CoX has solved all the problems above, and added some innovative things. Now the CoX peripheral library can meet different needs, such as reusable driver, specified application and so on.

How to use CoX?

CoX is a group of APIs and Macros who have the prefix x. such as xGPIOPinRead(), etc.
Click here to see more about how to use CoX: How to.


CoX Peripheral Interfaces List and Roadmap

Interface Description State Date
Start-up Code CoX startup code
accepts.png
09/2011
LowLayer CoX lowlyaer support, such as type define, register define,
debug assert and so on.
accepts.png
09/2011
xCORE Cortex-M0/M3 Core Peripheral Interface
accepts.png
09/2011
SysCtl System Control(CG & PMC) Peripheral Interface
accepts.png
09/2011
DMA DMA Peripheral Interface
accepts.png
09/2011
GPIO GPIO & AFIO Peripheral Interface
accepts.png
09/2011
UART UART Peripheral Interface
accepts.png
09/2011
SPI SPI(SSI) Peripheral Interface
accepts.png
09/2011
I2C I2C Peripheral Interface
accepts.png
09/2011
TIMER Timer Peripheral Interface
accepts.png
09/2011
PWM PWM Peripheral Interface
accepts.png
09/2011
RTC RTC Peripheral Interface
accepts.png
09/2011
WDT Watchdog Timer Peripheral Interface
accepts.png
09/2011
ADC ADC Peripheral Interface
accepts.png
09/2011
ACMP Analog Comparator Peripheral Interface
accepts.png
09/2011
I2S Inter-Integrated Circuit Sound(I2S) Peripheral Interface
adds.png
12/2011
CAN CAN Bus Peripheral Interface
adds.png
12/2011
USB USB Device/Host/OTG Peripheral Interface
adds.png
12/2011
EBI EBI bus Peripheral Interface
adds.png
12/2011


CoX Support MCU List and Roadmap

Manufacturer Series State Date Download
CooCox CoX Port Template
accepts.png
09/2011 Download
Nuvoton NUC1xx
accepts.png
09/2011 Download
NUC122
adds.png
11/2011 NA
M051
adds.png
12/2011 NA
NXP LPC11c1x
adds.png
2012 NA
LPC11xx
adds.png
12/2011 NA
LPC12xx
adds.png
2012 NA
LPC13xx
adds.png
2012 NA
LPC17xx
adds.png
2012 NA
ST STM32F10x
adds.png
12/2011 NA
TI Stellaris
adds.png
12/2011 NA

If you hope other MCUs can be supported by CoX as soon as possible, you can develop them by yourself with our guide, contact us please!