Questions for SMP feature.
Chris Johns
chrisj at rtems.org
Tue Apr 18 02:32:08 UTC 2017
On 17/04/2017 21:47, Thomas Kim wrote:
> Dear Sir,
>
> I get ZynQ real board(name: ZYBO ZynQ-7000 Development Board).
> I was succeful to test SMP feature on my ZynQ real board after minor
> part(UART config) is modified.
> But, after I enable rtems-libbsd in below, RTEMS is not worked.
>
> My example code is below;
>
> void *POSIX_Init(void *argument)
> {
> rtems_status_code sc;
> #if 0 // Thomas. when below bsd initialization code is executed, RTEMS
> is not worked.
> /* FreeBSD Initialization */
> sc = rtems_media_initialize();
> ASSERT_SC(sc);
> sc = rtems_media_listener_add(media_listener, NULL);
> ASSERT_SC(sc);
> sc = rtems_media_server_initialize(200, 32 * 1024, RTEMS_DEFAULT_MODES,
> RTEMS_DEFAULT_ATTRIBUTES);
> ASSERT_SC(sc);
> sc = rtems_bsd_initialize();
> ASSERT_SC(sc);
> network_ifconfig_lo0();
> #endif
> sc = rtems_task_create( rtems_build_name ('S', 'H', 'E', 'L'),
> 10, 4096, RTEMS_DEFAULT_MODES, RTEMS_DEFAULT_ATTRIBUTES, &Task_Shell_id);
> sc = rtems_task_start( Task_Shell_id, shell_start, 1 );
> }
>
> At this time, I just used "#define CONFIGURE_MAXIMUM_PROCESSORS 2"
> option only for this.
You do need this. I suspect a number of the libbsd tests do not have
this set which would seem like a bug to me. I see the debugger01 test
fails if I add this setting to it.
> I have questions.
>
> Can RTEMS SMP feature is using both rtems kernel and rtems-libbsd ?
Yes. The configure phase of the build will indicate if the RTEMS you are
building against has been built with SMP enabled.
> If I need additional configuration for using rtems-libbsd with SMP
> feaure, plesae let me know that.
There is a test in libbsd called smp01. I suggest you take a look at
that test.
Chris
More information about the users
mailing list