完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在ARM处理器的内部,实现了若干的external debug(以下简称ED)寄存器,用来实现处理器的external debug功能。
一、ED寄存器访问的条件 对于ED寄存器的访问,是有条件限制的,一般是如下的几个条件。 OFF: core状态是power down还是power up DLK: double lock 状态是lock还是unlock OSLK: os lock状态是lock还是unlock SLK: software lock状态是lock还是unlock 对于DLK,DLK只会在core要进入power down时需要用到的,因为core进入power down,是需要一个序列的,而这个序列是不能被打断的,也就是在执行这个序列时,外部的debugger是不能对core有影响的。此时debugger不能访问ED寄存器,core的halting也是禁止的。 由OSDLR_EL1寄存器来控制目前DLK的状态。 在复位之后,这个DLK为0,表示正常情况下,DLK都为0,即double lock是unlock的。只有当core要进入power down时,就需要软件将这一位置1,表示double lock给lock住。此时core完全禁止debugger对ED寄存器的访问,并且core的external debug功能被禁止掉。 3、OSLK 对于OSLK,用来禁止外部的debugger对一些ED寄存器的访问。由OSLSR_EL1寄存器来决定当前的os lock的状态。 OS lock不会影响PE进入到debug state,但是会影响对debug 寄存器的访问。因此在进入debug state前,还是要将os lock给unlock的。 4、SLK software lock,用来禁止外部的debugger对一些ED寄存器的写操作,并且让寄存器的读取没有side-effect。 由EDLSR寄存器(ED寄存器)来控制 5、ED寄存器访问权限 以下是ED寄存器的访问权限的列表: 表中的访问权限,如下表所示,比如RO,就表示只读。 从上图可以看出,大多数寄存器当OFF,DLK,OSLK下,是不能访问的,因此有Error,这里的Error体现在APB访问时,APB总线上的PSLVERR信号会拉高,表示访问出现error。 而SLK下,会将很多RW的寄存器变为WO或WI。 |
|
相关推荐
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
FacenetPytorch人脸识别方案--基于米尔全志T527开发板
997 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-CAN编程示例之开发板测试
1083 浏览 0 评论
该问题是用APP给芯海科技的CST92F25芯片发指令是出现的
3878 浏览 1 评论
883 浏览 0 评论
1748 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-1 13:32 , Processed in 0.659245 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号