Object-lifetime

  • Published on
    Memory pada ESP32 bukan sekadar “heap vs stack”. Setiap task FreeRTOS memiliki stack sendiri, sementara heap bersifat global dan digunakan oleh WiFi, TLS, dan library internal. Banyak kegagalan firmware produksi bukan karena logika salah, tetapi karena fragmentasi heap, stack overflow, atau lifetime object yang tidak selaras dengan lifecycle sistem. Artikel ini membedah struktur memori ESP32, perbedaan stack task dan heap global, risiko hidden allocation pada C++, serta konsekuensi destructor dan dynamic allocation terhadap stabilitas jangka panjang firmware sensor–relay.
  • Published on
    OOP pada embedded bukan tentang membuat kode “modern”, tetapi tentang mengontrol ownership, lifetime, dan dependency secara eksplisit. Banyak engineer yang memahami class, constructor, dan inheritance, namun belum memetakan konsep tersebut ke realitas firmware - stack terbatas, heap global, ISR preemption, dan sistem yang tidak pernah exit. Artikel ini membahas OOP dari perspektif embedded - encapsulation sebagai boundary hardware, constructor sebagai lifecycle binding, composition sebagai struktur aman, serta risiko inheritance, virtual table, dan hidden allocation. Tujuannya membentuk pola pikir struktural sebelum masuk ke disiplin dependency freeze pada tahap produksi.