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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek-R1本地部署如何选择适合你的版本?看这里
· 开源的 DeepSeek-R1「GitHub 热点速览」
· 传国玉玺易主,ai.com竟然跳转到国产AI
· 揭秘 Sdcb Chats 如何解析 DeepSeek-R1 思维链
· 自己如何在本地电脑从零搭建DeepSeek!手把手教学,快来看看! (建议收藏)