Hi Josua,

IMO: cpu/periph is right if its part of the SOC (as you already said, there should be no dependency to the at86rf2xx driver -if possible- ).

Regarding your other question: I think the answer is no, at the moment its not guaranteed that calls to random32 are directed to hwrng, see [1].


regards,

Michel

[1]: https://github.com/RIOT-OS/RIOT/issues/8663


On 03/05/2018 04:31 PM, Arndt, Josua wrote:

Thanks Martine,

But as the atmegarfr2 is a soc this is the hwrng for this device.

So what would be the best place to put it if not as cpu/periph in this special case?

I would then implement it as CPU feature and remove the depency to the at86rf2xx driver.

Still the remaining question is it made sure that random32 calls or any calls to random are directed to hwrng_read

Is this already done by just enabling the module when building with FEATURES_REQUIRED = periph_hwrng ?

*Von:* devel <[email protected]> *Im Auftrag von *Martine Lenders
*Gesendet:* Montag, 5. März 2018 15:47
*An:* RIOT OS kernel developers <[email protected]>
*Betreff:* Re: [riot-devel] hwrnd how to implement

Hi Josua,

when the RNG component of the at86rf2xx driver was provided in [1] we decided to not implement the `periph/hwnrg` with it.

Main reasons are that it is

1. Not a `periph` (i.e. a CPU feature)

2. Hard to integrate when e.g. the CPU already provides a `hwnrg`.

Hope this helps,

Martine

[1] https://github.com/RIOT-OS/RIOT/pull/4989

2018-03-05 15:04 GMT+01:00 Arndt, Josua <[email protected] <mailto:[email protected]>>:

    Hello all,

    While implementing the at86rfr2 transceiver for the jiminy board I
    thought of also implement the hwrng.

    What I did is implementing in cpu/atmega256rfr2/periph/hwnrg.c

    hwrng_init

    hwrng_read

    Added feature and module to makefiles.

    Now I have some questions:

     1. How do I best include the depency to
        $(RIOTBASE)/drivers/at86rf2xx/include/at86rf2xx_internal.h, of
        hwrng.c in cpu folder?
     2. How is it ensured that hardware random is used in all cases?
        And all other are not linked?
     3. Where to find howto, concept description, implementation guide?

    Best Regards

    Josua

    rwth_ias_bild_rgb_logo

        

    *Josua Arndt, M.Sc.*
    *RWTH Aachen Univers**ity*

    *Integrated Analog Circuits and RF Systems*

    Kopernikusstraße 16, ICT Cube North, Room 209, D-52074 Aachen

    Email: [email protected]
    <mailto:[email protected]>
    Phone: +49 241 / 80 - 27750 <tel:+49%20241%208027750>


    _______________________________________________
    devel mailing list
    [email protected] <mailto:[email protected]>
    https://lists.riot-os.org/mailman/listinfo/devel



_______________________________________________
devel mailing list
[email protected]
https://lists.riot-os.org/mailman/listinfo/devel

_______________________________________________
devel mailing list
[email protected]
https://lists.riot-os.org/mailman/listinfo/devel

Reply via email to