zynq 按照传统的Linux开发模式制作系统

参考资料

xilinx wiki: https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/460653138/Xilinx+Open+Source+Linux

前置知识
zynq启动流程 (UG585,第六章)
![image-20241114220853526](./zynq Linux启动.assets/image-20241114220853526.png)

BootRom
BootRom为一块只读存储器,里面程序一般出厂前或者流片前写死的,它主要负责从外部存储设备中读取启动镜像。(Ps:部分开发板引入了引脚启动机制,通过拨码开关,控制引导镜像的存储介质,BootRom也会根据引脚状态确定要引导镜像的位置)

BootRom从外部存储设备读取启动镜像后,通常将其加载到OCM中。

BootRom支持文件系统访问,支持FAT32,FAT16文件系统

![image-20241114221030402](./zynq Linux启动.assets/image-20241114221030402.png)

BootROM负责:
上电复位以后,PS端即开始进行配置。在不使用JTAG的情况下,ARM将在片上的BootROM中开 始执行代码。BootROM中的代码对NAND、NOR、Quad-SPI、SD与PCAP的基本外设控制器进行 初始化,使得ARM核可以访问、使用这些外设。(而DDR等其他外设将在阶段1或者之后进行初始 化。)

BootROM读取MIO[2..8]的引脚设置来确定启动设备,将选定设备的头192Kbyte内容,也就是 FSBL,复制到OCM中,并将控制权交给FSBL。 FSBL启动时可以使用整块256Kb的OCM,当FSBL开始运行后,器件就正式由由用户控制了。

对于SD卡启动流程
![image-20241115234753265](./zynq Linux启动.assets/image-20241115234753265.png)

懒得重新写了,直接看github吧GitHub

posted @   IDLE已死  阅读(55)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek-R1本地部署如何选择适合你的版本?看这里
· 开源的 DeepSeek-R1「GitHub 热点速览」
· 传国玉玺易主,ai.com竟然跳转到国产AI
· 揭秘 Sdcb Chats 如何解析 DeepSeek-R1 思维链
· 自己如何在本地电脑从零搭建DeepSeek!手把手教学,快来看看! (建议收藏)
点击右上角即可分享
微信分享提示