S3C6410 LED裸机程序分析

开发板连接上Jlink后,SD卡或Nandflash启动U-boot, 运行后按空格使其停在uboot状态。

此步骤是调试裸机程序的捷径,u-boot程序里实现处理器的初始化工作:时钟、串口、DRAM、Nandflash等一系列的初始化。

打开AXD,load image之后可以进行程序的调试。也可以采用release方式下载到内存中运行程序。

下面是对程序的一些简要说明: 

  1. #define rGPMCON    (*(volatile unsigned*)(0x7F008820))   
  2. #define rGPMDAT    (*(volatile unsigned*)(0x7F008824))  
  3. #define rGPMPUD    (*(volatile unsigned*)(0x7F008828))  //寄存器内存的定义  
  4. void msDelay(int time)     //延时函数  
  5. {  
  6.     volatile unsigned int i,j;  
  7.     for(i=0;i<2000000;i++)  
  8.     for(j=0;j<time;j++);  
  9. }   
  10. void GPIO_Init(void)    //GPIO的初始化,设置GPM的三个寄存器  
  11. {  
  12.     rGPMCON = 0x1111;  //配置寄存器 GPMCON的output设置值为0001,点亮LED灯就要把GPM0~3设为输出。  
  13.     rGPMPUD = 0x00;     //上拉下拉使能寄存器,此时关闭此功能。  
  14.     rGPMDAT = 0x1F;     //数据寄存器 六位,初始化,全灭LED灯。  
  15. }  
  16. void LedTest(void)  
  17. {  
  18.     volatile unsigned int i;  
  19.     while(1)  
  20.     {  
  21.         for(i=0;i<4;i++)  
  22.         {  
  23.             rGPMDAT =~(1<<i);//移位  
  24.             msDelay(10);  
  25.         }  
  26.     }  
  27. }  
  28. void Main(void)  
  29. {  
  30.     GPIO_Init();  
  31.     LedTest();  
  32. }  
永不止步步 发表于03-29 10:05 浏览65535次
分享到:

已有0条评论

暂时还没有回复哟,快来抢沙发吧

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

永不止步步
金币:67417个|学分:363741个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号