A Go library for parsing Intel HEX files
https://godoc.org/github.com/marcinbor85/gohex
- robust intelhex parsing (full test coverage)
- support i32hex format
- two-way converting hex<->bin
- trivial but powerful api (only the most commonly used functions)
- interface-based IO functions
package main
import (
"fmt"
"github.com/marcinbor85/gohex"
"os"
)
func main() {
file, err := os.Open("example.hex")
if err != nil {
panic(err)
}
defer file.Close()
mem := gohex.NewMemory()
err = mem.ParseIntelHex(file)
if err != nil {
panic(err)
}
for _, segment := range mem.GetDataSegments() {
fmt.Printf("%+v\n", segment)
}
bytes := mem.ToBinary(0xFFF0, 128, 0x00)
fmt.Printf("%v\n", bytes)
}
package main
import (
"github.com/marcinbor85/gohex"
"os"
)
func main() {
file, err := os.Create("output.hex")
if err != nil {
panic(err)
}
defer file.Close()
mem := gohex.NewMemory()
mem.SetStartAddress(0x80008000)
mem.AddBinary(0x10008000, []byte{0x01,0x02,0x03,0x04})
mem.AddBinary(0x20000000, make([]byte, 256))
mem.DumpIntelHex(file, 16)
}