parent
47d88c0167
commit
f49cff1af8
|
@ -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/)
|
|
@ -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 <Windows Image> <usb disk device>
|
||||
# For example.
|
||||
sudo woeusb --device win_10.iso /dev/sdc
|
||||
# OR Try GUI Version:
|
||||
woeusbgui
|
||||
```
|
Loading…
Reference in New Issue