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