Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1906247
  • 博文数量: 496
  • 博客积分: 12043
  • 博客等级: 上将
  • 技术积分: 4778
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-27 14:26
文章分类

全部博文(496)

文章存档

2014年(8)

2013年(4)

2012年(181)

2011年(303)

2010年(3)

分类: 嵌入式

2011-03-04 12:13:45

  开发板到了之后,用的是板子自带的bootloader、linux内核和文件系统,在上面跑了几个小程序知道流程和方法后,就想着用自已移植的这些东西了,因为既然要搞底层的东西,我想这些东西还是要学会的。

      刚开始踌躇满志,以为不会有什么困难,网上不都多得是文章吗。可实际上,下了N多资料,看了N多文章之后,下到flash中一运行,串口控制台中什么都没有,当时真有点蒙了。其实不成功,倒还没什么,关键是你想继续努力的时候,却没有方向和方法,那真的才是又浪费时间,又郁闷。

     不过还得感谢网络,文章看多了,就知道哪些可以直接close,那些可以复制下来慢慢看(我通常都是一气狂搜,一气“另存为”,最后再集中在一起看)。三五天后,终于找到了方向和方法,而且在sdram中运行,成功地在串口输出里看到了u-boot启动信息。

     第一次学做u-boot移植,综合别人的方法,总结归纳如下:
     
     1. 先不去考虑nor/nand flash启动,先让u-boot在SDARM中成功运行。
     
     2. 把那个既经典又简单又very useful的调试方法用上,那就是在程序中需要的地方加上led灯指示。
     
      (有时串口没信息,一头雾水,连自己的程序是否在运行都不知道,这里在程序开头加led的代码,最合适不过了)
      
     3. u-boot能在SDRAM中运行后,先考虑nor flash中运行(如果有nor flash的话),因为支持nor flash比支持nand flash改动少,较容易一些。SMDK2410里也是支持nor flash的,那里用的是AMD公司的。
     
     4. 能在flash 中启动后,增加nand支持,看是否能检测到nand,并在u-boot中用些nand的命令验证驱动是否有问题。
     
     5. 增加代码,让u-boot从nand启动。
     6. u-boot可是从nand启动后,增加代码,让代码能自动识别跳线的设置,从相应的flash启动。

     以上6步完成之后,关于启动方面的就完成了,如果有需要,再增加这个u-boot的其它功能,比如:网络支持、USB支持等,这些部分如果自已的开发板和SMDK2410不同的话,也是要做移植的。

     这个过程我正在进行中,已进行到第三步,前两部的具体实现过程在后面的文章中写出来,只为了自已以后用到的时候,有资料可查,不然忘了又得花时间,相当于做笔记吧。
阅读(1161) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~