Freescale 9S12 系列单片机应用笔记(libmaker)
不说废话了,还是以一系列的例子来说明问题。首先假设我们的项目中有三个源文件。分别如下:
- /*add1.c*/
- charadd1(chara){returna+1;}
- /*add2.c*/
- charadd2(chara){returna+2;}
- /*add3.c*/
- charadd1(chara){returna+3;}
这3个文件真是没个性,不过对于说明问题已经够用了。
编译后会形成三个 Object 文件:add1.c.o add2.c.o add3.c.o
然后可以利用 libmaker 将这三个 object 文件打包为库文件了。这里需要些命令行操作,不熟悉的可以找些 win 批处理文件的教程看看。
首先,在 .o 文件所在目录建个 a.bat 的批处理文件。里面加入两行代码:
set PATH="D:\Program Files\Freescale\CWS12v5.1\Prog";%PATH%cmd /k
如果你的CWS12安装在不同的目录,请做相应的修改。然后双击 a.bat 文件,会打开一个命令行窗口,并且设置好环境变量。
执行下面的命令:
Libmaker -Cmd( add1.c.o + add2.c.o + add3.c.o = add.lib)
上面命令的 + 号可以省略,写为:
Libmaker -Cmd( add1.c.o add2.c.o add3.c.o = add.lib)
执行的结果是相同的,都是产生 add.lib 文件。好了,库文件已经生成了。可以测试了。在 main.c 中加几行:
- add1(chara);
- charadd2(chara);
- charadd3(chara);
- voidmain(void)
- {
- unsignedintdata;
- SCIInit();
- SCISetBaudRate(SCI0,9600,8192000L);
- EnableInterrupts;
- data=1;
- data=add1(data);SCIPutChar(SCI0,data);
- data=add2(data);SCIPutChar(SCI0,data);
- data=add3(data);SCIPutChar(SCI0,data);
- for(;;)
- {
- _FEED_COP();/*feedsthedog*/
- }/*loopforever*/
- }
Libmaker 还有些其他的功能,下面给一些简单的例子。
将一个obj 文件添加到现有库文件中,语法如下:
Libmaker -Cmd(add.lib + add4.c.o = add.lib)
将一个 obj 文件移出 库文件:
Libmaker -Cmd(add.lib - add1.c.o = add.lib)
知道这些就够一般的应用了。如果还需要了解更多,请参看 Build Tools Utilities Manual。
Freescale9S12系列单片机libmake 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)