主题中讨论的其他器件:TM4C1290NCPDT、EK-TM4C1294XL
您好
我对 Tiva 软件有疑问吗?
我的客户正在使用 TM4C1290NCPDT。
是否有在自己的闪存中重写自己代码段的示例代码?
(用于代码更新的二进制文件可以通过 SPI 下载)
谢谢。
GR
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.
您好
我对 Tiva 软件有疑问吗?
我的客户正在使用 TM4C1290NCPDT。
是否有在自己的闪存中重写自己代码段的示例代码?
(用于代码更新的二进制文件可以通过 SPI 下载)
谢谢。
GR
您好、GR、
我想您是指使用 SSI 接口的引导加载程序。 是的、这在我们的 TivaWare SDK 中基于 ROM 的引导加载程序和基于闪存的引导加载程序中都受支持。


请参阅 bl_config.h 文件、为 SSI 引导加载配置引导加载程序。 我们没有展示 SSI 引导加载的示例。 我建议您先从 UART 引导加载程序开始、并了解其工作原理。 然后可以迁移到 SSI 引导加载程序。
//***************************************************************************** // // Selects the SSI port as the port for communicating with the boot loader. // // Depends on: None // Exclusive of: CAN_ENABLE_UPDATE, ENET_ENABLE_UPDATE, I2C_ENABLE_UPDATE, // UART_ENABLE_UPDATE, USB_ENABLE_UPDATE // Requires: SSI_CLOCK_ENABLE, SSIx_BASE, SSI_CLKPIN_CLOCK_ENABLE, // SSI_CLKPIN_BASE, SSI_CLKPIN_PCTL, SSI_CLKPIN_POS, // SSI_FSSPIN_CLOCK_ENABLE, SSI_FSSPIN_BASE, SSI_FSSPIN_PCTL, // SSI_FSSPIN_POS, SSI_MISOPIN_CLOCK_ENABLE, SSI_MISOPIN_BASE, // SSI_MISOPIN_PCTL, SSI_MISOPIN_POS, SSI_MOSIPIN_CLOCK_ENABLE, // SSI_MOSIPIN_BASE, SSI_MOSIPIN_PCTL and SSI_MOSIPIN_POS // //***************************************************************************** //#define SSI_ENABLE_UPDATE //***************************************************************************** // // Selects the clock enable for the SSI peripheral module // // Depends on: SSI_ENABLE_UPDATE // Exclusive of: None // Requires: SSIx_BASE // //***************************************************************************** //#define SSI_CLOCK_ENABLE SYSCTL_RCGCSSI_R0 //***************************************************************************** // // Selects the base address of the SSI peripheral module // // Depends on: SSI_ENABLE_UPDATE // Exclusive of: None // Requires: SSI_CLOCK_ENABLE // //***************************************************************************** //#define SSIx_BASE SSI0_BASE //***************************************************************************** // // Selects the clock enable for the GPIO corresponding to SSI CLK pin // // Depends on: SSI_ENABLE_UPDATE // Exclusive of: None // Requires: SSI_CLKPIN_BASE, SSI_CLKPIN_PCTL and SSI_CLKPIN_POS // //***************************************************************************** //#define SSI_CLKPIN_CLOCK_ENABLE SYSCTL_RCGCGPIO_R0 //***************************************************************************** // // Selects the base address for the GPIO corresponding to SSI CLK pin // // Depends on: SSI_ENABLE_UPDATE // Exclusive of: None // Requires: SSI_CLKPIN_CLOCK_ENABLE, SSI_CLKPIN_PCTL and SSI_CLKPIN_POS // //***************************************************************************** //#define SSI_CLKPIN_BASE GPIO_PORTA_BASE //***************************************************************************** // // Selects the port control value for the GPIO corresponding to SSI CLK pin // // Depends on: SSI_ENABLE_UPDATE // Exclusive of: None // Requires: SSI_CLKPIN_CLOCK_ENABLE, SSI_CLKPIN_BASE and SSI_CLKPIN_POS // //***************************************************************************** //#define SSI_CLKPIN_PCTL 0x2 //***************************************************************************** // // Selects the pin number for the GPIO corresponding to SSI CLK pin // // Depends on: SSI_ENABLE_UPDATE // Exclusive of: None // Requires: SSI_CLKPIN_CLOCK_ENABLE, SSI_CLKPIN_BASE and SSI_CLKPIN_PCTL // //***************************************************************************** //#define SSI_CLKPIN_POS 2 //***************************************************************************** // // Selects the clock enable for the GPIO corresponding to SSI FSS pin // // Depends on: SSI_ENABLE_UPDATE // Exclusive of: None // Requires: SSI_FSSPIN_BASE, SSI_FSSPIN_PCTL and SSI_FSSPIN_POS // //***************************************************************************** //#define SSI_FSSPIN_CLOCK_ENABLE SYSCTL_RCGCGPIO_R0 //***************************************************************************** // // Selects the base address for the GPIO corresponding to SSI FSS pin // // Depends on: SSI_ENABLE_UPDATE // Exclusive of: None // Requires: SSI_FSSPIN_CLOCK_ENABLE, SSI_FSSPIN_PCTL and SSI_FSSPIN_POS // //***************************************************************************** //#define SSI_FSSPIN_BASE GPIO_PORTA_BASE //***************************************************************************** // // Selects the port control value for the GPIO corresponding to SSI FSS pin // // Depends on: SSI_ENABLE_UPDATE // Exclusive of: None // Requires: SSI_FSSPIN_CLOCK_ENABLE, SSI_FSSPIN_BASE and SSI_FSSPIN_POS // //***************************************************************************** //#define SSI_FSSPIN_PCTL 0x2 //***************************************************************************** // // Selects the pin number for the GPIO corresponding to SSI FSS pin // // Depends on: SSI_ENABLE_UPDATE // Exclusive of: None // Requires: SSI_FSSPIN_CLOCK_ENABLE, SSI_FSSPIN_BASE and SSI_FSSPIN_PCTL // //***************************************************************************** //#define SSI_FSSPIN_POS 3 //***************************************************************************** // // Selects the clock enable for the GPIO corresponding to SSI MISO pin // // Depends on: SSI_ENABLE_UPDATE // Exclusive of: None // Requires: SSI_MISOPIN_BASE, SSI_MISOPIN_PCTL and SSI_MISOPIN_POS // //***************************************************************************** //#define SSI_MISOPIN_CLOCK_ENABLE SYSCTL_RCGCGPIO_R0 //***************************************************************************** // // Selects the base address for the GPIO corresponding to SSI MISO pin // // Depends on: SSI_ENABLE_UPDATE // Exclusive of: None // Requires: SSI_MISOPIN_CLOCK_ENABLE, SSI_MISOPIN_PCTL and SSI_MISOPIN_POS // //***************************************************************************** //#define SSI_MISOPIN_BASE GPIO_PORTA_BASE //***************************************************************************** // // Selects the port control value for the GPIO corresponding to SSI MISO pin // // Depends on: SSI_ENABLE_UPDATE // Exclusive of: None // Requires: SSI_MISOPIN_CLOCK_ENABLE, SSI_MISOPIN_BASE and SSI_MISOPIN_POS // //***************************************************************************** //#define SSI_MISOPIN_PCTL 0x2 //***************************************************************************** // // Selects the pin number for the GPIO corresponding to SSI MISO pin // // Depends on: SSI_ENABLE_UPDATE // Exclusive of: None // Requires: SSI_MISOPIN_CLOCK_ENABLE, SSI_MISOPIN_BASE and SSI_MISOPIN_PCTL // //***************************************************************************** //#define SSI_MISOPIN_POS 5 //***************************************************************************** // // Selects the clock enable for the GPIO corresponding to SSI MOSI pin // // Depends on: SSI_ENABLE_UPDATE // Exclusive of: None // Requires: SSI_MOSIPIN_BASE, SSI_MOSIPIN_PCTL and SSI_MOSIPIN_POS // //***************************************************************************** //#define SSI_MOSIPIN_CLOCK_ENABLE SYSCTL_RCGCGPIO_R0 //***************************************************************************** // // Selects the base address for the GPIO corresponding to SSI MOSI pin // // Depends on: SSI_ENABLE_UPDATE // Exclusive of: None // Requires: SSI_MOSIPIN_CLOCK_ENABLE, SSI_MOSIPIN_PCTL and SSI_MOSIPIN_POS // //***************************************************************************** //#define SSI_MOSIPIN_BASE GPIO_PORTA_BASE //***************************************************************************** // // Selects the port control value for the GPIO corresponding to SSI MOSI pin // // Depends on: SSI_ENABLE_UPDATE // Exclusive of: None // Requires: SSI_MOSIPIN_CLOCK_ENABLE, SSI_MOSIPIN_BASE and SSI_MOSIPIN_POS // //***************************************************************************** //#define SSI_MOSIPIN_PCTL 0x2 //***************************************************************************** // // Selects the pin number for the GPIO corresponding to SSI MOSI pin // // Depends on: SSI_ENABLE_UPDATE // Exclusive of: None // Requires: SSI_MOSIPIN_CLOCK_ENABLE, SSI_MOSIPIN_BASE and SSI_MOSIPIN_PCTL // //***************************************************************************** //#define SSI_MOSIPIN_POS 4
UART 引导加载程序示例可以在 C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c1294xl\boot_serial 中找到。 您还可以找到引导加载程序附带的示例 UART 应用程序。 此示 例位于 C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c1294xl\boot_deme1。 boot_serial 将通过 UART 接口引导并加载 boot_deme1。 一旦您使其正常工作、就可以适应 SSI 接口。