see Here。
Me, github DCZYewen, CLAIMS THAT:
Use of this device and firmware is at your own risk. The software is provided "AS IS" without warranty of any kind. The user is responsible for compliance with all applicable laws and regulations in their jurisdiction. The author assumes no liability for any damages or legal issues arising from the use of this firmware.
- Use Vivado 2022.2 and install it on
/tools/Xilinx. - Use Ubuntu 20.04 if you are new to Linux, pro hackers never mind.
- If you observe error on compiling kernel, plz try to install the libssl in blob directory.
- High quality internet connection is in need during compilation, especially in buildroot, if you dont know what to do, download binary instead.
- Copy the cross compile toolchain out of buildroot for further use, dont use the one comes with Vitis.
- During the test procedure, you can bypass the LEAGAL INFO collection, by
export $SKIP_LEAGAL=1ormake SKIP_LEAGAL=1. - Using WSL or vmware is totally okay, but a cpu faster than Ryzen 5 5600 or Core i3 12100 or vCPU of at least 6 cores and memory larger than 6GB is recommended.
- See git logs of what i altered to fit the eeweeksdr board.
- If you accidentally destructed the out of factory firmware and its bootloader, do as follows:
1. Prepare a sdcard with less than 32GB and format it to FAT32.
2. Download the firmware recovery and copy the file to sdcard root directory.
3. Start the board in sdcard boot mode, during the uboot procedure press any key to stop autoboot.
4. In uboot shell, run `run flash_all` to write the firmware to QSPI again.
5. If above didnot work, run `run flash_wipe` to erase the QSPI flash, then do the step 4 again to make a clean flash.
- If the bootloader is still okay, just press the DFU button during bring up, flash the firmware under dfu like:
dfu-utils -D pluto.dfu -a 1
dfu-utils -D boot.dfu -a 0
dfu-utils -D uboot-env.dfu -a 3
- Flash under Vivado Hardware Manager or Vitis XSCT via JTAG is also supported, use it if you like it.
- The firmware is under a tempfs, all changes to file systemd will be discarded except for
/mnt/jffs2. You can put your custom program and config files to/mnt/jffs2, see source code inbuildroot/board/pluto/S98autostart. - If you wanted to use the SD card as a bulk device other than simulate it as a flash. Edit the buildroot on your own, super easy.
- If you wanted to run your custom programs on this board, using the cross compiler toolchain on
/home/zihao/eeweek-sdr/buildroot/output/host/opt/ext-toolchain. Use CMake or xmake or MakeFiles as your favor. - For power issues, only one core is enabled on default, you can enable all cores by
setenv maxcpus 2on uboot shell orfw_setenv maxcpus 2, then restart the board. But in advice, if you dont sure what are you doing leave it as is. If your program is not well designed on multithreading, you can cause kernel panics easily. - You can start without using Vivado or Vitis if you only modificate the kernel and rootfs, leave the system_top.xsa and boot.bin alone.
- I removed the CTRL IN/OUT pins on hdl and dts, if your project is using this, sorry about that.
- Install all needed libraries and headers.
sudo apt-get install git build-essential fakeroot libncurses5-dev libssl-dev ccache
sudo apt-get install dfu-util u-boot-tools device-tree-compiler libssl1.0-dev mtools
sudo apt-get install bc python cpio zip unzip rsync file wget
If libssl1.0-dev has no installation cadidate, see suggestion #3.
- Export Vivado to enviornments.
export VIVADO_SETTINGS=/tools/Xilinx/Vivado/2022.2/settings64.sh
- Do as follows:
make
make sdimg
bash collect_artifacts.sh
This will produce qspi and sdcard and sd flashing image in artifacts directory.