/**
 * @file   dcs5400bk025_cmm.h
 * @author DC Soyuz
 * @brief  Заголовочный файл модуля ROM64.
 */

#ifndef __DCS5400BK025_ROM64_H_
#define __DCS5400BK025_ROM64_H_

#ifdef __cplusplus
extern "C" {
#endif

/// @addtogroup DCS32_MSI_Driver
/// @{

/// @addtogroup ROM64
/// @{

/// @brief Карта регистров.
typedef struct {
	volatile unsigned char data[64];    ///< Данные
	volatile unsigned char prescl;      ///< Интервал программирования 1
	volatile unsigned char : 8;
	volatile unsigned char : 8;
	volatile unsigned char : 8;
	volatile unsigned char prescm;      ///< Интервал программирования 2
	volatile unsigned char : 8;
	volatile unsigned char : 8;
	volatile unsigned char : 8;
	volatile unsigned char presch;      ///< Интервал программирования 3
	volatile unsigned char : 8;
	volatile unsigned char : 8;
	volatile unsigned char : 8;
	volatile unsigned char : 8;
	volatile unsigned char : 8;
	volatile unsigned char : 8;
	volatile unsigned char : 8;
	volatile unsigned char prel;        ///< Начальный защитный интервал 1
	volatile unsigned char :8;
	volatile unsigned char :8;
	volatile unsigned char :8;
	volatile unsigned char prem;        ///< Начальный защитный интервал 2
	volatile unsigned char :8;
	volatile unsigned char :8;
	volatile unsigned char :8;
	volatile unsigned char preh;        ///< Начальный защитный интервал 3
	volatile unsigned char : 8;
	volatile unsigned char : 8;
	volatile unsigned char : 8;
	volatile unsigned char : 8;
	volatile unsigned char : 8;
	volatile unsigned char : 8;
	volatile unsigned char : 8;
	volatile unsigned char postl;       ///< Конечный защитный интервал 1
	volatile unsigned char :8;
	volatile unsigned char :8;
	volatile unsigned char :8;
	volatile unsigned char postm;       ///< Конечный защитный интервал 2
	volatile unsigned char :8;
	volatile unsigned char :8;
	volatile unsigned char :8;
	volatile unsigned char posth;       ///< Конечный защитный интервал 3
} Rom64Regs;

/// @}

/// @}

#ifdef __cplusplus
}
#endif

#endif /* __DCS5400BK025_ROM64_H_ */
