通过scons构建出的不带操作系统的工程,可通过如下链接下载:

scons-mdk.zip-嵌入式文档类资源-CSDN下载

早就发现scons构建工程很方便很省事,但之前试过多次都没成功,网上也很少介绍这方面的资料,最近闲的慌又捣鼓了一阵,终于成功了,记录一下之前遇到的坑!

No module named building

之前一直不成功,比如遇到如下这种情况:

scons: Reading SConscript files ...
ImportError: No module named building:

因为本人对python也不是很熟练,开始我以为缺少的这个building模块是个公用的模块,网上一阵苦找,通过各种方法去导入这个模块,都没成功,实际上这个模块就在工程的tools目录下,之所以找不到是import这个模块的地方设置的路径不对,就在创建工程的目录下SConstruct文件中设置路径,如下:

上面执行的是RTT_ROOT = os.path.normpath(os.getcwd() + '/../..')这条语句,意思就是是获取当前路径之后往后退两级目录,实际就到了tools这个文件夹的目录,路径设置对了就可以成功导入building模块

template模板作用

其次需要说明一下的就是template.uvprojx这个模板,开始并不知道这个模板用来干嘛,但是没有这个模板又构建不了,后来捣鼓一通大概摸清了,scons就是在这个模板上进行构建工程的,比如里边选择的mcu型号,编译选项,设置的编译参数等等都会原封不动的以它为标准进行构建工程,当然这些参数也是可以修改的,比如在rtconfig.py文件中就可以对这些进行修改,只要在rtconfig.py中没有修改的就以template.uvprojx模板的为准,rtconfig.py中如下参数要注意。

building.py文件作用

这个文件是scons构建工程的关键文件,包含了构建方法,构建指令,生成目标等,其中构建方法一般是引用其它模块的,比如keil.py,具体可以看代码,包含的指令如下:

生成目标工程:

如果在tools这个文件的同级增加文件夹或者文件,需要修改building.py这个地方:

其它地方增加文件与文件夹只需要照葫芦画瓢,增加相应的源码文件与SConscript文件就可以了,增加后重新

scons构建工程

方法一:在工程目录下双击startcmd.bat

方法二、按住shift键单击鼠标右键打开命令窗口,输入scons --target=mdk5

构建成功。。。

工程测试

下载进板子验证

参考文献:

ChangeLog.md · RT-Thread/rt-thread - Gitee.com

终于用scons创建了一个MDK工程 - fwindpeak - 博客园

perfect...

scons构建mdk工程相关推荐

  1. SCons 构建工具

    SCons 简介 SCons 是一套由 Python 语言编写的开源构建系统,类似于 GNU Make.它采用不同于通常 Makefile 文件的方式,而是使用 SConstruct 和 SConsc ...

  2. Scons构建C++项目

    旧博文,搬到 csdn 原文:http://rebootcat.com/2020/08/30/scons/ 前言 我是一个 linux c++ 开发者,但是一直对 Makefile 的语法很是头痛,每 ...

  3. 【正点原子STM32连载】第六章 新建寄存器版本MDK工程 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1

    1)实验平台:正点原子MiniPro H750开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=677017430560 3)全套实验源码+手册+视频 ...

  4. 使用xmake配合arm-none-eabi-gcc构建stm32工程

    构建编译使用HAL库的STM32程序 环境搭建 xmake-io/xmake下载: https://github.com/xmake-io/xmake/releases/tag/v2.6.9 arm- ...

  5. 使用maven构建Spring工程的一些重点

    2019独角兽企业重金招聘Python工程师标准>>>     有人喜欢把一个下载的spring3.1和struts1.3下载包里的的lib目录下所有的jar不管三七二十一全部cop ...

  6. maven构建SSM工程[应用]1

    写一个maven构建SSM工程[应用],很小的案例很简单,以便自己以后观看 1.需求: 实现SSM工程构建,规范依赖管理.场景:根据id展示商品信息 2.准备数据库 SET FOREIGN_KEY_C ...

  7. 在IDEA上使用maven构建WEB工程,出现Unable to compile class for JSP错误,页面500. ————解决方案

    交代一下环境:jdk1.8      tomcat8.5.50      maven3.6.3 在IDEA上使用maven构建WEB工程,通过servlet跳转jsp时出现下述错误: 解决思路: 1. ...

  8. Maven:构建web工程出现Failed to execute goal org.apache:maven-archetype-plugin:3.1.1:generate (default-cli)

    QUESTION:Maven:构建web工程出现Failed to execute goal org.apache:maven-archetype-plugin:3.1.1:generate (def ...

  9. maven构建ssm工程

                                  maven构建ssm工程 2.1需求 在web工程的基础上实现SSM工程构建,实现对员工和部门的管理. 2.2数据库环境 创建数据库:mav ...

最新文章

  1. 谁登录了你的linux
  2. 算法笔记_114:等额本金(Java)
  3. 用shell批量修改文件名
  4. Servlet版本和EL表达式
  5. JQuery筛选选择器之内容筛选
  6. IOS之代理文字点击变大变小
  7. POJ 3264 Balanced Lineup(RMQ)
  8. tcp长连接java_JAVA TCP长连接
  9. boot客户管理系统环境的搭建_LANIF Admin开源免费后台管理系统(React)
  10. 怎么起用计算机无线开关,笔记本无线网络开关,详细教您如何打开笔记本电脑无线网卡开关...
  11. html css笔记zht
  12. python 原理 pdf_利用Python处理PDF——裁剪和生成新的PDF
  13. 弟子规python编程游戏_弟子规入则孝_读后感
  14. 刀片服务器改台式电脑_详解刀片服务器如何走向融合
  15. Zabbix监控平台部署+监控客户端
  16. 人工智能时代大数据分析面临的最大挑战!
  17. ATA接口寄存器详解
  18. 2021年危险化学品经营单位主要负责人考试及危险化学品经营单位主要负责人考试题
  19. [.NET/C#]快速采集全国城市商圈数据
  20. “双线性插值法”实现图像的缩放

热门文章

  1. 频数直方图的步骤_把握步骤 正确绘制频数分布直方图
  2. 靶机实战(bulldog)
  3. 华为p40会不会有鸿蒙系统,华为p40是不是鸿蒙系统
  4. 社区说 | Flutter 工程那些事儿
  5. 使用Larave5.6l提交POST请求出现The page has expired due to inactivity错误
  6. YY游戏云的AngularJS实践
  7. 【PTA乙级】【1096 大美数 (15 分)】
  8. lingo标准模型与编程(附习题、代码)
  9. Python基础Pro | (17) 电子邮件
  10. python 下载视频文件_python 实现视频流下载保存MP4的方法