星期四, 五月 17, 2007

面试总结

面使官你好,谈嵌入式开发,嵌入式开发的特点就是 硬件与软件结合的比较的紧密。硬件的不通,必然会引起软件的不同 我比较熟悉ARM处理器,首先 ARM处理器是 精简指令集的处理器。ARM处理器有 7个处理器模式,用户,管理,系统,中断,快中断,异常还有未定义模式,其中,处理器有 31个通用寄存器,6个状态寄存器。在这些寄存器中,不同的处理器模式下,可以使用的处理器是不同的。其中 CPSR是状态寄存器,还有 SPSR辅助状态寄存器,用来临时保存 CPSR。其总,处理器的模式还有 中断,快中断的使能都是通过 CPSR里面的标志位来实现的。还有一些 关键的寄存器,在每个处理器模式下,都有自己的 R13(堆栈寄存器)和R14(链接寄存器,保存返回地址),所以,在bootloader 的开发中,必须要初始化各个模式下的 R13堆栈寄存器。还有,ARM处理器除了 Load/Store指令能访问存储器外,其余指令都是通过寄存器来操作的。还有,更改程序的流程一般可以用 跳转指令 B,不过,跳转指令最大的跳转范围是 前后32M,还有一种实现程序跳转的方法是 直接更改 当前 PC (R15)程序计数器的值,这样,程序就可以实现地址32位的跳转啦 !ARM指令还有一些 多寄存器加载指令,这些指令一般用过 保护/恢复 上下文。(上下文,就是当前的 各个寄存器的值)。 到这里,我就 堵车啦 !!!!!!

没有评论: