EasyARM1138 使用工程模板创建自己的工程

2068阅读 0评论2009-05-09 dolinux
分类:

   最近刚开始学习ARM1138,今天终于在板子上成功调试了自己的第一个程序,感觉比较爽。顺便记下我的经验。
   对于像我一样的新手来说,初次接触ARM感觉他总是很神秘,好像无法前进。不过经过这几天的学习,总算是对这个东西有了一点点了解。刚开始我们应该先看看GPIO相关的一些东西,对这个先有一点初步的印象,不一定非得把它搞透。刚开始只要知道他就是板子中的一个模块,可以负责输入输出的控制,我们靠一组寄存器实现对GPIO的控制。当然我们对这组寄存器的功能和控制方法就要有相应的了解了。
比如说IO0SET = 0X000000FF ,功能就是使作为GPIO功能的P0.0~P0.7输出高电平;IO0CLR = 0X00000080,功能就是使得P0.7输出低电平。类似这些的东西我们可以在学习过程中逐步深入(至少我目前是这么认为的)。了解了这些东西就可以看懂一些简单的程序了。
   比如在1138上写个LED点亮的程序。
   首先打开IAR 集成开发环境。选择File|Open|Workspace,这里我们选择采用工程模板,也就是开发板光盘中提供的模板,这样我们可以省略自己手动建立工程项目的繁琐程序。如下图所示:
 
      然后在main.c中添加你的代码如下:

#include  "systemInit.h"


//  定义LED
#define  LED_PERIPH             SYSCTL_PERIPH_GPIOG
#define  LED_PORT               GPIO_PORTG_BASE
#define  LED_PIN                GPIO_PIN_2


//  主函数(程序入口)
int main(void)
{
    jtagWait();                                        //  防止JTAG失效,重要!
    clockInit();                                       //  时钟初始化:晶振,6MHz

    SysCtlPeriEnable(LED_PERIPH);                      //  使能LED所在的GPIO端口
    GPIOPinTypeOut(LED_PORT, LED_PIN);                 //  设置LED所在管脚为输出

    for (;;)
    {
        GPIOPinWrite(LED_PORT, LED_PIN, 0x00);              //  点亮LED
        SysCtlDelay(150 * (TheSysClock / 3000));            //  延时约150ms

        GPIOPinWrite(LED_PORT, LED_PIN, 0xFF);              //  熄灭LED
        SysCtlDelay(850 * (TheSysClock / 3000));            //  延时约850ms
    }
}

 

然后选择Project|Debug,OK!至此我们就完成了。稍待片刻你就可以看到1138上的一个LED灯闪烁起来了。

 

上一篇:gets函数的漏洞
下一篇:PCB 简介