mirror of https://github.com/ARMmbed/mbed-os.git
retarget: fix microlib for mbed 2
This is as it used to be, reverting the removal. uARM does not have any hook that we could use for mbed sdk init and copy nvic, therefore _open is used that should be sufficient, but not ideal. For more information, visit https://github.com/ARMmbed/mbed-os/pull/2160/files#r76563844.pull/4689/head
parent
9797c7c3d2
commit
e911d9867c
|
@ -177,6 +177,20 @@ static inline int openmode_to_posix(int openmode) {
|
||||||
* */
|
* */
|
||||||
extern "C" FILEHANDLE PREFIX(_open)(const char* name, int openmode) {
|
extern "C" FILEHANDLE PREFIX(_open)(const char* name, int openmode) {
|
||||||
#if defined(__MICROLIB) && (__ARMCC_VERSION>5030000)
|
#if defined(__MICROLIB) && (__ARMCC_VERSION>5030000)
|
||||||
|
#if !defined(MBED_CONF_RTOS_PRESENT)
|
||||||
|
// valid only for mbed 2
|
||||||
|
// for ulib, this is invoked after RAM init, prior c++
|
||||||
|
// used as hook, as post stack/heap is not active there
|
||||||
|
extern void mbed_copy_nvic(void);
|
||||||
|
extern void mbed_sdk_init(void);
|
||||||
|
|
||||||
|
static int mbed_sdk_inited = 0;
|
||||||
|
if (!mbed_sdk_inited) {
|
||||||
|
mbed_copy_nvic();
|
||||||
|
mbed_sdk_init();
|
||||||
|
mbed_sdk_inited = 1;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
// Before version 5.03, we were using a patched version of microlib with proper names
|
// Before version 5.03, we were using a patched version of microlib with proper names
|
||||||
// This is the workaround that the microlib author suggested us
|
// This is the workaround that the microlib author suggested us
|
||||||
static int n = 0;
|
static int n = 0;
|
||||||
|
|
Loading…
Reference in New Issue