<div dir="ltr"><div dir="ltr"><div dir="ltr">Thank you for the responses!<div><br></div><div>Chris,</div><div><br></div><div>I was using Ben's repository and not <a href="http://git.rtems.org">git.rtems.org</a>. I will test it with <a href="https://git.rtems.org/rtems-source-builder/">https://git.rtems.org/rtems-source-builder/</a> some time later today to see if it works.</div><div><br></div><div><br></div><div>Christian, </div><div><br></div><div>I didn't know the documentation is outdated. </div><div><br></div><div>I would like to understand what part of Beaglebone black BSP has not been implemented. The list on the ticket mentioned</div><div><br></div><div><span style="color:rgb(0,0,0);font-family:Verdana,Arial,"Bitstream Vera Sans",Helvetica,sans-serif;font-size:13px;background-color:rgb(255,255,221)">PRU - programmable realtime units, interesting realtime applications</span><br style="color:rgb(0,0,0);font-family:Verdana,Arial,"Bitstream Vera Sans",Helvetica,sans-serif;font-size:13px;background-color:rgb(255,255,221)"><span style="color:rgb(0,0,0);font-family:Verdana,Arial,"Bitstream Vera Sans",Helvetica,sans-serif;font-size:13px;background-color:rgb(255,255,221)">I2C</span><br style="color:rgb(0,0,0);font-family:Verdana,Arial,"Bitstream Vera Sans",Helvetica,sans-serif;font-size:13px;background-color:rgb(255,255,221)"><span style="color:rgb(0,0,0);font-family:Verdana,Arial,"Bitstream Vera Sans",Helvetica,sans-serif;font-size:13px;background-color:rgb(255,255,221)">ADC</span><br style="color:rgb(0,0,0);font-family:Verdana,Arial,"Bitstream Vera Sans",Helvetica,sans-serif;font-size:13px;background-color:rgb(255,255,221)"><span style="color:rgb(0,0,0);font-family:Verdana,Arial,"Bitstream Vera Sans",Helvetica,sans-serif;font-size:13px;background-color:rgb(255,255,221)">Framebuffer</span><br style="color:rgb(0,0,0);font-family:Verdana,Arial,"Bitstream Vera Sans",Helvetica,sans-serif;font-size:13px;background-color:rgb(255,255,221)"><span style="color:rgb(0,0,0);font-family:Verdana,Arial,"Bitstream Vera Sans",Helvetica,sans-serif;font-size:13px;background-color:rgb(255,255,221)">USB</span><br style="color:rgb(0,0,0);font-family:Verdana,Arial,"Bitstream Vera Sans",Helvetica,sans-serif;font-size:13px;background-color:rgb(255,255,221)"><span style="color:rgb(0,0,0);font-family:Verdana,Arial,"Bitstream Vera Sans",Helvetica,sans-serif;font-size:13px;background-color:rgb(255,255,221)">Ethernet</span><br style="color:rgb(0,0,0);font-family:Verdana,Arial,"Bitstream Vera Sans",Helvetica,sans-serif;font-size:13px;background-color:rgb(255,255,221)"><span style="color:rgb(0,0,0);font-family:Verdana,Arial,"Bitstream Vera Sans",Helvetica,sans-serif;font-size:13px;background-color:rgb(255,255,221)">GPIO</span><br style="color:rgb(0,0,0);font-family:Verdana,Arial,"Bitstream Vera Sans",Helvetica,sans-serif;font-size:13px;background-color:rgb(255,255,221)"><span style="color:rgb(0,0,0);font-family:Verdana,Arial,"Bitstream Vera Sans",Helvetica,sans-serif;font-size:13px;background-color:rgb(255,255,221)">CAN</span><br style="color:rgb(0,0,0);font-family:Verdana,Arial,"Bitstream Vera Sans",Helvetica,sans-serif;font-size:13px;background-color:rgb(255,255,221)"><span style="color:rgb(0,0,0);font-family:Verdana,Arial,"Bitstream Vera Sans",Helvetica,sans-serif;font-size:13px;background-color:rgb(255,255,221)">MMC (internal flash & sdcard) </span>  <br></div><div><br></div><div>From the repository <a href="https://git.rtems.org/rtems/tree/bsps/arm/beagle">https://git.rtems.org/rtems/tree/bsps/arm/beagle</a>, it seems the i2c, spi, uart, gpio, pwm are implemented. I am not sure if I am looking at the right place. So, it would be great if you could let me know, where to look, to understand the BSP better.</div><div><br></div><div>I understand why we don't need the tools to build the application. I will try your way with the scripts from the Gitlab repository and try to build a sample application. </div><div><br></div><div>You mentioned a Wifi example, but there is an ethernet chip on board and no Wifi chip. Is there a reason why an external Wifi chip is used and not the ethernet chip? Also, are all networking applications for RTEMS going to use the rtems-libbsd going forward? </div><div><br></div><div>Thank you for the help.<br></div><div><br></div><div>Regards,</div><div>Sarvesh</div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Mar 6, 2019 at 8:52 AM Christian Mauderer <<a href="mailto:list@c-mauderer.de">list@c-mauderer.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Am 06.03.19 um 12:11 schrieb Chris Johns:<br>
> On 6/3/19 6:07 pm, Sarvesh Patkar wrote:<br>
>> Hey everyone,<br>
>><br>
>> I went through the quick start guide and could build the Hello World for the<br>
>> sparc/erc32 target.<br>
>><br>
>> I would like to contribute to RTEMS in adding functionality and maybe, writing<br>
>> BSPs for some development boards that I have. I started with Beaglebone Black.<br>
> <br>
> Welcome and this sounds great.<br>
<br>
Note that the Beagle Bone Black is already quite well supported (except<br>
for the outdated documentation). Of course there is always room to<br>
improvement.<br>
<br>
> <br>
>> There are a few questions that I have as follows.<br>
>><br>
>>  1. There is a build set called beagle.bset that is defined in Ben Gras's Github<br>
>>     repository (<a href="https://github.com/bengras/rtems-source-builder/tree/beagle" rel="noreferrer" target="_blank">https://github.com/bengras/rtems-source-builder/tree/beagle</a>),<br>
>>     that hasn't been merged into the main rtems-source-builder git repository.<br>
>>     Is there a way to know if that will happen? <br>
> <br>
> It could be if it is updated so it can be merged to master.<br>
<br>
The build set compiles some additional tools and libraries. The tools<br>
are useful but not necessary to create bootable images. Most likely Ben<br>
used the libraries for some project.<br>
<br>
Please note that I write the following without detailed tests from some<br>
notes / scripts. So there might could be typos or some problems with the<br>
order.<br>
<br>
For a BBB with an up to date U-Boot (newer than about 2017) on your<br>
Beagle you don't have to use these tools. The U-Boot that is provided by<br>
the official BBB images now looks for a uEnv.txt on your SD and executes<br>
that if it is available.<br>
<br>
You can build the toolchain and system the normal way like any other<br>
RTEMS tool chain (like you did for erc32) from master. Beneath that you<br>
need a mkimage from U-Boot. Any recent version should do. As soon as you<br>
have your executable you need the following steps:<br>
<br>
----<br>
arm-rtems5-objcopy app.exe -O binary app.bin<br>
<br>
gzip -9 app.bin<br>
<br>
mkimage -A arm -O linux -T kernel -a 0x80000000 -e 0x80000000 -n RTEMS<br>
-d app.bin.gz rtems-app.img<br>
----<br>
<br>
You can then copy the rtems-app.img to the root directory of a<br>
FAT-formatted SD card. Put a uEnv.txt with the following content beneath<br>
it (the line with boot=... and the following are one - my mail client<br>
just breaks it):<br>
<br>
----<br>
setenv bootdelay 5<br>
uenvcmd=run boot<br>
boot=fatload mmc 0 0x80800000 rtems-app.img ; fatload mmc 0 0x88000000<br>
am335x-boneblack.dtb ; bootm 0x80800000 - 0x88000000<br>
----<br>
<br>
The last file that you need is a device tree file<br>
(am335x-boneblack.dtb). The simplest way to get that is to copy it from<br>
a Linux or FreeBSD image for the BBB. Copy it together with the other<br>
files to the root of the disk.<br>
<br>
A disk that is prepared in that way should boot the RTEMS application if<br>
you put it in your BBB.<br>
<br>
Like I said: I mostly wrote that down from head / scripts. I should<br>
update the README of the Beagle BSP sometimes but I haven't managed to<br>
bring myself to do it yet.<br>
<br>
In the last two years, I have used some hacked together scripts to build<br>
a development environment that I used to test GSoC code. Basically it<br>
builds the same tools that Bens repo would build. It isn't integrated as<br>
nicely into RSB but it worked for me. The repo isn't totally up to date<br>
(last updated to RTEMS master on last Chrismas) but it should still<br>
work. If it helps you, you can find the scripts here:<br>
<br>
    <a href="https://gitlab.com/c-mauderer/rtems-bbb" rel="noreferrer" target="_blank">https://gitlab.com/c-mauderer/rtems-bbb</a><br>
<br>
There is also a WiFi-Sample application in the repo that uses quite a<br>
lot of the hardware.<br>
<br>
Best regards<br>
<br>
Christian<br>
<br>
> <br>
>>  2. The instructions given in the blog link mentioned on the<br>
>>     ticket <a href="https://devel.rtems.org/ticket/2891" rel="noreferrer" target="_blank">https://devel.rtems.org/ticket/2891</a> do not seem to work because the<br>
>>     link for fetching the mpc library is broken/wrong. (I corrected the link<br>
>>     locally and the sb-set-builder seems to go beyond that error) I think this<br>
>>     change was made already in all branches in the official repository but not<br>
>>     Ben's. I see another error while running sb-set-builder during compilation<br>
>>     of ubsan.c (gcc-6.3.0) as follows. Is there a patch for this that I can<br>
>>     apply to fix my local clone of the rsb ?<br>
> <br>
> Are you using the master version of the RSB from <a href="http://git.rtems.org" rel="noreferrer" target="_blank">git.rtems.org</a>?<br>
> <br>
> Chris<br>
> <br>
>><br>
>> ../../gcc-6.3.0/gcc/ubsan.c: In function 'bool ubsan_use_new_style_p(location_t)':<br>
>> ../../gcc-6.3.0/gcc/ubsan.c:1474:23: error: ISO C++ forbids comparison between<br>
>> pointer and integer [-fpermissive]<br>
>>        || xloc.file == '\0' || xloc.file[0] == '\xff'<br>
>><br>
>> Any help in this matter is highly appreciated. If not the Beaglebone black, I<br>
>> have some ARM Cortex-M boards that I would like to work towards.<br>
>><br>
>> Thank you for the help.<br>
>><br>
>> Regards,<br>
>> Sarvesh<br>
>><br>
>> _______________________________________________<br>
>> users mailing list<br>
>> <a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a><br>
>> <a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/users</a><br>
>><br>
> _______________________________________________<br>
> users mailing list<br>
> <a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a><br>
> <a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/users</a><br>
> <br>
<br>
</blockquote></div>