Tiny210移植UBOOT 2012版之编译与移植指南
需积分: 14 20 浏览量
更新于2024-09-08
收藏 946KB PDF 举报
"tiny210 移植 2012 版 UBOOT"
在移植 2012 版 UBOOT 到 tiny210 平台时,需要解决编译 UBOOT 2012 版本时遇到的问题,包括修改部分代码和移植 SPL 的两种方法。
**移植 UBOOT 2012 版本遇到的问题**
在编译 UBOOT 2012 版本时,需要修改部分代码,例如定义 `CONFIG_SYS_INIT_SP_ADDR` 宏,以确保栈指针的正确初始化。同时,需要定义 `CONFIG_SYS_LOAD_ADDR` 宏,以确定加载地址。
`gd=(gd_t*)((CONFIG_SYS_INIT_SP_ADDR)&~0x07);` 这行代码用于初始化全局描述符表指针,确保正确的栈指针初始化。
**移植 SPL 的两种方法**
移植 SPL 有两种方法:
**方法一:使用 CONFIG_SPL_FRAMEWORK**
在 `MAKEFILE` 中添加 `CONFIG_SPL_FRAMEWORK` 变量,以便编译 `spl.c` 文件。同时,需要定义 `CONFIG_SPL_STACK` 变量,以避免编译错误。
`a.` 首先,编译 `spl.c` 文件,并将其链接到执行文件中。
`b.` 然后,添加 `CONFIG_SPL_LIBGENERIC_SUPPORT` 变量,以便编译 `string.o` 文件。
`c.` 最后,添加 `CONFIG_SPL_LIBCOMMON_SUPPORT` 变量,以便编译 `common/console.c` 文件。
**方法二:修改 spl.c 文件**
在 `spl.c` 文件中定义 `Spl_boot_device` 变量,以选择启动设备。然后,编译 `spl.c` 文件,并将其链接到执行文件中。
**低级初始化**
在 `lowlevel_init` 函数中,需要进行时钟初始化,参考裸机开发文件中的汇编时钟初始化代码。宏定义在 `arch\arm\inc` 目录下。
**时钟初始化**
在时钟初始化中,需要使用汇编代码,以确保正确的时钟初始化。
**总结**
移植 2012 版 UBOOT 到 tiny210 平台需要解决编译时遇到的问题,包括修改部分代码和移植 SPL 的两种方法。同时,需要进行低级初始化和时钟初始化,以确保正确的系统启动。
2013-10-25 上传
2023-08-04 上传
2023-08-20 上传
2024-10-08 上传
2024-10-03 上传
2023-12-24 上传
2024-01-04 上传
CallMeGavyn
- 粉丝: 5425
- 资源: 5
最新资源
- 探索AVL树算法:以Faculdade Senac Porto Alegre实践为例
- 小学语文教学新工具:创新黑板设计解析
- Minecraft服务器管理新插件ServerForms发布
- MATLAB基因网络模型代码实现及开源分享
- 全方位技术项目源码合集:***报名系统
- Phalcon框架实战案例分析
- MATLAB与Python结合实现短期电力负荷预测的DAT300项目解析
- 市场营销教学专用查询装置设计方案
- 随身WiFi高通210 MS8909设备的Root引导文件破解攻略
- 实现服务器端级联:modella与leveldb适配器的应用
- Oracle Linux安装必备依赖包清单与步骤
- Shyer项目:寻找喜欢的聊天伙伴
- MEAN堆栈入门项目: postings-app
- 在线WPS办公功能全接触及应用示例
- 新型带储订盒订书机设计文档
- VB多媒体教学演示系统源代码及技术项目资源大全