概要
RK3588/3588S/3582这三块芯片的寄存器应该是相同的,可以看一份TRM手册来进行编程。
为什么要玩裸机开发?
RK3588 采用AARCH64架构集成了四核Cortex-A76和四核Cortex-A55。
裸机开发,可以学习AARCH64相关的ISA、mmu、cache、exception,通过实践的形式去掌握知识。
裸机开发的路线图
1. 搭建裸机开发硬件环境,使用Jlink连接芯片
2. 搭建裸机开发编译环境,编写裸机代码
3. 了解RK3588的启动流程,生成属于自己的镜像
4. 在EL3下实现RK3588 Helloworld
5. 利用官方的ATF(BL31)在EL2下实现Helloworld
6. 测试PSCI接口,打开其他CPU
7. 裸机代码实现EL2到EL1异常切换
8. 裸机代码在EL1下实现MMU恒等映射,并使能Cache
9. 开发PL330 DMA驱动,并测试Cache的功能
10. 不服跑个分,移植跑分代码
11. 开发GIC600驱动,实现中断处理
12. 移植时钟驱动,让3588跑的快一些
13. PCIe EP驱动开发1---拿官方固件测试EP功能
14. 开发EP 建链功能
15. 开发EP atu地址映射
16. 开发EP PCIe DMA驱动
接下来按照上面慢慢写,代码开源,欢迎一起瞎捣鼓。