| 首页 | 技术文章 | 资料下载 | 资料分类 | 最近更新资料 | 免费注册 | 用户登录 | 会员中心 | 新手上路 | 给我留言 | ||||||
|
|
||
| Skyeye使用经验
作者: 来源于: 发布时间:2007-6-29 15:18:00 |
| Skyeye交叉编译环境的下载及安装这里有比较详细的介绍:www.skyeye.org。下面以一个例子来分析这个open source的交叉编译工具。 下载ucosii for AT91,在Skyeye这个编译环境下编译以ucosii内核及基于ucosii的application. 我们来看看ucosii_test工程目录下的makefile文件.从makefile文件里关键的字样有:$(SAMPLE_DIR)\$(KERNEL_DIR)\$(ARCH_DIR)\$(LIB_DIR)\$(OS_DIR) 这些直接和编译环境有关,可以在当前makefile里找不到啊?别急,看看开始:include ../dir.make ,看到这个就明白了吧。好,看看上父目录下的dir.make文件吧。 # define some directory information of whole project ROOT_DIR = ../.. ARCH_DIR = $(ROOT_DIR)/arch/atmel-arch LIB_DIR = $(ROOT_DIR)/lib KERNEL_DIR = $(ROOT_DIR)/kernel SAMPLE_DIR = $(ROOT_DIR)/samples # these three files are needed when test all samples CFG_FILE = $(SAMPLE_DIR)/compiler.conf LDS_FILE = $(SAMPLE_DIR)/samples.lds MAP_FILE = $(PRJ_DIR)/memmap.conf DEP_FILES = $(CFG_FILE) $(MAP_FILE) $(LDS_FILE) 这里就是ucosii目录里所有基于skyeye交叉编译环境的全部和基本配置了。 恩,到在这里,我们可以明确很多东西,这些又利于加深我们对概念的理解,总结一下:
好,我们在进一步。硬件平台是skyeye,我们在使用它的默认配置时,(你当然可以修改它的配置,请看相关资料)不妨认为它对我们是透明的,这无论在硬件设计还是在软件设计上都是一个基本原则。想想,ucosii_test要跑起来,我们硬件环境有了,还需要什么?当然是ucosii内核,和我们自己的application!( 不是废话哦:))。打开ucosii工程的头文件,你一定奇怪,怎么看不到内核相关文件哪?这些个信息都包含在makefile里了。你可以回去看看makefile。(那个kernel字样很显眼的)。好,必须的“系统环境“我们已经有了。下面我们该看看main_entry.c的代码了,看看它是如何模拟的。代码很简单吧。我们这里关心的是它是why ,而不是how。skyeye_printf()这里函数看到了吧。看到skyeye字眼就又意思了。这里调用了和依赖的模拟平台有关的东东。恩,打开skysys_stdio.c看到skysys_printf()的实现,继续往下看,不难发现skyeye_printf()真正调用的是AT91(这是我们现在的硬件环境)的异步串口通讯来实现字符的输入、输出。我们当然会继续问:这些输入、输出又是由谁来实现的呢?其实我们如果是写基于硬件平台的软件,那么到这里也就ok了。如果非要继续往下看,那么去看看skyeye的include\lib文件吧(我也没再仔细往下研究了,至少现在:) )。 |
|
[] [返回上一页] [告诉好友] [发表评论] [打 印] [ 字体:大 中 小 ] |
| 上篇文章:在全集成设计环境中开发视频IP(三) 下篇文章:通往42V汽车电气系统之路 |
| ∷相关文章∷ |
| · minitos0.224 for skyeye 中断启动过程 · Skyeye安装笔记(1) · Skyeye安装笔记(2) · 一个开放源码的嵌入式仿真环境——SkyEye(一) · 一个开放源码的嵌入式仿真环境——SkyEye(二) |
| ∷相关软件∷ |
| 嵌入开发网下载中心Copyright © 2000-2006 www.embed.com.cn. All Rights Reserved . |