def update_flash_cfg_do(chipname, chiptype, flash_id, file=None, create=False, section=None): cfg_dir = app_path + '/common/flash_config/' + chiptype + '/' conf_name = get_suitable_file_name(cfg_dir, flash_id) value_key = [] if os.path.isfile(cfg_dir + conf_name) == False: return False fp = open(cfg_dir + conf_name, 'r') for line in fp.readlines(): value = line.split('=')[0].strip() if value == '[FLASH_CFG]': continue else: value_key.append(value) cfg1 = bflb_utils.BFConfigParser() cfg1.read(cfg_dir + conf_name) cfg2 = bflb_utils.BFConfigParser() cfg2.read(file) for i in range(len(value_key)): if cfg1.has_option('FLASH_CFG', value_key[i]): if cfg2.has_option(section, value_key[i]): tmp_value = cfg1.get('FLASH_CFG', value_key[i]) bflb_utils.Update_Cfg(cfg2, section, value_key[i], tmp_value) cfg2.write(file, 'w+') bflb_utils.printf('Update flash cfg finished')
def program_key_data(values, callback=None): global eflash_loader_bin eflash_loader_bin = os.path.join( app_path, chip_name, 'eflash_loader/' + get_eflash_loader(values['dl_xtal'])) cfg = bflb_utils.BFConfigParser() if os.path.isfile(eflash_loader_cfg_tmp) == False: shutil.copy(eflash_loader_cfg, eflash_loader_cfg_tmp) cfg.read(eflash_loader_cfg_tmp) bflb_utils.Update_Cfg(cfg, 'LOAD_CFG', 'interface', values['dl_device'].lower()) bflb_utils.Update_Cfg(cfg, 'LOAD_CFG', 'device', values['dl_comport']) bflb_utils.Update_Cfg(cfg, 'LOAD_CFG', 'speed_uart_load', values['dl_comspeed']) bflb_utils.Update_Cfg(cfg, 'LOAD_CFG', 'speed_jlink', values['dl_jlinkspeed']) if values['dl_chiperase'] == 'True': bflb_utils.Update_Cfg(cfg, 'LOAD_CFG', 'erase', '2') else: bflb_utils.Update_Cfg(cfg, 'LOAD_CFG', 'erase', '1') if 'dl_verify' in values.keys(): if values['dl_verify'] == 'True': bflb_utils.Update_Cfg(cfg, 'LOAD_CFG', 'verify', '1') else: bflb_utils.Update_Cfg(cfg, 'LOAD_CFG', 'verify', '0') bflb_utils.Update_Cfg(cfg, 'EFUSE_CFG', 'file', efuse_data) bflb_utils.Update_Cfg(cfg, 'EFUSE_CFG', 'maskfile', efuse_data_mask) cfg.write(eflash_loader_cfg_tmp, 'w+') ret = None try: try: cmd = '-p -t efuse -c %s' % eflash_loader_cfg_tmp eflash_loader_t = bflb_eflash_loader.BFLB_Eflash_Loader(chip_type) ret = eflash_loader_t.efuse_flash_loader(cmd.split(' '), None, eflash_loader_bin) except Exception as e: try: ret = str(e) traceback.print_exc(limit=5, file=(sys.stdout)) finally: e = None del e finally: return ret
def update_cfg(values): cfg = bflb_utils.BFConfigParser() if os.path.isfile(eflash_loader_cfg_tmp) == False: shutil.copy(eflash_loader_cfg, eflash_loader_cfg_tmp) cfg.read(eflash_loader_cfg_tmp) bflb_utils.Update_Cfg(cfg, 'LOAD_CFG', 'interface', values['dl_device'].lower()) bflb_utils.Update_Cfg(cfg, 'LOAD_CFG', 'device', values['dl_comport']) bflb_utils.Update_Cfg(cfg, 'LOAD_CFG', 'speed_uart_load', values['dl_comspeed']) bflb_utils.Update_Cfg(cfg, 'LOAD_CFG', 'speed_jlink', values['dl_jlinkspeed']) if values['dl_chiperase'] == 'True': bflb_utils.Update_Cfg(cfg, 'LOAD_CFG', 'erase', '2') else: bflb_utils.Update_Cfg(cfg, 'LOAD_CFG', 'erase', '1') if 'dl_verify' in values.keys(): if values['dl_verify'] == 'True': bflb_utils.Update_Cfg(cfg, 'LOAD_CFG', 'verify', '1') else: bflb_utils.Update_Cfg(cfg, 'LOAD_CFG', 'verify', '0') bflb_utils.Update_Cfg(cfg, 'EFUSE_CFG', 'file', efuse_data) bflb_utils.Update_Cfg(cfg, 'EFUSE_CFG', 'maskfile', efuse_data_mask) cfg.write(eflash_loader_cfg_tmp, 'w+')