左栏
右栏
欢迎您:游客!请先
登录
或
注册
风格
恢复默认设置
|
展区
文件集浏览
图片集浏览
Flash浏览
音乐集浏览
电影集浏览
|
搜索
|
社区游戏中心
曙海教育集团论坛
→
Win CE 专区
→
WinCE应用开发
→ 在Bootloader, WinCE,应用程序间传递参数的方法
新的主题
投票帖
交易帖
小字报
下一主题 >>
<< 上一主题
共有
10184
人关注过本帖
树形
打印
主题:在Bootloader, WinCE,应用程序间传递参数的方法
wangxinxin
小
大
1楼
个性首页
|
博客
|
信息
|
搜索
|
邮箱
|
主页
|
UC
加好友
发短信
等级:青蜂侠
帖子:
1393
积分:14038
威望:0
精华:0
注册:
2010-11-12 11:08:23
在Bootloader, WinCE,应用程序间传递参数的方法
Post By:2010-11-26 9:03:36
基本思想就是在Nand
Flash
等固态存储器中保存这个变量
实现方法有很多种,如果你使用的是EBoot,EBoot的例子中会有一个BOOT_CFG的结构体,默认保存EBoot参数的,这个参数保存在固态存储器上,可以参考WINCE500\PLATFORM\SMDK2410\SRC\BOOTLOADER\EBOOT\main.c
这样
解决
了保存变量的问题,但是如何在Bootloader与操作
系统
间传递参数呢,
同样对于2410的例子,OEMPlatformInit里面会有一个
BSP
_ARGS的结构体,用来在EBoot与WinCE之间传递参数,这块区域是SDRAM的区域,一般是保留出来作为参数传递的,WinCE不会覆盖这块区域,这个结构体在EBoot中被填充,所以,可以将参数放在BOOT_CFG中,然后EBoot初始化时从Nand中读出来,放到BSP_ARGS,以达到传递给WinCE的目的。
但是这样只是解决了读取的问题,这个参数在CE中的修改还是不会被保存。
这种默认的方法最一般的用途就是来控制KITL,这种单向参数传递的
如果需要双向传递或保存,最简单的方法就是在WinCE
驱动
中添加一个IOCTL,比如FMD的IOCTL,用来读写这块参数区域
这样子,应用
程序
也就可以
访问
这块参数了。
如果不使用EBoot的默认方式,就直接规定一个或几个Nand区域,读写方案同上,以达到多个应用的参数分开保存的目的,比如BT MAC在Block2, WIFI MAC在Block3, 其他参数在Block4。这样做可以将经常读写的参数和不经常读写的参数分开,以免经常读写的块损坏,而破坏其他的
功能
支持
(
5
)
中立
(
0
)
反对
(
0
)
单帖管理
举报帖子
使用道具
|
引用
|
回复
下一主题 >>
<< 上一主题
返回版面帖子列表
在Bootloader, WinCE,应用程序间传递参数的方法
回复标题:
上传附件:
签名
:
不显示
显示
RSS2.0
Xhtml无图版
Xslt无图版
Copyright © 2000 - 2009
曙海
教育集团
Powered By
曙海教育集团
Version 2.2
页面执行时间 0.01498 秒, 3 次数据查询