We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
The help screen on the HEX2BIN utility does not give any hint to the usage of 'n'. I want to convert a HEX file (less than 32k) to a binary file with size=32k (8000 Hex). Unused bytes should be padded with FF. I expected the following command to work: HEX2BIN /P0xFF myfile.hex but this cmd pads with 00. To my surprise it works with this command: HEX2BIN /L0x8000 myfile.hex Can anyone explain?
There is no length specification in an Intel HEX file. Therefore, when you run HEX2BIN, only the data from the HEX file are converted to the binary file. No additional pad bytes are appended. For example: HEX2BIN myfile.hex creates myfile.bin. If myfile.hex only contains 3 bytes, the resulting .bin file will only be 3 bytes long. The /L argument allows you to specify a LENGTH for the binary file. So, HEX2BIN /L32768 myfile.hex creates myfile.bin that is 32768 bytes long. The 3 bytes from myfile.hex will be copied and all other bytes will be filled with the default pad value (0xFF). The arguments to HEX2BIN may be in decimal or in hex (prefixed with 0x). Jon
Yes, but if you have a file with gaps, and you just want to fill the gaps, you can't do this without specifying the length. For example: HEX2BIN /l0x1000 /f0xff myfile.hex will work, while HEX2BIN /f0xff myfile.hex fills the gaps with 0x00. This is not what you expect, but of course Hex2Bin would have to go through the hex file twice to fetch the size in the 1st run (or it could just fill up a 64kb array).
Are you using /P or /F for the pad argument? It should be /P. Jon
Sorry, I'm using /P, not /F. /F will output an error message.