加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

嵌入式 – Linux上的ARM开发

发布时间:2020-12-13 17:00:19 所属栏目:Linux 来源:网络整理
导读:我从德州仪器购买了Tiva C系列LaunchPad TM4C123G评估套件.该套件包含一个带有ARM Cortex M4F微控制器的小型PCB.现在我想开始为这个微控制器编写软件.我习惯使用 Windows上的AVR Studio对AVR 8位微控制器进行编程.我听说在 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 – 我只是想像普通的微控制器一样编程.

德州仪器(TI)推荐评估套件后盖上的以下工具链之一:

> Code Composer Studio IDE:锁定全功能板
> Keil:32KB地址有限
> IAR:32KB地址有限
> Mentor Embedded Sourcery CodeBench:30天全功能

我也从code_red推荐了Red Studio.

既不是开源的也不是免费的,都有局限性.在我看来,只有Code Composer Studio和Red Studio兼容Linux.

我偶然发现了另一种产品Rowley CrossWorks,它也兼容Linux,但仍然非常商业化和昂贵.

没有开源替代方案,这是真的吗?大多数产品似乎都使用Eclipse和GCC,没有这些商业软件包应该可以做到,对吗?我找不到任何教程或指南,解释如何为嵌入式ARM编程设置它.另外,我需要知道如何在编译后对器件进行编程.

我真的很想早点开始.任何建议和想法都非常感激:-)

解决方法

无论您使用哪种评估板,它都始终如一:STM32发现,LPCXpresso,TI Launchpads.它们非常便宜,但推荐的IDE是有限的:它们的代码大小有限,仅限Windows,或者它们绑定到特定的Linux发行版.

根据我的经验,选择取决于您的长期目标:

>您想与AVR 8位(或PIC32,Renesas RX 32,…)共享代码吗?
>基于make的构建系统是中期/长期目标吗?
>您是否需要制表完成和/或集成调试器?
>您是否希望将来尝试其他评估板(而不是被迫安装另一个IDE)?

或者你只是想快速启动并运行它.在这种情况下,我会使用推荐的IDE之一来获得印象.

另一方面,我使用的所有32位微控制器(Cortex-M0 / 3/4,PIC32,Renesas RX)都可以用gcc编程.据我所知,Code Red,Mentor和MPLABX使用gcc(或改进的gcc).

所以总是有可能将Eclipse与Makefile项目和gcc一起使用.
我已经尝试了两次,但它对我来说效果不好,因为我在不同的目标之间共享库,我发现很难在Eclipse中传递定义.

所以我的IDE是Makefile,Emacs和gcc,我已经完全切换到使用C:这可能是使用gcc的另一个优点.

两种可能性(带有Makefile项目的Eclipse或只带有make的编辑器)都不是“现成的”:它们需要时间,耐心和您最喜欢的互联网搜索引擎.

更新

我不知道有关如何设置基于GCC make环境的完整教程,因此我简单地描述了几年前我做过的基本步骤(有一些更改).

>从https://launchpad.net/gcc-arm-embedded获取ARM的GCC二进制分发版

以下步骤是STM32特定的:

>获取其中一个发现板,例如STM32价值线Discovery.
>获取Flash实用程序:我正在使用stlink(git clone https://github.com/texane/stlink.git).这包括GDB后端.
>有各种各样的例子,搜索“stm32vl发现眨眼”(我不能在这里推荐一个,我用的那个已经消失了)

作为替代(或后续):获取外设固件示例

>您将在Project / Examples / GPIOToggle / TrueSTUDIO / stm32_flash.ld中找到GNU ld兼容的链接描述文件>您将在Libraries / CMSIS / CM3 / DeviceSupport / ST / STM32F10x / startup / TrueSTUDIO / startup_stm32f10x_ld_vl.s中找到GNU兼容启动>您还可以在.zip存档中找到所有其他必需的库包含文件和源>查看GPIOToggle项目(Project / Examples / GPIOToggle)>编写Makefile进行编译,链接和闪存

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读