try build on macos
[mfgtools.git] / README.md
blob1e1096bad602086ee75b1e5c85cf8c6acabb05b8
1 # uuu (Universal Update Utility), mfgtools 3.0
3 [![Build status](https://ci.appveyor.com/api/projects/status/github/NXPmicro/mfgtools?svg=true)](https://ci.appveyor.com/project/nxpfrankli/mfgtools-kvqcg)
4 [![Build Status](https://travis-ci.com/NXPmicro/mfgtools.svg?branch=master)](https://travis-ci.com/NXPmicro/mfgtools)
6 ![GitHub](https://img.shields.io/github/license/NXPmicro/mfgtools.svg)
8 Freescale/NXP I.MX Chip image deploy tools.
9 **original linux version uses "linux" branch, windows version uses "windows" branch**
11     uuu (universal update utility) for nxp imx chips -- libuuu-1.0.1-gffd9837
13     Succeded:0       Failed:3               Wait for Known USB Devices to Appear...
15     1:11     5/5 [                                        ] SDP: jump -f u-boot-dtb.imx -ivtinitramf....
16     2:1      1/5 [===>                                    ] SDP: boot -f u-boot-imx7dsabresd_sd.imx ....
18 # Key features
19  - The real cross platform. Linux, Windows, MacOS(not test yet)
20  - Multi devices program support
21  - Daemon mode support
22  - Few depedencies (only libusb, zlibc, libbz2)
23  - Firmware (uboot/kernel) uses WCID to auto load the winusb driver on the Windows side. Windows7 users need to install the winusb driver from https://zadig.akeo.ie/  Windows10 will install the driver automatically.
25 # Examples:
26 ```
27   uuu u-boot.imx            Download u-boot.imx via HID device
29   uuu list.uu               Run all the commands in list.uu
31   uuu -s                    Enter shell mode. Input command.
33   uuu -v u-boot.imx         verbose mode
35   uuu -d u-boot.imx         Once it detects the attachement of a known device, download boot.imx.
37                             u-boot.imx can be replaced, new file will be download once board reset.
39                             Do not unplug the SD card, write to the SD card, nor plug in a SD card when debugging uboot.
41   uuu -b emmc u-boot.imx    write u-boot.imx to emmc boot partition. u-boot.imx need enable fastboot
43   uuu -b emmc_all u-boot.imx sdcard.bz2\*
44                             decompress sdcard.bz2 file and download the whole image into emmc
45 ```
47 # Prebuilt Image and pdf document
49 The prebuilt image and document are here:
50   - https://github.com/NXPmicro/mfgtools/releases
51   - UUU.pdf is snapshot of [wiki](https://github.com/NXPmicro/mfgtools/wiki)
53 # How to Build:
55 ## Windows
56 - `git clone https://github.com/NXPmicro/mfgtools.git`
57 - `cd mfgtools`
58 - `git submodule init`
59 - `git submodule update`
60 - `open msvs/uuu.sln with Visual Studio 2017`
62 Visual Studio
64 Note that, since uuu is an OSI compliant Open Source project, you are entitled to download and use the freely available Visual Studio Community Edition to build, run or develop for uuu. As per the Visual Studio Community Edition license this applies regardless of whether you are an individual or a corporate user.
66 ## Linux
67 - `git clone https://github.com/NXPmicro/mfgtools.git`
68 - `cd mfgtools`
69 - `sudo apt-get install libusb-1.0-0-dev libzip-dev libbz2-dev pkg-config cmake libssl-dev g++`
70 - `cmake . && make`
72 ## macOS
73 - `git clone https://github.com/NXPmicro/mfgtools.git`
74 - `cd mfgtools`
75 - `brew install cmake libusb libzip openssl pkg-config`
76 - `cmake -DOPENSSL_ROOT_DIR=$(brew --prefix)/opt/openssl . && make`
78 Note that we assume [brew](https://brew.sh) is installed and can be used to resolve dependencies as shown above. The remaining dependency `libbz2` can be resolved via the XCode supplied libraries.
80 # Run environment
81  - Windows 10 64 bit
82  - Linux (Ubuntu) 64 bit
83  - macOS (Catalina)
84  - 32 bit systems will have problems with big files.
86 # License
87 uuu is licensed under the BSD license. See LICENSE.
88 The BSD licensed prebuilt Windows binary version of uuu is statically linked with the LGPL libusb library, which remains LGPL.
90  - bzip2 (BSD license) is from https://github.com/enthought/bzip2-1.0.6
91  - zlib  (zlib license) is from https://github.com/madler/zlib.git
92  - libusb (LGPL-2.1) is from  https://github.com/libusb/libusb.git