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.

TMS570ls3137 UART加载

Other Parts Discussed in Thread: TMS570LS3137, HALCOGEN

   TMS570LS3137选用串口加载的时候,是不是一定要用GPIOA7来使能加载模式呢?用其他的GPIO可以吗?比如说GPIOA1,A2等。如果可以的话我需要改官网的bootloader的哪个部分呢

  • HAL 代码生成器工具 HALCOGEN

    在这个软件下看看能否修改,如果不行,就没法了。

  • Hi jian liu,

    首先如果你想使用例程,快速实现UART_BOOTLOADER的话,不建议你修改,先用官方例程实现你的功能,理解UART_BOOTLOADER的流程;

    如果你要修改,思路如下:

    1. 首先在例程的bl_main.c的主函数中,sciInit()里即配置了相应的SCI1作为下载程序接口;

    2. sciInit()的实体函数在hw_sci.c文件中,在sciInit()中你可以配置波特率,对应的SCI Pins等。

        sciREG1->BAUD = ((unsigned)((vclk /(f*UART_BAUDRATE) + 0.5)) - 1) & 0x00FFFFFF;
        /** - set SCI pins functional mode */
        sciREG1->FUN = (1 << 2)  /* tx pin */
                     | (1 << 1)  /* rx pin */
                     | (0);  /* clk pin */

    3. 在hw_sci.h中可以找到sciREG1的基地址;

    /** @def sciREG1
    *   @brief SCI1 Register Frame Pointer
    *
    *   This pointer is used by the SCI driver to access the sci module registers.
    */
    #define sciREG1 ((sciBASE_t *)0xFFF7E400U)
    

    4. 结合570LS3137的TRM,0xFFF7E400U地址即为LIN接口,而LIN对应的GIO即为A7,B7

    5. 回到UART_BOOTLOADER程序中,bl_config.h中对UART的波特率及UART接口做了定义;

    /* UART is used in all the boot modes*/
    //#if defined (UART_ENABLE_UPDATE)
    #define UART_BAUDRATE     115200
    #define UART              sciREG1   /* Use UART port 1 for UART boot */
    //#endif

    因此你要修改的话,需要注意以上几点,另外,并不是每一个GIO都可以用于加载模式,UART_BOOTLOADER需用到物理串口。