南信大瑜的个人空间 https://bbs.21ic.com/?752504 [收藏] [复制] [RSS]

日志

OMAP-L138之建立ARM工程

已有 1229 次阅读2014-4-14 23:01 |个人分类:OMAPL138|系统分类:ARM| OMAP, L138, CCS, StarterWare

开发环境:WIN7 64 + CCS5.5 + OMAPL138_StarterWare_1_10_04_01
开发平台:OMAP-L138 Development Kit (LCDK)   

1.启动CCS5.5,设置工作空间。

2.建立工程,File->New->CCS Project,工程属性设置如下图。
3.将StarterWare中GPIO例子中的代码复制到main.c中。
#include "gpio.h"
#include "psc.h"

#include "soc_OMAPL138.h"
#include "lcdkOMAPL138.h"

/****************************************************************************/
/*              LOCAL FUNCTION PROTOTYPES                                   */
/****************************************************************************/
static void Delay(volatile unsigned int delay);

/****************************************************************************/
/*              GLOBAL VARIABLES                                            */
/****************************************************************************/

/****************************************************************************/
/*             LOCAL FUNCTION DEFINITIONS                                   */
/****************************************************************************/

int main(void)
{


    /* The Local PSC number for GPIO is 3. GPIO belongs to PSC1 module.*/
    PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, PSC_POWERDOMAIN_ALWAYS_ON,
                     PSC_MDCTL_NEXT_ENABLE);

    /* Pin Multiplexing of pin 12 of GPIO Bank 6.*/
    GPIOBank6Pin12PinMuxSetup();

    /* Sets the pin 109 (GP6[12]) as input.*/
    GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);

    while(1)
    {
                GPIOPinWrite(SOC_GPIO_0_REGS, 109, GPIO_PIN_LOW);

                Delay(1000000);

                GPIOPinWrite(SOC_GPIO_0_REGS, 109, GPIO_PIN_HIGH);

                Delay(1000000);
    }


}

/*
** \brief  This function checks the insertion status of the MMC/SD card
**         in the device and prints related statements on the serial
**         commuincation console of the external device.
**         
*/

/*
** \brief   This function can be called to generate a delay.
*/

static void Delay(volatile unsigned int delay)
{
    while(delay--);
}

4.设置工程属性,加入include搜索路径。
5.设置工程属性,加入lib文件。
6.使用StarterWare中的CMD文件替换默认的CMD文件。
-stack  0x8000                             /* SOFTWARE STACK SIZE           */
-heap   0x2000                             /* HEAP AREA SIZE                */
-e Entry

/* SPECIFY THE SYSTEM MEMORY MAP */

MEMORY
{
                DDR_MEM            : org = 0xC1080000   len = 0x2F7FFFF     /* RAM */
}

/* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY */

SECTIONS
{
    .init          : {
                             system_config.lib (.text)
                       } load > 0xC1080000

    .text    : load > DDR_MEM              /* CODE    */
        .data    : load        > DDR_MEM
    .bss     : load > DDR_MEM              /* GLOBAL & STATIC VARS              */
                                    RUN_START(bss_start),
                                        RUN_END(bss_end)
    .const   : load > DDR_MEM              /* SOFTWARE SYSTEM STACK             */
    .cinit   : load > DDR_MEM              /* SOFTWARE SYSTEM STACK             */
    .stack   : load > 0xC3FF7FFC           /* SOFTWARE SYSTEM STACK             */

}

7.编译工程,设置omapl138.ccxml如下。
8.开发板上电,链接开发板。
在最后一项的ARM核上,右键->Connetc Target。
9.Load Program。RUN……灯已经开始闲了。



路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)