嵌入式爱好者

查看: 5861|回复: 1

SD卡烧录工具如何把bin文件写到SD卡上

[复制链接]

2

主题

9

帖子

12

积分

扫一扫,手机访问本帖
发表于 2016-1-4 14:54:26 | 显示全部楼层 |阅读模式
本人在学习Uboot,也在尝试写一些裸程序来了解如何操作硬件,如何编写驱动等。现想写一个烧录工具,将我的程序写到SD卡上,然后从SD卡启动。当我以如下形式,打开文件的方式,最大可以写1.5MB到SD卡,然后GetLastError()返回0x5(拒绝访问)。

        wsprintf(szDiskName, L"\\??\\%c:", szDiskName[0]);    //szDiskName[0]是SD卡的Volume name, 'H'、'j’、'K'等
        hDevice = CreateFile( szDiskName,
                                                GENERIC_WRITE,
                                                FILE_SHARE_READ | FILE_SHARE_WRITE,
                                                NULL,
                                                OPEN_EXISTING,
                                                FILE_ATTRIBUTE_NORMAL,
                                                NULL);


如果以如下形式打开SD卡,则1KB都写不进去。GetLastError()也是返回0x5。
        wsprintf( szDiskNum, TEXT("\\\\.\\PhysicalDrive%d"), stVolumeData.Extents[0].DiskNumber);
        hDevice = CreateFile(szDiskNum,
                                GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE,
                                NULL, OPEN_EXISTING, 0 , NULL);


我想问一下,用哪个函数或什么方法 可以将较大的文件烧写到SD卡? 网上找不到答案,头很大。
回复

使用道具 举报

2

主题

9

帖子

12

积分

 楼主| 发表于 2016-1-8 11:29:48 | 显示全部楼层
搞定,哈哈。。原来要把SD卡前512Bytes写乱,然后怎么写都行了,写多大也都行。
点评回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-12-24 22:59

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表