1/1

|
Graphics Accelerator installation
by david_v on Jun 6, 2012 |
david_v
Posts: 8 Joined: Sep 20, 2011 Last seen: Jun 18, 2015 |
||
|
I'm trying to build the example implementation for the graphics accelerator core (ORGFX), but I'm having problems. I feel like I'm missing a step, here is an example of the errors I get when I try to make the examples in orsoc_graphics_accelerator/trunk/sw/examples/bare/:
"or32-elf-gcc -o drivertest drivertest.c -I../../drivers/gfx/bare ../../drivers/gfx/bare/orgfx.c ../../drivers/gfx/bare/orgfx_plus.c /opt/or32-elf-1.0rc1/bin/../lib/gcc/or32-elf/4.5.1-or32-1.0rc4/../../../../or32-elf/lib/crt0.o: In function `_start': (.text+0x0): undefined reference to `_board_mem_base'" I know that _board_mem_base is supposed to be in a descriptor file for the Atlys board that the examples work on, but I'm not sure where this file is or where it should be. I'm using Ubuntu 12.04, 64 bit, here are the steps I've followed: 1. Download the prebuilt binaries for the openRISC toolchain (or32-elf, etc). I used the version built for 64 bit CentOS. Extracted the two folders (or1ksim and or32-elf) to /opt and created symbolic links. 2. Downloaded and extracted the orsoc_graphics_accelerator project. Following the directions in the "gettingstarted.pdf" document contained in that project (section 6), I also downloaded ORGFXSoC. 3. Edited the Makefile in orsoc_graphics_accelerator/trunk/sw/examples/bare/ to point to the orpsocv2/boards/xilinx/atlys/backend/par/run in the ORGFXSoC download. 4. Tried to run "make" after editing the path. That's when I get the errors about the undefined references. Did I miss something? Where is the atlys descriptor file, and where should it be? A different document indicated it was in the gnu-src folder of the openRISC toolchain...is the source necessary even though I've downloaded the prebuilt binaries for or32-elf and or1ksim? |
|||
|
RE: Graphics Accelerator installation
by david_v on Jun 6, 2012 |
david_v
Posts: 8 Joined: Sep 20, 2011 Last seen: Jun 18, 2015 |
||
|
I wanted to make an update since I progressed a little further, but I'm still having problems.
To fix the undefined reference to _board_mem_base and _board_mem_size, I created a libboard.a file for the Atlys board and placed it in the /opt/or32-elf/lib/boards/atlys/ directory (as per section 3.7 of the "Getting started with ORPSoC on the ATLYS board" document), then linked the directory from the Makefile in orsoc_graphics_accelerator/trunk/sw/examples/bare/ using -L. However, a couple more errors persist: /opt/or32-elf-1.0rc1/bin/../lib/gcc/or32-elf/4.5.1-or32-1.0rc4/../../../../or32-elf/lib/crt0.o: In function `_start': (.text+0x80): undefined reference to `__uart_init' /opt/or32-elf-1.0rc1/bin/../lib/gcc/or32-elf/4.5.1-or32-1.0rc4/../../../../or32-elf/lib/libc.a(lib_a-exit.o): In function `exit': /home/orsoc1/julius/openrisc/trunk/gnu-src/bd-elf/or32-elf/newlib/libc/stdlib/../../../../../unisrc/newlib/libc/stdlib/exit.c:65: undefined reference to `_exit' I can only assume __uart_init and _exit are functions...the error from _exit looks like it's caused by trying to search in the wrong place (/home/orsoc1/julius looks to be an incorrect path), but I can't determine why __uart_init is also giving me problems. Any advice would be appreciated! |
|||
|
RE: Graphics Accelerator installation
by maiden on Jun 7, 2012 |
maiden
Posts: 5 Joined: May 16, 2010 Last seen: Oct 10, 2013 |
||
|
i will check it out.
|
|||
|
RE: Graphics Accelerator installation
by maiden on Jun 7, 2012 |
maiden
Posts: 5 Joined: May 16, 2010 Last seen: Oct 10, 2013 |
||
|
I tried to follow the document, checked out in a clean dir, i had no problems at your step. (except i was missing bin2binsizeword)
For some reason the last make would not start. will have to check that later. I updated the getting started document now, its better now, but still not good. |
|||
|
RE: Graphics Accelerator installation
by david_v on Jun 7, 2012 |
david_v
Posts: 8 Joined: Sep 20, 2011 Last seen: Jun 18, 2015 |
||
|
Thanks for checking into that for me, maiden.
It looks like the problem may lie somewhere with the OpenRISC GNU Toolchain. Most of the installation instructions say to just download the prebuilt binaries and set them in the environment path. So for example, I would have two folders in /opt : or32-elf/ and or1ksim/, and then my path would have /opt/or32-elf/bin and /opt/or1ksim/bin. However, when building the libraries from scratch, everything gets installed to /opt/openrisc, and the or32-elf tools end up in /opt/openrisc/bin. I decided to build the OpenRISC tools from scratch using the bld-all.sh script without uClibc or linux with the following command: ./bld-all.sh --force --prefix /opt/openrisc --or1ksim-dir /opt/or1ksim --no-or32-linux After building and adding /opt/openrisc/bin to my path, the example build proceeds further but still gets stuck with the following error (I do have bin2binsizeword in my path): ocgfxmesh.c:(.text+0x2558): undefined reference to `orgfx_vf_write' I grep'd in the project directory and the only place orgfx_vf_write was found was the call to it in ocgfxmesh.c...it doesn't seem like there is a definition for it anywhere. Commenting out that line solved the problem and the project built completely (I haven't had a chance to program the Atlys yet). I'll probably try pulling the SVN repository instead of using the direct .tar download from the website and see if I have any more success. |
|||
|
RE: Graphics Accelerator installation
by david_v on Jun 7, 2012 |
david_v
Posts: 8 Joined: Sep 20, 2011 Last seen: Jun 18, 2015 |
||
|
Additionally, it seems I am having the same problem as you with the second Makefile (in orpsocv2/boards/xilinx/atlys/backend/par/run). This is the output I get, and the mcs file doesn't get built:
"echo ### Design defines ### Parsing /home/dvanarnem/devl/hsc/dsp/graphics/ORGFXSoC/orpsocv2/boards/xilinx/atlys/backend/par/run/../../../rtl/verilog/include/orpsoc-defines.v and exporting: XILINX XILINX_PLL FPGA_BOARD_XILINX_ATLYS IOCONFIG_XILINX_ATLYS XILINX_DDR2 UART0 GPIO0 SPI0 VGA0 GFX0 AC97 PS2_0 PS2_1 FDT0 ARBITER_IBUS_WATCHDOG ARBITER_IBUS_WATCHDOG_TIMER_WIDTH=20 ARBITER_DBUS_WATCHDOG ARBITER_DBUS_WATCHDOG_TIMER_WIDTH=20 ARBITER_BYTEBUS_WATCHDOG_TIMER_WIDTH=9" I'll keep looking and post my updates here. If there's anything you'd like me to try, let me know. |
|||
|
RE: Graphics Accelerator installation
by david_v on Jun 7, 2012 |
david_v
Posts: 8 Joined: Sep 20, 2011 Last seen: Jun 18, 2015 |
||
|
Sorry for the multiple posts but I've made some progress.
The last make step in the example implementation needs a target, since echoing the variables being exported is set up as a rule so it stops after that. "make download" will generate a bitstream (orpsoc.bit), but the actual impact command doesn't work because the prerequisite "orpsoc.batch" ($(BATCH_FILE)) can't be located. I was able to successfully download the bitstream to the Atlys board. I'm not sure, does the example implementation generate the same project that the example video on YouTube uses? How is the monitor in the example video connected to the Atlys board (I'm assuming HDMI -> DVI or HDMI -> VGA)? Thanks for your work on this project and for all the help! |
|||
|
RE: Graphics Accelerator installation
by david_v on Jun 7, 2012 |
david_v
Posts: 8 Joined: Sep 20, 2011 Last seen: Jun 18, 2015 |
||
|
Last post today, I swear! :)
I generated the MCS file using "make orpsoc.mcs." It automatically made a second bitstream, orpsoc_spiboot.bit, which I assume is needed to pull the MCS file off the SPI flash on the Atlys board. Right now, I have orpsoc_spiboot.bit on the Spartan 6 FPGA (I also tried orpsoc.bit), and orpsoc.mcs on the Flash. I still don't see any output from the Atlys board (I have a DVI monitor connected to the Atlys using an HDMI->DVI connector on the HDMI OUT port). I'm pretty new to the OpenRISC platform, so I've probably missed something or have something set up incorrectly. Can you provide information on what needs to be loaded where on the board? Thanks! |
|||
|
RE: Graphics Accelerator installation
by maiden on Jul 20, 2012 |
maiden
Posts: 5 Joined: May 16, 2010 Last seen: Oct 10, 2013 |
||
|
How did it go? i have been on a vacation. Still in need of help?
|
|||
1/1

