Electronics > FPGA
[SOLVED] JLlink, Quartus, LimeMini SDR: SDR not working after reflashing
(1/1)
gvz:
Hello,
I am trying reprogram the LimeMini SDR v1.2 starting from the factory Quartus project design (github link below)
https://limemicro.com/products/boards/limesdr-mini/
https://wiki.myriadrf.org/LimeSDR-Mini
https://github.com/myriadrf/LimeSDR-Mini_GW
Since I don't have an Altera USB Blaster, but just a JLink (EDU), I tried to reprogram the device using it first converting the sof file to svf, and then programming the latter using the JLink JTAG using OpenOCD.
The scripts I use are the following:
OpenOCD JLing config file
--- Code: ---#
# SEGGER J-Link
#
# [url]http://www.segger.com/jlink.html[/url]
#
interface jlink
adapter_khz 6000
transport select jtag
# The serial number can be used to select a specific device in case more than
# one is connected to the host.
#
# Example: Select J-Link with serial number 123456789
#
# jlink serial 123456789
--- End code ---
Script for JTAG programming
--- Code: ---#!/bin/sh
quartus_cpf \
--convert \
--frequency=6000kHz \
--voltage=1.8V \
--operation=p \
../LimeSDR-Mini_bitstreams/LimeSDR-Mini_lms7_trx_HW_1.2.sof \
LimeSDR-Mini_lms7_trx_HW_1.2.svf
openocd \
-f /usr/share/openocd/scripts/interface/jlink.cfg \
-c init \
-c 'svf LimeSDR-Mini_lms7_trx_HW_1.2.svf' \
-c exit
--- End code ---
Script Output
--- Code: ---Info: *******************************************************************
Info: Running Quartus Prime Convert_programming_file
Info: Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition
Info: Copyright (C) 2020 Intel Corporation. All rights reserved.
Info: Your use of Intel Corporation's design tools, logic functions
Info: and other software and tools, and any partner logic
Info: functions, and any output files from any of the foregoing
Info: (including device programming or simulation files), and any
Info: associated documentation or information are expressly subject
Info: to the terms and conditions of the Intel Program License
Info: Subscription Agreement, the Intel Quartus Prime License Agreement,
Info: the Intel FPGA IP License Agreement, or other applicable license
Info: agreement, including, without limitation, that your use is for
Info: the sole purpose of programming logic devices manufactured by
Info: Intel and sold by Intel or its authorized distributors. Please
Info: refer to the applicable agreement for further details, at
Info: [url]https://fpgasoftware.intel.com/eula.[/url]
Info: Processing started: Tue Jun 28 14:44:39 2022
Info: Command: quartus_cpf --convert --frequency=6000kHz --voltage=1.8V --operation=p output_files/LimeSDR-Mini_lms7_trx.sof output_files/LimeSDR-Mini_lms7_trx.svf
Info: Quartus Prime Convert_programming_file was successful. 0 errors, 0 warnings
Info: Peak virtual memory: 314 megabytes
Info: Processing ended: Tue Jun 28 14:44:39 2022
Info: Elapsed time: 00:00:00
Info: Total CPU time (on all processors): 00:00:00
Open On-Chip Debugger 0.10.0
Licensed under GNU GPL v2
For bug reports, read
[url]http://openocd.org/doc/doxygen/bugs.html[/url]
adapter speed: 6000 kHz
jtag
Info : No device selected, using first device.
Info : J-Link ARM V8 compiled Nov 28 2014 13:44:46
Info : Hardware version: 8.00
Info : VTarget = 1.792 V
Info : clock speed 6000 kHz
Warn : There are no enabled taps. AUTO PROBING MIGHT NOT WORK!!
Info : JTAG tap: auto0.tap tap/device found: 0x031830dd (mfg: 0x06e (Altera), part: 0x3183, ver: 0x0)
Warn : AUTO auto0.tap - use "jtag newtap auto0 tap -irlen 2 -expected-id 0x031830dd"
Error: IR capture error at bit 2, saw 0x3FFFFFFFFFFFFD55 not 0x...3
Warn : Bypassing JTAG setup events due to errors
Warn : gdb services need one or more targets defined
svf processing file: "output_files/LimeSDR-Mini_lms7_trx.svf"
FREQUENCY 6.00E+06 HZ;
adapter speed: 6000 kHz
TRST ABSENT;
ENDDR IDLE;
ENDIR IRPAUSE;
STATE IDLE;
SIR 10 TDI (2CC);
RUNTEST IDLE 2100003 TCK ENDSTATE IDLE;
SIR 10 TDI (203);
RUNTEST 33 TCK;
SDR 23 TDI (480008);
SIR 10 TDI (205);
RUNTEST 33 TCK;
SDR 32 TDI (00000000) TDO (1E000000) MASK (FF800000);
SIR 10 TDI (203);
RUNTEST 33 TCK;
SDR 23 TDI (000000);
SIR 10 TDI (3F2);
RUNTEST 2100003 TCK;
SIR 10 TDI (307);
RUNTEST 33 TCK;
SDR 1 TDI (0) TDO (1) MASK (1);
SIR 10 TDI (203);
RUNTEST 33 TCK;
SDR 23 TDI (180000);
SIR 10 TDI (3F4);
RUNTEST 33 TCK;
SDR 32 TDI (6C48A50F);
RUNTEST 1920 TCK;
SIR 10 TDI (307);
RUNTEST 33 TCK;
SDR 1 TDI (0) TDO (1) MASK (1);
SIR 10 TDI (203);
RUNTEST 33 TCK;
SDR 23 TDI (1C0000);
SIR 10 TDI (3F4);
RUNTEST 33 TCK;
SDR 32 TDI (FFF7FFFF);
RUNTEST 1920 TCK;
SIR 10 TDI (307);
RUNTEST 33 TCK;
SDR 1 TDI (0) TDO (1) MASK (1);
SIR 10 TDI (203);
RUNTEST 33 TCK;
SDR 23 TDI (440000);
SIR 10 TDI (3F4);
RUNTEST 33 TCK;
SDR 32 TDI (6C48A50F);
RUNTEST 1920 TCK;
SIR 10 TDI (307);
RUNTEST 33 TCK;
SDR 1 TDI (0) TDO (1) MASK (1);
SIR 10 TDI (203);
RUNTEST 33 TCK;
SDR 23 TDI (540000);
SIR 10 TDI (3F4);
RUNTEST 33 TCK;
SDR 32 TDI (6C48A50F);
RUNTEST 1920 TCK;
SIR 10 TDI (307);
RUNTEST 33 TCK;
SDR 1 TDI (0) TDO (1) MASK (1);
SIR 10 TDI (201);
RUNTEST 2100003 TCK;
SIR 10 TDI (002);
RUNTEST 600000 TCK;
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF);
SIR 10 TDI (004);
RUNTEST 30 TCK;
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000);
SIR 10 TDI (003);
RUNTEST 24576 TCK;
RUNTEST 512 TCK;
SIR 10 TDI (3FF);
RUNTEST 6000 TCK;
STATE IDLE;
Time used: 0m4s710ms
svf file programmed successfully for 75 commands with 0 errors
--- End code ---
Unfortunately, after reprogramming the device, it doesn't work as before. The onboard FT601 device is correctly detected from Linux, but GNU Radio can't communicate with the SDR...
--- Code: ---LimeSuite Source (RX) info
##################
Connecting to device
##################
LimeSuite version: 20.10.0-g1480bfea
gr-limesdr version: 2.2.7
##################
Device list:
Nr.:0 device:LimeSDR Mini, media=USB 3.0, module=FT601, addr=24607:1027, serial=1D53D24B74B187
##################
INFO: device_handler::open_device(): no serial number. Using first device in the list.
Use "LimeUtil --find" in terminal to find prefered device serial.
TransferPacket: Read failed (ret=0)
TransferPacket: Read failed (ret=0)
TransferPacket: Read failed (ret=0)
TransferPacket: Write failed (ret=0)
TransferPacket: Write failed (ret=0)
TransferPacket: Write failed (ret=0)
TransferPacket: Write failed (ret=0)
TransferPacket: Write failed (ret=0)
TransferPacket: Write failed (ret=0)
Using device: UNKNOWN(1D53D24B74B187) GW: 0.0 FW: 0
##################
INFO: device_handler::enable_channels(): TransferPacket: Write failed (ret=0)
TransferPacket: Write failed (ret=0)
TransferPacket: Write failed (ret=0)
TransferPacket: Write failed (ret=0)
TransferPacket: Write failed (ret=0)
TransferPacket: Write failed (ret=0)
TransferPacket: Write failed (ret=0)
TransferPacket: Write failed (ret=0)
....
>>> Done (return code -11)
--- End code ---
Nothing strange has been done, I just assembled a 20 pin to 6 pins JTAG adapter (JLink to SDR FPGA JTAG connector), and trying to reprogram the factory bitstream design...
This is the first time I use OpenOCD with JLink..
What could be wrong in my setup ?
Many thanks in advance for any suggestion.
g.
gvz:
SOLVED: I was converting the .sof file, the correct one is the .pof !
BrianHG:
The .sof is for temporary programs the FPGA static ram. Cut the power, and the program disappears. Used during development.
The .pof places the program into the permanent boot-prom.
Navigation
[0] Message Index
Go to full version