RT-Thread是一个国产开源的实时操作系统,支持MCU多,外设丰富。值得学习

  • 下载地址:http://www.rt-thread.org/page/31.html ,解压可以得到一下目录结构:
    |-- bsp
    |-- components
    |-- documentation
    |-- include
    |-- libcpu
    |—src
    其中bsp文件夹包括对各个MCU的支持,这里我们先拿simulator这个文件夹的模拟器来找找感觉。
  • 按照官方提供的《RT-Thread编程指南》,构建项目工程需要用到SCons,而SCons需要Python2.x的支持。下面主要简介一下windows下的配置
    • Python
      1.下载地址:https://www.python.org/getit/,一定要下2.x的那个,3.5和2.7 语法不一样,不兼容。
      2.Python按照正在的顺序安装就行,安装完成后要进行这样的步骤(尤其是64位操作系统),不然后面安装SCons会提示“No Python installation found in the registry”。
      检查注册表里面的这个项的默认值是指向你安装Python的目录(例如“C:\\Python27”):
      HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Python/PythonCore/2.7/InstallPath (64位特有)
      HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/2.7/InstallPath
    • SCons
      1.下载地址:http://www.scons.org/ ,点击右边的download跳转到sourceforge下载,安装的时候记得用管理员权限(尤其是win8/10的电脑)

      2.安装完成后把“C:\Python27\Scripts”和“C:\Python27”(C:\Python27替换为你的Python安装目录)添加到环境变量PATH中
      3.然后你在cmd里面运行scons出现这样的提示就说明可以了
    • 生成VS项目
      1.接下来定位到“rt-thread-2.0.1\bsp\simulator”,里面虽然有2个vc的工程文件,但是都是空的,需要用SCons生成修改的工程文件

      2.先打开rtconfig.py,把msvc那一段的EXEC_PATH改成你的VS的nmake的位置,一般是”VS安装目录/VC/BIN/NMAKE.exe”

      3.然后定位到simulator的目录,在输入“SCons --target=vs -s”,就会生成新的工程文件
  • hello world
    1.找到application.c,将原来的修改成如下代码:
    void entry(void *parameter)
    {
    int i = ;
    rt_kprintf("%dHZ\nHello World\n", RT_TICK_PER_SECOND);
    while (i++)
    {
    rt_thread_delay();
    rt_kprintf("%d\t",i);
    }
    } int rt_application_init()
    {
    rt_thread_t tid;
    tid = rt_thread_create("init",
    rt_init_thread_entry, RT_NULL,
    , RT_THREAD_PRIORITY_MAX / , );
    if (tid != RT_NULL)
    rt_thread_startup(tid); rt_thread_startup(rt_thread_create("GGG", entry, NULL, , , )); return ;
    }

    2.然后运行就能出现这样的界面了:

RT-Thread入门和模拟器的配置生成的更多相关文章

  1. RT Thread 通过ENV来配置SFUD,操作SPI Flash

    本实验基于正点原子stm32f4探索者板子 请移步我的RT Thread论坛帖子. https://www.rt-thread.org/qa/forum.php?mod=viewthread& ...

  2. PHP入门及服务环境配置(Nginx+PHP)

    PHP入门及服务环境配置(Nginx+PHP) PHP入门 PHP维基百科: PHP(全称:PHP:Hypertext Preprocessor,即"PHP:超文本预处理器")是一 ...

  3. Asp.Net SignalR 使用记录 技术回炉重造-总纲 动态类型dynamic转换为特定类型T的方案 通过对象方法获取委托_C#反射获取委托_ .net core入门-跨域访问配置

    Asp.Net SignalR 使用记录   工作上遇到一个推送消息的功能的实现.本着面向百度编程的思想.网上百度了一大堆.主要的实现方式是原生的WebSocket,和SignalR,再次写一个关于A ...

  4. MVC5+EF6 入门完整教程13 -- 动态生成多级菜单

    稍微有一定复杂性的系统,多级菜单都是一个必备组件. 本篇专题讲述如何生成动态多级菜单的通用做法. 我们不用任何第三方的组件,完全自己构建灵活通用的多级菜单. 需要达成的效果:容易复用,可以根据mode ...

  5. 前端引擎初步设计稿 -通过配置生成动态页面 ,LandaSugar平台 .NET-C#-MVC

    公司准备开发出一款项目开发平台 LandaSugar,分为 前端引擎.工作引擎.数据引擎 三大块,开发人员只需要对三大模块进行相应的配置便能够完成一个定制项目的开发. 听起来貌似是异想天开,但是是否真 ...

  6. MyCat 入门:漫谈 MyCat 配置系统

    文章首发于[博客园-陈树义],点击跳转到原文<MyCat 入门:漫谈 MyCat 配置系统> 上篇文章<MyCat 启蒙:分布式系统的数据库架构演变>中,我们通过一个项目从零到 ...

  7. Redis入门 -- Redis安装与配置

    Redis入门 -- Redis安装与配置 Redis的安装 Redis的安装,我这里使用的是虚拟机. 为了让主机和虚拟机之间可以顺利通信,按照以下步骤进行: 1. 将网络连接模式改为桥接 2. re ...

  8. SpringBoot入门之内嵌Tomcat配置

    spring boot默认web程序启用tomcat内嵌容器tomcat,监听8080端口,servletPath默认为 / .需要用到的就是端口.上下文路径的修改,在spring boot中其修改方 ...

  9. Linux基础入门之网络属性配置

    Linux基础入门之网络属性配置 摘要 Linux网络属性配置,最根本的就是ip和子网掩码(netmask),子网掩码是用来让本地主机来判断通信目标是否是本地网络内主机的,从而采取不同的通信机制. L ...

随机推荐

  1. Twitter Storm安装配置(Ubuntu系统)单机版

    要使用storm首先要安装以下工具:JDK.Python.zookeeper.zeromq.jzmq.storm (注:各个模块都是独立的,如果安装失败或者卡顿可以单独百度某个模块的安装,都是可以的. ...

  2. 算法与数据结构(2)--英雄会第三届在线编程大赛:几个bing

    基础知识的回顾不再写到这里面了,会写一些算法算法的解答或者读一些相关书籍的笔记. 今天做了一道算法题,来自微软必应·英雄会第三届在线编程大赛:几个bing? 做出来了...但不知道为啥执行测试用例失败 ...

  3. Linux:文件权限

    Linux:文件权限 1.文件权限 ☆文件所有者 ☆用户组 ☆其他人 ☆ROOT 说明: Linux系统中默认所有系统上的账号与一般身份用户,还有那个root的相关信息记录在/etc/passwd文件 ...

  4. selenium-webdriver(python) (十三) -- cookie处理

    本节重点: driver.get_cookies() 获得cookie信息 add_cookie(cookie_dict)  向cookie添加会话信息 delete_cookie(name)   删 ...

  5. Testing - Tips

    1 --- 冒烟测试.可用性测试和回归测试的区别? 在测试领域中,冒烟测试(smoke test).可用性测试(sanity test)和回归测试(regression test)彼此之间很相似,范围 ...

  6. 【模式匹配】KMP算法的来龙去脉

    1. 引言 字符串匹配是极为常见的一种模式匹配.简单地说,就是判断主串\(T\)中是否出现该模式串\(P\),即\(P\)为\(T\)的子串.特别地,定义主串为\(T[0 \dots n-1]\),模 ...

  7. canvas导出图片方法总结

    html代码 <canvas id="canvas" width="100" height="100" ></canvas ...

  8. jQuery Ajax实现下拉框无刷新联动

    HTML代码: @{ Layout = null; } @using DAL; @using System.Data; @{ AreaDal areaDal = new AreaDal(); stri ...

  9. Unrecognized attribute 'targetFramework'. Note that attribute names are case-sensitive.

    调试网站时,异常出现:Unrecognized attribute 'targetFramework'. Note that attribute names are case-sensitive. S ...

  10. Web API应用架构在Winform混合框架中的应用(5)--系统级别字典和公司级别字典并存的处理方式

    在我这个系列中,我主要以我正在开发的云会员管理系统为例进行介绍Web API的应用,由于云会员的数据设计是支持多个商家公司,而每个公司又可以包含多个店铺的,因此一些字典型的数据需要考虑这方面的不同.如 ...