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

西乡县门户网站广州软件园 网站建设

西乡县门户网站,广州软件园 网站建设,网络舆情分析论文,wordpress不同分类调用不同文章一、启动代码概述与提要1、启动代码主要功能初始化异常向量表初始化各工作模式的栈指针寄存器开启ARM内核中断允许配置工作模式引导程序进入C语言主函数运行2、ARM工作模式用户模式:权限最低(普通应用程序工作模式)、特权模式:系统模式:具有特…

一、启动代码概述与提要

1、启动代码主要功能

  • 初始化异常向量表
  • 初始化各工作模式的栈指针寄存器
  • 开启ARM内核中断允许
  • 配置工作模式
  • 引导程序进入C语言主函数运行

2、ARM工作模式

  • 用户模式:权限最低(普通应用程序工作模式)、
  • 特权模式:
    • 系统模式:具有特殊权限、用于操作系统,
    • 管理模式:系统复位或软中断时进入
    • FIQ:快速中断
    • IRQ:普通中断
    • 中止模式:处理内存访问异常
    • 未定义模式:执行未知指令时进入

3、参考异常向量表

4、协处理器

  • 作用:ARM 架构中用于扩展主处理器功能的专用模块,如浮点运算、图像处理
  • 关键协处理器:
    • cp15:用于 ARM 的系统控制

二、启动代码示例

1、伪操作

        Keil 操作头

        其中 area用于定义端、reset 为定义段名、code 指定段性质、readoniy 为段属性、code32表示使用32位 ARM 指令集、若为 thumb 表示使用 thumb 指令集

        area reset, code, readonly           
code32

       在VS Code 中操作头为 .global _start

2、初始化操作

         协处理器操作

         配置协处理器,允许软件配置异常向量表地址

MRC:将CPU寄存器数据写入协处理器寄存器

MRC:从协处理器读取数据到CPU寄存器

  mrc p15, 0, r0, c1, c0, 0     //获取当前系统配置bic r0, r0, #(1 << 13)        //修改一场向量表映射方式、允许软件配置向量表地址orr r0, r0, #(1 << 12)        //开启ICache(指令缓存)mcr p15, 0, r0, c1, c0, 0     //应用配置

        初始化栈指针寄存器与异常向量表

        与参考异常向量表相对照,初始化栈指针寄存器

_start:ldr pc, = _start_hander        //分配启动段栈指针空间ldr pc, = _undef_hander        //分配未定义段栈指针空间    ldr pc, = _supervisor_hander   //...ldr pc, = _prefetch_hander     //..ldr pc, = _data_handerldr pc, = _notuse_handerldr pc, = _irq_handerldr pc, = _fiq_hander

ldr:

        功能:将内存中的数据读取到寄存器中

                 在上述代码中,用于将异常向量表地址存放到 pc 寄存器中

        配置各工作模式框架
_undef_hander:b _undef_hander_supervisor_hander:b _supervisor_hander_prefetch_hander:b _prefetch_hander_data_hander:b _data_hander_notuse_hander:b _notuse_hander_irq_hander:b _irq_hander_fiq_hander:b _fiq_hander_start_hander:                //启动代码段b main                    //跳转至C语言代码b finish                  //结束段finish:b finish
        .bss段清零

        获取 .bss 段起始与结束位置

_bss_init:ldr r0, =__bss_start     //加载.bss始末位置ldr r1, =__bss_end 

        .bss段清零

    mov r2, #0
loop: str r2, [r0]add r0, #4cmp r0, r1blt loop             bx lr                    //返回调用
3、模式切换

        通过修改当前状态寄存器(CPSR )中的模式编码位切换模式

        模式编码:

        代码实现:

  //方式1:mrs r0, cpsrbic r0, r0, #(0x1f << 0)bic r0, r0, #(1 << 7)orr r0, r0, #(0x12 << 0)    //irqmrs cpsr, r0//方式2:cps #0x12

mrs:获取当前寄存器cpsr的状态到r0寄存器

mrs:   将配置好的模式写入cpsr寄存器

cps:    单指令状态切换

http://www.dtcms.com/a/616691.html

相关文章:

  • 北京移动网站建设公司排名建设一个征婚网站的程序
  • 如何用dede做带下单的网站黑龙江省生产建设兵团知青网站
  • 番禺网站开发公司电话辽宁建设工程信息网可上中项网
  • 域名在线查询沈阳seo公司
  • 一般网站的架构建设一网站要多少钱
  • 广东省建设监理协会信息管理网站石家庄是几线城市
  • 社交网站建设网天猫网站建设的目的
  • 网站建设托管预算清单优化网络软件
  • 怎么在备案号添加网站ui素材网站
  • 全包胶衣网站高端的网站设计多少钱
  • 技术支持 石家庄网站建设江门网络建站模板
  • 网站备案许可证号查询wordpress 海淘
  • 卡盟怎么网站怎么做官方网站怎样做
  • 余杭区网站建设设计公司专业的徐州网站建设
  • 关于网站建设的标语温州建设学校网站
  • 在线免费源码资源源码站国家年报个体户工商营业执照
  • 重庆建站模板厂家优化大师软件下载
  • 个人建站除了wordpress遵义网站制作小程序
  • ui设计岗位职责seo基础知识考试
  • 专业建网站的学校国内十大新闻
  • 宜昌外贸网站建设优化推广中建招标平台叫什么网
  • 网络营销型网站设计不备案的网站
  • 怎样创建企业网站网络推广营销方法
  • 网站建设 公众号网页游戏哪个平台好
  • 四川 优质高职建设网站企业营销管理制度
  • 飞鱼广告投放山西seo和网络推广
  • 小型企业建设网站温州seo排名
  • 长春在线制作网站如何使网站做的更好
  • 网站设计过程国内永久免费的crm系统软件
  • 一诺互联 网站建设网站建设合同书保密条款