打印

BOOTLOADER烧写问题求救!

[复制链接]
3131|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xuetian110|  楼主 | 2007-1-30 20:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大虾,我是一个刚刚接触ARM菜鸟,手里有块S3C44B0的实验板,但烧程序的时候遇到了一些问题.
首先我用JTAG烧写了BOOTLOADER.文件,然后用超级终端,烧写了一个我自己编的串口程序,地址是0XC200000,最后烧写的是4BAPP.BIN文件地址:0XC008000.但是烧完程序后按复位键,程序不运行,超级终端也看不到现象.我烧写的自己的文件是立宇泰光盘里面的程序,我用的是ASD1.2.程序如下:
#include <string.h>
#include <stdio.h>

#include "Target\44b.h"
#include "Target\44blib.h"


static int UartNum=0;
void myUart_Init(int whichuart, int baud)//对Uart进行初始化,以所需要的波特率为输入参数
{
   if(whichuart==0)
   {
        UartNum=0;
        rUFCON0=0x0;    //不使用FIFO
        rUMCON0=0x0;   //不使用自动流控制
        rULCON0=0x3; //不采用红外线传输模式,无奇偶校验位,1个停止位,8个数据位
        rUCON0=0x245;   //发送中断为电平方式,接收中断为边沿方式,禁止超时中断,允许产生错误状态中断,禁止回送模式,禁止中止信号,传输模式为中断请求模式,接收模式也为中断请求模式。
        rUBRDIV0 = ( (int)(MCLK/16./baud + 0.5) -1 ); //根据波特率计算UBRDIV0的值
    }
    else if(whichuart==1)
    {
        UartNum=1;
        rUFCON1=0x0;    
        rUMCON1=0x0;   
        rULCON1=0x3; 
        rUCON1=0x245; 
        rUBRDIV1 = ( (int)(MCLK/16./baud + 0.5) -1 );
    }
}

void myUart_SendByte(char ch)
{
    if (UartNum ==0)
    {
        if(ch=='\n')
        {
            while(!(rUTRSTAT0 & 0x2));//等待,直到发送缓冲区为空
            //Delay(10);    //超级中断的响应速度较慢 
            WrUTXH0('\r');//发送回车符
        }
        while(!(rUTRSTAT0 & 0x2)); //等待,直到发送缓冲区为空
        Delay(10);
        WrUTXH0(ch);//发送字符
       }
    else
    {
        if(ch=='\n')
        {
            while(!(rUTRSTAT1 & 0x2));
            Delay(10);    //because the slow response of hyper_terminal 
            rUTXH1='\r';
        }
        while(!(rUTRSTAT1 & 0x2));  //Wait until THR is empty.
        Delay(10);
        WrUTXH1(ch);
    }    
}    


void myUart_Send (char *str)
{
    myUart_Init(0,115200);
    while (*str)
      myUart_SendByte(*str++);
}


void Main(void)
{
    char aa;
    
    Port_Init();
    Led_Display(0xf);
    Beep(0x1);
    myUart_Send("\n*************************************************************************");
    myUart_Send("\n*                             立宇泰电子                                *");
    myUart_Send("\n*                            -UART test-                                *");
    myUart_Send("\n*                           Version 1.21                                *");    
    myUart_Send("\n*                     Email:Support@hzlitai.com.cn                      *");
    myUart_Send("\n*               UART0 Config--COM:115.2kbps,8Bit,NP,UART0               *");
    myUart_Send("\n*-----------------------------------------------------------------------*");
    Beep(0x0);
    Led_Display(0x0);
    while(1);
    
}

相关帖子

沙发
xuetian110|  楼主 | 2007-1-30 20:11 | 只看该作者

搞不明白

Port_Init();
    Led_Display(0xf);
    Beep(0x1);
    myUart_Send("\n*************************************************************************");
    myUart_Send("\n*                             立宇泰电子                                *");
    myUart_Send("\n*                            -UART test-                                *");
    myUart_Send("\n*                           Version 1.21                                *");    
    myUart_Send("\n*                     Email:Support@hzlitai.com.cn                      *");
    myUart_Send("\n*               UART0 Config--COM:115.2kbps,8Bit,NP,UART0               *");
    myUart_Send("\n*-----------------------------------------------------------------------*");
    Beep(0x0);
    Led_Display(0x0);
这里的:
Port_Init();
    Led_Display(0xf);
    Beep(0x1);
几句程序,我不知道是哪来得?头文件里面我都找遍了,也没找到他们的定义,而在程序里面随便的就用了,我有点想不明白,希望高手能指点一下.

使用特权

评论回复
板凳
xuetian110|  楼主 | 2007-1-31 08:12 | 只看该作者

怎么没人顶呢?

自己顶吧!

使用特权

评论回复
地板
xuetian110|  楼主 | 2007-1-31 12:09 | 只看该作者

还是没人

自己来吧.呵呵

使用特权

评论回复
5
5460wjh| | 2007-2-3 15:02 | 只看该作者

回复

这些程序在44blib.c中,作者将它编译为一个库文件在用44blib.alf,这些在44blib.h中有子函数的声明。自己好好看看!

使用特权

评论回复
6
fish1983| | 2007-2-3 15:04 | 只看该作者

需要在bootloader中

需要在bootloader中输入地址让它运行吧?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

101

帖子

0

粉丝