Embedded 手臂皮质M3初学者需要的建议

Embedded 手臂皮质M3初学者需要的建议,embedded,arm,toolchain,cortex-m3,Embedded,Arm,Toolchain,Cortex M3,我将很快开始ARM Cortex M3潮流,并进行正式培训(CPU方面) 现在,我以前做过一些Arduino和AVR,在电子方面有一些基础知识,但我主要是一名软件开发人员。我在这里和其他地方读了很多关于可用工具的主题,它们非常有用。我需要的是将所有这些答案元素连接在一起 我想为自己配备一个入门工具包,该工具包足够通用,可以让我继续使用,至少可以让我试验不同的硬件/软件组合(步进器、CAN总线、SPI等)。我正在查看以下列表(请随意添加更多项目!): 皮质M3芯片 评估委员会 工具链 JTAG工

我将很快开始ARM Cortex M3潮流,并进行正式培训(CPU方面)

现在,我以前做过一些Arduino和AVR,在电子方面有一些基础知识,但我主要是一名软件开发人员。我在这里和其他地方读了很多关于可用工具的主题,它们非常有用。我需要的是将所有这些答案元素连接在一起

我想为自己配备一个入门工具包,该工具包足够通用,可以让我继续使用,至少可以让我试验不同的硬件/软件组合(步进器、CAN总线、SPI等)。我正在查看以下列表(请随意添加更多项目!):

  • 皮质M3芯片
  • 评估委员会
  • 工具链
  • JTAG工具
对于芯片,我希望其中一款高端机型能够尝试所有功能。NXP LPC1768似乎是一个不错的选择,但也有STM和STARLARIs考虑。p> 目前,该董事会的有趣候选人是Keil MCP1760、STM3210E-EVAL,但我担心供应商锁定,因为我希望能够在单个董事会上尝试各种工具链。mBed非常有吸引力,但由于它是在线编译器(除非也可以使用常规编译器),所以无法满足需要

Rowley Associates表示,对于工具链,我对IAR有一种“感觉”。与开源相比,我更喜欢易用性/完善性,最好是可以用于多个目标的工具

我真的需要JTAG吗?如果这是一个“标准的行业工具”,就像它看起来是,我想至少获得一些经验。这看起来像是另一个供应商锁定的来源。我最好使用一个我能熟悉的外部工具,还是只使用评估板上包含的工具

基本上,我需要帮助为上述类别选择一个获胜的组合。这是可能的,还是我太天真了,应该考虑节约成本,因为我最终会买一个

多谢各位

结果:我点的菜:

我最终购买了Joseph Yiu的“ARM Cortex-M3(嵌入式技术)的权威指南”,找到了CortexM3平台的培训(即将推出),并购买了一个STMicro工具包:STM3210C Eval,它内置了一系列传感器,不受特定软件环境的限制。我还用车载JTAG购买了一些STm32vl发现板(digikey提供13美元cdn!)。我现在玩的是Keil的uVision IDE的评估版(32K),我可以说我真的印象深刻!我能够在一天之内重新构建Discovery的固件,重新加载,并使用调试器逐步完成它


谢谢大家

我最初也是一名软件开发人员。我使用了两种不同的工具,但我发现最容易使用和使用最多的是。从打开盒子开始,你可以在五分钟内把它安装好并运行起来。无需从CD安装任何IDE,无需JTAG加密狗,无需填写数据表-只需编写代码、编译并运行。
是的,有些人抱怨它与在线编译器“绑定”在一起。但我只是从没有真正尝试过的人那里听说的。这是不正确的,你仍然可以使用任何其他可以为LPC1768生成二进制文件的工具链:IAR、Keil、CodeSourcery、Yagarto或你自己的工具链。我自己还没有找到这样的理由,但这肯定是可能的。

mbed最大的缺点可能是它不公开JTAG接口,因此您无法交互调试。到目前为止,我还没有发现这一点很重要,但如果你做了大量的低级工作,这一点可能很重要。

你可能想看看(大约)。它有一个LCD触摸屏、加速计、温度传感器、模拟输入、JTAG、两个串行端口和USB 2.0(内置于SAM3U中)

我喜欢SAM3系列的一点是它的简单性。它有一个板载ROM以及用于程序存储的闪存。从出厂时,它启动ROM(稍后将其更改为从闪存启动),启动USB端口,该端口声明自己是USB通信设备类(CDC),并运行SAM-BA启动监视器。它还有一个片上擦除引脚,可以将整个设置重置为出厂设置

因此,要从头开始重新编程,您需要做的就是:

  • 通电时跳线擦除至少200 ms
  • 重置电路板并将其插入USB端口
  • 在Windows或Linux上运行Atmel的SAM-BA程序
  • 选择串行端口
  • 启用闪存写入
  • 选择二进制文件并发送它
  • 将其设置为从闪存启动
  • 拔下USB接口,然后再次点击重置
不需要加密狗或JTAG盒。我知道通过IAR通过JTAG重新编程的步骤可能更少,但我喜欢知道如果其他工具出现故障,有一种方法可以达到已知状态

IAR工具链支持SAM3系列,并且有一个(我现在尝试将其移植到SAM3U+GCC,因为IAR的$5K许可证对我们来说太丰富了)


SAM3U-EK的另一个优点是:它在板上有一个NAND闪存,如果在运行演示时将板插入计算机,它会将闪存作为“闪存驱动器”安装在计算机上。在本flash中,您可以找到GCC、IAR和Keil工具链的文档、原理图、演示程序和库,以及将演示程序恢复到电路板的说明和文件(在您认为损坏某件东西时很有用)。

llvm和GCC都非常好,无需购买任何软件。这里提供免费帮助的大多数人都将是gcc用户。Codesourcery是当前获得更新/更好的gcc(用于arm)的地方。lite版本非常好。滚动您自己的gcc是一件相对容易的事情,但可能不是您感兴趣的事情。llvm的一个优点是t