注释
特热约 评论 on 3 Jul 2016
|
我目前也在移植到 ARM、德州仪器 Tiva C (TM4C123GH6PM)。我的 HAL 实现基于函数指针。我会将代码更改为库,因为我的目的是将其集成到我制作的CO2 激光控制器的另一个项目中。我并不着急,因为我的控制器已经支持 Mach3 – GRBL 端口将在今年年底完成? 我知道 GRBL 核心团队也在研究 HAL – 但我不知道他们的方法是什么,也许是因为 8 位处理器仍需支持这一事实而受到限制? |
危机 评论 2016 年 7 月 3 日
|
您为 tivaC 制作不同端口的原因是什么?
|
|
@cri-s不确定您所说的“不同”是什么意思,无论如何,我的主要原因是我的激光控制器是基于 Tiva C 的,并且该端口是针对此的。另一个原因是我想做一些硬件/固件设计只是为了好玩(和学习)——即使我可以花更少的钱购买现有的控制器。 |
|
@terjeio: 没有多少“团队”Grbl,因为很长一段时间以来都是我自己。v1.0 发布后不久将放弃对 8 位的支持。我将继续投入我所有的时间来继续开发 ARM 版本,这是对 Grbl 基础代码的完全重写。Grbl 本身是专门为 8 位 AVR 设计的,并且有很多“令人讨厌”的代码,这些代码是为了最大限度地提高性能和减少编译的闪存大小而编写的。主要是后者。ARM 版本没有这样的限制,并且有许多算法改进将使其在基本层面上变得更好。我不会透露它们是什么,但它们会很棒。 |
|
@rspievakc: 不,目前不是,但我会定期关注人们将 Grbl 移植到不同的 ARM 芯片。了解其他人如何解决问题总是有帮助的。 |
危机 评论 2016 年 7 月 3 日
|
@rspievakc:lasaurGrbl 是一个始终针对 tivaC123 的端口, 2016-07-03 0:35 GMT,Sonny Jeon notifications@github.com:
|
|
@cri-s:非常感谢指向现有 Tiva 端口的指针 – 我会调查它。我一眼就能看出 HAL 是基于 #define 的——我使用的是一个包含指向函数的指针的结构,这意味着 HAL 将与不同实现的主 Grbl 代码库完全分离——从而更容易移植和维护(国际海事组织)。 |
|
很高兴看到“端口”没有被忽视.. 我的目标是:
到目前为止,我已经为 tiva 做了一个 boosterpack/shield,增加了
|
|
搜福又失败了!但是这一次,稍微有点扭曲……在我的工作进展顺利之后很久,这个线程就出现了(并且引起了我的注意)。 |
|
这是我将 GRBL 1.0d 移植到 STM32F103C8T6 的尝试。https://www.youtube.com/watch?v=ehgXMa2spWM&feature=youtu.be。我只有3020 CNC,没有测试限位开关。我将很快购买限位开关安装在我的 CNC 控制器上以测试该功能。未实现主轴或冷却液功能。它使用微型 USB(串行端口模拟)。EEPROM 实现使用 1K 的闪存来存储数据。我使用 |
|
“usbcnc” 怎么联系你? |
|
给你。还有一个 WINdows 模拟项目(有助于调试代码)。您可能需要修改文件夹。STM32 项目文件在 STM32GRBL 下。grbl 文件位于 grbl-masterwin 下。(是的,Windows 模拟文件在其中)。要为 STM32 启用 EEPROM 仿真,您需要在 grbl.h 中取消注释 NOEEPROMSUPPORT。如果你只是在你的机器上运行它或调试代码,真的没有必要,因为它最终可能会扼杀闪存的寿命。但是这个功能有效。我所做的是使用刷新函数来写入闪存,而不是使用 STM 的 EEPROM 库。那一个至少需要 2K 闪存,并且可以轻松模拟 GRBL 的 EEPROM。对 Windows 也进行了相同的仿真。(检查 eeprom.c)。 要运行 Windows 模拟,如果您没有任何串行端口,则它接受键盘。如果你有两个串口并互相连接TX-RX,你用一个串口的参数启动win-grbl(比如grbl COM3),你可以在另一个串口上运行gcode-sender,它可以工作,你可以把任何地方的断点来调试代码。 我首先移植到 Windows,因为 Windows 不喜欢某些 C 风格(在中间声明变量),所以我改变了很多)。 |
|
@ericwazhung: 惊人的!感谢分享! |
|
这是我对 HAL 抽象的方法。代码未经物理机测试且不完整,仅用于分享想法。 步进驱动器 ISR 在 80MHz Tiva C 处理器上的执行时间约为 7uS… |
|
终于学会了如何使用 github 推送更改。 |


斯皮耶瓦克 评论 2016 年 6 月 29 日 •
我正在将代码移植到 ARM 微控制器和 GCC 工具链。我的问题是,是否有任何项目已经这样做了?在这种情况下,我可以为它做出贡献,而不是从头开始。
我已经调整了最新的源代码并准备好了硬件抽象。我还创建了一个设置,它使用 Segger System View + JLink 来跟踪执行点并验证逻辑 + 时序是否都正确。硬件抽象使用内联语句来避免调用分支。
我还在使用 NXP 的 FRDM-64F 和 Cypress PSOC 4200 和 PSOC 4200M 对其进行测试。
我的下一个问题是我应该创建一个新的 GitHub 存储库还是应该在 GRBL 树中共享代码?
感谢您的帮助。