|
发表于 2021-5-11 09:23:51
10483 浏览 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
|
|
|
|
|
|
|
登录或注册
|