主题 : 使用vivi下载裸奔和启动代码的问题。 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 60991
精华: 0
发帖: 8
金钱: 40 两
威望: 8 点
综合积分: 16 分
注册时间: 2011-12-20
最后登录: 2012-09-12
楼主  发表于: 2012-01-27 23:06

 使用vivi下载裸奔和启动代码的问题。

一个很简单的LED闪烁的程序,想通过nor flash上的VIVI下载到nand的0地址处去运行。
编译出来代码只有大小250B。 通过VIVI的 【a】【v】选项,都写失败,第一次会说文件长度太长 FAIL,再尝试下载,就不会反映一直等待数据。
(下test2440,uboot,稍微大点的文件都成功下过)。
简单点,第一就是想请教下各位,如何使用VIVI下裸机程序?

最后我实在没辙了,就用nand里的uboot,用tftp命令,把裸机程序下在内存里。然后用命令写到nand的0地址处。 当然也破坏uboot了。重启,LED程序跑起来没问题。

还有第二个请教的问题是:就简单的裸机程序,启动代码不用设置时钟MPLL,屏蔽中断,配置BWSCON这些吗? 只需要关闭WDTCON就行了吗?
显然我是没找到学习途经,弄了一个月uboot,连裸奔都不会。。。
现在来求教大家,请大家指点一下。。。 先谢谢了。
级别: 新手上路
UID: 60991
精华: 0
发帖: 8
金钱: 40 两
威望: 8 点
综合积分: 16 分
注册时间: 2011-12-20
最后登录: 2012-09-12
1楼  发表于: 2012-01-28 11:47
--------------------------DNW-------------------------------
file name : ../../mycodes/bootstart/boot.bin
file size : 674 bytes
Writing data...
100%     684 bytes     OK
----------------------------------------------------------------

------------------------minicom----------------------------
[v] Download vivi
[k] Download linux kernel
[y] Download root_yaffs image
[a] Absolute User Application
[n] Download Nboot for WinCE
[l] Download WinCE boot-logo
[w] Download WinCE NK.bin
[d] Download & Run
[z] Download zImage into RAM                                                    
[g] Boot linux from RAM                                                        
[f] Format the nand flash                                                      
Boot the system                                                            
[s] Set the boot parameters                                                    
Backup NAND Flash to HOST through USB(upload)                              
[r] Restore NAND Flash from HOST through USB                                    
[q] Goto shell of vivi                                                          
Version: 1138-2K    
                                                        
Enter your selection: a                                                        
USB host is connected. Waiting a download.                                      
                                                                                
Now, Downloading [ADDRESS:30000000h,TOTAL:16843436]                            
RECEIVED FILE SIZE:       0
-------------------------------------------------------------------------------------

这是一种下不了的情况,还有时候就是说 文件太长..FAIL.

大家应该也有人在linux下写裸机程序的吧,
分享下方法吗...
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
2楼  发表于: 2012-01-28 14:00
还有第二个请教的问题是:就简单的裸机程序,启动代码不用设置时钟MPLL,屏蔽中断,配置BWSCON这些吗? 只需要关闭WDTCON就行了吗?

简单的说,
设置MPLL是为了正确配置CPU的频率;
屏蔽中断是为了确保硬件能正常上电初始化;
配置BWSCON是为了初始化SDRAM Controller,为代码在SDRAM中运行提供条件。

学习没有什么捷径,u-boot本身是一个很好的参考资料,只有真正理解每一行代码才能掌握硬件编程。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."