历史上的今天
今天是:2025年05月29日(星期四)
2018年05月29日 | ICCAVR库制作
2018-05-29 来源:eefocus
在ICCAVR中通过使用库函数来避免直接看到敏感算法源码
制作和使用自定义库文件的范例:
目标:
制作一个库文件libGetMax.a ,其中包含一个外部函数GetMax 。 函数GetMax的作用是判断两个输入参数(int 型)中的最大值,并返回最大值。
制作一个应用范例,使用库libGetMax.a 中包含的GetMax函数。
步骤1: 库文件的生成
为叙述方便,在ICC安装目录新建一目录,并将其命名为libtest。
在ICCAVR IDE环境中新建两个文件,分别命名为GetMax.c和GetMax.h,并保存至工作目录中。两文件内容如下所示:
//------GetMax.h的内容如下:------
#ifndef __GETMAX_LIB
#define __GETMAX_LIB
extern int GetMax( int a, int b );
#endif
//------GetMax.c的内容如下:------
#include "GetMax.h"
int GetMax( int a, int b )
{
return ( (a > b)?a:b );
}
执行File菜单下的Compile File...项下的To Object项,将GetMax.c编译生成相应的目标文件GetMax.o 。
执行命令ilibw -a libGetMax.a GetMax.o生成库文件(在当前文件夹中新建txt文档,内容是ilibw -a libGetMax.a GetMax.o然后名字改为lib.bat,然后双击即可)。可执行文件ilibw.exe位于icc安装完后的系统目录(默认安装时在C:\icc)的子目录bin中。为使用方便可将ilibw.exe拷贝至工作目录中使用。至此库文件libGetMax.a已生成,其对应的头文件为GetMax.h 。注意库文件的命名必须以“lib”字样开头,否则在IDE中编译下面的应用范例过程中自动链接时会报错(手动链接除外)。
步骤2:应用范例的编写和编译
在工作目录中建立一个工程Test.prj 。工程Test.prj中包含一个C源程序文件Test.c 。Test.C的源代码如下所示:
//------Test.c的源代码如下:------
#include "GetMax.h"
void main( void )
{
int Result,Value1,Value2;
Value1 = 0x10FF;
Value2 = 0x0FFF;
Result = GetMax( Value1, Value2);
}
然后,将前一步骤生成的库文件libGetMax.a拷贝至icc安装完后的系统目录(默认安装时在C:\icc)的子目录lib中。再执行 Project菜单下的Option项,修改Target表单中的Additional Lib项,在文本框中输入GetMax (注意不能写成 libGetMax.a)。
然后拷贝GetMax.h于工作目录
完成上述步骤后,就以编译和调试test.prj 。
这样就可以用自己的ICC库了。
史海拾趣
|
一转眼,春节7天假期结束了,一些家在外地的上班族大呼“不过瘾”。昨天,南京市劳动和社会保障局综合科科长戴登凯支招———可以申请休探亲假,而且名正言顺。 调查:九成人士不知有探亲假 昨天,记者在南京街头随机采访了100多位在 ...… 查看全部问答> |
|
[原创]s3c2440a中文手册(datasheet),欢迎大家下载 本人利用业余时间翻译了s3c2440a的datasheet部分章节, 由于外语水平有限,不足之处还请大家谅解!! 大家可到我刚建的论坛下载 嵌入式linux论坛:http://embeddedlinux.thefreehoster.com/ 其中的\"嵌入式硬件开发\"版面 欢迎大家注 ...… 查看全部问答> |
|
一共收集了33个设计题目: 1. 16×16点阵(滚动显示)论文+程序 2. cdma通信系统中的接入信道部分进行仿真与分析 3. LED显示屏动态显示和远程监控的实现 4. MCS-51单片机温度控制系统 5. USB接口设计 6. ...… 查看全部问答> |
|
开发了一种用TL494构成的恒流恒压双闭环控制系统。系统通过两个闭环共用同一个脉宽调制实时处理方法,实现了恒流调节和恒压调节功能。该控制系统结构简单, 在高速换向脉冲电镀电源的性能测试及运行中表明, 其 ...… 查看全部问答> |
|
安富利Spartan-6 LX9 Microboard开发教程(中文) 安富利Spartan-6 LX9 Microboard开发教程(中文) 请大家点击以下链接观看。http://v.youku.com/v_show/id_XMjkwNzc1NDY4.html [ 本帖最后由 sdjntl 于 2011-8-3 20:28 编辑 ]… 查看全部问答> |




