Fork of mbed-src file paths change. LPC1114FN28 use only.

Fork of mbed-src by mbed official

Information

この情報は2013/10/28時点での解決方法です。
現在はmbed-src、標準ライブラリで問題なくコンパイルが可能です。

・使う物
LPC1114FN28
mbed SDK

LPC1114FN28でmbed-SDKのLibraryを使うとCompile出来ない。(2013/10/28) /media/uploads/minicube/mbed_lpc1114_sdk.png

パスが通ってないだけのようなのでファイルを以下に移動する。

mbed-src\targets\cmsis\TARGET_NXP\TARGET_LPC11XX_11CXX\
mbed-src\targets\cmsis\TARGET_NXP\TARGET_LPC11XX_11CXX\TARGET_LPC11XX\

にあるファイルをすべて

mbed-src\targets\cmsis\TARGET_NXP\

へ移動

mbed-src\targets\cmsis\TARGET_NXP\TARGET_LPC11XX_11CXX\にある

TOOLCHAIN_ARM_MICRO

をフォルダごと

mbed-src\targets\cmsis\TARGET_NXP\

へ移動

mbed-src\targets\hal\TARGET_NXP\TARGET_LPC11XX_11CXX\
mbed-src\targets\hal\TARGET_NXP\TARGET_LPC11XX_11CXX\TARGET_LPC11XX\

にあるファイルをすべて

mbed-src\targets\hal\TARGET_NXP\

へ移動

移動後は以下のような構成になると思います。
※不要なファイルは削除してあります。

/media/uploads/minicube/mbed_lpc1114_sdk_tree.png


ファイルの移動が面倒なので以下に本家からフォークしたライブラリを置いておきます。

Import librarymbed-src-LPC1114FN28

Fork of mbed-src file paths change. LPC1114FN28 use only.


エラーが出力される場合

"TOOLCHAIN_ARM_MICRO"が無いとエラーになる。

Error: Undefined symbol _initial_sp (referred from entry2.o).
Error: Undefined symbol _heap_base (referred from malloc.o).
Error: Undefined symbol _heap_limit (referred from malloc.o).

LPC1114FN28はMicrolibを使ってCompileされるため上記のエラーになるようです。

Revision:
20:4263a77256ae
Parent:
13:0645d8841f51
diff -r 398f4c622e1b -r 4263a77256ae common/FilePath.cpp
--- a/common/FilePath.cpp	Mon Aug 19 18:17:02 2013 +0300
+++ b/common/FilePath.cpp	Tue Sep 10 15:14:19 2013 +0300
@@ -36,9 +36,6 @@
         file_name++;
     }
 
-    FileBase::lookup(file_system, len);
-
-
     fb = FileBase::lookup(file_system, len);
 }
 
@@ -47,6 +44,8 @@
 }
 
 bool FilePath::isFileSystem(void) {
+    if (NULL == fb)
+        return false;
     return (fb->getPathType() == FileSystemPathType);
 }
 
@@ -58,6 +57,8 @@
 }
 
 bool FilePath::isFile(void) {
+    if (NULL == fb)
+        return false;
     return (fb->getPathType() == FilePathType);
 }
 
@@ -68,4 +69,8 @@
     return NULL;
 }
 
+bool FilePath::exists(void) {
+    return fb != NULL;
+}
+
 } // namespace mbed