5382|15

83

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于sysgen时,文件丢失的问题 [复制链接]

我的这个试验是参考周立功《arm&wince 试验与实践》中的一个例子,主要目的是编写一个驱动程序,然后将它加入操作系统实现驱动的自动加载。
第一: 程序代码在C:\WINCE500\PLATFORM\SMDK2440A\SRC\DRIVERS 编译通过,修改DIRS文件  dirs= mydriver\....
第二: 修改platform.bib文件, mydriver.dll    $(_flatreleasedir)\mydriver.dll  NK
第三: 修改注册表

然后BUILD OS, 每次SYSGEN,都出现这样的错误:
Could not find file 'C:\WINCE500\PBWorkspaces\Drivertest\RelDir\smdk2440a_ARMV4I_Release\mydriver.dll' on disk
找不到驱动的文件,我每次单独编译代码的时候,都会在release目录下生成mydriver.dll。可是一sysgen就消失了...

这个错误是怎么产生的呢?

还有大家通常怎么写驱动代码呀?谢谢

最新回复

Copy of dirs 是个文件,DIRS文件放一起的 或者你在bib里面写的copy路径直接只想target目录,这样开始写驱动就直接用PB的命令行build一下就可以,然后make,这样特别快。  详情 回复 发表于 2008-8-8 16:54
点赞 关注

回复
举报

88

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
Copy of dirs中没有添加驱动目录所以编译后没有帮你copy过去吧。
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
请问,怎么看 copy of dirs 目录?
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

4
 
每次编完手动复制。
写一个bat文件,编译完运行一次进行复制
在WINCE的Environment中加变量WINCEREL 值为1,每次编译完会自动复制,不需要你操作。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

5
 
引用 3 楼 shuiyan 的回复:
每次编完手动复制。
写一个bat文件,编译完运行一次进行复制
在WINCE的Environment中加变量WINCEREL 值为1,每次编译完会自动复制,不需要你操作。

您是指每次编写完驱动手动复制到reldir下? 然后make runtime image...?
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

6
 
正确。
还有,我说的是3种方法,不是一种。每种方法over后都需要makeimg的。
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

7
 
引用楼主 ddoeddoe 的帖子:
我的这个试验是参考周立功《arm&wince 试验与实践》中的一个例子,主要目的是编写一个驱动程序,然后将它加入操作系统实现驱动的自动加载。
第一: 程序代码在C:\WINCE500\PLATFORM\SMDK2440A\SRC\DRIVERS 编译通过,修改DIRS文件  dirs= mydriver\....
第二: 修改platform.bib文件, mydriver.dll    $(_flatreleasedir)\mydriver.dll  NK
第三: 修改注册表

然后BUILD OS, 每次SYSGEN,都出现这样的错误:
Could …


还缺一个步骤,要想把自己的驱动加入BSP,还要修改CEC文件或者PBXML文件。这样PB才会知道怎么样编译你的驱动。

楼主,你是自己买周的板子,貌似很贵,估计你是在学校的吧,周的板子貌似只卖给学校。
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

8
 
PB菜单:setting的Configuration项:Custom Build Actions选项卡中的Build step下拉框,选择Pre-Make Image (有四个选项,分别为Pre-Sysgen,Post-Sysgen,Pre-Make Image,Post-Make Image,意思如其名) ,然后New,在弹出的Custom Build Action对话框中输入类似以下的语句:
copy \ %_FLATRELEASEDIR%\
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

9
 
引用 5 楼 shuiyan 的回复:
正确。
还有,我说的是3种方法,不是一种。每种方法over后都需要makeimg的。

关键是,我NK.BIN都没有生成,不能makeimg...除非我把自己写的驱动去了,重新添加? 一定要这样么?
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 7 楼 91program 的回复:
PB菜单:setting的Configuration项:Custom Build Actions选项卡中的Build step下拉框,选择Pre-Make Image (有四个选项,分别为Pre-Sysgen,Post-Sysgen,Pre-Make Image,Post-Make Image,意思如其名) ,然后New,在弹出的Custom Build Action对话框中输入类似以下的语句:
copy  \ %_FLATRELEASEDIR%\

这个方法我在您以前对于类似的问题的回复中看到过,我也试验了,还是不行...
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

11
 
Could not find file 'C:\WINCE500\PBWorkspaces\Drivertest\RelDir\smdk2440a_ARMV4I_Release\mydriver.dll' on disk

你都没有在CEC文件里面告诉编译器这个东西的路径了,GUID了,以及需要的库了之类的东西,编译器当然说找不到这个DLL了
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

12
 
引用 6 楼 gooogleman 的回复:
还缺一个步骤,要想把自己的驱动加入BSP,还要修改CEC文件或者PBXML文件。这样PB才会知道怎么样编译你的驱动。

楼主,你是自己买周的板子,貌似很贵,估计你是在学校的吧,周的板子貌似只卖给学校。

呵呵,不是自己买的,能学的会就好,可是刚刚接触驱动,什么都不懂...我试着去改下BSP的CEC文件看看,PBXML文件怎么改我就不知道了...
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

13
 
你第一次可以先去掉你的driver(只要在platform.bib里去掉就行,这样不会试图包含),直到能编译成功生成nk.bin.
然后再build你的dll,调试期间,为快速方便起见,可以在nk.bin所在的目录下找ce.bib,然后将你的dll写入,再makeimg就行。

都调试通过后,再修改platform.bib,然后重新sysgen,rebuild。
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

14
 
引用 12 楼 shuiyan 的回复:
你第一次可以先去掉你的driver(只要在platform.bib里去掉就行,这样不会试图包含),直到能编译成功生成nk.bin.
然后再build你的dll,调试期间,为快速方便起见,可以在nk.bin所在的目录下找ce.bib,然后将你的dll写入,再makeimg就行。

都调试通过后,再修改platform.bib,然后重新sysgen,rebuild。

恩 谢谢
这个方法很好,以后我也会这么做,可是我还是想知道我那么做到底错哪了,先试验下googleman的方法看行不行...
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

15
 
引用 12 楼 shuiyan 的回复:
你第一次可以先去掉你的driver(只要在platform.bib里去掉就行,这样不会试图包含),直到能编译成功生成nk.bin.
然后再build你的dll,调试期间,为快速方便起见,可以在nk.bin所在的目录下找ce.bib,然后将你的dll写入,再makeimg就行。

都调试通过后,再修改platform.bib,然后重新sysgen,rebuild。



很好的使用技巧,不是骨灰级人物是不会对PB这么熟悉的。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

16
 
Copy of dirs 是个文件,DIRS文件放一起的

或者你在bib里面写的copy路径直接只想target目录,这样开始写驱动就直接用PB的命令行build一下就可以,然后make,这样特别快。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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