大连创客空间

 找回密码
 立即注册吧!

QQ登录

只需一步,快速开始

一键登录:

搜索
查看: 12451|回复: 58
收起左侧

~~每天和小阿奔学习一点点~~

  [复制链接]
发表于 2013-8-21 20:34:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多交流,硬件的世界向你敞开大门!

您需要 登录 才可以下载或查看,没有帐号?立即注册吧!

x
今天是uTenux开分论坛第一天,我有幸发现,赶紧占个位置。
第一天,介绍一下uTenux。
uTenux是一款嵌入式操作系统,开源免费,开发团队在大连,uLoong在国内估计是唯一一家以操作系统为核心产品的公司。
小阿奔我呢,在这里实习有一年了,研究生的学习生涯几乎就伴随着uTenux度过了。研一的时候,我们学校有一门嵌入式课程,不过老师讲的是uC/OS II,uC/OS II在国内应用广泛还是因为书出得比较早,清华大学主推,但是这个操作系统学习是免费的,实际用到产品里就要交费了。经常有公司给uLoong打电话来咨询,无外乎就是以前用uC/OS II,现在听说uTenux免费,而且技术支持团队在大连,所以要更换操作系统。
uTenux的内核采用的是uT-Kernel,加上fatfs,lwip,usb,emwin等等中间件构成,所以,原则上uTenux指的不是操作系统内核,而是完整的操作系统套件,我们也在考虑将uTenux的内核叫做uT/OS,这样就可以和uC/OS III进行对比了。接下来的一年中,一系列对比参数会出来,我们对uT/OS整体上打败uC/OS III还是很有信心的。
2013年是uTenux的成熟期,我在做的毕设网关也是在这个基础上进行的,等我明年毕业的时候会把我的设计成果和大家分享一下,接下来我会尽量每天把uTenux的学习笔记更新到论坛里和大家分享。下个月开始,uTenux会随着ST在全国几个重要城市进行巡讲,也希望得到大家的关注和支持!

回复

使用道具 举报

 楼主| 发表于 2013-8-21 22:37:17 | 显示全部楼层
有很多人使用过其他操作系统,例如前面提到的uC/OS,国外就不多说了,国内的大家比较熟悉RT-thread,djyOS,rawOS,coocox,和uTenux一起,恰有东南西北中,各占一方的架势。
当然,也有很多人第一次听说嵌入式操作系统,或者仅仅听说过,从没有用过,也不知道操作系统干什么用,为什么用,可不可以不用。
小阿奔会在今后的帖子中逐渐解开大家的迷惑,尤其刚刚有些C语言基础,想提高编程思想的小伙伴们,学习一个操作系统的过程中也会对大家的编程能力有很大的提升,操作系统这个东西呢,学习一个也就触类旁通了,我会站在我学习的角度上将我一年来所学所想告诉大家。如果你有过其他操作系统的使用经历,那就直接到tecoss官网上去下载资料,马上使用吧。欢迎大家在这里提问。
不知道会不会有人顶贴,有人顶我才有继续更新的动力哈~~
另外,小阿奔也成大龄男青年了,虽然喜欢美食,喜欢玩,但是囊中羞涩,如果周末有组织免费聚餐、相亲或者游玩,一定要叫上我啊~~~嘻嘻~~~


点评

今天还在想 要不要组织一下大连的会员,在线下吃吃喝喝呢。  详情 回复 发表于 2013-8-21 22:52
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-2 00:55:45 | 显示全部楼层
2013.10.2
刚开学的第一个月有点儿忙,今天开始继续跟小阿奔一起学习使用uTenux在STM32F407上移植。
事实上,操作系统内核uT/OS的源文件不是很多,如果在keil、IAR或者uT/Studio构建一个基于单一芯片的工程的话会比现在从网站上下载下来的包含所有芯片的软件包清新的多,我想日后肯定也会仿照RTT的SCONS方式构建uTenux工程的,当然我更希望uTenux推出1.7版本之后,粉丝们能够仿照1.7的结构自己去做工程,大家会很有成就感。
操作系统的调度是基于CM3的SYSTICK中断的,调试信息是通过串口打印输出的,程序运行是要根据芯片特性配置FLASH运行方式的,脚本要根据芯片的存储容量不同进行配置的,相关的宏定义要做修改。所以,每次我们要移植一个新的芯片,要从四个方面去考虑:flash,时钟,看门狗,串口。发行包中没有带有芯片厂家的驱动,所以这些文件都是我们直接配置寄存器的。这几个函数相关的文件都在lib下的libdev里。
每添加一款芯片,都会在相应的目录下新建芯片目录,复制其他芯片的文件过来,修改一下文件头信息就行。除了上面提到的要考虑的四个方面外,还要修改脚本文件和宏配置文件,脚本文件刚好上面有人问过了,我给出了解答,更详细的我放到后面具体讲。宏配置文件主要涉及到芯片名称更改所相关联的一些文件、时钟相关、操作系统资源等宏定义。主要集中在tk_config_depend.h这个文件里。
每次移植完芯片都会进行单元测试和例程测试,单元测试就是对照单元测试表将寄存器的值通过调试工具进行读出,然后对比是否是期望值。例程测试是使用大家可以下载到的例程进行测试,将所有的例程都跑一遍,看看是否能够正常执行。
基本上一款芯片的移植工作到这里就结束了,然后就是上级领导的审核和文档审核了,顺利的话一款芯片的移植半天可以完成。当然,也有的芯片比较特殊,出现bug需要解决一段时间。
回复 支持 反对

使用道具 举报

发表于 2013-8-21 21:24:18 | 显示全部楼层
当个版主如何?

点评

好啊,尽力而为!  详情 回复 发表于 2013-8-21 22:13
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-21 22:13:51 | 显示全部楼层
当个版主如何?[/quote]
好啊,尽力而为!


回复 支持 反对

使用道具 举报

发表于 2013-8-21 22:52:28 | 显示全部楼层

今天还在想

要不要组织一下大连的会员,在线下吃吃喝喝呢。

点评

这个我喜欢~~  详情 回复 发表于 2013-8-21 23:03
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-21 23:03:49 | 显示全部楼层
今天还在想
要不要组织一下大连的会员,在线下吃吃喝喝呢。[/quote]
这个我喜欢~~


点评

我先把你设置成这个专题的版主 等有大吃大喝的活动会叫上你的  详情 回复 发表于 2013-8-21 23:05
回复 支持 反对

使用道具 举报

发表于 2013-8-21 23:05:17 | 显示全部楼层
小阿奔 发表于 2013-8-21 23:03
这个我喜欢~~

我先把你设置成这个专题的版主

等有大吃大喝的活动会叫上你的

点评

帮主万岁↖(^ω^)↗  详情 回复 发表于 2013-10-21 15:48
谢谢帮主~~哈哈~~  详情 回复 发表于 2013-8-21 23:07
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-21 23:07:36 | 显示全部楼层
我先把你设置成这个专题的版主
等有大吃大喝的活动会叫上你的[/quote]
谢谢帮主~~哈哈~~

回复 支持 反对

使用道具 举报

发表于 2013-8-21 23:10:52 | 显示全部楼层
沙发,终于坐上沙发了


回复 支持 反对

使用道具 举报

发表于 2013-8-22 11:06:10 | 显示全部楼层
支持你,期待更祥细的教程


回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-23 00:01:16 | 显示全部楼层
本帖最后由 uloong 于 2015-4-5 08:30 编辑 <br /><br />2013.8.22
今天先教大家怎么使用uTenux开发包,再罗嗦一句,uTenux只针对ARM Cortex M内核,如果你是高手,想移植到其他内核,另当别论。
OK,开始了。
首先,下载最新的uTenux开发包uTenux_V1.6.00r180,然后解压好会发现如下图所示的文件:
QQ截图20130822235956.jpg
双击index.html,里面列出了软件包所有的内容,新手可以按照快速指南很快学习如何使用。其他我就不多说了,大家自己看里面的资料。
uTenux的工程提供Keil、IAR、uT/studio,大家选择自己熟悉的用就可以了。
我今天想了想,不打算在论坛一上来就讲任务、信号量。。。。这些东西,打算结合STM32F4的板子,从操作系统移植中串口、时钟、看门狗、flash、ram这些讲起,所以大家不要偷懒,先阅读uTenux_V1.6.00r180开发包里面的文档吧。
源码包在网页右侧,中心位置,如图:
1.jpg
虽然我会使用STM32F4进行讲解,但是如果你手中有如下芯片的开发板也OK,现在uTenux都已经支持了。
2.jpg
如果你使用的确实是Cortex M内核的芯片,但是这里面还没有支持,也没有关系,接下来我以STM32F4为例,手把手教你我们是怎么移植的。如果你掌握了这个技能,明年招聘的时候,你就可以来应聘了,哈哈~~

回复 支持 反对

使用道具 举报

发表于 2013-8-23 10:33:08 | 显示全部楼层
本帖最后由 uloong 于 2015-4-5 08:30 编辑 <br /><br />支持加油

回复 支持 反对

使用道具 举报

发表于 2013-8-23 17:40:39 | 显示全部楼层
本帖最后由 uloong 于 2015-4-5 08:30 编辑 <br /><br />好好学习一下啦

回复 支持 反对

使用道具 举报

发表于 2013-8-23 21:23:16 | 显示全部楼层
本帖最后由 uloong 于 2015-4-5 08:30 编辑 <br /><br />能移到44B0上吗?我只有那个板子

点评

目前可以下载的utenux版本只针对Cortex M内核的芯片,以前版本的utenux也有支持44B0的,不过我们现在已经不提供软件包了。  详情 回复 发表于 2013-8-23 22:02
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-23 22:02:31 | 显示全部楼层
青灯 发表于 2013-8-23 21:23
能移到44B0上吗?我只有那个板子

目前可以下载的utenux版本只针对Cortex M内核的芯片,以前版本的utenux也有支持44B0的,不过我们现在已经不提供软件包了。

点评

详情 回复 发表于 2013-8-23 23:45
回复 支持 反对

使用道具 举报

发表于 2013-8-23 23:45:59 | 显示全部楼层
小阿奔 发表于 2013-8-23 22:02
目前可以下载的utenux版本只针对Cortex M内核的芯片,以前版本的utenux也有支持44B0的,不过我们现在已经 ...

o
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-27 10:15:59 | 显示全部楼层
2013.8.27
今天5分钟教大家使用uT/studio!
Keil和IAR的用户比较多,我习惯使用uT/studio,编译代码比KEIL要快,编辑器功能和调试功能也比较强,使用的是ARM优化过的GCC工具链,效率较高,而且开源免费。
为了让大家对uT/studio尽早熟悉,我用这个工具来讲解。
uT/studio是Eclipse+GCC工具链组成,现在好多工具都是Eclipse+插件的形式,比较流行。
界面如图:
QQ截图20130827100048.jpg
注意,使用uT/studio之前首先要查看环境配置:
112.jpg
图中的BD选项是当前工程所在目录,一般这个值会保留以前工程的值,如果移动了工程,需要修改。其他值是在导入工程时自动创建好的,一般不需要修改。工具链的路径以你安装的路径为准,不过一般按照用户手册安装软件的话就不用修改该值了。
uT/studio的文件管理和Windows管理器一样,这点和KEIL还有IAR不同,他们的文件夹结构都是逻辑的,不是实际的。
因为要编译STM32F407VG,所以找到makefile的位置,你找到了吗?
makefile.jpg
工程默认使用的就是STM32F407VG芯片,如果换做其他芯片,你就在这里修改。
然后,双击右侧对应芯片下的all就开始编译了:
all.jpg
编译完成后的界面:
ok.jpg
搞定了吗?
然后通过JLINK下载kernel-rom.hex程序就OK了。
回复 支持 反对

使用道具 举报

发表于 2013-8-27 11:03:08 | 显示全部楼层
又更新了~~Eclipse真是一款非常方便实用的开发工具,而且他是开源免费的哦~~
回复 支持 反对

使用道具 举报

发表于 2013-8-27 16:54:02 | 显示全部楼层
学习学习!先赞一下楼主!
回复 支持 反对

使用道具 举报

发表于 2013-8-27 16:58:34 | 显示全部楼层
阿奔辛苦

知识搞得很扎实呀
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册吧!

本版积分规则

单片机开发者1群:235808606;会员QQ 6群:254085994; 1群:12835691(满); 2群:121061287(满); 3群:237320668(满);4群:249652919(满);5群:253578883(满);大赛1群:187926790(满),2群:231577758(满),3群:249652919(满)。 TI杯4群:58129202(满)。
载入中

QQ|手机版|小黑屋|Archiver|大连创客空间 ( 辽ICP备15004617号-2  

GMT+8, 2017-5-28 05:22 , Processed in 0.274197 second(s), 30 queries .

地址:辽宁省大连市高新园区火炬路7号17层 QQ:2401085253

Copyright © 2010-2015 创客空间(大连)科技有限公司 All Rights Reserved.

快速回复 返回顶部 返回列表