4823|6

74

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

vxworks 如何动态加载.0文件? [复制链接]

 驱动文件以.0给出,需要检测到有该硬件再加载其驱动,如何实现?有什么命令可以?谢谢

最新回复

vxworks 交流群84134443  详情 回复 发表于 2009-5-30 20:27
点赞 关注
 

回复
举报

67

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
使用ld()函数即可。详细说明参考:

ld( ) – load an object module into memory.

SYNOPSIS MODULE_ID ld
(
int syms, /* -1, 0, or 1 */
BOOL noAbort, /* TRUE = don’t abort script on error */
char * name /* name of object module, NULL = standard input */
)

  This command loads an object module from a file or from standard input. The object
module must be in UNIX a.out format. External references in the module are resolved
during loading. The syms parameter determines how symbols are loaded; possible values:

0 – Add global symbols to the system symbol table.
1 – Add global and local symbols to the system symbol table.
-1 – Add no symbols to the system symbol table.

  If there is an error during loading (e.g., externals undefined, too many symbols, etc.), then
shellScriptAbort( ) is called to stop any script that this routine was called from. If noAbort
is TRUE, errors are noted but ignored.
The normal way of using ld( ) is to load all symbols (syms = 1) during debugging and to
load only global symbols later.

EXAMPLE The following example loads the a.out file module from the default file device into
memory, and adds any global symbols to the symbol table:
-> ld This example loads test.o with all symbols:
-> ld 1,0,"test.o"
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
同意LS的用ld
但我想在.o驱动中加入“硬件是否存在监测”是否更为合理呢?
另一个,不知道你用的VxWorks版本和你做的是什么驱动,如果是需要内存映射的设备驱动,是不能够动态加载的。
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

4
 
也可以使用loadModuleAt,ld不能指定代码段、数据段、BSS范围。如下:

pText=0x100000;
pData=0x1c0000;
pBss =0x1ce000;
myfd=open("cfcard:/XXX.out");
loadModuleAt(myfd,0,&pText,&pData,&pBss);
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

5
 
不知道用完了可不可以unload;
另外,在.o中加入“硬件是否存在监测”似乎可有可无,因为,load的前提是检测到有硬件存在,当然加入能够保证程序的健壮性。
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

6
 
ld 0,1 "My.o"

我一般用这个加载,unld可以卸载,loadModuleAt用起来更准确些
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

7
 
vxworks 交流群84134443
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表