s5pv210开发板学习笔记(1)

s5pv210开发板支持的启动模式:
  • OneNand Boot(Mux/Demux)

  • Nand Boot (with H/W 8/16-Bit ECC)

  • MMC Boot (MMC Specification 4.3 compatible including eMMC)

  • eSSD Boot

  • UART/USB Boot

  • Secure boot mode support

  • Second boot support 当第一次引导模式失败时,将通过4位数据的SD/MMC通道2尝试SD/MMC引导。

Soc如何识别外部的启动介质呢?

通过OMpin来识别外部传输介质,通过将OM[0]~OM[5]六个引脚的拨码开关拨到如下表所示的一种组合,即左侧的OM[5]~OM[0]的组合,可以唯一对应一种启动方式。1'b0代表GND,1'b1代表VCC。

示例:从SD0的emmc启动,则拨码开关的组合如下,对应于上表中的I-ROM->SD/MMC->X-TAL(USB)。

ARM处理器工作模式:
  • User:非特权模式,大部分任务执行在这种模式

  • FIQ:当一个高优先级(fast)中断产生时将会进入这种模式

  • IRQ:当一个低优先级(normal)中断产生时将会进入这种模式

  • Supervisor:当复位或软中断指令执行时将会进入这种模式

  • Abort:当存取异常时将会进入这种模式

  • Undef:当执行未定义指令时会进入这种模式

  • System:使用和User模式相同寄存器集的特权模式

  1. 只有User(用户模式)是Normal(普通模式)

  1. Privilege中除Sys模式外,其余5种为异常模式。

  1. 各种模式的切换:可以是程序员通过代码主动切换(通过写CPSR寄存器);也可以是CPU在某些情况下自动切换。

  1. 各种模式下权限和可以访问的寄存器不同。

ARM的37个寄存器:
  1. ARM总共有37个寄存器,但是每种模式下最多只能看到18个寄存器,其他寄存器虽然名字相同但是在当前模式下不可见

  1. 对r14这个名字来说,在ARM中共有6个名叫r14(又叫sp)的寄存器,但是在每种特定处理器模式下,只有1个r14是当前可见的,其他的r14必须切换到他的对应模式下才能看到。这种设计叫影子寄存器(banked register)。

注意:System模式使用user模式寄存器集

为什么r13(sp)和r14(lr)每个模式下都有?
  1. sp为堆栈指针,在函数切换和上下文切换中使用,可以理解为程序的工作区,每种模式下的工作区应该分开,防止当一个模式下的工作区出问题崩溃的时候影响到其余的工作区。

  1. lr是用于存储每种模式下的返回地址的,比如从user模式切换到irq模式时,把user模式下的返回地址存到lr中,irq返回user模式就可以直接bl lr。

CPSR程序状态寄存器:
  • 条件位:

– N = Negativeresult from ALU 符号标志位

– Z = Zeroresult from ALU 零标志位

– C =ALU operation Carriedout 进位标志位

– V =ALU operation oVerflowed 溢出标志位

  • Q位:

– 仅ARM5TE/J架构支持

– 指示饱和状态

  • J位

– 仅ARM5TE/J架构支持

  • 中断禁止位:

– I = 1: 禁止 IRQ.

– F = 1: 禁止 FIQ.

  • TBit

– 仅ARM xT架构支持

– T = 0: 处理器处于 ARM 状态

– T = 1: 处理器处于 Thumb状态

  • Mode位:

– 处理器模式位

异常:
  • 正常工作之外的流程都叫异常

  • 异常会打断正在执行的工作,并且一般我们希望异常处理完成后继续回来执行原来的工作

  • 中断是异常的一种

  • 7种工作模式中,User(用户态)和System(系统态)是正常模式,可以理解为用户态就是用户程序在执行,系统态就是系统在执行操作系统内核执行的那些事情,其余5种为异常态。

异常向量表:
  • 所有的CPU都有异常向量表,这是CPU设计时就设定了的,是硬件决定的。

  • 当异常发生时,CPU会自动动作。

  • 异常向量表是硬件向软件提供的处理异常的支持。

注:这个向量表是CPU设计时提供的异常向量表,称为1级向量表,有些为了支持多个中断,还会提供二级中断向量表。

ARM的异常处理机制:
  1. 拷贝 CPSR 到 SPSR_<mode>

  1. 设置适当的 CPSR 位:

  • 改变处理器状态进入 ARM 态(非Thumb态)

  • 改变处理器模式进入相应的异常模式

  • 设置中断禁止位禁止相应中断 (如果需要),由硬件自动执行,不需要程序员参与。

  1. 保存返回地址到 LR_<mode>

  1. 设置 PC 为相应的异常向量

  • 返回时,异常处理需要:

  1. 从 SPSR_<mode>恢复CPSR(这一步恢复了处理器状态)

  1. 从LR_<mode>恢复PC

– Note:这些操作只能在ARM 态执行。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
将QT应用程序部署到S5pv210开发上,需要以下步骤: 1. 交叉编译QT库:在PC机上使用交叉编译器,编译QT库,生成针对S5pv210开发的QT库文件。 2. 编译QT应用程序:在PC机上编写QT应用程序代码,并使用交叉编译器编译,生成针对S5pv210开发的可执行文件。 3. 将QT库文件和应用程序文件拷贝到S5pv210开发上。 4. 在S5pv210开发上安装QT库文件:通过命令行或其他方式安装QT库文件到S5pv210开发上。 5. 运行QT应用程序:在S5pv210开发上执行QT应用程序文件,测试应用程序是否正常运行。 总体步骤如下: 1. 准备工作:安装交叉编译器、QT库源码、S5pv210开发环境等。 2. 配置交叉编译器:配置交叉编译器环境变量等。 3. 编译QT库:使用交叉编译器编译QT库源码,生成针对S5pv210开发的QT库文件。 4. 编译QT应用程序:在PC机上编写QT应用程序代码,并使用交叉编译器编译,生成针对S5pv210开发的可执行文件。 5. 拷贝文件:将QT库文件和应用程序文件拷贝到S5pv210开发上。 6. 安装QT库文件:通过命令行或其他方式安装QT库文件到S5pv210开发上。 7. 运行QT应用程序:在S5pv210开发上执行QT应用程序文件,测试应用程序是否正常运行。 需要注意的是,在编译QT库和应用程序时,需要指定编译选项,以支持S5pv210开发的架构和操作系统。同时,还需要注意QT库和应用程序的版本兼容性,以避免出现问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值