📄 configdlg.cpp.svn-base
字号:
for(i = 0; i < config.set_register_count; i++)
{
configfile.Read(&config.set_registers[i].address, sizeof(int));
configfile.Read(&config.set_registers[i].value, sizeof(int));
}
}
configfile.Read(&config.download_file_count, sizeof(config.download_file_count));
if(config.download_files != NULL)
free(config.download_files);
config.download_files = (download_file * )malloc(sizeof(download_file) * config.download_file_count);
if(config.download_files != NULL)
{
memset(config.download_files, 0, sizeof(download_file) * config.download_file_count);
for(i = 0; i < config.download_file_count; i++)
{
configfile.Read(&config.download_files[i].compare, sizeof(BOOL));
configfile.Read(&config.download_files[i].download_type, sizeof(int));
configfile.Read(config.download_files[i].file_pc_path, 255);
configfile.Read(config.download_files[i].file_flash_path, 255);
configfile.Read(&config.download_files[i].file_run_address, sizeof(int));
configfile.Read(&config.download_files[i].start_destination_address, sizeof(int));
configfile.Read(&config.download_files[i].end_destination_address, sizeof(int));
configfile.Read(&config.download_files[i].backup_start_destination_address, sizeof(int));
configfile.Read(&config.download_files[i].backup_end_destination_address, sizeof(int));
}
}
configfile.Read(&config.erase_count, sizeof(config.erase_count));
if(config.erases != NULL)
free(config.erases);
config.erases = (T_ERASE_DATA * )malloc(sizeof(T_ERASE_DATA) * config.erase_count);
if(config.erases != NULL)
{
memset(config.erases, 0, sizeof(T_ERASE_DATA) * config.erase_count);
for(i = 0; i < config.erase_count; i++)
{
configfile.Read(&config.erases[i].type, sizeof(int));
configfile.Read(&config.erases[i].Start_Address, sizeof(int));
configfile.Read(&config.erases[i].End_Address, sizeof(int));
}
}
configfile.Read(&config.format_count, sizeof(config.format_count));
if(config.formats != NULL)
free(config.formats);
config.formats = (T_FORMAT_DATA * )malloc(sizeof(T_FORMAT_DATA) * config.format_count);
if(config.formats != NULL)
{
memset(config.formats, 0, sizeof(T_FORMAT_DATA) * config.format_count);
for(i = 0; i < config.format_count; i++)
{
configfile.Read(&config.formats[i].Disk_Name, sizeof(char));
configfile.Read(&config.formats[i].bOpenZone, sizeof(BOOL));
configfile.Read(&config.formats[i].ProtectType, sizeof(int));
configfile.Read(&config.formats[i].ZoneType, sizeof(int));
configfile.Read(&config.formats[i].Start_Address, sizeof(int));
configfile.Read(&config.formats[i].End_Address, sizeof(int));
}
}
configfile.Read(&config.download_fat_image_count, sizeof(config.download_fat_image_count));
if(config.images != NULL)
free(config.images);
config.images = (download_fat_image * )malloc(sizeof(download_fat_image) * config.download_fat_image_count);
if(config.images != NULL)
{
memset(config.images, 0, sizeof(download_fat_image) * config.download_fat_image_count);
for(i = 0; i < config.download_fat_image_count; i++)
{
configfile.Read(&config.images[i].Disk_Name, sizeof(char));
configfile.Read(&config.images[i].file_pc_path, 255);
configfile.Read(&config.images[i].File_Size, sizeof(int));
}
}
configfile.Read(&config.system_clock, sizeof(config.system_clock));
configfile.Read(&config.ram_size, sizeof(config.ram_size));
configfile.Read(&config.ram_banks, sizeof(config.ram_banks));
configfile.Read(&config.ram_row, sizeof(config.ram_row));
configfile.Read(&config.ram_column, sizeof(config.ram_column));
configfile.Read(&config.power_off_gpio, sizeof(config.power_off_gpio));
configfile.Read(&config.init_usb, sizeof(config.init_usb));
configfile.Read(&config.init_usb_gpio_number, sizeof(config.init_usb_gpio_number));
configfile.Read(&config.init_usb_register, sizeof(config.init_usb_register));
configfile.Read(&config.init_usb_register_bit, sizeof(config.init_usb_register_bit));
configfile.Read(&config.nandflash_parameter_count, sizeof(config.nandflash_parameter_count));
if(config.nandflash_parameter != NULL)
free(config.nandflash_parameter);
config.nandflash_parameter = (T_NAND_PHY_INFO *)malloc(sizeof(T_NAND_PHY_INFO) *
config.nandflash_parameter_count);
if(config.nandflash_parameter != NULL)
{
memset(config.nandflash_parameter, 0, sizeof(T_NAND_PHY_INFO) *
config.nandflash_parameter_count);
for(i = 0; i < config.nandflash_parameter_count; i++)
{
configfile.Read(&config.nandflash_parameter[i].chip_id, sizeof(config.nandflash_parameter[i].chip_id));
configfile.Read(&config.nandflash_parameter[i].page_size, sizeof(config.nandflash_parameter[i].page_size));
configfile.Read(&config.nandflash_parameter[i].page_per_blk, sizeof(config.nandflash_parameter[i].page_per_blk));
configfile.Read(&config.nandflash_parameter[i].blk_num, sizeof(config.nandflash_parameter[i].blk_num));
configfile.Read(&config.nandflash_parameter[i].group_blk_num, sizeof(config.nandflash_parameter[i].group_blk_num));
configfile.Read(&config.nandflash_parameter[i].plane_blk_num, sizeof(config.nandflash_parameter[i].plane_blk_num));
configfile.Read(&config.nandflash_parameter[i].spare_size, sizeof(config.nandflash_parameter[i].spare_size));
configfile.Read(&config.nandflash_parameter[i].col_cycle, sizeof(config.nandflash_parameter[i].col_cycle));
configfile.Read(&config.nandflash_parameter[i].lst_col_mask, sizeof(config.nandflash_parameter[i].lst_col_mask));
configfile.Read(&config.nandflash_parameter[i].row_cycle, sizeof(config.nandflash_parameter[i].row_cycle));
configfile.Read(&config.nandflash_parameter[i].last_row_mask, sizeof(config.nandflash_parameter[i].lst_col_mask));
configfile.Read(&config.nandflash_parameter[i].custom_nd, sizeof(config.nandflash_parameter[i].custom_nd));
configfile.Read(&config.nandflash_parameter[i].flag, sizeof(config.nandflash_parameter[i].flag));
configfile.Read(&config.nandflash_parameter[i].cmd_len, sizeof(config.nandflash_parameter[i].cmd_len));
configfile.Read(&config.nandflash_parameter[i].data_len, sizeof(config.nandflash_parameter[i].data_len));
configfile.Read(&config.nandflash_parameter[i].des_str, 255);
}
}
configfile.Close();
for(i = 0; i < config.download_fat_image_count; i++)
{
config.total_download_file_len += (config.images[i].File_Size + FAT_IMAGE_SAFE_SIZE);
}
/* Aug.06,07 - Added to validate the FS Format-Table when openning the exe. */
if(CheckFormatData(0xFFFFFFFF) != 0)
{
MessageBox(NULL, _T("文件系统分区表有问题"), NULL, MB_OK);
}
return count_downloadfile_size();
}
bool close_config()
{
HANDLE hFile = NULL;
DWORD write_len = 0;
DWORD dwSize = 0;
char DirectoryBuffer[MAX_PATH];
config.total_download_file_len = 0;
strcpy(DirectoryBuffer, Current_DirectoryBuffer);
strcat(DirectoryBuffer, "\\");
strcat(DirectoryBuffer, CONFIG_PATH);
hFile = CreateFile(DirectoryBuffer , GENERIC_WRITE | GENERIC_READ ,
FILE_SHARE_READ|FILE_SHARE_WRITE,
NULL ,
OPEN_ALWAYS , FILE_ATTRIBUTE_NORMAL , NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
return false;
}
CFile configfile((int)hFile);
configfile.Write(&config.chip_type, sizeof(config.chip_type));
configfile.Write(&config.bUBoot, sizeof(config.bUBoot));
configfile.Write(&config.bAutoDownload, sizeof(config.bAutoDownload));
configfile.Write(&config.bPiece_Select_Loop, sizeof(config.bPiece_Select_Loop));
configfile.Write(&config.bNandBoot, sizeof(config.bNandBoot));
configfile.Write(&config.bHaveNandflash, sizeof(config.bHaveNandflash));
configfile.Write(&config.res_blocks, sizeof(config.res_blocks));
configfile.Write(&config.bHavePieceZero, sizeof(config.bHavePieceZero));
configfile.Write(&config.bHavePieceOne, sizeof(config.bHavePieceOne));
configfile.Write(&config.bHavePieceTwo, sizeof(config.bHavePieceTwo));
configfile.Write(&config.bHavePieceThree, sizeof(config.bHavePieceThree));
configfile.Write(config.nandboot_path, 255);
configfile.Write(config.bios_path, 255);
configfile.Write(&config.bios_main_version, sizeof(config.bios_main_version));
configfile.Write(&config.bios_sub_version, sizeof(config.bios_sub_version));
configfile.Write(&config.bios_start_address, sizeof(config.bios_start_address));
configfile.Write(&config.bios_end_address, sizeof(config.bios_end_address));
configfile.Write(&config.bios_backup_start_address, sizeof(config.bios_backup_start_address));
configfile.Write(&config.bios_backup_end_address, sizeof(config.bios_backup_end_address));
configfile.Write(&config.bios_run_address, sizeof(config.bios_run_address));
if(config.equipment_count >= MAX_DEVICE_NUM)
{
config.equipment_count = MAX_DEVICE_NUM;
}
if(config.com_count >= MAX_DEVICE_NUM)
{
config.com_count = MAX_DEVICE_NUM;
}
configfile.Write(config.mobile_type, 255);
configfile.Write( &config.equipment_count, sizeof(config.equipment_count));
configfile.Write( &config.com_count, sizeof(config.com_count));
configfile.Write(&config.bOpenCom, sizeof(config.bOpenCom));
configfile.Write(&config.base_com, sizeof(config.base_com));
configfile.Write(&config.BaudRate, sizeof(config.BaudRate));
configfile.Write(&config.memory_type, sizeof(config.memory_type));
configfile.Write(config.loadfile_path, 255);
configfile.Write(&config.loadfile_destination_address, sizeof(config.loadfile_destination_address));
configfile.Write(&config.set_register_count, sizeof(config.set_register_count));
for(int i = 0; i < config.set_register_count; i++)
{
configfile.Write(&config.set_registers[i].address, sizeof(int));
configfile.Write(&config.set_registers[i].value, sizeof(int));
}
configfile.Write(&config.download_file_count, sizeof(config.download_file_count));
for(i = 0; i < config.download_file_count; i++)
{
configfile.Write( &config.download_files[i].compare, sizeof(BOOL));
configfile.Write( &config.download_files[i].download_type, sizeof(int));
configfile.Write( config.download_files[i].file_pc_path, 255);
configfile.Write( config.download_files[i].file_flash_path, 255);
configfile.Write( &config.download_files[i].file_run_address, sizeof(int));
configfile.Write( &config.download_files[i].start_destination_address, sizeof(int));
configfile.Write( &config.download_files[i].end_destination_address, sizeof(int));
configfile.Write( &config.download_files[i].backup_start_destination_address, sizeof(int));
configfile.Write( &config.download_files[i].backup_end_destination_address, sizeof(int));
}
configfile.Write( &config.erase_count, sizeof(config.erase_count));
for(i = 0; i < config.erase_count; i++)
{
configfile.Write(&config.erases[i].type, sizeof(int));
configfile.Write( &config.erases[i].Start_Address, sizeof(int));
configfile.Write( &config.erases[i].End_Address, sizeof(int));
}
configfile.Write( &config.format_count, sizeof(config.format_count));
for(i = 0; i < config.format_count; i++)
{
configfile.Write( &config.formats[i].Disk_Name, sizeof(char));
configfile.Write( &config.formats[i].bOpenZone, sizeof(BOOL));
configfile.Write( &config.formats[i].ProtectType, sizeof(int));
configfile.Write( &config.formats[i].ZoneType, sizeof(int));
configfile.Write( &config.formats[i].Start_Address, sizeof(int));
configfile.Write( &config.formats[i].End_Address, sizeof(int));
}
configfile.Write( &config.download_fat_image_count, sizeof(config.download_fat_image_count));
for(i = 0; i < config.download_fat_image_count; i++)
{
configfile.Write( &config.images[i].Disk_Name, sizeof(char));
configfile.Write( config.images[i].file_pc_path, 255);
configfile.Write( &config.images[i].File_Size, sizeof(int));
}
configfile.Write(&config.system_clock, sizeof(config.system_clock));
configfile.Write(&config.ram_size, sizeof(config.ram_size));
configfile.Write(&config.ram_banks, sizeof(config.ram_banks));
configfile.Write(&config.ram_row, sizeof(config.ram_row));
configfile.Write(&config.ram_column, sizeof(config.ram_column));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -