今天晚上决定要把uc/os-ii上的例子编译一遍。
一,准备工作
准备工作阶段,要编译例子,就要找源码,这部分还比较顺利,在学院论坛里找到了,
然后就是编译器,书上要求是Borland c++4.5,以前没用过,首先想到的是到去google上搜一下,看有没有可以下载的,竟然都下不来,费了不少时间,最后在学院的ftp上找了全套的编译器包括TASM汇编,“/incoming/软件天地/开发相关/”这些都工作,没有技术含量但真的是很占用时间。
二,安装编译环境
1.uc/os-ii的光盘里有一个uCOSV252.exe自解压文件,运行它,自动在c盘根目录下生成/software文件夹.
我们要编译的例子源码在C:\SOFTWARE\uCOS-II\EX1_x86L\BC45\SOURCE 的test.c 文件
2.Borland C++4.5的安装过程:
很简单找到install.exe文件执行它,按照图形化的wizard一步步就可以了,注意的是最好是放在默认的目录下,也就是C盘根目录下
/BC45 就是编译器所在的目录
3.TASM汇编器的安装也一样,图形界面,在C盘根目录下生成:
/TASM 目录
最后把C:\TASM\BIN 目录下的TASM.ext拷贝到 /BC45/bin/目录下 编译汇编代码用的
note:千万记住,这时候,编译环境还没有完全搭建成功,还有一件重要的事没做。重启电脑。
如果不重启电脑,则编译失败。
三,编译例题一
上面的编译环境安装成功之后,就开始动手编译第一个例子了。
范例一演示uc/os-ii的多任务处理能力。
3.1 找到编译例子所需要的所有源码
这里有个概念要明确,这个例子只是uc/os-ii这个嵌入式操作系统的一部分功能的演示,不是编译整个uc/os操作系统,所以就不需要把/source里的源码都加到工程里,我一开始就冲着编译内核去,搞混了概念。既然是例子一,根据书上的说明,找到C:\SOFTWARE\uCOS-II\EX1_x86L\BC45\SOURCE test.c就是我们要的源码。打开test.c 文件,发现它包含一个头文件#include"includes.h" 则把includes.h文件复制到/BC45/include目录下,打开includes.h,我们发现它还包含
#include "\software\ucos-ii\ix86l\bc45\os_cpu.h"
#include "os_cfg.h"
#include "\software\ucos-ii\source\ucos_ii.h"
#include "\software\blocks\pc\bc45\pc.h"
这几个头文件,也就是说第一个例子还需要 os_cpu_c.c os_cfg.c ucos_ii.c pc.c这四个源文件
当然还需要os_cpu_a.asm
通过这种方法,我们把所需的文件都找全了,当然,如果你把所有的源码都放到一个工程里,也可以。
3.2 修该相关参数,
所需源码,准备好以后,还有一个问题要解决,就是includes.h文件中,引用别的头文件的路径问题,
我都统一改为了绝对路径,改好以后如下:
#include "C:\software\ucos-ii\ix86l\bc45\os_cpu.h"
#include "C:\SOFTWARE\uCOS-II\EX1_x86L\BC45\SOURCE\os_cfg.h"
#include "C:\software\ucos-ii\source\ucos_ii.h"
#include "C:\software\blocks\pc\bc45\pc.h"
至此,相关工作就完成了,下面就到了编译了
3.3 Borland C++4.5的使用
建一个工程
Platform:DOS (standard)
Target Model:Large
把文件添加进工程
Add node
编译链接,生成可执行文件,参阅帮助
>build all
3.4成功以后的效果
四,遇到的问题
五,收获
通过编译例题一,确实收获不少,首先最大的收获就是,编译成功了,在这个过程中,要到了很多问题,有些问题虽然小但是确实很重要,
收获:1.第一个收获,怎么查找资料,这个问题看起来简单但是确实很重要,只有正确的方法,才能在可能短的时间内达到自己的目标。具体的说,在这个例子中,先到教学论坛上看看,去年的课,应该留下一些有用的资料,然后就开始goole了,要保证迅速找到有用的资料,就要找好关键字,直奔主题的关键字,uc/os的例子的调试,
各种错误的解决方法,都要直接。
2.第二个收获,可以说以第一次尝试,Borland C++的使用方法,具体的说就是Project的建立,怎么添加文件到工程,编译,等。由于是第一次使用Borland的东西,不知道怎么用,在google上也没搜到什么有用的资料,比如,怎么添加文件到一个工程中,不知道Add node是不是就是添加文件,这时候,就想到了help文件,果然在help中找到了满一个答案,最终编译成功。这也是我第一次通过帮助文件来了解一个软件的用法。 没想到效果出奇的好,这也要求我English必须要过关,我的读书计划是必须的,而且很有用的。
3.第三个收获,在做之前看看别人的经验教训,是十分必要的,但,如果自己不动手亲自实验的话,是永远体会不到它的真谛的。所以,以后一定要做,把每一个例子,每一个试验都亲自跑一边。
阅读(2474) | 评论(4) | 转发(0) |