chenfengmcu 发表于 2010-12-30 09:32:38

关于AT91RM9200调试串口无输出,请大家看看错在哪儿了?

程序如下,

点击此处下载 ourdev_608017WI4NK0.rar(文件大小:145K) (原文件名:bootloader.rar)

chenfengmcu 发表于 2010-12-30 10:25:06

自已顶一下

代码如下

#include "AT91RM9200.h"
#include "lib_AT91RM9200.h"

void AT91F_DBGU_Printk(char *buffer)
{
        while(*buffer != '\0')
        {
                while (!AT91F_US_TxReady((AT91PS_USART)AT91C_BASE_DBGU));
                AT91F_US_PutChar((AT91PS_USART)AT91C_BASE_DBGU, *buffer++);
        }
}

int main(void)
{
    int i;
    AT91F_DBGU_CfgPIO();

        AT91F_US_Configure (
                (AT91PS_USART) AT91C_BASE_DBGU,                         
                60000000,                                                                 
                AT91C_US_CHMODE_NORMAL | AT91C_US_PAR_NONE ,      
                115200 ,                                                                  
                0);                                                                       

        AT91F_US_EnableTx((AT91PS_USART) AT91C_BASE_DBGU);

    while(1)
        {
           AT91F_DBGU_Printk("this is test code");
           for(i=6000000;i>0;i--);
    }   
}

zzm24 发表于 2010-12-30 17:59:01

楼主也玩9200啊 多交流啊
我这边复制了楼主的 main.c 和 RM9200.s 覆盖到自己的工程是好使的(用J-Link在SDRAM上调试) 所以应该是
1.楼主的RO RW没有设置好 烧在Nor Flash跟在SDRAM上Debug RO RW是不一样
2.开发板GND没跟电脑串口GND连接 这个我之前吃过亏
3.检查硬件与连接 9200有单独的DBG 不要接到USART去了

liguangqang 发表于 2010-12-30 19:21:27

我是用芯片自带的引导程序加载到内存运行的,有时行有时不行,并且运外设时钟切换起不了作用,好像是使用低频时钟在运行。搞了好多天就是不明白,硬件是没有问题的,因为加载时是用xmodem加载的.多交流

zzm24 发表于 2010-12-30 20:52:28

之前我都是习惯从内部ROM启动 但是后来发现使能了串口接收中断后 会出现一只进入中断的情况 很郁闷 一直以为是程序问题 后来烧到Nor Flash后却一点问题都没有 从此对内部ROM产生的恐惧...很少用xmodem加载 都是山寨J-Link烧写或者Debug觉得很方便啊 楼主试试烧进Flash看看 最近弄RTT上去 总线挂TFT已经成功了
页: [1]
查看完整版本: 关于AT91RM9200调试串口无输出,请大家看看错在哪儿了?