Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
10 years, 7 months ago.
ST Nucleo L152RE SDCard
I wrote this program for St Nucleo L152RE. (tested on LPC1768 and everything is ok)
#include "mbed.h" #include <fstream> #include "SDFileSystem.h" SDFileSystem sd(PB_15, PB_14, PB_13, PC_4, "sd"); // the pinout on the mbed Cool Components workshop board int n1,n2; int main() { n1=-12; printf("test program write -12\n"); mkdir("/sd/system",0777); fstream file; file.open("/sd/system/number.txt",ios::binary|ios::out); if (!file){ error("can't write\n"); } file.write(reinterpret_cast<char*>(&n1),sizeof(int)); file.close(); file.open("/sd/system/number.txt",ios::binary|ios::in); if (!file){ error("can't read\n"); } //file.seekg(sizeof(int),ios::beg); file.read(reinterpret_cast<char*>(&n2),sizeof(int)); file.close(); printf("number -> %d\n",n2); }
Unfortunately I always have the same errors: Error: Undefined symbol fread_bytes_avail (referred from main.cpp.NUCLEO_L152RE.o). Error: Undefined symbol mbsinit (referred from main.cpp.NUCLEO_L152RE.o). Error: Undefined symbol wmemmove (referred from ios.o).
Anyone solved it?
1 Answer
10 years, 7 months ago.
Hello,
I would say it's because Nucleo targets have set microARM which does not implement full set of features as ARM library (C standard library). there's somewhere the diff what uARM lacks from standard. I can't find it at the moment, will add it or someone might be faster. This would explain why it does not fail for 1768 target.
Regards,
0xc0170
I'm running into the same problem while porting code from LPC1768 to the NUCLEO-F401RE. Were you ever able to find a solution?
posted by Andy Lustig 08 Feb 2016when i try to implement sd card library in L152RE, my program stops running and nothing comes on the screen. what is the problem.
posted by jayendra mishra 07 May 2016