# pony **Repository Path**: icanpool/pony ## Basic Information - **Project Name**: pony - **Description**: A new generation lightweight real-time operating system (RTOS) - **Primary Language**: C - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/icanpool/pony_doc - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-02-04 - **Last Updated**: 2025-06-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: Pony, RTOS, IOT, embedded ## README # 前言 Pony 是一款以 LiteOS-Nova 内核为蓝本而开发的轻量级嵌入式实时操作系统(RTOS)。 如今,独立的 LiteOS 已逐渐退出历史舞台,其内核以全新的姿态融入 OpenHarmony,成为其底层实时内核的基础。 作为一名曾经的 LiteOS 开发者,希望通过 Pony,在保留 LiteOS 优秀基因的情况下,对开源 RTOS 做一些实践。 # 目录 |一级|二级|三级|说明| |:--|:--|:--|:--| |arch|arm|cortex-m|体系架构,当前仅支持 Cortex-M 系| |compat|cmsis
hal
kal
posix
...||兼容层,包括系统、硬件等抽象层| |components|cmder
fs
log
...||组件,包括shell、文件系统、日志等| |drivers|...|lcd
mtd
sensor
tp
...|驱动| |include|...||公共头文件| |kernel|...||内核| |mm|...||内存管理| |projects|...||项目/工程| |scripts|...||辅助脚本工具| |sdk|ambiq
arm
nordic
st
ti
...||芯片的库代码| |service|||基础服务组件| |target|board
soc||目标单板和SOC| |tests|gtest
llt
...||单元测试| |thirdparty|lvgl
usbx
...||第三方组件| |utils|...||通用组件| # 命名 |模块|规则| |:--|:--| |arch|文件名以 a_ 作为前缀| |hal|文件名以 hal_ 作为前缀| |drivers|头文件路径以 pony 作为前缀| |kernel|文件名以 k_ 作为前缀| |mm|文件名以 m_ 作为前缀| |include
utils
service|文件名以 x_ 作为前缀| 说明: - 公共类文件,文件名以 x_ 作为前缀 - 特殊类文件,文件名以特殊的前缀字母作为标识 - 采用特殊的前缀,有以下几点考虑: - 减少命名冲突,便于集成其它开源软件 - 减少包含头文件时的路径深度,比如:代替 - 起到强调作用,看到前缀可以快速知道用途 # 体验 请访问 [项目文档](https://gitee.com/icanpool/pony_doc) 或本地 [doc](./doc/README.md) 内的文档开启 pony 之旅。 下面是 pony 在 QEMU 模拟器上运行的输出示例: ```shell Welcome to pony! build time: Jun 23 2025 09:12:54 build tool: +GNUC xsh> i NAME ENTRY TASK_ID O_PRI C_PRI SP_BASE LOWEST NOW SP_TOP STATUS PC =================== ======== ======== ===== ===== ======== ======== ======== ======== ======= ======== main 10000121 38003b28 20 20 38003be8 380043f0 380043f0 38004410 READY 10000121 cmder 100052e5 38002a38 1 1 38002af8 380039a4 38003b00 38003b20 RUNNING NA defer 100002bd 38000c28 0 0 38000ce0 3800141c 38001498 380014e0 PENDING 10006dd6 idle 10001695 380016dc NA NA 38001640 380016a0 380016a0 380016c0 READY 10006ca4 xsh> ? i - show task information uptime - show the system running time meminfo - show memory information, usage: 'meminfo [--chunk]' dev - show device driver help - show help content (which you are seeing) ? - show help content (which you are seeing) history - show command history, continuous same commands will only save once m - modify memory d - display memory xsh> ``` # 后语 - 欢迎提交 issue 对关心的问题发起讨论 - 欢迎 Fork 仓库,pull request 贡献 - 欢迎加 QQ 群: 1043214541 交流