嵌入式爱好者

查看: 6152|回复: 7

请问仿真飞凌嵌入式官方LED裸奔程序无反映是什么原因?

[复制链接]

0

主题

0

帖子

9

积分

扫一扫,手机访问本帖
发表于 2011-11-23 10:43:39 | 显示全部楼层 |阅读模式
我安装飞凌官方的教程安装RVDS2.2成功,编译飞凌官方的LED裸奔程序成功,用AXD的Loader Image命令装载编译好的文件成功,AXD连接Jlink运行显示正常,就是LED灯无任何反映。运行网上找的汇编程序,能正常仿真LED,说明板子上的LED灯正常。这肯定是官方的LED程序有问题。可我看不出来。我把两个程序贴上,请飞凌官方和高手给一个运行飞凌官方程序的方法。谢谢!

正常程序:

s3c6410.inc文件内容:

;GPM
GPMCON   EQU    0x7F008820
GPMDAT   EQU    0x7F008824
GPMPUD   EQU    0x7F008828

;GPG
GPGCON   EQU    0X7F0080C0
GPGDAT         EQU        0X7F0080C4
GPGPUD         EQU    0X7F0080C8

;WT
WTCON         EQU        0x7E004000
        END

start.s文件内容:

    INCLUDE     s3c6410.inc
        AREA |C$$code|, CODE, READONLY
       
        EXPORT        StartUp  ;声明全局变量
        ENTRY
StartUp
        ;关闭看门狗
        ldr r0,=WTCON
        mov r1,#0
        str r1,[r0]
       
        ;设置控制寄存器
        ldr r0,=GPMCON
        ldr r1,=0x00011111        ;设置为输出01
        str r1,[r0]                  ;[r0]=r1,将r1中的字数据保存在[r0]所指的内存地址中
       
        ;关闭上下拉电阻
        ldr r0,=GPMPUD
        mov r1,#0
        str r1,[r0]
       
show       
        ;设置数据位
        ldr r0,=GPMDAT
        mov r1,#0x0000000a
        str r1,[r0]
       
        bl         delay
        bl         delay
        bl        delay
        bl  delay
       
        ldr r0,=GPMDAT
        mov r1,#0x00000005
        str r1,[r0]
       
        bl         delay
        bl         delay
        bl         delay
        bl  delay
       
        b         show       
        ;GPG
        ;设置控制寄存器
        ;ldr r0,=GPGCON  ;4
        ;ldr r1,=0x00010000
        ;tr r1,[r0]
       
        ;ldr r0,=GPGPUD
        ;mov r1,#0
        ;str r1,[r0]
       
        ;ldr r0,=GPGDAT
        ;mov r1,#0x0000004
        ;str r1,[r0]
       
        b        .       
;loop
;        b loop

delay    ;即循环1000*100次
    MOV R0,#1000
0
    MOV R1,#1000
1
    SUBS R1,R1,#1         ;r1-1
    BNE %B1                 ;如果r1不等于0
    SUBS R0,R0,#1         ;如果r1=0,即1000减到为0,r0-1,就是100-1
    BNE %B0                 ;如果r0不等于0
     
    MOV PC,LR

THEEND
        END

飞凌官方LED程序(LED无变化):

init.s文件内容:

  IMPORT      Main
   
        AREA |C$$code|, CODE, READONLY
        global                start

start                            
    bl        Main
   
    END

main.c文件内容:

#define rGPMCON          (*(volatile unsigned *)(0x7F008820))
#define rGPMDAT          (*(volatile unsigned *)(0x7F008824))
#define rGPMPUD          (*(volatile unsigned *)(0x7F008828))



void msDelay(int time)
{
            volatile unsigned int i,j;
            for(i = 0; i < 2000000; i++)
                    for(j=0; j<time; j++);
}


void GPIO_Init(void)
{
        rGPMCON  = 0x11111;
    rGPMPUD  = 0x00;
    rGPMDAT  = 0X1F;
}

void LedTest(void)
{
        volatile unsigned int i;
        while (1)
        {
                for(i=0; i<4; i++)
                {
                        rGPMDAT  = ~(1<<i);
                        msDelay(10);
                }

        }
}
void Main(void)
{
        GPIO_Init();
        LedTest();
}
回复

使用道具 举报

0

主题

0

帖子

9

积分

 楼主| 发表于 2011-11-23 12:38:34 | 显示全部楼层
飞凌的支持不能回答该问题吗?

0

主题

0

帖子

9

积分

 楼主| 发表于 2011-11-23 13:31:55 | 显示全部楼层
顶一下,期望解答?

1

主题

3670

帖子

4181

积分

发表于 2011-11-23 13:33:17 | 显示全部楼层
检查一下对寄存器的操作,地址是否正确
技术支持电话:0312-3119192
技术支持邮箱:Android@forlinx.com

0

主题

0

帖子

9

积分

 楼主| 发表于 2011-11-23 13:43:12 | 显示全部楼层
这是官方逻辑视频提供的程序,我对比了下,对寄存器的操作没有错。

0

主题

0

帖子

9

积分

 楼主| 发表于 2011-11-23 13:44:46 | 显示全部楼层
所以感觉很迷惑,官方裸机视频也没有看到实际运行情况。AXD的表现与官方教程一样,就是LED能不亮。

0

主题

0

帖子

0

积分

发表于 2011-11-25 12:39:32 | 显示全部楼层
是不是设置什么的有问题呢,好好检查一下吧
不得了 该用户已被删除
发表于 2012-5-8 21:44:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-12-28 17:48

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表