主题 : 可以用串口下载uboot来运行吗?要调试uboot 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 9507
精华: 0
发帖: 4
金钱: 25 两
威望: 8 点
综合积分: 8 分
注册时间: 2009-10-02
最后登录: 2015-09-04
楼主  发表于: 2010-08-06 16:38

 可以用串口下载uboot来运行吗?要调试uboot

我的开发板是mini2440,我电脑没有并口,要更新u-boot很不方便。可不可以用串口将.bin下载到指定内存比如0x33000000,然后运行这个地址的文件。就像u-boot的go命令那样。

我初步的设计了一个串口程序去下载一个LED_ON.bin开灯,通过xmodem协议将.bin文件下载到内存为0x33000000的位置,我验证过了,可以成功下载,但是我不知道该如何去执行那个位置的程序。

我也看过了U-BOOT的go命令的实现,大概是这样的,
unsigned int addr = 0x33000000;
void (*fc)(void);

fc = (void *)addr ;
fc();
我也试过用汇编来写
ldr pc, =0x33000000;
或者PC值为当前指令的下两条,
ldr pc,=0x33000008;
我都试过了,好像那个内存是非法的,根本不会调用那里的程序,只要运行那里的程序,然后就自动返回到之前的串口下载程序。
串口程序固化到nor flash 地址为0;运行连接地址为0X30000000;
我已经弄了好久,真的不知道该怎么进行下去,特向版主求救,感觉这个论坛要比那些大论坛更有人性,在此我说一声 “谢谢!”
[ 此帖被w3571604在2010-08-06 17:06重新编辑 ]
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
1楼  发表于: 2010-08-06 17:12
使用supervivi的"a"功能直接把u-boot烧写到nand就可以调试运行了,jtag在此没有用。
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 新手上路
UID: 9507
精华: 0
发帖: 4
金钱: 25 两
威望: 8 点
综合积分: 8 分
注册时间: 2009-10-02
最后登录: 2015-09-04
2楼  发表于: 2010-08-08 12:57
感谢版主的帮助,但是我想自己编写这个程序,功能也就一个下载和运行两个功能,剩下的复杂功能交给被下载的程序去完成,比如下载UBOOT,然后执行它,再然后就自己将自己烧写到flash里面。