<div dir="ltr"><div dir="ltr"><div>Hey Chris and Christian,</div><div><br></div><div>Thank you for the prompt responses. </div><div><br></div><div>I think there is no update needed to the rtems-source-builder at this time for beaglebone. After understanding what Christian told me, I realized that I just needed to use the rtems-arm build set. Then, I followed this README <a href="https://git.rtems.org/rtems/tree/bsps/arm/beagle/README">https://git.rtems.org/rtems/tree/bsps/arm/beagle/README</a> from the master branch of rtems and ran the ticker sample on the beaglebone.</div><div><br></div><div>For now, I think I will stick to figuring out more about the PRU or ADC peripherals and try to write the respective drivers for the BSP.  Since I am not associated with GSoC or any other institute, I will keep an eye on the mailing lists and make sure I am not duplicating work which others are doing on the Beaglebone black. <br></div><div><br></div><div>Thanks again for all the help.<br></div><div><br></div><div>Regards,</div><div>Sarvesh</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Mar 6, 2019 at 10:18 PM Christian Mauderer <<a href="mailto:christian.mauderer@embedded-brains.de">christian.mauderer@embedded-brains.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 21:17 schrieb Sarvesh Patkar:<br>
> Thank you for the responses!<br>
> <br>
> Chris,<br>
> <br>
> I was using Ben's repository and not <a href="http://git.rtems.org" rel="noreferrer" target="_blank">git.rtems.org</a><br>
> <<a href="http://git.rtems.org" rel="noreferrer" target="_blank">http://git.rtems.org</a>>. I will test it with<br>
> <a href="https://git.rtems.org/rtems-source-builder/" rel="noreferrer" target="_blank">https://git.rtems.org/rtems-source-builder/</a> some time later today to see<br>
> if it works.<br>
> <br>
> <br>
> Christian, <br>
> <br>
> I didn't know the documentation is outdated. <br>
<br>
Like I said: I have to update it some when.<br>
<br>
> <br>
> I would like to understand what part of Beaglebone black BSP has not<br>
> been implemented. The list on the ticket mentioned<br>
> <br>
> PRU - programmable realtime units, interesting realtime applications<br>
> I2C<br>
> ADC<br>
> Framebuffer<br>
> USB<br>
> Ethernet<br>
> GPIO<br>
> CAN<br>
> MMC (internal flash & sdcard)   <br>
<br>
>From the list on the bottom of the ticket, the following are still open:<br>
<br>
    PRU - programmable realtime units, interesting realtime applications<br>
    ADC<br>
    Framebuffer<br>
    GPIO<br>
    CAN<br>
    USB OTG (like CDC ethernet or CDC mass storage - not sure about the<br>
original beagle board but would be great on the beagle bone black)<br>
<br>
Note that already at least one other student is planning a BBB project.<br>
Of course you can apply to the same. But be aware that we won't have two<br>
projects with the same target. If you are working on different parts of<br>
BBB, that's OK.<br>
<br>
What I told the other student:<br>
<br>
- The Framebuffer could be a decent package. (He asked about that on the<br>
mailing list already.)<br>
<br>
- I have no idea what to do with the PRUs. So if you are interested in<br>
them, try to bring some ideas.<br>
<br>
- All other packages are most likely quite small. But a combination of<br>
these could be a package too.<br>
<br>
- If you want to add some other Beagle variant, we would have to have a<br>
look at how much work to expect and if it is enough for a project.<br>
<br>
> <br>
> From the repository <a href="https://git.rtems.org/rtems/tree/bsps/arm/beagle" rel="noreferrer" target="_blank">https://git.rtems.org/rtems/tree/bsps/arm/beagle</a>, it<br>
> seems the i2c, spi, uart, gpio, pwm are implemented. I am not sure if I<br>
> am looking at the right place. So, it would be great if you could let me<br>
> know, where to look, to understand the BSP better.<br>
> <br>
> I understand why we don't need the tools to build the application. I<br>
> will try your way with the scripts from the Gitlab repository and try to<br>
> build a sample application. <br>
<br>
You don't have to use the scripts. But of course you can. Basically the<br>
scripts just call RSB and the commands for building RTEMS and libbsd,<br>
build the same tools that originally have been build by Bens RSB branch,<br>
build a U-Boot and generate a SD-Card image that works without a U-Boot<br>
on the board too. So much more than the minimum requirement.<br>
<br>
> <br>
> You mentioned a Wifi example, but there is an ethernet chip on board and<br>
> no Wifi chip. Is there a reason why an external Wifi chip is used and<br>
> not the ethernet chip? Also, are all networking applications for RTEMS<br>
> going to use the rtems-libbsd going forward? <br>
<br>
Some parts of WiFi have been a GSoC project that I mentored in 2017.<br>
Therefore I needed a test platform. The student back then added (benath<br>
some other stuff) wpa_supplicant and a driver for a RTL8188 based stick.<br>
<br>
The WiFi sample has grown to a more universal one. Since Christmas it<br>
includes Ethernet too.<br>
<br>
Best regards<br>
<br>
Christian<br>
<br>
> <br>
> Thank you for the help.<br>
> <br>
> Regards,<br>
> Sarvesh<br>
> <br>
> On Wed, Mar 6, 2019 at 8:52 AM Christian Mauderer <<a href="mailto:list@c-mauderer.de" target="_blank">list@c-mauderer.de</a><br>
> <mailto:<a href="mailto:list@c-mauderer.de" target="_blank">list@c-mauderer.de</a>>> wrote:<br>
> <br>
>     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<br>
>     World for the<br>
>     >> sparc/erc32 target.<br>
>     >><br>
>     >> I would like to contribute to RTEMS in adding functionality and<br>
>     maybe, writing<br>
>     >> BSPs for some development boards that I have. I started with<br>
>     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<br>
>     Ben Gras's Github<br>
>     >>     repository<br>
>     (<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<br>
>     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<br>
>     work because the<br>
>     >>     link for fetching the mpc library is broken/wrong. (I<br>
>     corrected the link<br>
>     >>     locally and the sb-set-builder seems to go beyond that error)<br>
>     I think this<br>
>     >>     change was made already in all branches in the official<br>
>     repository but not<br>
>     >>     Ben's. I see another error while running sb-set-builder<br>
>     during compilation<br>
>     >>     of ubsan.c (gcc-6.3.0) as follows. Is there a patch for this<br>
>     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>
>     <<a href="http://git.rtems.org" rel="noreferrer" target="_blank">http://git.rtems.org</a>>?<br>
>     ><br>
>     > Chris<br>
>     ><br>
>     >><br>
>     >> ../../gcc-6.3.0/gcc/ubsan.c: In function 'bool<br>
>     ubsan_use_new_style_p(location_t)':<br>
>     >> ../../gcc-6.3.0/gcc/ubsan.c:1474:23: error: ISO C++ forbids<br>
>     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<br>
>     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> <mailto:<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> <mailto:<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>
> <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>
-- <br>
--------------------------------------------<br>
embedded brains GmbH<br>
Herr Christian Mauderer<br>
Dornierstr. 4<br>
D-82178 Puchheim<br>
Germany<br>
email: <a href="mailto:christian.mauderer@embedded-brains.de" target="_blank">christian.mauderer@embedded-brains.de</a><br>
Phone: +49-89-18 94 741 - 18<br>
Fax:   +49-89-18 94 741 - 08<br>
PGP: Public key available on request.<br>
<br>
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.<br>
</blockquote></div>