Home | History | Annotate | only in /external/u-boot/board/synopsys/emdk
Up to higher level directory
NameDateSize
emdk.c22-Oct-20202K
Kconfig22-Oct-2020135
MAINTAINERS22-Oct-2020131
Makefile22-Oct-2020116
README22-Oct-20203.6K

README

      1 ================================================================================
      2 Useful notes on bulding and using of U-Boot on ARC EM Development Kit (AKA EMDK)
      3 ================================================================================
      4 
      5    BOARD OVERVIEW
      6 
      7    The DesignWare ARC EM Development Kit is FPGA-bases platform for rapid
      8    software development on the ARC EM family of processors.
      9 
     10    Since this board is based on FPGA it's possible to load and use different
     11    versions of ARC EM CPUs. U-Boot is built to be run on the simplest
     12    possible configuration which means the same one binary will work on more
     13    advanced configurations as well.
     14 
     15    The board has the following features useful for U-Boot:
     16     * On-board 2-channel FTDI TTL-to-USB converter
     17       - The first channel is used for serial debug port (which makes it possible
     18         to use a serial connection on pretty much any host machine be it
     19         Windows, Linux or Mac).
     20         On Linux machine typucally FTDI serial port would be /dev/ttyUSB0.
     21         There's no HW flow-control and baud-rate is 115200.
     22 
     23       - The second channel is used for built-in Digilent USB JTAG probe.
     24         That means no extra hardware is required to access ARC core from a
     25         debugger on development host. Both proprietary MetaWare debugger and
     26         open source OpenOCD + GDB client are supported.
     27 
     28       - Also with help of this FTDI chip it is possible to reset entire
     29         board with help of a special `rff-ftdi-reset` utility, see:
     30         https://github.com/foss-for-synopsys-dwc-arc-processors/rff-ftdi-reset
     31 
     32     * Micro SD-card slot
     33       - U-Boot expects to see the very first partition on the card formatted as
     34         FAT file-system and uses it for keeping its environment in `uboot.env`
     35         file. Note uboot.env is not just a text file but it is auto-generated
     36         file created by U-Boot on invocation of `saveenv` command.
     37         It contains a checksum which makes this saved environment invalid in
     38         case of maual modification.
     39 
     40       - There might be more useful files on that first FAT partition like
     41         user applications, data files etc.
     42 
     43     * 256 KiB of "ROM"
     44       - This so-called "ROM" is a part of FPGA image and even though it
     45         might be unlocked for writes its initial content will be restored
     46         on the next power-on.
     47 
     48 
     49    BUILDING U-BOOT
     50 
     51    1. Configure U-Boot:
     52       ------------------------->8----------------------
     53       make emdk_defconfig
     54       ------------------------->8----------------------
     55 
     56    2. To build Elf file (for example to be used with host debugger via JTAG
     57       connection to the target board):
     58       ------------------------->8----------------------
     59       make mdbtrick
     60       ------------------------->8----------------------
     61 
     62       This will produce `u-boot` Elf file.
     63 
     64    3. To build binary image to be put in "ROM":
     65       ------------------------->8----------------------
     66       make u-boot.bin
     67       ------------------------->8----------------------
     68 
     69 
     70    EXECUTING U-BOOT
     71 
     72    1. The EMDK board is supposed to auto-start U-Boot image stored in ROM on
     73       power-on. For that make sure VCCIO DIP-switches are all in "off" state.
     74 
     75    2. Though it is possible to load U-Boot as a simple Elf file via JTAG right
     76       in "ROM" and start it from the debugger. One important note here we first
     77       need to enable writes into "ROM" by writing 1 to 0xf0001000.
     78 
     79       2.1. In case of proprietary MetaWare debugger run:
     80       ------------------------->8----------------------
     81       mdb -dll=opxdarc.so -OK -preloadexec="eval *(int*)0xf0001000=0" u-boot
     82       ------------------------->8----------------------
     83