主题 : 求高手给个正点一些的2440裸机程序! 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 60377
精华: 0
发帖: 7
金钱: 35 两
威望: 7 点
贡献值: 0 点
综合积分: 14 分
注册时间: 2011-12-09
最后登录: 2012-02-15
楼主  发表于: 2011-12-09 11:07

 求高手给个正点一些的2440裸机程序!

我买的是mini2440开发板,里面讲的裸机程序很少,而且程序也写的不是很明了,想求各位路过的高手给点方便裸机开发的程序!(附件中是我开发板上带的裸机程序)
级别: 新手上路
UID: 92746
精华: 0
发帖: 1
金钱: 5 两
威望: 1 点
贡献值: 0 点
综合积分: 2 分
注册时间: 2013-06-06
最后登录: 2013-06-06
1楼  发表于: 2013-06-06 18:23
找啊!找的难啊!
级别: 新手上路
UID: 92852
精华: 0
发帖: 2
金钱: 10 两
威望: 2 点
贡献值: 0 点
综合积分: 4 分
注册时间: 2013-06-08
最后登录: 2013-06-08
2楼  发表于: 2013-06-08 14:31
mini2440 串口通信 连续发送字符 发送一个字符小灯闪烁一下 用交叉编译连编译一下就可以了
三个文件 start.s uart.c makefile
start.s:
.global start
start:
    b uart_run

uart.c:

#define WrUTXH0(ch) (*(volatile unsigned char *)0x50000020)=(unsigned char)(ch)


void delay(int c)
{
    for(;c>0;c--);
}
void led_ops(int c)
{

    if(c==1)
    {
    volatile int *p=(int *)0x56000014;
     *p=(1<<5);
    }else
    {
    volatile int *p=(int *)0x56000014;
    *p=0;
    }
    delay(0xa00000);
}
void led_init(){
    volatile int *p=(int *)0x56000010;
    *p=(1<<10);
     p=(int *)0x56000018;
     *p=0;
}
#if 1
void uart_init()
{
    led_init();
    volatile int *p=(int *)0x56000070;
    *p=0x02faaa;

    p=(int *)0x56000078;
    *p=0x7ff;

    p=(int *)0x50000000;
    *p=0x3;

    p=(int *)0x50000004;
    *p=0x245;

    p=(int *)0x50000008;
    *p=0;

    p=(int *)0x5000000c;
    *p=0;

    p=(int *)0x50000028;
    *p= ( (int)(50000000/16./115200+0.5) -1 );
    int i;
     for(i=0;i<1000;i++);
}
#endif




void putci(char c){
        volatile int  *p=(int *)0x50000023;
        volatile int  *q=(int *)0x50000010;
        while(!(*q&0x2));
        WrUTXH0(c);

}


void uart_run(){
    uart_init();
    int i=0;
    while(1)
    {
    led_ops(0);
    putci('a');
    led_ops(1);
    putci('A');
    led_ops(0);
    }
}


makefile:
uarts.bin:uart
    arm-linux-objcopy -O binary uart uarts.bin
uart:start.o uart.o
    arm-linux-gcc -e start -nostartfiles -nostdlib start.o uart.o -o uart
uart.o:uart.c
    arm-linux-gcc -c uart.c
start.o:start.s
    arm-linux-gcc -c start.s
clean:
    rm uart.o start.o uart uart.bin
级别: 新手上路
UID: 85742
精华: 0
发帖: 25
金钱: 125 两
威望: 25 点
贡献值: 0 点
综合积分: 50 分
注册时间: 2013-01-08
最后登录: 2014-02-26
3楼  发表于: 2014-01-01 14:14

 回 2楼(oxffef) 的帖子

大侠有MDK环境下ADC程序吗?