microphase / antsdr-fw Goto Github PK
View Code? Open in Web Editor NEWThis project forked from analogdevicesinc/plutosdr-fw
ANTSDR Firmware
License: Other
This project forked from analogdevicesinc/plutosdr-fw
ANTSDR Firmware
License: Other
i follow the tutorial, build the lastest source code, and set the jumper into Flash Boot mode, update the u-boot and kernel successfuly.
when i try to modify u-boot code, i rebuild it with no error, and trying to download. i think i only need to update u-boot and envs.
so i just type cmd like:
sudo dfu-util -a boot.dfu -D ./boot.dfu
sudo dfu-util -a uboot-env.dfu -D ./uboot-env.dfu
after repower, uart has nothing to output. i try to use old sd card boot, it can be go into uboot but can not into DFU mode by push the button.
my question is: how can i update the image in flash ? using jtag ? has any tutorial?
thx.
I have a MicroPhase ANTSDR E310 with latest firmware (e310_v1.2-dirty) .
When I tried to use ANTSDR E310 with MATLAB 2022a, I get the following error
dev = sdrdev('AD936x');
dev.IPAddress = '192.168.1.10'
dev =
SDRDevAD936x with properties:
IPAddress: '192.168.1.10'
DeviceName: 'AD936x'
testConnection(dev, '192.168.1.1');
Error using comm.zynqradioshared.dev.Base/testConnection
Error attempting to connect to address '192.168.1.10'.
Error connecting to SSH server at 192.168.1.10
This could be due to:
See the documentation to configure the host and SDR device for proper communication.
Error in comm.zynqradio.dev.Base/testConnection (line 64)
status = [email protected](obj,varargin{:});
How can I overcome this connection problem?
Thanks
I am using the ANTSDR E310 with openwifi. According to the system_top.v, it is configured for frequencies of 3-6GHz, but the Tx power I measure at 2.4GHz (WiFi channel 6) is even 3dB higher than at 5GHz (channel 44). Do you have an explanation for this?
I have downloaded the 2019 xilinx sdk and installed like the tutorial instructs. But says nothing on what to do about the licensing process with the zynq7020. Was told there is a free license as we now own a zynq7020.
When using gnuradio, the sample rate cannot be set above 5MSPS, otherwise the waveform is not right.
corresponding diagram:
When the sample rate is lowered to 5M, no problem.
I've narrowed it down to a potential problem with the iiod.
When using sample rate greater than 5M, the cpu usage of iiod is over 100%, that might be causing the problem.
Is there a solution to that?
hi,
Q1: I want to using command 'tftpboot' for loading my operating system( not linux ), and modify file zynq_zc70x.h like:
#ifndef __CONFIG_ZYNQ_ZC70X_H
#define __CONFIG_ZYNQ_ZC70X_H
#define CONFIG_ZYNQ_I2C0
#define CONFIG_ZYNQ_EEPROM
#define CONFIG_DFU_SF
#define CONFIG_ZYNQ_GEM
#define CONFIG_CMD_PING
#define CONFIG_CMD_NET
#define CONFIG_PHYLIB
#define CONFIG_PHY_MARVELL
#define CONFIG_CMD_MII
/*
#define DEBUG
*/
#include <configs/zynq-common.h>
#undef CONFIG_BOOTDELAY
#define CONFIG_BOOTDELAY 5
#endif /* __CONFIG_ZYNQ_ZC70X_H */
the boot log shows as below
Welcome to minicom 2.7.1
OPTIONS: I18n
Compiled on Dec 23 2019, 02:06:26.
Port /dev/ttyUSB0, 15:38:03
Press CTRL-A Z for help on special keys
U-Boot ANTSDR v0.20-PlutoSDR-dirty-00069-gb3ecfa9ec1-dirty (Nov 19 2021 - 15:35:02 +0800)
I2C: ready
DRAM: ECC disabled 1 GiB
MMC: sdhci@e0100000: 0
SF: Detected W25Q256 with page size 256 Bytes, erase size 4 KiB, total 32 MiB
In: serial@e0001000
Out: serial@e0001000
Err: serial@e0001000
Model: ANT SDR Board
Net: ZYNQ GEM: e000b000, phyaddr 0, interface rgmii-id
eth0: ethernet@e000b000
reading uEnv.txt
7055 bytes read in 20 ms (343.8 KiB/s)
Importing environment from SD ...
Hit any key to stop autoboot: 0
Pluto> printenv
adi_loadvals=fdt addr ${fit_load_address} && fdt get value fdt_choosen /configurations/${fit_config}/ fdt && fdt get addr fdtaddr /images/${fdt_choosen} data && fdt addr ${fdtaddr}; if test -n ${ad936x_ext_refc
baudrate=115200
bitstream_image=system.bit.bin
bitstream_size=0x400000
boot_image=BOOT.bin
boot_size=0xF00000
bootcmd=run $modeboot
bootdelay=5
bootenv=uEnv.txt
clear_reset_cause=mw f8000008 df0d && mw f8000258 00400000 && mw f8000004 767b
devicetree_image=devicetree.dtb
devicetree_load_address=0x2000000
devicetree_size=0x20000
dfu_alt_info=boot.dfu raw 0x0 0x100000;firmware.dfu raw 0x200000 0x1E00000;uboot-extra-env.dfu raw 0xFF000 0x1000;uboot-env.dfu raw 0x100000 0x20000;spare.dfu raw 0x120000 0xE0000
dfu_alt_num=3
dfu_mmc=run dfu_mmc_info && dfu 0 mmc 0
dfu_mmc_info=set dfu_alt_info ${kernel_image} fat 0 1\\;${devicetree_image} fat 0 1\\;${ramdisk_image} fat 0 1
dfu_ram=echo Entering DFU RAM mode ... && run dfu_ram_info && dfu 0 ram 0
dfu_ram_info=set dfu_alt_info dummy.dfu ram 0 0\\;firmware.dfu ram ${fit_load_address} 0x1E00000
dfu_sf=gpio set 15;set stdout serial@e0001000;echo Entering DFU SF mode ... && run dfu_sf_info && dfu 0 sf 0:0:40000000:0 && if test -n ${dfu_alt_num} && test ${dfu_alt_num} = 1; then set fit_size ${filesize} &;
dfu_sf_info=set dfu_alt_info boot.dfu raw 0x0 0x100000\\;firmware.dfu raw 0x200000 0x1E00000\\;uboot-extra-env.dfu raw 0xFF000 0x1000\\;uboot-env.dfu raw 0x100000 0x20000\\;spare.dfu raw 0x120000 0xE0000
ethaddr=00:0a:35:00:01:22
extraenv_load_address=0x207E000
fdt_choosen=fdt@1
fdt_high=0x20000000
fdtaddr=2080100
fdtcontroladdr=3ff967f0
fileaddr=2000000
filesize=1b8f
fit_config=config@0
fit_load_address=0x2080000
fit_size=0x900000
importbootenv=echo Importing environment from SD ...; env import -t ${loadbootenv_addr} $filesize
initrd_high=0x20000000
ipaddr=192.168.2.1
ipaddr_host=192.168.2.10
jtagboot=env default -a;sf probe && sf protect unlock 0 100000 && run dfu_sf;
kernel_image=uImage
loadbit_addr=0x100000
loadbootenv=load mmc 0 ${loadbootenv_addr} ${bootenv}
loadbootenv_addr=0x2000000
maxcpus=1
mode=1r1t
modeboot=sdboot
model=Analog Devices PlutoSDR Rev.C (Z7010/AD9363)
netmask=255.255.255.0
preboot=if test $modeboot = sdboot && env run sd_uEnvtxt_existence_test; then if env run loadbootenv; then env run importbootenv; fi; fi;
qspiboot=set stdout nulldev;adi_hwref;test -n $PlutoRevA || gpio input 14 && set stdout serial@e0001000 && sf probe && sf protect lock 0 100000 && run dfu_sf; set stdout serial@e0001000;itest *f8000258 == 4800
qspiboot_extraenv=sf read ${extraenv_load_address} 0xFF000 0x1000 && env import -c ${extraenv_load_address} 0x1000 || true
qspiboot_verbose=adi_hwref;echo Copying Linux from QSPI flash to RAM... && run read_sf && if run adi_loadvals; then echo Loaded AD936x refclk frequency and model into devicetree; fi; envversion;setenv bootargs
ramboot_verbose=adi_hwref;echo Copying Linux from DFU to RAM... && run dfu_ram;if run adi_loadvals; then echo Loaded AD936x refclk frequency and model into devicetree; fi; envversion;setenv bootargs console=tty}
ramdisk_image=uramdisk.image.gz
ramdisk_load_address=0x4000000
ramdisk_size=0x4000 00
read_sf=sf probe 0:0 50000000 0 && run qspiboot_extraenv &&sf read ${fit_load_address} 0x200000 ${fit_size} && iminfo ${fit_load_address} || sf read ${fit_load_address} 0x200000 0x1E00000;
refclk_source=internal
sd_uEnvtxt_existence_test=test -e mmc 0 /uEnv.txt
sdboot=if mmcinfo; then run uenvboot; echo Copying Linux from SD to RAM... && load mmc 0 ${fit_load_address} ${kernel_image} && load mmc 0 ${devicetree_load_address} ${devicetree_image} && load mmc 0 ${ramdisk_i
stderr=serial@e0001000
stdin=serial@e0001000
stdout=serial@e0001000
thor_mmc=run dfu_mmc_info && thordown 0 mmc 0
thor_ram=run dfu_ram_info && thordown 0 ram 0
uenvboot=if run loadbootenv; then echo Loaded environment from ${bootenv}; run importbootenv; fi; if test -n $uenvcmd; then echo Running uenvcmd ...; run uenvcmd; fi
usbboot=if usb start; then run uenvboot; echo Copying Linux from USB to RAM... && load usb 0 ${fit_load_address} ${kernel_image} && load usb 0 ${devicetree_load_address} ${devicetree_image} && load usb 0 ${ramdi
Environment size: 7594/131068 bytes
Pluto> ping 192.168.2.123
*** ERROR: `ipaddr' not set
ping failed; host 192.168.2.123 is not alive
Pluto> setenv ipaddr 192.168.2.10
Pluto> save
save saveenv
Pluto> saveenv
Saving Environment to SPI Flash...
SF: Detected W25Q256 with page size 256 Bytes, erase size 4 KiB, total 32 MiB
Erasing SPI flash...Writing to SPI flash...done
Pluto> printenv
adi_loadvals=fdt addr ${fit_load_address} && fdt get value fdt_choosen /configurations/${fit_config}/ fdt && fdt get addr fdtaddr /images/${fdt_choosen} data && fdt addr ${fdtaddr}; if test -n ${ad936x_ext_refc
baudrate=115200
bitstream_image=system.bit.bin
bitstream_size=0x400000
boot_image=BOOT.bin
boot_size=0xF00000
bootcmd=run $modeboot
bootdelay=5
bootenv=uEnv.txt
clear_reset_cause=mw f8000008 df0d && mw f8000258 00400000 && mw f8000004 767b
devicetree_image=devicetree.dtb
devicetree_load_address=0x2000000
devicetree_size=0x20000
dfu_alt_info=boot.dfu raw 0x0 0x100000;firmware.dfu raw 0x200000 0x1E00000;uboot-extra-env.dfu raw 0xFF000 0x1000;uboot-env.dfu raw 0x100000 0x20000;spare.dfu raw 0x120000 0xE0000
dfu_alt_num=3
dfu_mmc=run dfu_mmc_info && dfu 0 mmc 0
dfu_mmc_info=set dfu_alt_info ${kernel_image} fat 0 1\\;${devicetree_image} fat 0 1\\;${ramdisk_image} fat 0 1
dfu_ram=echo Entering DFU RAM mode ... && run dfu_ram_info && dfu 0 ram 0
dfu_ram_info=set dfu_alt_info dummy.dfu ram 0 0\\;firmware.dfu ram ${fit_load_address} 0x1E00000
dfu_sf=gpio set 15;set stdout serial@e0001000;echo Entering DFU SF mode ... && run dfu_sf_info && dfu 0 sf 0:0:40000000:0 && if test -n ${dfu_alt_num} && test ${dfu_alt_num} = 1; then set fit_size ${filesize} &;
dfu_sf_info=set dfu_alt_info boot.dfu raw 0x0 0x100000\\;firmware.dfu raw 0x200000 0x1E00000\\;uboot-extra-env.dfu raw 0xFF000 0x1000\\;uboot-env.dfu raw 0x100000 0x20000\\;spare.dfu raw 0x120000 0xE0000
ethact=ethernet@e000b000
ethaddr=00:0a:35:00:01:22
extraenv_load_address=0x207E000
fdt_choosen=fdt@1
fdt_high=0x20000000
fdtaddr=2080100
fdtcontroladdr=3ff967f0
fileaddr=2000000
filesize=1b8f
fit_config=config@0
fit_load_address=0x2080000
fit_size=0x900000
importbootenv=echo Importing environment from SD ...; env import -t ${loadbootenv_addr} $filesize
initrd_high=0x20000000
ipaddr=192.168.2.10
ipaddr_host=192.168.2.10
jtagboot=env default -a;sf probe && sf protect unlock 0 100000 && run dfu_sf;
kernel_image=uImage
loadbit_addr=0x100000
loadbootenv=load mmc 0 ${loadbootenv_addr} ${bootenv}
loadbootenv_addr=0x2000000
maxcpus=1
mode=1r1t
modeboot=sdboot
model=Analog Devices PlutoSDR Rev.C (Z7010/AD9363)
netmask=255.255.255.0
preboot=if test $modeboot = sdboot && env run sd_uEnvtxt_existence_test; then if env run loadbootenv; then env run importbootenv; fi; fi;
qspiboot=set stdout nulldev;adi_hwref;test -n $PlutoRevA || gpio input 14 && set stdout serial@e0001000 && sf probe && sf protect lock 0 100000 && run dfu_sf; set stdout serial@e0001000;itest *f8000258 == 4800
qspiboot_extraenv=sf read ${extraenv_load_address} 0xFF000 0x1000 && env import -c ${extraenv_load_address} 0x1000 || true
qspiboot_verbose=adi_hwref;echo Copying Linux from QSPI flash to RAM... && run read_sf && if run adi_loadvals; then echo Loaded AD936x refclk frequency and model into devicetree; fi; envversion;setenv bootargs
ramboot_verbose=adi_hwref;echo Copying Linux from DFU to RAM... && run dfu_ram;if run adi_loadvals; then echo Loaded AD936x refclk frequency and model into devicetree; fi; envversion;setenv bootargs console=tty}
ramdisk_image=uramdisk.image.gz
ramdisk_load_address=0x4000000
ramdisk_size=0x4000 00
read_sf=sf probe 0:0 50000000 0 && run qspiboot_extraenv &&sf read ${fit_load_address} 0x200000 ${fit_size} && iminfo ${fit_load_address} || sf read ${fit_load_address} 0x200000 0x1E00000;
refclk_source=internal
sd_uEnvtxt_existence_test=test -e mmc 0 /uEnv.txt
sdboot=if mmcinfo; then run uenvboot; echo Copying Linux from SD to RAM... && load mmc 0 ${fit_load_address} ${kernel_image} && load mmc 0 ${devicetree_load_address} ${devicetree_image} && load mmc 0 ${ramdisk_i
stderr=serial@e0001000
stdin=serial@e0001000
stdout=serial@e0001000
thor_mmc=run dfu_mmc_info && thordown 0 mmc 0
thor_ram=run dfu_ram_info && thordown 0 ram 0
uenvboot=if run loadbootenv; then echo Loaded environment from ${bootenv}; run importbootenv; fi; if test -n $uenvcmd; then echo Running uenvcmd ...; run uenvcmd; fi
usbboot=if usb start; then run uenvboot; echo Copying Linux from USB to RAM... && load usb 0 ${fit_load_address} ${kernel_image} && load usb 0 ${devicetree_load_address} ${devicetree_image} && load usb 0 ${ramdi
Environment size: 7622/131068 bytes
Pluto> ping 192.168.2.123
*** ERROR: `ipaddr' not set
ping failed; host 192.168.2.123 is not alive
Pluto>
I had try to ping my host PC, which ip is 192.168.2.123, and set the E310 ip 192.168.2.10.
it show me that not setting the var 'ipaddr', which I used cmd 'printenv' to confirm it already set.
Q2: when I define 'DEBUG` in zynq_zc70x.h, building comes error, and I comment file zynq-common.h those code,
#ifdef DEBUG
#define CONFIG_SPL_NET_SUPPORT
#define CONFIG_SPL_ETH_SUPPORT
#define CONFIG_SPL_ENV_SUPPORT
#define CONFIG_SPL_ETH_DEVICE "Gem.e000b000"
#endif
build success, but nothing output in uart.
Any help?
question:I run the Capture RF Data to Baseband File Using ADALM-PLUTO Radio example with matlab 2022b
configurePlutoRadio('AD9364') is error "Reference to a field that does not exist 'SerialNum' "
and when install the support packet,It's Serial number does not exist
What is the reason for this? Is it caused by AD9361?Can you help me with this? Thank you.
Yours
Best!
I download E310 latest firmware, 1.00 from https://github.com/MicroPhase/antsdr-fw/releases/download/e310_v1.0/sd_image.zip but after copying to sd-card and reboot. The system show "b220_v1.0-3-g8cf9" is it should be e310..... ?
Regards.
Dear sir,
I am trying to use ANTSDR-E310 as a front-end for GPS signal to acquire GPS signal in real time. Any help on this?
I wonder if there are any instructions documenting how to build the SD Image from the zip file located in the releases folder?
Also I would like to know which pins should be shorted!
Many thx
I want to use a sample rate of 1.92 Mhz. Is it possible or do I need to configure the FPGA FIR decimator?
With a sample rate of 1.92 Mhz I see that I'm loosing samples. Any recommendation about Ethernet configuration or other?
Than you!
I want to load a custom bitstream from HW Manager, do I need to do anything before or after load it? (as change a jumper, execute a command...)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.