Peripheral hardware random number generator interface.
The HWRNG interface abstracts means provided by MCU peripherals to create random number. On most platforms, these peripherals are called something like 'hardware random number generator' or 'pseudo random number generator'. The quality of the created random data does differ quite a bit between different MCUs, so please refer to your MCUs reference manual for information on this!
- Refer to your platforms MCU reference manual for information on the quality of the used (pseudo) random number generator!
| ||Hardware random number generator driver interface. |
|void ||hwrng_init (void)|
| ||Initialize the hardware random number generator. More...|
|void ||hwrng_read (void *buf, unsigned int num)|
| ||Read N bytes of random data from the hardware device. More...|
On some platforms, the random number generator needs some global initialization before it can be used. This should happen in this function if it would impose too much overhead to do this everytime the hwrng_read function is called. The device should however be put into power-off mode after initialization and will be powered on and of when hwrng_read is called.
The read function should power on the HWRNG MCU peripheral, read the given number of random bytes and than put the peripheral back to sleep.
|[in]||buf||destination buffer to write the bytes to |
|[in]||num||number of bytes to get from device |