开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
forked from OneOS/OneOS
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
dev
分支 (10)
标签 (4)
dev
OneOS-V3.0.1
master
OneOS-V2.4.1
OneOS-V2.3.1
OneOS-V2.2.1
OneOS-V2.2.0
OneOS-V2.1.0
OneOS-V2.0.0-Beta
OneOS-V2.0.1
OneOS-v3.0.1
OneOS-v2.4.1
OneOS-v2.3.1
OneOS-v2.2.1
dev
分支 (10)
标签 (4)
dev
OneOS-V3.0.1
master
OneOS-V2.4.1
OneOS-V2.3.1
OneOS-V2.2.1
OneOS-V2.2.0
OneOS-V2.1.0
OneOS-V2.0.0-Beta
OneOS-V2.0.1
OneOS-v3.0.1
OneOS-v2.4.1
OneOS-v2.3.1
OneOS-v2.2.1
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
dev
分支 (10)
标签 (4)
dev
OneOS-V3.0.1
master
OneOS-V2.4.1
OneOS-V2.3.1
OneOS-V2.2.1
OneOS-V2.2.0
OneOS-V2.1.0
OneOS-V2.0.0-Beta
OneOS-V2.0.1
OneOS-v3.0.1
OneOS-v2.4.1
OneOS-v2.3.1
OneOS-v2.2.1
SConscript 3.59 KB
一键复制 编辑 原始数据 按行查看 历史
likefei 提交于 2022年11月18日 19:51 +08:00 . first merge yaml
import os
import sys
import subprocess
from oneoslib.build_tools import *
Import('OS_ROOT')
objs = []
cwd = PresentDir()
list = os.listdir(cwd)
for item in list:
if os.path.isfile(os.path.join(cwd, item, 'SConscript')):
objs = objs + SConscript(os.path.join(item, 'SConscript'))
global qstr_srcs
qstr_srcs=[]
def gen_srcs():
global qstr_srcs
for item in objs:
filename=str(item)
dlen = len(cwd)
if filename[:dlen] == cwd:
if filename[dlen:] != "\\kernel\\lib\\utils\\pyexec.c":
qstr_srcs.append(str(item))
qstr_srcs.append(cwd+"/kernel/py/mpconfig.h")
qstr_srcs.append(cwd+"/user/start/include/mpconfigport.h")
def create_dir_not_exist(path):
print(path)
if not os.path.exists(path):
os.mkdir(path)
def gen_qstr(env, target, source):
ucwd = "../../components/MicroPython/"
qstr_files=""
dlen = len(cwd)
for item in objs:
filename=str(item)
if filename[:dlen] == cwd:
qstr_files+=ucwd+filename[dlen+1:]+" "
qstr_files+=ucwd+"kernel/py/mpconfig.h"+" "
qstr_files+=ucwd+"user/start/include/mpconfigport.h"
qenv_path = Env.get('CPPPATH', [''])
# special cflags
qstr_flags=' -E -DNO_QSTR'
qenv_lpath=" "
vcwd = "../../"
dlen = len(OS_ROOT)
for j in qenv_path:
filename=str(j)
qenv_lpath+="-I"+vcwd+filename[dlen+1:]+" "
#need cpppaths after micropython
qenv_lpath+="-I../../libc/include"+" "
qenv_lpath+="-I../../libc/include/newlib"+" "
gendir = cwd+"/user/start/include/genhdr"
create_dir_not_exist(gendir)
qstr_cmd="python "+cwd+"/tools/makeversionhdr.py "+cwd+"/user/start/include/genhdr/mpversion.h"
print("GEN genhdr/mpversion.h")
subprocess.run(qstr_cmd)
qstr_cmd="arm-none-eabi-gcc " + qstr_flags + qenv_lpath + qstr_files
outfile1=cwd+"/user/start/include/genhdr/qstr.i.last"
outfile2=cwd+"/user/start/include/genhdr/qstr.i.last.err"
f1=open(outfile1, 'w')
f2=open(outfile2, 'w')
print("GEN genhdr/qstr.i.last")
p=subprocess.Popen(qstr_cmd,stdout=f1,stderr=f2)
p.wait()
f1.close()
f2.close()
qstr_cmd="python "+cwd+"/tools/makeqstrdefs.py split "+cwd+"/user/start/include/genhdr/qstr.i.last "+cwd+"/user/start/include/genhdr/qstr "+cwd+"/user/start/include/genhdr/qstrdefs.collected.h"
print("GEN genhdr/qstr.split")
mqdef = subprocess.run(qstr_cmd)
if mqdef.returncode != 0:
sys.exit(1)
qstr_cmd="touch "+cwd+"/user/start/include/genhdr/qstr.split"
subprocess.run(qstr_cmd)
qstr_cmd="python "+cwd+"/tools/makeqstrdefs.py cat "+cwd+"/user/start/include/genhdr/qstr.i.last "+cwd+"/user/start/include/genhdr/qstr "+cwd+"/user/start/include/genhdr/qstrdefs.collected.h"
print("GEN genhdr/qstrdefs.collected.h")
subprocess.run(qstr_cmd)
qstr_cmd=r"cat "+cwd+"/kernel/py/qstrdefs.h "+cwd+r"/user/start/include/genhdr/qstrdefs.collected.h | sed 's/^Q(.*)/\"&\"/' | arm-none-eabi-gcc " + qstr_flags + qenv_lpath + r" - | sed 's/^\"\(Q(.*)\)\"/1円/' > " +cwd+"/user/start/include/genhdr/qstrdefs.preprocessed.h"
print("GEN genhdr/qstrdefs.preprocessed.h")
# pipe need os.system, can't use subprocess
os.system(qstr_cmd)
qstr_cmd="python "+cwd+"/tools/makeqstrdata.py "+cwd+"/user/start/include/genhdr/qstrdefs.preprocessed.h > " +cwd+"/user/start/include/genhdr/qstrdefs.generated.h"
print("GEN genhdr/qstrdefs.generated.h")
# pipe need os.system, can't use subprocess
os.system(qstr_cmd)
gen_srcs()
qstr_target=cwd+"/user/start/include/genhdr/qstr.i.last"
Export('qstr_target', 'qstr_srcs', 'gen_qstr')
Return('objs')
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

OneOS是中国移动针对物联网领域推出的轻量级操作系统,具有可裁剪、跨平台、低功耗、高安全等特点,支持ARM Cortex-M/R/A、MIPS、RISC-V等主流CPU架构,兼容POSIX、CMSIS等标准接口,支持Micropython语言开发,提供图形化开发工具,能够有效提高开发效率并降低开发成本,帮助客户开发稳定可靠、安全易用的物联网应用。 官网地址:https://os.iot.10086.cn/
暂无标签
Apache-2.0
使用 Apache-2.0 开源许可协议
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/qinpan/OneOS.git
git@gitee.com:qinpan/OneOS.git
qinpan
OneOS
OneOS
dev
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /