通过编程接口对片上存储器进行写,校验,读和擦除操作,这可以用硬件(JTAG)或软 件(bootloader)来实现。在硬件接口方面,安全保护通常是使用安全熔丝(寄存器)来控制接口的操 作,如,阻止存储器中的数据发送到输出缓冲器里。至于软件接口,一般使用密码保护,但 通常软件会检测某个硬件安全熔丝(寄存器)的状态。一些微控制器使用了这两种方法,软件启动载入 模块控制系统的编程,另一个快速的硬件接口用来大批量生产的编程。每一种都有它的优势 和劣势。通过软件,有更好的灵活性和更好的编程控制能力,但会在时间延迟和功耗方面泄 漏一些信息。硬件的执行速度更快,对噪声攻击不敏感,不会通过功耗泄漏信息。在硅芯片 的资源上,两者都占用类似大小的空间,对于现代的微控制器,与其它较大的部分如程序存 储器,处理器和模拟接口相比,这部分几乎可以忽略不计。制造商就可以在同一个芯片上放 置两种或更多的编程接口。如通过异步接口进行在线串行编程,标准的并行编程,软件启动 模块通过异步接口编程
|