AnsweredAssumed Answered

Suggested Method to Maintain DTB For FMCOMMS-2

Question asked by jeff-jackson on Feb 20, 2017
Latest reply on Mar 2, 2017 by jeff-jackson

Hello,

 

Looking for guidance on maintaining .dtb files for use with AD FMCOMMS-2 provided firmware.

 

Summary:
        - I can build a kernel and .dtb file using the directions posted here
        - I can generate a .bit, fsbl and u-boot to create a BOOT.bin using the directions posted here
        - It boots and everything works!

 

Question:
        - What is the best strategy for maintaining the .dtb file as we modify the HDL code?  We will be adding some control paths from the processor to the FPGA, and adding some custom IP blocks into the rx/tx chains.
                - Option 1: Hand edit as we make changes.  Is this viable?  Will the insertion of custom IP blocks move memory addresses around enough that hand-editing is too cumbersome?
                - Option 2: Vivado will generate a .dts file.  I have been unable to get this to boot. Has anybody had any luck with this approach?  Directions here

 

Thanks in advance,

 

Jeff

 

___

 

More Detailed Steps:

 

- HDL: https://github.com/analogdevicesinc/hdl.git
- Linux Kernel: https://github.com/analogdevicesinc/linux.git
- u-boot: https://github.com/Xilinx/u-boot-xlnx.git
- dtc: Ubuntu 14.04 built in
- device-tree sources: (for use with vivado) https://github.com/Xilinx/device-tree-xlnx.git

 


# Linux
git clone https://github.com/analogdevicesinc/linux.git
git checkout orig/2016_R1 -b 2016_R1  # NOTE Different Branch - Directions seem to be out-dated
source /opt/Xilinx/SDK/2015.4/settings64.sh
export ARCH=arm
export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
cd linux
make zynq_xcomm_adv7511_defconfig
export PATH=../../xilinx_sources/u-boot-xlnx/tools:$PATH
make -j5 LOADADDR=0x00008000 uImage
#make -j5 UIMAGE_LOADADDR=0x8000 uImage
make zynq-zc706-adv7511-ad9361-fmcomms2-3.dtb

 

cp arch/arm/boot/uImage <SD CARD>
cp arch/arm/boot/dts/zynq-zc706-adv7511-ad9361-fmcomms2-3.dtb <SDCARD>/devicetree.dtb

 


# BOOT.bin:

 

# .bif file:
#the_ROM_image:
#{
#       [bootloader]/shared/test_AD9361_fsbl_2.elf          # HDL Referenced above
#       /shared/system_top.bit                              # HDL Reverenced above
#       /shared/xilinx_sources/u-boot-xlnx/u-boot.elf       # U-Boot Referenced above
#}

 

bootgen -image /shared/test.bif -o BOOT.bin

Outcomes