这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 板卡试用 » 【PocketBeagle2】十三,M4核GPIO操作

共1条 1/1 1 跳转至

【PocketBeagle2】十三,M4核GPIO操作

菜鸟
2025-11-17 13:03:17     打赏

【PocketBeagle2】十三,M4核GPIO操作


一,开发环境搭建

1.软件下载

下载这三个软件和一个SDK,地址如下:MCU-PLUS-SDK-AM62X 软件开发套件 (SDK) | 德州仪器 TI.com.cn

image-20251116201657505image.pngimage.png

image-20251116201719139

2,ccs安装

一直点击下一步就可以了,这里有两点需要注意一下:

  • 不需要全部安装,只需要按需选择,本次选择这一个就可以了

    image-20251116202311928image.png

  • 仿真器选择

    image.pngimage-20251116202344749


3.Sysconfig 安装

需要注意的地方

  • 安装路径最好要和 CCS 软件处于同一目录下(这样做我们就不用重新配置 CSS 的软件环境了)

image-20251116203128253image.png

4.ARM-CGT-CLANG 编译器安装

需要注意的地方

  • 安装路径最好要和 CCS 软件处于同一目录下(这样做我们就不用重新配置 CSS 的软件环境了)

image-20251116204236245image.png

5.MCU SDK 包安装

需要注意的地方

  • 安装路径最好要和 CCS 软件处于同一目录下(这样做我们就不用重新配置 CSS 的软件环境了)

image-20251116204507780image.png

6.其他工具安装

这个软件需要 python,所以需要你们自行安装 python。需要 openssl 库和命令,所以安装

openssl。


二,代码部分

1.从SDK中导入空白工程,方式如下:

image.png

  • 找到刚才SDK的安装路径

    image-20251117080049995image.png


2,syscomfig 配置

  • 管脚选择image-20251116221101797

image.png

  • sysconfig 配置gpio

    image-20251117080606909image.png

  • 代码编写

    主要新增以下内容就可以了。

void empty_main(void *args)
{
    uint32_t    loopcnt = 10, delaySec = 1;
    uint32_t    gpioBaseAddr, pinNum;

    DebugP_log("GPIO LED Blink Test Started ...\r\n");
    DebugP_log("LED will Blink for %d seconds ...\r\n", (loopcnt * delaySec * 2));

    /* Get address after translation translate */
    gpioBaseAddr = (uint32_t) AddrTranslateP_getLocalAddr(CONFIG_GPIO0_BASE_ADDR);
    pinNum       = CONFIG_GPIO0_PIN;

    GPIO_setDirMode(gpioBaseAddr, pinNum, CONFIG_GPIO0_DIR);
    while(loopcnt > 0)
    {
        GPIO_pinWriteHigh(gpioBaseAddr, pinNum);
        ClockP_sleep(delaySec);
        GPIO_pinWriteLow(gpioBaseAddr, pinNum);
        ClockP_sleep(delaySec);

        loopcnt--;
    }

    DebugP_log("GPIO LED Blink Test Passed!!\r\n");
    DebugP_log("All tests have passed!!\r\n");
}

三,成果演示

  • 编译


  • AM62x 的 M 核启动有两种方式,第一种是 A 核内核启动过程中,会自动加载“/lib/firmware/ am62-mcu-m4f0_0-fw”;第二种是根据 Remoteproc 框架去开启和停止对应的 M4 固件,empty.mcu-m4f0_0.strip.out 就是我们编译生成的 M4 固件。

  • 这里我们选择第一种,将生成的“am62-mcu-m4f0_0-fw”文件拷贝到开发板上“/lib/firmware/”目录下,然后重启开发板,连接到示波器,可以看到出现了10次方波,与预期效果一致。

image.png

image-20251117081443061






共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]