主题中讨论的其他器件: HALCOGEN、 LAUNCHXL2-TMS57012
工具/软件:Code Composer Studio
我很困惑。 如何在 TMS57012 Launchpad 电路板上获得一个简单的加载和运行程序?
这是我尝试过的。 我在 CCS 7中创建了一个新项目、并选择 TMS570LS1224作为目标、TI v16.9.4.LTS 编译器和"基本示例"下的"Hello World"项目。 这表示"为所选器件创建完全初始化的空项目"。
我对 main 进行了一些简单的更改(见下面)并构建了项目。 构建而不会出错。 然后、我单击工具栏中的错误图标以下载并执行电路板上的程序、这也不会发生错误。 处理器永远不会到达 main(),当我暂停它时,PC 位于0x00000004。 反汇编从0x00000000开始的存储 器对于存储器的前八个字、我会看到.word 0xFFFFFFFF。 我不是 Cortex-R4的专家(我更喜欢 Cortex-M 架构)、但矢量表不应该位于0x00000000开始、并且包含"LDR PC、=RESET_handler "等指令吗?
为什么项目没有在0x00000000创建矢量表? 我确实看到从0x00000020开始的有效汇编指令、这些指令看起来像一个内存复制例程。
查看映射文件、我发现它只创建一个内存区域、称为 RAM、大小从0x00000020和4GB 开始。 根本没有闪存区域。 我也看不到从0x000000开始的任何段(在我使用的其他开发系统上、通常称为_vectors 之类的内容)。
为什么不使用"基本示例"创建项目会为目标处理器创建具有合理存储器布局的项目、并创建有效的矢量表、以便处理器可以正确启动?
int main (void) { volatile int loops = 0; while (1) 循环++; 返回0; }