关于u-boot在tq2440上面移植的总体思路和注意事项
2013-05-17 12:40
281 查看
总的思路:
建立目录:
1.增加board里面的目录,和configs里面的*.h,修改makefile
2.修改board里面目录里的文件,包括文件名和makefile;修改cpu目录里面的u-boot.lds。
3.编译
------------------------
修改中断,时钟和ram配置
1.修改start.s里面的中断代码
2修改start.s里面的时钟入口,并配置堆栈
3.建立clock_init函数,建立时钟,并去掉原有的board_init里面的时钟部分。
4.通过speed.c里面配置get_PLLCLK,get_HCLK,get_PCLK。
5.修改lowleve_init.s里面的ram寄存器
6.修改机器码
7.将board目录里面的TEXT_BASE修改,并注释掉start.s里面的bl cpu_init_crit
8,测试运行
------------------------
增加nand启动
1.建立nand.c支持nand驱动,并编进makefile
2.修改config里面的*.h,支持nand启动
3.在board里面增加nand读写函数
4.修改start.s,启动bl copycode2ram和bl cpu_init_crit
5.还原TEXT_BASE
------------------------
注意事项:
1.在刚得到源码的时候,应该编译一遍,以确定源码和编译器都正常
2.增加的文件一定要记得编入makefile。
3.可以通过make u-boot.dis从而得到反汇编文档,用来对比。
4.text_base在ram下和在nand下地址不一样。
5.start.s默认的配置是在ram下运行
6.对于新增加的文件,要考虑是否放置arm\920t\u-boot.lds里面,尤其是对于汇编文件和start.s直接连接的c文件。因为如果不手动添加进去,有可能进不了前4K。那么就无法启动。
建立目录:
1.增加board里面的目录,和configs里面的*.h,修改makefile
2.修改board里面目录里的文件,包括文件名和makefile;修改cpu目录里面的u-boot.lds。
3.编译
------------------------
修改中断,时钟和ram配置
1.修改start.s里面的中断代码
2修改start.s里面的时钟入口,并配置堆栈
3.建立clock_init函数,建立时钟,并去掉原有的board_init里面的时钟部分。
4.通过speed.c里面配置get_PLLCLK,get_HCLK,get_PCLK。
5.修改lowleve_init.s里面的ram寄存器
6.修改机器码
7.将board目录里面的TEXT_BASE修改,并注释掉start.s里面的bl cpu_init_crit
8,测试运行
------------------------
增加nand启动
1.建立nand.c支持nand驱动,并编进makefile
2.修改config里面的*.h,支持nand启动
3.在board里面增加nand读写函数
4.修改start.s,启动bl copycode2ram和bl cpu_init_crit
5.还原TEXT_BASE
------------------------
注意事项:
1.在刚得到源码的时候,应该编译一遍,以确定源码和编译器都正常
2.增加的文件一定要记得编入makefile。
3.可以通过make u-boot.dis从而得到反汇编文档,用来对比。
4.text_base在ram下和在nand下地址不一样。
5.start.s默认的配置是在ram下运行
6.对于新增加的文件,要考虑是否放置arm\920t\u-boot.lds里面,尤其是对于汇编文件和start.s直接连接的c文件。因为如果不手动添加进去,有可能进不了前4K。那么就无法启动。
相关文章推荐
- 关于移植工程注意事项以及遇到下载不成功查找问题思路
- 关于文章“cocos2dx移植android平台-我的血泪史”需要注意事项
- 关于spring boot打包及其注意事项
- 关于文章“cocos2dx移植android平台-我的血泪史”需要注意事项
- 关于Qt for Android的移植需要注意的事项
- 关于移植u_boot添加nandflash时 env_flash.c文件的错误更改
- 关于VS2010工程各种路径注意事项汇总
- 关于使用AlarmManager的注意事项
- 关于Trojan.DL.Win32.Autorun类病毒的杀毒操作注意事项
- 关于docker几个需要注意的事项
- 【笔记】关于android中shape使用的注意事项
- 关于U盾使用的一些注意事项
- 关于Azure存储账户中存储虚拟机VHD文件的注意事项
- 关于tag值使用及注意事项
- u-boot-2011.03在TQ2440上的移植(11)--支持USB下载
- 关于本地缓存localstorage与sessionStorage 数组 (array)字符串(string) 对象(object)的存储技巧和注意事项
- 关于phpcms2008 内部递增标变量 $n 使用时的注意事项
- 关于block使用的5点注意事项
- 关于rescan-scsi-bus.sh脚本的来历和使用注意事项
- 关于使用iar for 51为cc2540生成hex文件的注意事项