华邦新唐颖特新的个人空间 https://www.eechina.com/space-uid-140263.html [收藏] [复制] [分享] [RSS]

博客

u-boot在nuc972平台上的移植过程(启动篇)

已有 926 次阅读2018-12-15 11:31 |个人分类:MCU


写在前面
这个想法最初是来自于一个叫x_project的项目,关于它的介绍和主页可参见下面两个链接,


x_project介绍: http://www.wowotech.net/forum/viewtopic.php?id=2 
x_project主页: http://www.wowotech.net/sort/x_project


这位技术牛人的博客有多可以学习的东西。


使用git和github
关于git和github的介绍网上有很多,按照x_project里面的介绍,创建github账号,克隆最新的u-boot主线。关于git下面链接的文档很值得一看:


https://git-scm.com/book/zh/v1/%E8%B5%B7%E6%AD%A5


移植编译过程中遇到的问题
基本上按照x_project中关于u-boot的移植过程的描述做,遇到编译问题兵来将挡水来土掩,这里列举几个:


在板子config.h文件中不要使用//这样的注释,不然会被加到链接脚本里面导致链接报错;
在前期没有串口输出调试的时候可以利用设置GPIO点灯调试;
搞清楚u-boot在板子上的加载地址并和链接地址保持一致(CONFIG_SYS_TEXT_BASE);
要使用较新的arm-gcc编译器。
现在的状态
相比x_project在移植过程中最大的有利条件就是有份能跑的u-boot版本,目前只是将它迁移到u-boot的最新版本,很多问题多可以到那份code里面去找到答案。


目前已经将串口输出和nand的支持成功的移植进去并跑起来了,可以参见我创建的github项目如下链接:


https://github.com/nuc97xx


你可以克隆它然后在build目录下执行make命令既可,这可能还需要你修改下build目录下makefile文件中指定的编译器路径,然后在板子上原有的u-boot里用tftp命令将编译生成的u-boot.bin加载到0x800000地址上如果跳转执行,完整的操作过程如下:






可以看到它成功的运行起来了,然后我们可以输入help命令试试。


后续
有了串口输出和nand驱动后最基本的条件就有了,后续还想继续来完善它将要做如下几个方面:


移植添加网卡的支持
移植添加lcd的支持
添加读取nand上的图片文件并在lcd上加载显示作为boot logo的功能
添加在u-boot时读取U盘文件进行系统的升级或网络升级
等等我还没有想到的实用功能
一个人的精力总是有限的,可能它的进度会很慢又或者会因为某些原因而终止了,所以欢迎有精力和同样抱着学习态度的童鞋一起加入进来往上面提交你的代码。
想了解更多相关知识,请联系颖特新科技—覃小姐 Q q755060328  0755-82591179

路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
返回顶部