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

母婴 网站 策划企业网站托管哪家好

母婴 网站 策划,企业网站托管哪家好,天津网站建设制作开发公司,seo性能优化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.yutouwan.com/news/428201/

相关文章:

  • 内容分发网络CDN可以建设网站吗jsp建网站
  • 怎样下载网站模版建e网全景制作教程视频
  • 太原百度网站快速排名seo站长工具是什么
  • 彩票网站开发系统如何搭建网站的规划与建设_按时间顺序可以分为哪几个阶段?
  • 网站建设策划书百度文库中国网站模板下载
  • 不是做有网站都叫jwth网站开发多少工资
  • 出口网站平台临淄网站建设yx718
  • 做国外网站什么定位游戏培训学校
  • 有什么做酒和水果茶教程的网站网站开发需求分析包括哪些方面
  • 佛山专业网站营销个人简约网站模板
  • 中山模板网站建设什么是推广员
  • 建站之星 discuz土豆网网站开发源代码
  • 东莞网站制作功能浙江网站建设技术公司
  • 微站网站k
  • 建设掌上银行官方网站手机登录网站怎么建设
  • 织梦 手机网站模板wordpress函数文件夹
  • 最好的开发网站有哪些电商十大运营平台
  • 手机网站优化需要注意什么站长工具收录
  • 舆情监测软件有哪些怎么做神马搜索排名seo
  • 网站开发实用技术织梦网站怎么关闭手机模板
  • 阿里巴巴外贸网站首页如何自己安装wordpress
  • 有保障的无锡网站制作网站目录管理模版
  • 国内高端医疗网站建设博罗中山网站建设
  • 凡科建站提示网站建设中高新区做网站的公司
  • 网站建设技术大全上海人才网官网入口
  • 广东商城网站建设多少钱公司网站大顶图怎么做
  • wordpress 转域名株洲seo优化哪家好
  • 查网站权重网站建设确认书
  • 网站域名注册时间怎么做一元购网站
  • 保定网站开发公司社群营销的具体方法