Thread 中讨论的其他器件:EK-TM4C1294XL
大家好、
以下是客户提出的问题、可能需要您的帮助:
我使用官方引导加载程序和 LM Flash 程序、但程序无法正确跳转到应用程序、并且闪存程序正确。
这用于 JTAG 闪存
这用于引导加载程序闪存
谢谢、此致
耶鲁李
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.
大家好、
以下是客户提出的问题、可能需要您的帮助:
我使用官方引导加载程序和 LM Flash 程序、但程序无法正确跳转到应用程序、并且闪存程序正确。
这用于 JTAG 闪存
这用于引导加载程序闪存
谢谢、此致
耶鲁李
您好、Yale、
客户尝试从哪个接口(UART、USB 或等)引导? 请首先让客户尝试库存的 TivaWare 引导加载程序和应用示例。 例如、对于 UART、首先通过 JTAG 接口加载引导加载程序。 引导加载程序示例可在 C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c1294xl\boot_serial 中找到。 Bootloade 运行后、它将从 UART 接口加载应用程序。 应用固件示例可在 C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c1294xl\boot_dem1中找到。 首先尝试此示例组合、看看它是否起作用。
对应用固件进行编程后、它将在地址0x4000处具有正确的堆栈指针和复位矢量。 引导加载程序将检查这两个位置是否为0xFFFFFFFF。 如果它们不是0xFFFFFFFF 并且没有其他强制更新(例如从 GPIO 引脚强制更新),引导加载程序将跳转至0x4000以启动应用程序。
从存储器内容中可以看到、我没有看到应用程序的矢量表。 应用程序的矢量表应从0x4000开始。 确保 在链接器命令文件中、app_base 为004000。
/*应用程序的起始地址。 通常是中断矢量*/
/*必须位于应用程序的开头。 *
#define APP_BASE 0x00004000
#define RAM_base 0x20000000
/*系统内存映射*/
存储器
{
/*存储在内部闪存中并从内部闪存执行的应用程序*/
闪存(RX):origin = app_BASE,length = 0x000fc000
/*应用程序使用内部 RAM 进行数据*/
SRAM (rwx):origin = 0x20000000,length = 0x00040000
}