RSB builds single-threaded Newlib by default?
Linda Huxley
lhuxley at shaw.ca
Tue Apr 18 18:30:04 UTC 2017
Thanks Chris,
> The RSB builds the kernel when released. I have not updated the
> documentation discuss this.
How do I tell if the kernel has been built by RSB? (I don't understand
what it means to build the kernel if each program contains a stand-alone
copy of the kernel. Is the kernel a library, or a set of header files?)
I will delete everything and start another RSB build.
> Please download and untar the file to a directory and then run the
> configure command:
I followed your instructions. (There was one slight issue. There was
apparently an extra "/rtems/" in the configure path.) I executed the
following commands:
$ cd /c/opt/rtems
$ tar Jxf rtems-4.11.2-rc4.tar.xz
$ mkdir erc32
$ cd erc32
$ /c/opt/rtems/rtems-4.11.2-rc4/configure \
--prefix=/c/opt/rtems/r4.11.2 \
--target=sparc-rtems4.11 \
--enable-rtemsbsp=erc32 \
--enable-posix
$ make -j 1
$ make install
That build completed without complaint.
I consulted various RTEMS tutorials, but I could not get the hello world
example to run. I found that hello.exe, (which appears to be an ELF
image), had been built here:
/c/opt/rtems/erc32/sparc-rtems4.11/c/erc32/testsuites/samples/hello/
Some of the tutorials said that I could run the samples with the
following command:
$ sparc-rtems4.11-run hello.exe
But I cannot find any executable or script with the name
"sparc-rtems4.11-run". When I try to run the program using gdb, I see
the following:
$ sparc-rtems4.11-gdb hello.exe
GNU gdb (GDB) 7.9
Copyright (C) 2015 Free Software Foundation, Inc.
...
Reading symbols from hello.exe...done.
(gdb) tar sim
Undefined target command: "sim". Try "help target".
(gdb) help target
Connect to a target machine or process.
The first argument is the type or protocol of the target machine.
Remaining arguments are interpreted by the target protocol. For more
information on the arguments for a particular protocol, type
`help target ' followed by the protocol name.
List of target subcommands:
target core -- Use a core file as a target
target exec -- Use an executable file as a target
target extended-remote -- Use a remote computer via a serial line
target native -- Native process (started by the "run" command)
target record-btrace -- Collect control-flow trace and provide the
execution history
target record-core -- Log program while executing and replay execution
from log
target record-full -- Log program while executing and replay execution
from log
target remote -- Use a remote computer via a serial line
target tfile -- Use a trace file as a target
Type "help target" followed by target subcommand name for full
documentation.
Type "apropos word" to search for commands related to "word".
Command name abbreviations are allowed if unambiguous.
(gdb) load
You can't do that when your target is `exec'
(gdb) r
Don't know how to run. Try "help target".
(gdb)
It appears that GDB has not been built with a sparc simulator.
Regards,
Linda
On 2017-04-17 22:30, Chris Johns wrote:
> On 18/04/2017 13:20, Linda Huxley wrote:
>> Hi Chris,
>>
>>> I assume you are building RTEMS by hand.
>>
>> I'm not sure what that means. These are the commands that I issued
>> after successfully building the 4.11.2-rc4 tools using rsb:
>>
>> $ export PATH=/c/opt/rtems/r4.11.2/bin:$PATH
>> $ cd /c/opt/rtems
>> $ mkdir kernel
>> $ cd kernel
>> $ git clone git://git.rtems.org/rtems.git rtems
>
> Ah ok, yes you have followed the documentation.
>
> You are building the development version of RTEMS and not the 4.11
> branch. The documentation was written before I made the 4.11 releases
> and it needs updating. I am sorry for this.
>
> For git you need to:
>
> $ git checkout 4.11
>
> Also see below for a tar file of the source to build rather than using git.
>
>> $ cd rtems
>> $ ./bootstrap -c && ./bootstrap -p && \
>> /c/opt/rtems/r4.11.2/source-builder/sb-bootstrap
>> $ cd ..
>> $ mkdir erc32
>> $ cd erc32
>> $ /c/opt/rtems/kernel/rtems/configure --prefix=/c/opt/rtems/r4.11.2 \
>> --target=sparc-rtems4.11 --enable-rtemsbsp=erc32 --enable-posix
>> $ make -j 1
>>
>>> Which RTEMS did you download?
>>
>> Again, I'm not sure what you're asking. I just followed the
>> instructions in the Quick Start section of the RTEMS User Manual. Is
>> this what you're asking for?
>>
>> $ git clone git://git.rtems.org/rtems.git rtems
>>
>
> This is what I am asking. Your RSB command should have built RTEMS for
> you. The RSB builds the kernel when released. I have not updated the
> documentation discuss this.
>
> The source for the kernel you can use is:
>
>
> https://ftp.rtems.org/pub/rtems/releases/4.11/rc/4.11.2-rc4/rtems-4.11.2-rc4.tar.xz
>
>
> Please download and untar the file to a directory and then run the
> configure command:
>
> $ cd /c/opt/rtems
> $ tar Jxf rtems-4.11.2-rc4.tar.xz
> $ mkdir erc32
> $ cd erc32
> $ /c/opt/rtems/rtems-4.11.2-rc4/rtems/configure \
> --prefix=/c/opt/rtems/r4.11.2 \
> --target=sparc-rtems4.11 \
> --enable-rtemsbsp=erc32 \
> --enable-posix
>
> Please note there is no need to bootstrap the source. The release are
> bundled with the needed files.
>
>>> What is the `configure` command line?
>>
>> Is this what you're looking for?
>>
>> $ /c/opt/rtems/kernel/rtems/configure --prefix=/c/opt/rtems/r4.11.2 \
>> --target=sparc-rtems4.11 --enable-rtemsbsp=erc32 --enable-posix
>
> Yes. This is correct, you just need to use the correct source.
>
> Again thank you for the reports and helping us see the issue. I have
> created ticket #2998 to record this issue.
>
> Chris
>
More information about the users
mailing list