• 我的四核Cortex-A53学习之路


    初识Armv8


    前言

    从armv7开始学习avmv8,跟着项目一步步走下来。从不熟悉A53任何东西到uboot跑起来,再到移植四核linux成功,再到VxWorks 7运行起来,回忆记录一下这四个月经历的种种

    一、从哪里找到Cortex-A53的初始代码

    ARM DS-5的示例工程

    二、使用步骤

    1.导入工程

    在DS-5的Project Explorer窗口内,右键import

     选择DS-5目录下的Example&Programming Libraries

     然后就可以看到有各种各样的代码了,如下图所示:

     因为我们使用的是Cortex-A53是armv8系列,因此选择ARMv8 Bare-Metal,其中末尾的AC6表示使用的是ARM Compiler 6编译器进行编译,GCC表示使用GCC来编译。

    既包含AArch64,又包含AArch32的程序表示,系统上电初始化在AArch64的EL3模式,后面会跳转到AArch32的EL1模式。

    我们选择导入如下4个程序来进行编译和运行

     导入工程之后是这个样子

    2.编译

    导入的程序中默认包含预编译生成的AXF文件,可以先清除掉,右键选择clean project来清除


    同理选择 ,Build Project来进行编译,编译结束会生成,obj的临时文件夹以及.o 和.o.d文件

     3 调试运行

    选择右上角的DS-5 Debug按钮,

     跳转到Debug界面,这是专用的调试界面,可以用来调试,设置断点,查看系统寄存器等

    在空白处点击右键,选择Debug Configuration

    能够看到导入的4个工程都包含调试选项卡,如下图所示:

     单击第一个startup_AArch64_AC6-FVP_AEM,可以看到一些配置信息,暂时不用理解这些是什么意思,先让程序跑起来

    单击右下角的Debug按钮,会自动运行起来,并跳转到第一条指令

     点击run按钮程序就跑起来了,并在右下角Target Console看到打印的log信息

     

    总结

    虽然过程看上去很简单,但是对于不熟悉这一操作的人来说还是有难度的,毕竟不是每个人都能接触到DS-5软件

  • 相关阅读:
    金九银十面试季在即,Android程序猿如何斩获offer?
    【爬虫】谷歌开发者工具中的XHR和JS的区别
    单片机人机交互--矩阵按键
    Hive 数据仓库介绍
    IPv6环境下的网络安全观察报告总结
    python经典百题之前N项和
    随笔-只是普通人
    RFID设备在自动化堆场中的管理应用
    pytest测试框架搭建
    Xmind 2022精彩体验---什么叫流程图
  • 原文地址:https://blog.csdn.net/Cupid99/article/details/125899058