Embedded 基于Linux的ARM开发
我从德州仪器公司购买了Tiva C系列LaunchPad TM4C123G评估套件。该套件包含一个带有ARM Cortex M4F微控制器的小型PCB。现在我想开始为这个微控制器编写软件。我习惯于在Windows上使用AVR Studio为AVR 8位微控制器编程。我听说在Linux上编程基于ARM的微控制器应该很容易,而且由于Linux是我的主要平台,我想要一个简单的IDE,它的工作原理或多或少和我从AVR中习惯的一样 几天来,我一直在寻找一个好的IDE和工具来完成这项工作。令我惊讶的是,只有少数会在Linux上运行,而且没有一个是开源或免费软件。这真的是真的吗?我不想花几百美元只是为了尝试Cortex M4F的一些编程。当我发现IDE不够好或太贵时,我也不想时不时地学习一个IDE。我已经习惯了Linux和开源的工作方式,我感到非常震惊的是,似乎没有人在Linux上使用开源工具进行任何严肃的嵌入式ARM编程。如果我错了,请纠正我 我没有在Cortex M4F上运行Linux的计划-我只想像普通微控制器一样编程 Texas Instruments建议在评估套件后盖上安装以下工具链之一:Embedded 基于Linux的ARM开发,embedded,arm,cortex-m,Embedded,Arm,Cortex M,我从德州仪器公司购买了Tiva C系列LaunchPad TM4C123G评估套件。该套件包含一个带有ARM Cortex M4F微控制器的小型PCB。现在我想开始为这个微控制器编写软件。我习惯于在Windows上使用AVR Studio为AVR 8位微控制器编程。我听说在Linux上编程基于ARM的微控制器应该很容易,而且由于Linux是我的主要平台,我想要一个简单的IDE,它的工作原理或多或少和我从AVR中习惯的一样 几天来,我一直在寻找一个好的IDE和工具来完成这项工作。令我惊讶的是,只有
- Code Composer Studio IDE:全功能板锁定
- Keil:32KB地址有限公司
- IAR:32KB地址有限公司
- Mentor Embedded Sourcery CodeBench:30天全功能
我真的很想尽快开始。非常感谢您的任何建议和想法:-)无论您拥有哪个评估板,都是一样的:STM32 discovery、LPCXpresso、TI Launchpads。它们非常便宜,但推荐的IDE是有限的:它们的代码大小是有限的,仅限Windows,或者它们绑定到特定的Linux发行版 根据我的经验,选择取决于你的长期目标:
- 您想与AVR 8位(或PIC32、瑞萨RX 32等)共享代码吗
- 建立一个基于
的构建系统是否是一个中期/长期目标make
- 是否需要制表符完成和/或集成调试器
- 您是否希望在将来尝试其他eval板(而不必强制安装另一个IDE)
gcc
编程。据我所知,Code Red、Mentor和MPLABX使用gcc
(或修改后的gcc
)
因此,总是有可能将Eclipse
与Makefile
项目和gcc
一起使用。
我已经尝试过两次,但对我来说效果不好,因为我在不同的目标之间共享库,并且我发现在Eclipse中传递定义很困难
因此,我的IDE是Makefile
、Emacs
和gcc
,我已经完全改用C++:这可能是使用gcc
的另一个优点
这两种可能性(Eclipse和Makefile项目或只是编辑器和make)都不是“现成的”:它们需要时间、耐心和您最喜欢的互联网搜索引擎
更新
我不知道有关于如何设置基于GCC+make的环境的完整教程,所以我只描述了几年前我所做的基本步骤(做了一些更改)
- 从中获取ARM的GCC的二进制分布
- 获取一个发现板,例如STM32价值线发现
- 获取flash实用程序:我正在使用stlink(
)。这也包括一个GDB后端git-clone)https://github.com/texane/stlink.git
- 有各种各样的例子,搜索“stm32vl发现闪烁”(我不能推荐一个,我使用的那个已经消失了)
- 在
Project/Examples/GPIOToggle/TrueSTUDIO/stm32\u flash.ld
- 在
库/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup\u STM32F10x\u ld\u vl.s
- 您将在.zip存档中找到所有其他必需的库,包括文件和源
- 看看GPIOToggle项目(
)project/Examples/GPIOToggle
- 编写一个Makefile来编译、链接和闪存
- 日食CDT
- 获取要使用的工具链(官方GCC版本或为您的平台定制的第三方)
- 通过内部Eclipse构建系统(CDT builder)或通过某些外部构建器(如make)将工具链集成到Eclipse环境中
- 为了获得JTAG调试支持,您需要一个GDB硬件调试Eclipse插件