一个人看的视频在线观看高清,91在线视频在线观看,麻豆国产精品有码在线观看http://www.bjzhda.cnzh-cn曙海教育集團(tuán)論壇http://www.bjzhda.cnRss Generator By Dvbbs.Netofficeoffice@126.comimages/logo.gif曙海教育集團(tuán)論壇愛(ài)特梅爾推出SAM9G45-EK評(píng)測(cè)工具包加速基于400MHz ARM9之嵌入式微處理器的應(yīng)用開(kāi)發(fā)http://www.adgdgn.cn/bbs/dispbbs.asp?BoardID=35&ID=2796&Page=1wangxinxin2010-12-22 14:00:14Atmel? Corporation)宣布推出SAM9G45-EK評(píng)測(cè)工具包,支持基于愛(ài)特梅爾400 MHz ARM926? 之嵌入式微處理器(MPU)并帶有DDR2存儲(chǔ)器的應(yīng)用開(kāi)發(fā)。SAM9G45提供帶有片上物理層、兼容 EHCI的 480 Mbps HS USB,以太網(wǎng)和用于高速連接的SDIO,加上實(shí)現(xiàn)智能用戶(hù)界面(iUI)的LCD和觸控功能,以及設(shè)置在附有雙EBI的高數(shù)據(jù)帶寬架構(gòu)上的可編程1.8或3.3V I/O供電電壓。

  該評(píng)測(cè)板可用于評(píng)測(cè)SAM9G45的雙外部總線(xiàn)架構(gòu)的性能優(yōu)勢(shì)。它帶有兩個(gè)獨(dú)立的128 MB的第二代雙倍數(shù)據(jù)速率DRAM (DDR2)存儲(chǔ)器組,每個(gè)存儲(chǔ)器組連接一個(gè)外部總線(xiàn)接口。板上閃存包括2 GB的NAND閃存和32 Mb (2Mb x 16)的閃存,可用于存儲(chǔ)應(yīng)用數(shù)據(jù),或在系統(tǒng)啟動(dòng)時(shí)存儲(chǔ)已上載到DDR2存儲(chǔ)器中的固件信息。

  板上外設(shè)則包括一個(gè)高速(HS) USB主/設(shè)備端口、第二個(gè)HS USB主端口、一個(gè)以太網(wǎng)10/100接口、兩個(gè)高速SDCard/SDIO/MMC插槽、一個(gè)帶電阻觸摸屏背光照明功能的24位彩色WQVGA LCD TFT顯示器、復(fù)合視頻輸出、相機(jī)接口以及一個(gè)備份電池

  SAM9G45評(píng)測(cè)板具有雙啟動(dòng)功能,支持Linux? 和 Microsoft? Windows?CE,并帶有預(yù)先編程的演示程序,展示在Linux 和 WinCE系統(tǒng)下的基本編程功能。愛(ài)特梅爾并為這兩種操作系統(tǒng)提供免費(fèi)的完整的板級(jí)支持包(BSP)。

圖片點(diǎn)擊可在新窗口打開(kāi)查看

  Linux支持

  愛(ài)特梅爾在其AT91SAM Linux門(mén)戶(hù)網(wǎng)站www.linux4sam.org上免費(fèi)提供Linux v2.6.27操作系統(tǒng),這個(gè)Linux軟件包備有完整的Linux v2.6.27內(nèi)核、用于AT91SAM9G45評(píng)測(cè)工具包的Linux補(bǔ)丁、設(shè)備驅(qū)動(dòng)程序、預(yù)建演示程序和基于開(kāi)放嵌入式(Open Embedded)構(gòu)建環(huán)境的?ngstrom 工具。AT91SAM Linux入門(mén)網(wǎng)站是面向廣泛且不斷擴(kuò)大之社群的網(wǎng)關(guān),為愛(ài)特梅爾全部基于ARM9?的嵌入式32位微處理器系列提供Linux自我支持。

  Windows CE支持

  支持Windows嵌入式BSP的AT91SAM9G45工具包功能齊全,為工程師提供了在愛(ài)特梅爾基于ARM9之產(chǎn)品中部署微軟嵌入式技術(shù)所需的一切工具。該產(chǎn)品可從網(wǎng)站下載。此外還有廣泛的文檔提供,包括一個(gè)使用就緒(ready-to-run)的演示程序,用于解釋如何使用和定制BSP源代碼以及如何基于Windows BSP進(jìn)行應(yīng)用構(gòu)建。

  世界范圍的廣泛第三方生態(tài)系統(tǒng)

  領(lǐng)先的第三方嵌入式軟件供應(yīng)商可以提供大量中間件、開(kāi)發(fā)工具和RTOS,支持SAM9G45作為愛(ài)特梅爾AT91SAM微控制器世界范圍生態(tài)系統(tǒng)的一部分,這些公司包括:

  Mentor Graphics 公司

  Mentor Graphics公司嵌入式系統(tǒng)部門(mén)總經(jīng)理Glenn Perry表示:“我們與愛(ài)特梅爾建立了長(zhǎng)期穩(wěn)固的合作關(guān)系,客戶(hù)能夠使用我們的Nucleus RTOS 和 Nucleus Graphics用戶(hù)界面,來(lái)實(shí)現(xiàn)最佳的性能。通過(guò)采用SAM9G45電路板和Mentor Graphics開(kāi)發(fā)工具及軟件IP,嵌入式開(kāi)發(fā)人員無(wú)需通過(guò)硬件加速,便可以在最短時(shí)間內(nèi)為其設(shè)備創(chuàng)建先進(jìn)的2D和3D圖形用戶(hù)界面。”

  Micrium公司

  Micrium 公司副總裁Christian Legare表示:“SAM9G45是第一款帶有真正的EHCI兼容USB高速控制器的嵌入式微處理器。為了實(shí)現(xiàn)軟件可移植性,英特爾針對(duì)高速USB主控制器硬件的實(shí)現(xiàn)方案,定義了寄存器級(jí)接口和存儲(chǔ)器數(shù)據(jù)結(jié)構(gòu)的EHCI標(biāo)準(zhǔn)。我們的高速USB控制器驅(qū)動(dòng)程序和USB堆棧也有一個(gè)類(lèi)似的嵌入式硬件,能夠以PC級(jí)速度運(yùn)行。Micrium的中間件和功能強(qiáng)大的基于ARM9處理器非常適合那些尋求占用較少資源的實(shí)時(shí)操作系統(tǒng)(RTOS),而不需要大容量存儲(chǔ)器和高性能操作系統(tǒng)的替代方案的客戶(hù)。”

  QNX公司

  QNX軟件系統(tǒng)公司業(yè)務(wù)聯(lián)盟經(jīng)理Kroy Chang-Zeviar 表示:“在QNX開(kāi)發(fā)者社群門(mén)戶(hù)網(wǎng)站Foundry27.com上,QNX專(zhuān)為愛(ài)特梅爾基于ARM 9之處理器而開(kāi)發(fā)的板級(jí)支持包已成為最受歡迎的下載產(chǎn)品之一。愛(ài)特梅爾的SAM9G45-EK整合了硬實(shí)時(shí)性能、2D/3D加速圖形、Flash Lite HMI和QNX? Neutrino?操作系統(tǒng)的超級(jí)可靠性等優(yōu)勢(shì),可為自動(dòng)化系統(tǒng)、HVAC控制、媒體設(shè)備及其它任務(wù)關(guān)鍵性應(yīng)用的原型構(gòu)建與設(shè)計(jì)提供理想的快捷方式。”

  Fluffy Spider Technologies公司

  Fluffy Spider Technologies公司首席執(zhí)行官Robi Karp評(píng)論道:“愛(ài)特梅爾的SAM9G45 eMPU為智能設(shè)備制造商和應(yīng)用開(kāi)發(fā)商提供了一個(gè)功能豐富的高成本效益平臺(tái)。通過(guò)支持SAM9G45,我們的FancyPants多媒體和圖形引擎可幫助OEM廠(chǎng)商實(shí)現(xiàn)硅片增值,并利用專(zhuān)業(yè)的、引人注目的富媒體(media-rich)用戶(hù)界面實(shí)現(xiàn)產(chǎn)品的差異化。”

  Timesys 公司

  Timesys公司業(yè)務(wù)發(fā)展副總裁Charlie Ashton表示:“我們的軟件開(kāi)發(fā)框架LinuxLink一直廣為利用愛(ài)特梅爾處理器設(shè)計(jì)基于Linux的嵌入式產(chǎn)品的客戶(hù)所采納。我們針對(duì)最新推出的AT91SAM9G45處理器和參考板而開(kāi)發(fā)的LinuxLink訂閱服務(wù),可提供預(yù)先匯編的起始點(diǎn),助力愛(ài)特梅爾客戶(hù)快速啟動(dòng)Linux產(chǎn)品開(kāi)發(fā)。這項(xiàng)訂閱服務(wù)是通過(guò)Linux內(nèi)核和根文件系統(tǒng)而定制化,幫助客戶(hù)在其產(chǎn)品中采用Linux,然后進(jìn)行最終的系統(tǒng)集成。有了LinuxLink,SAM9G45客戶(hù)能夠以更低的開(kāi)發(fā)成本更快地將產(chǎn)品推向市場(chǎng)。此外,Timesys在客戶(hù)開(kāi)發(fā)的每個(gè)階段均提供專(zhuān)業(yè)工程技術(shù)支持。”

  Adeneo Embedded公司

  Adeneo Embedded 公司首席執(zhí)行官Yannick Chammings表示:“Adeneo Embedded為OEM廠(chǎng)商提供Windows Embedded CE的培訓(xùn)、系統(tǒng)開(kāi)發(fā)支持和BSP維護(hù),使他們基于SAM9G45之設(shè)計(jì)能繼續(xù)保持優(yōu)勢(shì)。Adeneo Embedded和愛(ài)特梅爾正聯(lián)手在美國(guó)和歐洲進(jìn)行針對(duì)AT91SAM9 系列的Windows Embedded CE培訓(xùn)。這個(gè)為期一周的培訓(xùn)基于標(biāo)準(zhǔn)微軟課程,將幫助參與人員掌握帶有Windows Embedded BSP的AT91SAM9評(píng)測(cè)工具包的使用方法,以及定制和開(kāi)發(fā)應(yīng)用的專(zhuān)業(yè)能力。”

]]>
突破硬件束縛wince 內(nèi)存管理http://www.adgdgn.cn/bbs/dispbbs.asp?BoardID=35&ID=2795&Page=1wangxinxin2010-12-22 13:50:522002年10月 , 一種名為“VeriChip”的芯片突然在美國(guó)市場(chǎng)上銷(xiāo)售 。 將其植入皮下 , 不管是用金融卡提款 , 還是用信用卡消費(fèi) , 只需在現(xiàn)場(chǎng)讓刷卡機(jī)“刷自己” , 取得VeriChip的鑒別碼后就能完成交易 。 但是由于產(chǎn)品功能過(guò)于單一且必須冒著被致惡性腫瘤的風(fēng)險(xiǎn) , 項(xiàng)目最終不了了之 。

“VeriChip”的芯片假如能獲得更大的軟件支持 , 提供更多“以人為本”的也許 , 即使基于“人體芯片”爭(zhēng)吵的暴風(fēng)眼 , 或許也不致“幾年游說(shuō) , 僅2000人植入”的結(jié)果 。 “芯片的性能除了取決于芯片本身 , 也取決于軟件對(duì)它的支持 。 ” 飛思卡爾的開(kāi)源研發(fā)經(jīng)理?xiàng)钚佬勒f(shuō) 。

拋開(kāi)人體載體這一敏感話(huà)題 , IC嵌入式軟件開(kāi)發(fā)如今已經(jīng)應(yīng)用到許多領(lǐng)域中 , 包含航空航天事業(yè)中的載人飛船;銀行中的一些服務(wù)設(shè)備;汽車(chē)中的車(chē)載信息娛樂(lè)系統(tǒng)或是家庭家電設(shè)備等 。 這意味著客戶(hù)對(duì)于IC嵌入式軟件開(kāi)發(fā)的復(fù)雜性要求日益提高 , IC嵌入式軟件開(kāi)發(fā)工程師扮演著越來(lái)越重要的角色 。

入職專(zhuān)業(yè)匹配度要高 軟性技能需團(tuán)隊(duì)意識(shí)強(qiáng)

米萊iT科技網(wǎng)

大多企業(yè)將應(yīng)聘標(biāo)準(zhǔn)設(shè)定在電腦/電子通信/自動(dòng)控制專(zhuān)業(yè)本科以上學(xué)歷 , 部分民營(yíng)/私營(yíng)稍有降低標(biāo)準(zhǔn) , 為專(zhuān)科學(xué)歷 。 依據(jù)公司開(kāi)發(fā)項(xiàng)目的需求IC嵌入軟件開(kāi)發(fā)工程師還需要精通UcOS、VxWorks、WinCE、Linux等通用產(chǎn)品其中一項(xiàng)或多項(xiàng)開(kāi)發(fā)平臺(tái) 。 鑒于Linux源代碼的開(kāi)放化 , 使開(kāi)發(fā)者能依據(jù)自己的需要進(jìn)行裁剪 , 受到了開(kāi)發(fā)者和企業(yè)的青睞 。 “精通Linux嵌入式操做系統(tǒng)”會(huì)是非常好的面試敲門(mén)磚 , “打擊面”廣 , 卻過(guò)于大眾化 。

對(duì)于工做經(jīng)驗(yàn)的要求 , 19%的企業(yè)要求至少一年相關(guān)工做經(jīng)驗(yàn) , 42%的企業(yè)要求擁有三年及以上 , 尤其是在金融風(fēng)險(xiǎn)還未徹底消退的形勢(shì)下 , 企業(yè)招聘仍堅(jiān)持保守政策 , 尤其是高端稀缺型人才 , 只有3%的企業(yè)愿意將機(jī)會(huì)留給應(yīng)屆畢業(yè)生(以上是以2009年12月4日51job關(guān)鍵字“嵌入式軟件開(kāi)發(fā)工程師”的統(tǒng)計(jì)結(jié)果) 。

在這些嵌入式操做系統(tǒng)中封裝了越來(lái)越多的功能 , 除了對(duì)任務(wù)的切換、調(diào)度、通信、同步、互斥、中斷管理、時(shí)鐘管理等 , 還可進(jìn)一步封裝內(nèi)存管理、網(wǎng)絡(luò)通訊協(xié)議、文件管理等功能 , 這些功能可以依據(jù)需要進(jìn)行裁減 。 面對(duì)大量高技術(shù)難度的工做內(nèi)容 , 幾乎所有的企業(yè)都要求應(yīng)聘者具有高責(zé)任心和高團(tuán)隊(duì)合做意識(shí)的軟性技能 。 除此之外 , 對(duì)于不善言辭的IT 男 , “善于溝通”這個(gè)技能可以獲得面試附加分 。

需求穩(wěn)步攀升中放量 薪資一線(xiàn)城市待遇豐厚 www.mylove21.cn

據(jù)前程無(wú)憂(yōu)數(shù)據(jù)庫(kù)顯示 , 嵌入式軟件開(kāi)發(fā)人才的需求量由6月份上升23個(gè)點(diǎn) , 達(dá)759個(gè)每日網(wǎng)上職位發(fā)表數(shù) , 8月與11月成為該行業(yè)的兩個(gè)增長(zhǎng)最為迅速的節(jié)點(diǎn) 。 VDC統(tǒng)計(jì)顯示嵌入式軟件的應(yīng)用部分最大的兩個(gè)市場(chǎng)是消費(fèi)類(lèi)和電信/數(shù)據(jù)應(yīng)用 , 兩者的營(yíng)業(yè)額相加占有將近半壁江山 。 時(shí)值年關(guān)將近 , 嵌入式軟件開(kāi)發(fā)人才可有針對(duì)性的尋覓新東家 , 為自己的職業(yè)發(fā)展生涯放手一搏 。

薪資方面 , 依據(jù)前程無(wú)憂(yōu)薪酬數(shù)據(jù)顯示 , 中國(guó)北京的本行業(yè)平均年薪超過(guò)中國(guó)深圳和中國(guó)上海等沿海城市 , 中國(guó)上海稍有落后 , 但都逼近了9萬(wàn)年薪的水平 , 中國(guó)深圳的行業(yè)平均年薪超過(guò)8萬(wàn) 。 二線(xiàn)城市的薪資則被“腰斬” , 一般維持在4.3―4.8萬(wàn)的水平 , 但隨著不少?lài)?guó)際頂尖半導(dǎo)體公司選擇入住二線(xiàn)城市的技術(shù)開(kāi)發(fā)區(qū) , 我們有理由相信 , 二線(xiàn)城市薪資發(fā)展擁有較大的上升空間 。

]]>
關(guān)于M8使用WINdows CE操作系統(tǒng)http://www.adgdgn.cn/bbs/dispbbs.asp?BoardID=35&ID=2794&Page=1wangxinxin2010-12-22 13:49:45

圖片點(diǎn)擊可在新窗口打開(kāi)查看
對(duì)業(yè)界而言,Windows CE絕對(duì)算不上新名詞,而且,隨著嵌入式系統(tǒng)及掌上型產(chǎn)品的日益受寵,"Windows CE"在各種場(chǎng)合露面的機(jī)會(huì)亦越來(lái)越多。但是,很多人對(duì)Windows CE的認(rèn)識(shí)并非很清晰,甚至存在著一些誤區(qū)。那么,Windows CE到底是什么?微軟為什么要推出Windows CE?Windows CE有哪些特點(diǎn)?我們能用Windows CE干什么?……且聽(tīng)微軟中國(guó)研究開(kāi)發(fā)中心Windows CE產(chǎn)品部經(jīng)理任健先生對(duì)Windows CE的解說(shuō)。
(1)Windows CE是什么?
  簡(jiǎn)而言之,Windows CE是一個(gè)搶先式多任務(wù)并具有強(qiáng)大通信能力的Win32嵌入式操作
系統(tǒng),是微軟專(zhuān)門(mén)為信息設(shè)備、移動(dòng)應(yīng)用、消費(fèi)類(lèi)電子產(chǎn)品、嵌入式應(yīng)用等非PC領(lǐng)域而從
頭設(shè)計(jì)的戰(zhàn)略性操作系統(tǒng)產(chǎn)品。
Windows CE所支持的編程界面是Win32 API的子集,它支持600多種最常用的Win32 A
PI。它具有專(zhuān)門(mén)為實(shí)時(shí)嵌入應(yīng)用而設(shè)計(jì)的、搶先式多任務(wù)的操作系統(tǒng)核心,可以燒入ROM
。操作系統(tǒng)核心只用500KB的ROM和250KB的RAM。目前,Windows CE的最新版本是前不久剛
推出的5.0版。"CE"的來(lái)源已無(wú)處可查,但是微軟人普遍認(rèn)為,"CE"中的"C"代表了消費(fèi)類(lèi) (Consume
r)、袖珍 (Compact) 、通信能力 (Connectivity) 和伴侶(Companion),而"E"則代表了
電子產(chǎn)品 (Electronics)。嵌入式操作系統(tǒng)是一種用途廣泛的系統(tǒng)軟件。工業(yè)控制是它的傳統(tǒng)應(yīng)用領(lǐng)域,在這一
領(lǐng)域里已有一些存在了多年的比較成功的嵌入式操作系統(tǒng)。但近年來(lái),隨著家電信息化的
趨勢(shì)日益明顯,對(duì)嵌入式操作系統(tǒng)提出了許多新的要求,熟悉和友好的用戶(hù)界面、統(tǒng)一的
編程界面、強(qiáng)大的通信功能已變得日趨重要。微軟一直致力于把計(jì)算技術(shù)用于改善人們的工作和生活,不斷聽(tīng)取用戶(hù)的需求,并根據(jù)技術(shù)發(fā)展的水平推出相應(yīng)的產(chǎn)品。從DOS到Windows 3.1、Windows 95、Windows NT,直至Windows CE,都是滿(mǎn)足用戶(hù)需求的表現(xiàn)。我們希望通過(guò)我們和技術(shù)伙伴的努力,能使普通老百姓從計(jì)算技術(shù)中受惠,得以跨入信息時(shí)代或知識(shí)經(jīng)濟(jì)的大門(mén)。
(2)為什么要推出Windows CE?
  生活中人們開(kāi)始使用手機(jī)、PDA以及手持和掌上電腦等來(lái)存儲(chǔ)和處理各種重要信息,
這似乎預(yù)示著一場(chǎng)新的革命。
這場(chǎng)革命就是,計(jì)算機(jī)占領(lǐng)了桌面之后,繼續(xù)向小型化和分散化發(fā)展,更廣泛地進(jìn)入人
們工作、生活和娛樂(lè)的各個(gè)方面和各個(gè)角落。近年來(lái),這場(chǎng)革命又被Internet的迅猛普及
所推動(dòng),一個(gè)網(wǎng)上世界已經(jīng)出現(xiàn),人們隨時(shí)隨地獲取所需信息,保持與他人接觸的需求愈發(fā)
強(qiáng)烈。
  自微軟創(chuàng)辦之日起,比爾·蓋茨就確立了公司的使命,即創(chuàng)造出能夠鼓舞和豐富人類(lèi)
生活的個(gè)人計(jì)算機(jī)軟件,無(wú)論是在辦公室、在學(xué)校,還是在家里。這就是后來(lái)著名的"信息
隨手可得"的夢(mèng)想。今天,微軟已為PC提供了出色的操作系統(tǒng)平臺(tái)(Windows 9x/NT)、高效
率的軟件開(kāi)發(fā)工具和功能強(qiáng)大且易用的通用軟件,使許多人的工作和生活從中受益。
但是,PC的價(jià)格及使用的復(fù)雜性仍使許多人與此無(wú)緣,尤其在中國(guó)更是如此。PC文化
仍不是徹底的"庶民文化",目前PC的復(fù)雜性對(duì)于更為普遍的大眾來(lái)說(shuō)仍是一種"精英工具
"。PC已成為人們進(jìn)入網(wǎng)上世界的最后一道門(mén)坎。例如中國(guó)已在Internet干線(xiàn)、接入、內(nèi)
容提供等諸方面投入巨資,但就因?yàn)檫@"最后一公里"難題,中國(guó)的Internet產(chǎn)業(yè)遲遲不能
起飛。
  微軟不想重犯80年代一家著名公司犯下的錯(cuò)誤。當(dāng)年這家公司固守"主機(jī)文化"而錯(cuò)
失了電腦向桌面這一新領(lǐng)域拓展的良機(jī),成為自己引發(fā)的PC革命的旁觀(guān)者。因此,微軟在
向個(gè)人桌面和企業(yè)管理領(lǐng)域提供了兩個(gè)方便易用且功能強(qiáng)大的操作系統(tǒng)(Windows 9x/NT
)之后,又從頭設(shè)計(jì)了Windows CE,以面向更為廣大的被稱(chēng)為移動(dòng)計(jì)算、信息家電等應(yīng)用領(lǐng)
域,我們稱(chēng)之為"非PC"領(lǐng)域。我們希望在這一新的應(yīng)用領(lǐng)域中仍然能夠扮演操作系統(tǒng)平臺(tái)
、開(kāi)發(fā)工具和通用軟件供應(yīng)商的傳統(tǒng)角色。
  所以,Windows CE是微軟順應(yīng)計(jì)算技術(shù)小型化、分散化趨勢(shì)的產(chǎn)物,是發(fā)揚(yáng)"庶民文化"傳統(tǒng)

的戰(zhàn)略性產(chǎn)品。微軟已投入并將繼續(xù)投入大量的資源,通過(guò)發(fā)揮我們善于運(yùn)用現(xiàn)有
技術(shù)并進(jìn)行技術(shù)創(chuàng)新而滿(mǎn)足市場(chǎng)需求的能力,以及引導(dǎo)、帶動(dòng)相關(guān)產(chǎn)業(yè)的能力和強(qiáng)大的市
場(chǎng)推廣能力,并充分發(fā)揮我們?cè)赑C革命中所積累的豐富經(jīng)驗(yàn)和資源,繼續(xù)成為這場(chǎng)新的革
命的前驅(qū)。
(3)Windows CE的特點(diǎn)
1. 設(shè)計(jì)目標(biāo)和體系結(jié)構(gòu)
Windows CE 是一個(gè)基于Win32、多任務(wù)、具有強(qiáng)大通信能力和圖形功能的操作系統(tǒng)
,是專(zhuān)門(mén)為嵌入式應(yīng)用而設(shè)計(jì)的。它使以更低的開(kāi)發(fā)成本、在更短的時(shí)間內(nèi)進(jìn)入更廣闊的
市場(chǎng)成為可能。其設(shè)計(jì)目標(biāo)為:
*模塊化可伸縮;
*實(shí)時(shí)性能好;
*通信功能強(qiáng)大;
*支持多種 CPU。
2. 支持多種處理器
Windows CE是一個(gè)可移植的操作系統(tǒng)

3. 強(qiáng)大的操作系統(tǒng)內(nèi)核與良好的通信能力
Windows CE具有靈活的電源管理功能,包括睡眠/喚醒模式。使用對(duì)象存儲(chǔ)(ObjectS
tore)技術(shù),包括文件系統(tǒng)、注冊(cè)表及數(shù)據(jù)庫(kù)。它具有高性能/效率的操作系統(tǒng)特性,包括
按需換頁(yè)、共享存儲(chǔ)、交叉處理同步、支持大容量堆(Heap)等。
Windows CE支持直接的局域網(wǎng)以及撥號(hào)連接,提供與PC、內(nèi)部網(wǎng)以及Internet的連接
,包括用于應(yīng)用級(jí)數(shù)據(jù)傳輸?shù)脑O(shè)備至設(shè)備間的連接。提供各種基本的通信基礎(chǔ)結(jié)構(gòu),包括
:套接字(Socket)、TCP/IP、PPP、IrDA、遠(yuǎn)程訪(fǎng)問(wèn)、TAPI 以及Unimodem、WinInet、Wi
n32串行、SLIP、NDIS驅(qū)動(dòng)程序,還有對(duì)SMB重定向程序、聯(lián)網(wǎng)以及PC 連接性的支持。同
時(shí),還提供與Windows 95/98/NT的最佳集成和通信。支持廣泛的通信硬件。
4. 豐富的圖形用戶(hù)界面
提供基于Microsoft Internet Explorer的Internet瀏覽器。此外,還支持TrueType
字體,提供賞心悅目的顯示及打印效果。
可配置、可擴(kuò)展、通用、精巧的基于Windows模型的控件庫(kù),用于建立類(lèi)Windows應(yīng)用
的專(zhuān)門(mén)圖形用戶(hù)界面,可作為嵌入應(yīng)用開(kāi)發(fā)人員的范例和工作起始點(diǎn)。
支持特定目標(biāo)應(yīng)用的豐富服務(wù),例如手寫(xiě)體和聲音識(shí)別、動(dòng)態(tài)影像、3D 圖形等。
5. 通用開(kāi)發(fā)工具和可再用資源
通用開(kāi)發(fā)工具有:
*Windows CE Embedded Toolkit for Visual C++;
*Windows CE Toolkit for Visual J++;
*Windows CE Toolkit for Visual Basic;
*其他第三方的工具。
目前,世界上有420多萬(wàn)Win32 開(kāi)發(fā)人員,其商務(wù)和嵌入式應(yīng)用都使用同一種API,這將
大大方便開(kāi)發(fā)人員。
發(fā)揮可重定目標(biāo)應(yīng)用代碼庫(kù)的作用。目前,已有超過(guò)1.7萬(wàn)種Win32應(yīng)用作為巨大的代
碼庫(kù),OEM廠(chǎng)商可以從中獲得適當(dāng)?shù)募夹g(shù)許可,同時(shí),軟件開(kāi)發(fā)商們可將其現(xiàn)有的資源快速
移植到Windows CE平臺(tái)上。
Windows CE支持COM的進(jìn)程內(nèi)函數(shù)、部件化的Java VM和Visual Basic腳本,并提供豐
富的、經(jīng)常在嵌入式應(yīng)用中使用的部件化的軟件,包括通信、數(shù)學(xué)/統(tǒng)計(jì)、圖形/圖像、數(shù)
字信號(hào)處理、用戶(hù)界面等。
(4)Windows CE的產(chǎn)品線(xiàn)
1. 預(yù)制平臺(tái) (Target Platform)
微軟公司推出和正在推出一系列基于Windows CE的預(yù)制平臺(tái),它們可分為下面兩大類(lèi)
移動(dòng)式或便攜式產(chǎn)品 如掌上型電腦、手持式電腦以及汽車(chē)電腦等。
面向家庭以電視為主要顯示器的產(chǎn)品 如電視瀏覽器、頂置盒和游戲機(jī)等。
我們這里所使用的如手持式電腦這樣的平臺(tái)名稱(chēng),指的是軟件平臺(tái),是微軟為該硬件
平臺(tái)所提供的軟件。硬件平臺(tái)通常是由微軟定義、硬件合作伙伴生產(chǎn)的。因此,只要符合
該定義的硬件,就可以運(yùn)行與之相應(yīng)的軟件平臺(tái)。卡西歐和飛利浦生產(chǎn)的掌上型電腦都預(yù)
裝了基于Windows CE 的掌上型電腦軟件平臺(tái),只要是為掌上型電腦開(kāi)發(fā)的軟件都可以在
上面運(yùn)行。
換句話(huà)說(shuō),我們也可以把Windows CE內(nèi)核加上掌上型電腦預(yù)制軟件平臺(tái)看作是Windo
ws CE的掌上型電腦版;而把Windows CE內(nèi)核加上手持式電腦預(yù)制軟件平臺(tái)看作是Window
s CE的手持式電腦版。Windows CE的手持式電腦版與Windows 95/98/NT的用戶(hù)界面最接
近。
為了幫助軟件開(kāi)發(fā)人員為這些預(yù)制目標(biāo)平臺(tái)開(kāi)發(fā)軟件,微軟還提供了相應(yīng)的軟件開(kāi)發(fā)
工具,例如Windows CE Tool Kit for VC、VB和VJ。軟件開(kāi)發(fā)人員可以使用它們?cè)赪indo
ws NT上為各種預(yù)制目標(biāo)平臺(tái)開(kāi)發(fā)應(yīng)用軟件。該工具中包括了現(xiàn)有預(yù)制目標(biāo)平臺(tái)在Windo
ws NT上的仿真模擬器,以便軟件開(kāi)發(fā)人員在沒(méi)有預(yù)制目標(biāo)平臺(tái)硬件產(chǎn)品的情況下對(duì)應(yīng)用
程序進(jìn)行仿真調(diào)試。
2. 專(zhuān)用產(chǎn)品與嵌入式系統(tǒng)開(kāi)發(fā)工具箱ETK
對(duì)于那些無(wú)法在微軟提供的預(yù)制目標(biāo)平臺(tái)上實(shí)現(xiàn)的應(yīng)用,微軟將Windows CE及其輔助
工具以ETK(Embedded Tool Kit)的形式提供給軟硬件開(kāi)發(fā)商。他們可以用搭積木的方式
開(kāi)發(fā)自己的軟硬件平臺(tái),以滿(mǎn)足其獨(dú)特的需求。這類(lèi)產(chǎn)品我們稱(chēng)之為專(zhuān)用產(chǎn)品(Vertical
Product)。
(5)Windows CE在中國(guó)
  近年來(lái),中國(guó)的IT、家電、個(gè)人通信設(shè)備等行業(yè)及其市場(chǎng)已取得了長(zhǎng)足的進(jìn)步,例如
,在中國(guó)家用電器市場(chǎng)中,國(guó)內(nèi)品牌已經(jīng)占據(jù)了主導(dǎo)地位,個(gè)人通信設(shè)備迅速增長(zhǎng)。據(jù)統(tǒng)計(jì)
數(shù)字顯示,國(guó)內(nèi)尋呼機(jī)持有量和手機(jī)持有量均已進(jìn)入了世界前列。中國(guó)市場(chǎng)規(guī)模龐大,獨(dú)
具特色,只要把握住其脈搏,便可形成爆發(fā)性的成功,并可能走向并影響世界產(chǎn)業(yè)。例如在
世界上其他國(guó)家翹首盼望DVD時(shí),VCD在中國(guó)卻異彩紛呈,形成世界上獨(dú)一無(wú)二的VCD市場(chǎng),
并自行制定標(biāo)準(zhǔn),提交國(guó)際標(biāo)準(zhǔn)化組織。
  此外,世界范圍的IT、家電、娛樂(lè)等傳統(tǒng)行業(yè)的融合趨勢(shì)業(yè)已波及中國(guó)。例如,國(guó)內(nèi)
PC制造業(yè)者已轉(zhuǎn)向家用電腦、信息家電,學(xué)習(xí)機(jī)市場(chǎng)也在嘗試與家電產(chǎn)品的融合。在國(guó)內(nèi)
家電市場(chǎng)趨于成熟和飽和之后,家電廠(chǎng)商便紛紛涌入IT行業(yè),包括PC制造業(yè),也有一些廠(chǎng)商
順應(yīng)了信息家電的潮流,自行或與計(jì)算機(jī)廠(chǎng)商合作開(kāi)發(fā)信息家電產(chǎn)品。
但由于中國(guó)的特殊國(guó)情,即經(jīng)濟(jì)水平和教育水平的限制,國(guó)內(nèi)計(jì)算機(jī)市場(chǎng)目前仍不能
提供一個(gè)規(guī)模化的用戶(hù)群,IT業(yè)仍是一個(gè)幼稚產(chǎn)業(yè),未能形成規(guī)模經(jīng)濟(jì),苦于尋找出路,其
中軟件行業(yè)尤為突出。家電行業(yè)在迅速發(fā)展并成功地滿(mǎn)足了傳統(tǒng)家電市場(chǎng)的需求后,正面
臨生產(chǎn)能力過(guò)剩、過(guò)度市場(chǎng)競(jìng)爭(zhēng)等難題,急于尋找新的增長(zhǎng)點(diǎn)。
同時(shí),國(guó)內(nèi)業(yè)界還有一種強(qiáng)烈的需求,即希望有一種合理的產(chǎn)業(yè)分工模式和技術(shù)標(biāo)準(zhǔn)
化,以避免盲目競(jìng)爭(zhēng)和重復(fù)性勞動(dòng);希望能站在高起點(diǎn)和世界技術(shù)發(fā)展的前沿,加入世界大
合作,快速推出滿(mǎn)足市場(chǎng)需求的產(chǎn)品。例如學(xué)習(xí)機(jī)在發(fā)展多年后,目前就面臨著技術(shù)提升
的問(wèn)題。
  在這種情況下,Windows CE為國(guó)內(nèi)產(chǎn)業(yè)界所帶來(lái)的不僅僅是其操作系統(tǒng)平臺(tái)、開(kāi)發(fā)工
具和通用軟件所提供的一個(gè)較高的技術(shù)起點(diǎn),還有微軟引導(dǎo)帶動(dòng)相關(guān)產(chǎn)業(yè)的能力以及強(qiáng)大
的市場(chǎng)推動(dòng)能力,這將有助于形成新的規(guī)模化的市場(chǎng),這種規(guī)模化市場(chǎng)正是中國(guó)軟件行業(yè)
、Internet行業(yè)等所急切需要的。同時(shí),還提供了加入全球產(chǎn)業(yè)生態(tài)環(huán)境的機(jī)會(huì),在這里
既有合作又有競(jìng)爭(zhēng),中國(guó)產(chǎn)業(yè)界完全可發(fā)揮在VCD、學(xué)習(xí)機(jī)市場(chǎng)中所表現(xiàn)出的強(qiáng)大動(dòng)能而
直接走向世界。 ]]>
我的 ARM-WinCE 編程探索之旅(二)http://www.adgdgn.cn/bbs/dispbbs.asp?BoardID=35&ID=1807&Page=1wangxinxin2010-11-26 10:04:49經(jīng)過(guò)多次測(cè)試,找到了使用 FPC(Free Pascal Compiler)加 SDL(SImple DirectMedia Layer)進(jìn)行 ARM-WinCE 圖象編程的途徑(最終,建立過(guò)程中還是不得不借助于M$的開(kāi)發(fā)工具eVC)。

1、從 http://www.libsdl.org/download-1.2.php 下載最新的 SDL 1.2.13 源碼,解壓其中 src 和 include 到 c:\,解壓其中 visualce.zip 到 c:\VisualCE。

2、下載并安裝eMbedded Visual C++ 4.0(同時(shí)附帶安裝了Platform SDK),運(yùn)行,打開(kāi)WorkSpace文件 c:\VisualCE\*.vcw,修改工程配置為 arm4,release,然后 Build SDL.DLL,生成 ARM-WinCE 下用的 SDL.DLL,約220K大小,將 SDL.DLL 拷入 PPC。

3、從 http://www.hu.freepascal.org/lazarus/ 下載并安裝最新的 Lazarus + fpc 2.2.5 win32 -> arm wince。修改 \lazarus\fpc\2.2.5\source\packages\sdl\src\sdl.pas 的源碼,注釋掉連續(xù)的多個(gè) *getenv 和 *putenv 二函數(shù),再用 ppcrossarm.exe 編譯 sdl.pas,得到libimpsdl.a、sdl.o、sdl.ppu三個(gè)文件,覆蓋原 \lazarus\fpc\2.2.5\units\arm-wince\sdl\ 下的文件。

至此,F(xiàn)PC+SDL的WinCE圖形編程環(huán)境構(gòu)建完成。

接下來(lái),將前些日子根據(jù) PGCC 示例用 FPC 改寫(xiě)的一個(gè)簡(jiǎn)單的桌面版 SDL 測(cè)試程序,重新用 ppcrossarm.exe 編譯,生成的EXE文件大小為82K,只導(dǎo)入了額外的 SDL.DLL(前面已經(jīng)放入PPC),在PPC上運(yùn)行通過(guò)。運(yùn)行時(shí)會(huì)先出現(xiàn) SDL 初始化的控制臺(tái)窗口,顯示一些視頻信息(桌面版的SDL也是如此,類(lèi)似于dosbox的運(yùn)行),其運(yùn)行結(jié)果是每秒20次在全屏幕上顯示隨機(jī)大小、隨機(jī)顏色的方塊,按任意鍵或觸筆點(diǎn)擊退出。

下面是昨天晚上最后的程序源碼(在事件查詢(xún)循環(huán)上好像有點(diǎn)邏輯問(wèn)題,有時(shí)候退不出程序,待修正):
  1. program Test;
  2. uses windows, sysutils, sdl;

  3. var
  4.         screen: PSDL_Surface;
  5.         event: TSDL_Event;
  6.         draw_count:int64=0;
  7.         done:boolean;
  8.         l,t:integer;

  9. procedure Draw_Box(screen:PSDL_Surface; x,y,w,h:dword; r,g,b:dword);
  10. var
  11.         p:PByte;
  12.         p2:PWord;
  13.         i,j:dword;
  14.         c:dword;
  15. begin
  16.         if SDL_MUSTLOCK(screen) then begin
  17.                 if SDL_LockSurface(screen) < 0 then exit;
  18.         end;

  19.         c := SDL_MapRGB(screen^.format, R, G, B);
  20.         assert (screen^.format^.BytesPerPixel=2);
  21.         p := screen^.pixels + y*screen^.pitch + x*screen^.format^.BytesPerPixel;
  22.         for j:=1 to h do begin
  23.                 p2:=PWord(p);
  24.                 for i:=1 to w do begin
  25.                         p2^:=c;
  26.                         inc(p2);
  27.                 end;
  28.                 inc(p,screen^.pitch);
  29.         end;

  30.         if SDL_MUSTLOCK(screen) then SDL_UnlockSurface(screen);
  31.         SDL_UpdateRect(screen, x, y, w, h);
  32. end;

  33. procedure HandleKey(key: TSDL_KeyboardEvent);
  34. begin
  35.         done:=true;
  36. end;

  37. //main at here
  38. begin
  39.         SDL_Init(SDL_INIT_VIDEO or SDL_INIT_AUDIO);
  40.         screen := SDL_SetVideoMode(320, 240, 16, SDL_HWSurface);
  41.         SDL_WM_SetCaption('My SDL',nil);

  42.         while not done do begin
  43.                 //Set_Pixel(screen,random(320),random(240),random(255),random(255),random(255));
  44.                 l:=random(320-40);
  45.                 t:=random(240-30);

  46.                 Draw_Box(Screen,l,t,random(320-40-l)+41,random(240-30-t)+31,random(255),random(255),random(255));
  47.                 inc(draw_count);
  48.                 while SDL_PollEvent(@event)<>0 do begin
  49.                               case event.type_ of
  50.                               SDL_MouseButtonDown,
  51.                                 SDL_QUITEV, SDL_KEYDOWN,SDL_KEYUP: done := true;
  52.                                       //handleKey(event.key);
  53.                         end;
  54.                 end;
  55.                 SDL_Delay(50);
  56.         end;

  57.         SDL_Quit();
  58. end.
復(fù)制代碼
接下來(lái)打算搞點(diǎn)有實(shí)際用處的程序,比如說(shuō)一個(gè)文本閱讀器,使用24點(diǎn)陣字體;還要嘗試是否能將一些 sdl 輔助庫(kù)(比如:SDL_Mixer)編譯成 ARM-WinCE 可用的 DLL。

]]>
關(guān)于WINCE系統(tǒng)的介紹和M8 MyMobile系統(tǒng)的介紹。喜歡技術(shù)歷史的和小白進(jìn)http://www.adgdgn.cn/bbs/dispbbs.asp?BoardID=35&ID=1806&Page=1wangxinxin2010-11-26 10:03:41關(guān)于M8的系統(tǒng)
    貌似目前M8的Android系統(tǒng)受關(guān)注關(guān)注最多,很多煤油關(guān)注將來(lái)自己能否使用新的機(jī)器人系統(tǒng),原本的M8 MyMobile系統(tǒng)倒是很少受關(guān)注,最新發(fā)布的 Windows Embedded CE 6.0 R3或許讓煤油對(duì)將來(lái)的MyMobile有了更多期待。不過(guò)也看到一些用戶(hù)連基本的M8的MyMobile系統(tǒng)也不清楚,不知道什么是WinCE,還跟Windows Mobile混淆對(duì)比新舊,這里就簡(jiǎn)單介紹一下M8的MyMobile系統(tǒng),以及其與WinCE的淵源,不過(guò)對(duì)此不感興趣的煤油可以無(wú)視此系統(tǒng)介紹章節(jié)看軟件安裝介紹了,不是誰(shuí)使用M8都要搞清楚M8的系統(tǒng)的,有興趣的可以看看了解一下。

WinCE與Windows Mobile
    在介紹M8的MyMobile系統(tǒng)之前,有必要先介紹一下WinCE與Windows Mobile。

圖片點(diǎn)擊可在新窗口打開(kāi)查看



官方介紹:
    WindowsCE是微軟公司嵌入式、移動(dòng)計(jì)算平臺(tái)的基礎(chǔ),它是一個(gè)開(kāi)放的、可升級(jí)的32位嵌入式操作系統(tǒng),是基于掌上型電腦類(lèi)的電子設(shè)備操作系統(tǒng),它是精簡(jiǎn)的Windows 95,Windows CE的圖形用戶(hù)界面相當(dāng)出色。其中CE中的C代表袖珍(Compact)、消費(fèi)(Consumer)、通信能力(Connectivit)和伴侶(Companion);E代表電子產(chǎn)品(Electronics)。
    首先,WinCE是微軟的嵌入式、移動(dòng)平臺(tái)的操作系統(tǒng)基礎(chǔ),在其基礎(chǔ)上可以定制很多定制化操作系統(tǒng)。比如目前主流的Windows Mobile就是基于WinCE 5.0定制的,之前SP2003(Smart Phone 2003)和PPC 2003((PocketPC) 2003)則是基于WinCE 4.2定制的。其實(shí)WinCE不僅僅可以用來(lái)做手機(jī)系統(tǒng),還可以用來(lái)做其他嵌入式設(shè)備的系統(tǒng)。WinCE可以用來(lái)做手機(jī),掌上電腦,但是這不是WinCE唯一的用途,很多設(shè)備都可以用到WinCE,比如數(shù)控機(jī)床,信息家電,等等。

圖片點(diǎn)擊可在新窗口打開(kāi)查看



       2000年,微軟專(zhuān)門(mén)為掌上電腦定制的包含一些特殊的API的Windows CE定制版本,命名為“PocketPC”,最早是“PocketPC2000”,之后升級(jí)為“PocketPC2002”,均為基于WindowsCE3.0的內(nèi)核。PPC是基于WinCe高度定制的系統(tǒng),是微軟因市場(chǎng)需要,統(tǒng)一掌上電腦操作系統(tǒng)的規(guī)格。它在WinCE的基礎(chǔ)上削減了一些功能,定制的專(zhuān)用于掌上電腦操作系統(tǒng)。另外,微軟為了搶占智能手機(jī)(“Smart Phone”)的市場(chǎng)份額,通過(guò)收購(gòu)的技術(shù)借鑒,開(kāi)發(fā)出一套外觀(guān)、風(fēng)格和使用方法同PPC的系統(tǒng)很相似但是內(nèi)核卻并不相同的智能手機(jī)專(zhuān)用的嵌入式操作系統(tǒng),叫做“MicroSoft Smart Phone”。這個(gè)系統(tǒng)的手機(jī)典型特點(diǎn)是大多不支持觸摸屏的。SP(Smart Phone)則是獨(dú)立于 PPC 的操作系統(tǒng),它不但功能更簡(jiǎn)化,而且在內(nèi)存使用上和WinCE,PPC都不一樣。

圖片點(diǎn)擊可在新窗口打開(kāi)查看



        2003年,微軟為了方便,把它所有的用于手持式移動(dòng)計(jì)算設(shè)備上的嵌入式操作系統(tǒng)統(tǒng)稱(chēng)為“Windows Mobile”,如“Windows Mobile 2003”。但是其中又分為PPC版和SmartPhone版,他們分別和原來(lái)的PocketPC和SmartPhone操作系統(tǒng)是對(duì)應(yīng)的。其中PPC版本的Windows Mobile 2003是基于WindowsCE4.2內(nèi)核的。2005年,微軟將SmartPhone和PPC上的兩套系統(tǒng)作了進(jìn)一步的整合,發(fā)布了“Windows Mobile 2005”,劃分標(biāo)準(zhǔn)版和專(zhuān)業(yè)版,分別對(duì)應(yīng)SmartPhne和PPC版本,它們之間的差距在縮小,典型的差別就是是否支持觸摸手寫(xiě)。目前Windows Mobile已經(jīng)經(jīng)歷了Windows Mobile 6.0、6.1以及最新的6.5的發(fā)展,Windows Mobile6.X 系列都是基于WinCE 5.0的。基于最新WinCE6的Windows Mobile7也在緊張開(kāi)發(fā)中,不久的將來(lái)即將與大家見(jiàn)面。

圖片點(diǎn)擊可在新窗口打開(kāi)查看



MyMobile
        通過(guò)上面的介紹我們了解了WinCE以及Windows Mobile的關(guān)系以及區(qū)別,再回頭看看魅族M8所采用的MyMobile系統(tǒng)。

圖片點(diǎn)擊可在新窗口打開(kāi)查看



        M8的MyMobile系統(tǒng)同樣是基于微軟Windows CE系統(tǒng)定制的,不過(guò)是基于最新的WinCE6.0,由魅族定制。MyMobile最主要的就是要加入通信功能,同時(shí)定制一套更友好,具備更好用戶(hù)體驗(yàn)的GUI。大家或許都知道,WinCE原始的GUI非常簡(jiǎn)陋,用戶(hù)體驗(yàn)很差,而M8也通過(guò)定制的GUI實(shí)現(xiàn)了高分辨率顯示下的絢麗界面和超酷觸摸操作。M8采用基于WinCE6的基礎(chǔ)來(lái)定制自己的操作系統(tǒng),一方面可以節(jié)省一部分授權(quán)費(fèi)用(使用Windows Mobile要支付一定的授權(quán)費(fèi)用給微軟,而WinCE的授權(quán)很少甚至沒(méi)有),另外就是可以定制自己的GUI。作為一款手機(jī)操作系統(tǒng),M8首先就是要加入通話(huà)功能,其中涉及聯(lián)系人,接打電話(huà)等,而之前Windows Mobile一貫丑陋簡(jiǎn)陋的聯(lián)系人管理已經(jīng)讓很多用戶(hù)抱怨了,Windows Mobile平臺(tái)的眾多聯(lián)系人管理軟件的出現(xiàn)就可見(jiàn)一斑。為此在定制的通話(huà)模塊中M8也人性化的加入了區(qū)號(hào)秀等功能,實(shí)現(xiàn)聯(lián)系人分組(早期的系統(tǒng))等一些列定制化。而M8炫酷的操作界面自然不用說(shuō)了,配合高分大屏操作,第一眼便吸引了眾多煤油。

圖片點(diǎn)擊可在新窗口打開(kāi)查看



        另外,正是因?yàn)镸8是基于WinCE定制的,而WinCE本身也不是專(zhuān)為手機(jī)而設(shè)計(jì)的,它是為更通用的嵌入式、移動(dòng)設(shè)備設(shè)計(jì)的,由此也就導(dǎo)致采用WinCE系統(tǒng)開(kāi)發(fā)的手機(jī)系統(tǒng)可能或多或少都存在信號(hào)問(wèn)題,即使現(xiàn)在很成熟的Windows Mobile系統(tǒng)在不同的手機(jī)上也常見(jiàn)“信號(hào)門(mén)”事件,漏接無(wú)信號(hào)也時(shí)有發(fā)生。Radio模塊也是基于WinCE的手機(jī)經(jīng)常要更新的。而M8也遇到了少數(shù)信號(hào)的問(wèn)題,魅族也是經(jīng)過(guò)反饋,調(diào)查,新近推出了信號(hào)增強(qiáng)版M8 SE,基本解決了偶爾的信號(hào)不好的問(wèn)題。

圖片點(diǎn)擊可在新窗口打開(kāi)查看 圖片點(diǎn)擊可在新窗口打開(kāi)查看

]]>
基于WinCE模擬器的應(yīng)用程序調(diào)試http://www.adgdgn.cn/bbs/dispbbs.asp?BoardID=35&ID=1805&Page=1wangxinxin2010-11-26 10:01:20 

在這里我假設(shè)你的PC上面什么工具都沒(méi)有,也沒(méi)錢(qián)買(mǎi)。那么你就去微軟的網(wǎng)站上面注冊(cè),然后就可以下載WinCE6.0和VS2005的評(píng)估版了,下載后安裝,然后將你的WinCE6.0升級(jí)到WinCE6.0 R2,具體步驟參見(jiàn)我以前的Blog:如何安裝WinCE6.0。最后還要從微軟的網(wǎng)站上下載ActiveSync并安裝。

 

現(xiàn)在,我認(rèn)為你已經(jīng)完成了WinCE6.0 R2的安裝,你就可以打開(kāi)VS2005創(chuàng)建一個(gè)WinCE的工程,在選擇BSP的時(shí)候請(qǐng)選擇”Device Emulator: ARMV4I”,在選擇模板的時(shí)候請(qǐng)選擇”P(pán)DA Device”,然后選擇”Mobile Handled”,完成后默認(rèn)是Debug模式,切換成Release模式然后編譯,編譯成功以后,需要配置模擬器并最終將編譯好的WinCE下載到模擬器中運(yùn)行,具體步驟參見(jiàn)我以前的Blog:WinCE Emulator使用介紹。

 

首先介紹模擬器上WinCE的配置:

1. 當(dāng)WinCE在模擬器中運(yùn)行以后,選擇Start->Settings->Control Panel,如圖:

 

 

2. 在彈出的控制面板對(duì)話(huà)框中選擇Network and Dail-up Connections,然后雙擊Make New Connection,在連接類(lèi)型中選擇Direct Connection,如圖:

 

 

3. 選擇Next,然后選擇Serial Over DMA,如圖:

 

 

4. 最后選擇Finish就創(chuàng)建了一個(gè)新的連接。創(chuàng)建完成后,重新回到控制面板界面選擇PC Connection,在彈出界面中選擇Change,然后選擇剛剛添加的My Connection,如圖:

 

 

5. 完成后點(diǎn)擊OK按鈕,然后關(guān)閉控制面板,現(xiàn)在模擬器設(shè)備已經(jīng)配置好了。

 

下面介紹ActiveSync的配置:

1. 安裝ActiveSync并運(yùn)行,在菜單中選擇File,然后選擇Connect Settings,按照下圖進(jìn)行設(shè)置:

 

 

2. 設(shè)置完成后選擇OK,在VS2005環(huán)境中選擇Tools,然后選擇Device Emulator Manager,會(huì)彈出一個(gè)應(yīng)用界面,點(diǎn)擊界面上的refresh按鈕刷新,如圖:

 

 

3. 選擇當(dāng)前的仿真設(shè)備,并又擊選擇Cradle,此時(shí)會(huì)看到ActiveSync進(jìn)行連接,如圖:

 

 

在連接成功以后,就可以在ActiveSync中訪(fǎng)問(wèn)模擬器上運(yùn)行的WinCE中的文件了,此時(shí)基于模擬器的應(yīng)用調(diào)試環(huán)境已經(jīng)基本建立起來(lái)。

 

下面創(chuàng)建個(gè)應(yīng)用程序調(diào)試一下:

1. 首先要做的就是基于先前創(chuàng)建的WinCE工程,導(dǎo)出SDK,具體步驟不介紹了,在導(dǎo)出SDK并安裝以后,就可以基于導(dǎo)出的SDK來(lái)創(chuàng)建一個(gè)應(yīng)用程序。重新打開(kāi)一個(gè)VS2005,然后新建一個(gè)項(xiàng)目,具體如圖:

 


 

2. 輸入名稱(chēng)以后,就Next,在選擇平臺(tái)SDK的時(shí)候,可以只選擇自己訂制的WinCE的SDK,這里我訂制的WinCE的SDK叫EmulatorSDK,如圖:

 


 

3. 然后選擇Next,可以選擇單文檔,多文檔,基于對(duì)話(huà)框,你隨便吧,最后點(diǎn)完成。下面就和以前在PC上面編寫(xiě)VC程序一樣了,簡(jiǎn)單點(diǎn),添加個(gè)按鈕,然后彈出一個(gè)MessageBox來(lái),在完成以后,就可以編譯并調(diào)試了,按F5就可以。如果程序編譯沒(méi)有錯(cuò)誤,就會(huì)被下載到模擬器上面運(yùn)行,這個(gè)過(guò)程需要等一會(huì),然后你就會(huì)在你的模擬器上面看到你剛剛編寫(xiě)的應(yīng)用程序了,如圖:

 

 

如果你的應(yīng)用程序是Debug模式,那你可以在你的應(yīng)用程序中設(shè)置斷點(diǎn),程序執(zhí)行到后會(huì)停下來(lái),然后可以單步跟蹤,都沒(méi)有問(wèn)題。

 

不知道前面說(shuō)明白了沒(méi)有,總之,只要安裝了VS2005和WinCE6.0 R2之后就可以完全在PC上的模擬器上面調(diào)試WinCE內(nèi)核和應(yīng)用程序,可以自己定制內(nèi)核,導(dǎo)出自己的SDK,并用自己的SDK來(lái)編應(yīng)用程序和調(diào)試

]]>
ARM上網(wǎng)本還有市場(chǎng)嗎?兼談ARM(WinCE)上網(wǎng)本的設(shè)計(jì)思路http://www.adgdgn.cn/bbs/dispbbs.asp?BoardID=35&ID=1804&Page=1wangxinxin2010-11-26 9:56:40
以下內(nèi)容含腳本,或可能導(dǎo)致頁(yè)面不正常的代碼
說(shuō)明:上面顯示的是代碼內(nèi)容。您可以先檢查過(guò)代碼沒(méi)問(wèn)題,或修改之后再運(yùn)行.
]]>
關(guān)于WinCE同步軟件ActiveSync的應(yīng)用接口函數(shù)http://www.adgdgn.cn/bbs/dispbbs.asp?BoardID=35&ID=1803&Page=1wangxinxin2010-11-26 9:53:22背景:
現(xiàn)在的巡檢系統(tǒng)是自定義通訊協(xié)議來(lái)進(jìn)行數(shù)據(jù)傳輸?shù)模捎趨f(xié)議的不可靠導(dǎo)致數(shù)據(jù)傳輸不穩(wěn)定,大數(shù)據(jù)量是容易產(chǎn)生故障。
改進(jìn)分析和設(shè)想:
有兩個(gè)程序,一個(gè)為App1運(yùn)行在PC上,另一個(gè)為App2運(yùn)行在PDA的WinCE上,我想利用ActiveSync來(lái)進(jìn)行兩個(gè)應(yīng)用程序的數(shù)據(jù)交換,以下設(shè)想了兩種方式來(lái)實(shí)現(xiàn):

設(shè)想1:  App1直接訪(fǎng)問(wèn)PC上的同步文件夾,然后把ActiceSync設(shè)置為隨時(shí)同步,  這樣下面APP2的數(shù)據(jù)文件更新后,重新連到PC自動(dòng)更新PC的同步文件夾.
不知道這樣是否可以?
技術(shù)問(wèn)題:
APP1訪(fǎng)問(wèn)同步文件夾識(shí)別文件;
App1能修改文件;
App1能自動(dòng)啟動(dòng)同步操作;
App1能控制ActiceSync的連接和斷開(kāi)操作;
APP1能自動(dòng)設(shè)置ActiceSync的配置;

設(shè)想2: 找到ActiveSync的外部應(yīng)用通訊接口函數(shù),然后在App1和App2中調(diào)用這些接口函數(shù)來(lái)實(shí)現(xiàn)對(duì)ActiveSync的操作.   這個(gè)方法我找了很久,找到相關(guān)信息!
技術(shù)問(wèn)題:
App1能自動(dòng)啟動(dòng)同步操作;
App1能控制ActiceSync的連接和斷開(kāi)操作;
APP1能自動(dòng)設(shè)置ActiceSync的配置;
App1能調(diào)用PC上ActiceSync的外部應(yīng)用通訊接口;(比如象MSCOMM的Write,Read函數(shù))
App2能調(diào)用PDA上ActiceSync的外部應(yīng)用通訊接口;
App1和App2能互相識(shí)別對(duì)方更新的文件;

]]>
讓您知道什么是Series操作系統(tǒng)的手機(jī)http://www.adgdgn.cn/bbs/dispbbs.asp?BoardID=35&ID=1802&Page=1wangxinxin2010-11-26 9:35:35如何學(xué)編程http://www.adgdgn.cn/bbs/dispbbs.asp?BoardID=35&ID=1801&Page=1wangxinxin2010-11-26 9:30:30如何學(xué)編程,這是一個(gè)老話(huà)題,是一個(gè)老生常談的話(huà)題。百度一下,找到相關(guān)網(wǎng)頁(yè)約195,000篇(2009.11.15),除了重復(fù)的文章外,足以知道多少人在問(wèn),多少人在談,但是還有多少人迷茫?

  關(guān)于這個(gè)問(wèn)題自然是仁者見(jiàn)仁,智者見(jiàn)智。如果你在網(wǎng)上百度一下和編程相關(guān)內(nèi)容,一定會(huì)看到:Visual Basic 、Delphi 、C、C++、VC++、匯編語(yǔ)言、Visual Foxpro 、SQL Server、Oracle、DB2、Sybase、Power Builder、Java、J2SE、JavaEE、JavaScript、PHP 、ASP(ASP.NET) 、JSP 、ISAPI 、NSAPI 、CGI、VS2005/VS2008 等等(這些有語(yǔ)言、數(shù)據(jù)庫(kù)或者開(kāi)發(fā)工具)。

  這些不是全部,如果你在網(wǎng)上問(wèn)該怎么學(xué)呢?有讓你從C語(yǔ)言開(kāi)始學(xué)的,也有讓你從Pascal開(kāi)始學(xué)的,也有讓你從VB開(kāi)始學(xué)的,也有讓你直接學(xué)習(xí)C#的,更有讓直接學(xué)Java的……,網(wǎng)友的熱心反而讓你更是一頭霧水,很難知道誰(shuí)對(duì)誰(shuí)錯(cuò)。

  實(shí)際上如果是學(xué)習(xí)一門(mén)入門(mén)語(yǔ)言,任何一個(gè)都?jí)蛄耍瑓^(qū)別僅在于入門(mén)的難與易。但是倘若作為“就業(yè)”之本,僅有一門(mén)語(yǔ)言基礎(chǔ)顯然不夠,欲知后事,請(qǐng)接著往下看:

一、學(xué)習(xí)目的與軟件企業(yè)招人要求

  (一)準(zhǔn)備從事軟件開(kāi)發(fā)職業(yè):無(wú)論你是一個(gè)在校大學(xué)生也好,還是一個(gè)已經(jīng)在職但準(zhǔn)備轉(zhuǎn)行也罷。

  1、首先,最好了解一下軟件的開(kāi)發(fā)模式:C/S模式、B/S模式。

  C/S模式:我們看到的一些客戶(hù)關(guān)系管理、進(jìn)銷(xiāo)存軟件、醫(yī)院管理系統(tǒng)。顯著特點(diǎn)需要在電腦上裝一個(gè)軟件才能使用。可以使用語(yǔ)言有:VB、Delphi、PB、VC++等。多用于局域網(wǎng),但也有不少用于互聯(lián)網(wǎng)(典型的有QQ等)。
  
  B/S模式,也稱(chēng)WEB開(kāi)發(fā):網(wǎng)上銀行、163與126電子郵件、網(wǎng)上納稅等。只需要瀏覽器就可以了。可以使用語(yǔ)言有:VB Script(ASP)、C#(ASP.NET)、JAVA(JSP)、PHP等。多用于互聯(lián)網(wǎng),但也有不少用于局域網(wǎng)。

  2、其次,你看一下軟件企業(yè)都招什么樣的人。

  除了個(gè)別領(lǐng)域,不難看到目前主要分為兩大陣營(yíng):.NET陣營(yíng)和JavaEE陣營(yíng)。兩大體系都非常不錯(cuò),不要看網(wǎng)上互相攻擊的那些無(wú)聊文章。在后面我會(huì)談到,這只是工具。

  看看用人單位要求:這才是你真正的學(xué)習(xí)導(dǎo)向。

.NET體系

  (1)計(jì)算機(jī)相關(guān)專(zhuān)業(yè)大專(zhuān)或本科學(xué)歷,二年以上.NET開(kāi)發(fā)工作經(jīng)驗(yàn);

  (2)熟練C#語(yǔ)言、.net平臺(tái),vs2005,vs2008開(kāi)發(fā)環(huán)境;熟練C/S,B/S結(jié)構(gòu)軟件,有相關(guān)項(xiàng)目經(jīng)驗(yàn)。

  (3)熟練運(yùn)用SQL Server數(shù)據(jù)庫(kù)設(shè)計(jì)與開(kāi)發(fā),熟悉存儲(chǔ)過(guò)程及觸發(fā)器,有過(guò)大批量數(shù)據(jù)處理與優(yōu)化經(jīng)驗(yàn);

  (4)精通ASP.NET、WebService進(jìn)行相關(guān)的開(kāi)發(fā),有HTML、XML、JavaScript經(jīng)驗(yàn)者優(yōu)先;

  (5)良好的團(tuán)隊(duì)開(kāi)發(fā)意識(shí),較強(qiáng)的溝通、學(xué)習(xí)能力,認(rèn)真負(fù)責(zé)的工作態(tài)度。

.JavaEE體系

  (1)計(jì)算機(jī)相關(guān)專(zhuān)業(yè),大專(zhuān)或本科學(xué)歷,具有1年以上相關(guān)工作經(jīng)驗(yàn);               

  (2) 要求精通Java語(yǔ)言,精通JavaEE技術(shù)框架,熟悉SPRING、HIBERNATE、STRUTS、WEBWORK、MVC架構(gòu),熟悉Weblogic,jboss,Tomcat等應(yīng)用服務(wù)器,并可做應(yīng)用部署及調(diào)優(yōu);   

  (3)對(duì)網(wǎng)絡(luò)系統(tǒng)有相當(dāng)?shù)睦斫猓煜racle/SQL-Server/Sybase等數(shù)據(jù)庫(kù),可以熟練的使用PL/SQL語(yǔ)言進(jìn)行存儲(chǔ)過(guò)程和函數(shù)等的編寫(xiě);                  

  (4)熟悉UML建模技術(shù)優(yōu)先,熟悉現(xiàn)代軟件項(xiàng)目管理優(yōu)先,英語(yǔ)技能較好者優(yōu)先;   

  (5)具有編寫(xiě)需求說(shuō)明書(shū)、設(shè)計(jì)說(shuō)明書(shū)等軟件開(kāi)發(fā)相關(guān)文檔的能力;   

  (6)思路清晰,工作規(guī)范,良好的執(zhí)行能力、較強(qiáng)的團(tuán)隊(duì)協(xié)作精神和高度的責(zé)任心;

  (7)2年以上軟件開(kāi)發(fā)工作經(jīng)驗(yàn)。

.其他

  諸如單片機(jī)、PLC等也很多。

――――――――――――――――――――――――――――――――――――

  不難看出,近年來(lái)盡管學(xué)歷一路飆升,但是軟件企業(yè)卻仍然定位是大專(zhuān)或者本科學(xué)歷,但是都要求有項(xiàng)目經(jīng)驗(yàn)(對(duì)此,你將來(lái)當(dāng)了老板會(huì)更明白,你也不愿意替別人作嫁衣)。

  選擇一個(gè)體系作為你的目標(biāo)很重要,無(wú)論是.NET還是JavaEE都行,千萬(wàn)不要什么都學(xué),最終卻什么都不懂。

  另:你在網(wǎng)上也許看到很多這樣的建議,學(xué)習(xí)C語(yǔ)言、C++ For Dos(面向?qū)ο蟮乃枷胗肈OS就足夠了)、C For Windows、C++ For Windows(MFC),我是這樣一路學(xué)過(guò)來(lái)的,更知道其中的艱辛。但是我更堅(jiān)信按照這個(gè)建議,更多人的不到山頂就放棄了。并不是學(xué)美術(shù)的一定都要成為畫(huà)家,做廣告設(shè)計(jì)也是挺有意思的一件事。

(二)純粹的編程愛(ài)好者

  這個(gè)我沒(méi)有太多的發(fā)言權(quán),只要你認(rèn)為怎么適合你都行。

二、關(guān)于文化基礎(chǔ):

  (一)數(shù)學(xué):很多人都談到要有高數(shù)、離散、線(xiàn)性等基礎(chǔ)。但如果你做的只是一個(gè)網(wǎng)站后臺(tái)、普通的管理系統(tǒng),那么也許有高中的數(shù)學(xué)知識(shí)足夠了。

  (二)英語(yǔ):入門(mén)學(xué)習(xí)編程不需要過(guò)四、六級(jí),高中英語(yǔ)基礎(chǔ)學(xué)習(xí)編程沒(méi)有一點(diǎn)問(wèn)題。但是還是希望英語(yǔ)你能夠更上一層樓。道理很簡(jiǎn)單,原因有二:

  1、如果你英語(yǔ)不好,不可能等你過(guò)了六、八級(jí)再學(xué)編程,可以邊學(xué)編程邊學(xué)英語(yǔ),畢竟英語(yǔ)高手≠編程高手。即使先用拼音作為變量名,先學(xué)會(huì)編程也是好的,但最好能用英文命名。請(qǐng)看一個(gè)表名Yybrdab(拼音首字母),你再看一個(gè)表名Yiyuanbinrendanganbiao(拼音全拼),再看表名PatientFiles(英文縮寫(xiě)),你有什么看法呢?Yybrdab很難猜,Yiyuanbinrendanganbiao全拼太長(zhǎng)了,英文命名PatientFiles是不是更容易理解一些,

  2、畢竟國(guó)外在軟件開(kāi)發(fā)方面比我國(guó)先進(jìn)不少,有時(shí)你查閱的是英文資料,如果你的英語(yǔ)好自然會(huì)助你一臂之力。

三、語(yǔ)言是工具、功夫在詩(shī)外

  你想一下,一個(gè)知名作家,不會(huì)用電腦而是用普通的鋼筆寫(xiě)文章、甚至是鉛筆,一個(gè)打字員每分鐘在電腦打一百字以上,那么誰(shuí)寫(xiě)的文章好呢?編程語(yǔ)言也一樣,你應(yīng)聘工作時(shí)說(shuō):我會(huì)VB、Delphi、JAVA、C#等等,但是什么樣的項(xiàng)目也做不出來(lái),和那個(gè)打字員有什么區(qū)別呢?

  李白的《靜夜思》我們每一個(gè)字都認(rèn)識(shí),是否每一個(gè)人都能寫(xiě)得一首好詩(shī)呢?我們知道一個(gè)演員、一個(gè)作家、一個(gè)詩(shī)人必須要具備更多的生活閱歷與歷練才能演出好作品、寫(xiě)出好文章、寫(xiě)出好詩(shī),我們程序員又何嘗不是呢?

  當(dāng)然能夠用好工具則能更好的為你服務(wù),作家能夠用電腦寫(xiě)文章,估計(jì)效率更高一些,你選擇正確的編程語(yǔ)言,至少會(huì)讓你如虎添翼,但千萬(wàn)不要認(rèn)為你學(xué)的是比較流行的語(yǔ)言而對(duì)別人學(xué)的可能不入時(shí)的語(yǔ)言而不屑一顧,你的道行修得越高才會(huì)知道高手并不是都寫(xiě)在臉上,你會(huì)有更好的心態(tài)去學(xué)習(xí),明白人外有人,天外有天,自己實(shí)在微不足道。

  知識(shí)是無(wú)窮的,但我們生命是有限的,所以我們應(yīng)該在有限的生命里學(xué)習(xí)更有用的知識(shí)應(yīng)用到實(shí)踐中來(lái)。學(xué)習(xí)編程是為了更好解決我們工作和生活中的問(wèn)題,而不是讓你成為紙上談兵的軍事家。

四、如何學(xué)習(xí)?

  就像武術(shù)一樣,門(mén)派如此之多,很難一下都告訴你。我也從一個(gè)門(mén)派說(shuō)起吧,就從.NET體系(B/S模式)說(shuō)吧。

(一)打基礎(chǔ)

    勿在沙丘上建浮雕!
           避免眼高手低,切忌急功近利!


  你可能要學(xué)習(xí)的有以下內(nèi)容:Dreamweaver、HTML/XHTML、CSS、JavaScript、XML、SQL SERVER、VS2005/VS2008與IIS設(shè)置、C#、WebForm(ASP.NET)、Ajax。

  1、Dreamweaver:可能沒(méi)有人會(huì)把它和編程聯(lián)系起來(lái),我們更多的認(rèn)為它是做網(wǎng)頁(yè)用的(網(wǎng)頁(yè)三劍客之一),的確是這樣,之所以我列出來(lái),是希望你如果做B/S模式開(kāi)發(fā),它做界面有時(shí)比VS2005/VS2008好的多,這可能要引出你可能還要懂點(diǎn)Photoshop。門(mén)面也很重要,它會(huì)讓你的程序增色不少,不見(jiàn)得你進(jìn)的公司都會(huì)給你配一個(gè)專(zhuān)業(yè)美工。

  2、HTML/XHTML:超文本標(biāo)記語(yǔ)言/擴(kuò)展超文本標(biāo)記語(yǔ)言,盡管聽(tīng)起來(lái)是個(gè)“語(yǔ)言”,但嚴(yán)格來(lái)說(shuō),它確實(shí)不是語(yǔ)言,只是一堆標(biāo)簽而已。在瀏覽器上點(diǎn)右鍵,“查看源文件”,里面有不少類(lèi)似HTML、TABLE、TR、TD等,這些都是HTML的一部分。懂了它你會(huì)更明白將來(lái)Javascript腳本語(yǔ)言放在哪。

  3、CSS:層疊樣式表,它常常和HTML、Javascript結(jié)合起來(lái)做出更絢麗和大方的界面。

  4、JavaScript:這是客戶(hù)端的腳本語(yǔ)言,你可能還不能一下子理解什么是客戶(hù)端、什么是服務(wù)器端,這都沒(méi)有關(guān)系。你一定見(jiàn)過(guò)很多網(wǎng)站顯示今天是:xxxx年xx月xx日,大多數(shù)就是用Javascript做的,曾記得1998年,一個(gè)朋友問(wèn)我是不是每天晚上要把網(wǎng)頁(yè)上傳一遍,我奇怪問(wèn)他為什么?(他那時(shí)不懂腳本編程),他說(shuō)日期每天都要變的。也許今天很多人看了都是笑話(huà)(但他現(xiàn)在已經(jīng)是高手了)。

  5、 XML:擴(kuò)展標(biāo)記語(yǔ)言,盡管它與HTML名字很相似,但骨子里面的東西卻大不一樣,如果讓我說(shuō)有什么用還真得想一想怎么給你說(shuō),但將來(lái)你一定會(huì)明白,它真的很有用。

  6、SQL SERVER:數(shù)據(jù)庫(kù),你去銀行取錢(qián),你的信息存在哪呢?就是在數(shù)據(jù)庫(kù)中。所以如果你開(kāi)發(fā)的是管理系統(tǒng),那么數(shù)據(jù)庫(kù)是非常有用的。還有Oracle、DB2,這些你只要懂一個(gè)就行了,它們都是相通的。盡管數(shù)據(jù)庫(kù)系統(tǒng)往往是幕后英雄,紅花尚需綠葉襯。

  7、VS2005/VS2008與IIS設(shè)置:前者是搭建C#運(yùn)行的集成環(huán)境IDE,后者則是學(xué)習(xí)ASP.NET的環(huán)境搭建。

  8、C#:這是一門(mén)真正的語(yǔ)言,微軟比爾·蓋茨靠basic起家,直到現(xiàn)在.NET框架中都有VB.NET語(yǔ)言,但C#則更是其推薦語(yǔ)言,如果你懂點(diǎn)C++或者Java學(xué)習(xí)一定會(huì)很輕松,沒(méi)有也沒(méi)有關(guān)系,很重要的語(yǔ)言啊。

  9、Asp.NET:.NET體系不僅可以開(kāi)發(fā)B/S模式的程序,還可以開(kāi)發(fā)C/S模式的程序或者手機(jī)WinCE上的程序,當(dāng)然Asp.NET則是指B/S模式開(kāi)發(fā)。

  10、Ajax:你一定有過(guò)在網(wǎng)上注冊(cè)過(guò),發(fā)現(xiàn)有的是在你填入用戶(hù)名尚未登錄就提示有重復(fù)的登錄名,而有的直到你提交后才提示,你輸入的東西可能還要重新輸入,這就是前者利用了Ajax的妙用。

  上面列出的十項(xiàng)是不是已經(jīng)嚇住你了,如果你感覺(jué)太多了,不妨先學(xué)第6、8、9項(xiàng),其余的放到后面再學(xué)也可以。

  紙上得來(lái)終覺(jué)淺,絕知此事要躬行。  ——陸游

  學(xué)習(xí)每一門(mén)都要理論與實(shí)踐相結(jié)合,不要認(rèn)為這個(gè)簡(jiǎn)單那個(gè)簡(jiǎn)單,一看都明白,做起來(lái)眼高手低,唯有實(shí)踐才能有更深的體會(huì)。看看書(shū)做做題,這個(gè)時(shí)候你僅僅學(xué)會(huì)了造句而已,還要參考一些優(yōu)秀的文章和代碼,模仿著寫(xiě)才能真正的提高。

  大多數(shù)人學(xué)習(xí)主要還是靠自學(xué)的,但學(xué)習(xí)方法還是至關(guān)重要的,有的人喜歡從第一頁(yè)一頁(yè)頁(yè)往后翻,一種可能是堅(jiān)持下來(lái)了,最后可能會(huì)“頓悟”,還有一種可能每次都是看前面幾十頁(yè),不信你可以看一下,你的多少本書(shū)都是開(kāi)了個(gè)頭,從側(cè)面看前面黑乎乎的(不是你手臟),而后面卻是嶄新的。最終也未能攻克。放棄了重新?lián)炱鹪俜艞墶?br/>  我推薦一種方法先囫圇吞棗,你想一下你做的第一道菜是如何做出來(lái)的(從沒(méi)有做飯經(jīng)驗(yàn)的朋友是沒(méi)有……),難道是一字不拉地研究了一遍菜譜嗎?NO,這就對(duì)了,計(jì)劃做什么樣的一道菜,然后挑相關(guān)章節(jié)選讀,有些難以讀懂的章節(jié)暫時(shí)跳過(guò)去,等以后再回來(lái)讀,你應(yīng)該有這種體會(huì),剛開(kāi)始看時(shí)很難的東西,過(guò)一段時(shí)間再看卻變得如此易解。注意我說(shuō)的是先囫圇吞棗,想成為廚師還是要好好研究菜譜了。但往往是萬(wàn)事開(kāi)頭難,等你熟悉了就可以在業(yè)界內(nèi)為解決實(shí)際問(wèn)題而結(jié)交高手的時(shí)候了。絕不會(huì)像BBS中許多問(wèn)的傻呆問(wèn)題了。

  學(xué)而不思則罔,思而不學(xué)則殆。  ——孔子

  你在學(xué)習(xí)任何一門(mén)編程語(yǔ)言一定學(xué)過(guò)循環(huán)與條件,你會(huì)讓電腦計(jì)算1+2+3+…+100也是會(huì)用循環(huán)了;先給x賦值為9,會(huì)讓電腦判斷x的值大于5輸出“大于”,否則輸出“小于”,也是你會(huì)了。

  但是如果你模擬一下銀行取款的過(guò)程:在ATM上可以有機(jī)會(huì)輸入三次密碼,如果密碼正確則可以進(jìn)行取錢(qián)操作,密碼錯(cuò)誤提示重新輸入,一旦超過(guò)三次則卡被吞掉,相信你的功力已經(jīng)提升了不少,而且感覺(jué)編程與現(xiàn)實(shí)并不遙遠(yuǎn)。

(二)仿照真實(shí)項(xiàng)目

  經(jīng)過(guò)基礎(chǔ)知識(shí)的修煉,也許你已經(jīng)感覺(jué)自己差不多了,滿(mǎn)懷信心的去應(yīng)聘工作,結(jié)果卻碰壁了,問(wèn)你有項(xiàng)目經(jīng)驗(yàn)嗎?你一臉的委屈:沒(méi)有上過(guò)班則沒(méi)有項(xiàng)目經(jīng)驗(yàn)?沒(méi)有項(xiàng)目不能上班?是不是陷入兩難境地?你可能說(shuō)我在你們這實(shí)習(xí)吧,不要工錢(qián)都可以,你會(huì)發(fā)現(xiàn)這個(gè)機(jī)會(huì)對(duì)方一般都不會(huì)給你,別怨天尤人了,求人不如求己!

  實(shí)際上現(xiàn)在網(wǎng)上已經(jīng)有很多試用版,你完全可以比葫蘆畫(huà)瓢,你能真正的做一個(gè)項(xiàng)目,對(duì)前面知識(shí)的理解和運(yùn)用一定會(huì)更上一個(gè)臺(tái)階!

(三)提升

  不登高山,不知天之高也;不臨深溪,不知地之厚也。——荀子

  我們看電視,看到高手總是殺人于無(wú)形,編程也一樣,經(jīng)過(guò)第二階段,這回你可能已經(jīng)躊躇滿(mǎn)志了,呵呵,一不小心又碰壁了,但也許你幸運(yùn)的找到了一份工作,這是軟件企業(yè)急著用人,看你“孺子可教”,收留了你。如果不要你,一點(diǎn)也不奇怪,是別人比你優(yōu)秀!

  比如,添加一個(gè)客戶(hù),你是不是在頁(yè)面上畫(huà)了幾個(gè)文本框和按鈕,然后再按鈕上寫(xiě)了個(gè)事件就提交到數(shù)據(jù)庫(kù)了,能夠做得出來(lái)固然比不會(huì)要好,但是你面向?qū)ο罅藛幔刻嗵嗟娜藢W(xué)的是面向?qū)ο蟮恼Z(yǔ)言,但是寫(xiě)的卻是面向過(guò)程的程序。關(guān)于學(xué)習(xí).NET體系的不妨看一下伍迷先生的《戲說(shuō)面向?qū)ο蟪绦蛟O(shè)計(jì)C#版》、《大話(huà)設(shè)計(jì)模式》,我與伍迷先生不認(rèn)識(shí),沒(méi)有替他推銷(xiāo)圖書(shū)之意,只是他的創(chuàng)作與我心有戚戚焉,挺適合入門(mén)或者進(jìn)階者。然而由于很多面向?qū)ο笠约败浖こ獭㈨?xiàng)目管理、設(shè)計(jì)模式之類(lèi)的書(shū)籍過(guò)于深?yuàn)W,或者國(guó)內(nèi)有些為了評(píng)高級(jí)職稱(chēng)而胡拼亂湊的狗屁書(shū)籍,讓更多人忘而卻步。

  能不能更上一層樓,那就看你的造化了!

  不經(jīng)歷風(fēng)雨,哪能見(jiàn)彩虹!

五、學(xué)習(xí)編程的捷徑

  我們做任何事情都喜歡找捷徑,世上根本沒(méi)有捷徑!實(shí)際上不走彎路就是捷徑!

  我的這篇文章就是力爭(zhēng)讓你避免或少走彎路,也就成為了捷徑。

  當(dāng)然加入我們的QQ群(95472365)也是一個(gè)不錯(cuò)的方法!

  或者到“跟我學(xué)編程”網(wǎng)站轉(zhuǎn)轉(zhuǎn)也許有一個(gè)意外的收獲!

六、成功和失敗的唯一區(qū)別,就是堅(jiān)持與否

  “想起來(lái)一件有意思的事情,上大學(xué)時(shí),到了晚上11點(diǎn)就關(guān)燈,我是很喜歡看書(shū),就跑到男廁所去看看技術(shù)方面的書(shū)籍,唉想想那時(shí)候的確是苦了一點(diǎn)兒,不過(guò)沒(méi)有當(dāng)時(shí)的努力,怎么可能就有今天的我呢,雖然比上不足,比下還是蠻有余的,知足常樂(lè),何必跟自己過(guò)不去呢。”

  這是從網(wǎng)上看到的一位,與我當(dāng)年頗為相似。不過(guò)似乎我比他幸運(yùn)一些,圖書(shū)館里面老書(shū)居多,平時(shí)省吃?xún)用買(mǎi)一些書(shū),盡管父親告訴我:孩子,買(mǎi)書(shū)只管買(mǎi),不要為了學(xué)習(xí)舍不得花錢(qián)!所以過(guò)早的學(xué)習(xí)了C語(yǔ)言、數(shù)據(jù)結(jié)構(gòu)(那時(shí)候教學(xué)語(yǔ)言Pascal幾乎一統(tǒng)天下),有一次去圖書(shū)館借一本新書(shū),圖書(shū)館管理員認(rèn)為我看不懂,就是不借給我(當(dāng)時(shí)恨透她了,這個(gè)老太太,太可惡了)。我固執(zhí)地說(shuō)可以看懂,這位老師說(shuō)明天你來(lái)一下,第二天接到了一份試卷,所幸我答的不錯(cuò),后來(lái)我借書(shū)幾乎不限本數(shù),因?yàn)槔蠋熤罆?shū)的資源不多,總是借給需要的學(xué)生和老師,那種恨瞬間變?yōu)橐环N感動(dòng)。

  再后來(lái),由于前面打的基礎(chǔ),班主任(輔導(dǎo)員)把我推薦給了我們學(xué)校一名權(quán)威,這是一名我們當(dāng)時(shí)只能仰視的學(xué)者,自己比較愚笨,此后得到導(dǎo)師一年有余的指導(dǎo),平生受益匪淺。自此我也幾乎是在宿舍熄燈后才從教研室回到宿舍,故而在靜謐的晚上經(jīng)常有繁星或明月相伴,工作這么多年則很少看到星星,很懷念大學(xué)那段時(shí)光。

]]>
關(guān)注S3C6410開(kāi)發(fā)板的Linux2.6.28/winCE6.0系統(tǒng)版本http://www.adgdgn.cn/bbs/dispbbs.asp?BoardID=35&ID=1800&Page=1wangxinxin2010-11-26 9:24:49ARMSYS 6410開(kāi)發(fā)板充分展示了三星S3C6410處理器在視頻媒體編解碼、2D/3D圖形加速、顯示處理和縮放等方面的性能優(yōu)勢(shì),并提供了LCD接口、TVout接口、攝像頭輸入接口、4路串口、1路紅外口、2路SD卡接口、1路CF卡接口、1路10/100M網(wǎng)口、1路USB2.0-OTG,1路USB Host,具有更高的主頻和更豐富外設(shè),能適用于對(duì)性能和處理能力有更高要求的嵌入式系統(tǒng)應(yīng)用場(chǎng)合。

ARMSYS 6410開(kāi)發(fā)套件由ARMSYS 6410核心板+擴(kuò)展板構(gòu)成,用戶(hù)可以自由選配各種尺寸和分辨率的液晶屏、130萬(wàn)攝像頭、無(wú)線(xiàn)網(wǎng)卡等配套模塊。
秉承立宇泰一 貫的精良品質(zhì),充分展現(xiàn)了S3C6410處理器的各項(xiàng)功能,并在設(shè)計(jì)上著重考慮了實(shí)用性和產(chǎn)品化設(shè)計(jì),采用結(jié)構(gòu)輕巧緊湊的一體機(jī)模式,不僅適合開(kāi)發(fā)和研究的需要,也可以非常容易地集成到用戶(hù)系統(tǒng)上。衷心希望ARMSYS6410能帶給每一位用戶(hù)優(yōu)越的性能體驗(yàn)!

硬件配置如下:
 
圖片點(diǎn)擊可在新窗口打開(kāi)查看

1,CPU:三星S3C6410處理器,ARM1176JZF-S內(nèi)核,667MHz系統(tǒng)頻率穩(wěn)定工作;

2,F(xiàn)lash Memory:256MB Nand Flash,可定制128M-2G容量;

3,SDRAM:128M Bytes mDDR內(nèi)存,運(yùn)行速133MHz,可以升級(jí)到256M Bytes DDR內(nèi)存;

4,時(shí)鐘晶振:12MHz系統(tǒng)外部時(shí)鐘源;32.768KHz的RTC時(shí)鐘源;27MHz的TV Encoder時(shí)鐘源;48MHz的USB OTG時(shí)鐘源;

5,核心板接口:采用320針1.27間距,板子尺寸約68mm×42mm;

6,電源:采用獨(dú)立1.2V和3.3V電源芯片提供核心板各路電源。

7,Norflash:1M Bytes NorFlash,采用29LV800DB芯片,可以用來(lái)啟動(dòng)系統(tǒng),支持USB下載;

8,8位撥碼開(kāi)關(guān),用來(lái)配置系統(tǒng)啟動(dòng)方式;

9,4路UART接口:可通過(guò)2個(gè)8位撥碼開(kāi)關(guān)選擇輸出TTL電平或RS-232電平;

10,紅外接口,支持IrDA1.1協(xié)議,可以無(wú)線(xiàn)地向支持IrDA的設(shè)備無(wú)線(xiàn)連接來(lái)實(shí)現(xiàn)信息資源的共享;

11,CF卡接口,支持CF3.0規(guī)格CF卡;

12,IDE接口,支持掛接硬盤(pán); 

13,USB HOST,支持USB1.1協(xié)議;

14,USB OTG,支持USB 2.0協(xié)議;

15,JTAG接口,標(biāo)準(zhǔn)20 pin JTAG接口;

16,9個(gè)用戶(hù)按鍵,功能上、下、左、右、確定、取消和返回等(用戶(hù)也可自定義其功能);

17,復(fù)位按鍵,采用專(zhuān)用的復(fù)位芯片;

18,指示燈:4個(gè)用戶(hù)LED指示燈; 2個(gè)電源指示燈;

19,SD/MMC接口:兩個(gè)高速SD/MMC接口,其中一個(gè)可支持8位模式。可以實(shí)現(xiàn)SD Memory功能和SDIO功能;作為SD Memory最大可以支持8GB容量;

20,攝像頭接口:支持ITU-R BT 601/656 8位模式,可以和我公司130萬(wàn)像素?cái)z像頭連接使用;

21,LCD接口:一個(gè)50針LCD、觸摸屏插針接口,方便連接我公司各種類(lèi)型的LCD模塊相連接;

22,AC97音頻接口:包括一路音頻輸出、一路音頻輸入和一路麥克風(fēng)輸入;板上帶有兩個(gè)1W喇叭;

23,10/100Mbps以太網(wǎng)接口:采用集成隔離變壓器的RJ45接口;

24,視頻輸出接口:一路TV Out接口、一路S-Video接口;

25,2路高速SPI接口;

26,1路I2C接口;

27,擴(kuò)展接口,引出數(shù)據(jù)、部分地址總線(xiàn),部分控制總線(xiàn)、I/O信號(hào)線(xiàn)、AD信號(hào)線(xiàn)。


]]>
WINCE驅(qū)動(dòng)開(kāi)發(fā)之DMA的使用http://www.adgdgn.cn/bbs/dispbbs.asp?BoardID=35&ID=1799&Page=1wangxinxin2010-11-26 9:22:53以下是MSDN中的說(shuō)法:

The Windows CE NDIS implementation does not support direct memory access (DMA). Do not use the NdisSetupDmaTransfer, NdisCompleteDmaTransfer, NdisMRegisterDmaChannel, NdisMDeregisterDmaChannel, NdisMAllocateMapRegisters, NdisMFreeMapRegisters, NdisMReadDmaCounter, and NdisGetSharedDataAlignment functions. 

Use the NdisMAllocateSharedMemory and NdisMFreeSharedMemory functions for PCI bus master DMA transfers. 


具體如何實(shí)現(xiàn)DMA呢?

在microsoft windows CE device driver kit中有一節(jié)是:Implementing DMA for NDIS Miniport Drivers 
專(zhuān)門(mén)提到了這個(gè)問(wèn)題,當(dāng)前ce還沒(méi)有自己的DMA機(jī)制,然而開(kāi)發(fā)人員可以在他們自己的小端口卡驅(qū)動(dòng)程序中實(shí)現(xiàn)相同的功能,但是寫(xiě)的太簡(jiǎn)單了

Implementing DMA for NDIS Miniport Drivers
DMA is important for efficient networking because it enables the layers in 
the networking architecture to share data without first copying that data

two categories of DMA: slave DMA and busmaster DMAB
 
Slave DMA
Slave DMA is appropriate for OEMs because it requires a block of memory that 
is pre-allocated in the device memory map of the Windows CE–based platform. 
Miniport drivers can map that block of physical memory to the driver’virtual
memory space, and then use the VirtualAlloc and VirtualCopy functions to move 
data in and out of that space
 
busmaster DMA 
To receive data, the driver allocates a shared memory block, transfers the 
data to buffers within that block, and uses NDIS functions to indicate that a 
packet has arrived. To send data, the driver uses the LockPages and 
UnlockPages functions to map the virtual memory to device memory, informs the 
NIC of the addresses of the data, and instructs the NIC to send the data. 
This method can be faster for larger data block sizes.

后來(lái)發(fā)MAIL給一位曾經(jīng)遇到此問(wèn)題的朋友,回復(fù)如下:

事實(shí)上在使用DMA是的關(guān)鍵是得到一個(gè)連續(xù)的物理地址空間,然后將該空間的物理地址放入DMA控制器的源地址或者目的地址寄存器中(根據(jù)你使用DMA的方向決定);
然后等待DMA中斷;
由于DMA使用的是物理地址但是在wince中只能使用虛擬地址,所以在DMA中斷產(chǎn)生之后如需分析數(shù)據(jù)請(qǐng)使用虛擬地址;
特別提示參考一下的文章:
 DMA的使用
1、 芯片DMA的使用要點(diǎn):
AK3224芯片的DMA使用中,RAM的地址作為DMA傳輸?shù)哪繕?biāo)地址、源地址,必須要4字節(jié)對(duì)齊。而且DMA的操作長(zhǎng)度以?xún)?nèi)的RAM地址,必須連續(xù)。
不過(guò)在使用中發(fā)現(xiàn):Nandflash驅(qū)動(dòng)中RAM地址作為目標(biāo)地址時(shí),只需要2字節(jié)對(duì)齊。RAM地址作為源地址可不需對(duì)齊。(其他情況需要逐一驗(yàn)證)
2、 wince中的DMA使用:
根據(jù)DMA一次操作的RAM地址必須連續(xù)的特性,在驅(qū)動(dòng)DMA使用時(shí),我們需要確保虛擬地址映射的物理地址是連續(xù)的。有3個(gè)途徑:
1:數(shù)據(jù)區(qū)地址是由應(yīng)用層或者其他進(jìn)程、線(xiàn)程傳入的,驅(qū)動(dòng)并不知道其虛擬地址對(duì)應(yīng)的物理地址是否一直連續(xù)。
由于wince的內(nèi)存申請(qǐng),是以4K字節(jié)為一個(gè)頁(yè),一段數(shù)據(jù)的內(nèi)存申請(qǐng)可能跨越多個(gè)頁(yè)。因此,只要數(shù)據(jù)區(qū)長(zhǎng)度大于1字節(jié),就有可能其物理地址是跨越的、不連續(xù)的。為了確保DMA操作,我們必須查詢(xún)這段數(shù)據(jù)區(qū)在RAM上的物理分布。
首先,得到數(shù)據(jù)區(qū)所在的虛擬頁(yè): VirPageStart = (ULONG)pSourceBuffer & 0xFFFFF000;
其次,得到數(shù)據(jù)區(qū)在頁(yè)內(nèi)的偏移地址 :offset = (ULONG)pSourceBuffer & 0x0FFF;
計(jì)算數(shù)據(jù)區(qū)是否跨越頁(yè)段
if(offset + NumberOfBytes > 4096)
PageSize = WCE_UNIFORM_SIZE - offset;       //整個(gè)數(shù)據(jù)跨越此頁(yè),則DMA傳輸需要分多個(gè)部分,一次一個(gè)頁(yè)段的傳
else
PageSize = NumberOfBytes;                //數(shù)據(jù)區(qū)沒(méi)有跨越頁(yè)
由得到的頁(yè)地址,查詢(xún)映射的物理地址。
if(!LockPages((LPVOID)VirPageStart, 4096, &TransAddr, LOCKFLAG_READ))
{
        //異常處理
}
UnlockPages((LPVOID)VirPageStart, 4096);
得到了映射的物理地址TransAddr后,根據(jù)RAM是目標(biāo)地址還是源地址,做進(jìn)一步的處理。
假設(shè)一個(gè)數(shù)據(jù)區(qū)作為DMA源地址,大小為9K。在虛擬地址首頁(yè)的偏移為4K。那么它必然跨越3個(gè)頁(yè)段。
首先查詢(xún)第一頁(yè)的物理地址發(fā)送,第一個(gè)頁(yè)的2K數(shù)據(jù)。然后查詢(xún)第二頁(yè)的物理地址,發(fā)送4K數(shù)據(jù)。最后查詢(xún)第三頁(yè)的物理地址,發(fā)送3K數(shù)據(jù)。

2:數(shù)據(jù)區(qū)的申請(qǐng)可以使用AllocPhysMem函數(shù)申請(qǐng)。
LPVOID AllocPhysMem(
DWORD cbSize,                 參數(shù)1:數(shù)據(jù)區(qū)大小
DWORD fdwProtect,             參數(shù)2:保護(hù)標(biāo)記
DWORD dwAlignmentMask,         參數(shù)3:0(default system)
DWORD dwFlags,                參數(shù)4:0(Reserved for future use)
PULONG pPhysicalAddress         參數(shù)5:得到數(shù)據(jù)區(qū)對(duì)應(yīng)的物理地址
);
AllocPhysMem函數(shù)返回值為指向申請(qǐng)后的虛擬地址指針。
如:pSerialHead->RxBufferInfo.RxCharBuffer =            //alloc physical memory
AllocPhysMem(pSerialHead->RxBufferInfo.Length + 16, PAGE_READWRITE, 0, 0, &RX_PhyAddr);
由于此函數(shù)必定申請(qǐng)到一片連續(xù)的物理地址,因此pSerialHead->RxBufferInfo.RxCharBuffer的使用不再需要查詢(xún)是否跨越多個(gè)頁(yè)段。
但是,AllocPhysMem函數(shù)申請(qǐng)的物理地址可能會(huì)跨越多個(gè)RAM CHIP。因此,在使用1片以上RAM芯片的系統(tǒng)中,依然需要查詢(xún)是否跨越CHIP。
       AllocPhysMem函數(shù)使用后,需要使用FreePhysMem函數(shù)進(jìn)行釋放。
3:數(shù)據(jù)區(qū)可以在系統(tǒng)config.bib文件中,預(yù)先定義好一片連續(xù)、不跨越CHIP的RAM空間。
如下,系統(tǒng)保留了虛擬地址0x80024000開(kāi)始,大小為0x3000的一段RAM。
SER_DMA                80024000 00003000 RESERVED
那么驅(qū)動(dòng)DMA使用中,不再需要對(duì)這段內(nèi)存,進(jìn)行任何的查詢(xún)動(dòng)作。我們只需要在進(jìn)程空間中做映射即可。
pSerialHead->RxBufferInfo.RxCharBuffer = VirtualAlloc(0, RX_PhySize, MEM_RESERVE, PAGE_NOACCESS);
    if (pSerialHead->RxBufferInfo.RxCharBuffer == NULL)
    {
        DEBUGMSG(ZONE_ERROR, (TEXT("COM_Init:: VirtualAlloc failed!\r\n")));
        return(NULL);
    }
    else
    {
        if (!VirtualCopy((PVOID)pSerialHead->RxBufferInfo.RxCharBuffer, (PVOID)(RX_PhyAddr),
            RX_PhySize, (PAGE_READWRITE | PAGE_NOCACHE)))
        {
           DEBUGMSG(ZONE_ERROR, (TEXT("COM_Init:: VirtualCopy failed!\r\n")));
           return(NULL);
        }
    }
上面這段程序中,先使用函數(shù)VirtualAlloc,在進(jìn)程空間中申請(qǐng)一段保留的虛擬地址空間。然后使用VirtualCopy,把需要使用的物理地址空間,映射到已經(jīng)申請(qǐng)好的虛擬地址上。使用完畢,必須使用函數(shù)VirtualFree進(jìn)行釋放。
LPVOID VirtualAlloc(
LPVOID lpAddress,                  
DWORD dwSize,
DWORD flAllocationType,
DWORD flProtect
);
BOOL VirtualCopy(
LPVOID lpvDest,
LPVOID lpvSrc,
DWORD cbSize,
DWORD fdwProtect
);
BOOL VirtualFree(
LPVOID lpAddress,
DWORD dwSize,
DWORD dwFreeType
);

]]>
開(kāi)帖討論WINCE下24位色顯示瓶頸http://www.adgdgn.cn/bbs/dispbbs.asp?BoardID=35&ID=1798&Page=1wangxinxin2010-11-26 9:18:52有搞過(guò)的朋友,指點(diǎn)指點(diǎn)




24BPP圖片顯示慢的原因:讀寫(xiě)內(nèi)存的速度限制
16BPP 30-40ms之間
另外,輸出24BPP圖片好像有經(jīng)過(guò)二次轉(zhuǎn)化,16BPP就轉(zhuǎn)化一次
即16BPP輸出圖片,只要一次寫(xiě)LCD Buffer
24BPP好像是將3字節(jié)排列的源文件圖片,轉(zhuǎn)化為4字節(jié)格式的保存在中轉(zhuǎn)地址,然后從中轉(zhuǎn)地址轉(zhuǎn)化成最終顯示圖片,寫(xiě)入LCD buffer,而第二次的LCD buffer地址可能為unchche的,將其cache一下,和16BPP的顯示速度就相當(dāng)了


例如:
Volatile int x,y;
for(y=0;y<272;y++)
{
for(x=0;x<480;x++);
}

實(shí)測(cè)用時(shí):14.3ms!!!其中,變量是放在堆棧中,對(duì)變量的處理時(shí)間:(STR*3+LDR*4)*272*480=14.30ms-1.94ms=12.36ms

反匯編如下:
.text:10001134 SUB SP, SP, #8
.text:10001138 MOV R2, #0
.text:1000113C STR R2, [SP,#8+var_4] //y值存堆棧[SP,#8+var_4]
.text:10001140 B loc_10001170
.text:10001140
========================循環(huán)開(kāi)始========================
.text:10001144 ; ---------------------------------------------------------------------------
.text:10001144
.text:10001144 loc_10001144 ; CODE XREF: LCD_TST+44j
.text:10001144 STR R2, [SP,#8+var_8] //x值存堆棧[SP,#8+var_8]
.text:10001148 B loc_10001158
.text:10001148
.text:1000114C ; ---------------------------------------------------------------------------
.text:1000114C
.text:1000114C loc_1000114C ; CODE XREF: LCD_TST+2Cj
.text:1000114C LDR R3, [SP,#8+var_8] //從堆棧取出x
.text:10001150 ADD R3, R3, #1 //x++
.text:10001154 STR R3, [SP,#8+var_8] //x值存入堆棧
.text:10001154
.text:10001158
.text:10001158 loc_10001158 ; CODE XREF: LCD_TST+14j
.text:10001158 LDR R3, [SP,#8+var_8] //堆棧取出x
.text:1000115C CMP R3, #0x1E0 //x<480?
.text:10001160 BLT loc_1000114C //x<480則跳到114C處
.text:10001160
.text:10001164 LDR R3, [SP,#8+var_4] //取出y
.text:10001168 ADD R3, R3, #1 //y++
.text:1000116C STR R3, [SP,#8+var_4] //y存入堆棧
.text:1000116C
.text:10001170
.text:10001170 loc_10001170 ; CODE XREF: LCD_TST+Cj
.text:10001170 LDR R3, [SP,#8+var_4] //從堆棧取出y
.text:10001174 CMP R3, #0x110 //y<272?
.text:10001178 BLT loc_10001144 //y<272,則跳到1144處
.text:10001178
====================循環(huán)結(jié)束============================
.text:1000117C ADD SP, SP, #8
.text:10001180 BX LR


]]>
WinCE開(kāi)始菜單中添加應(yīng)用程序http://www.adgdgn.cn/bbs/dispbbs.asp?BoardID=35&ID=1797&Page=1wangxinxin2010-11-26 9:14:47先說(shuō)一下原理,其實(shí)在WinCE啟動(dòng)以后,點(diǎn)擊Start,然后點(diǎn)擊Programs,里面所能看到的應(yīng)用其實(shí)也都是以文件的形式存放的,它們存放在\Windows\Programs目錄下面,都是一些快捷方式文件,這些快捷方式文件連接了真正的應(yīng)用程序,就這么簡(jiǎn)單。
理解了這個(gè)原理,也就清楚該怎么做了,步驟如下:

1. 更改project.bib文件,添加應(yīng)用程序,這里以Hello, world為例如下:

hello.exe     d:\WINCE600\OSDesigns\Emulator\Emulator\RelDir\DeviceEmulator_ARMV4I_Release\hello.exe           NK S


2. 為該應(yīng)用程序創(chuàng)建一個(gè)快捷方式文件,可以新建一個(gè)*.txt文件,然后在里面添加:18#\windows\hello.exe,其中18表示后面的字符數(shù),然后關(guān)閉該txt文件,重命名為hello.lnk,并將該文件拷貝到WinCE工程的release目錄下面。


3. 更改project.bib文件,包含hello.lnk文件,如下:

hello.lnk     d:\WINCE600\OSDesigns\Emulator\Emulator\RelDir\DeviceEmulator_ARMV4I_Release\hello.lnk           NK SH

4. 打開(kāi)project.dat文件,將hello.lnk重新定位到\Windows\Programs目錄下面,如下:

Directory("\Windows\Programs"):-File("HELLO.lnk", "\Windows\hello.lnk")

5. 將project.dat和project.bib拷貝到工程的release目錄下面,然后Makimge就可以了。 

最后運(yùn)行WinCE的時(shí)候,應(yīng)該可以看到應(yīng)用程序已經(jīng)被添加到StartMenu的Programs中了,如圖:

通過(guò)這個(gè)例子可以看出,BIB中包含的文件在Makeimg以后,都會(huì)放在WinCE系統(tǒng)的\Windows目錄下面,而我們可以通過(guò)更改DAT文件來(lái)將他們重定向到另一個(gè)文件夾中。通過(guò)這種方式可以添加程序到Programs中,但是如果想改StartMenu本身,就需要更改源代碼了,在\WINCE600\PUBLIC\SHELL\OAK\HPC\EXPLORER\TASKBAR\stmenu.cpp下面。


]]>
WinCE文件目錄定制及內(nèi)存調(diào)整http://www.adgdgn.cn/bbs/dispbbs.asp?BoardID=35&ID=1796&Page=1wangxinxin2010-11-26 9:14:03MUI是指多語(yǔ)言的支持,可以在WinCE系統(tǒng)中支持多種語(yǔ)言,并根據(jù)需要進(jìn)行切換。下面介紹一下具體的實(shí)現(xiàn):

1. 添加多種語(yǔ)言:

創(chuàng)建一個(gè)WinCE工程,然后在”Solution Explorer”中右擊工程,選擇”P(pán)roperties”,會(huì)彈出一個(gè)對(duì)話(huà)框。在左側(cè)的列表中選擇”Local”,在右側(cè)選擇所要支持的語(yǔ)言,這里我選擇了French,Japanese,Chinese(PRC)和English四種語(yǔ)言。在”Default Locale:”中選擇系統(tǒng)的默認(rèn)語(yǔ)言,這里選擇的是英語(yǔ)。如圖:

2. 添加MUI組件

在”Catalog Item View”中選擇支持MUI的組件,選擇”Core OS”->”CEBASE”->”International”->”Multilingual User Interface(MUI)”,如圖:

在上面選擇了French,Japanese,English和Chinese四種語(yǔ)言,如果要想WinCE能夠正確顯示,還要選擇相應(yīng)的字體。在這里只需為Chinese和Japanese添加字體。選擇”Core OS”->”CEBASE”->”International”->”Locale Specify Support”->”Chinese(Simplified)”->”Fonts”->”SimSun & NSimSun”->”SimSun & NSimSun”來(lái)添加中文字體,同樣的方法在”Locale Specify Support”下找到”Japanese”然后添加日語(yǔ)字體。

3. 編譯MUI工程


重新編譯工程。編譯成功后,打開(kāi)工程的release目錄,調(diào)用createmui命令來(lái)創(chuàng)建多種語(yǔ)言的資源文件,每種語(yǔ)言對(duì)應(yīng)一個(gè)LCID,可以在WinCE的幫助文檔中查到,如下:

English:0409

Chinese(PRC):0804

French:040C

Japanese:0411

命令如下:

createmui 0409,0804,040C,0411

運(yùn)行成功后會(huì)生成一個(gè)MultiUI.bib文件,打開(kāi)該文件,拷貝所有內(nèi)容到common.bib文件的末尾。MutiUI.bib文件中可能包含k.coredll.dll.xxx,在common.bib文件中刪除所有的k.coredll.dll.xxx項(xiàng)。

最后重新Makeimg就可以了。

4. 運(yùn)行測(cè)試

下載并運(yùn)行WinCE,可以看到默認(rèn)的語(yǔ)言是英文的。選擇”start”->”setting”->”Control Panel”彈出控制面板,然后選擇”Regional Settings”,再選擇”User Interface Language”,選擇要切換的語(yǔ)言,比如Chinese(PRC),如圖:

重新啟動(dòng)目標(biāo)板,如果你用WinCE模擬器的話(huà),在菜單中選擇File,然后選擇Reset,選擇Soft來(lái)重新啟動(dòng)。重起以后,界面就會(huì)變成中文的WinCE系統(tǒng)了。

]]>
WinCE系統(tǒng)USB Mass Storage實(shí)現(xiàn)http://www.adgdgn.cn/bbs/dispbbs.asp?BoardID=35&ID=1795&Page=1wangxinxin2010-11-26 9:13:02WinCE支持遠(yuǎn)程桌面功能,可以在PC端訪(fǎng)問(wèn)目標(biāo)設(shè)備的WinCE桌面。這個(gè)功能在調(diào)試的時(shí)候很有用。有些時(shí)候,你的目標(biāo)板不帶顯示設(shè)備,這時(shí)你想訪(fǎng)問(wèn)目標(biāo)板的WinCE系統(tǒng)感覺(jué)很不爽,畢竟習(xí)慣了桌面操作。通過(guò)WinCE遠(yuǎn)程桌面,你可以在PC上面訪(fǎng)問(wèn)目標(biāo)板的WinCE桌面并進(jìn)行操作。

下面來(lái)介紹一下具體步驟:

1. 選擇支持WinCE遠(yuǎn)程桌面的組件:

在WinCE的工程中選擇”Core OS”->”CEBASE”->”Core OS Services”->”Debugging Tools”->”Remote Display Application”,如下圖:

在這里建議同時(shí)添加telnet組件,在”Core OS”->”CEBASE”->”Communication Services and Networking”->”Servers”->”Telnet Server”。由于目標(biāo)板可能沒(méi)有任何輸入輸出設(shè)備,所以添加Telnet組件可以在系統(tǒng)啟動(dòng)以后,登陸Telnet來(lái)執(zhí)行命令。


2. 配置遠(yuǎn)程桌面主機(jī)IP地址:

打開(kāi)WinCE工程的注冊(cè)表文件project.reg,然后添加下面的內(nèi)容。

[HKEY_LOCAL_MACHINE\SOFTWARE\CERDISP]

"Hostname"="192.168.0.88"

其中Hostname為PC機(jī)的IP地址,也可以是計(jì)算機(jī)名。

還可以同時(shí)添加Telnet注冊(cè)表配置,如下:

[HKEY_LOCAL_MACHINE\COMM\TELNETD]

"IsEnabled "=dword:1

"UseAuthentication"=dword:0

該配置實(shí)現(xiàn)了無(wú)需身份驗(yàn)證,直接登錄Telnet的功能。

3. 重新編譯,下載運(yùn)行WinCE:

由于添加了新的WinCE組件,需要重新編譯WinCE工程。編譯成功后,可以下載到目標(biāo)板上面運(yùn)行。

4. 啟動(dòng)PC端遠(yuǎn)程桌面程序:

WinCE在目標(biāo)板運(yùn)行以后,首先在\WINCE600\Public\Common\Oak\Bin\I386目錄下找到cerhost.exe,然后運(yùn)行。運(yùn)行后選擇File,然后選擇Connect,在彈出的對(duì)話(huà)框中輸入目標(biāo)板的IP地址,然后點(diǎn)擊OK等待連接。

5. 啟動(dòng)目標(biāo)板遠(yuǎn)程桌面程序:

首先通過(guò)Telnet登錄目標(biāo)板,然后再命令行中輸入如下命令:

Cerdisp –c

這時(shí),就可以在PC上的cerhost界面中看到目標(biāo)板WinCE的桌面了,而且可以通過(guò)鼠標(biāo)鍵盤(pán)進(jìn)行操作,如圖:

其實(shí)很簡(jiǎn)單,要注意的是首先運(yùn)行PC端的cerhost,它應(yīng)該是Server。然后運(yùn)行目標(biāo)板上的Cerdisp,這個(gè)應(yīng)該是Client

]]>
WinCE應(yīng)用開(kāi)發(fā)——觸摸屏輸入http://www.adgdgn.cn/bbs/dispbbs.asp?BoardID=35&ID=1794&Page=1wangxinxin2010-11-26 9:10:54一,信息

觸摸屏信息同鼠標(biāo)信息,不過(guò)只有WM_LBUTTONDOWNWM_LBUTTONUP WM_MOUSEMOVE 三種。

二,捕捉函數(shù)

BOOL GetMouseMovePoints (PPOINT pptBuf, UINT nBufPoints,

UINT *pnPointsRetrieved);

三,實(shí)例

PenTrac.h
#define dim(x) (sizeof(x) / sizeof(x[0]))
struct decodeUINT {                             // Structure associates
    UINT Code;                                  // messages 
                                                // with a function. 
    LRESULT (*Fxn)(HWND, UINT, WPARAM, LPARAM);
}; 
struct decodeCMD {                              // Structure associates
    UINT Code;                                  // menu IDs with a 
    LRESULT (*Fxn)(HWND, WORD, HWND, WORD);     // function.
};
HWND InitInstance (HINSTANCE, LPWSTR, int);
int TermInstance (HINSTANCE, int);
LRESULT CALLBACK MainWndProc (HWND, UINT, WPARAM, LPARAM);
LRESULT DoPaintMain (HWND, UINT, WPARAM, LPARAM);
LRESULT DoMouseMain (HWND, UINT, WPARAM, LPARAM);
LRESULT DoDestroyMain (HWND, UINT, WPARAM, LPARAM);
PenTrac.cpp
#include <windows.h>                 // For all that Windows stuff
#include "pentrac.h"                 // Program-specific stuff
const TCHAR szAppName[] = TEXT ("PenTrac");
HINSTANCE hInst;                     // Program instance handle
const struct decodeUINT MainMessages[] = {
    WM_LBUTTONDOWN, DoMouseMain,
    WM_MOUSEMOVE, DoMouseMain,
    WM_DESTROY, DoDestroyMain,
};
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    LPWSTR lpCmdLine, int nCmdShow) {
    MSG msg;
    int rc = 0;
    HWND hwndMain;
    hwndMain = InitInstance (hInstance, lpCmdLine, nCmdShow);
    if (hwndMain == 0)
        return 0x10;
    while (GetMessage (&msg, NULL, 0, 0)) {
        TranslateMessage (&msg);
        DispatchMessage (&msg);
    }
    return TermInstance (hInstance, msg.wParam);
}
HWND InitInstance (HINSTANCE hInstance, LPWSTR lpCmdLine, int nCmdShow) {
    WNDCLASS wc;
    HWND hWnd;
#if defined(WIN32_PLATFORM_PSPC)
    hWnd = FindWindow (szAppName, NULL);
    if (hWnd) {
        SetForegroundWindow ((HWND)(((DWORD)hWnd) | 0x01));    
        return 0;
    }
#endif
    hInst = hInstance;
    wc.style = 0;                             // Window style
    wc.lpfnWndProc = MainWndProc;             // Callback function
    wc.cbClsExtra = 0;                        // Extra class data
    wc.cbWndExtra = 0;                        // Extra window data
    wc.hInstance = hInstance;                 // Owner handle
    wc.hIcon = NULL,                          // Application icon
    wc.hCursor = LoadCursor (NULL, IDC_ARROW);// Default cursor
    wc.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH);
    wc.lpszMenuName =  NULL;                  // Menu name
    wc.lpszClassName = szAppName;             // Window class name
    if (RegisterClass (&wc) == 0) return 0;
    hWnd = CreateWindowEx (WS_EX_NODRAG, szAppName, TEXT ("PenTrac"),
                         WS_VISIBLE | WS_CAPTION | WS_SYSMENU,
                         CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, 
                         CW_USEDEFAULT, NULL, NULL, hInstance, NULL);
    if (!IsWindow (hWnd)) return 0;
    ShowWindow (hWnd, nCmdShow);
    UpdateWindow (hWnd);
    return hWnd;
}
int TermInstance (HINSTANCE hInstance, int nDefRC) {
    return nDefRC;
}
LRESULT CALLBACK MainWndProc (HWND hWnd, UINT wMsg, WPARAM wParam,
                              LPARAM lParam) {
    INT i;
    for (i = 0; i < dim(MainMessages); i++) {
        if (wMsg == MainMessages[i].Code)
            return (*MainMessages[i].Fxn)(hWnd, wMsg, wParam, lParam);
    }
    return DefWindowProc (hWnd, wMsg, wParam, lParam);
}
LRESULT DoMouseMain (HWND hWnd, UINT wMsg, WPARAM wParam, 
                     LPARAM lParam) {
    POINT pt[64];
    POINT ptM;
    UINT i, uPoints = 0;
    HDC hdc;
    ptM.x = LOWORD (lParam);
    ptM.y = HIWORD (lParam);
    hdc = GetDC (hWnd);
    if (wMsg == WM_MOUSEMOVE) {
        if (wParam & MK_SHIFT) 
            GetMouseMovePoints (pt, 64, &uPoints);
        for (i = 0; i < uPoints; i++) {
            pt[i].x /= 4;  // Convert move pts to screen coords
            pt[i].y /= 4;
            MapWindowPoints (HWND_DESKTOP, hWnd, &pt[i], 1);
            SetPixel (hdc, pt[i].x,   pt[i].y, RGB (255, 0, 0));
            SetPixel (hdc, pt[i].x+1, pt[i].y, RGB (255, 0, 0));
            SetPixel (hdc, pt[i].x,   pt[i].y+1, RGB (255, 0, 0));
            SetPixel (hdc, pt[i].x+1, pt[i].y+1, RGB (255, 0, 0));
        }
    }
    SetPixel (hdc, ptM.x, ptM.y, RGB (0, 0, 0));
    SetPixel (hdc, ptM.x+1, ptM.y, RGB (0, 0, 0));
    SetPixel (hdc, ptM.x, ptM.y+1, RGB (0, 0, 0));
    SetPixel (hdc, ptM.x+1, ptM.y+1, RGB (0, 0, 0));
    ReleaseDC (hWnd, hdc);
    Sleep(25);
    return 0;
}
LRESULT DoDestroyMain (HWND hWnd, UINT wMsg, WPARAM wParam,
                       LPARAM lParam) {
    PostQuitMessage (0);
    return 0;
}

clip_image001

]]>
WinCE Display驅(qū)動(dòng)開(kāi)發(fā)介紹http://www.adgdgn.cn/bbs/dispbbs.asp?BoardID=35&ID=1793&Page=1wangxinxin2010-11-26 9:06:22       1. Display驅(qū)動(dòng)模型
        WinCE下的Display驅(qū)動(dòng)直接由GWES模塊管理,它會(huì)直接被GWES模塊管理和調(diào)用。Display驅(qū)動(dòng)實(shí)際上也是分層的,其中包括GPE庫(kù),該庫(kù)處理一些默認(rèn)的繪圖,相當(dāng)于驅(qū)動(dòng)的MDD層。用戶(hù)只需要開(kāi)發(fā)和硬件相關(guān)的PDD層驅(qū)動(dòng)就可以了。在WinCE中,整個(gè)架構(gòu)如圖:
圖片點(diǎn)擊可在新窗口打開(kāi)查看
如圖,Application為一個(gè)應(yīng)用程序,該程序會(huì)調(diào)用圖形設(shè)備接口函數(shù)(GDI),而GDI函數(shù)是由Coredll.dll模塊導(dǎo)出的。Coredll.dll會(huì)將函數(shù)調(diào)用的參數(shù)打包,然后觸發(fā)對(duì)另一個(gè)進(jìn)程的本地過(guò)程調(diào)用(LPC),所有的繪圖和開(kāi)窗口的工作被傳給內(nèi)核中GWES模塊。GWES模塊被稱(chēng)為圖形,窗口和事件子系統(tǒng),專(zhuān)門(mén)處理圖形輸出和用戶(hù)輸入等事件及相關(guān)的所有交互。GWES模塊會(huì)調(diào)用Display驅(qū)動(dòng)完成對(duì)顯示硬件的操作。Display驅(qū)動(dòng)由GPE和DDL.dll組成,GPE完成基本的默認(rèn)繪圖工作,而DDI.dll實(shí)際上從GPE類(lèi)上繼承而來(lái)的,并實(shí)現(xiàn)了相關(guān)的顯示硬件的操作。]]>
SD card技術(shù)了解并WINCE下SDHC驅(qū)動(dòng)開(kāi)發(fā)http://www.adgdgn.cn/bbs/dispbbs.asp?BoardID=35&ID=1792&Page=1wangxinxin2010-11-26 9:05:34

SD Card Driver on ADS Summary

http://www.cnblogs.com/songtitan/archive/2007/02/11/647293.html

了解SD card

SD是Secure Digital Card卡的簡(jiǎn)稱(chēng),直譯成漢語(yǔ)就是“安全數(shù)字卡”,是由日本松下公司、東芝公司和美國(guó)SANDISK公司共同開(kāi)發(fā)研制的全新的存儲(chǔ)卡產(chǎn)品。SD存儲(chǔ)卡是一個(gè)完全開(kāi)放的標(biāo)準(zhǔn)(系統(tǒng)),多用于MP3、數(shù)碼攝像機(jī)、數(shù)碼相機(jī)、電子圖書(shū)、AV器材等等,尤其是被廣泛應(yīng)用在超薄數(shù)碼相機(jī)上。SD卡在外形上同Multimedia Card卡保持一致,大小尺寸比MMC卡略厚,容量也大很多。并且兼容MMC卡接口規(guī)范。不由讓人們懷疑SD卡是MMC升級(jí)版。另外,SD卡為9引腳,目的是通過(guò)把傳輸方式由串行變成并行,以提高傳輸速度。它的讀寫(xiě)速度比MMC卡要快一些,同時(shí),安全性也更高。SD卡最大的特點(diǎn)就是通過(guò)加密功能,可以保證數(shù)據(jù)資料的安全保密。它還具備版權(quán)保護(hù)技術(shù),所采用的版權(quán)保護(hù)技術(shù)是DVD中使用的CPRM技術(shù)(可刻錄介質(zhì)內(nèi)容保護(hù))。

 

規(guī)格


主要特點(diǎn):

1.精巧而且超薄

SD記憶卡的尺寸只有24毫米x 32毫米 x 2.1毫米。作為“橋梁媒體”的重要特征,它精致小巧,方便您在不同設(shè)備上使用。兼容SD記憶卡的設(shè)備可以采用解碼器軟件來(lái)播放音樂(lè)、影像短片以及更多其他類(lèi)型的內(nèi)容,無(wú)需像CD播放機(jī)或DVD播放機(jī)那樣采用驅(qū)動(dòng)裝置。從而使設(shè)備的外形更加精巧,同時(shí)也賦予了產(chǎn)品設(shè)計(jì)者發(fā)揮自由創(chuàng)意的全新空間。由于消除了播放音樂(lè)時(shí)的跳音現(xiàn)象,提高了播放的穩(wěn)定性。

2.大容量栽體

目前,SD記憶卡已經(jīng)具備各種容量可供選擇,同時(shí),2GB、4GB和8GB的SDHC也出現(xiàn)了。

3.高速數(shù)據(jù)傳輸

為了提供快速響應(yīng)和容易處理數(shù)字內(nèi)容,SD記憶卡可以用每秒10MB的速率寫(xiě)入和讀取數(shù)據(jù)。當(dāng)其能夠用于遠(yuǎn)程通信終端,直接下載內(nèi)容時(shí),記憶卡的高速傳送能力將可使存取時(shí)間和通信成本降至最低,同時(shí)可減輕網(wǎng)絡(luò)壓力。

4.擁有版權(quán)保護(hù)功能

先進(jìn)的數(shù)碼技術(shù)使高保真音樂(lè)和其他高質(zhì)量?jī)?nèi)容的錄制成為現(xiàn)實(shí)。日新月異的數(shù)碼技術(shù),借助因特網(wǎng),實(shí)現(xiàn)了全球范圍的信息快速共享。這一進(jìn)步也帶來(lái)了對(duì)原版內(nèi)容的大量復(fù)制,因此,作為21世紀(jì)的一種切實(shí)可行的記憶載體就必須具備高水平的版權(quán)保護(hù)技術(shù),這樣才能保護(hù)大量高質(zhì)的數(shù)碼數(shù)據(jù)。SD記憶卡可以自由復(fù)制各種數(shù)碼數(shù)據(jù),并采用獨(dú)特的內(nèi)置CPRM技術(shù)保存和轉(zhuǎn)移版權(quán)所有的內(nèi)容,這也是建立一個(gè)全新的音樂(lè)及其他商業(yè)媒體的發(fā)布體系的關(guān)鍵所在。

 

硬件結(jié)構(gòu)


(參看附錄中SD卡和其他卡的一個(gè)對(duì)比表)

 

SDIO卡

SDIO(輸入/輸出)卡是一種擴(kuò)展帶SD卡插孔設(shè)備之功能的接口。正在開(kāi)發(fā)各種SDIO卡,如相機(jī)、Bluetooth 、GPS和802.11b等。




如果編寫(xiě)以上設(shè)備的驅(qū)動(dòng),當(dāng)然前提是有一個(gè)合格的SD Host Controller。如同編寫(xiě)USB STORAGE/HID設(shè)備的驅(qū)動(dòng)一樣,需要USB HCD支持。MX31的ADS支持基于SDIO的LP1070 SDIO WLAN Card(在Wince 5.0的SD卡驅(qū)動(dòng)模型里,這種驅(qū)動(dòng)稱(chēng)為client driver)。

]]>
在Bootloader, WinCE,應(yīng)用程序間傳遞參數(shù)的方法http://www.adgdgn.cn/bbs/dispbbs.asp?BoardID=35&ID=1791&Page=1wangxinxin2010-11-26 9:03:36
基本思想就是在Nand Flash等固態(tài)存儲(chǔ)器中保存這個(gè)變量
實(shí)現(xiàn)方法有很多種,如果你使用的是EBoot,EBoot的例子中會(huì)有一個(gè)BOOT_CFG的結(jié)構(gòu)體,默認(rèn)保存EBoot參數(shù)的,這個(gè)參數(shù)保存在固態(tài)存儲(chǔ)器上,可以參考WINCE500\PLATFORM\SMDK2410\SRC\BOOTLOADER\EBOOT\main.c
這樣解決了保存變量的問(wèn)題,但是如何在Bootloader與操作系統(tǒng)間傳遞參數(shù)呢,
同樣對(duì)于2410的例子,OEMPlatformInit里面會(huì)有一個(gè)BSP_ARGS的結(jié)構(gòu)體,用來(lái)在EBoot與WinCE之間傳遞參數(shù),這塊區(qū)域是SDRAM的區(qū)域,一般是保留出來(lái)作為參數(shù)傳遞的,WinCE不會(huì)覆蓋這塊區(qū)域,這個(gè)結(jié)構(gòu)體在EBoot中被填充,所以,可以將參數(shù)放在BOOT_CFG中,然后EBoot初始化時(shí)從Nand中讀出來(lái),放到BSP_ARGS,以達(dá)到傳遞給WinCE的目的。
但是這樣只是解決了讀取的問(wèn)題,這個(gè)參數(shù)在CE中的修改還是不會(huì)被保存。
這種默認(rèn)的方法最一般的用途就是來(lái)控制KITL,這種單向參數(shù)傳遞的
如果需要雙向傳遞或保存,最簡(jiǎn)單的方法就是在WinCE驅(qū)動(dòng)中添加一個(gè)IOCTL,比如FMD的IOCTL,用來(lái)讀寫(xiě)這塊參數(shù)區(qū)域
這樣子,應(yīng)用程序也就可以訪(fǎng)問(wèn)這塊參數(shù)了。

如果不使用EBoot的默認(rèn)方式,就直接規(guī)定一個(gè)或幾個(gè)Nand區(qū)域,讀寫(xiě)方案同上,以達(dá)到多個(gè)應(yīng)用的參數(shù)分開(kāi)保存的目的,比如BT MAC在Block2, WIFI MAC在Block3, 其他參數(shù)在Block4。這樣做可以將經(jīng)常讀寫(xiě)的參數(shù)和不經(jīng)常讀寫(xiě)的參數(shù)分開(kāi),以免經(jīng)常讀寫(xiě)的塊損壞,而破壞其他的功能

]]>
主站蜘蛛池模板: 精品国产一区二区三区国产馆杂枝 | 日狠狠 | 日本人裸体艺术aaaaaa | 风间由美av| 日本三级中国三级99人妇网站 | 欧美亚洲在线视频 | 国产一区免费在线观看 | 超碰精品| 国产毛片又黄又爽 | 成人免费高清在线观看 | 91麻豆网站 | 日韩精品一区三区 | 日本熟妇色一本在线看 | 国产伦精品一区二区三区免.费 | 久草精品视频在线看网站免费 | 久久久久久欧美精品se一二三四 | 中文字幕文字暮 | 蜜桃无码av一区二区 | 人妻少妇精品无码专区app | 精品国产乱码久久久久久免费 | 一级裸体黄色片 | 97影院手机版 | 久热超碰| 欧美专区在线观看 | 欧美三级网 | 久久精品一二三区白丝高潮 | 成 人色 网 站 欧美大片在线观看 | 人人爽久久涩噜噜噜红粉 | 婷婷丁香五月中文字幕 | 深夜av福利 | 七七久久 | 欧美性猛交xxxⅹ丝袜 | 成人免费看片入口 | 亚洲另类无码专区首页 | 波多野结衣家庭主妇 | 理论片一区 | 亚洲国产理论片在线播放 | 日韩少妇内射免费播放 | 国产成人免费爽爽爽视频 | 精品少妇无码av无码专区 | 日本老太做爰xxxx | 夜夜嗨av色一区二区不卡 | 亚洲国产成人一区二区在线 | 久久国产精 | 中文字幕日韩欧美一区二区三区 | 亚洲专区在线 | 欧美日韩在线视频一区二区三区 | 粗大的内捧猛烈进出在线视频 | 在线观看国产成人av片 | 亚洲精品一区二区另类图片 | 夜夜爽av福利精品导航 | 国产精品久久久久久影视 | 人妻熟女αⅴ一区二区三区 | 综合网五月 | 成人高潮片免费视频欧美 | 亚洲色图99p | 日韩毛片免费无码无毒视频观看 | 黄色影视频| 巨大荫蒂视频欧美大片 | 天堂网传媒| 精品久久a| 丰满少妇大力进入av亚洲葵司 | 成人亚洲综合av天堂 | 男女超碰 | 人妻无码久久精品人妻 | 无码毛片aaa在线 | 18禁白丝喷水视频www视频 | 国产资源av| 欧美视频二区欧美影视 | 中文字幕av一区 | 色激情五月 | 午夜男女无遮挡拍拍视频 | 日韩精品三级 | 蜜臀91精品国产免费观看 | 亚洲啪啪网 | 欧美精品久久久久久 | 视频一区中文字幕 | 一区二区精品视频在线观看 | 欧美精品久久久久久久久 | 久久综合色综合 | 日本一二三不卡视频 | 免费在线看黄网站 | 亚洲青青操 | 国内视频在线 | 日本特黄色片 | 国产精品av一区 | 国自产拍偷拍精品啪啪一区二区 | 毛片大全免费看 | 中文字幕永久在线视频 | 成年人免费网站在线观看 | 99国产精品久久久久久久成人热 | 久久亚洲精品中文字幕无码 | 国产视频自拍一区 | 国产三区av | 性做久久久久久 | 极品尤物魔鬼身材啪啪仙踪林 | 永久免费未满男 | 欧美三日本三级三级在线播放 | 91精品国产色综合久久不卡98 | 国产在线永久视频 | 美女露出奶头扒开尿口免费网站 | 国产网红无码精品视频 | 亚洲视频免费在线播放 | 日本饥渴人妻欲求不满 | 麻豆社 | 成人免费黄色大片 | 亚洲一二区| 国产乱了实正在真 | 99视频偷窥在线精品国自产拍 | 又粗又猛又黄又爽无遮挡 | 国产成人精品一区二区在线小狼 | 韩日激情视频 | av日韩国产| 国产精品高潮呻吟久久av黑人 | 亚洲理论片 | 欧美性生交xxxxxdddd | 日本饥渴人妻欲求不满 | 欧美视频一二区 | 人人爽人人爽少妇免费 | 姑娘第5集在线观看免费好剧 | 久久久久夜 | 国产色综合天天综合网 | 久久精品香蕉 | 全部孕妇毛片丰满孕妇孕交 | 久久久久久亚洲精品中文字幕 | 欧美成人精品手机在线 | 成人性视频欧美一区二区三区 | 中文字幕无码人妻少妇免费 | 男ji大巴进入女人的视频小说 | 岳的奶又大又白又紧在线观看 | 在线免费亚洲 | 光明影院手机版在线观看免费 | 96日本xxxxxⅹxxx17 | 国产乱子夫妻xx黑人xyx真爽 | 人人妻人人爽人人做夜欢视频 | 丰满熟妇被猛烈进入高清片 | 午夜在线观看av | www91亚洲| 成人做爰视频www网站小优视频 | 图片区 小说区 区 亚洲五月 | 性生交生活大片1 | 国产对白在线 | 亚洲 欧美 中文 在线 视频 | 国产成人免费一区二区三区 | 国产一区二区三区视频播放 | 亚洲欧美性受久久久999 | 日韩成人无码中文字幕 | 玖玖爱这里只有精品 | 欧美日韩国产一级 | 91免费版黄色 | 色婷婷88av视频一二三区 | 亚洲永久视频 | 极品人妻少妇一区二区三区 | 18禁超污无遮挡无码免费游戏 | 免费观看成年人网站 | 欧美 日韩 成人 | 激情国产 | 人妻aⅴ无码一区二区三区 日本一卡2卡3卡四卡精品网站 | 国产精品污www一区二区三区 | 亚洲一区二区自拍 | 成年女人永久免费看片 | 日韩影院在线 | 国产肉体xxxx裸体视频 | 日韩精品在线观看视频 | 国产欧美精品一区二区在线播放 | 美女张开腿黄网站免费 | 东京久久久 | 日韩五码| 天堂在线视频 | 九九看片| 天天操天天射天天爽 | 特级无码毛片免费视频尤物 | 我想看黄色毛片 | 亚洲人色婷婷成人网站在线观看 | 日韩成人av免费在线观看 | 免费asmr色诱娇喘呻吟欧美 | 成人高清免费 | 国产做a爰片久久毛片a我的朋友 | 国产精品99久久久久久宅男 | 亚洲熟妇少妇任你躁在线观看无码 | 女邻居的大乳中文字幕 | 国产91免费 | 国产青草视频 | 成人在线视频一区二区三区 | 亚洲va在线∨a天堂va欧美va | 国产成人精品一区二区三区无码 | 好男人中文资源在线观看 | 亚洲一久久久久久久久 | 午夜视频h| a级片在线免费观看 | 欧美日韩高清在线 | 偷拍夫妻性生活 | 久久精品无码一区二区日韩av | 日韩一区二区三区高清电影 | 日韩va视频 | 国产成人精品无码片区在线观看 | 国产精品成人免费一区二区视频 | 国产色综合天天综合网 | 97成人免费视频 | 精品久久久久久无码人妻 | 久久久久久精 | 九九涩| 午夜精品视频在线观看 | 少妇高潮久久久 | 香蕉福利| 少妇的呻吟k8 | 日本 欧美 制服 中文 国产 | 毛片网站入口 | 日韩成人在线网站 | 欧美乱大交xxxxx春色视频 | 日韩精品视频在线看 | 天堂成人在线视频 | 国产亚洲欧美在线视频 | 在线观看视频毛片 | 久久精品一 | 疯狂三人交性欧美 | 国产老女人91精品一区 | 好了av四色综合无码 | 国产理伦天狼影院 | 18成禁人视频免费 | 加勒比无码人妻东京热 | 欧美猛交xxx | 人妻少妇久久中文字幕一区二区 | 久久在线视频免费观看 | 国产美女无遮挡永久免费 | 久草免费福利视频 | 亚洲中文字幕精品一区二区三区 | 国产精品久久久久久久久久了 | 99精品久久精品一区二区 | 秋霞一级全黄大片 | 天堂аⅴ在线最新版在线 | 香蕉视频免费看 | 日本热久久 | 国产高潮国产高潮久久久91 | 国产免费黄色 | 麻豆国产网站入口 | 中国精品毛片 | 日本一卡2卡3卡四卡精品网站 | 99爱精品视频在线观看免费 | 成人高潮片免费视频欧美 | 中文字幕少妇在线三级hd | 成人免费午夜无码视频在线播放 | 草久久免费视频 | 亚洲女欲精品久久久久久久18 | 极品色av | 精品热久久 | 久久久日韩精品一区二区三区 | 成人3d动漫一区二区三区91 | 性啪啪chinese东北老女人 | 久久精品国产2020 | 国产精品久久久久aaaa | 不用播放器看av | 国产中文字幕第一页 | 香蕉网在线播放 | 蜜桃精品免费久久久久影院 | 精品欧美乱码久久久久久 | 国产成a人亚洲精品在线观看 | 精品综合久久久 | 夏目彩春搜索结一88av中出 | 古装做爰无遮挡三级聊斋艳谭 | 日韩av激情在线观看 | 在线观看成人无码中文av天堂 | 国产精品揄拍一区二区久久国内亚洲精 | av国产成人| 少妇饥渴偷公乱第32章 | 性色a码一区二区三区天美传媒 | 日韩一级片在线 | 性国产激情精品 | 自拍欧美亚洲 | 五月激情小说网 | 天天想夜夜爽 | 日日干夜 | 日韩一级片中文字幕 | 日产一区三区三区高中清 | 久久精品久久久精品美女 | 国产成人一区二区三区 | 国产乱码精品一区二三区蜜臂 | 久久精品国产欧美亚洲人人爽 | 国产黄色免费 | 国产精品久久..4399 | av久久悠悠天堂影音网址 | 天天看片中文字幕 | 色视频综合 | 成人国产欧美大片一区 | 九一亚色视频 | 精品少妇人妻av无码久久 | 97看片吧| 91在线免费视频观看 | 91黄色小视频 | 风间由美一区 | 亚洲区免费视频 | 91日韩精品久久久久身材苗条 | 日韩女优在线视频 | 久久久久久国产精品免费免费 | 美女狠狠干 | 国产日韩第一页 | 中文字幕日韩二区一区田优 | 又爽又黄又无遮挡网站 | www.狠狠操| 羞羞avtv| 成人自拍视频网站 | 中文字幕一区二 | 91精品亚洲影视在线观看 | 亚洲欧美精品一中文字幕 | 国产一区二区三区网站 | 日本毛片在线观看 | 强行糟蹋人妻hd中文字 | 夜夜骑夜夜操 | a在线观看视频 | 精品一区二区三区不卡 | 97超碰超碰久久福利超碰 | 国产乱理伦片在线观看 | 黑人巨大猛烈捣出白浆 | 欧美三级a | 国产精品jizz在线观看美国 | 国产丝袜美女一区二区三区 | 日本久久久久久 | 美女激情网站 | 91精品久久久久久久久 | 热99re6久精品国产首页青柠 | 琪琪午夜伦埋影院77 | 国产精品永久久久 | 天天躁日日躁狠狠躁欧美老妇小说 | 五月丁香六月激情综合在线视频 | 欧美人与禽猛交乱配视频 | 中文字幕免费高 | 婷婷成人基地 | 国内自拍xxxx18 | 日韩欧美中文字幕在线播放 | 3d成人动漫在线观看 | 地下室play道具走绳结 | 黑人一区二区三区 | www精品视频 | 国产精品乱码一区二区三区 | 国产伦精品一区二区三区四区免费 | 色综合天天射 | 欧美日韩精品一区二区在线视频 | 国产精品国产自线拍免费软件 | 成人福利影院 | 午夜视频一区二区 | 国产三级做爰在线播放 | 日韩精品免费一区二区在线观看 | 在线观看无码不卡av | 伊人性伊人情综合网 | 精品人妻无码专区在线无广告视频 | 午夜啪啪福利视频 | 韩日毛片 | 国产精品久久久亚洲 | 日本三级免费网站 | 国产真实乱岳激情对白av | 免费丰满少妇毛片高清视频 | 极品美女穴 | 中国老女人内谢69xxxx | 女人的天堂av在线 | 国产精品久久久久久久久久软件 | 国产不卡一 | 国产成人久久婷婷精品流白浆 | 国语对白做受69 | 久久久国产精品亚洲一区 | 手机福利视频 | 国产精品一区二区欧美 | 九草av| 51自拍视频在线观看 | 国产精品极品美女自在线观看免费 | 扒开双腿被两个男人玩弄视频 | 天堂精品久久 | 欧美片一区二区三区 | 日本一二三区视频在线 | 亚洲天堂男人网 | 午夜寂寞福利 | 国产色在线 | 日韩 日韩精品无码一区二区 | 国产伦久视频免费观看视频 | 国产三级全黄裸体 | 99视频网 | 国产高清免费 | 狠狠五月激情六月丁香 | 日韩欧美在线视频观看 | 91精品老司机久久一区啪 | 亚洲精品久久久久中文字幕二区 | 妇欲欢公爽公妇高h苏晴 | 日韩不卡在线播放 | 欧美黄绝喷潮片 | 国产一区二区三区在线观看视频 | 亚洲一级影院 | 丝袜美腿一区二区三区 | 国产激情免费 | 欧洲精品欧美精品 | 片黄在线观看 | 日韩高清影院 | 精品国产一区二区三区四区在线 | 看a级毛片 | 国产卡一卡二卡三 | 一本到不卡 | 成人精品美女隐私 | 欧美人妖另类aaaaa | 国产一区二区午夜 | 国产 日韩 欧美 成人 | 国内自拍偷区亚洲综合伊人 | 国产精品男同 | 亲嘴扒胸摸屁股激烈网站 | 亚洲一区精品二人人爽久久 | 狠狠综合久久av一区二区老牛 | 日本三级视频在线观看 | 亚洲调教欧美在线 | 欧美三级一区二区三区 | 亚洲国产成人在线视频 | 国产一级生活片 | 99久久久国产精品免费消防器 | 爱情岛论坛亚洲品质有限公司18 | 欧美福利在线观看 | 国产精品推荐 | 免费网站看v片在线观看 | 亚洲欧美18岁网站 | 欧美成人综合在线 | 成人免费淫片aa视频免费 | 久久天堂av综合色无码专区 | 男女视频久久 | 亚洲色图在线视频 | 国产无套水多在线观看 | 人人看人人射 | xxx在线视频 | 国产精品视频入口麻豆 | 国产精品视频资源 | 久久国产精99精产国高潮 | 亚洲免费网站在线观看 | 91精品一区二区中文字幕 | 成人免费午夜视频69影院 | 伊人激情网 | 91久久精品日日躁夜夜躁欧美 | 夜夜躁天天躁很躁mba | 女人抽搐喷水高潮国产精品 | ,亚洲人成毛片在线播放 | 海角国产真实交换配乱 | 国产又黄又大又爽 | 成人性视频sm | www91在线播放 | 性做久久久久久久免费看 | 亚洲激情av在线 | 国产精品女人久久久 | 亚洲色偷拍区另类无码专区 | 直接观看黄网站免费视频 | 亚洲三级高清免费 | 捆绑白丝粉色jk震动捧喷白浆 | 久久久久久久久久免费视频 | jizz日本在线观看 | 激情视频一区 | 成人精品免费视频在线观看 | 亚洲一区二区三区无码国产 | 日本免费在线观看视频 | 日韩av在线播放网址 | 日韩免费视频 | 中文久久乱码一区二区 | 一级做a爰片久久毛片 | 成人在线激情 | 午夜h | 本色视频aaaaaa一级网站 | 高hnp视频 | 男女一边摸一边做爽爽 | 色情无码www视频无码区小黄鸭 | 91精品一区二区 | 亚洲女人天堂成人av在线 | 男女做爰猛烈叫床无遮挡 | 在线观看麻豆视频 | 欧美日韩第一页 | 97香蕉久久国产在线观看 | 日本jizz在线观看 | 性感少妇av | caoporen在线| 操操操插插插 | 亚洲乱妇老熟女爽到高潮的片 | 国产女无套免费网站 | 国产精品一区二区三区不卡 | 欧美美女一区二区三区 | 男人一边吃奶一边做爰网站 | 97人人超碰国产精品最新 | 精品欧美一区二区三区免费观看 | 国内精品人妻无码久久久影院 | 狠狠操夜夜操 | 91ts人妖另类精品系列 | 欧美福利片在线观看 | 大肉大捧一进一出好爽视色大师 | 中文字幕亚韩 | 国产一区日韩二区欧美三区 | 日本在线资源 | 国产无色aaa | 黄色激情毛片 | 久久成年人 | 亚洲激情在线观看视频 | 风流少妇bbwbbw69视频 | 国偷自产视频一区二区久 | 精品深夜av无码一区二区老年 | 亚洲一区二区三区写真 | 久久国产精品免费一区二区三区 | 欧美日韩精品在线观看视频 | 狠狠干天天干 | 精品国产乱码久久久久乱码 | 香蕉av777xxx色综合一区 | 麻豆一区二区三区四区 | 国产成人在线网站 | 麻豆系列 | 特级全黄久久久久久久久 | 久久加勒比亚洲精品一区 | 国产又粗又大又爽视频 | 欧美一区内射最近更新 | 美国少妇性做爰 | 国产成人综合久久久久久 | 99久久综合 | 亚洲孕交 | 亚洲精品无码永久在线观看你懂的 | 精品人妻中文字幕有码在线 | 91 在线视频| 三级精品在线 | 久久久综合亚洲91久久98 | 又色又污又爽又黄的网站 | 国产午夜福利片 | 懂色一区二区三区av片 | 亚洲乱码一区av黑人高潮 | 中文字幕免费高清视频 | 男人天堂视频在线观看 | 午夜国产一区二区三区四区 | 黄色激情在线 | 永久免费看动漫黄址 | 亚洲精品中文在线 | 8x福利精品第一导航 | 99re6热在线精品视频播放 | 亚洲加勒比久久88色综合 | 天堂аⅴ在线最新版在线 | 色一情一乱一伦一区二区三欧美 | 精品久久久一二三区播放播放播放视频 | 国产高潮流白浆喷水视频 | 国产在线日本 | 校园春色 亚洲色图 | 四虎影视永久在线观看 | 亚洲成人在线网站 | 国产成人精品无码片区在线观看 | 亚洲一二三级 | 久久国产精品免费视频 | 大胸少妇裸体无遮挡啪啪 | 国产又粗又猛又大爽又黄老大爷 | 日韩在线观看av | 性猛交xxxx免费看蜜桃 | 欧美日韩国产成人高清视频 | 成人免费无遮挡无码黄漫视频 | 日出水了特别黄的视频 | 亚洲欧美成人精品香蕉网 | 在线视频 91 | 日本亚洲一区 | 国产中文字幕在线观看 | 亚洲国产精品久久久久秋霞蜜臀 | 日日夜夜爱 | 无码日韩精品一区二区免费 | 国产精品久久久久久久久久99 | 亚洲国产精品一区二区www | 日日摸天天摸爽爽狠狠97 | 日本一区二区三区视频在线播放 | 做爰xxxⅹ性69免费软件 | 国产三级国产精品国产普男人 | 亚洲成人高清 | 青草青草久热精品视频国产4 | 99热这里只有精 | 五月天综合社区 | 曰木性按摩xxⅹxxx视频 | 伊人艹| 18成人免费观看视频 | 天堂网国产 | 国产经典自拍 | 激情www| 狠狠操五月天 | 狠狠色狠狠色综合久久一 | 免费一级黄 | 免费观看全黄做爰的视频 | 国产精品一区二区人人爽79欧美 | 欧美性猛交乱大交 | 九九在线精品视频 | 久久久精彩视频 | 91精品国产一区二区 | 激情五月综合色婷婷一区二区 | 日女人网站 | 处破痛哭a√18成年片免费 | 想看一级黄色片 | 全部免费a级毛片 | 欧美日韩精品一区二区 | 日本三级视频在线 | 日韩一区二区视频在线 | 亚洲va欧美va| 爆乳女仆高潮在线观看 | 日本精品视频一区二区三区四区 | 捆绑白丝粉色jk震动捧喷白浆 | 日本一本久久 | 亚洲精品女人久久久 | av天堂午夜精品一区二区三区 | 亚洲成a∨人片在线观看无码 | 国产女人的高潮国语对白 | 一级特黄aa大片免费播放 | 尤物一区二区 | 婷婷射精av这里只有精品 | 日本美女一级片 | а√ 天堂 在线官网 | 欧美爱爱小视频 | 亚洲成人网在线播放 | 91丨九色丨91啦蝌蚪老版 | 久久久综合亚洲91久久98 | 欧美人和黑人牲交网站上线 | 好吊日av| 99热最新| 性色蜜桃臀x66av | 秋葵视频在线 | 欧美国产综合欧美视频 | 亚洲午夜福利在线观看 | 麻豆一区二区三区精品视频 | 国产激情片 | 亚洲精品456 | 青青操91| 伊人婷婷色| 四虎4hu永久免费深夜福利 |