当前位置:网站首页>我的四核Cortex-A53学习之路
我的四核Cortex-A53学习之路
2022-08-11 05:14:00 【Cupid99】
初识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软件
边栏推荐
- Day38 LeetCode
- Decryption of BitLocker
- 【嵌入式开源库】MultiTimer 的使用,一款可无限扩展的软件定时器
- Weekly recommended short video: your commonly used Polaroid, its predecessor turned out to be like this!
- oracle tablespace and user creation
- Switch and Router Technology-34-Dynamic NAT
- Flask框架学习:模板继承
- [No 2022 Shanghai Security Officer A Certificate Exam Question Bank and Mock Exam
- Internet Protocol 1
- IDEA模板总结
猜你喜欢

Oracle中如何用一个表的数据更新另一个表中的数据_转载

【嵌入式开源库】MultiButton的使用,简单易用的事件驱动型按键驱动模块

实战noVNC全过程操作(包含遇到的问题和解决)

Idea提升工作效率的必备技巧

C statement: data storage

Unity WebGL RuntimeError: integer overflow(整数溢出问题)

IDEA模板总结

Four functional interfaces

Redis-数据类型(基本指令、String、List、Set、Hash、ZSet、BitMaps、HyperLogLog、GeoSpatial)/发布和订阅

分库分表之sharding-proxy
随机推荐
普林斯顿微积分读本05第四章--求解多项式的极限问题
2022年Android面试中最常问的问题是什么?
一些常见mysql入门练习
四大函数式接口
华为od德科面试数据算法解析 2022-8-10 迷宫问题
Unity WebGL RuntimeError: integer overflow(整数溢出问题)
Redis-数据类型(基本指令、String、List、Set、Hash、ZSet、BitMaps、HyperLogLog、GeoSpatial)/发布和订阅
Idea essential skills to improve work efficiency
redis分布式锁
批量修改数据库等视频文件名称
pytorch和tensorflow函数对应表
[Untitled] 2022 Amination Process Exam Questions Mock Exam Question Bank and Online Mock Exam
【Redis】Redis 的安装及图形化界面 Redis DeskTop Manager 的安装与使用
什么是三次握手和四次挥手(清晰易懂)
StarUML使用心得
MySQL存储引擎概念
Unity WebGL RuntimeError: integer overflow
【ARM】rk3399挂载nfs报错
Tips to make your code more and more taller and taller - code specification, you have to know
Switch and Router Technology-34-Dynamic NAT