qemu模拟armv7,裸机运行

基于armv7的设备,在qemu下启动,裸机运行
2024.8.2更新,添加简单的启动,task调度代码


文档资料

imx6ull 官方资料链接
在这里插入图片描述
Arm官方文档
ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition
ARM Cortex-A Series Programmer’s Guide for ARMv7-A

Arm A-profile Architecture Registers
Arm A-profile A32/T32 Instruction Set Architecture
Arm A-profile A64 Instruction Set Architecture
arm_compiler_user_guide_100748_6.22_00_en
Arm Architecture Reference Manual for A-profile architecture : (AArch64)

gcc-arm-10.3-2021.07-x86_64-arm-none-eabi.tar.xz
https://developer.arm.com/downloads/-/gnu-a

gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2
https://developer.arm.com/downloads/-/gnu-rm

qemu环境搭建

  1. qemu源码下载
  2. 100ask修改版qemu源码下载
  3. 100ask 6ullqemu
# 本文运行方式,使用官方的qemu也能正常运行,只使用imx6ull的功能
 git clone https://e.coding.net/weidongshan/ubuntu-18.04_imx6ul_qemu_system.git
  1. 6ull裸机开发资料
git clone https://e.coding.net/weidongshan/01_all_series_quickstart.git
git clone https://e.coding.net/weidongshan/noos/cortexA7_windows_tools.git
git clone https://e.coding.net/weidongshan/hardware/doc_and_source_for_hardware.git
git clone https://e.coding.net/weidongshan/noos/doc_and_source_for_mcu_mpu.git

编译器下载:arm-none-linux-gnueabihf

 # ,用 aria2c 比 wget 实在是快太多了
 https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x86_64-arm-none-linux-gnueabihf.tar.xz

armv7架构

寄存器

在这里插入图片描述

异常处理

lr的地址调整:关于ARM的PC指针
在这里插入图片描述
在这里插入图片描述
疑问: armv7进入异常的时候根据规范描述是可以选择进入arm,或者thumb状态的?那么如果可以选择thumb编译的时候要按照thumb的格式编译

A3:Application Level Memory Model

三种属性的设备:
Normal
Device
Strongly-ordered
猜测:和 mmu,或者乱序执行有关?

Genera

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值