345161974 发表于 2013-7-10 09:26:58

嵌入式系统SD卡升级怎么从Qt系统拷贝数据到nandflash?

本人最近的项目需要提供通过SD卡升级的方式让用户升级.不过小弟没这方面的经验,项目嵌入式系统用的是Linux Qt的,现在要求就是在Qt里读出SD卡的数据后,怎么给写到Flash里呢?这点我感觉很难,从来没弄过.另外,量产的机器是没有串口的,也就是说用户只能通过SD卡去升级,不过这要怎么实现呢?貌似很难哎,求助各位了!多谢!

mangocity 发表于 2013-7-10 10:30:41

有很多种办法。你要升级什么东西?

345161974 发表于 2013-7-10 10:41:19

mangocity 发表于 2013-7-10 10:30 static/image/common/back.gif
有很多种办法。你要升级什么东西?

目前是升级程序文件,比如某个文件之类的,后续可能要把整个根文件系统换掉,我感觉第一种还好办,第二种感觉难度大,不知道兄弟能提供些解决的办法不?多谢了!

mangocity 发表于 2013-7-10 10:45:34

升级根文件系统有啥难的啊?用 ramdisk 做根文件系统,升级的时候直接写到 NAND 里面就可以了。

345161974 发表于 2013-7-10 10:54:04

mangocity 发表于 2013-7-10 10:45 static/image/common/back.gif
升级根文件系统有啥难的啊?用 ramdisk 做根文件系统,升级的时候直接写到 NAND 里面就可以了。 ...

多谢,我在公司暂时没弄过ramdisk,如果搞根文件系统升级,我就试下,多谢兄弟!目前这个程序升级搞定了,也就是直接在根文件系统里覆盖就行了,我以为很难,原来就这么一回事,嘿嘿{:lol:}

sinc_mark 发表于 2013-7-11 11:25:28

345161974 发表于 2013-7-10 10:54 static/image/common/back.gif
多谢,我在公司暂时没弄过ramdisk,如果搞根文件系统升级,我就试下,多谢兄弟!目前这个程序升级搞定了,也就 ...

楼主,可以将方法大概讲讲吗?我有一样的问题,需要解决,谢谢!

345161974 发表于 2013-7-11 13:05:25

sinc_mark 发表于 2013-7-11 11:25 static/image/common/back.gif
楼主,可以将方法大概讲讲吗?我有一样的问题,需要解决,谢谢!

1:首先要确定,你的内核是支持SD卡的,你要让内核支持;
2:在开机启动之后,把SD卡的设备挂载到/mnt/sdcard下,我的SD卡设备是:/dev/mmcblk0p1,每个板子可能设备有所不同;
3:升级的时候,直接通过简单的打开文件操作,把SD卡里的文件拷贝到根文件系统某个文件夹下;
4:可以写个开机执行脚本,用来判断升级是否需要,如果需要那么就把上一步拷贝过来的文件直接把文件系统需要覆盖的覆盖下即可了.

sinc_mark 发表于 2013-7-11 13:25:40

345161974 发表于 2013-7-11 13:05 static/image/common/back.gif
1:首先要确定,你的内核是支持SD卡的,你要让内核支持;
2:在开机启动之后,把SD卡的设备挂载到/mnt/sdcard下 ...

好的,明白大概的意思了,谢谢!

qllaoda1 发表于 2013-7-15 16:03:21

感觉你这个“QT里读出SD卡的数据”的提法不甚准确啊?SD卡上面搭建了文件系统以后,是可以看到设备节点类似/dev/mmcblk0px的,mount 之,然后随意OPEN READ WRITE 文件就是了。

345161974 发表于 2013-7-15 16:18:34

qllaoda1 发表于 2013-7-15 16:03 static/image/common/back.gif
感觉你这个“QT里读出SD卡的数据”的提法不甚准确啊?SD卡上面搭建了文件系统以后,是可以看到设备节点类似 ...

额,从Qt里读SD卡数据,是我比较笼统的说法啦,其实最本质还是mount,然后读写操作.不过还是谢谢你提醒,可能我这么说对其他人误导了.

youpeng 发表于 2013-9-9 22:46:31

请教lz,不用linux内核的系统用SD卡如何升级?谢谢

345161974 发表于 2013-9-10 09:10:17

youpeng 发表于 2013-9-9 22:46 static/image/common/back.gif
请教lz,不用linux内核的系统用SD卡如何升级?谢谢

这个我暂时还没想出办法来,应该是通过nand驱动找到SD卡地址然后拷贝数据到nand某个地方,这样可以进行整个根文件系统的升级,不过一时我也没想出来,不好意思。
页: [1]
查看完整版本: 嵌入式系统SD卡升级怎么从Qt系统拷贝数据到nandflash?