Haiqi, I have direct experience with this. Late last year I reworked the IoTivity code to see how small a full-functionality OIC server could become. My thought was that an OIC server could become tiny, but I was disappointed.
I concentrated my work on the Resource and Connectivity layers. When I started, the size was 53KB, not including CoAP or DTLS. I separated the client code, and ignored the security code. The smallest I could get full server functionality was 26KB, so half. Then I refactored the code so it could be built conditionally without some OIC specified capability. * Removing Presence saved about 1400 bytes. * Removing Collections saved about 2500 bytes. * Removing generalized Resource API (callback Entity Handler) saved about 7000 bytes. I didn't actually rewrite the code, which might have saved more bytes, but I refactored it seriously. One lesson was that the OIC specified behavior takes a lot of code. Currently there is no OIC path to having a certified OIC server without all functionality. I believe this leaves us vulnerable to another IoT code base that is much smaller and more applicable to the small devices that are in IoT's future. Several architectural issues in OIC contribute to this, such as double encoding (CBOR and CoAP) and a tacked-on security model. Meanwhile, OIC certification makes small devices problematic. John Light Intel OTC OIC development From: iotivity-dev-bounces at lists.iotivity.org [mailto:iotivity-dev-bounces at lists.iotivity.org] On Behalf Of [email protected] Sent: Friday, March 18, 2016 4:06 AM To: iotivity-dev at lists.iotivity.org Subject: [dev] Minimum HW requirements to run Lite SDK Hi all, It is apparent that current lite SDK is BIG for many constrained devices. Assume that a constrained device has very limited RAM (<10K) and Flash (<100K) to act as simple senor. How to make it OCF device with lite SDK? Anybody got any experience on this? what's the OS and "customized" lite sdk? Best regards, Haiqi -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.iotivity.org/pipermail/iotivity-dev/attachments/20160318/a15559bd/attachment.html>
