반응형
skthingplug를 이용하기 위해 GMMP 라이브러리를 보면 Arduino용으로 freeRAM 값을 얻어오는
코드를 보면 아래와 같다.
1 2 3 4 5 6 7 8 9 10 | int freeRam () { // __brkval is the address of the top of the heap // if memory has been allocated. // If __brkval is zero then it means malloc has not used any memory yet, so // we look at the address of __heap_start. extern int __heap_start; extern int *__brkval; // address of the top of heap int stack_top; return (int)&stack_top - ((int)__brkval == 0 ? (int)&__heap_start : (int)__brkval); } | cs |
하지만 이 코드를 nodeMCU(ESP8266)에서 사용하면 에러를 발생시킨다.
Community를 찾아보니 해결 방법이 있습니다.
https://github.com/esp8266/Arduino/issues/81
"User_interface.h"에 가보면 ESP8266 라이브러리에도 freeRAM 값을 가져오는 코드가 있네요.
아래와 같이 코드를 변경해 줍니다.
1 2 3 4 5 6 7 8 9 10 11 12 | uint32_t freeRam () { // __brkval is the address of the top of the heap // if memory has been allocated. // If __brkval is zero then it means malloc has not used any memory yet, so // we look at the address of __heap_start. //extern int __heap_start; //extern int *__brkval; // address of the top of heap // int stack_top; //return (int)&stack_top - ((int)__brkval == 0 ? (int)&__heap_start : (int)__brkval); uint32_t free = system_get_free_heap_size(); return free; } | cs |
물론 GMMP_Util.h 에서도 변경해 줘야합니다.
그리고 GMMP_Util.cpp 위쪽에 아래 코드를 추가합니다.
1 2 3 | extern "C" { #include "user_interface.h" } | cs |
반응형
'Study > ESP8266(WIFI),ESP32(BLE,WIFI)' 카테고리의 다른 글
EEPROM 사용하기!! (0) | 2016.01.11 |
---|---|
skthingplug 접속 못하는 문제및 접속 순서 (0) | 2016.01.08 |
nodeMCU(ESP 8266) Arduino porting후 안드로이드 App 제어 (0) | 2016.01.07 |
nodeMCU(ESP8266) skt thing plug 앱으로 원격제어 (0) | 2015.12.23 |
arduino에서 ESP8266 사용하기 (2) | 2015.12.23 |