<div dir="ltr"><div dir="ltr"><br><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Feb 24, 2020 at 8:16 PM Alan Cudmore <<a href="mailto:alan.cudmore@gmail.com">alan.cudmore@gmail.com</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">Hi Vijay,<br>
My uEnv.txt was very similar, but I did not have the "fdt addr<br>
0x88000000" command. But that did not seem to help. I still get a<br>
fatal exception when trying to run the usb01 and ping01 programs.<br>
<br>
Do you think the u-boot version matters?<br>
I am using the following:<br>
- MLO and u-boot.img from a buildroot linux build. ( u-boot 2018.1)<br></blockquote><div>I don't think it's making much difference. I'm currently running u-boot 2018.11</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
- RTEMS kernel master from about a week ago ( samples like unlimited<br>
and ticker work )<br>
- rtems-libbsd 5-freebsd-12 branch<br></blockquote><div>I haven't tested with 5-freebsd-12 branch but it runs fine on master branch. </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
- The am335x-boneblack.dtb compiled from the suggested commit from the<br>
FreeBSD github repository.<br>
<br></blockquote><div>This one is fine. </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I don't have a debugger, so I looked up the PC address from the register dump.<br>
For the ping01 sample the PC indicates that it is in the fdt_ro_probe_ function.<br>
For the usb01, it seems to crash in an termios program.<br>
<br>
## Transferring control to RTEMS (at address 80000000) ...<br>
<br>
RTEMS Beagleboard: am335x-based<br>
        ARM Debug: 0x4b141000<br>
*** LIBBSD PING 1 TEST ***<br>
<br>
*** FATAL ***<br>
fatal source: 9 (RTEMS_FATAL_SOURCE_EXCEPTION)<br>
<br>
R0   = 0x00000000 R8  = 0x00000000<br>
R1   = 0x0000feed R9  = 0x00000000<br>
R2   = 0x00000007 R10 = 0x00000064<br>
R3   = 0x006e6573 R11 = 0x802520a0<br>
R4   = 0x00000007 R12 = 0x01010101<br>
R5   = 0xfffffff7 SP  = 0x8027589c<br>
R6   = 0x80150dac LR  = 0x8011b1d0<br>
R7   = 0x00000000 PC  = 0x8011a11c<br>
CPSR = 0x00000113 VEC = 0x00000004<br>
RTEMS version: 5.0.0.588646279951ff696f3893a4c2e79aa1ba67fccf<br>
RTEMS tools: 7.5.0 20191114 (RTEMS 5, RSB 5 (57011908b007), Newlib d14714c69)<br>
executing thread ID: 0x08a010001<br>
executing thread name: UI1<br>
<br>
One more question:<br>
I am converting the images using the following commands:<br>
arm-rtems5-objcopy $1.exe -O binary $1.bin<br>
gzip -9 $1.bin<br>
mkimage -A arm -O rtems -T kernel -a 0x80000000 -e 0x80000000 -n RTEMS<br>
-d $1.bin.gz $1-app.img<br>
<br></blockquote><div>Mine is similar with a slight change in OS option:</div><div><br></div>arm-rtems5-objcopy $executable -O binary $TMPDIR/${base}.bin<br>gzip -9 $TMPDIR/${base}.bin<br><div>mkimage -A arm -O linux -T kernel -a 0x80000000 -e 0x80000000 -n RTEMS -d $TMPDIR/${base}.bin.gz $TMPDIR/$app </div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Are the 0x8000.0000 addresses correct in the mkimage command? It seems<br>
that the RTEMS executable considers the start of RAM to be 0x8000.0000<br>
<br></blockquote><div>Yes, the start address is correct.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
It might be good to have an image I can try.<br>
<br></blockquote><div>I'll send that to you offlist shortly :) </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Thanks for the help!<br>
Alan<br>
<br>
On Mon, Feb 24, 2020 at 12:57 AM Vijay Kumar Banerjee<br>
<<a href="mailto:vijaykumar9597@gmail.com" target="_blank">vijaykumar9597@gmail.com</a>> wrote:<br>
><br>
><br>
><br>
> On Sun, Feb 23, 2020 at 11:46 PM Alan Cudmore <<a href="mailto:alan.cudmore@gmail.com" target="_blank">alan.cudmore@gmail.com</a>> wrote:<br>
>><br>
>> Hi Christian,<br>
>> Thanks for the quick response. I followed the instructions in the<br>
>> <a href="http://docs.rtems.org" rel="noreferrer" target="_blank">docs.rtems.org</a> manual and generated the dtb from the FreeBSD commit<br>
>> that Vijay suggested. It still resulted in an exception in the same<br>
>> function.<br>
>><br>
>> Do you know if a specific commit of rtems-libbsd is required to work<br>
>> with that dtb?<br>
>> I tried master, and then the "5-freebsd-12" branch.<br>
>><br>
>> Thanks,<br>
>> Alan<br>
>><br>
> Hi Alan,<br>
><br>
> I checked with the usb01 and ping01 tests running on libbsd master<br>
> and the dtb from the commit mentioned by Christian. I can't reproduce<br>
> the error and it seems to run as expected. I'm not sure where the<br>
> error might be coming from. Below I'm pasting the contents of my uEnv.txt<br>
> If the error isn't in the uEnv, I can send you my sd card image(offlist) so that you<br>
> can try that on your board and that might give some hint on what was going<br>
> wrong.<br>
><br>
> ```<br>
> setenv bootdelay 5<br>
> uenvcmd=run boot<br>
> boot=fatload mmc 0 0x80800000 rtems-app.img ; fatload mmc 0 0x88000000 am335x-boneblack.dtb ; fdt addr 0x88000000; bootm 0x80800000 - 0x88000000<br>
> ```<br>
><br>
> Best regards,<br>
> Vijay<br>
>><br>
>> On Sun, Feb 23, 2020 at 11:32 AM Christian Mauderer <<a href="mailto:list@c-mauderer.de" target="_blank">list@c-mauderer.de</a>> wrote:<br>
>> ><br>
>> > On 23/02/2020 17:07, Alan Cudmore wrote:<br>
>> > > I have been trying to bring up RTEMS with rtems-libbsd on the<br>
>> > > beaglebone black (latest master).<br>
>> > ><br>
>> > > I can run the regular RTEMS samples on the board, and a couple of the<br>
>> > > rtems-libbsd testsuite examples run as well.<br>
>> > ><br>
>> > > The samples such as ping01 and usb01 get a fatal exception in the<br>
>> > > function fdt_ro_probe_ , leading me to believe that maybe I am not<br>
>> > > using the correct device tree blob.<br>
>> > ><br>
>> > > I'm using the instructions here:<br>
>> > > <a href="https://git.rtems.org/rtems-docs/tree/user/bsps/arm/beagle.rst" rel="noreferrer" target="_blank">https://git.rtems.org/rtems-docs/tree/user/bsps/arm/beagle.rst</a><br>
>> > ><br>
>> > > And I have am loading am335x-boneblack.dtb that I copied from a linux<br>
>> > > u-boot build. The instructions talk about getting the one from the<br>
>> > > FreeBSD repository, but there are many other files included in that<br>
>> > > dts source.<br>
>> > ><br>
>> > > What dtb is normally used for the Beaglebone black RTEMS libbsd testing?<br>
>> > ><br>
>> > > Is the dtb needed for the non-libbsd BSP?<br>
>> > ><br>
>> > > Also, is the ethernet supported on the RTEMS beagle BSP, or do I need<br>
>> > > libbsd to get ethernet?<br>
>> > ><br>
>> > > Thanks,<br>
>> > > Alan<br>
>> ><br>
>> > Hello Alan,<br>
>> ><br>
>> > I recommend to use the FreeBSD device trees. libbsd is FreeBSD based and<br>
>> > therefore works best with them. Normally I would suggest to use the<br>
>> > version matching the FreeBSD commit used in libbsd. But unfortunately in<br>
>> > the last commit that doesn't seem to work. Vijay had some problems with<br>
>> > it and noted that the version from FreeBSD commit<br>
>> > 19a6ceb89dbacf74697d493e48c388767126d418 works fine.<br>
>> ><br>
>> > Regarding Ethernet support: As far as I know there is no support for the<br>
>> > legacy stack. But the one in libbsd worked fine the last time I tested<br>
>> > it (which was when I ported it). If you really want to use the legacy<br>
>> > stack please note that it is still an IPv4 only one and therefore it is<br>
>> > quite limited nowadays.<br>
>> ><br>
>> > Best regards<br>
>> ><br>
>> > Christian<br>
>> _______________________________________________<br>
>> devel mailing list<br>
>> <a href="mailto:devel@rtems.org" target="_blank">devel@rtems.org</a><br>
>> <a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a><br>
</blockquote></div></div>