Workflow

  1. 1.
    Create a TRNG device instance struct, which will be associated with a TRNG peripheral hardware instance.
    static struct trng_module trng_instance;
    
    Note: Device instance structures shall never go out of scope when in use.
  2. 2.
    Create a new function configure_trng(), which will be used to configure the overall TRNG peripheral.
    void configure_trng(void)
    
  3. 3.
    Create a TRNG peripheral configuration structure that will be filled out to set the module configuration.
    struct trng_config config_trng;
    
  4. 4.
    Fill the TRNG peripheral configuration structure with the default module configuration values.
    trng_get_config_defaults(&config_trng);
    
  5. 5.
    Initialize the TRNG peripheral and associate it with the software instance structure that was defined previously.
    trng_init(&trng_instance, TRNG, &config_trng);
    
  6. 6.
    Enable the now initialized TRNG peripheral.
    trng_enable(&trng_instance);