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.

[参考译文] TM4C129XNCZAD:上述器件型号的引导加载程序示例代码

Guru**** 2391415 points
Other Parts Discussed in Thread: TM4C129XNCZAD

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1039795/tm4c129xnczad-boot-loader-example-code-for-above-part-no

器件型号:TM4C129XNCZAD

尊敬的先生:

我有 LM3S9B96的 Stellaris 旧电路板、并且具有适用于上述电路板的 boot_serial、boot_demo1、boot_demo2 .boot loader 的示例代码。

我也需要 TM4C129XNCZAD 器件型号的引导加载程序代码

我有 TM4C129x 开发板、在实际项目中实施之前、我可以在上面检查它。

示例软件包没有上述相同的示例代码。

我有 TM4C1294L 的示例代码、它与我的板不匹配。

因此、请为上述器件型号共享上述开发板的 Boot loade 示例代码

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

    您好!

     由于 UART0RX/UART0TX 引脚映射是相同的、因此可以在 TM4C129x 开发板上为 TM4C1294XL 使用相同的 boot_serial 示例。 UART0RX -> PA0和 UART0TX -> PA1。  

    bl_config.h 文件包含用于配置 UART 引脚的指令、它将在 LaunchPad 和开发板上均适用。  

    //
    //
    //选择 UART 使用的波特率。
    //
    //取决于:UART_ENABLE_UPDATE、CRYSTRAL_FREQ
    //不包括:UART_autobaud
    //要求:无
    //
    //
    #define UART_FIXED_BAUDRATE 115200

    //
    //
    //选择 UART 外设模块的时钟启用
    //
    //取决于:UART_ENABLE_UPDATE
    //不包括:无
    //需要:UARTx_BASE
    //
    //
    #define UART_CLOCK_ENABLE SYSCTL_RCGCUART_R0

    //
    //
    //选择 UART 外设模块的基地址
    //
    //取决于:UART_ENABLE_UPDATE
    //不包括:无
    //需要:UART_CLOCK_ENABLE
    //
    //
    #define UARTx_BASE UART0_BASE

    //
    //
    //为对应于 UART RX 引脚的 GPIO 选择时钟启用
    //
    //取决于:UART_ENABLE_UPDATE
    //不包括:无
    //需要:UART_RXPIN_BASE、UART_RXPIN_PCTL 和 UART_RXPIN_POS
    //
    //
    #define UART_RXPIN_CLOCK_ENABLE SYSCTL_RCGCGPIO_R0

    //
    //
    //为对应于 UART RX 引脚的 GPIO 选择基地址
    //
    //取决于:UART_ENABLE_UPDATE
    //不包括:无
    //需要:UART_RXPIN_CLOCK_ENABLE、UART_RXPIN_PCTL 和 UART_RXPIN_POS
    //
    //
    #define UART_RXPIN_BASE GPIO_PORta_base

    //
    //
    //为对应于 UART RX 引脚的 GPIO 选择端口控制值
    //
    //取决于:UART_ENABLE_UPDATE
    //不包括:无
    //需要:UART_RXPIN_CLOCK_ENABLE、UART_RXPIN_BASE 和 UART_RXPIN_POS
    //
    //
    #define UART_RXPIN_PCTL 0x1

    //
    //
    //为对应于 UART RX 引脚的 GPIO 选择引脚编号
    //
    //取决于:UART_ENABLE_UPDATE
    //不包括:无
    //需要:UART_RXPIN_CLOCK_ENABLE、UART_RXPIN_BASE 和 UART_RXPIN_PCTL
    //
    //
    #define UART_RXPIN_POS 0

    //
    //
    //为对应于 UART TX 引脚的 GPIO 选择时钟启用
    //
    //取决于:UART_ENABLE_UPDATE
    //不包括:无
    //需要:UART_TXPIN_BASE、UART_TXPIN_PCTL 和 UART_TXPIN_POS
    //
    //
    #define UART_TXPIN_CLOCK_ENABLE SYSCTL_RCGCGPIO_R0

    //
    //
    //为对应于 UART TX 引脚的 GPIO 选择基地址
    //
    //取决于:UART_ENABLE_UPDATE
    //不包括:无
    //需要:UART_TXPIN_CLOCK_ENABLE、UART_TXPIN_PCTL 和 UART_TXPIN_POS
    //
    //
    #define UART_TXPIN_BASE GPIO_PORta_base

    //
    //
    //为对应于 UART TX 引脚的 GPIO 选择端口控制值
    //
    //取决于:UART_ENABLE_UPDATE
    //不包括:无
    //需要:UART_TXPIN_CLOCK_ENABLE、UART_TXPIN_BASE 和 UART_TXPIN_POS
    //
    //
    #define UART_TXPIN_PCTL 0x1

    //
    //
    //为与 UART TX 引脚相对应的 GPIO 选择引脚编号
    //
    //取决于:UART_ENABLE_UPDATE
    //不包括:无
    //需要:UART_TXPIN_CLOCK_ENABLE、UART_TXPIN_BASE 和 UART_TXPIN_PCTL
    //
    //
    #define UART_TXPIN_POS 1.

    //

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

    尊敬的 Charles:

    我已附加了我具有 userd 的 bootloader_file。

    我转储了包含 应用程序地址0x4000的引导加载程序@ 0x0000位置

    我使用调试  器和器件正确启动转储代码@0x4000。

    现在、我将通过串行@波特率9600转储另一个代码、该波特率在代码中定义、但会收到错误消息。

    COM 端口是我已在设备管理器中检查的正确 COM 17。

    e2e.ti.com/.../8345.boot_5F00_serial.zip

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

    您需要更改引导加载程序 UART 波特率以匹配 LM 闪存编程器中的波特率。 在 bl_config.h 中、您有115200、而在 LM 闪存编程器中、您选择9600。 这不奏效。 您可以重新构建9600波特的 Booloader,或者更改 LM 闪存编程器115200。

    //
    //
    //选择 UART 使用的波特率。
    //
    //取决于:UART_ENABLE_UPDATE、CRYSTRAL_FREQ
    //不包括:UART_autobaud
    //要求:无
    //
    //
    #define UART_FIXED_BAUDRATE 115200

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

    尊敬的 Charles:

    谢谢,它现在正在工作。  

    它与 UART0配合使用需要 对  附加的 BL_CONFIG.h 中的 UART1执行哪些更改

    UART1的最终要求

    请查找随附的 BL_config.h

    e2e.ti.com/.../8204.bl_5F00_config.h

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

    您好!

     尝试此更改。  

    //*****************************************************************************
    //
    // Selects the baud rate to be used for the UART.
    //
    // Depends on: UART_ENABLE_UPDATE, CRYSTAL_FREQ
    // Exclusive of: UART_AUTOBAUD
    // Requires: None
    //
    //*****************************************************************************
    #define UART_FIXED_BAUDRATE     115200
    
    //*****************************************************************************
    //
    // Selects the clock enable for the UART peripheral module
    //
    // Depends on: UART_ENABLE_UPDATE
    // Exclusive of: None
    // Requires: UARTx_BASE
    //
    //*****************************************************************************
    #define UART_CLOCK_ENABLE     SYSCTL_RCGCUART_R1
    
    //*****************************************************************************
    //
    // Selects the base address of the UART peripheral module
    //
    // Depends on: UART_ENABLE_UPDATE
    // Exclusive of: None
    // Requires: UART_CLOCK_ENABLE
    //
    //*****************************************************************************
    #define UARTx_BASE     UART1_BASE
    
    //*****************************************************************************
    //
    // Selects the clock enable for the GPIO corresponding to UART RX pin
    //
    // Depends on: UART_ENABLE_UPDATE
    // Exclusive of: None
    // Requires: UART_RXPIN_BASE, UART_RXPIN_PCTL and UART_RXPIN_POS
    //
    //*****************************************************************************
    #define UART_RXPIN_CLOCK_ENABLE     SYSCTL_RCGCGPIO_R1
    
    //*****************************************************************************
    //
    // Selects the base address for the GPIO corresponding to UART RX pin
    //
    // Depends on: UART_ENABLE_UPDATE
    // Exclusive of: None
    // Requires: UART_RXPIN_CLOCK_ENABLE, UART_RXPIN_PCTL and UART_RXPIN_POS
    //
    //*****************************************************************************
    #define UART_RXPIN_BASE     GPIO_PORTB_BASE
    
    //*****************************************************************************
    //
    // Selects the port control value for the GPIO corresponding to UART RX pin
    //
    // Depends on: UART_ENABLE_UPDATE
    // Exclusive of: None
    // Requires: UART_RXPIN_CLOCK_ENABLE, UART_RXPIN_BASE and UART_RXPIN_POS
    //
    //*****************************************************************************
    #define UART_RXPIN_PCTL     0x1
    
    //*****************************************************************************
    //
    // Selects the pin number for the GPIO corresponding to UART RX pin
    //
    // Depends on: UART_ENABLE_UPDATE
    // Exclusive of: None
    // Requires: UART_RXPIN_CLOCK_ENABLE, UART_RXPIN_BASE and UART_RXPIN_PCTL
    //
    //*****************************************************************************
    #define UART_RXPIN_POS     0
    
    //*****************************************************************************
    //
    // Selects the clock enable for the GPIO corresponding to UART TX pin
    //
    // Depends on: UART_ENABLE_UPDATE
    // Exclusive of: None
    // Requires: UART_TXPIN_BASE, UART_TXPIN_PCTL and UART_TXPIN_POS
    //
    //*****************************************************************************
    #define UART_TXPIN_CLOCK_ENABLE     SYSCTL_RCGCGPIO_R1
    
    //*****************************************************************************
    //
    // Selects the base address for the GPIO corresponding to UART TX pin
    //
    // Depends on: UART_ENABLE_UPDATE
    // Exclusive of: None
    // Requires: UART_TXPIN_CLOCK_ENABLE, UART_TXPIN_PCTL and UART_TXPIN_POS
    //
    //*****************************************************************************
    #define UART_TXPIN_BASE     GPIO_PORTB_BASE
    
    //*****************************************************************************
    //
    // Selects the port control value for the GPIO corresponding to UART TX pin
    //
    // Depends on: UART_ENABLE_UPDATE
    // Exclusive of: None
    // Requires: UART_TXPIN_CLOCK_ENABLE, UART_TXPIN_BASE and UART_TXPIN_POS
    //
    //*****************************************************************************
    #define UART_TXPIN_PCTL     0x1
    
    //*****************************************************************************
    //
    // Selects the pin number for the GPIO corresponding to UART TX pin
    //
    // Depends on: UART_ENABLE_UPDATE
    // Exclusive of: None
    // Requires: UART_TXPIN_CLOCK_ENABLE, UART_TXPIN_BASE and UART_TXPIN_PCTL
    //
    //*****************************************************************************
    #define UART_TXPIN_POS     1