查看完整内容
之前接触到的有两种。
1种是硬件patch,本质上讲就是remapping,由寄存器实现patch_addr以及patch_data,当读取的rom地址等于patch_addr时,不使用rom的数据,而是使用patch_data。patch_addr与patch_data可以存在放flash等nvm里,rom程序运行前由硬件或软件提前加载。这种方式比较灵活,但一般patch寄存器不会太多,如果需要patch的点太多,可能不够用。
1种是软件patch,就是rom的程序里,在某些关键点,提前判断寄存器值或ram值 ...