Giter Site home page Giter Site logo

cmsis-core's People

Contributors

0xc0170 avatar adamgreen avatar alessandroa avatar arebert avatar asmellby avatar avrin avatar bcostm avatar bogdanm avatar bremoran avatar cyliangtw avatar dinau avatar dreschpe avatar einarsd avatar emilmont avatar fritzprix avatar fvincenzo avatar juancferrer avatar matthewelse avatar mconners avatar micromint avatar oampo avatar omdathetkan avatar pbrier avatar sg- avatar star297 avatar tkuyucu-nordicsemi avatar todor603 avatar toyowata avatar xiongyihui avatar ytsuboi avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cmsis-core's Issues

Checks for support for VTOR in cmsis_nvic.c

The compiler checks in cmsis_nvic.c have been written such that it is difficult to add any new platforms without VTOR presence. The code only wants ensure that the NVIC routines are present in the implementation but this is linked to VTOR presence based on core type which is not necessary. Instead, if the compiler directives are about the presence of NVIC routine itself, i.e. not the processor arch., then the compile time option can be easily configurable and allows future extension.

This is affecting ongoing work.

NVIC_SetVector needed, even for Cortex M0 / M0+

Several Cortex M0 / M0+ based MCUs (e.g. Freescale KL* & ST STM32 L0) support relocation of vectors into RAM with NVIC VTOR.

Currently, cmsis-core.c does not define NVIC_SetVector for any Cortex M0 or M0+.

Why disable this feature for all Cortex M0 / M0+ ?!?!?!

Please allow for NVIC_SetVector to be implemented for Cortex M0 / M0+ if they support it. Perhaps move the definition of this function into the cmsis-core- modules.

Support for CMSIS version 4 and beyond

The ARM mbed cmsis-core files are currently from CMSIS version 3.20, which is more than 3 years old by now. CMSIS version 4.5 was recently released, and the later versions of CMSIS define new macros for use by silicon vendors in device header files. This means that at some point in the future, silicon vendors may start to depend on symbols only defined in newer versions of CMSIS in their device header files.

Such symbols include the _I, _Oand _IO macros. In CMSIS 4.2 and newer, these have been replaced by _IM, _OM and _IOM for structure members. The old symbols still exist, but the M-suffixed ones are recommended for new devices.

How will ARM mbed support this going forward? Will the CMSIS core header files in cmsis-core be updated to newer versions, or will mbed require silicon vendors to maintain device header files compatible with CMSIS 3.20 for the foreseeable future? If the core headers are updated with backwards-incompatible changes, how will this be handled with regards to existing mbed enabled devices?

@0xc0170

dependency error

Hi, yotta build fails now:
error: cmsis-core does not meet specification ~0.1.0 required by cmsis-core-k64f

Can you repair dependencies to get it work?

Does not work on CM0+

@0xc0170 @screamerbg @akselsm
core_generic depends on a target to be 'like cortex_m0p' and tries to include core_cm0p.h, which doesn't exist.

The file that does exist is called core_cm0plus.h. Also, CThunk.h in mbed-drivers seems to rely on a definition of 'like cortex_m0plus', so I'm left wondering what the actual convention is here. You can't possibly expect to make a target define both M0P and M0PLUS... That would result in a define hell.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.