From f49cff1af8430ad3c49650c10cf70a238bf14bc4 Mon Sep 17 00:00:00 2001 From: "rick.chan" Date: Tue, 22 Sep 2020 17:20:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=96=87=E6=A1=A3.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: rick.chan --- Software/Applications/Hex2Bin/Hex2bin_2.5.md | 217 +++++++++++++++++++ Software/Applications/Woeusb/Woeusb.md | 22 ++ 2 files changed, 239 insertions(+) create mode 100644 Software/Applications/Hex2Bin/Hex2bin_2.5.md create mode 100644 Software/Applications/Woeusb/Woeusb.md diff --git a/Software/Applications/Hex2Bin/Hex2bin_2.5.md b/Software/Applications/Hex2Bin/Hex2bin_2.5.md new file mode 100644 index 0000000..dfc8d21 --- /dev/null +++ b/Software/Applications/Hex2Bin/Hex2bin_2.5.md @@ -0,0 +1,217 @@ +# [Hex2bin 2.5](http://hex2bin.sourceforge.net/) + +Completely clean of adware/spyware components + +This tool is used for converting hexadecimal files (either Motorola or Intel format) into a binary file. It's a command line tool with basic capabilities. + +## 1.Hex2bin/mot2bin Features + +It can handle the extended Intel hex format in segmented and linear address modes. Records need not be sorted and there can be gaps between records. Holes/unused bytes can be specified as any other value than FF. A checksum can be inserted into the binary file. + +The source files can be easily compiled for Windows, either by using CodeBlocks + MinGW GCC or Microsoft Visual Studio (or Express). For convenience, the distributed file contains the 64-bit executables for Windows already. + +## 2.License + +Hex2bin and mot2bin are released with a BSD license. + +## 3.Usage + +Options are case sensitive and options with parameters need a space between option and parameter. I.e. -s 0000 instead of -s0000. + +A successful execution exits with the error code = 0, If any error occurs, the program exits immediately with the error code = 1. + +All values are in hexadecimal, no 0x needed: ex. not 0x0100 but 0100. + +### 3.1.Batch/script mode + +Normally, if the specified hex file doesn't exist, hex2bin/mot2bin ask repeatedly for a valid filename. A batch/script mode option is provided for exiting with an error instead of asking for a file. + +```bash +hex2bin -b xxxx.hex +``` + +If the file xxxx.hex doesn't exist, the program exits immediately with the error code = 1. + +### 3.2.Checksum of source file + +By default, it ignores checksum errors, so that someone can change by hand some bytes allowing quick and dirty changes. + +If you want checksum error reporting, specify the option -c. + +```bash +hex2bin -c example.hex +``` + +If there is a checksum error somewhere, the program will continue the conversion anyway. For convenience, + +hex2bin/mot2bin displays the expected checksum at each faulty records. + +### 3.3.Extension for output file + +By default, the extension will be .bin. Another value can be specified. + +```bash +hex2bin -e com example.hex +``` + +A file example.com will be generated. + +### 3.4.Padding byte + +By default, unused locations will be filled with FF. Another value can be specified. + +```bash +hex2bin -p AA example.hex +``` + +### 3.5.Starting Address and Length + +If the lowest address isn't 0000, ex: 0100: (the first record begins with :nn010000xxx ) there will be problems when using the binary file to program a EPROM since the first byte supposed to be at 0100 is stored in the binary file at 0000. + +you can specify the binary file's starting address on the command line: + +```bash +hex2bin -s 0000 start_at_0100.hex +``` + +The bytes will be stored in the binary file with a padding from 0000 to the lowest address minus 1 (00FF in this case). + +Similarly, the binary file can be padded up to Length -1 with FF or another byte. + +Here, the space between the last byte and 07FF will be filled with FF. + +```bash +hex2bin -l 0800 ends_before_07FF.hex +``` + +EPROM, EEPROM and Flash memories contain all FF when erased. + +When the source file name is for-example.test.hex the binary created will have the name for-example.bin + +the ".test" part will be dropped. + +Hex2bin/mot2bin assume the source file doesn't contain overlapping records, if so, overlaps will be reported. + +### 3.6.Minimum Block Size + +The output file size will be a multiple of Minimum block size. It will be filled with FF or the specified pattern. + +Length must be a power of 2 in hexadecimal [see -l option]. + +Attention this option is STRONGER than Maximal Length. + +```bash +hex2bin -m [size] example.hex +``` + +### 3.7.Checksum or CRC inserted inside binary file + +A checksum value can be inserted in the resulting binary file. + +```bash +hex2bin -k [0-5] -E [0|1] -r [start] [end] -f [address] [value] + +-k Select checksum type: + +0 = 8-bit checksum + +1 = 16-bit checksum (adds 16-bit words into a 16-bit sum, data and result BE or LE) + +2 = 8-bit CRC + +3 = 16-bit CRC + +4 = 32-bit CRC + +5 = 16-bit checksum (adds bytes into a 16-bit sum, result BE or LE) + +-E Endianness of result to store + +0 = little endian + +1 = big endian + +-r Range to compute checksum or CRC over (default is min and max addresses) + +-f Address of checksum or CRC to write + +hex2bin -d + +-d Displays the list of checksum types and exits +``` + +### 3.8.Value inserted directly inside binary file + +A value can be inserted directly (forced) in the resulting binary file. + +```bash +hex2bin -k [0|1|2] -E [0|1] -F [address] [value] + +-k Select value length type: + +0 = 8-bit value + +1 = 16-bit value + +2 = 32-bit value + +-E Endianness + +0 = little endian + +1 = big endian + +-F Address and value checksum to write +``` + +### 3.9.Support for byte-swapped hex/S19 files + +Some compilers such as Microchip's MPLAB IDE can generate byte swapped hex files. + +```bash +hex2bin -w test-byte-swap.hex + +-w Wordwise swap: for each pair of bytes, exchange the low and high part. +``` + +### 3.10.Support for word sized hex files (hex2bin only) + +Hex with record type, where data is represented in Word (2 Byte) + +e.g Texas Instruments: TMS320F2835, TMS320F28065. + +```bash +hex2bin -a example-ti.hex + +-a Address Alignment Word. +``` + +### 3.11.Filter for records within range + +Records outside that range are discarded + +```bash +Hex2bin -t 0110 -T 0256 example.hex + +-t Floor address + +-T Ceiling address +``` + +## 4.Status + +Hex2bin and mot2bin are in production status. It is working well for many small applications. + +While I'm now working on other projects, hex2bin and mot2bin are still open for patches, feature request etc. Submit them here. + +## 5.Similar tools + +[SRecord](http://srecord.sourceforge.net/) has many more features and support many other formats. + +See also Intel [Hex2bin](http://sourceforge.net/projects/intelhex2bin) and [Motorola Hex2bin](http://sourceforge.net/projects/motorolahex2bin) + +## 6.Download + +The source file contains a version compiled for 64-bit windows. + +[Download Hex2bin](http://sourceforge.net/projects/hex2bin/) diff --git a/Software/Applications/Woeusb/Woeusb.md b/Software/Applications/Woeusb/Woeusb.md new file mode 100644 index 0000000..3a3cc0b --- /dev/null +++ b/Software/Applications/Woeusb/Woeusb.md @@ -0,0 +1,22 @@ +# Woeusb + +在 Linux 系统下可以使用 Woeusb 来制作 Windows 系统启动盘。 + +## 1.Install + +```bash +# Manjaro +sudo pacman -S woeusb +``` + +## 2.Make a Bootable Windows 10 USB from Linux + +Umount usb disk first. + +```bash +sudo woeusb --device +# For example. +sudo woeusb --device win_10.iso /dev/sdc +# OR Try GUI Version: +woeusbgui +```