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

二级网站建设百度网络科技有限公司

二级网站建设,百度网络科技有限公司,上海做征信服务的公司网站,长春网站建设同信一、跳转指令实现函数调用 LR(链接寄存器):保留函数返回地址 1.1 bl指令 跳转指令bl,使LR保存当前函数进入前的下一条指令的地址,使函数调用后可以返回下一条指令的地址; 1.2 bx指令 跳到目标地址; 1.3 栈…

一、跳转指令实现函数调用

  • LR(链接寄存器):保留函数返回地址

1.1 bl指令

        跳转指令bl,使LR保存当前函数进入前的下一条指令的地址,使函数调用后可以返回下一条指令的地址;

1.2 bx指令

        跳到目标地址;


1.3 栈的使用方法 

函数调用前,保护现场,调用后恢复现场 :

        使用栈(先进后出的特性);


栈的使用方法:

1.3.1.空增

        保护时,SP先写,再加;

        恢复时,SP先减,再读;

1.3.2 满增 

        保护时,SP先加,再写;

        恢复时,SP先读,再减;

1.3.3 满减

        保护时,SP先减,再写;

        恢复时,SP先读,再加;

1.3.4 空减

        保护时,SP先写,再减;

        恢复时,SP先加,再读;


1.4 ARM内核使用满减栈,使用方法

1.4.1 stmfd指令

入栈保护时,使用stmfd指令;

        stmfd <c><Rn>{!}, <registers>:

        其中:

  • !是让栈指针的内容随程序发生变化
  • 命令含义是把多个寄存器保存到Rn寄存器中
  • 举例:stmfd sp!, {r0-r12, lr}

1.4.2 ldmfd指令 

出栈恢复时,使用ldmfd指令;

        如:ldmfd sp!, {r0-r12, lr}

二、汇编与C语言混合调用

注意:由主调者负责保护现场和恢复现场

2.1 汇编为主调

 步骤:

  1. 首先确保SP指针有效
  2. 对函数声明:import(导入)         export(导出)
  3. 保护现场
  4. 使用bl跳转
  5. 恢复现场

注意:

若参数4个以内,R0-R3传递参数;

若有第五个参数,只能用栈的方式来传参:

  •         stmfd sp!, {r4}
  •         ldmfd sp!, {r4}

main.c 

start.s 

2.2 c为主调

在汇编中,声明c的函数,import main

                                         export asm_add 

main.c 

start.s 

三、准备工作

3.1 切换模式

CPS命令修改CPSR寄存器的M[4:0]

        如,CPS #<mode>

        (但不支持keil) 

解决方法:

(1) msr指令:读取cpsr、spsr寄存器

mrs r0, cpsr

(2) 于r0中,设置相关数据,设为User模式(10000)

bic r0, r0, #(0x1F << 0)    //低5位清零
orr r0, r0, #0x10           //第5位置一

(3) msr指令:写入cpsr、spsr寄存器

msr cpsr_c, r0

(4)将User模式下的SP进行设置

ldr sp, =0x40001000
sub sp, sp, #1024

3.2 异常处理被占用(解决),初始化异常向量表 

3.3 产生软件中断异常

加^,表示恢复执行前cpsr寄存器的值

四、IMX6ULL入门

  • Windows编写代码
  • Ubuntu编写代码

主要部分:

  1. 搭建编程环境
  2. 汇编点灯
  3. 下载程序

4.1 引脚的功能复用

  • 说明哪些引脚归哪个外设使用
  • PAD:引脚
  • MUX:功能复用

以点亮LED为例:

        GPIO1组的3号引脚

数据寄存器        GPIO data register(GPIOx_DR) 

方向寄存器 

 

http://www.dtcms.com/wzjs/433657.html

相关文章:

  • 泰州网站制作工具自己怎么给网站做优化排名
  • 委托广告公司做的网站违法了整站seo排名要多少钱
  • 网站建设属于哪个税收服务编码站长工具域名查询社区
  • 北京建设信源咨询有限公司网站域名服务器ip查询网站
  • wordpress关键字替换石家庄seo网站管理
  • 策划方案免费的网站seo引擎优化外包公司
  • 新网站应该怎么做seo网站优化关键词公司
  • 深圳建设工程交易服务网龙岗分中心北京网络排名优化
  • 在网站文字上做笔记百度24小时人工客服电话
  • 免备案网站建站私域流量运营管理
  • 美工是做什么的绍兴seo计费管理
  • win 2008 iis建立网站指数运算法则
  • 桥西区网站建设东莞网络推广招聘
  • 工信部信息备案网站首页万能引流软件
  • 如何规划企业网络推广方案需要优化的网站有哪些?
  • 无锡微信网站开发seo怎么发布外链
  • 做网站时的兼容问题上海百度推广
  • 宁夏政府采购网东莞网络优化公司
  • 期货交易网站开发域名网站查询
  • 网站建设分金手指排名四广州seo网站推广公司
  • c 网站开发 书百度推广平台登录网址
  • 自适应手机网站 css优化网站平台
  • 门头沟新乡网站建设seo文章优化方法
  • asp.net 做网站实例如何推广引流
  • 用自己电脑做服务器 网站seo广告优化多少钱
  • 设计师服务平台卡密号网站seo推广员招聘
  • 如何做单页网站网推怎么做
  • 盐城市城乡建设局网站建站宝盒
  • 盐山县招聘网站建设代运营公司
  • 网站改版 打造企业文化郑州网站seo优化公司