当前位置: 首页 > news >正文

小语种网站怎么做手机网站 扁平化趋势

小语种网站怎么做,手机网站 扁平化趋势,网站开发的硬件环境,怎样申请自己的电商平台请阅读【嵌入式开发学习必备专栏】 文章目录 Debug system registers中断控制状态寄存器#xff08;ICSR#xff09;Debug Halting Control and Status Register, DHCSR Debug 寄存器DCRSR与DCRDRCPU 寄存器读操作CPU 寄存器写操作CPU 寄存器选择CPU 寄存器读写示例 调试故障…请阅读【嵌入式开发学习必备专栏】 文章目录 Debug system registers中断控制状态寄存器ICSRDebug Halting Control and Status Register, DHCSR Debug 寄存器DCRSR与DCRDRCPU 寄存器读操作CPU 寄存器写操作CPU 寄存器选择CPU 寄存器读写示例 调试故障状态寄存器DFSR Debug system registers 在ARMv7架构中调试功能通过一系列的系统控制块System Control Block, SCB寄存器来提供。这些寄存器不仅帮助开发者诊断程序运行中的错误还提供了硬件故障的详细信息。以下是SCB中与调试相关的重要寄存器和标志位的介绍 中断控制状态寄存器ICSR ICSR 寄存器可在应用程序中用于 设置和清除系统异常的挂起状态其中包括 SysTick、PendSV 和 NMI。通过读取 VECTACTIVE 可以确定当前执行的异常/中断编号。 另外调试器还可利用该寄存器确定中断状态。VECTACTIVE 域和 IPSR 相同。 中断控制和状态寄存器SCB-ICSR0xE000ED04 debug 寄存器小结 Debug Halting Control and Status Register, DHCSR C_DEBUGEN: Enables debug. 启用调试。这只能由 AHB-AP 修改而不是由软件修改。它在软件进行写入时将被忽略软件不能设置或清除它。当写入 C_HALT 来暂停CPU时内核必须向它写入 1。当外部debugger将该bit配置从0修改为1时 必须同时将 域 C_MASKINTSbit[3]置0。 C_Halt: Halts the core. 暂停 cpu。当CPU停止时该位自动设置。例如断点。此位在CPU reset 时清除。该位只能在 C_DEBUGEN 为 1 时写入否则将被忽略。 当设置该位为 1 时且 C_DEBUGEN 置位时将会将cpu halt住当CPU 处于 debug state时将该bit写0将会退出 debug state。 C_STEP, bit[2]单步调试使能bit。 C_MASKINTS, bit[3]当debug 模式使能后也即C_DEBUGEN 配置为1后外部 debugger 可以通过配置该bit来屏蔽ysTick 和 外部其它中断。 C_SNAPSTALL, bit[5]设置此位为1允许调试器请求不精确地进入调试状态。C_SNAPSTALL 提供了一种机制通过它调试器可以请求处理器进入调试状态而不需要等待具体的断点触发。这对于那些需要在特定条件下暂停处理器执行但又不依赖于精确断点位置的调试场景特别有用。 当处理器执行加载load或存储store指令时可能会遇到“阻塞”stalled的情况。这种情况通常发生于数据无法立即从内存中被访问时例如因为缓存未命中cache miss、访问外设或者内存争用等原因。阻塞的加载或存储指令需要等待相关数据可用后才能完成其操作。下面详细介绍这一过程及其影响。可以通过配置C_SNAPSTALL 让 阻塞的 load 或者store强制结束。 S_REGRDY: 调试内核寄存器选择器寄存器上的寄存器读/写可用。 为1表示最后一次传输完成。 S_HALT 当 S_HALT 为高时表示处于调试状态 S_SLEEP 表示内核正在休眠.WFI、WFE 或 SLEEP-ON-EXIT, 必须使用 C_HALT 来获得控制权或等待中断唤醒。 S_LOCKUP: 如果内核正在运行未停止并且存在锁定条件则读取为 1。 S_RETIRE_ST: I表示自上次读取后指令已完成。 这是一个在读取时清除的粘性位。 这确定核心是否在加载/存储或获取时停止。 S_RESET_ST 表示自从上次读取该位以来内核已被复位或正在被复位。 这是一个在读取时清除的粘性位。 因此读取两次并得到 1 然后 0 意味着它在过去被重置。 读取两次并获得 1 意味着它现在正在重置仍然保持在重置状态。 Debug 寄存器DCRSR与DCRDR 与调试功能有关的还有NVIC中另外两个寄存器。它们分别是调试内核寄存器选择者寄存器DCRSR以及调试内核寄存器数据寄存器DCRDR。调试器需要通过这两个寄存器来访问处理器的寄存器并且只有在处理器停机时才能使用这里的寄存器传送功能。 DCRSR DCRDR CPU 寄存器读操作 使用DCRSR和DCRDR这两个寄存器来读取内核的寄存器的内容则必须按如下的顺序做 确定处理器已停机往DCRSR写数据来选择读CPU的哪个寄存器其中bit[16]要为0表示这是要读数据查询直到DHCSR.S_REGRDY1读取DCRDR以获取寄存器的内容 CPU 寄存器写操作 寄存器写操作的顺序与上面的类似 确定处理器已停机往DCRDR中写数据往DCRSR写数据来选择准备写CPU的哪个寄存器其中bit[16]要为1表示这是要写数据查询直到DHCSR.S_REGRDY1 NOTE: 使用DCRSR和DCRDR来访问寄存器只适用于停机模式。 CPU 寄存器选择 DCRSR bit[16] 用标志是读操作还是写操作 0 Read1 Write DCRSR bits[6:0] 用于选择要操作哪个寄存器 0b0000000-0b0001100选择寄存器R0-R120b0001101选择寄存器 SP0b0001110选择寄存器 LR0b0001111DebugReturnAddress0b0010000xPSR0b0010001Main stack pointer, MSP0b0010010 Process stack pointer, PSP.0b0010100 Bits[31:24] CONTROL. Bits[23:16] FAULTMASK.Bits[15:8] BASEPRI.Bits[7:0] PRIMASK. 0b0100001Floating-point Status and Control Register, FPSCR. CPU 寄存器读写示例 写操作 #define REGW_FLAG BIT(16) #define S_REGRDY BIT(16)int cpu_reg_write(uint32_t reg, uint32_t val) {uint32_t data, try 5;mcu_write(DCRDR, val);mcu_write(DCRSR, REGW_FLGA | reg);mcu_read(DHCSR, data);while ((data S_REGRDY) 0x0 try) {log_warn(wait for transfer complete\n);try--;}if (!try) {log_err(write gpu mcu reg failed\n);return -1;}return 0; }读操作 uint32_t cpu_reg_read(uint32_t reg, uint32_t *pdata) {uint32_t data, try 5;mcu_write(DCRSR, reg);mcu_read(DHCSR, data);while ((data S_REGRDY) 0x0 try) {log_warn(wait for transfer complete\n);try--;}if (!try) {log_err(write gpu mcu reg failed\n);return -1;}mcu_read(DCRDR, pdata);return 0; }调试故障状态寄存器DFSR DFSRDebug Fault Status Register是SCB的一部分提供了与调试相关的故障信息。它指示了最后一次调试事件的原因例如硬件断点触发或访问违例。DFSR寄存器包括以下几个关键字段 HALTED当处理器因调试请求而停止时该位被设置。 C_HALT 和 C_STEP 请求都会触发该位置位。BKPT当执行到PFB中硬件断点时或者软件断点指令BKPT指令时该位被设置。DWTTRAP当数据观察点和追踪Data Watchpoint and Trace, DWT单元检测到匹配事件时该位被设置。VCATCH当向量捕捉事件发生时该位被设置。EXTERNAL当由于外部调试请求而停止时该位被设置。 DFSR为开发者提供了关于程序为何停止的直接线索是调试过程中不可或缺的资源。
http://www.hkea.cn/news/14414436/

相关文章:

  • 企业邮箱注册需要什么材料wordpress 博客主题 seo
  • 涉县移动网站建设报价企业网址怎么申请
  • 免费用手机建立网站深圳商业网站建设系统
  • 光谷网站建设公司邯郸做紧固件网站
  • 珠海网站建设网络有限公司企业整合营销
  • 网站开发如何赚钱公司网站引导页
  • 网站架设流程网站悬浮窗口代码
  • 做画册好的网站网站开发总结 优帮云
  • 揭秘低价网站建设危害贵州景点网站建设方案
  • 网站需要域名吗长沙新媒体营销
  • 深圳外贸网站建设企业学校 门户网站建设方案
  • 联通企业网站建设转短链接在线生成
  • 建设一个班级网站的具体步骤word可以制作网页
  • 上海市建设协会考试网站东莞樟木头做网站哪家好
  • 做网站图片要求wordpress 500错误
  • 网站建设开发费入什么科目搭建论坛需要多少钱
  • 做仿站如何修改网站管理权限电子商务网站建设的语言及特点
  • 定制网站建设公司哪家好郑州平台制作
  • 网站建设中界面模板网站优化工具分析工具
  • 金品诚企网站建设网站怎么做网页
  • 网站dns服务域名建网站
  • 模仿网站侵权吗图片分享 wordpress
  • 品牌网站设计企业服务wordpress柒比贰主题破解版
  • 个人能建网站吗学校实验室网站建设现状
  • 网站开发两端对齐底行左对齐wordpress简约下载站模板
  • 一个服务器可以备案几个网站亚马逊关联乱码店铺怎么处理
  • 建设网站商城有什么好的提供外链网站
  • 哈尔滨站建筑如何保存自己做的网站
  • 网站建设费支付请示西昌手机网站建设成都彩钢顶防水
  • 天津网站建设教程厦门新闻头条最新消息