bootloader和应用程序如何通信。

jiereliyi 2010-10-29 02:52:48
2440 wince6
要实现开机界面显示版本信息,但是版本号,需要在开机后由应用程序设置版本号。
这样怎么实现?谢谢
虽然可以用修改开机界面图片的方法实现,但是 版本号还有其他信息需要频繁修改,所以修改开机界面太麻烦了。生成不方便。
...全文
399 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
unsway123 2010-11-18
  • 打赏
  • 举报
回复
createfile()返回错误 对应的函数是XXX_open去看看
jiereliyi 2010-11-08
  • 打赏
  • 举报
回复
我已经把字库写进flash去了。呵呵读取正确。
下午搞定它
unsway123 2010-11-08
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 jiereliyi 的回复:]
引用 23 楼 ele01 的回复:
关于哪个block可以用 哪个不能用 还没有研究过

不过 mini2440 不是有个 24c02吗? 可以试试写在那里面 然后从那里面读

这倒是个方法,不过我们的产品上没有啊。
[/Quote]

LZ这个问题,一个RESEVE的RAM区域供EBOOT和NK通信,还必须有一个flash上面的bootcfg区域,你BOOT中的这些参数在EBOOT的时候就直接写到了这个区域。。你想什么时候去读,就什么时候去读。怕啥。。
jiereliyi 2010-11-08
  • 打赏
  • 举报
回复
wince api读写flash遇到困难

createfile()返回错误
jxgzlxj 2010-11-08
  • 打赏
  • 举报
回复
盼解决方法。
jiereliyi 2010-11-07
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 ele01 的回复:]
关于哪个block可以用 哪个不能用 还没有研究过

不过 mini2440 不是有个 24c02吗? 可以试试写在那里面 然后从那里面读
[/Quote]
这倒是个方法,不过我们的产品上没有啊。
ele01 2010-11-06
  • 打赏
  • 举报
回复
关于哪个block可以用 哪个不能用 还没有研究过

不过 mini2440 不是有个 24c02吗? 可以试试写在那里面 然后从那里面读
jiereliyi 2010-11-05
  • 打赏
  • 举报
回复
我这个题目起的不好,也不知道有几个人看懂了。没说明白
我要实现的开机显示版本号,但是版本号必须存储器flash里,而不是args这个空间里。args是在ram中的,开机时没有内容的。
bootloader通过读取flash显示版本号。应用程序写flash来修改版本,然后下次开机显示修改后的版本号。

现在是不知道,flash 那个block可以用,那个不可以用。
jxgzlxj 2010-11-04
  • 打赏
  • 举报
回复
这个想法很有创意啊, 严重关注下。
ele01 2010-11-03
  • 打赏
  • 举报
回复
你可以考虑在eboot中显示字符。毕竟nboot加载eboot也就是一瞬间的事情,这样就不用考虑4KB的问题了。
houyu123 2010-11-03
  • 打赏
  • 举报
回复
对楼主的话题很感兴趣,不过帮不上忙!!顶下贴吧
unsway123 2010-11-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 loongembedded 的回复:]
bootloader和OAL之间有一段共享的内存,是在\Src\Bootloader\Eboot\boot.bib下面指定
MEMORY
; Name Start Size Type
; ------- -------- -------- ----
ARGS 80020800 00000800 RESERVED
这段内存用于保存一个BSP_ARGS这样的结构体,在src\inc\ar……
[/Quote]


这位说的很对,这段内存在eboot。bib和config。bib上是一样的,都是reserve的,这段东西是EBOOT和kernel共享的一段内存啦。kernel能用,应用程序当然也能用
jiereliyi 2010-11-03
  • 打赏
  • 举报
回复
mini2440 wince6 好像没有使用eboot。没有eboot的程序
jiereliyi 2010-11-02
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 paul_chao 的回复:]
1. 開機順序為 nboot -> eboot -> nk.
2. nand flash reserved 一塊, Application 可以透過 Driver 修改/讀取, eboot 也可讀出.
3. 字形檔, 若是純英文, 8x15 pixel 即可達到不錯的效果, 故所有字共佔 8*15*256/8=3840 bytes. 一般可在網路上找到免費的並直接 link 進入 eboot ……
[/Quote]
我只需要 26个英文字母和10个数字。采用的32*32 写进去无法运行。算上uboot 超过4k了
jiereliyi 2010-11-02
  • 打赏
  • 举报
回复
先说一下,args不能实现这个功能。
我需要在应用程序中向flash中写入版本信息。但是现在不知道flash的空间分配。不知道什么地址是可用的。
用的mini2440 256M 谁知道啊
jiereliyi 2010-11-01
  • 打赏
  • 举报
回复
今天试试,找到思路了。
当然应用程序或驱动读取这块数据,一般不会直接以读写物理地址的方式访问。而是由OAL访问,当然要添加IoControl,然后以KernelIoControl的方式访问所需的内容。
这个可以详细说说嘛?不是很了解步骤。
paul_chao 2010-11-01
  • 打赏
  • 举报
回复
1. 開機順序為 nboot -> eboot -> nk.
2. nand flash reserved 一塊, Application 可以透過 Driver 修改/讀取, eboot 也可讀出.
3. 字形檔, 若是純英文, 8x15 pixel 即可達到不錯的效果, 故所有字共佔 8*15*256/8=3840 bytes. 一般可在網路上找到免費的並直接 link 進入 eboot 即可.

Paul, Chao @ Techware
jiereliyi 2010-11-01
  • 打赏
  • 举报
回复
遇到个问题,在nboot中如果想在液晶上显示字符,必须有字库,但是nboot不能大于4k。这样就需要将字库文件复制到nand flash中,但是用字库生成的字库文件一般都是.c文件,如何写入flash中呢?
用h-flasher能不能写入。.c文件如何转换成.bin文件呢?
IT铁哥 2010-10-30
  • 打赏
  • 举报
回复

可以采用读NAND FLASH的方法。在BOOTLOADER里面实现读NAND 是很容易的。
卓卓有余 2010-10-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 macrozhang001 的回复:]
可以采用读NAND FLASH的方法。在BOOTLOADER里面实现读NAND 是很容易的。
[/Quote]

除了在BSP_ARGS中设置参数外,当然要备份在NAND FLASH中,这是一方面是出于可能行考虑,另一方面是实际需要,(数据多的时候,....).因为一些常用数据使用时,每次读取nand是不现实的。
加载更多回复(4)

19,504

社区成员

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

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