• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

msvc/H27-Dec-2016-1,3721,259

.gitignoreH A D27-Dec-201665 98

COPYINGH A D27-Dec-201625.9 KiB503418

MakefileH A D27-Dec-20161.2 KiB4534

Makefile.mingwH A D27-Dec-2016721 2615

README.mdH A D27-Dec-20162.6 KiB8159

imx_sdp.cH A D27-Dec-201640.8 KiB1,6771,512

imx_sdp.hH A D27-Dec-20163.4 KiB12579

imx_uart.cH A D27-Dec-20169.7 KiB454339

imx_usb.cH A D03-May-202214.6 KiB586442

imx_usb.confH A D27-Dec-2016459 1513

mx50_usb_work.confH A D27-Dec-2016710 165

mx51_usb_work.confH A D27-Dec-2016895 185

mx53_usb_work.confH A D27-Dec-2016865 185

mx6_usb_work.confH A D27-Dec-20161.2 KiB312

mx7_usb_work.confH A D27-Dec-20161.2 KiB312

portable.hH A D03-May-20221.1 KiB5344

vybrid_usb_work.confH A D27-Dec-2016786 172

README.md

1# imx_loader
2
3i.MX/Vybrid recovery utility
4
5## Description
6This utility allows to download and execute code on Freescale i.MX5/i.MX6
7and Vybrid SoCs through the Serial Download Protocol (SDP). Depending on
8the board, there is usually some kind of recovery button to bring the SoC
9into serial download boot mode, check documentation of your hardware.
10
11The utility support USB and UART as serial link.
12
13## Installation
141. Clone
151. Make sure libusb (1.0) is available
161. Compile using make
17
18Two binaries are available, imx_usb and imx_uart for the two supported
19connections.
20
21### Windows
22
23Two variants have been tested successfully to build imx_usb and imx_uart
24on Windows:
251. MinGW (using the Microsoft C runtime)
261. Visual Studio 2015
27
28#### MinGW
29
30MinGW allows to use the GNU toolchain (including GCC) to compile a native
31Microsoft Windows application. A MinGW specific make file (Makefile.mingw)
32is available which allows to build imx_usb/imx_uart with the native make
33port (mingw32-make.exe). After installing MinGW, make sure you have a
34compiled copy of libusb available and build imx_loader using:
35
36```
37mingw32-make -f Makefile.mingw LIBUSBPATH=C:\path\to\libusb
38```
39
40This dynamically links against libusb, hence make sure to ship the
41library libusb-1.0.dll along with imx_usb.exe.
42
43#### Visual Studio
44
45The subdirectory msvc/ contains the project files for Visual Studio 2015.
46Make sure you have the Visual C++ component installed. There is one solution
47containing two projects, one for imx_usb and one for imx_uart. The imx_usb
48project requires libusb to be present at ../../libusb (relative to the msvc)
49directory. If you use an alternative location or compile libusb from source
50too, you will have to alter the include/library path in the project settings.
51
52## Usage
53Using USB, your device should be detected automatically using the USB
54VID/PID from imx_usb.conf. Using UART, the user has to specify a
55configuration file. This file is needed to use the correct protocol
56variant for the target device (transfer configuration). The
57configuration file can also contains work item(s).
58
59Work items can also be defined using the command line. By specifying a
60file in the command line, the utility automatically uses this file as
61a work item and reads parameter from its header:
62
63```
64./imx_usb u-boot.imx
65```
66
67However, parameters can also specified manually, e.g.
68
69```
70./imx_usb u-boot.imx -l0x3f400400 -s370796 -v
71```
72
73The UART link uses hardware flow control using RTS/CTS, so make sure
74those are available. The imx_uart utility will configure the target
75tty with the right baud rate (115200) and flow control settings:
76
77```
78./imx_uart /dev/ttyUSB0 vybrid_usb_work.conf u-boot.imx
79```
80
81