主要观点:
- 正在为基于德州仪器 OMAPL138 的定制硬件进行主板启动工作,介绍将分三部分记录工作过程。
- 第一部分聚焦早期启动的第一步,以 TMDSLCDK138 为参考,使用 U-boot 作为启动加载器,遇到并解决了一些问题。
- 硬件方面是新修订的定制板,配备新 NAND 闪存和 1Gbit 移动低功耗 DDR SDRAM。
- 详细描述了启动过程的三个阶段,以及在启动过程中遇到的从 NAND 闪存读取卡住等问题及解决过程。
关键信息:
- 启动加载器:ROM Boot Loader 初始化内部内存并配置另一个控制器加载 Secondary Program Loader(SPL),SPL 进一步初始化系统,最终加载 U-boot 并启动。
- 调试过程:通过使用 GPIO 验证 SPL 执行,设置 UART 模块以获取更多调试信息,研究 NAND 闪存驱动的实现及遇到的奇怪问题,最终发现 mDDR2 内存配置是问题根源。
重要细节:
- U-boot 添加 AIS 头文件,不同启动模式如 UART 模式用于开发。
- 调试时利用可用的 GPIO 9,通过特定代码控制其输出状态以验证 SPL 执行。
- 设置 UART 模块需配置引脚复用、使能电源域、注册设备等。
- NAND 闪存驱动的相关结构及回调函数,以及在内存布局和链接脚本中的位置。
- 链接脚本中对 SPL 在不同内存区域的配置。
总结:通过对基于 OMAPL138 的定制硬件主板启动工作的记录,详细阐述了各个阶段的过程及遇到的问题和解决方法,最终找到 mDDR2 内存配置是导致从 NAND 闪存读取卡住的原因,为后续工作打下基础。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。