欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

从无到有搭建28388项目程序

程序员文章站 2022-06-09 13:03:06
...

目标:

通过编写CPU1和CM(Arm® Cortex®-M4)的程序达到以下效果:
CPU1–》LED1闪烁
CM–》LED2闪烁
先来看下最终效果:
从无到有搭建28388项目程序

开发环境:

CCS版本:Code Composer Studio 9.1.0
C2000版本:v2.01.00.00 (下载安装时间:2020/2/18)
如果还没有下载的可以下载一下:
C2000WARE-MOTORCONTROL-SDK下载
开发板:TI官方的28388开发套件

1. 新建工程

从无到有搭建28388项目程序

2. 建好之后效果如下:

项目名自己取,但最好CM和CPU1的要区分开
从无到有搭建28388项目程序

3. 在你的电脑中将下图的两个文件拷贝到项目中

从无到有搭建28388项目程序

注:项目创建好之后会有一个默认的CMD文件,但是还是建议用上图中的两个CMD文件,将原来的删掉。

4. 配置项目编译生成二进制文件的文件名和路径

从无到有搭建28388项目程序

注意:按照(4)中显示的将CM_FLASH和CM_RAM都这样创建出来,名字可以自己取,但要见名知意。

5. 将原来的项目中的Debug文件夹删掉:

从无到有搭建28388项目程序

6. 配置CMD文件编译方式:

从无到有搭建28388项目程序从无到有搭建28388项目程序从无到有搭建28388项目程序

7. 添加.lib依赖—>二进制文件

从无到有搭建28388项目程序从无到有搭建28388项目程序

8. 添加一些必要的库文件

CM的项目:
从无到有搭建28388项目程序
CPU1的项目:
从无到有搭建28388项目程序

CPU1的项目添加图上所示的库文件之后会报错:
从无到有搭建28388项目程序
解决方案:
从无到有搭建28388项目程序

9. 在项目中添加上述库文件的路径:

CPU1项目:
从无到有搭建28388项目程序
CM项目:
从无到有搭建28388项目程序

10. 在CM和CPU1项目的main.c里面添加测试代码:

CM项目–>main.c:
#include "driverlib_cm.h"
#include "cm.h"
/**
 * main.c
 */
int main(void)
{

    CM_init();

    GPIO_writePin(20, 1);

    for(;;)
    {
        //
        // Turn on LED
        //
        GPIO_writePin(DEVICE_GPIO_PIN_LED2, 0);

        //
        // Delay for a bit.
        //
        SysCtl_delay(5000000);

        //
        // Turn off LED
        //
        GPIO_writePin(DEVICE_GPIO_PIN_LED2, 1);

        //
        // Delay for a bit.
        //
        SysCtl_delay(5000000);
    }
}

CPU1–>main.c:
#include "driverlib.h"
#include "device.h"

//
// Main
//
void main(void)
{
    //
    // Initialize device clock and peripherals
    //
    Device_init();

    //
    // Boot CM core
    //
#ifdef _FLASH
    Device_bootCM(BOOTMODE_BOOT_TO_FLASH_SECTOR0);
#else
    Device_bootCM(BOOTMODE_BOOT_TO_S0RAM);
#endif

    //
    // Initialize GPIO and configure the GPIO pin as a push-pull output
    //
    Device_initGPIO();
    GPIO_setPadConfig(DEVICE_GPIO_PIN_LED1, GPIO_PIN_TYPE_STD);
    GPIO_setDirectionMode(DEVICE_GPIO_PIN_LED1, GPIO_DIR_MODE_OUT);
    GPIO_setPadConfig(DEVICE_GPIO_PIN_LED2, GPIO_PIN_TYPE_STD);
    GPIO_setDirectionMode(DEVICE_GPIO_PIN_LED2, GPIO_DIR_MODE_OUT);

    //
    // Configure CPU2 to control the LED GPIO
    //
    GPIO_setMasterCore(DEVICE_GPIO_PIN_LED2, GPIO_CORE_CM);

    //
    // Initialize PIE and clear PIE registers. Disables CPU interrupts.
    //
    Interrupt_initModule();

    //
    // Initialize the PIE vector table with pointers to the shell Interrupt
    // Service Routines (ISR).
    //
    Interrupt_initVectorTable();

    //
    // Enable Global Interrupt (INTM) and realtime interrupt (DBGM)
    //
    EINT;
    ERTM;

    //
    // Loop Forever
    //
    for(;;)
    {
        //
        // Turn on LED
        //
        GPIO_writePin(DEVICE_GPIO_PIN_LED1, 0);

        //
        // Delay for a bit.
        //
        DEVICE_DELAY_US(500000);

        //
        // Turn off LED
        //
        GPIO_writePin(DEVICE_GPIO_PIN_LED1, 1);

        //
        // Delay for a bit.
        //
        DEVICE_DELAY_US(500000);
    }
}

//
// End of File
//

程序移植问题:

当上述操作你都顺利完成之后,这时你想把你的项目拷到另一个人的电脑上时,会报出一个错误,如下所示:
从无到有搭建28388项目程序
原因分析:根据报错信息意思是说项目中的driverlib_cm.lib文件路径不对
解决方案:
从无到有搭建28388项目程序

下载程序到开发板中:

1. 从无到有搭建28388项目程序

2.

从无到有搭建28388项目程序

确保开发板已经跟电脑连接好了

3. 连接芯片:

从无到有搭建28388项目程序

4. 连接之后

从无到有搭建28388项目程序

注意!!! 对于我们这个实验,要先下载CPU1的程序,点击运行CPU1,然后再下载CM的程序,点击运行CM

5. Ctrl+Alt+L下载程序

从无到有搭建28388项目程序

6. 点击运行该芯片:

从无到有搭建28388项目程序

7. 然后连接CM芯片并下载CM的程序(CM_Project_CM_Blinky_CM.out):

从无到有搭建28388项目程序

8. 最后运行CM就可以了。

最后最后—》观察LED1 LED2是否正常闪烁

相关标签: DSP