国产九九热视频-国产九九精品视频-国产精自产拍久久久久久蜜-国产精自产拍久久久久久-国产精在线-国产精亚洲视频

Rss & SiteMap

曙海教育集團(tuán)論壇 http://www.bjzhda.cn

曙海教育集團(tuán)論壇
共1 條記錄, 每頁(yè)顯示 10 條, 頁(yè)簽: [1]
[瀏覽完整版]

標(biāo)題:在Bootloader, WinCE,應(yīng)用程序間傳遞參數(shù)的方法

1樓
wangxinxin 發(fā)表于:2010-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)讀寫這塊參數(shù)區(qū)域
這樣子,應(yīng)用程序也就可以訪問(wèn)這塊參數(shù)了。

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

共1 條記錄, 每頁(yè)顯示 10 條, 頁(yè)簽: [1]

Copyright © 2000 - 2009 曙海教育集團(tuán)
Powered By 曙海教育集團(tuán) Version 2.2
Processed in .01563 s, 2 queries.
主站蜘蛛池模板: 长治县| 泉州市| 苍山县| 南丹县| 泸西县| 大渡口区| 成武县| 玉溪市| 改则县| 济宁市| 衡水市| 桂东县| 临汾市| 宿迁市| 新巴尔虎右旗| 南投市| 化德县| 牙克石市| 中阳县| 精河县| 阳西县| 米易县| 内乡县| 克东县| 江城| 盱眙县| 山丹县| 宁都县| 冕宁县| 本溪市| 都匀市| 长宁区| 合山市| 左云县| 衡水市| 商都县| 全南县| 航空| 鄂伦春自治旗| 巨野县| 丁青县|