主题 : mini2440串口控制台程序(裸机)下调试问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 34156
精华: 0
发帖: 38
金钱: 200 两
威望: 40 点
综合积分: 76 分
注册时间: 2010-12-11
最后登录: 2012-12-07
楼主  发表于: 2011-04-03 13:40

 mini2440串口控制台程序(裸机)下调试问题

先上程序:
#define GLOBAL_CLK

#include"def.h"
#include"2440addr.h"
#include"2440lib.h"
#include"2440slib.h"



void Main()
{    
    char buffer[256];
    ChangeMPllValue(92,1,1);
    Port_Init();
    
    Uart_Init(0,115200);
    
    Uart_Select(0);
    
                     MMU_DisableICache();
                     MMU_DisableDCache();
    
    Delay(0);
    Uart_Printf("Uart Test:\n");
    while(1){
        Uart_Printf("Please press enter after input a string!\n");
        Uart_GetString(buffer);
        Uart_Printf("Your Inputing is:%s\r\n",buffer);
        Uart_Printf("PCLK=%d\n",PCLK);
        Uart_Printf("FCLK=%d\n",FCLK);
        Uart_Printf("UCLK=%d\n",UCLK);
        
    }
}
由于是初起步,通过单个的程序测试来进步。这个程序能够在Hjtag+AXD下载到SDRAM下调试成功,也能够直接烧写到NorFlash中运行,就是下载到Nand中却不能运行了,经过测试,我发现,程序在从启动汇编代码:bl Main之后进入Main()后就无情的跑飞了,因为在Main()中如果只点LED的话,是可以成功的,但只要在点灯操作之后******加上串口相关的代码,连灯都点不亮了。如果是串口程序的问题的话,也应该点亮LED再死啊。这里不明白。
这个程序编译完是大于4K的,但是我用的友善原2440init.s作为启动代码,本身就有Nand COPY到RAM的功能 ,我在汇编中通过一步步点灯测试,代码复制过程 是完成了的。
因为通常情况下程序都要在Nandflash中能够运行才算成功。呵呵,我这儿过不去了,请求大师们帮忙啊。
简单的说,也就是在NAndflash中的串口控制台程序运行不了,开机上电后,PC终端没有反应。而友善提供 的测试程序就可以。比较一下,我的程序和他的也没什么区别啊。只不过他实现了更多的功能。
级别: 新手上路
UID: 34156
精华: 0
发帖: 38
金钱: 200 两
威望: 40 点
综合积分: 76 分
注册时间: 2010-12-11
最后登录: 2012-12-07
1楼  发表于: 2011-04-03 13:41
求大侠们速来帮帮小弟啊。哭等。。。。
级别: 新手上路
UID: 48926
精华: 0
发帖: 6
金钱: 30 两
威望: 6 点
综合积分: 12 分
注册时间: 2011-06-06
最后登录: 2011-08-01
2楼  发表于: 2011-06-13 22:53
up up
人在走路时,转弯最重要
级别: 新手上路
UID: 38520
精华: 0
发帖: 19
金钱: 95 两
威望: 19 点
综合积分: 38 分
注册时间: 2011-02-26
最后登录: 2013-01-09
3楼  发表于: 2012-12-29 10:26

 回 楼主(licong_0108) 的帖子

友善提供的串口测试确定能用?