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

什么是营销型网站呢申请一个微信号

什么是营销型网站呢,申请一个微信号,1元购买域名,邯郸品牌商标vi设计策划公司01ARM Coretex-A9寄存器对于ARM Coretex-A9处理器而言其寄存器主要包括两大部分#xff0c;分别是通用寄存器以及系统控制寄存器。上图所示的通用寄存器#xff0c;主要是在代码运行过程中使用到#xff0c;CPU通过该部分寄存器执行代码并完成相关的运算操作。对于调试过程中… 01ARM Coretex-A9寄存器对于ARM Coretex-A9处理器而言其寄存器主要包括两大部分分别是通用寄存器以及系统控制寄存器。上图所示的通用寄存器主要是在代码运行过程中使用到CPU通过该部分寄存器执行代码并完成相关的运算操作。对于调试过程中比较关心的是SP、LR、PC以及R0~R3几个寄存器。而其他寄存器在特定场景下也有应用例如U-Boot在代码重定向的过程中使用到了R9寄存器来暂存gd_t的地址。调试过程中当代码崩溃的时候我们第一步是看PC是多少以此通过追踪反汇编文件来定位到具体的指令处。对于系统控制寄存器而言其实现了CPU的一些控制以及状态指示等功能例如通过ACTLR寄存器完成多核的配置通过CPSR寄存器实现CPU的逻辑运算状态指示等。CP15寄存器一共是16组寄存器通过MRC/MCR指令并结合不同的指令码实现寄存器的访问。MRC和MCR指令如下图所示CPU的取指、运算过程如下图所示除了要操作内存之外内部的寄存器组也会同步进行更新。02调试工具操作CPU寄存器在芯片开发验证的过程中不可避免的会遇到CPU内部逻辑实现异常而导致代码无法正常得到执行此时需要定位故障的原因一般可以通过JLINK、DSTREAM工具获取、操作CPU的寄存器。对于程序已经执行出错的场景而JTAG仍然可以连接上的场景使用JLINK工具可以获取到故障现场信息。JLINK连接上之后输入Regs命令可以dump出CPU的寄存器值当希望改写CPU通用寄存器的时候可以通过wreg来实现:同样CP15寄存器也可以操作03C代码中内嵌汇编当通过故障现场不能得知故障原因的时候需要追踪CPU执行过程中寄存器的变化状态例如Kerne的用户空间程序申请页表的过程中我们可以通过CP15的ttbr0寄存器获取页表地址。 1#define _ARM_MRC(coproc, opcode1, Rt, CRn, CRm, opcode2)        \2    asm volatile (mrc p #coproc ,  #opcode1 , %[output], c #CRn , c #CRm ,  #opcode2 \n : [output] r (Rt))3#define _ARM_MCR(coproc, opcode1, Rt, CRn, CRm, opcode2)        \4    asm volatile (mcr p #coproc ,  #opcode1 , %[input], c #CRn , c #CRm ,  #opcode2 \n :: [input] r (Rt))56void func1(void)7{8        u32 ttbr0,ttbr1;9        _ARM_MRC(15, 0, ttbr0, 2, 0, 0); 10        _ARM_MRC(15, 0, ttbr1, 2, 0, 1); 11        printk(ttbr0 0x%08x ttbr1 0x%08x\n, ttbr0, ttbr1); 12}对于其他寄存器的操作U-Boot中\arch\arm\include\asm\system.h的代码可以借鉴通过移植该部分代码可以实现我们的需求 1static inline unsigned int get_cr(void)2{3    unsigned int val;45    if (is_hyp())6        asm volatile(mrc p15, 4, %0, c1, c0, 0  get CR : r (val)7                                  :8                                  : cc);9    else 10        asm volatile(mrc p15, 0, %0, c1, c0, 0  get CR : r (val) 11                                  : 12                                  : cc); 13    return val; 14} 15 16static inline void set_cr(unsigned int val) 17{ 18    if (is_hyp()) 19        asm volatile(mcr p15, 4, %0, c1, c0, 0  set CR : 20                                  : r (val) 21                                  : cc); 22    else 23        asm volatile(mcr p15, 0, %0, c1, c0, 0  set CR : 24                                  : r (val) 25                                  : cc); 26    isb(); 27}04devmem对于kernel已经挂在文件系统之后操作外设寄存器的方法有很多但是比较倾向于使用devmem这个命令该命令可以直接操作物理内存空间不必考虑虚拟地址和物理地址之间的映射。该命令由busybox提供通过配置busybox可以在生成的文件系统中包含它。通过devmem操作寄存器的过程如下END推荐阅读专辑|Linux文章汇总专辑|程序人生专辑|C语言我的知识小密圈
http://www.zqtcl.cn/news/576705/

相关文章:

  • 阿里云网站建设好用吗齐诺网站建设
  • 中小企业网站建设行情嘉兴公司的网站设计
  • 做服装有哪些好的网站台州网站建设多少钱
  • 任县网站建设公司北京网站开发网站开发公司
  • 重庆seo网站策划网站的tdk指的是什么
  • 自做刷赞网站山东东成建设咨询有限公司网站
  • 泉州网站制作推广网站建设一年多少
  • 超大型网站建设公司网站打开显示建设中
  • 惠东县网站建设建设方案
  • 怎么把做的网站发布长春建网站
  • 织梦网站手机端郑州网站制作公司名单
  • 如何建设网站安全网站桥页也叫
  • 南浔网站建设昆山智能网站开发
  • 阿里云可以做电商网站吗杭州网站建设浙江
  • 查询网站备案进度网站建设推广
  • 怎么做公司网站需要什么科目高端网站建设教学
  • 资讯平台网站模板中企中立做的网站好吗
  • 网站开发人员配备山西省吕梁市简介
  • 网站注销主体注销中国建设教育协会培训报名网站
  • 电商网站设计思想建设化妆品网站的成本
  • 做房产网站能赚钱吗深圳龙华区邮政编码
  • 网站开发素材代码手机网站 win8风格
  • 免费推广网站软件班级网站怎么做ppt模板
  • 在线做任务的网站有哪些wordpress ui 插件
  • 竣工验收备案表查询网站优化大师win10能用吗
  • php 网站管理系统做生鲜管理系统的网站
  • 昆山建设工程招聘信息网站业绩显示屏 东莞网站建设技术支持
  • 百度我的网站广东广州网站建设
  • 怎么提高网站流量沈阳有资质做网站的公司有哪些
  • 内蒙古住房与城乡建设厅网站网址微信可以上网