This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[FAQ] AM3359: 如何使用 Processor SDK RTOS 的 PDK 为应用创建 CCS 工程

Part Number: AM3359
Other Parts Discussed in Thread: OMAP-L138,

问:我将使用 Processor SDK RTOS 的 PDK 开发应用。如何为应用创建集成 PDK 组件的 CCS 工程?

  • 答:本次以面向 AM335x 的 Processor SDK RTOS 6.3 为例进行答复。一般原理也适用于 AM437x、OMAP-L138、K2G 等其他器件。

    首先,PDK 中有现成的示例 CCS 工程。这些示例使用一个或多个 PDK 组件,如 UART、I2C、GPIO 等。请参阅此常见问题解答,了解如何通过 PDK 创建示例工程。 

    其次,如果您要从头开始创建工程,请首先按照此常见问题解答中的说明创建 BIOS 模板 CCS 工程。然后将 PDK 组件添加到该工程中。 

    为了展示必要的步骤,我们将在这里创建一个在 AM3359 ICE EVM 上运行的闪烁 LED 应用。该应用将使用 PDK 1.0.17,该 PDK 是 Processor SDK RTOS 6.3 的一部分。此处附上了包含预编译可执行 .out 文件的完整工程。AM3359_ICE_blinky_led_BIOS.zip

    下面列出了将 BIOS 模板工程扩展到该闪烁 LED 工程的步骤。

    1.将 PDK 产品添加到该工程中(假设已将 PDK 安装到 CCS 中)。转到“Project Properties”->“General”->“Product”,然后点击“Add…”,选择“am335x PDK”和版本“1.0.17”。

    2.通过添加应用将使用的 PDK 组件来更新 RTSC/XDC 配置文件 app.cfg。在本示例中,我们需要从 PDK 中添加电路板库、UART 驱动程序和 GPIO 驱动程序。请注意,我们还需要添加 UART 使用的 OSAL。

    /* Load the OSAL package */

    var osType = "tirtos"

    var Osal = xdc.useModule('ti.osal.Settings');

    Osal.osType = osType;

     

    /*use CSL package*/

    var socType           = "am335x";

    var Csl = xdc.loadPackage('ti.csl');

    Csl.Settings.deviceType = socType;

     

    /* Load the gpio package */

    var GpioPackage = xdc.loadPackage('ti.drv.gpio');

    GpioPackage.Settings.enableProfiling = false;

    GpioPackage.Settings.socType = socType;

     

    /* Load the uart package */

    var UartPackage = xdc.loadPackage('ti.drv.uart');

    UartPackage.Settings.socType = socType;

     

    /* Load the board package */

    var Board = xdc.loadPackage('ti.board');

    Board.Settings.boardName = "icev2AM335x";

    请参阅工程 zip 文件中更新的 app.cfg。

    3.请注意,由于这是一个基于 BIOS 的工程,因此在将 PDK 产品添加到该工程并将 PDK 组件添加到 app.cfg 后,会自动解析编译器包含路径和链接器库路径。

    4.将 SOC_AM335x 添加到编译器符号中。PDK 头文件需要该符号。

    5.将 Board_init() 添加到 main() 中。 

    6.将 GPIO_init() 添加到 main() 中。这要求应用为 AM3359 ICE 提供 GPIO 配置。我们将使用 PDK 中的示例配置,并将源代码 pdk_am335x_1_0_17\packages\ti\drv\gpio\test\led_blink\src\am335x\GPIO_icev2AM335x_board.c 添加到该工程中。

    7.使用 BIOS API 创建一个计时器。将该计时器与用于开关特定 LED 的 ISR 相关联。

    8.将一个 while (1) 循环添加到 taskFxn() 中,使其一直运行。

    9.可选:将 System_printf 替换为 UART_printf。

    10.如果需要,通过 GEL 文件启用和配置计时器。AM3359 ICE EVM 的 CCS GEL 文件 ccs1040\ccs\ccs_base\emulation\boards\ice_am3359\gel\TMDXICE3359.GEL 不启用计时器。使用工程 zip 文件中的 GEL 文件更新 CCS 目标配置。

    11.按照上述说明设置 AM3359 ICE EVM。编译工程并将可执行文件加载到 EVM 中。打开 UART 控制台并运行程序。电路板上的以太网 LED D1 应该闪烁,UART 控制台中应该显示 UART_printf 消息。