8428|20

59

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

我的6410裸奔和使用wince6.0哪个难度大? [复制链接]

我的系统主要是对来自camera接口的数据进行图像处理,并通过USB OTG口(作为device使用)上传给PC机。不需要运行其它进程。
硬件选用s3c6410。经过在s3c2442的PDA上跑图像处理测试代码,时间比较紧张,主要瓶颈在存储器访问上。因此我们打算给6410装一片sram。运算过程中的一些中间数组放在sram中。

如果裸奔,对ddr,sram,camera,usb的访问都没有限制,但这些组件的配置得自己写。而且要用jtag调试。

如果用wince6.0,需要camera驱动、usb device驱动。可以通过activesync调试。

但我对如下问题还不了解:
1.camera以interleave数据输出时,可配置4帧缓冲区,如果应用程序通过驱动去取得图像数据,这些数据是先写到这4帧缓冲区再复制进入应用程序的缓存,还是从硬件接口直接进入应用程序的缓存?如果是前者,就增加了一次内存读和写。
2.接上一个问题,如果camera驱动不给应用程序传输数据,而是传递那4帧缓冲的地址指针,这样可以避免复制数据。但驱动和应用程序应该是分属不同的进程吧,驱动所指向的虚拟地址交给应用程序后,应用程序如何访问这个空间?
3.在wince下,应用程序的内存分配时,如何把某个数组分配到指定的物理地址空间(SRAM的地址范围内)?
4.看了以上3个问题,我想你已经对我使用的操作的顾虑有一些了解了。所以第4个问题是我的情况裸奔好还是用wince好?

刚注册的账号,只有这么多分可用,还望各位大侠不要嫌钱少啊。
此帖出自WindowsCE论坛

最新回复

最终觉得带操作系统( wince 6.0) 所有问题均已找到满意的解决方法。 谢谢各位。  详情 回复 发表于 2010-1-21 15:45
点赞 关注
 

回复
举报

65

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
帮顶,刚开始wince
此帖出自WindowsCE论坛
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
说是6.0的应用层不能直接操作寄存器,但是不清楚可不可以直接操作指定位置的内存,反正5.0是可以的。
在可以直接访问指定位置的内存的时候你直接将一个指针赋值就可以了,我们试过在5.0的时候应用程序和驱动都访问同一个内存地址。
此帖出自WindowsCE论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

4
 
问题有深度
此帖出自WindowsCE论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

5
 
这样的要求,我觉得还是裸奔吧,呵呵,调试容易很多。
此帖出自WindowsCE论坛
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 2 楼 veabol 的回复:
说是6.0的应用层不能直接操作寄存器,但是不清楚可不可以直接操作指定位置的内存,反正5.0是可以的。
在可以直接访问指定位置的内存的时候你直接将一个指针赋值就可以了,我们试过在5.0的时候应用程序和驱动都访问同一个内存地址。


5.0下虚拟地址和物理地址可以转换,但是那一块物理地址如果属于驱动程序,应用程序去访问的话应该会被MMU阻止吧。你们怎么解决的?
此帖出自WindowsCE论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(中级)

7
 
6.0 只能通过XXX_IOcontrol和应用联系,不能像在wince5.0 那样直接操作了,呵呵。
此帖出自WindowsCE论坛
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

8
 
引用 5 楼 oncancel 的回复:
引用 2 楼 veabol 的回复:
说是6.0的应用层不能直接操作寄存器,但是不清楚可不可以直接操作指定位置的内存,反正5.0是可以的。
在可以直接访问指定位置的内存的时候你直接将一个指针赋值就可以了,我们试过在5.0的时候应用程序和驱动都访问同一个内存地址。


5.0下虚拟地址和物理地址可以转换,但是那一块物理地址如果属于驱动程序,应用程序去访问的话应该会被MMU阻止吧。你们怎么解决的?


哦,这个是我搞错了。dll和载入它的应用程序属于同一个进程。至少在xp上是这样.
此帖出自WindowsCE论坛
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

9
 
mark,学习下!
此帖出自WindowsCE论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 7 楼 oncancel 的回复:



5.0下虚拟地址和物理地址可以转换,但是那一块物理地址如果属于驱动程序,应用程序去访问的话应该会被MMU阻止吧。你们怎么解决的?


不是的,都是用的虚拟地址,比如驱动指定访问一个内存地址:0x80110000,AP中同样可以指定访问这个地址。我们试过的,可用,只是要根据自己的情况看看要不要搞搞临界段访问之类的。
此帖出自WindowsCE论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

11
 
裸奔更底层,对ce熟悉的话ce更容易
此帖出自WindowsCE论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

12
 
WinCE6.0的的话,驱动应该都是现成的,关键是应用程序。Camera驱动好像是Direct架构的,应用程序貌似不太好弄,除非你比较熟这部分。

个人觉得,还是裸奔得了,相对更容易点。camera跟USB OTG的驱动应该都有的,直接抄过来就OK了。
此帖出自WindowsCE论坛
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

13
 
脱了衣服跑
此帖出自WindowsCE论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

14
 
这个取决于你的reference code和你自己擅长做哪块吧
如果对camera和usb驱动熟悉的话,我觉得裸奔挺好
此帖出自WindowsCE论坛
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

15
 
我是新手,根本不会自己配置外设,所以一直用OS,做软件的。学习了
此帖出自WindowsCE论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

16
 
看更熟悉哪个吧!
此帖出自WindowsCE论坛
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

17
 
裸比较爽
此帖出自WindowsCE论坛
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

18
 
引用楼主的
2.接上一个问题,如果camera驱动不给应用程序传输数据,而是传递那4帧缓冲的地址指针,这样可以避免复制数据。但驱动和应用程序应该是分属不同的进程吧,驱动所指向的虚拟地址交给应用程序后,应用程序如何访问这个空间?
同问,应用和驱动如何共享内存
此帖出自WindowsCE论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

19
 
关注这个主题.
camera 和otg 都有些中断操作, 还可能会额外开线程, 裸奔也有难度.
此帖出自WindowsCE论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

20
 
中断其实处理并不难的。反正ARM IRQ和FIQ都会自己寄存器保护。做好互斥就可以了

至于多线程,裸奔也需要一个mini的os的。可以port一个
或者自己写个最简单的。当初我们做mp3的时候其实也就写了一个基于消息机制的伪多任务操作系统而已
此帖出自WindowsCE论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表