申请的的开发套件到目前还没到手,看到网友们都开始动手干了,我也是按捺不住了,所以就先在悠龙公司的主页下载了uTenux_V1.5.00r160.zip,打算看看,先了解一下。

下面是文件目录表:

└─uTenux_OpenSource_Edition
├─image
│ ├─atmel
│ │ ├─at91sam3s4c
│ │ └─at91sam4s16c
│ ├─freescale
│ │ └─mk60dn512xxx10
│ ├─fujitsu
│ │ └─mb9bf506r
│ ├─infineon
│ │ └─xmc4500x144x1024
│ ├─nxp
│ │ ├─lpc1766
│ │ ├─lpc1788
│ │ └─lpc4088
│ ├─st
│ │ ├─stm32f103ze
│ │ ├─stm32f107vc
│ │ ├─stm32f207zg
│ │ ├─stm32f303vc
│ │ ├─stm32f407ig
│ │ ├─stm32f407vg
│ │ └─stm32f407zg
│ └─ti
│ ├─lm3s9b96
│ └─lm4f232h5qd
├─manual
│ └─uTenux_Kernel_BasisLecture
├─sample
│ ├─common
│ │ ├─01.task
│ │ ├─02.semaphore
│ │ ├─03.eventflag
│ │ ├─04.mailbox
│ │ ├─05.mutex
│ │ ├─06.messbuf
│ │ ├─07.rendport
│ │ ├─08.mempoolf
│ │ ├─09.mempoolv
│ │ ├─10.time
│ │ ├─11.cycle
│ │ ├─12.alarm
│ │ └─14.sysinfo
│ └─sysdepend
│ └─armv7_m
│ └─13.int
├─source
│ └─uTenux
│ ├─.externalToolBuilders
│ ├─.settings
│ ├─app
│ │ ├─build
│ │ │ ├─app_at91sam3
│ │ │ ├─app_at91sam4
│ │ │ ├─app_lm3s
│ │ │ ├─app_lm4f
│ │ │ ├─app_lpc17
│ │ │ ├─app_lpc178
│ │ │ ├─app_lpc40
│ │ │ ├─app_mb9bf5
│ │ │ ├─app_mk60d
│ │ │ ├─app_stm32f1
│ │ │ ├─app_stm32f2
│ │ │ ├─app_stm32f3
│ │ │ ├─app_stm32f4
│ │ │ └─app_xmc4000
│ │ └─usermain
│ │ ├─build
│ │ │ ├─app_at91sam3
│ │ │ ├─app_at91sam4
│ │ │ ├─app_lm3s
│ │ │ ├─app_lm4f
│ │ │ ├─app_lpc17
│ │ │ ├─app_lpc178
│ │ │ ├─app_lpc40
│ │ │ ├─app_mb9bf5
│ │ │ ├─app_mk60d
│ │ │ ├─app_stm32f1
│ │ │ ├─app_stm32f2
│ │ │ ├─app_stm32f3
│ │ │ ├─app_stm32f4
│ │ │ └─app_xmc4000
│ │ └─src
│ ├─bin
│ │ ├─app_at91sam3
│ │ │ └─chip_at91sam3s4c
│ │ ├─app_at91sam4
│ │ │ └─chip_at91sam4s16c
│ │ ├─app_lm3s
│ │ │ └─chip_lm3s9b96
│ │ ├─app_lm4f
│ │ │ └─chip_lm4f232h5qd
│ │ ├─app_lpc17
│ │ │ └─chip_lpc1766
│ │ ├─app_lpc178
│ │ │ └─chip_lpc1788
│ │ ├─app_lpc40
│ │ │ └─chip_lpc4088
│ │ ├─app_mb9bf5
│ │ │ └─chip_mb9bf506r
│ │ ├─app_mk60d
│ │ │ └─chip_mk60dn512xxx10
│ │ ├─app_stm32f1
│ │ │ ├─chip_stm32f103ze
│ │ │ └─chip_stm32f107vc
│ │ ├─app_stm32f2
│ │ │ └─chip_stm32f207zg
│ │ ├─app_stm32f3
│ │ │ └─chip_stm32f303vc
│ │ ├─app_stm32f4
│ │ │ ├─chip_stm32f407ig
│ │ │ ├─chip_stm32f407vg
│ │ │ └─chip_stm32f407zg
│ │ └─app_xmc4000
│ │ └─chip_xmc4500x144x1024
│ ├─config
│ │ └─sysdepend
│ │ ├─app_at91sam3
│ │ │ └─chip_at91sam3s4c
│ │ ├─app_at91sam4
│ │ │ └─chip_at91sam4s16c
│ │ ├─app_lm3s
│ │ │ └─chip_lm3s9b96
│ │ ├─app_lm4f
│ │ │ └─chip_lm4f232h5qd
│ │ ├─app_lpc17
│ │ │ └─chip_lpc1766
│ │ ├─app_lpc178
│ │ │ └─chip_lpc1788
│ │ ├─app_lpc40
│ │ │ └─chip_lpc4088
│ │ ├─app_mb9bf5
│ │ │ └─chip_mb9bf506r
│ │ ├─app_mk60d
│ │ │ └─chip_mk60dn512xxx10
│ │ ├─app_stm32f1
│ │ │ ├─chip_stm32f103ze
│ │ │ └─chip_stm32f107vc
│ │ ├─app_stm32f2
│ │ │ └─chip_stm32f207zg
│ │ ├─app_stm32f3
│ │ │ └─chip_stm32f303vc
│ │ ├─app_stm32f4
│ │ │ ├─chip_stm32f407ig
│ │ │ ├─chip_stm32f407vg
│ │ │ └─chip_stm32f407zg
│ │ └─app_xmc4000
│ │ └─chip_xmc4500x144x1024
│ ├─etc
│ │ └─sysdepend
│ │ ├─app_at91sam3
│ │ ├─app_at91sam4
│ │ ├─app_lm3s
│ │ ├─app_lm4f
│ │ ├─app_lpc17
│ │ ├─app_lpc178
│ │ ├─app_lpc40
│ │ ├─app_mb9bf5
│ │ ├─app_mk60d
│ │ ├─app_stm32f1
│ │ ├─app_stm32f2
│ │ ├─app_stm32f3
│ │ ├─app_stm32f4
│ │ └─app_xmc4000
│ ├─include
│ │ ├─cpu
│ │ │ └─sysdepend
│ │ │ ├─armv7e_m
│ │ │ └─armv7_m
│ │ ├─dev
│ │ │ └─sysdepend
│ │ │ ├─app_at91sam3
│ │ │ ├─app_at91sam4
│ │ │ ├─app_lm3s
│ │ │ ├─app_lm4f
│ │ │ ├─app_lpc17
│ │ │ ├─app_lpc178
│ │ │ ├─app_lpc40
│ │ │ ├─app_mb9bf5
│ │ │ ├─app_mk60d
│ │ │ ├─app_stm32f1
│ │ │ ├─app_stm32f2
│ │ │ ├─app_stm32f3
│ │ │ ├─app_stm32f4
│ │ │ └─app_xmc4000
│ │ ├─sbs
│ │ ├─tk
│ │ │ └─sysdepend
│ │ │ ├─armv7e_m
│ │ │ └─armv7_m
│ │ └─tm
│ ├─kernel
│ │ ├─build
│ │ │ ├─app_at91sam3
│ │ │ ├─app_at91sam4
│ │ │ ├─app_lm3s
│ │ │ ├─app_lm4f
│ │ │ ├─app_lpc17
│ │ │ ├─app_lpc178
│ │ │ ├─app_lpc40
│ │ │ ├─app_mb9bf5
│ │ │ ├─app_mk60d
│ │ │ ├─app_stm32f1
│ │ │ ├─app_stm32f2
│ │ │ ├─app_stm32f3
│ │ │ ├─app_stm32f4
│ │ │ └─app_xmc4000
│ │ └─src
│ │ └─sysdepend
│ │ ├─armv7e_m
│ │ │ ├─acc
│ │ │ ├─gcc
│ │ │ └─icc
│ │ └─armv7_m
│ │ ├─acc
│ │ ├─gcc
│ │ └─icc
│ ├─lib
│ │ ├─build
│ │ │ ├─app_at91sam3
│ │ │ ├─app_at91sam4
│ │ │ ├─app_lm3s
│ │ │ ├─app_lm4f
│ │ │ ├─app_lpc17
│ │ │ ├─app_lpc178
│ │ │ ├─app_lpc40
│ │ │ ├─app_mb9bf5
│ │ │ ├─app_mk60d
│ │ │ ├─app_stm32f1
│ │ │ ├─app_stm32f2
│ │ │ ├─app_stm32f3
│ │ │ ├─app_stm32f4
│ │ │ └─app_xmc4000
│ │ ├─libcpu
│ │ │ ├─build
│ │ │ │ ├─at91sam3
│ │ │ │ ├─at91sam4
│ │ │ │ ├─lm3s
│ │ │ │ ├─lm4f
│ │ │ │ ├─lpc17
│ │ │ │ ├─lpc178
│ │ │ │ ├─lpc40
│ │ │ │ ├─mb9bf5
│ │ │ │ ├─mk60d
│ │ │ │ ├─stm32f1
│ │ │ │ ├─stm32f2
│ │ │ │ ├─stm32f3
│ │ │ │ ├─stm32f4
│ │ │ │ └─xmc4000
│ │ │ └─src
│ │ │ └─sysdepend
│ │ │ ├─armv6_m
│ │ │ │ ├─acc
│ │ │ │ ├─gcc
│ │ │ │ └─icc
│ │ │ ├─armv7e_m
│ │ │ │ ├─acc
│ │ │ │ ├─gcc
│ │ │ │ └─icc
│ │ │ └─armv7_m
│ │ │ ├─acc
│ │ │ ├─gcc
│ │ │ └─icc
│ │ ├─libdev
│ │ │ ├─build
│ │ │ │ ├─app_at91sam3
│ │ │ │ ├─app_at91sam4
│ │ │ │ ├─app_lm3s
│ │ │ │ ├─app_lm4f
│ │ │ │ ├─app_lpc17
│ │ │ │ ├─app_lpc178
│ │ │ │ ├─app_lpc40
│ │ │ │ ├─app_mb9bf5
│ │ │ │ ├─app_mk60d
│ │ │ │ ├─app_stm32f1
│ │ │ │ ├─app_stm32f2
│ │ │ │ ├─app_stm32f3
│ │ │ │ ├─app_stm32f4
│ │ │ │ └─app_xmc4000
│ │ │ └─src
│ │ │ └─sysdepend
│ │ │ ├─app_at91sam3
│ │ │ ├─app_at91sam4
│ │ │ ├─app_lm3s
│ │ │ ├─app_lm4f
│ │ │ ├─app_lpc17
│ │ │ ├─app_lpc178
│ │ │ ├─app_lpc40
│ │ │ ├─app_mb9bf5
│ │ │ ├─app_mk60d
│ │ │ ├─app_stm32f1
│ │ │ ├─app_stm32f2
│ │ │ ├─app_stm32f3
│ │ │ ├─app_stm32f4
│ │ │ └─app_xmc4000
│ │ └─libtm
│ │ ├─build
│ │ │ ├─app_at91sam3
│ │ │ ├─app_at91sam4
│ │ │ ├─app_lm3s
│ │ │ ├─app_lm4f
│ │ │ ├─app_lpc17
│ │ │ ├─app_lpc178
│ │ │ ├─app_lpc40
│ │ │ ├─app_mb9bf5
│ │ │ ├─app_mk60d
│ │ │ ├─app_stm32f1
│ │ │ ├─app_stm32f2
│ │ │ ├─app_stm32f3
│ │ │ ├─app_stm32f4
│ │ │ └─app_xmc4000
│ │ └─src
│ ├─lic
│ └─subass
│ └─build
│ ├─app_at91sam3
│ ├─app_at91sam4
│ ├─app_lm3s
│ ├─app_lm4f
│ ├─app_lpc17
│ ├─app_lpc178
│ ├─app_lpc40
│ ├─app_mb9bf5
│ ├─app_mk60d
│ ├─app_stm32f1
│ ├─app_stm32f2
│ ├─app_stm32f3
│ ├─app_stm32f4
│ └─app_xmc4000
└─support

我们真正要用到的只有两个文件夹:sample和source。其中Sameple下由两个文件夹,主要是一些应用案例。source中是uTenux的内核文件和工程模板,以及应用库。除了这个个文件夹,我们还应该看一下manual中的相关知道手册,这些手册都uTenux的移植和架构讲的非常详细。

下面就我这次将uTenux移植到STM32F103ZE做一个详细的讲解。

1、刚才说到其中的source中是uTenux的内核文件和模板及一些应用库,所以我们将这部分单独的拿出来放到自己将要用的一个文件目录,以后这个就是我们的模板了。

2、我们以..\sample\common\01.task为例Step to Step的学习。

首先,我们将01.task目录下的四个文件复制到1中所说的那个目录下的..\source\uTenux\app\usermain\src中替换原有文件。

3、做完以上工作后就可以打开..\source\uTenux\bin\app_stm32f1\workspace.uvmpw在如图中的目录添加TaskSample.c文件。

4、做好以上工作就可以编译了,编译过后通过后由J-Link下载程序至STM32开发板。然后用USB-串口的线连接PC机和STM32F103的UART1(注意硬件连接不能出问题)。下面就可以用串口软件看实验结果了。我用的串口软件是putty,打开putty,设置好对应的参数后(波特率115200),复位STM32F103就可以在Putty中看到实验结果如图所示:

以上便是我对uTenux的初识。谢谢您的阅读,如有不到之处,望您指教。

初试 uTenux的更多相关文章

  1. caffe初试(一)happynear的caffe-windows版本的配置及遇到的问题

    之前已经配置过一次caffe环境了: Caffe初试(一)win7_64bit+VS2013+Opencv2.4.10+CUDA6.5配置Caffe环境 但其中也提到,编译时,用到了cuda6.5,但 ...

  2. 【uTenux】学习一个嵌入式操作系统-uTenux

    [这个是汇总] 最近有点时间,参加了EEPW论坛和悠龙咨询组织的一个嵌入式操作系统uTenux试用活动.本来想借助这个活动提供的开发板做一个小项目,奈何OS使用功底太次.于是,这个活动被我降低到了学习 ...

  3. 初试Nodejs——使用keystonejs创建博客网站2(修改模板)

    上一篇(初试Nodejs——使用keystonejs创建博客网站1(安装keystonejs))讲了keystonejs的安装.安装完成后,已经具备了基本的功能,我们需要对页面进行初步修改,比如,增加 ...

  4. 项目中初试PHP单元测试

    只能叫初试,前面虽然做了一些PHPUnit与团队所用框架的整合,但在整个团队还没有人可以主动推动这个事情,而作为Leader最重要的一种能力应该是"让正确的事情发生",所以今天开始 ...

  5. VPS -Digital Ocean -初试以及VPN的搭建

    首先恭喜你找到这篇博客,它会带你走出困境. 题外话(请忽略):一直以来想搞一个VPS,终于在自己的刺激下试了一下Digital Ocean,还没有使用很长时间不做太多评论,唯一给我的感觉是各种操作还算 ...

  6. 初试微信小程序

    2016年11月3日,微信小程序终于公测了,大家可以正式开发了.早在这之前,应公司要求,和同事就早早的试了一下微信小程序的开发,特此记录一下: 微信官方小程序文档:https://mp.weixin. ...

  7. 【uTenux实验】写在开始实验之前

    1.使用的uTenux内核代码:http://www.uloong.cc/cn/download/uTenux_V1.6.00r180.zip 2.uTenux的特性: 1.微内核  2.开放源码.完 ...

  8. 【uTenux实验】任务管理

    任务就是一个无限循环.uTenux提供的任务管理功能是很强大的,包括建立和删除一个任务,启动或退出任务,取消一个任务的启动请求,改变任务的优先级和査询任务状态,使任务进人睡眠状态和唤醒状态,取消唤醒请 ...

  9. 【uTenux实验】信号量

    信号量(semaphore)是一个用来指示可用的资源并将可用资源的数量以数值的形式表示出来的对象.当使用一组资源时,信号量用来实现互斥控制和同步.uTenux提供了信号量出来的API,可以很方便地使用 ...

随机推荐

  1. 夺命雷公狗---Thinkphp----1之目录介绍

    ThinkPHP框架 特点: 免费开源 敏捷开发(快速开发) 面向对象 MVC思想 yii,ci之类的框架都有这些特点.是06年到现在的一个老牌框架,现在还是个很不错的框架 可以在thinkphp的官 ...

  2. wc移植sae笔记

    1.wc移植到sae---上传图片 ①先看profile.ptl.html中的ajax代码修改functions.js中G_BASE_URL的值.在这里我先写死成->'http://2.idan ...

  3. 数据结构之,线性表去除等于x的元素

    问题看起来很简单,但是这里有个限制,就是算法的时间复杂度位O(n),空间复杂度为O(1),下面上代码 #include <iostream> #include <string.h&g ...

  4. android 应用架构随笔六(Loading加载页面)

    import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import com.heima ...

  5. 鸟哥的linux私房菜学习记录之bash

    当你对计算机输入一个指令时,bash会将指令传送给核心kernel,核心再去调用相关的程序,启动硬件. 如果直接让用户操作操作系统,可能会造成系统的崩溃,所以操作系统通过应用程序来让用户操作系统即壳程 ...

  6. grd文件结构

  7. Pascal's Triangle

    class Solution { public: vector<vector<int>> generate(int numRows) { vector<vector< ...

  8. asp.net 分页-利用后台直接生成html分页

    一直想做一个属于自己的分页, 1:我试过用datapage,虽然是很好用,但是必须要配合datalist才能使用,感觉不太好 2:自己写分页控件,目前正在摸索中,关键是怎么分页的问题,有的是用data ...

  9. 杭电1170 Balloon Comes

    Problem Description The contest starts now! How excited it is to see balloons floating around. You, ...

  10. 关于iframe嵌套、动态获取iframe内的url、父页面重定向-2

    经过学习,发现了一种更好的办法 试验如下 1.html的内容如下: (2.html和3.html没有jquery,只有body的222和333) 结果为: 其实最容易搞糊涂的是,什么时候算self,其 ...