#serial #comet #operating-system #os #starlight

app starlight-comet

Comet是一个为Starlight操作系统制作的调试工具

3个稳定版本

1.0.2 2024年8月13日

#102 in 调试

Download history 324/week @ 2024-08-11

每月324次下载

Apache-2.0

17KB
299 代码行

☄️ Comet

为Starlight操作系统制作的调试工具

Crates.io Version Crates.io Downloads (recent) Crates.io License Crates.io Size

安装

使用Cargo ↗

使用Cargo(如果你在Starlight仓库中,你很可能已经有了它),Rust的包管理器,可以方便地安装和/或更新Comet。

cargo install starlight-comet

特性

  • 🐛 Starlight Serial Output Debugging 简单地运行Comet,坐下来放松,抓取那些讨厌的虫子!

  • 🚀 Starship Integration Comet与🚀 Starship ↗集成,使🌟 Starlight ↗的开发者能够通过UART上传新的Starlight构建。请注意,为了集成工作,你需要将Starship构建闪存到你的BOOT分区。

  • ⏳ Starship Emulation with QEMU Comet支持在子进程中运行QEMU,将串行STDIO管道到Comet的Starship集成,以保持调试工作轻松,即使对于Starship开发也是如此。

使用方法

comet debug

打开到<PORT>的串行连接,将数据发送到STDOUT

设备类型前缀和消息发送到STDERR以实现互操作性。这些可以通过--quiet完全删除。

Usage: comet debug [OPTIONS] --port <PORT>

Options:
  -p, --port <PORT>
  -q, --quiet

comet upload

打开到<PORT>的串行连接,将数据发送到STDOUT

当读取到Comet二进制请求命令(由🚀 Starship ↗从设备发送)时,Comet将发送<FILE>的内容回Starship以加载和执行。

设备类型前缀和消息发送到STDERR以实现互操作性。这些可以通过--quiet完全删除。

Usage: comet upload [OPTIONS] --port <PORT> --file <FILE>

Options:
  -p, --port <PORT>
  -f, --file <FILE>
  -q, --quiet

comet test

启动一个QEMU进程(使用--qemu-bin来指定自定义的QEMU可执行文件)并带有指定的参数(--qemu-args),创建一个虚拟串行连接,该连接映射到QEMU进程的STDINSTDOUT。从Comet的角度来看,这是一个与其他串行连接类似的连接。QEMU的STDERR继承Comet的STDERR,并且不尊重--quiet选项。

如果设置了--upload-file,Comet将等待Comet二进制请求命令(由QEMU通过🚀 Starship ↗发送)并将<FILE>的内容发送回Starship以加载和执行。

设备类型前缀和消息发送到STDERR以实现互操作性。这些可以通过--quiet完全删除。

Usage: comet test [OPTIONS] --qemu-args <QEMU_ARGS>

Options:
  -a, --qemu-args <QEMU_ARGS>
  -b, --qemu-bin <QEMU_BIN>        [default: qemu-system-aarch64]
  -u, --upload-file <UPLOAD_FILE>
  -q, --quiet

杂项

Comet和相关项目由@yolocat-dev ↗设计和开发,尽管总是欢迎贡献!

Comet与其他存储库一样,采用Apache License 2.0许可。请随意阅读LICENSE文件中的实际法律条款。

依赖项

~6–15MB
~183K SLoC