Arm 将Teensy 3.1(手臂皮质M4)与IAR配合使用

Arm 将Teensy 3.1(手臂皮质M4)与IAR配合使用,arm,microcontroller,iar,teensy,Arm,Microcontroller,Iar,Teensy,我正在用Teensy 3.1微控制器做一个项目。此Teensy使用MK20DX256VLH7 Cortex-M4处理器,由IAR支持。然而,Teensy只有Arduino软件(我不使用)和avr gcc(我宁愿不使用)的例子。它有自己的引导加载程序(检测按钮按下并进入USB编程模式)和(我相信)自己特定的内存布局 我必须采取哪些步骤才能让IAR生成可由Teensy downloader应用程序使用的.hex文件,并使用默认引导加载程序在板上运行?IAR ARM embedded workbenc

我正在用Teensy 3.1微控制器做一个项目。此Teensy使用MK20DX256VLH7 Cortex-M4处理器,由IAR支持。然而,Teensy只有Arduino软件(我不使用)和avr gcc(我宁愿不使用)的例子。它有自己的引导加载程序(检测按钮按下并进入USB编程模式)和(我相信)自己特定的内存布局


我必须采取哪些步骤才能让IAR生成可由Teensy downloader应用程序使用的.hex文件,并使用默认引导加载程序在板上运行?

IAR ARM embedded workbench可以生成替代输出。在项目的项目选项中,在“类别”面板中查找“输出转换器”选项。这将允许您从所选格式的链接器生成附加输出。英特尔十六进制是其中一种选择。

真的那么简单吗?我不需要做其他事情了?我就是这么做的,虽然我通常创建二进制文件而不是英特尔十六进制文件。它对你不起作用吗?它起作用了,但还有几个步骤,包括设置ISR,让
\uuuu low\u level\u init
设置时钟和外围设备,并添加一个部分来处理我仍然不完全理解的闪存。如果有引导加载程序,然后,您的应用程序需要位于引导加载程序将跳转到的地址。IAR(*.icf)中的链接器配置文件定义了应用程序在闪存中的位置。矢量表必须位于那里,并且必须更新VTOR寄存器以指向它。这可能是在您的uu low_level_init函数中完成的。