初试 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,可以很方便地使用 ...
随机推荐
- zw版【转发·台湾nvp系列Delphi例程】HALCON DivImage2
zw版[转发·台湾nvp系列Delphi例程]HALCON DivImage2 procedure TForm1.Button1Click(Sender: TObject);var op : HOpe ...
- [php]使用会话session
<?php /* cookie - 在客户端上存储少了信息(cookie) session(会话) - 解决cookie大小限制/数量/其他 setcookie() - 设置cookie 在客户 ...
- 【php】目录、路径和文件 操作
目录操作 解析路径: basename() - 返回路径的文件名部分 获取目录部分: dirname() - 返回路径的目录部分 路径信息: pathinfo() - 返回数组(目录名,基本名,扩展名 ...
- 使用JWPlayer在网页中嵌入视频
首发:个人博客,持续更新和纠错 我一直以为在网页中嵌入视频是件复杂的事,一研究才知道原来非常简单. 实际就是在页面中嵌入个控件.社区里已有很多解决方案了.jwplayer是最受欢迎的(之一).控件包括 ...
- 强制类型转换(const_cast)
[1] const_cast的作用 一.常量指针被转化成非常量指针,并且仍然指向原来的对象: 二.常量引用被转换成非常量引用,并且仍然指向原来的对象: 三.常量对象被转换成非常量对象. [2] 实例代 ...
- 由于 add 运算符中“Chinese_PRC_CI_AS”和“Chinese_PRC_CS_AS_WS”之间的排序规则冲突
有一个字段的排序规则是 Chinese_PRC_CS_AS_WS,字符串连接的时候报错. 处理方案 cast(columnName as varbinary) 即可
- yum安装mysql后没有mysqld
在Centos中用命令 yum install mysql安装数据库,但装完后运行mysqld启动mysql的时候提示找不到,通过 find / | grep mysqld 也没找到mysqld的目录 ...
- 为什么drop table的时候要在checking permissions花很长时间?
昨天,我drop一个表的时候在checking permissions花了20s+,这个时间花在哪里了呢?经常查找发现我的配置文件innodb_file_per_table=1的,innodb需要遍历 ...
- linux设备驱动归纳总结(八):2.总线、设备和驱动的关系【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-110295.html linux设备驱动归纳总结(八):2.总线.设备和驱动的关系 xxxxxxxxx ...
- 【secureCRT】永久设置背景色和文字颜色