Link Search Menu Expand Document

Hornet Initialization

Once booted, the system performs an one-time initialization process.

Both the device and hornet itself need to be initialized.

Part of the initialization is standard which can be performed be Hornet OS code. Another part is customizable, which shall be implemented by developers.

Developers’ Responsibilities - Initialization

Developers are required to provide the implementation of the following API as part of the initialization code,

  • hornet_device_init() - Code for extra hardware initialization. Hornet’s by default initializes nvic, ioc, sys_ctrl, udma, power management, crypto, sleep timer and random. Developer needs to add extra peripheral init code.
  • aps_impl_init() - Called if the device joined a network; otherwise won’t be called.
  • hornet_firmware_init() - It is always called. Firmware related initialization code shall go to here.