天嵌 ARM开发社区

 找回密码
 注册
查看: 4425|回复: 14

第一次编写ADS流水灯程序,就遇到问题

[复制链接]
jierenzhou 发表于 2009-6-13 12:42:03 | 显示全部楼层 |阅读模式
亚瑟王:
      安全提示:腾讯公司提醒您警惕“QQ中奖”骗局。
第一次写流水灯程序,结果编译警告:
L6305W:Image does not have an entry point 。(not specified or not set due to multiple choices)
意思我知道个大概,是说没有程序入口点
但是我不知道哪里出问题了,该怎么改?
请大侠不吝赐教!
(这个程序都是从无OS测试程序里截了一小部分出来的,语句方面该没什么问题)
附上程序:
#define rGPBCON    (*(volatile unsigned *)0x56000010) //Port B control
#define rGPBDAT    (*(volatile unsigned *)0x56000014) //Port B data
#define rGPBUP     (*(volatile unsigned *)0x56000018) //Pull-up control B

#define LED1                (1<<5)                // rGPB[5] =1 ;
#define LED2                (1<<6)                // rGPB[5] =1 ;
#define LED3                (1<<7)                // rGPB[5] =1 ;
#define LED4                (1<<8)                // rGPB[5] =1 ;

void Delay(int time)
{
unsigned int i,j;
for(i=1;i<100;i++)
  for(j=1;j<time;j++)
  ;
}

void Main()
{

rGPBUP = rGPBUP & ~0x03f0|0x03f0;                //LED[8:5] => PU En
rGPBCON = rGPBCON & ~0x3d57fc|0x3d57fc;        //LED[8:5] => OUTPUT;

while(1)
  {
  rGPBDAT = rGPBDAT & ~(LED4);
  Delay(80);
  rGPBDAT = rGPBDAT & ~(LED3);
  Delay(80);
  rGPBDAT = rGPBDAT & ~(LED2);
  Delay(80);
  rGPBDAT = rGPBDAT & ~(LED1);
  Delay(80);
  }
}


看了这么久别人的程序,第一次自己动手写,没有思路。别笑我啊。
 楼主| jierenzhou 发表于 2009-6-13 20:04:08 | 显示全部楼层
自己来回答:摸索了半天,才知道原来是DeBugRel Setting 的设置不对,ARM Linker 那里设置的起始地址不对。
gavin_li 发表于 2009-6-24 10:22:01 | 显示全部楼层
恩,你的程序写得很简洁。想问一下你的启动代码是用板子自带光盘里的吗?
gavin_li 发表于 2009-6-24 22:43:02 | 显示全部楼层
/*U8 idx;
                     
                Uart_Printf("\nPlease select function : \n");          
   $?
                for(i=0; CmdTip[i].fun!=0; i++)      
                        Uart_Printf("%d : %s\n", i, CmdTip[i].tip);         
                idx = Uart_GetIntNum_GJ() ;             
                if(idx<i)      
                {      
                        (*CmdTip[idx].fun)();         
                        Delay(20);         
                        Uart_Init( 0,115200 );         
                }*/             
                     
                for (k = 1; k < 5; k++){      
                   switch(k){      
            /*case 1:rGPBDAT=0x56000100;break;
            case 2:rGPBDAT=0x56000080;break;
            case 3:rGPBDAT=0x56000040;break;
            case 4:rGPBDAT=0x56000020;break;*/
            case 1:rGPBDAT=0x560000E0;break;
            case 2:rGPBDAT=0x56000160;break;
            case 3:rGPBDAT=0x560001A0;break;
            case 4:rGPBDAT=0x560001C0;break;
            }
            //for (i = 0; i < 800000; i++);//延时
            Delay(600);         
        }
这是我改的程序,也可以实现哦。呵呵。
gavin_li 发表于 2009-6-24 22:45:25 | 显示全部楼层
我是改光盘里的main.c里面的while(1)循环程序。楼上的拷了可以编译但是调试不行。好像是CPU的频率没设置怎么的。老是亮,我设置了400M频率可是程序也不对。奇怪。后来加了时钟定时器,也不行。更奇怪
imb1900220 发表于 2009-7-14 20:59:02 | 显示全部楼层
这个代码能在板子上直接运行不?不知道楼主试过没有啊

我也整过一个小代码,能编译过,但是下载的时候不知道怎么搞的,用SJF2440下载的,重启后也没反映,
lzm211 发表于 2010-1-9 20:10:12 | 显示全部楼层
同关注ING...........
dongtengfei 发表于 2010-1-13 22:47:52 | 显示全部楼层
楼上大哥的问题是什么解决,RO Base 是0x30000000 RW怎么设置的?我也是想单独控制IO口 但是就是不行,也不晓得是怎么回事 ,程序和你差不多。
wser321456 发表于 2010-3-24 16:11:26 | 显示全部楼层
jierenzhou  能不能把整个程序压缩传上来(包括2440init.s等)
bayji 发表于 2010-5-16 18:12:19 | 显示全部楼层
好东西 来参考下
feiniao0120 发表于 2010-5-16 22:40:36 | 显示全部楼层
准备开始学习ADS,看看!:)
bitwei 发表于 2010-5-17 14:51:04 | 显示全部楼层
RW不用设置吧
sx050 发表于 2010-5-18 00:24:38 | 显示全部楼层
准备开始学习ADS
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-7 02:49 , Processed in 1.031244 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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