Contact me: hankecnc@gmail.com

grbl-手臂 #469

推推 grbl 3年前 (2023-01-22) 297次浏览

关闭
mikejac 打开了这个问题 2014 年 8 月 20 日 · 7条评论
关闭

grbl-手臂#469

mikejac 打开了这个问题 2014 年 8 月 20 日 · 7条评论

注释

grbl-手臂 #469

你好,

(我真的不知道我要进入什么领域,但是这里……)

如您所知,Arduino Zero 即将上市。它具有 Atmel SAM D21 MCU 和 Atmels 嵌入式调试器。SAM D21 是一款运行频率为 48MHz 的 ARM Cortex M0+ MCU。

我没有 Arduino Zero,但有 Atmel SAM D21 Xplained Pro Eval。成套工具。它还具有 SAM D21 MCU 和嵌入式调试器。它还有一个 EEPROM。不知道零是否有EEPROM。

那么,您如何看待启动从 atmega328p 到 SAM D21 的端口,尤其是如果我这样做呢?我并不是说我能做到这一切,但至少开始吧……

在你回答之前,我有以下几点:

  1. 我将使用 Atmel Studio 6.2。它仅适用于 Windows(它基于 Microsoft Visual Studio),但至少它是免费的。

  2. 让 grbl 在 FreeRTOS 上运行怎么样?

  3. 网络怎么样?这必须是可选的,因为零没有网络控制器。我将使用 Micrel KSZ8851SNL/SNLI(它使用 SPI 与主机 MCU 通信)只是因为 Atmel 软件基金会已经有它的驱动程序和 ip-stack。预先它可以与 ChiliPeppr JSON 服务器兼容,以便 ChiliPeppr 可以直接与其对话。还想到了 MQTT :-)

想法?

/迈克尔

grbl-手臂 #469
成员

@mikejac: 你进入了很多。:) 我最近研究了很多此类内容,可能可以回答您的一些问题。

  1. 我个人不使用 Atmel Studio,但这不会改变任何东西,只要 Grbl 可以通过 Arduino IDE 中包含的 ARM gcc 版本进行编译即可。

  2. 我也研究了 FreeRTOS。我认为还有许多其他方法可以完成与 FreeRTOS 相同的事情。Grbl 总体上并不太复杂,无论如何都不需要这种类型的东西,这只会增加复杂性,因为必须了解 FreeRTOS 正在做什么。

  3. 外部网络作为可选模块很好,不应添加 Grbl MCU 需要管理的更多内容。Grbl 确实应该专注于执行步进脉冲并按照编程管理运动路径。

至于在 ARM 端口上开始工作,我将完全解构和重构 Grbl 代码库,使其更容易移植,帮助未来证明它,并简化执行。我也将更改接口,其中将包括 Chilipeppr 的 JSON 接口之类的东西,因为我们将有空间添加它。我已经开始离线工作了。

因此,在直接移植当前代码上做大量工作并没有多大帮助,或者向其中添加很多特定的东西。但是,尽管如此,找出让 Grbl 在 SAMD21 上运行所需的条件仍然非常有用。已经有一些用户试图将其移植到其他一些架构,例如 Teensy 的飞思卡尔和 TI MCU。他们遇到了诸如如何设置串行接口、处理缺少或使用虚拟 EEPROM 或管理 ISR 等问题,因为从 AVR 到 ARM(及其所有无限变体),一切都有些不同。在确定如何进行下一步时,我会密切关注他们的进展。如果您决定开始移植 Grbl,请确保让我了解情况并发布代码!

grbl-手臂 #469
作者

@chamnit: 感谢您的答复。我是否应该决定尝试一下,叉子是最好的方式(github 上的新功能)吗?

grbl-手臂 #469
成员

@mikejac:分叉可能是最好的方法,是的。Github 有一个小的学习曲线和一些烦恼,但没有什么疯狂的。

grbl-手臂 #469

嗨…我正计划将 grbl 移植到 Atmel SAM4S…。还有人感兴趣吗?

grbl-手臂 #469

我有一个 ti 的 tiva 版本可用……
我只通过预处理器进行硬件抽象……

markus schorer mobile
2015 年 7 月 28 日 20:25,“sagonzal” notifications@github.com写道:

嗨…我正计划将 grbl 移植到 Atmel SAM4S…。还有人
感兴趣吗?


直接回复此电子邮件或在 GitHub
#469(评论)上查看。

grbl-手臂 #469

马库斯,很抱歉问,但你的意思是“仅预处理器……”?

grbl-手臂 #469

嗨,我也不太清楚… :-)

我正在尝试使用预处理器宏来封装硬件抽象。我
想在整个地方避免使用#ifdef-fing Plattform 依赖代码 – 并
降低代码的可读性。还要避免
标准 arduino/avr 案例的额外周期和内存消耗。
这工作得相当好——除了我对 grbl 的添加。但这是
正在进行的工作……

自己看看:github.com/mschorer/grbl
http://github.com/mschorer/grbl-tiva在 The tiva Branch …

马库斯肖勒手机

马库斯,很抱歉问,但你的意思是“仅预处理器……”?


直接回复此电子邮件或在 GitHub
#469(评论)上查看。

喜欢 (0)