08-10-2010 09:17 AM
I'm developping a control system for a robot using a RS232 GPS antenna and a digilent nexys2, everything works fine, but I'm worry because I have to do some operations with the coordinates and when I use atan2 function Data2Mem says that I haven't got enough RAM memory. I tried to increase it from 32K to 64K but I haven't got enough space in the FPGA.
My board has an external 16 Mb RAM (Micron), and I would like to transfer my code (.text is the largest data in my design) to it, so, I change it in the linker script but, when I try to download my .bit to the FPGA it doesn't work. Have you got any idea or tutorial of how I have to change the address to relocate the code in the external ram, and still working???
I have to say that I create the embedded processor with BSB and it creates also the memory controller and everything to communicate with the RAM memory, moreover I programmed the FPGA with the test_memory_app and it works.
thank you, and sorry about my awful english...
08-11-2010 03:43 PM
Since your code is not longer in BRAM, it also is no longer in the .bit file that you program. Set only the bootloop program to be placed in BRAM. and thent ry downloading the ELF file via XMD after programming the FPGA.
08-13-2010 10:22 AM
may I need a special cable or something?? because i try to download it with the USB cable that came with my nexys2 and i'm not able to do that, i tried to use a special plugin that i downloaded from digilent's website but with no results...
11-14-2010 08:05 PM
cmjulian I have the same issue. I think the deal is that the nexus2 shared bus of the flash and the ram doesnt adheare to the common flash interface so all that XMD stuff is out of the sindow i think because XMD wants to drive a CFI. I have been looking for workarounds myself.
i 'think' what has to happen is the code has to put in binary form then 'manually' placed in flash/ram by some other means. (maybe the Adept software). still tho, the bootloader is going to have to know how to run the shared Micron bus unpun reset to fetch the code.
im just thinking out loud, that also creates a problem, because i 'think' the bootloaders want to fetch data from Flash and place that code into ram and run it from RAM. our nexys2 boards have ram and flash on the same bus, so some arbitration would have to be done. ive seen some edk design on digilents website which shows how to use both the flash and the ram on the same bus with some utility logic. i coulnt ever get it working tho. lost a few days messing with it.
let me know if you find out anything. id love to hear the resolution.
11-30-2010 10:54 AM
I'm able to download elf binaries using Xilinx SDK and the digilent plugin. Of course, you need to go over Cable setup before programming the board and make sure the linker script sections are assigned to external ram
12-18-2010 05:34 PM
the digilient plugin works with the nexys2? i could never get mine to work? did you ever write a bootloader and get the thing to work with the flash and RAM?
01-16-2011 04:12 PM - edited 01-16-2011 04:13 PM
Check the digilent website, it has instructions on how to use both flash and RAM resolving the addressing conflict
02-22-2011 12:14 PM
Yea,.. i finally got it to work with xilinx 12. It seems that the bytes are transposed when the controller does a read, so you have flip flop those when you do the bootloader.
I wasted a bunch of time messing with it before i got it to work. Meanwhile since the bytes are transposed you cant use the flash programmer in SDK, so you still have to burn the binary using adept.
if anyone else out there is having problems, ill do all i can to get you guys running too.
02-25-2011 06:19 AM
04-08-2011 10:26 AM
I am using XIlinx 13.1 with digilent nexy2. I am not able to program the fpga from SDK, although i can do that using the adept software external to Xilinx tools. I would like to know how can i program the elf file, foreg, a helloworld.elf on a custom hardware with standalone bsp.
I tried to configure JTAG on the SDK to use 3rd party plugin, but there is no change. Could you help on this one.
04-13-2011 03:07 AM
I have the same problem, but I don't really understand which steps I have to go through to get this to work. I'm using a Nexys2 too. Can anyone explain the steps a little bit or is there a tutorial somewhere?