在ARM微控制器上开始编程的绝对最便宜,(简便)方式


18

我想开始使用ARM处理器,从已经使用了太长时间的PIC进行迁移。8位模型的价格不到1美元,程序员的价格不到10美元,而上手的便捷性和低成本却让我大失所望。但是,看到它们的功能被价格相同的某些ARM芯片相形见,,并且对封闭源代码软件感到厌倦,我想进行切换。

我宁愿避免使用任何开发板,而是使用便宜的通用突破性PCB($ 1)并直接在面包板上使用任何必不可少的外部组件来实现它。

通过这种方式对ARM芯片编程的选择有哪些?是否有诸如PICKit2之类的编程器使用USB连接到PC,并通过与芯片的简单串行连接(如ICSP)进行编程?不同的ARM制造商,ARM版本和单个芯片在设置方面有多少差异?(ST,Atmel ...)例如,每个制造商是否需要他们自己的编译器,程序员,IDE等?还是有适用于所有人的通用工具?

编辑:好的,所以经过更多研究,我相信我想出了一个相对便宜的解决方案,可以使用DAPLINK固件来刷新stm32开发板,但是我不相信官方的github固件会本地运行(所有这些都是推测,直到我通过邮件获取我的stm32开发板)。但是我发现readbear mk20随附的daplink_usb板正在运行stm32芯片,他们已经发布了固件,该固件需要进行更改以使其与8mhz晶体兼容(在下面的论坛文章中详细链接)。否则,以16 MHz的频率更换晶体。开发套件到货后,一旦我确认了这一点,疾病就会更新。

GITHUB回购

好论坛资源在这里

Redbear Github叉子


4
很高兴认识到,5美元可以让您获得Raspberry Pi Zero,这是由一个完全正常(免费)的GCC支持的。而且,如果您刚刚震惊了ARM微控制器的速度有多快,那么RPi将会再次使您震惊。IMO的主要问题是没有ARM制造商了解RPi下面的消息。您不会再在ARM micrcontrollers上赚到多少钱,但是通过提供即用型CPU模块,您将获得更多收益。
MSalters '16

4
有时在嵌入式应用程序中使用现成的CPU模块是过大的选择。
Bence Kaulics '16

3
@ MSalters,RPI很大...我只是不需要它附带的其他功能。我需要在非常紧凑的空间中使用裸机来进行快速实时处理。同样,RPI消耗的功率比可接受的还要多。
CL22

3
当然可以,但是大多数开发板都会采用这种方式。但是,MCU开发的一大优点是,硬件和软件开发都可以隔离到一个点。
伊格纳西奥·巴斯克斯·阿布拉姆斯

2
考虑获得带有集成USB-SWD桥的低成本开发板。这将使您能够访问调试功能以及代码下载。您可以根据自己的需要将SWD访问权分配给其他任何目标。
肖恩·霍利哈内

Answers:


14

stm32F0和stm32L0生产线的发现板价格约为10美元,Keil将以零成本为该生产线提供全功能IDE。

Keil free pro MDK安装说明请点击此处

另外,ARM有一份有关从PIC迁移到Cortex M3 的白皮书,您可能会发现有帮助


7
+1但也值得注意的是,大多数(所有)发现板均具有内置的STLINK,该STLINK也可用于通过配置跳线来对独立设备进行编程。
罗杰·罗兰

@RogerRowland-很好 我以前使用过板载编程器编写自己的板子。一般来说,发现是一条绝妙的路线。我希望它们有安装孔!
Scott Seidman

您会推荐Nucleo还是Discovery?它们似乎价格相同,并且都具有ST-LINK。
大卫,

@david,还没有使用核子,但是我可以说“发现”对我很有帮助。在该价格点,各取一个(尽管我要进行两个发现!)
Scott Seidman

戴夫•琼斯(Dave Jones)最近制作了一个EEVblog视频,内容是有关ARM32低功耗MCU的开发板的。也许是相关的。
洛伦佐·

7

最简单的方法-花费超过$ 10,000美元购买功能齐全的Keil Pro编译器,购买其JLINK调试器(也许再花$ 1,000美元-有某些限制的价格更便宜)。IAR是另一种昂贵的可能性(为30天IAR演示工作的STM32F7 Cortex M7处理器提供了示例)

最便宜的方法-下载并安装带有JLINK调试器插件的(免费)GCC-ARM + Eclipse工具链。以20美元左右的价格获得一个JLINK克隆,我认为它可以正常工作-尚未经过测试,用于调试。

网上有针对后者的详细说明,但是它们做出了某些假设。预计要花一天或更长时间才能完成,尤其是在Windows下。不要指望不用做一些工作就能使用为其他IDE提供的许多示例。令人印象深刻的是,免费工具链可以使用“ packs”(现在是“ experimental”)。

还有其他一些系统,例如Rowley Crossworks(我相信它使用gcc),在财务上没有那么麻烦。Atmel Studio是另一种产品,但是我经验丰富的固件开发人员对它有所抱怨(我自己只是短暂玩过一次)。

如果您的代码需求少于32K,则可以免费使用相同的Keil系统(代码受限版本),但是请注意,升级路径很简单,但代价却很高。例如,它不会为SAME70编译简单的以太网示例。如果您要用低端ARM替换PIC或AVR,则很好,但是如果要使用ARM,则不是很好,因为您实际上需要与LCD显示器对话并运行复杂的通信协议(可以包括预编译的模块而不会影响上限为32K,我尚未研究该特定角度)。


7

这是我使用的:

  • STM32F103“最小系统板”(例如,参见此处Cortex-M3内核),采用3.3V或USB电源运行,没有任何外部组件,每个克隆的价格约为3美元。这非常适合您的要求,即“通过廉价的通用突围PCB并在面包板上直接进入”。
  • ST-Link V2 USB编程器克隆(看起来像这样),起价约为2美元,并且还支持片上调试。
  • EmBitz(以前为Em :: Blocks)作为具有gcc工具链的IDE,US $ 0
  • STM的CubeMX可帮助您开始新项目,0美元

5

最简单的开始可能是第三方克隆板之一。来自ST的随机示例。这就要求程序员使用“ SWD”协议。意法半导体(ST)制造“意法半导体(ST-LINK)”品牌的产品,我不确定您是否必须在意法半导体(ST)设备上使用意法半导体(ST)的产品,或者它是否真的是通用的。

SWD和JTAG的某种组合在ARM系统上扮演了ICSP的角色,为您提供了编程和调试功能。

在软件方面,通常可以在大多数芯片上使用GCC和OpenOCD。每个设备的详细信息略有不同。专业人士经常使用Keil工具链,这非常昂贵。

某些设备(例如Kinetis系列)具有USB引导加载程序:该设备显示为大容量存储设备,您将BIN文件下载到该设备上并按一个按钮。最简单的解决方案,无需程序员。Atmel AT91具有USB引导加载程序,可与称为SAM-BA的专有协议一起使用。


st发现和核子板上有一个链条,价格比独立的链条加密狗低30%。另外,您至少可以玩一个MCU。获得stlink仍然很好,您可以将它与openocd一起使用,以通过swd连接到其他st或非st cortex-m芯片。
old_timer '16

1
有趣的Kenetisis芯片我试过我不能使用(至今),因为它还没有bootloader仅是swd,也不会使用stlink连接起来,据说需要cmsis-dap。同样,samd21不再带有引导加载程序,您可以添加一个引导加载程序,但它实际上位于应用程序闪存空间中,对于意外擦除来说非常简单。stm32s仍然像nxp一样有一个引导程序,也许这也要消失了……
old_timer '16

3

在IDE方面,Silicon Labs提供了基于Eclipse的Simplicity Studio。它是GCC的标准配置。

他们出售的所有入门工具包都有内置支持,因此入门起来相对轻松。

编程使用入门工具包的Segger J-Link驱动程序(免费)。只需将套件连接到USB即可。

Atmel的Studio是基于Visual Studio IDE的,可以连接到任何Atmel调试器。这也随GCC一起提供。

两家供应商都有许多(非常多)的示例来驱动他们的设备。

我都使用了这两种方法,尽管文档并不完美(从来没有),但这足以使我相对轻松地工作。

许多ST套件(和其他套件)都启用了mbed


2

赛普拉斯生产具有DIP-40尺寸的基于PSOC-4200的(ARM Cortex M0)分支板,该分支板在分支部分包括基于USB的编程适配器。Digi-Key的分线板和连接的(可拆卸)编程适配器的价格高达3.99美元。


1

我会推荐CooCox-它是相同的GCC + Eclipse组合,但无需手动配置工具链,只需安装它并开始编码。


看起来不错,我猜不支持Atmel。是否支持ST M7内核?
Spehro Pefhany '16

似乎不支持Atmel,组件中有一些STM32F7系列库。不得不说,CoIDE的未来并不明确-网站混乱,现在很少进行更新,但是从ARM编程(特别是STM32)开始,仍然是不错的选择。
侧卫

1

我认为TI,NXP(由NXP + Freescale组成)和ST是皮质M世界的主要角色,特别是ST和NXP为新手提供了一个真正具有竞争力的工具,另一个重要参数是在开源社区中的流行,这导致了教程,库,设备驱动程序,工具等。

然后 :

  1. mbed在线编译器+ mbed开发板
  2. STM32发现板(如STM32F407discovery)+内置st-link调试器+ SPL或HAL(STM CUBE)框架+免费许可证keil IDE。
  3. LPC发现板+ LPC-link 2调试器+ LPCOPEN框架+ LPCXPRESSO免费许可证IDE。

2号和3号比业余爱好更适合上层人士。还请记住,使用IAR,Keil甚至LPCXPRESSO等专业工具的免费许可,您可以轻松转移到专业领域。


1
ARM的mcu库和工具链mbed-请参阅[ developer.mbed.org] [developer.mbed.org]
Sean Houlihane
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.