【发布时间】:2015-07-28 11:29:33
【问题描述】:
lpc1768 链接描述文件为什么 ram 起始地址应该在 0x100000C8, RAM (rwx) : ORIGIN = 0x100000C8, LENGTH = 0x7F38 处给出。
如果我在 0x10000000 处给出,那么当我启用 UART 中断时系统会崩溃。
【问题讨论】:
lpc1768 链接描述文件为什么 ram 起始地址应该在 0x100000C8, RAM (rwx) : ORIGIN = 0x100000C8, LENGTH = 0x7F38 处给出。
如果我在 0x10000000 处给出,那么当我启用 UART 中断时系统会崩溃。
【问题讨论】:
您的崩溃原因应该是一个重要线索 - 0xC8(192 字节)的偏移量是为中断向量表留出空间。
并非所有应用程序都要求向量表在 RAM 中 - 如果您在闪存中有固定程序,那么向量表也可以在那里。但是,如果您使用引导加载程序从 RAM 运行代码并希望该代码包含中断服务程序,则需要在 RAM 中放置一个向量表并更新指向它的寄存器。参见例如 AN10866。
【讨论】: