当前位置:网站首页>我的四核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软件
边栏推荐
猜你喜欢
BGP综合实验
关于ie下href有中文出现RFC 7230 and RFC 3986问题的研究
3 Module 2: Use of scientific research tools
Switch and Router Technology - 36-Port Mirroring
宝塔Linux环境下redis开启多端口
Thymeleaf
Switch and Router Technology-31-Extended ACL
Redis-数据类型(基本指令、String、List、Set、Hash、ZSet、BitMaps、HyperLogLog、GeoSpatial)/发布和订阅
0708作业---商品信息
Unity WebGL RuntimeError: integer overflow(整数溢出问题)
随机推荐
2022煤矿瓦斯检查考试题模拟考试题库及答案
shell 脚本编程---入门
IDEA中配置checkstyle
log4j2漏洞复现以及解决方案
【动态代理】CGLIB 动态代理的使用及原理
UML基本概念——动态视图
Internet Protocol 1
2022建筑焊工(建筑特殊工种)考题及模拟考试
(二)性能实时监控平台搭建(Grafana+Prometheus+Jmeter)
Oracle常用语句归纳_持续更新
【ARM】rk3399挂载nfs报错
Unity WebGL RuntimeError: integer overflow(整数溢出问题)
Core Data 多线程设计
Delphi7 learning record - demo example
金仓数据库 KingbaseGIS 使用手册(6.8. 几何对象输入函数)
MySQL数据库管理
About CC Attacks
Apache Commons OGNL语法说明_翻译
华为od德科面试数据算法解析 2022-8-10 迷宫问题
Linux中安装redis