> On Mar 13, 2020, at 16:49 , Chris Johns <chr...@rtems.org> wrote:
>
> On 14/3/20 6:16 am, dufa...@hda.com wrote:
>>> On Mar 13, 2020, at 08:42 , Sebastian Huber
>>> <sebastian.hu...@embedded-brains.de> wrote:
>>>> Finally, after initial successful loop-back testing, I tried to start an
>>>> RTEMS shell on one of the new ports.
>>>>
>>>> *Here I'm trying hard to avoid all-caps because this took the most time of
>>>> all (it should have been easiest), and I gave up!*
>>>>
>>>> * HOW (sorry) do you spawn a shell on a serial port? The documentation,
>>>> at
>>>> https://docs.rtems.org/branches/master/shell/configuration_and_init.html
>>>> that suggests just setting the shell device name to "/dev/console", or in
>>>> my case "/dev/ttyS9", is incorrect. The shell startup is intent on using
>>>> "stdin" and "stdout".
>
> I am guessing it is a bug. I tripped over some issues ...
>
> https://devel.rtems.org/ticket/3859
>
>>> I don't know this off hand.
>>
>> I don't need the shell spawned on one of the added serial ports. I thought
>> it would be an easy way to test the driver, but it isn't. Obviously the
>> "telnet" daemon does some monkeying around with "stdin" and "stdout" in
>> order that it works via telnet.
>
> A serial port should work with just the paths. You should also be able to do
> the
> same method as telnet and assign open descriptors then call the shell's main
> loop.
>
>> * It would be great if it worked but I'm not going to investigate it.
>
> I wonder if the issues you see are part of what I have fixed with ..
>
> https://lists.rtems.org/pipermail/devel/2020-February/057422.html
>
> The patch has not been pushed. I have pushed the changes to the 4.11 branch
> and
> I am planing to update the master version this week.
>
> Chris
That looks very promising. But what does this part mean? Is it that anything
that is a shell environment should have the unique magic number derived from
"rtems_build_name" that evaluates to SENV? So all shell environments will have
the magic number SENV? If I interpret that correctly it is pretty paranoid for
a structure that is passed as part of initialization, where corruption isn't
that common.
+ if (shell_env->magic != rtems_build_name('S', 'E', 'N', 'V')) {
+ rtems_error(0, "invalid shell environment passed to the main loop)");
Peter
-----------------
Peter Dufault
HD Associates, Inc. Software and System Engineering
This email is delivered through the public internet using protocols subject to
interception and tampering.
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel