| 
 | 
 
发表于 2021-5-11 09:23:51
 13882 浏览  0 回复
                                 
 
 
[FAQ20348] proinfo写数据不生效
                                
 
[DESCRIPTION] 
 
factory mode、开机写flag到proinfo分区不生效的原因是: 
lk阶段有设置memory power on write protect,总开关是MTK_POWER_ON_WP := yes power on write protect的应用举例,比如proinfo分区设置了power on write protect之后, proinfo在下次重启开机前都不能写入, 
下次重开机到lk设置写保护之前可以写入,在lk执行了设置power on write protect之后还是不能写入。 
进入factory mode和开机都是在lk设置power on write protect之后,所以proinfo flag一直无法写入  
[SOLUTION] 
code可以参考: 
/vendor/mediatek/proprietary/bootable/bootloader/lk/platform/mt6xxx/write_protect.c 
set_write_protect()里面会将proinfo分区设定在power on write protect区域内 为了proinfo分区能写入flag,需要将proinfo分区的power on write protect拿掉 
修改方法: 
1.全部分区关掉写保护功能 
/vendor/mediatek/proprietary/bootable/bootloader/lk/platform/mt6xxx/rules.mk 
MTK_POWER_ON_WP := no 2.单独拿掉proinfo分区写保护 
#ifdef MTK_PERSIST_PARTITION_SUPPORT 
  if (0 == is_fs_partition_ready_for_wp("persist")) { 
   dprintf(CRITICAL, "[%s]: persist is fmt \n", __func__); 
   sprintf(wp_start, "%s", "persist"); 
  } else { 
   sprintf(wp_start, "%s", "sec1");//修改这里写保护分区的起始分区,去掉proinfo分区,注意剩下保留分区大小必须8M对齐 
  } 
#else 
  sprintf(wp_start, "%s", "sec1");//修改这里写保护分区的起始分区,去掉proinfo分区,注意剩下保留分区大小必须8M对齐 
#endif  
 
 |   
 
 
 
 |  
| 
 | 
 
 
 | 
 | 
 
| 
 | 
 | 
 
 
 
	
登录或注册 
 |