WINCE下通过SD卡来更新NK,这样的AP该怎么写啊?有没参考的例子?主要是在AP里面调不到BP_XXX那些函数,在AP里面怎么能够调到BP_XXX函数

xqhrs232 2008-10-09 05:33:45
WINCE下通过SD卡来更新NK,这样的AP该怎么写啊?有没参考的例子?主要是在AP里面调不到BP_XXX那些函数,在AP里面怎么能够调到BP_XXX函数?

怎么对NAND FLASH进行块写入,块擦除什么的,我已经通过IOCONTROL宏实现了。就是不知道怎么产生什么MBR,怎么去调用什么
BP_XXX函数。

应该有人写过的。大家给点思路啊!

老是通过USB+串口来升级NK太麻烦了。再说这样还不能脱离一台PC机,这样太不方便了。
...全文
756 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
puyoupuyou90 2010-10-20
  • 打赏
  • 举报
回复
关注,收藏
DAISARU 2010-07-22
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 gooogleman 的回复:]
引用 25 楼 xqhrs232 的回复:
好东西,有时间好好看看.这几天要整头痛的I2C通信了.不知道什么时候能够见到阳光.

有例子啊。

你还在吗,哈哈。我下班就无聊哦
晚一点看老武侠剧《莲花争霸》
很爽啊。
记得我还没有上学看过哦。。
[/Quote]

白玉川在我幼小的心灵里留下了深刻的烙印,从那时起,偶知道了挥刀子宫这一说。
ustcsungang 2010-05-14
  • 打赏
  • 举报
回复
无法下载,我也在开始学习阿,郁闷
xqhrs232 2009-04-28
  • 打赏
  • 举报
回复
得开始弄这个了,痛苦啊!
slyzhang 2008-10-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 songtitan 的回复:]
在CE下和在bootloader下都可以实现更新NK.
1 在CE下
可以直接用文件系统API读出NK.bin,放到内存buffer中,在通过DEVICEIOCTL的方式来调用nand驱动的接一些接口来直接对nand flash进行写操作。
好处:跳过boot section,FAT/FAT32文件系统的解析;对内存大小无要求
缺点:NAND驱动需要暴露读写的IOCTL,必须进入OS才能更新OS,如果OS挂了的话,无法更新。

2 bootloader下
直接对SD CONTROLLER操作来对SD卡进行读写…
[/Quote]

这个回答很好了, 我就是在CE里面这么高的,加一个通讯方式即可。直接对nandflash 写入,更新相关信息即可。

我们现在用的是Bootloader下的, 不过对卡的要求多点,有些卡不支持
songtitan 2008-10-10
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 gooogleman 的回复:]
引用 8 楼 songtitan 的回复:
SD的协议很简单!
前面初始化的命令序列是固定的,比如刚开始要不断CMD0,然后CMD1,再发CMD55和ACMD41,再通过CMD7置成transfer mode之类的,接着就可以用读写的cmd的不断读写了。。。(以上顺序凭记忆的,具体要看SD手册,或者随便找个SD的初始化代码抄袭)


//--------------也许是我第一次看。唉。
你是不是在读研究生啊,发现你经常泡在这里为我们解答啊。谢谢了。还是像我一样,公司不…
[/Quote]
现在研究生能这么厉害?
xqhrs232 2008-10-10
  • 打赏
  • 举报
回复
楼上有没实现,在CE跑起来后,通过SD卡更新NK?因为这样不怎么懂电子/软件的人都可以去升级的。
bearbrotherji 2008-10-10
  • 打赏
  • 举报
回复
其实很简单,我们现在都有好多种升级模式
比如通过SD卡,或者通过USB;
在Bootloader里加入SD驱动,特别这样在无操作系统环境下的,更容易;然后加入对Fat16和Fat32文件系统的支持(这个源程序有很多,由于SD卡大小不同,所以要支持两个);然后开机检查SD卡指定目录下指定文件,发现存在,则自动升级了。
xqhrs232 2008-10-10
  • 打赏
  • 举报
回复
重装了一下系统,MSN没装。
gooogleman 2008-10-10
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 songtitan 的回复:]
SD的协议很简单!
前面初始化的命令序列是固定的,比如刚开始要不断CMD0,然后CMD1,再发CMD55和ACMD41,再通过CMD7置成transfer mode之类的,接着就可以用读写的cmd的不断读写了。。。(以上顺序凭记忆的,具体要看SD手册,或者随便找个SD的初始化代码抄袭)
[/Quote]

//--------------也许是我第一次看。唉。
你是不是在读研究生啊,发现你经常泡在这里为我们解答啊。谢谢了。还是像我一样,公司不给我事情做,让我自由发挥?
songtitan 2008-10-10
  • 打赏
  • 举报
回复
FAT解析有点小麻烦,不过也是固定的 格式,如果能找到一些样例的C代码的话,也不难。
目前支持SD更新的BSP还是有一些的。
songtitan 2008-10-10
  • 打赏
  • 举报
回复
SD的协议很简单!
前面初始化的命令序列是固定的,比如刚开始要不断CMD0,然后CMD1,再发CMD55和ACMD41,再通过CMD7置成transfer mode之类的,接着就可以用读写的cmd的不断读写了。。。(以上顺序凭记忆的,具体要看SD手册,或者随便找个SD的初始化代码抄袭)

gooogleman 2008-10-10
  • 打赏
  • 举报
回复
如果想搞,我们一起搞吧。有个人可以交流一下,我看了一下SD卡协议,不是一般的复杂啊。
gooogleman 2008-10-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xqhrs232 的回复:]
谢谢,就是不知道自己来实现得多长时间。
[/Quote]

你怎么不上MSN啊,我想请教你一些SD卡问题哦
gooogleman 2008-10-10
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 xqhrs232 的回复:]
好东西,有时间好好看看.这几天要整头痛的I2C通信了.不知道什么时候能够见到阳光.
[/Quote]
有例子啊。

你还在吗,哈哈。我下班就无聊哦
晚一点看老武侠剧《莲花争霸》
很爽啊。
记得我还没有上学看过哦。。
xqhrs232 2008-10-10
  • 打赏
  • 举报
回复
谢谢,就是不知道自己来实现得多长时间。
xqhrs232 2008-10-10
  • 打赏
  • 举报
回复
好东西,有时间好好看看.这几天要整头痛的I2C通信了.不知道什么时候能够见到阳光.
gooogleman 2008-10-10
  • 打赏
  • 举报
回复
奶奶的,刚才一直怀疑自己的计算能力,手算,用计算器。-----该死的注释!
我在网上找到一篇2410的SD卡开发文档,很棒,不敢独享。传到CSDN下载资源

有谁正在搞SD卡开发的啊,加我头像下的群啊。哈哈。
gooogleman 2008-10-10
  • 打赏
  • 举报
回复
songtitan前辈,我明白是怎么回事了。
------------------------------------
是我的BIOS的注释搞晕了我,唉,害人不浅。
---------------------------------------答案如下
命令索引。CPU通过命令索引确定要发给SD卡的命令的内容 内容 内容 内容(Context)是什么,假设我们要
发送0号命令给SD卡,那么发送过去的Context是 0 | (1<<6),1号命令的Context是1|(1<<6),以
此类推,2号命令的Context是2 | (1<<6)…n号命令的Context是n | (1<<6) 。Context指的就是
在命令线上传输的实际数据是什么, CPU向SD卡发送命令实际上是发送 发送 发送 发送命令的 命令的 命令的 命令的Context.事实 事实 事实 事实
上 上上 上是 是是 是 :
Command Context= (Start bit <<7)|( host command <<6)|(Command Index)
Start bit=0, host command=1.
对s3c2410来说,我们往SD卡发送Command的实际操作就是将Command Context写进SDI
Command Control (SDICCON) Register 的 bit[7:0]。

-------------------------------------------------------------------------------------------------------
我的SD卡裸机程序
rSDICARG=Wide<<1;	    //Wide 0: 1bit, 1: 4bit
rSDICCON=(0x1<<9)|(0x1<<8)|0x46; //sht_resp, wait_resp, start, CMD55

--------奶奶饿我看见是CMD55总以为是CMD55,原来是CMD6
--------哈哈,是不是我太容易相信别人了??迷茫了一个下午。
gooogleman 2008-10-10
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 songtitan 的回复:]
对手册理解很重要
方便的话,往songtitan@msn.com发一下2440的手册
[/Quote]

已经发送了。
刚才跑到你的博客看了一下子。
才知道你是高PXA和MX的,
真是不好意思了。影响你时间。
加载更多回复(11)

19,503

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧