private CortexBootloaderInformation CreateInformationInstance(BootloaderCatalogRecord CatalogRecord)
 {
     return new CortexBootloaderInformation(
         CatalogRecord.TargetDevice,
         new BootloaderApi(CatalogRecord.Id, CatalogRecord.Version, CatalogRecord.CompatibleVersion),
         new Placement<CortexMemoryKind>(CortexMemoryKind.Flash, int.Parse(CatalogRecord.Properties["StaticPropertiesAddress"], NumberStyles.HexNumber)),
         new Placement<CortexMemoryKind>(CortexMemoryKind.Flash, int.Parse(CatalogRecord.Properties["DynamicPropertiesAddress"], NumberStyles.HexNumber)),
         new Placement<CortexMemoryKind>(CortexMemoryKind.Flash, int.Parse(CatalogRecord.Properties["BootloaderAddress"], NumberStyles.HexNumber)),
         new FileBodyLoader(CatalogRecord.FileName));
 }
 private static AvrBootloaderInformation GetDimaAvrBootloaderInformation(BootloaderCatalogRecord CatalogRecord)
 {
     int bootloaderAddress = int.Parse(CatalogRecord.Properties["BootloaderAddress"], NumberStyles.HexNumber);
     return new AvrBootloaderInformation(CatalogRecord.TargetDevice,
                                         new BootloaderApi(CatalogRecord.Id,
                                                           CatalogRecord.Version,
                                                           CatalogRecord.CompatibleVersion),
                                         new AvrFuses(byte.Parse(CatalogRecord.Properties["FuseH"], NumberStyles.HexNumber),
                                                      byte.Parse(CatalogRecord.Properties["FuseL"], NumberStyles.HexNumber),
                                                      byte.Parse(CatalogRecord.Properties["FuseX"], NumberStyles.HexNumber)),
                                         new FileBodyLoader(CatalogRecord.FileName), new Placement<AvrMemoryKind>(AvrMemoryKind.Flash, bootloaderAddress),
                                         new Placement<AvrMemoryKind>(AvrMemoryKind.Flash, bootloaderAddress - 0x200),
                                         new Placement<AvrMemoryKind>(AvrMemoryKind.Flash, bootloaderAddress - 0x100));
 }
 private UskUsbBootloaderInformation GetBootloaderInformation(BootloaderCatalogRecord CatalogRecord)
 {
     return new UskUsbBootloaderInformation(CatalogRecord.TargetDevice,
                                            new Placement<CortexMemoryKind>(CortexMemoryKind.Flash,
                                                                            Int32.Parse(CatalogRecord.Properties["BootloaderAddress"],
                                                                                        NumberStyles.HexNumber)),
                                            new Placement<CortexMemoryKind>(CortexMemoryKind.Flash,
                                                                            Int32.Parse(CatalogRecord.Properties["FileTableAddress"],
                                                                                        NumberStyles.HexNumber)),
                                            new Placement<CortexMemoryKind>(CortexMemoryKind.Flash,
                                                                            Int32.Parse(CatalogRecord.Properties["PropertiesTableAddress"],
                                                                                        NumberStyles.HexNumber)),
                                            new FileBodyLoader(CatalogRecord.FileName),
                                            new BootloaderApi(CatalogRecord.Id, CatalogRecord.Version, CatalogRecord.CompatibleVersion));
 }