EDM安全访问机制应用方案.doc
上传人:sy****28 上传时间:2024-09-13 格式:DOC 页数:12 大小:1MB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

EDM安全访问机制应用方案.doc

EDM安全访问机制应用方案.doc

预览

免费试读已结束,剩余 2 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

祝鹏电子科技有限公司HYPERLINK"http://www.zoopen.com.cn"http://www.zoopen.com.cnEDM安全访问机制应用方案EDM安全存取是AndesCoreTM内建的功能(option),应用在安全存取的控管。EDM安全存取有二种的控管方式:debugaccessindication和EDMaccessrestriction.第一种控管方式(debugaccessindication)提供了一个sidebandsignal用于指示从调试器(Debughost)的请求。第二种控管方式,控制AndesCoreTM的inputport(edm_restrict_access)达到EDM存取的限制。更详细的内容在后续章节会有更深入的介绍。1.EDM功能介绍一个debugsysHYPERLINK"http://www.dzsc.com/product/searchfile/10366.html"\t"_blank"tem包含一个debughost和一个targetsystem.EDM主要的功能就是translatedebughost发出的TAP指令来存取系统memory或是HYPERLINK"http://www.dzsc.com/product/searchfile/5590.html"\t"_blank"CPU.下图为基本的debug系统方块图。图表1基本的debug系统方块图下图说明TAP指令的种类图表2TAP指令的种类2.控制EDM存取的限制使用EDM的访问方式会被一个sidebandsignal(edm_restrict_access)所影响。当这个signal值是high,仅仅只能对EDMMISCregisters做读取的动作。而想要存取CPU/SystemBus/LocalMemory的动作将会被封锁住并且会得到下面的结果:读为零写忽略不正确的JTAGinstruction(JTAGICEdebugger会timeout)下图说明EDM限制存取方块图。图表3EDM限制存取方块图在启用存取限制功能后,下图说明出每个TAP指令的行为。图表4在启用存取限制功能后,下图说明出每个TAP指令的行为如何实现EDM存取限制,在系统设计上有很多种实现方法,以控制edmrestrictaccess的signal.两种基本的设计方案说明如下:eFUSE方式使用Chip重新编程管理控制SOC方式使用软件管理控制hardware实现控制edm_restrict_access的示意图如下:图表5hardware实现控制edm_restrict_access的示意图software实现控制edm_restrict_access的例子如下:sethi$r2,#0x80000ori$r2,$r2,#0x8csethi$r3,#0x04030ori$r3,$r3,#0x201swi$r3,[$r2+#0]3.EDM存取指示AndesCoreTM增加一个额外的sidebandsignal,xdebug_access(active-high),根据此sidebandsignal来决定request的host是否为EDM.而device就能根据此sidebandsignal决定是否要把request的data内容传回到host.sidebandsignal的名称根据businterface的类型而有所不同。对于AndesCoreTM处理器,基本的信号名称如下所示:AHB/AHB-Lite=>hdebug_accessAPB=>pdebug_accessEILM=>eilm_debug_accessEDLM=>edlm_debug_access3.1.debug存取识别信号控制当debugexception发生后,CPU将进入debugmode.然后CPU将会留在debugaccessmode直到CPU执行到IRETinstruction并且trusted_debug_exit是处于high后CPU将离开debugaccessmode,反之trusted_debug_exit如果是low,CPU将会保留在debugaccessmode.实现控制trusted_debug_exit信号,有二种可供选择的方式如下:trusted_debug_exit信号总是给high增加一个权限管理逻辑去控制trusted_debug_exit信号是high或是low权限管理逻辑方块图如下所示:图表6权限管理逻辑方块图如何控制trusted_debug_exit信号时序图如下所示:图表7如何控制trusted_debug_exit