zoukankan      html  css  js  c++  java
  • 学习笔记二《一步一步写嵌入式操作系统Arm编程方法与实践》

         今天工作不算很忙,于是就继续看了第一章的SkyEye虚拟硬件安装和第二章的几节。

         一大早,我就想在机器上跑Arm虚拟机(SkyEye),谁知道在安装过程中,要用到make指令的时候就遇到了comand not found 错误!我记得我在安装cygwin时,明明有选择安装make!在几经波折之后,才发现也许是在安装过程中,选中Detch 下的make时, 如果选中把红色区域的bin类型也选中, 则安装失败,并最终导致都不成功!具体原因未知!

        晚上我又看了第二章《基础知识》中的《使用C语言写一段小程序》、《用脚本链接目标文件》及《用汇编语言写程序》。c语言部分在此略过, 以下着重说明虚拟机SkypEye在启动时运行自己开发的程序的过程。 在安装了Skyeye后,当你在Cygwin中输入Skyeye命令启动Skyeye时,它首先搜索本目录下是否有Skyeye.conf这个文件,如果有,则读取里面关于要模拟的虚拟机的环境,如cpu,启动程序的文件路径等(Skyeye.conf有点类似BIOS配置参数).

          虽然能看明白汇编语言这一节,但是要真正开始做Arm上的汇编程序设计,个人觉得只从书中这点知识入手是很难的,还是需要系统学习Arm体系结构与汇编基础知识。在这里先总结下了解到的Arm寄存器结构及一些指令。

    图一:Arm体系寄存器结构

    伪指令集:

       ldr:从内存中读取数据到寄存器中

       adr: 将地址存入到某个寄存器中

       arch:选择目标体系

      global:为外部调用公开某个地址

      .equ: 类似于宏定义

     .text: 指定以下内容为代码段

      .align:指定以几个字节为边界对齐代码! 个人理解:用以方便计算内存地址

    指令集 :

     cmp:比较指令

     b:跳转指令

  • 相关阅读:
    在Maven中怎么配置外部Jar
    eclipse+jetty+web项目调试---不显示源码
    Java中的BIO,NIO,AIO分别是什么
    Eclipse启动的时候提示:Failed to load JavaHL Library
    一个电脑安装两个jdk版本
    Archive for required library: 'D:/Program Files/Apache/maven-repository/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar'
    Sybase PowerDesigner 16.5注册码
    DI:Defect Index(缺陷率)
    使用jave2将音频wav转换成mp3格式
    java实现zip,gzip,7z,zlib格式的压缩打包
  • 原文地址:https://www.cnblogs.com/Hcsdn/p/2672534.html
Copyright © 2011-2022 走看看