动态加载模块并执行指南

动态加载模块并执行指南

ID:12693815

大小:366.00 KB

页数:3页

时间:2018-07-18

动态加载模块并执行指南_第1页
动态加载模块并执行指南_第2页
动态加载模块并执行指南_第3页
资源描述:

《动态加载模块并执行指南》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、动态加载模块并执行指南1文件我们将所有编译好的模块放在服务器上(譬如:102.168.0.204上的/modules/atm目录下)配置vxworks的nfs,使之创建nfs文件系统/modules并连接到服务器上参见相关文档2VxWorks镜像裁减保证需要增加如下组件:Developmenttools/loade/targetloaderDevelopmenttools/loade/targetunloaderDevelopmenttools/symboltable/symboltableDevelopmenttools

2、/symboltable/initializesymboltableNetworks/networkingprotocols/networkfilesystems/NFSclient1提供使用的函数wriLoadandRun1)wriLoadandRun的原形voidwriLoadandRun(char*filename,char*funcname){intfd;SYM_TYPE*pType;FUNCPTRfuncp;MODULE_IDmoduleId;charfn[100];hostAdd("Host","102.168

3、.0.204");/*mountthenfs(Networksfilesystem)atthelocale*/if(nfsMount(SERVERNAME,SERVERPATH,MOUNTENODE)==ERROR){logMsg("nfsMounterror:0x%x",errnoGet());}/*gettheabsolutepathofthefilename*/sprintf(fn,"%s/%s.out",MOUNTENODE,filename);fd=open(fn,O_RDONLY,0);if(fd==ERR

4、OR){logMsg("openerrno:0x%x",errnoGet());}/*loadthemoduleinthesystemsymboltable*/if((moduleId=loadModule(fd,LOAD_ALL_SYMBOLS

5、LOAD_COMMON_MATCH_ALL))==NULL){logMsg("loadModuleerrno:0x%x",errnoGet());close(fd);return;}/*closethefile*/close(fd);/*unmountthenfsthat

6、mountpreviously*/if(nfsUnmount(MOUNTENODE)==ERROR){logMsg("nfsUnmounterror:0x%x",errnoGet());}/*findtheentryfunction*/if(symFindByName(sysSymTbl,funcname,(char**)&funcp,pType)==ERROR){logMsg("sysFindByNameerrno=%x",errnoGet());}taskSpawn(funcname,100,0,10000,(

7、FUNCPTR)funcp,0,0,0,0,0,0,0,0,0,0);return;}1如何使用wriLoadandRun建议在usrAppInit.c添加如下代码:在usrAppInit()加入voidusrAppInit(void){#ifdefUSER_APPL_INITUSER_APPL_INIT;/*forbackwardscompatibility*/wriLoadandRun(char*filename,char*funcname);#endif/*addapplicationspecificcodehere

8、*/}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。