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.

[参考译文] TM4C129ENCPDT:Code Composer Studio (Linux)中用于 TM4C129ENCPDT 和 TM4C123GH6PM 的驱动程序

Guru**** 2382630 points
Other Parts Discussed in Thread: EK-TM4C123GXL, LAUNCHXL-CC2640R2, EK-TM4C129EXL, TM4C123GH6PM, TM4C129ENCPDT
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1370983/tm4c129encpdt-drivers-for-tm4c129encpdt-and-tm4c123gh6pm-in-code-composer-studio-linux

器件型号:TM4C129ENCPDT
主题中讨论的其他器件:EK-TM4C123GXLLAUNCHXL-CC2640R2EK-TM4C129EXLTM4C123GH6PM、

工具与软件:

您好、专家!

你好!

我是代表客户发布此帖子。 他们 从 TI 购买了三款开发板:EK-TM4C123GXL、EK-TM4C129EXL 和 LaunchxL-CC2640R2。 目前、他们正在从事一些项目、需要一些支持。

他们正在尝试在 Code Composer Studio (Linux)中为 TM4C129ENCPDT 和 TM4C123GH6PM 编写驱动程序。 他们一直在使用 Tivaware 驱动程序、并愿意尝试使用 CMSIS。
他们无法获取 CMSIS-Core 器件文件(由芯片供应商-德州仪器(TI)提供)。

请建议开始使用相同的工具。 我认为选择 Code Composer Studio 已经足够好了。

TI 最近与 Theia IDE 合作。 他们应该切换到 Theia、任何其他 IDE 或任何其他工具链吗?

 此致、

乔纳森

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    他们无法获取 CMSIS-Core 器件文件(由芯片供应商-德州仪器(TI)提供)。

    [/报价]

    他们指的是什么 CMSIS 内核器件文件? 虽然有点旧、但 在适用于 TM4C MCU 的 Code Composer Studio 中使用 CMSIS DSP 库  应用手册将会有所帮助。  

    请建议开始使用相同的工具。 我认为选择 Code Composer Studio 已经足够好了。

    [/报价]

    同意。

    TI 最近与 Theia IDE 合作。 他们应该切换到 Theia、任何其他 IDE 或任何其他工具链吗?

    [/报价]

    我认为 Theia 不支持 TM4C。 目前仅支持 MSPM0器件。 请参阅版本说明。  

    [/quote]
    [/quote][/quote]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Charles:

    非常感谢您的详细回答。 我会通知我们的客户。 如果需要任何进一步的支持、我会及时通知您。

    此致、

    乔纳森

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Charles:

    我有来自客户的更新。

    他们不是指 CMSIS-DSP 库、他们需要的是 CMSIS-Core 文件、即
    1.系统配置文件 system_ .c 和 System_ .h
    2.器件头文件
    3.启动文件 Startup_ .c
    4.散点加载描述文件 _AC6.SCT
    5. TrustZone 设置:分区_ .h
    区域/ISR 设置:partition_gen.h

    感谢您的一贯支持。

    此致、

    乔纳森

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Jonathan:

     我不知道您指的是这些文件的确切内容。 我倾向于认为 、您引用的文件并不是 真正需要的。 如果您可以启动 Hello 或 blinky 等简单的 TivaWare 示例、您将会看到必要的启动文件和器件配置。 例如、如果您查看 hello 示例、您将会看到 startup_ccs.c 文件、其中包含矢量表和启动代码。  

    这只是在 hello.c 示例中包含头文件来正确引用初始化时钟和外设所需的 API。 请参阅以下片段。

    #include <stdint.h>
    #include <stdio.h>
    #include <stdbool.h>
    #include "inc/hw_memmap.h"
    #include "inc/hw_types.h"
    #include "driverlib/gpio.h"
    #include "drivers/pinout.h"
    #include "driverlib/pin_map.h"
    #include "driverlib/rom.h"
    #include "driverlib/rom_map.h"
    #include "driverlib/sysctl.h"
    #include "driverlib/uart.h"
    #include "utils/uartstdio.h"
    
    //*****************************************************************************
    //
    //! \addtogroup example_list
    //! <h1>Hello World (hello)</h1>
    //!
    //! A very simple ``hello world'' example.  It simply displays ``Hello World!''
    //! on the UART and is a starting point for more complicated applications.
    //!
    //! Open a terminal with 115,200 8-N-1 to see the output for this demo.
    //
    //*****************************************************************************
    
    //*****************************************************************************
    //
    // System clock rate in Hz.
    //
    //*****************************************************************************
    uint32_t g_ui32SysClock;
    
    //*****************************************************************************
    //
    // The error routine that is called if the driver library encounters an error.
    //
    //*****************************************************************************
    #ifdef DEBUG
    void
    __error__(char *pcFilename, uint32_t ui32Line)
    {
    }
    #endif
    
    //*****************************************************************************
    //
    // Configure the UART and its pins.  This must be called before UARTprintf().
    //
    //*****************************************************************************
    void
    ConfigureUART(void)
    {
        //
        // Enable the GPIO Peripheral used by the UART.
        //
        MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
    
        //
        // Enable UART0
        //
        MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);
    
        //
        // Configure GPIO Pins for UART mode.
        //
        MAP_GPIOPinConfigure(GPIO_PA0_U0RX);
        MAP_GPIOPinConfigure(GPIO_PA1_U0TX);
        MAP_GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1);
    
        //
        // Initialize the UART for console I/O.
        //
        UARTStdioConfig(0, 115200, g_ui32SysClock);
    }
    
    //*****************************************************************************
    //
    // Print "Hello World!" to the UART on the Intelligent UART Module.
    //
    //*****************************************************************************
    int
    main(void)
    {
        //
        // Run from the PLL at 120 MHz.
        // Note: SYSCTL_CFG_VCO_240 is a new setting provided in TivaWare 2.2.x and
        // later to better reflect the actual VCO speed due to SYSCTL#22.
        //
        g_ui32SysClock = MAP_SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ |
                                                 SYSCTL_OSC_MAIN |
                                                 SYSCTL_USE_PLL |
                                                 SYSCTL_CFG_VCO_240), 120000000);
    
        //
        // Configure the device pins.
        //
        PinoutSet(false, false);
    
        //
        // Enable the GPIO pins for the LED D1 (PN1).
        //
        GPIOPinTypeGPIOOutput(GPIO_PORTN_BASE, GPIO_PIN_1);
    
        //
        // Initialize the UART.
        //
        ConfigureUART();
    
        //
        // Hello!
        //
        UARTprintf("Hello, world!\n");
        printf("Hello, world!\n");
    
        //
        // We are finished.  Hang around flashing D1.
        //
        while(1)
        {
            //
            // Turn on D1.
            //
            LEDWrite(CLP_D1, 1);
    
            //
            // Delay for a bit.
            //
            SysCtlDelay(g_ui32SysClock / 10 / 3);
    
            //
            // Turn off D1.
            //
            LEDWrite(CLP_D1, 0);
    
            //
            // Delay for a bit.
            //
            SysCtlDelay(g_ui32SysClock / 10 / 3);
        }
    }

    请按照我上次回复中提到的应用手册操作。

    您还可以在 Resource Explorer 中找到有关 MSP432E MCU 的 CMSIS 示例。