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.
7 years, 6 months ago.
I'd like to modify the CellLocate code on mbed-C027 to work, but it will stack overflow. Why?
I'd like to modify the CellLocate code on mbed-C027 to work, but it will stack overflow.
When I operate the code of 2, the stack overflows like [1]. Both "mbed-os" and "support_C027" have been revised to the latest version.
In addition, MDM.h was fixed only one place.
1937 /// if (_dev.dev == DEV_LISA_U2_ 03S || _dev.dev == DEV_SARA_U2) { 1938 if (_dev.dev == DEV_LISA_U2_ 03S || _dev.dev == DEV_SARA_U2 || _dev.dev == DEV_LISA_U2) {
Also referred to https://developer.mbed.org/questions/75770/C027-support-test-CELLOCATE-broken/.
[3] is compile log. [4] is compile environmnet.
[1]
*** Test Start *** Modem::wakeup Modem::init Modem::devStatus Device: LISA-U2 Power Save: Disabled CCID: 8981100023561854336 IMEI: 352648069548865 IMSI: 440103148290527 Manufacturer: u-blox Model: LISA-U200 Version: 22.90,A01.01 Modem::register Modem::netStatus CSD Registration: Home PSD Registration: Home Access Technology: 3G Signal Strength: -61 dBm Bit Error Rate: 43 Operator: NTT DOCOMO Location Area Code: 00EC Cell ID: 04484048 Modem::join Modem:IP 100.97.120.197 if (!mdm.cellLocSrvTcp("TOKEN")) _dev.dev=2 mdm.cellLocConfig(0) while(1) CellLocate Request Waiting for CellLocate... CellLocate Request Waiting for CellLocate... CellLocate Request RTX error code: 0x00000001, task ID: 0x100023A4 <------------------------------
2
int main(void) { /// int ret; char buf[2048] = ""; // Create the GPS object #if 1 // use GPSI2C class GPSI2C gps; #else // or GPSSerial class GPSSerial gps; #endif //give time to module for powering up (ms) wait_ms(1000); // Create the modem object MDMSerial mdm; mdm.set_flow_control(SerialBase::RTSCTS, MDMRTS, MDMCTS); wait(5); printf("*** Test Start ***\r\n"); //mdm.setDebug(4); // enable this for debugging issues // initialize the modem MDMParser::DevStatus devStatus = {}; MDMParser::NetStatus netStatus = {}; bool mdmOk = mdm.init(SIMPIN, &devStatus); mdm.dumpDevStatus(&devStatus); if (mdmOk) { // wait until we are connected mdmOk = mdm.registerNet(&netStatus); mdm.dumpNetStatus(&netStatus); } if (mdmOk) { // join the internet connection MDMParser::IP ip = mdm.join(APN,USERNAME,PASSWORD); if (ip == NOIP) { printf("Not able to join network"); } else { mdm.dumpIp(ip); } } char link[128] = ""; unsigned int i = 0xFFFFFFFF; const int wait = 1000; bool abort = false; /// const int sensorMask = 3; // Hybrid: GNSS + CellLocate /// const int timeoutMargin = 5; // seconds const int submitPeriod = 6; // 1 minutes in seconds /// const int targetAccuracy = 1; // meters unsigned int j = submitPeriod * 1000/wait; bool cellLocWait = false; MDMParser::CellLocData loc; //Token can be released from u-blox site, when you got one replace "TOKEN" below /// if (!mdm.cellLocSrvHttp("TOKEN")) printf("if (!mdm.cellLocSrvTcp(\"TOKEN\")) \r\n"); /// if (!mdm.cellLocSrvTcp("TOKEN")) mdm.cellLocSrvUdp(); /// mdm.cellLocConfigSensor(1); // Deep scan mode printf("mdm.cellLocConfig(0) \r\n"); /// mdm.cellLocConfig(1); // Deep scan mode +ULOCCELL printf("while(1)\r\n"); /// while (!abort) { if (mdmOk && (j++ == submitPeriod * 1000/wait)) { j=0; printf("CellLocate Request\r\n"); /// mdm.cellLocRequest(sensorMask, submitPeriod-timeoutMargin, targetAccuracy); mdm.cellLocRequest(MDMParser::CELL_LOCATE, 15, 1, MDMParser::CELL_DETAILED, 1); cellLocWait = true; } if (cellLocWait && mdm.cellLocGetData(&loc)){ cellLocWait = false; printf("CellLocate position received, sensor_used: %d, \r\n", loc.sensor ); printf(" latitude: %0.5f, longitude: %0.5f, altitute: %d\r\n", loc.latitude, loc.longitude, loc.altitutude); if (loc.sensor == 1) printf(" uncertainty: %d, speed: %d, direction: %d, vertical_acc: %d, satellite used: %d \r\n", loc.uncertainty,loc.speed,loc.direction,loc.verticalAcc,loc.svUsed); if (loc.sensor == 1 || loc.sensor == 2) sprintf(link, "I am here!\n" "https://maps.google.com/?q=%.5f,%.5f", loc.latitude, loc.longitude); } if (cellLocWait && (j%100 == 0 )) printf("Waiting for CellLocate...\r\n"); /* if (mdmOk && (i++ == 5000/wait)) { i = 0; // check the network status if (mdm.checkNetStatus(&netStatus)) { mdm.dumpNetStatus(&netStatus, fprintf, stdout); } // checking unread sms int ix[8]; int n = mdm.smsList("REC UNREAD", ix, 8); if (8 < n) n = 8; while (0 < n--) { char num[32]; printf("Unread SMS at index %d\r\n", ix[n]); if (mdm.smsRead(ix[n], num, buf, sizeof(buf))) { printf("Got SMS from \"%s\" with text \"%s\"\r\n", num, buf); printf("Delete SMS at index %d\r\n", ix[n]); mdm.smsDelete(ix[n]); // provide a reply const char* reply = "Hello my friend"; if (strstr(buf, "here are you")) reply = *link ? link : "I don't know"; // reply wil location link else if (strstr(buf, "hutdown")) abort = true, reply = "bye bye"; printf("Send SMS reply \"%s\" to \"%s\"\r\n", reply, num); mdm.smsSend(num, reply); } } } */ Thread::wait(wait); } mdm.disconnect(); //DigitalOut led(LED1); mdm.powerOff(); gps.powerOff(); return 0; }
3
mbed compile -j4 -t GCC_ARM -m UBLOX_C027 Building project mbed-os-example-C027 (UBLOX_C027, GCC_ARM) Scan: . Scan: FEATURE_BLE Scan: FEATURE_COMMON_PAL Scan: FEATURE_LWIP Scan: FEATURE_UVISOR Scan: FEATURE_ETHERNET_HOST Scan: FEATURE_LOWPAN_BORDER_ROUTER Scan: FEATURE_LOWPAN_HOST Scan: FEATURE_LOWPAN_ROUTER Scan: FEATURE_NANOSTACK Scan: FEATURE_NANOSTACK_FULL Scan: FEATURE_THREAD_BORDER_ROUTER Scan: FEATURE_THREAD_END_DEVICE Scan: FEATURE_THREAD_ROUTER Scan: FEATURE_STORAGE Scan: env Scan: mbed Compile [ 0.4%]: MQTTConnectClient.c Compile [ 0.8%]: SerialPipe.cpp [Warning] SerialPipe.cpp@9,50: 'void mbed::SerialBase::attach(T*, void (T::*)(), mbed::SerialBase::IrqType) [with T = SerialPipe]' is deprecated (declared at ./mbed-os/drivers/SerialBase.h:117): The attach function does not support cv-qualifiers. Replaced by attach(callback(obj, method), type). [since mbed-os-5.1] [-Wdeprecated-declarations] [Warning] SerialPipe.cpp@78,50: 'void mbed::SerialBase::attach(T*, void (T::*)(), mbed::SerialBase::IrqType) [with T = SerialPipe]' is deprecated (declared at ./mbed-os/drivers/SerialBase.h:117): The attach function does not support cv-qualifiers. Replaced by attach(callback(obj, method), type). [since mbed-os-5.1] [-Wdeprecated-declarations] [Warning] SerialPipe.cpp@107,27: suggest braces around empty body in an 'else' statement [-Wempty-body] Compile [ 1.1%]: MQTTConnectServer.c Compile [ 1.5%]: GPS.cpp [Warning] GPS.cpp@135,62: narrowing conversion of 'len' from 'int' to 'char' inside { } is ill-formed in C++11 [-Wnarrowing] [Warning] GPS.cpp@135,57: narrowing conversion of '(len >> 8)' from 'int' to 'char' inside { } is ill-formed in C++11 [-Wnarrowing] Compile [ 1.9%]: MQTTDeserializePublish.c Compile [ 2.3%]: MQTTSerializePublish.c Compile [ 2.7%]: MQTTSubscribeClient.c Compile [ 3.0%]: MQTTPacket.c Compile [ 3.4%]: MQTTSubscribeServer.c Compile [ 3.8%]: MQTTUnsubscribeClient.c Compile [ 4.2%]: MDM.cpp [Warning] MDMAPN.h@126,27: comparison between signed and unsigned integer expressions [-Wsign-compare] [Warning] MDM.cpp@108,33: comparison between signed and unsigned integer expressions [-Wsign-compare] [Warning] MDM.cpp@111,35: comparison between signed and unsigned integer expressions [-Wsign-compare] [Warning] MDM.cpp@289,52: comparison between signed and unsigned integer expressions [-Wsign-compare] [Warning] MDM.cpp@332,24: suggest braces around empty body in an 'if' statement [-Wempty-body] [Warning] MDM.cpp@341,24: suggest braces around empty body in an 'if' statement [-Wempty-body] [Warning] MDM.cpp@603,48: suggest braces around empty body in an 'if' statement [-Wempty-body] [Warning] MDM.cpp@756,33: comparison between signed and unsigned integer expressions [-Wsign-compare] [Warning] MDM.cpp@952,13: suggest braces around empty body in an 'if' statement [-Wempty-body] [Warning] MDM.cpp@971,24: suggest braces around empty body in an 'if' statement [-Wempty-body] [Warning] MDM.cpp@1043,24: suggest braces around empty body in an 'if' statement [-Wempty-body] [Warning] MDM.cpp@13,45: comparison between signed and unsigned integer expressions [-Wsign-compare] [Warning] MDM.cpp@13,45: comparison between signed and unsigned integer expressions [-Wsign-compare] [Warning] MDM.cpp@13,45: comparison between signed and unsigned integer expressions [-Wsign-compare] [Warning] MDM.cpp@13,45: comparison between signed and unsigned integer expressions [-Wsign-compare] [Warning] MDM.cpp@13,45: comparison between signed and unsigned integer expressions [-Wsign-compare] [Warning] MDM.cpp@13,45: comparison between signed and unsigned integer expressions [-Wsign-compare] [Warning] MDM.cpp@13,45: comparison between signed and unsigned integer expressions [-Wsign-compare] [Warning] MDM.cpp@13,45: comparison between signed and unsigned integer expressions [-Wsign-compare] [Warning] MDM.cpp@13,45: comparison between signed and unsigned integer expressions [-Wsign-compare] [Warning] MDM.cpp@13,45: comparison between signed and unsigned integer expressions [-Wsign-compare] [Warning] MDM.cpp@1356,33: comparison between signed and unsigned integer expressions [-Wsign-compare] [Warning] MDM.cpp@1385,35: comparison between signed and unsigned integer expressions [-Wsign-compare] [Warning] MDM.cpp@19,46: comparison between signed and unsigned integer expressions [-Wsign-compare] [Warning] MDM.cpp@19,46: comparison between signed and unsigned integer expressions [-Wsign-compare] [Warning] MDM.cpp@19,46: comparison between signed and unsigned integer expressions [-Wsign-compare] [Warning] MDM.cpp@2221,27: comparison between signed and unsigned integer expressions [-Wsign-compare] [Warning] MDM.cpp@2231,27: comparison between signed and unsigned integer expressions [-Wsign-compare] Compile [ 4.5%]: MQTTUnsubscribeServer.c Compile [ 4.9%]: AnalogIn.cpp Compile [ 5.3%]: main.cpp [Warning] main.cpp@37,10: unused variable 'buf' [-Wunused-variable] [Warning] main.cpp@77,18: unused variable 'i' [-Wunused-variable] Compile [ 5.7%]: BusInOut.cpp Compile [ 6.1%]: BusIn.cpp Compile [ 6.4%]: BusOut.cpp Compile [ 6.8%]: Milkcocoa.cpp [Warning] Milkcocoa.cpp@8,1: "DBG" redefined [Warning] MQTTmbed.h@23,28: comparison between signed and unsigned integer expressions [-Wsign-compare] [Warning] MQTTClient.h@85,55: operation on '((MQTT::PacketId*)this)->MQTT::PacketId::next' may be undefined [-Wsequence-point] [Warning] Milkcocoa.cpp@101,51: 'osStatus rtos::Thread::start(T*, M) [with T = void(const void*); M = Milkcocoa*]' is deprecated (declared at ./mbed-os/rtos/Thread.h:215): The start function does not support cv-qualifiers. Replaced by thread.start(callback(obj, method)). [since mbed-os-5.1] [-Wdeprecated-declarations] [Warning] Milkcocoa.cpp@102,51: 'osStatus rtos::Thread::start(T*, M) [with T = void(const void*); M = Milkcocoa*]' is deprecated (declared at ./mbed-os/rtos/Thread.h:215): The start function does not support cv-qualifiers. Replaced by thread.start(callback(obj, method)). [since mbed-os-5.1] [-Wdeprecated-declarations] [Warning] Milkcocoa.cpp@116,51: 'osStatus rtos::Thread::start(T*, M) [with T = void(const void*); M = Milkcocoa*]' is deprecated (declared at ./mbed-os/rtos/Thread.h:215): The start function does not support cv-qualifiers. Replaced by thread.start(callback(obj, method)). [since mbed-os-5.1] [-Wdeprecated-declarations] [Warning] Milkcocoa.cpp@117,51: 'osStatus rtos::Thread::start(T*, M) [with T = void(const void*); M = Milkcocoa*]' is deprecated (declared at ./mbed-os/rtos/Thread.h:215): The start function does not support cv-qualifiers. Replaced by thread.start(callback(obj, method)). [since mbed-os-5.1] [-Wdeprecated-declarations] Compile [ 7.2%]: CAN.cpp [Warning] CAN.cpp@29,23: comparison between signed and unsigned integer expressions [-Wsign-compare] Compile [ 7.6%]: Ethernet.cpp Compile [ 8.0%]: FileBase.cpp Compile [ 8.3%]: FilePath.cpp Compile [ 8.7%]: FileSystemLike.cpp Compile [ 9.1%]: FlashIAP.cpp Compile [ 9.5%]: I2CSlave.cpp Compile [ 9.8%]: I2C.cpp Compile [ 10.2%]: LocalFileSystem.cpp Compile [ 10.6%]: InterruptIn.cpp Compile [ 11.0%]: InterruptManager.cpp Compile [ 11.4%]: RawSerial.cpp Compile [ 11.7%]: SPI.cpp Compile [ 12.1%]: SPISlave.cpp Compile [ 12.5%]: Serial.cpp Compile [ 12.9%]: SerialBase.cpp Compile [ 13.3%]: Stream.cpp Compile [ 13.6%]: Ticker.cpp Compile [ 14.0%]: Timeout.cpp Compile [ 14.4%]: TimerEvent.cpp Compile [ 14.8%]: Timer.cpp Compile [ 15.2%]: equeue.c Compile [ 15.5%]: equeue_posix.c Compile [ 15.9%]: EventQueue.cpp Compile [ 16.3%]: emac_lwip.c Compile [ 16.7%]: emac_stack_lwip.cpp Compile [ 17.0%]: equeue_mbed.cpp Compile [ 17.4%]: lwip_checksum.c Compile [ 17.8%]: lwip_memcpy.c Compile [ 18.2%]: lpc_phy_dp83848.c Compile [ 18.6%]: lwip_sys_arch.c Compile [ 18.9%]: EthernetInterface.cpp Compile [ 19.3%]: lpc17_emac.c [Warning] lpc17_emac.c@405,18: unused variable 'ethhdr' [-Wunused-variable] Compile [ 19.7%]: lwip_err.c Compile [ 20.1%]: lwip_api_lib.c Compile [ 20.5%]: lwip_netbuf.c Compile [ 20.8%]: lwip_netdb.c Compile [ 21.2%]: lwip_api_msg.c Compile [ 21.6%]: lwip_netifapi.c Compile [ 22.0%]: lwip_sockets.c Compile [ 22.3%]: lwip_tcpip.c Compile [ 22.7%]: lwip_autoip.c Compile [ 23.1%]: lwip_etharp.c Compile [ 23.5%]: lwip_icmp.c Compile [ 23.9%]: lwip_igmp.c Compile [ 24.2%]: lwip_dhcp.c Compile [ 24.6%]: lwip_ip4.c Compile [ 25.0%]: lwip_ip4_addr.c Compile [ 25.4%]: lwip_dhcp6.c Compile [ 25.8%]: lwip_ip4_frag.c Compile [ 26.1%]: lwip_ethip6.c Compile [ 26.5%]: lwip_icmp6.c Compile [ 26.9%]: lwip_inet6.c Compile [ 27.3%]: lwip_ip6.c Compile [ 27.7%]: lwip_ip6_addr.c Compile [ 28.0%]: lwip_nd6.c Compile [ 28.4%]: lwip_mld6.c Compile [ 28.8%]: lwip_ip6_frag.c Compile [ 29.2%]: lwip_inet_chksum.c Compile [ 29.5%]: lwip_def.c Compile [ 29.9%]: lwip_dns.c Compile [ 30.3%]: lwip_init.c Compile [ 30.7%]: lwip_ip.c Compile [ 31.1%]: lwip_mem.c Compile [ 31.4%]: lwip_netif.c Compile [ 31.8%]: lwip_memp.c Compile [ 32.2%]: lwip_raw.c Compile [ 32.6%]: lwip_pbuf.c Compile [ 33.0%]: lwip_sys.c Compile [ 33.3%]: lwip_stats.c Compile [ 33.7%]: lwip_tcp_in.c Compile [ 34.1%]: lwip_tcp.c Compile [ 34.5%]: lwip_tcp_out.c Compile [ 34.8%]: lwip_timeouts.c Compile [ 35.2%]: lwip_ethernet.c Compile [ 35.6%]: lwip_ethernetif.c Compile [ 36.0%]: lwip_lowpan6.c Compile [ 36.4%]: lwip_udp.c Compile [ 36.7%]: lwip_stack.c Compile [ 37.1%]: Dir.cpp Compile [ 37.5%]: FileSystem.cpp Compile [ 37.9%]: File.cpp Compile [ 38.3%]: ccsbcs.cpp Compile [ 38.6%]: HeapBlockDevice.cpp Compile [ 39.0%]: SlicingBlockDevice.cpp Compile [ 39.4%]: ChainingBlockDevice.cpp Compile [ 39.8%]: greentea_serial.cpp Compile [ 40.2%]: ff.cpp Compile [ 40.5%]: FATFileSystem.cpp Compile [ 40.9%]: greentea_metrics.cpp [Warning] greentea_metrics.cpp@37,28: 'mutex' defined but not used [-Wunused-variable] Compile [ 41.3%]: greentea_test_env.cpp Compile [ 41.7%]: unity.c Compile [ 42.0%]: mbed-utest-shim.cpp Compile [ 42.4%]: unity_handler.cpp Compile [ 42.8%]: utest_case.cpp Compile [ 43.2%]: utest_default_handlers.cpp Compile [ 43.6%]: utest_greentea_handlers.cpp Compile [ 43.9%]: utest_stack_trace.cpp Compile [ 44.3%]: mbed_trng.c Compile [ 44.7%]: utest_harness.cpp Compile [ 45.1%]: utest_shim.cpp Compile [ 45.5%]: arc4.c Compile [ 45.8%]: utest_types.cpp Compile [ 46.2%]: aesni.c Compile [ 46.6%]: aes.c Compile [ 47.0%]: asn1write.c Compile [ 47.3%]: asn1parse.c Compile [ 47.7%]: base64.c Compile [ 48.1%]: camellia.c Compile [ 48.5%]: blowfish.c Compile [ 48.9%]: certs.c Compile [ 49.2%]: ccm.c Compile [ 49.6%]: cmac.c Compile [ 50.0%]: cipher.c Compile [ 50.4%]: cipher_wrap.c Compile [ 50.8%]: bignum.c Compile [ 51.1%]: ctr_drbg.c Compile [ 51.5%]: des.c Compile [ 51.9%]: debug.c Compile [ 52.3%]: dhm.c Compile [ 52.7%]: ecdh.c Compile [ 53.0%]: ecjpake.c Compile [ 53.4%]: ecdsa.c Compile [ 53.8%]: entropy.c Compile [ 54.2%]: entropy_poll.c Compile [ 54.5%]: ecp_curves.c Compile [ 54.9%]: havege.c Compile [ 55.3%]: error.c Compile [ 55.7%]: ecp.c Compile [ 56.1%]: gcm.c Compile [ 56.4%]: md2.c Compile [ 56.8%]: md4.c Compile [ 57.2%]: hmac_drbg.c Compile [ 57.6%]: md5.c Compile [ 58.0%]: md.c Compile [ 58.3%]: memory_buffer_alloc.c Compile [ 58.7%]: net_sockets.c Compile [ 59.1%]: md_wrap.c Compile [ 59.5%]: padlock.c Compile [ 59.8%]: oid.c Compile [ 60.2%]: pk.c Compile [ 60.6%]: pem.c Compile [ 61.0%]: pk_wrap.c Compile [ 61.4%]: pkcs11.c Compile [ 61.7%]: pkcs12.c Compile [ 62.1%]: pkcs5.c Compile [ 62.5%]: platform.c Compile [ 62.9%]: ripemd160.c Compile [ 63.3%]: pkwrite.c Compile [ 63.6%]: pkparse.c Compile [ 64.0%]: sha1.c Compile [ 64.4%]: ssl_cache.c Compile [ 64.8%]: rsa.c Compile [ 65.2%]: ssl_ciphersuites.c Compile [ 65.5%]: sha512.c Compile [ 65.9%]: sha256.c Compile [ 66.3%]: ssl_cli.c Compile [ 66.7%]: ssl_cookie.c Compile [ 67.0%]: ssl_srv.c Compile [ 67.4%]: ssl_ticket.c Compile [ 67.8%]: threading.c Compile [ 68.2%]: ssl_tls.c Compile [ 68.6%]: timing.c Compile [ 68.9%]: version.c Compile [ 69.3%]: version_features.c Compile [ 69.7%]: x509_create.c Compile [ 70.1%]: x509.c Compile [ 70.5%]: x509_csr.c Compile [ 70.8%]: x509_crl.c Compile [ 71.2%]: x509write_crt.c Compile [ 71.6%]: x509write_csr.c Compile [ 72.0%]: xtea.c Compile [ 72.3%]: x509_crt.c Compile [ 72.7%]: NetworkInterface.cpp Compile [ 73.1%]: SocketAddress.cpp Compile [ 73.5%]: NetworkStack.cpp Compile [ 73.9%]: Socket.cpp Compile [ 74.2%]: TCPServer.cpp Compile [ 74.6%]: UDPSocket.cpp Compile [ 75.0%]: TCPSocket.cpp Compile [ 75.4%]: WiFiAccessPoint.cpp Compile [ 75.8%]: mbed_lp_ticker_api.c Compile [ 76.1%]: mbed_gpio.c Compile [ 76.5%]: nsapi_dns.cpp Compile [ 76.9%]: mbed_pinmap_common.c Compile [ 77.3%]: mbed_us_ticker_api.c Compile [ 77.7%]: mbed_ticker_api.c Compile [ 78.0%]: mbed_alloc_wrappers.cpp Compile [ 78.4%]: CallChain.cpp Compile [ 78.8%]: mbed_assert.c Compile [ 79.2%]: mbed_application.c Compile [ 79.5%]: mbed_board.c Compile [ 79.9%]: mbed_critical.c Compile [ 80.3%]: mbed_error.c Compile [ 80.7%]: mbed_interface.c Compile [ 81.1%]: mbed_mem_trace.c Compile [ 81.4%]: mbed_rtc_time.cpp Compile [ 81.8%]: mbed_semihost_api.c Compile [ 82.2%]: mbed_wait_api_no_rtos.c Compile [ 82.6%]: mbed_stats.c Compile [ 83.0%]: mbed_retarget.cpp Compile [ 83.3%]: Mutex.cpp Compile [ 83.7%]: Semaphore.cpp Compile [ 84.1%]: RtosTimer.cpp Compile [ 84.5%]: mbed_wait_api_rtos.cpp Compile [ 84.8%]: rtos_idle.c Compile [ 85.2%]: HAL_CM3.S Compile [ 85.6%]: RTX_Conf_CM.c Compile [ 86.0%]: HAL_CM.c Compile [ 86.4%]: SVC_Table.S Compile [ 86.7%]: Thread.cpp Compile [ 87.1%]: rt_Event.c Compile [ 87.5%]: rt_List.c Compile [ 87.9%]: rt_Mailbox.c Compile [ 88.3%]: rt_MemBox.c Compile [ 88.6%]: rt_OsEventObserver.c Compile [ 89.0%]: rt_Mutex.c Compile [ 89.4%]: rt_Robin.c Compile [ 89.8%]: rt_CMSIS.c Compile [ 90.2%]: rt_Semaphore.c Compile [ 90.5%]: rt_System.c Compile [ 90.9%]: rt_Time.c Compile [ 91.3%]: rt_Task.c Compile [ 91.7%]: rt_Timer.c Compile [ 92.0%]: mbed_overrides.c Compile [ 92.4%]: C027_api.c Compile [ 92.8%]: analogin_api.c Compile [ 93.2%]: analogout_api.c Compile [ 93.6%]: startup_LPC17xx.S Compile [ 93.9%]: can_api.c Compile [ 94.3%]: cmsis_nvic.c Compile [ 94.7%]: system_LPC17xx.c Compile [ 95.1%]: gpio_api.c Compile [ 95.5%]: gpio_irq_api.c Compile [ 95.8%]: ethernet_api.c Compile [ 96.2%]: pinmap.c Compile [ 96.6%]: i2c_api.c Compile [ 97.0%]: port_api.c Compile [ 97.3%]: pwmout_api.c Compile [ 97.7%]: rtc_api.c Compile [ 98.1%]: sleep.c Compile [ 98.5%]: serial_api.c Compile [ 98.9%]: spi_api.c Compile [ 99.2%]: us_ticker.c Compile [ 99.6%]: test_env.cpp Compile [100.0%]: rt_Memory.c Link: mbed-os-example-C027 Elf2Bin: mbed-os-example-C027 +---------------------+-------+-------+------+ | Module | .text | .data | .bss | +---------------------+-------+-------+------+ | Fill | 149 | 0 | 9 | | Misc | 67746 | 2232 | 108 | | drivers | 2072 | 0 | 64 | | features/filesystem | 627 | 0 | 0 | | hal | 590 | 0 | 8 | | platform | 2235 | 4 | 297 | | rtos | 135 | 4 | 4 | | rtos/rtx | 5773 | 20 | 6870 | | targets/TARGET_NXP | 5014 | 4 | 364 | | Subtotals | 84341 | 2264 | 7724 | +---------------------+-------+-------+------+ Allocated Heap: 2048 bytes Allocated Stack: 3072 bytes Total Static RAM memory (data + bss): 9988 bytes Total RAM memory (data + bss + heap + stack): 15108 bytes Total Flash memory (text + data + misc): 86605 bytes Image: .\BUILD\UBLOX_C027\GCC_ARM\mbed-os-example-C027.bin 21:54:05 Build Finished (took 48s.816ms)
[4] Eclipse Environment.