Abstract: Systems, methods, and apparatuses for programming and debugging electronic devices using a near field communications device are provided. One apparatus includes an electronic device (101). The electronic device can include a microcontroller (102), wherein the microcontroller includes a bootloader (104), a device memory (103), and a processor configured to execute instructions stored on the device memory. A near field communications (NFC) interface (106) can be in communication with the microcontroller. An antenna (108) can be in communication with the NFC interface and can be configured to be energized by a signal received from an external NFC device (109). An interface memory can be in communication with the NFC interface (106), wherein the interface memory is configured to store data received from the external NFC device, the data included in the signal received from the external NFC device.
Abstract: A real-time operating system (OS) for an embedded system may be configured for asynchronous handling of input and output (I/O) operations. When application code is executing, the OS may be configured to register I/O interrupts and queue I/O operations. When no application code is executing, the OS may be configured to call appropriate interrupt handlers. As result, the OS may maintain the real-time execution that may be required of applications on an embedded system while providing the flexibility and scalability offered by an operating system.
Abstract: A method for executing a security stack can include executing a bootloader included in a memory resource of an electronic device in response to the bootloader receiving a prompt. The method can include performing a verification function, with the bootloader, on data stored in a programmable memory included in the memory resource of the electronic device, wherein the verification function includes comparing security data stored in a configuration area of the memory resource with a signature that accompanies the data stored in the programmable memory. The method can include determining whether the security data stored in the configuration area matches the signature that accompanies the data stored in the programmable memory.