- April 15, 2016 at 6:07 pm #53439
I have the latest version of MIPSfpga, and I am running VIvado 2015.4. While I can load MIPSfpga into the Nexys4_DDR board, I can’t seem to get Lab02_C working. The loading through BusBlaster fails. I have some screen captures that I will attach to this note. They include the results of running loadMIPSfpga.bat, and also the Control Panel showing the USB ports (with no errors). I really could use some advice about what to look at to get past this.
Attachments:You must be logged in to view attached files.April 15, 2016 at 6:09 pm #53443April 29, 2016 at 1:42 pm #53550
I am working on this problem. In my case, running the script several times (but first deleting the two windows – openocd and gdb), it downloaded correctly. I am trying to determine cause-effect and make this startup more reliable.
You can execute openocd commands as pass-thru commands from gdb by typing “monitor” or “mo” (for short) then the command. Useful ones are:
– sometimes the processor is running, especially when the cpu reset button is pushed and gdb doesn’t halt it before attempting to load a program so the ‘mo halt’ can be used then
load <program file.elf>
mo resume – resumes execution from the current PC
The gdb command for resume, it is ‘continue’ or ‘c’
gdb also has a halt command which is ‘Ctrl-c’.
Other openocd commands thru gdb:
mo reset halt – halts and resets the cpu
mo reset run – resets the core then starts it running, so it starts executing from 0xbfc00000
mo reg pc – shows pc register
— Bruce Ableidinger
Senior SW Eng
Imagination TechnologiesApril 29, 2016 at 9:06 pm #53551
Bruce, can you expand on your comment? I tried to run the loadmipsfpga.bat without opening the two windows, but did not have any luck. Can you post a new bat file that does what you suggest?
NickApril 29, 2016 at 9:34 pm #53552
Bruce, executing the loadMIPSfpga, and then repeatively running the load command, I got it load the code onto the Nexys4_DDR board. I think I had to send it about 10 times before it worked.
NickMay 3, 2016 at 12:04 pm #53581
Since the connection is not consistent, the problem could be in clock rates and/or delay parameters.
One thing you can try is to slow down the TCK rate. This is specified in the line
in the file mips_busblaster.cfg which is in the path
C:\Program Files\Imagination Technologies\OpenOCD\openocd-0.9.2\scripts\interface
but it is being overwritten by xilinx_nexys4_mips.cfg located in ..\scripts\target so this is where any changes should go.
I don’t know the granularity of the setting but you could try 10000, 5000, or even 1000 (which is 1MHz).
You could also issue openOCD commands after it has started up, in its console window.
Note that the file openocd.cfg sources the mips_busblaster.cfg then the xilinx_nexys4_mips.cfg.
Another parameter that is related to downloading is
mips32 scan_delay 20000
You could try a larger delay or turn it off ( value > 2000000).May 3, 2016 at 12:07 pm #53582