Selection of ethernet peripheral by application

Kinsey Moore kinsey.moore at oarcorp.com
Fri Jun 4 12:59:29 UTC 2021


On 6/4/2021 02:32, Christian MAUDERER wrote:
> Am 02.06.21 um 20:37 schrieb Kinsey Moore:
>> Hello,
>>
>>  From what I’ve seen of the various BSPs supported by LibBSD that 
>> have multiple ethernet peripherals,
>>
>> only one tends to be chosen and supported. I’ve encountered a 
>> situation where the majority of platform
>>
>> examples (Zynq Ultrascale+ MPSoC dev boards) use CGEM3 as the 
>> only/primary ethernet interface and I
>>
>> need to have the option of selecting a different peripheral as the 
>> primary interface.
>>
>> Unfortunately, the current configuration of LibBSD/RTEMS does not 
>> allow for easy switching among the
>>
>> available interfaces. The easy one-off option is to just create a BSP 
>> variant with a little bit of extra logic
>>
>> to select the correct interface in LibBSD, but this problem seems 
>> more generally applicable than just
>>
>> ethernet and just this one BSP. Is the best alternative to configure 
>> all available devices in
>>
>> nexus-devices.h and let LibBSD figure it out?
>>
>> Thanks,
>> Kinsey
>>
>
> If the problem is with "nexus-devices.h": You can always just add 
> further devices or a completely own set of devices in your 
> application. For example it should be no problem to use
>
> ====
> SYSINIT_MODULE_REFERENCE(wlan_ratectl_none);
> SYSINIT_MODULE_REFERENCE(wlan_sta);
> SYSINIT_MODULE_REFERENCE(wlan_amrr);
> SYSINIT_MODULE_REFERENCE(wlan_wep);
> SYSINIT_MODULE_REFERENCE(wlan_tkip);
> SYSINIT_MODULE_REFERENCE(wlan_ccmp);
> SYSINIT_DRIVER_REFERENCE(rtwn_usb, uhub);
> SYSINIT_REFERENCE(rtwn_rtl8188eufw);
>
> #define RTEMS_BSD_CONFIG_BSP_CONFIG
> #define RTEMS_BSD_CONFIG_TERMIOS_KQUEUE_AND_POLL
> #define RTEMS_BSD_CONFIG_INIT
>
> #include <machine/rtems-bsd-config.h>
> ====
>
> in your application to add WLAN support. You could also remove the 
> RTEMS_BSD_CONFIG_BSP_CONFIG (which has the effect that nexus-devices.h 
> is not included in the rtems-bsd-config.h) and define a different set 
> of modules for your application.
>
> Best regards
>
> Christian

I guess this is a misunderstanding on my part. It might still be nice to 
have something switchable for testing purposes, but I see that it can be 
altered relatively easily on the application side of things.


Thanks,

Kinsey



More information about the devel mailing list