代码拉取完成,页面将自动刷新
同步操作将从 才鲸嵌入式/嵌入式QEMU教程 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
作者 | 将狼才鲸 |
---|---|
创建日期 | 2022-11-19 |
jim@DESKTOP-SVP3BEM MINGW64 /d/1_git/dwelch67-raspberrypi/raspberrypi (master)
$ tree -L 1
.
|-- README // 自述文件,描述了树莓派的启动流程、支持的树莓派版本,没有介绍每个文件夹的作用
|-- armjtag // 描述要用jtag必须要做的硬件改动,使用什么仿真器,怎么使用仿真器
|-- atags // 和bootloader05中内容类似,演示运行kernel.img时操作r0~r2寄存器,树莓派1串口打印
|-- baremetal // 汇编LED灯和串口操作,大量汇编编程技巧的描述
|-- bench02 // 树莓派1指令集测试,外面的都是树莓派1的用例,树莓派2和3都在boards文件夹中
|-- blinker01 // 树莓派1汇编用GPIO点亮LCD
|-- blinker02 // 树莓派1定时器
|-- blinker03 // 树莓派1使用ARM定时器
|-- blinker04 // 树莓派1ARM定时器
|-- blinker05 // 树莓派1中断处理
|-- blinker06 // 树莓派1看门狗
|-- blinker07 // 树莓派1定时器中断
|-- blinker08 // 树莓派1使用FIQ代替IRQ
|-- boards // 树莓派2和树莓派3的一众用例
| |-- cpuid // 通过查看CPU ID确定是树莓派的哪个版本的硬件
| |-- pi1
| |-- pi2
| | |-- HYP // ARM处于HYP超级监视者模式,级别比SVC低
| | | |-- blinker01 // 树莓派2用GPIO点亮LED灯
| | | |-- blinker02
| | | |-- blinker03
| | | |-- blinker04
| | | |-- blinker05
| | | `-- blinker06
| | |-- SVC // ARM处于9种模式之一的SVC超级管理员模式
| | | |-- blinker01
| | | |-- blinker02
| | | |-- blinker03
| | | |-- blinker04
| | | `-- blinker05
| | |-- SVC_BOOT
| | | |-- uart01 // 树莓派2串口操作
| | | `-- uart02
| | `-- bootloader07 // 树莓派2用串口引导程序运行,引导16进制程序,
| |-- pi3
| | |-- aarch32
| | `-- aarch64
| |-- piaplus
| |-- pibplus
| `-- pizero
|-- bootloader01 // 树莓派1用串口引导程序
|-- bootloader02 // 同上
|-- bootloader03 // 同上,使用bin文件
|-- bootloader04 // 同上,使用配置文件
|-- bootloader05 // 同上
|-- bootloader06 // 同上
|-- bootloader07 // 同上
|-- bssdata // 树莓派1使用.bss、.data和.text,有详细解说
|-- extest // 树莓派1使用MMU虚拟地址
|-- float02 // 树莓派1浮点数处理
|-- float03 // 树莓派1更多的浮点型处理
|-- gps_clock // 树莓派1GPS模块
|-- jtagproxy // 树莓派1使用JTAG
|-- mmu // 树莓派1 MMU虚拟地址
|-- multi00 // 树莓派1 ARM和GPU双核通信
|-- newlib0 // 树莓派1 使用newlib库
|-- spi01 // 树莓派1 操作SPI屏幕
|-- spi02 // 同上
|-- spi03 // 同上
|-- tas // 树莓派1使用tas编译工具
|-- twain // 树莓派1不同的编译器?
|-- uart01 // 树莓派1串口操作
|-- uart02 // 同上
|-- uart03 // 同上
|-- uart04 // 同上
|-- uart05 // 同上
|-- uartx01 // 同上
|-- video01 // 树莓派1用视频帧缓冲区在屏幕上输出内容
|-- zero_start // 树莓派1零地址相关的内容
`-- zlib
45 directories, 1 file
用例名 | 作用 | 备注 |
---|---|---|
01_asm_boot | 汇编boot |
jim@DESKTOP-SVP3BEM MSYS /d/1_git/cj-security-camera/src/samples/01_asm_boot
$ qemu-system-arm -M raspi2b -kernel kernel7.img -serial null -serial stdio
12345678
000114A8
......
00000448 E1A0F001
编译和运行步骤
vector.s是整个ARM程序的入口,就像其它的8051或者ARM boot程序一样;这是CPU上电后复位中断执行的第一行代码所在处。
该模块内源码参考自:https://gitee.com/mirrors_dwelch67/raspberrypi/tree/master/boards/pi2/SVC_BOOT/uart01 ,或者https://github.com/dwelch67/raspberrypi/tree/master/boards/pi2/SVC_BOOT/uart01
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。