Example #1
0
        static int Main(string[] args)
        {
            if (args.Count() > 3 && args[0] == "--hex-merge")
            {
                Console.WriteLine("Hex Merge");

                IntelHexFile hexFile = null;

                for (int i = 1; i < args.Length - 1; i++)
                {
                    var currentFile = ConvertToFullPath(args[i]);

                    if (File.Exists(currentFile))
                    {
                        Console.WriteLine($"Merging: {currentFile}");

                        if (hexFile is null)
                        {
                            hexFile = IntelHexFile.CreateFrom(File.ReadAllText(currentFile));
                        }
                        else
                        {
                            var currentHexFile = IntelHexFile.CreateFrom(File.ReadAllText(currentFile));

                            hexFile.Records.Remove(hexFile.Records.Last());

                            hexFile.Records.AddRange(currentHexFile.Records);
                        }
                    }
                }

                File.WriteAllText(ConvertToFullPath(args[^ 1]), hexFile.ToString());
        public void SerializeDeserializeShouldBeTheSame(string testHexFile, long baseAddress)
        {
            var hexString = TestDataLoader.GetString(testHexFile);

            var intelHexFile  = IntelHexFile.CreateFrom(hexString, (int)baseAddress);
            var intelHexFile2 = IntelHexFile.CreateFrom(intelHexFile.BinaryData, (int)baseAddress);

            Assert.AreEqual(hexString, intelHexFile2.ToString());
        }