Best of Embedded SystemsSeptember 2024

  1. 1
    Article
    Avatar of foojayioFoojay.io·2y

    A Fresh Look at Embedded Java

    Java, known for its 'Write Once, Run Anywhere' philosophy, continues to be a powerful choice for embedded systems ranging from in-car infotainment to home automation and medical devices. The language offers energy efficiency, developer productivity, and a stable runtime, with Azul providing builds of OpenJDK optimized for various platforms. Key solutions like CRaM and CRaC help reduce application startup time, making Java an ideal choice for rapid deployment scenarios. Azul also ensures long-term support, security updates, and legal protection for users of their Java runtime builds.

  2. 2
    Article
    Avatar of communityCommunity Picks·2y

    From Zero to main(): How to Write a Bootloader from Scratch

    Learn how to write a bootloader from scratch for a Cortex-M microcontroller. Topics include why bootloaders are needed, setting up memory maps, implementing the bootloader code, and making an application bootloadable. Advanced techniques like message passing to catch reboot loops, relocating the application from flash to RAM, and using the MPU to lock the bootloader are also discussed.

  3. 3
    Article
    Avatar of hnHacker News·2y

    Compiling to Assembly from Scratch

    Learn how to build a compiler from scratch covering both compiler theory and assembly programming. This book, authored by Vladimir Keleshev and initially published as an ebook in 2020, uses a subset of TypeScript targeting the ARM 32-bit instruction set. It includes exclusive illustrations and a print edition available for purchase. Source code and ports in Python and OCaml are available on GitHub.

  4. 4
    Article
    Avatar of itsfossIt's Foss·2y

    What is Raspberry Pi Compute Module? What is it used for?

    Compute modules, essentially stripped-down versions of single-board computers, offer essential processing components like CPU, memory, and storage but exclude many peripherals and I/O ports. They are ideal for creating specialized, compact, and scalable devices, making them valuable in applications like cluster computing, home automation, handheld devices, and industrial automation. Despite their flexibility, compute modules can be costly and require additional boards, adding complexity. Popular options include Raspberry Pi, Orange Pi, and Nvidia Jetson modules.

  5. 5
    Article
    Avatar of qtQt·2y

    Embedded Software Programming Languages: Pros, Cons, and Comparisons of Popular Languages

    Selecting the right programming language for an embedded system is crucial, with popular choices including C, C++, Python, MicroPython, and Java. Each language has its advantages and limitations, such as C's efficiency and Python's ease of learning. Experts suggest considering the system's requirements, such as memory and processing power, as well as the development team's expertise when choosing a language. Compiled languages like C and C++ offer speed and stability, whereas interpreted languages like Python provide portability and ease of use. Ada is recommended for systems requiring high security and reliability.

  6. 6
    Article
    Avatar of lobstersLobsters·2y

    18 Months with a Framework 13 – Project Gus

    The author shares their 18-month experience with the Framework 13 laptop, highlighting its repairability, sturdiness, display quality, and modular ports. They also discuss the laptop's downsides including flimsy default hinges, weak USB-A ports, and BIOS/firmware issues, especially for Linux users. Despite the criticisms, the author remains optimistic about Framework's mission and future improvements.

  7. 7
    Article
    Avatar of hnHacker News·2y

    the Fennel programming language

    Fennel is a programming language that combines Lua's simplicity, speed, and reach with Lisp's syntax and macro system. It offers full Lua compatibility, zero overhead, compile-time macros, and is easily embeddable. Documentation and guides are provided to help with installation, learning, and embedding Fennel into other programs. The community is active on various platforms, and resources like a wiki and cookbook are available.