目录
目录README.md

OneOS · Losu

本组件用于在 OneOS 上提供可用的 Losu 语言运行时,支持用户通过独立项目、内置脚本库和控制台解释器三种方式运行 Losu 脚本。

项目目前已实现 stdlib、machine 两个库。其中 machine 库专为 OneOS Lite v3.2.0 适配编写,可用于操纵单片机上的 GPIO、UART、ADC、PWM 模块。

部署方式

参考 Losu 官方文档,在本机上编译 Losu SDK,并将 losuc.exe 置于 PATH 环境变量中。

将本仓库下载拷贝至 OneOS源码目录\components\losu 。目录结构如下:

OneOS-Lite-V3.2.0\components\losu
├── include                                # 头文件目录
├── scripts                                # 组件内置的测试脚本
├── source                                 # C语言源码目录
│   ├── losu_core                          # Losu 语言运行时
│   ├── losu_interpreter                   # 交互式解释器
│   ├── machine                            # machine 类实现代码
│   └── stdlib                             # stdlib 类实现代码
├── template                               # 独立项目的模板
├── Kconfig                                # 编译配置选项
├── LICENSE                                # 开源许可证 MIT
├── README.md                              # 说明文档
└── weave.yaml                             # OneOS 编译脚本

本项目支持三种方式运行 Losu 脚本:独立项目、内置脚本库和控制台解释器。

独立项目

该方式下,用户可在板级项目中直接使用 Losu 语言编写程序,系统开机自动运行。

  1. 进入 OneOS源码目录\projects ,使用 oos project 命令创建工程,并在弹出的界面中选择OneOS 已支持的芯片型号,完成后按 s 保存,esc 退出。
  2. 待工程创建成功后,可进入 OneOS源码目录\projects\STM32XX芯片型号 目录查看生成的对应芯片工程项目。
  3. 进入到 OneOS源码目录\projects\STM32XX芯片型号\application 目录下,将原有的文件全部删除,再将 OneOS源码目录\components\losu\template 目录下的所有文件拷贝至上述 application 目录下。
  4. application 目录下的 main.els 中使用 Losu 语言实现相应的逻辑,如果业务还需实现其他底层功能,也可通过编辑 main.c 文件和创建其他 C语言 文件实现。
  5. OneOS源码目录\projects\STM32XX芯片型号 目录下,运行 oos config 命令,进行必要的系统配置,此处必须选中 Componets ─> Losu 界面下的 Enable Losu programming language support 选项,并根据具体情况选中所需的 Losu 附加库 stdlib(Enable Losu std library) 和 machine(Enable Losu machine library)。
  6. OneOS源码目录\projects\STM32XX芯片型号 目录下,运行 oos build 命令,开始编译,完成后在该目录下的 out 文件夹下可以找到生成的二进制的文件和ELF文件。

独立项目中的 Losu 脚本开机运行一次后自动结束,编译系统可识别 application 目录下的所有 C语言文件并编译进系统,但是系统将只能识别并运行一个 Losu els 脚本文件。

内置脚本库 & 控制台解释器

OneOS源码目录\projects\STM32XX芯片型号 目录下,运行 oos config 命令,进行必要的系统配置,并开启以下选项:

子菜单 选项名 作用
Componets ─> Losu Enable Losu programming language support 编译 Losu 运行内核
Enable interactive Losu interpreter 编译交互式 Losu 解释器
Enable Losu std library 编译集成 Losu 标准库
Enable Losu machine library 编译集成设备操作库
Integrate Losu builtin scripts 集成内置脚本库
Componets ─> Shell Enable shell 编译 OneOS 内置的Shell
Drivers→ CONSOLE Enable console 启用 OneOS 控制台
The device name for console 准确填写控制台串口名

系统编译、烧录后,在 OneOS 控制台下运行 losu命令即可进入交互式解释器界面。交互式解释器同时支持单行和多行脚本运行,用户可以在控制台中输入正确的 Losu 语句并立即得到结果。

运行 losu -b N可执行编号为 N 的内置脚本,脚本具体内容在OneOS源码目录\components\losu\scripts 目录下,N 取值从 0 开始,若超过可用的脚本数量,则默认执行 0 号脚本。

运行 losu -v 命令,将仅输出程序版本后退出。

关于

洛书(Losu,也称 losu-lang,easylosu),是一门图灵完备的超轻量级的跨平台脚本语言。易上手、零依赖、零配置,支持Windows、Linux、各类RTOS与物联网操作系统、甚至裸机环境(MCU)运行。以极低的资源占用(16KB+)为项目提供灵活、高效、易拓展的非侵入式脚本服务。

195.2 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

©Copyright 2023 CCF 开源发展委员会
Powered by Trustie& IntelliDE 京ICP备13000930号