This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Cortex Microcontroller Peripherals Interface Standard (CMPIS)

Note: This was originally posted on 23rd November 2012 at http://forums.arm.com

The need for a Cortex Microcontroller [size="3"]Peripherals Interface Standard (CMPIS)[/size]

Personally I got scared after reading this topic about ARM Cortex-M processors and CMSIS:
http://www.avrfreaks...wtopic&t=127016

At  first, CMSIS appeared to me as a standard interface between the  programmer and Cortex-M controllers including their peripherals.
Little  by little I have realized that despite the fact CMSIS makes some order  in the world of ARM microcontrollers, produced by many companies, it  leaves the peripherals at the mercy of each vendor. There are hundreds  of API functions for setting and working with peripherals just for a  single manufacturer. For example, if it happens someone starts with ARM  controllers produced by TI and learns Stellaris Peripheral Driver  Library ( http://www.ti.com/li...9o/spmu019o.pdf  ) and after some time he has to move to NXP LPC ARMs he is simply  obliged to assimilate a new set of APIs different from the one Stellaris  uses.

I understand vendors desire to add various, more or less  exotic features, to peripherals to make their ARM based controller  distinct from those built by other manufacturers but  a set of common  basic API functions for :Timers, ADCs, I/O ports, etc., able to make  each peripheral functional at minimum, will make the life of programmer  much easier when they have to port an application from one Cortex-M to  another.
At the moment, even with CMSIS, adapting a source code  written for an ARM uC to another is nearly as difficult as porting a  program between two unrelated microcontrollers.
Parents
  • Note: This was originally posted on 4th January 2013 at http://forums.arm.com

    Hello Cedar Xuesong,

    Are you the same Cedar Xuesong who is working for CooCox?
    http://www.coocox.or...pic.php?id=2469

    Personally, I feel that is an important information for people to decide on the objectivity of the post....

    谢谢你,
    冉昂理



    Hello, Simplex and Reinhard:

    Have you heard about CooCox and CoX?
    I found CooCox have write a library that looks like a standard interface and library, it is CoX library.
    This library include the PeripheralsInterface Standard.
    They have support Peripherals such as GPIO, ADC, UART, etc.
    And there are CoX libraries for STM32F10x series and Freescale M0+ series. They also have the plan for NXP and TI.

    They said that " drivers based on CoX can be ported to other MCU easily."
    I haven't use CoX before, but it seems to be very easy to use if I want to learn how to start with ARM.

    What do you think about that?
Reply
  • Note: This was originally posted on 4th January 2013 at http://forums.arm.com

    Hello Cedar Xuesong,

    Are you the same Cedar Xuesong who is working for CooCox?
    http://www.coocox.or...pic.php?id=2469

    Personally, I feel that is an important information for people to decide on the objectivity of the post....

    谢谢你,
    冉昂理



    Hello, Simplex and Reinhard:

    Have you heard about CooCox and CoX?
    I found CooCox have write a library that looks like a standard interface and library, it is CoX library.
    This library include the PeripheralsInterface Standard.
    They have support Peripherals such as GPIO, ADC, UART, etc.
    And there are CoX libraries for STM32F10x series and Freescale M0+ series. They also have the plan for NXP and TI.

    They said that " drivers based on CoX can be ported to other MCU easily."
    I haven't use CoX before, but it seems to be very easy to use if I want to learn how to start with ARM.

    What do you think about that?
Children
No data