初试 uTenux
申请的的开发套件到目前还没到手,看到网友们都开始动手干了,我也是按捺不住了,所以就先在悠龙公司的主页下载了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的更多相关文章
- caffe初试(一)happynear的caffe-windows版本的配置及遇到的问题
之前已经配置过一次caffe环境了: Caffe初试(一)win7_64bit+VS2013+Opencv2.4.10+CUDA6.5配置Caffe环境 但其中也提到,编译时,用到了cuda6.5,但 ...
- 【uTenux】学习一个嵌入式操作系统-uTenux
[这个是汇总] 最近有点时间,参加了EEPW论坛和悠龙咨询组织的一个嵌入式操作系统uTenux试用活动.本来想借助这个活动提供的开发板做一个小项目,奈何OS使用功底太次.于是,这个活动被我降低到了学习 ...
- 初试Nodejs——使用keystonejs创建博客网站2(修改模板)
上一篇(初试Nodejs——使用keystonejs创建博客网站1(安装keystonejs))讲了keystonejs的安装.安装完成后,已经具备了基本的功能,我们需要对页面进行初步修改,比如,增加 ...
- 项目中初试PHP单元测试
只能叫初试,前面虽然做了一些PHPUnit与团队所用框架的整合,但在整个团队还没有人可以主动推动这个事情,而作为Leader最重要的一种能力应该是"让正确的事情发生",所以今天开始 ...
- VPS -Digital Ocean -初试以及VPN的搭建
首先恭喜你找到这篇博客,它会带你走出困境. 题外话(请忽略):一直以来想搞一个VPS,终于在自己的刺激下试了一下Digital Ocean,还没有使用很长时间不做太多评论,唯一给我的感觉是各种操作还算 ...
- 初试微信小程序
2016年11月3日,微信小程序终于公测了,大家可以正式开发了.早在这之前,应公司要求,和同事就早早的试了一下微信小程序的开发,特此记录一下: 微信官方小程序文档:https://mp.weixin. ...
- 【uTenux实验】写在开始实验之前
1.使用的uTenux内核代码:http://www.uloong.cc/cn/download/uTenux_V1.6.00r180.zip 2.uTenux的特性: 1.微内核 2.开放源码.完 ...
- 【uTenux实验】任务管理
任务就是一个无限循环.uTenux提供的任务管理功能是很强大的,包括建立和删除一个任务,启动或退出任务,取消一个任务的启动请求,改变任务的优先级和査询任务状态,使任务进人睡眠状态和唤醒状态,取消唤醒请 ...
- 【uTenux实验】信号量
信号量(semaphore)是一个用来指示可用的资源并将可用资源的数量以数值的形式表示出来的对象.当使用一组资源时,信号量用来实现互斥控制和同步.uTenux提供了信号量出来的API,可以很方便地使用 ...
随机推荐
- 夺命雷公狗---TP商城----TP之配置环境---1
下载到tp3.2.3版本后架设到自己的wamp环境下,然后配置虚拟主机,完事后直接开工 环境下创建一个文件夹,然后里面存放这这两个文件即可开始新的旅途了 这里完了,下一步就开始配置index.php文 ...
- ADIv5.2
ADI:ARM Debug Interface,出到现在共有五代: 1)version1 and version 2:只针对ARM7TDMI和ARM9的processor: 2)version 3:只 ...
- css 标签 清除浮动
.clearfloat:after{content: "";clear:both;display: block;}
- 解决xfce4桌面图标消失的问题
问题表现:panel还在,桌面的背景变成灰色,桌面图标消失,桌面右键没反映 解决方法:从登录管理器中登录另一个用户,发现桌面正常,猜测是由于家目录下的配置文件引起的. 删除 ~/.cache/sess ...
- PHP导出CSV文件
经常会碰到需要从数据库中导出数据到Excel文件,用一些开源的类库,比如PHPExcel,确实比较容易实现,但对大量数据的支持很不好,很容易到达PHP内存使用上限.这里的方法是利用fputcsv写CS ...
- 关于ScrollView中嵌套listview焦点滑动问题 解决
(第三种,第四种简单推荐使用) 在这里我要提出的是,listview能滚动的前提是:当listview本身的高度小于listview里的子view. 第一种方法 只需在MainActivity中 找到 ...
- JVM总结
1. 内存分布: 1). 程序计数器(Program Counter Register)是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器.线程私有.如果线程正在执行的是一个J ...
- css分离思想
CSS命名就应该最简单.最直接,直捣黄龙.没有HTML标签,没有层级,这些通通滚蛋,不要.为什么不要,有三大原因: 1. 限制重用 我们会使用层级(#test .test),会使用标签(ul.test ...
- 启用WCF测试客户端的相关技巧
在Visual Studio之外打开WCF测试客户端有两种方法:第一种方法是到其所在路径(Visual Studio安装路径\Common7\IDE\WcfTestClient.exe)双击打开.第二 ...
- ServiceStack.Redis之IRedisClient 03_转
事实上,IRedisClient里面的很多方法,其实就是Redis的命令名.只要对Redis的命令熟悉一点就能够非常快速地理解和掌握这些方法,趁着现在对Redis不是特别了解,我也对着命令来了解一下这 ...