|
|
(42 intermediate revisions by 3 users not shown) |
Line 1: |
Line 1: |
| Technically all JTAG-adapter listed by OpenOCD should work, but DH electronics recommends the Olimex Arm-USB-OCD-Tiny-H.
| | See [[U-Boot_recovery_for_i.MX6_Q/D/DL/S/ULL_via_JTAG|U-Boot recovery for i.MX6_Q/D/DL/S/ULL via JTAG]] |
| All tests and Documents were made in use of this one.
| |
| | |
| == Installation ==
| |
| This installation was made on the [[Virtual Machine for Application Development]].
| |
| All console expressions refer to this Debian system.
| |
| # '''OpenOCD'''
| |
| #* OpenOCD is a Linux package and is as easy to install as <code>$ sudo apt-get install openocd</code>
| |
| # '''Drivers'''
| |
| #* If you use the JTAG-Adapter recommended by DH, then you need to install the FTDI-Drivers as followed:
| |
| #**Go to http://www.ftdichip.com/Drivers/D2XX.htm and Download your suitable Driver (32-bit or 64-bit)
| |
| #**Navigate into the Download folder <code>$ cd /home/devel/Downloads</code>
| |
| #**Untar the Downloaded zip-file <code>$ tar xfvz libftd2xx-x86_64-1.4.6.tgz</code>
| |
| #**For the next steps you need Admin rights (standard password for the VM is devel): <code>$ sudo –su</code>
| |
| #**You need to copy the folder <code>$ cp libftd2xx.* /usr/local/lib</code>
| |
| #**Changing the permission <code>$ chmod 0755 /usr/local/lib/libftd2xx.so.1.4.6</code>
| |
| #** Creating a link <code>$ ln –sf /usr/local/lib/libftd2xx.so.1.4.6 /usr/local/lib/libftd2xx.so</code>
| |
| #** Finish the installation <code>$ exit</code>
| |
| | |
| == uBoot Programing ==
| |
| There are two ways for doing this.
| |
| The easy way is an automatic Bash-script, which handles all the commands needed for the programing process.
| |
| In this case you need a specified folder-structure so that the automatic script can find all its needed files.
| |
| The other one is to type in the required commands. In a few cases this fails then you need to go the other way
| |
| and program the uBoot manually.
| |
| # '''Automatic Script'''
| |
| #*The needed folder structure looks like this:
| |
| #**DHcom_uBoot_Programmer
| |
| #***bin_File (here are the uBoot files)
| |
| #***uBoot_Programmer (here are the Programing scripts)
| |
| #*Download the needed files here:
| |
| #**Paste the "dhcom_olimex_arm_usb_tiny_h.cfg"-file in the OpenOCD folder at <code>$ /usr/share/openocd/scripts/board</code>
| |
| #**The "uBoot_Programmer_Olimex_arm_usb_tiny_h"-file needs to be in the uBoot_Programmer folder
| |
| #**The two u-boot files ("u-boot-spl-prog" and "u-boot-with-spl") belong to the bin_File folder
| |
| #*Open a terminal and navigate into the folder e.g. <code>$ cd DHcom_uBoot_Programmer/uBoot_Programmer</code>
| |
| #*Start the programing script: <code>$ ./uBoot_Programmer_Olimex_arm_usb_tiny_h</code>
| |
| # '''Manual Programing'''
| |
| #*You need two terminals, one for GDB the other for OpenOCD an da Com-Port to get the serial output
| |
| ## '''OpenOCD'''
| |
| ##*<code>openocd –f board/dhcom_olimex_arm_usb_tiny_h.cfg</code>
| |
| ## '''GDB'''
| |
| ##*<code>gdb --quiet</code>
| |
| ##*<code>target remote localhost:3333</code>
| |
| ##*<code>mon load_image /path/to/the/u-boot-spl-prog/file 0x908000</code>
| |
| ##*<code>mon reg pc 0x908000</code>
| |
| ##*<code>mon resume</code>
| |
| ##*Wait until the message "Searching for IVT header at DDR address 0x18000000" is on the serial output
| |
| ##*<code>mon halt</code>
| |
| ##*<code>mon load_image /path/to/the/u-boot-with-spl/file 0x18000000</code>
| |
| ##*<code>mon resume</code>
| |