• Stars
    star
    247
  • Rank 163,134 (Top 4 %)
  • Language
    C
  • License
    GNU Lesser Genera...
  • Created over 12 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

USB & UART loader for i.MX5/6/7/8 series

imx_loader

i.MX/Vybrid recovery utility

Description

This utility allows to download and execute code on Freescale i.MX5/i.MX6/i.MX7 and Vybrid SoCs through the Serial Download Protocol (SDP). Depending on the board, there is usually some kind of recovery button to bring the SoC into serial download boot mode, check documentation of your hardware.

The utility support USB and UART as serial link.

Installation

  1. Clone
  2. Make sure libusb (1.0) is available
  3. Compile using make

Two binaries are available, imx_usb and imx_uart for the two supported connections.

Windows

Two variants have been tested successfully to build imx_usb and imx_uart on Windows:

  1. MinGW (using the Microsoft C runtime)
  2. Visual Studio 2015

MinGW

MinGW allows to use the GNU toolchain (including GCC) to compile a native Microsoft Windows application. A MinGW specific make file (Makefile.mingw) is available which allows to build imx_usb/imx_uart with the native make port (mingw32-make.exe). After installing MinGW, make sure you have a compiled copy of libusb available and build imx_loader using:

mingw32-make -f Makefile.mingw LIBUSBPATH=C:\path\to\libusb

This dynamically links against libusb, hence make sure to ship the library libusb-1.0.dll along with imx_usb.exe.

Visual Studio

The subdirectory msvc/ contains the project files for Visual Studio 2015. Make sure you have the Visual C++ component installed. There is one solution containing two projects, one for imx_usb and one for imx_uart. The imx_usb project requires libusb to be present at ../../libusb (relative to the msvc) directory. If you use an alternative location or compile libusb from source too, you will have to alter the include/library path in the project settings.

macOS

libusb and pkg-config can be installed via Homebrew.

If imx_usb fails to claim interface, com.apple.driver.usb.IOUSBHostHIDDevice needs to be unloaded so libusb can claim, run:

sudo kextunload -b com.apple.driver.usb.IOUSBHostHIDDevice

Usage

Using USB, your device should be detected automatically using the USB VID/PID from imx_usb.conf. Using UART, the user has to specify a configuration file. This file is needed to use the correct protocol variant for the target device (transfer configuration). The configuration file can also contains work item(s).

Work items can also be defined using the command line. By specifying a file in the command line, the utility automatically uses this file as a work item and reads parameter from its header:

./imx_usb u-boot.imx

However, parameters can also specified manually, e.g.

./imx_usb u-boot.imx -l0x3f400400 -s370796 -v

The UART link uses hardware flow control using RTS/CTS, so make sure those are available. The imx_uart utility will configure the target tty with the right baud rate (115200) and flow control settings:

./imx_uart /dev/ttyUSB0 vybrid_usb_work.conf u-boot.imx

More Repositories

1

linux

Kernel tree for Boundary Devices platforms
190
star
2

u-boot

U-Boot tree for Boundary Devices platforms
89
star
3

imx-utils

Utilities for i.MX - including camera app and device register access
C++
21
star
4

meta-boundary

Yocto BSP layer for Boundary Devices platforms
C
20
star
5

devregs

Tool to provides access to device registers on embedded boards
C++
18
star
6

esp32-linux

Linux module driver for Espressif ESP32 WiFi/BT
C
17
star
7

android_device_boundary

Android for Boundary Devices platforms
Makefile
13
star
8

ubuntu-core

Ubuntu Core sources for Nitrogen platforms
Python
13
star
9

efence

efence Malloc debugger
C
13
star
10

imx-linux-test

C
13
star
11

buildroot-external-boundary

Buildroot external layer for Boundary Devices platforms and modules.
Makefile
12
star
12

android-manifest

Android Manifest file for Boundary Devices boards
12
star
13

freertos-boundary

FreeRTOS BSP for Boundary Devices platforms
11
star
14

rt5572

Kernel driver for the Ralink rt5572 dual-band Wi-Fi adapter, configured for use with Boundary Devices boards
C
11
star
15

qcacld-2.0

Boundary Devices changes to CodeAurora qcacld-2.0 repository.
9
star
16

ft5x06-tool

Tool for Focaltech FT5xxx touch controllers
C
9
star
17

boundary-bsp-platform

8
star
18

qca-firmware

Firmware files for Qualcomm/Atheros devices
Makefile
8
star
19

fsl_imx_demo

Java
8
star
20

bdScript

Boundary Devices Extensions to Mozilla Javascript Interpreter (SpiderMonkey)
C++
6
star
21

iomux-imx

IOMUX files for i.MX boards
6
star
22

android_hardware_imx

Modifications of NXP hardware/imx
C++
6
star
23

fsck_msdos

fsck for DOS (FAT) partitions
C
4
star
24

imx-android-r13.4-ga

Android for i.MX6 SABRE Lite and Nitrogen6X
3
star
25

tinyalsa

TinyAlsa library for Android
3
star
26

qtbrowser

Full screen browser based on Qt Webkit with extensions for barcode, RFID, and mag stripe readers
C++
3
star
27

android-r10.3.2

Boundary Devices fork of Freescale's R10.3.2 (Gingerbread) release for i.MX
3
star
28

android-tests

Test applications
Java
3
star
29

android_app_gallery2

Android Gallery2 app
2
star
30

android_system_bt

Modifications for AOSP system/bt
C++
2
star
31

buildroot-manifest

Manifest repository for Buildroot
2
star
32

skia

Android Skia library
2
star
33

imx-mkimage

Forked from git://source.codeaurora.org/external/imx/imx-mkimage.git
C
2
star
34

davinciUBL

First level boot loader for Davinci processor (6443/6446)
Assembly
2
star
35

gstcamera

C++
2
star
36

android_external_linux-lib

Freescale Android linux-lib for i.MX support
C
2
star
37

android_videoeditor

Android VideoEditor app
Java
2
star
38

printer-tools

Test/Debug tools for thermal printers
C
1
star
39

android_nxp_opensource

C++
1
star
40

libmdi2300

Library for Opticon MDI-2300 Barcode scanner
C
1
star
41

android-openssh

Fork of AOSP Android openssh to enable sftp-server
1
star
42

frameworks_av

C++
1
star
43

LegacyCamera

Android packages/apps/LegacyCamera for i.MX6 devices
1
star
44

android_prebuilt_imx

C
1
star
45

qca6174a-lnx4_14-driver-source

Boundary Devices copy of Silex qca6174a lnx4_14 driver source
C
1
star
46

ntfs-3g

C
1
star
47

userland

Boundary Devices Userland Build tool for PXA
Shell
1
star
48

device_amlogic_yukawa

Boundary modifications to the yukawa repo
C++
1
star
49

u-boot-pxa-davinci

U-Boot for PXA and Davinci boards
1
star
50

frameworks_native

C++
1
star
51

gst-fsl-plugins

Freescale GStreamer Plugins for i.MX
1
star
52

android-wl1271-firmware

Firmware for WL1271 SDIO WiFi/Bluetooth module
1
star
53

hostapd-0.6.9

HostAP version 0.6.9
C
1
star
54

at91

Atmel SAM7 code for SEFRAM board
C
1
star
55

android-system-extras

Android system/extras from Freescale i.MX release
C
1
star