最近在调试GPIO开机时,发现一直配置不通,排查到最后是因为导入支持PM UART开机改到的PM.bin文件把GPIO开机功能屏蔽掉了,回退后验证配置GPIO唤醒开机是能实现的。于是综合确认后,需要改到PM.bin文件,下面是相应的编译环境安装及针对本需求做的处理流程:
1.在Windows操作系统下,双击“c51v959.exe“按提示安装即可,安装完后运行界面如下:
点击”Fille“-”License Management...“,弹出如下对话框:
接下来,运行”Keygen-Decompressed-Full-2030.exe“,在弹出的界面,将上面的CID复制过来并填充到对应的文本框,然后选择“PK51 Professional Developer's Kit“,生成相应的LIC,再添加到上面的对话框中,即可获取到License(如果未能激活,会导致编译失败)。
2.关于我们需要改到生成新的PM.bin文件,可参考如下说明操作:
假设我们服务器映射到Windows的Z盘,相应的源码根目录为Z:\mt9669。
1)使用上面安装的Keil工具打开Z:\mt9669\vendor\mediatek\proprietary_tv\apollo\linux_core\misdk\pm\gen_lib\Project\M7642\Lib_M7642.Uv2工程,编译生成Z:\mt9669\vendor\mediatek\proprietary_tv\apollo\linux_core\misdk\pm\zenonia\Source\MstarCore\lib\M7642.LIB库,最后Keil工具会卡住(此时在拷贝文件,过一会<10秒以上>再关掉CMD窗口即可);
2)打开Z:\mt9669\vendor\mediatek\proprietary_tv\apollo\linux_core\misdk\pm\zenonia\Project\Mstar\M7642\PM51_M7642.Uv2工程,编译生成Z:\mt9669\vendor\mediatek\proprietary_tv\apollo\linux_core\misdk\pm\zenonia\Project\Mstar\M7642\Output\PM51_M7642_tmp.bin文件,将该文件替换Z:\mt9669\vendor\mediatek\proprietary_tv\apollo\linux_core\misdk\prebuild\m7642\pm\PM.bin文件,重新编译下Android系统镜像即可。
调试过程替换/vendor/tvconfig/config/PM.bin和/mnt/vendor/tvservice/glibc/bin/PM.bin文件(后者需要mount -o rw,remount /mnt/vendor/tvservice,按芯智给的说明是前者是STR,后者是关机时用到)
另:配置支持的开机源通过修改Z:\mt9669\vendor\mediatek\proprietary_tv\apollo\linux_core\misdk\pm\gen_lib\Source\config\config_M7642.h可配置开机源,如果配置过多项,会导致关机后无法再开机。相应的串口信息如下:
导致关机后开不了机时,上图红框中的内容不会打印出来(可屏蔽掉不用的功能代码或者关掉相关宏)。
标签:bin,MT9669,vendor,M7642,mt9669,编译,PM51,linux,PM From: https://blog.csdn.net/guochongxin/article/details/139755616