我正在写我的第一个Forth(在ARM上)。我想在裸机上使用它,因为我认为这就是Forth的重点。但是,在没有Linux系统调用的情况下,我无法找到有关如何编写KEY,EMIT和朋友(基本上是处理键盘)的信息和示例。
我也尝试读取引导加载程序源代码(U-Boot),但是显然这超出了我的理解范围。
您能帮我在裸机ARM组件中编写键盘处理程序循环和REPL吗? like that,但对于ARM。我正在使用Cortex-A8 CPU(ARMv7)。
最佳答案
假设您的目标是BeagleBone Black(在评论中提到),那么我认为您正在考虑使用USB键盘。如果是这样,old_timer关于您“混淆什么是裸机”的评论是完全正确的。如果您真的是在裸机上编码,那么您就没有USB驱动程序堆栈,因此不会从USB键盘读取数据。
您选择采用的任何引导加载程序都有可能在板上包含用于硬件组件的驱动程序,但是您实际上不再使用裸机了。
如果您要坚持使用裸机,则将直接与硬件外围设备进行交互,到目前为止,最简单的通信外围设备是串行端口(UART),可以从另一台计算机连接到该串行端口。这也可以解决输出问题,您没有提到它,但是它可能比输入问题大得多(用裸机驱动屏幕是一个挑战!)。