SD卡烧录工具如何把bin文件写到SD卡上
本人在学习Uboot,也在尝试写一些裸程序来了解如何操作硬件,如何编写驱动等。现想写一个烧录工具,将我的程序写到SD卡上,然后从SD卡启动。当我以如下形式,打开文件的方式,最大可以写1.5MB到SD卡,然后GetLastError()返回0x5(拒绝访问)。wsprintf(szDiskName, L"\\??\\%c:", szDiskName); //szDiskName是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.DiskNumber);
hDevice = CreateFile(szDiskNum,
GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL, OPEN_EXISTING, 0 , NULL);
我想问一下,用哪个函数或什么方法 可以将较大的文件烧写到SD卡? 网上找不到答案,头很大。
搞定,哈哈。。原来要把SD卡前512Bytes写乱,然后怎么写都行了,写多大也都行。
页:
[1]