搜索

244

主题

289

帖子

2158

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2158
发表于 2021-5-11 09:23:51 10485 浏览 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


回复

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


登录或注册
快速回复 返回顶部 返回列表