1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- ================================================================================
- Useful notes on bulding and using of U-Boot on
- ARC EM Software Development Platform (AKA EMSDP)
- ================================================================================
- BOARD OVERVIEW
- The DesignWare ARC EM Software Development Platform is FPGA-bases platform
- for rapid software development on the ARC EM family of processors.
- Since this board is based on FPGA it's possible to load and use different
- versions of ARC EM CPUs. U-Boot is built to be run on the simplest
- possible configuration which means the same one binary will work on more
- advanced configurations as well.
- The board has the following features useful for U-Boot:
- * On-board 2-channel FTDI TTL-to-USB converter
- - The first channel is used for serial debug port (which makes it possible
- to use a serial connection on pretty much any host machine be it
- Windows, Linux or Mac).
- On Linux machine typucally FTDI serial port would be /dev/ttyUSB0.
- There's no HW flow-control and baud-rate is 115200.
- - The second channel is used for built-in Digilent USB JTAG probe.
- That means no extra hardware is required to access ARC core from a
- debugger on development host. Both proprietary MetaWare debugger and
- open source OpenOCD + GDB client are supported.
- - Also with help of this FTDI chip it is possible to reset entire
- board with help of a special `rff-ftdi-reset` utility, see:
- https://github.com/foss-for-synopsys-dwc-arc-processors/rff-ftdi-reset
- * Micro SD-card slot
- - U-Boot expects to see the very first partition on the card formatted as
- FAT file-system and uses it for keeping its environment in `uboot.env`
- file. Note uboot.env is not just a text file but it is auto-generated
- file created by U-Boot on invocation of `saveenv` command.
- It contains a checksum which makes this saved environment invalid in
- case of maual modification.
- - There might be more useful files on that first FAT partition like
- user applications, data files etc.
- * 256 KiB of "ROM"
- - This so-called "ROM" is a part of FPGA image and even though it
- might be unlocked for writes its initial content will be restored
- on the next power-on.
- BUILDING U-BOOT
- 1. Configure U-Boot:
- ------------------------->8----------------------
- make emsdp_defconfig
- ------------------------->8----------------------
- 2. To build Elf file (for example to be used with host debugger via JTAG
- connection to the target board):
- ------------------------->8----------------------
- make mdbtrick
- ------------------------->8----------------------
- This will produce `u-boot` Elf file.
- 3. To build binary image to be put in "ROM":
- ------------------------->8----------------------
- make u-boot.bin
- ------------------------->8----------------------
- EXECUTING U-BOOT
- 1. The EMSDP board is supposed to auto-start U-Boot image stored in ROM on
- power-on. For that make sure VCCIO DIP-switches are all in "off" state.
- 2. Though it is possible to load U-Boot as a simple Elf file via JTAG right
- in "ROM" and start it from the debugger. One important note here we first
- need to enable writes into "ROM" by writing 1 to 0xf0001000.
- 2.1. In case of proprietary MetaWare debugger run:
- ------------------------->8----------------------
- mdb -dll=opxdarc.so -OK -preloadexec="eval *(int*)0xf0001000=0" u-boot
- ------------------------->8----------------------
|