概要

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驱动

接下来按照上面慢慢写,代码开源,欢迎一起瞎捣鼓。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐