| 
 
贡献34 
飞刀1 FD
注册时间2015-11-3
在线时间2 小时积分12 
 
 扫一扫,手机访问本帖  | 
 
| 本人在学习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卡? 网上找不到答案,头很大。
 
 | 
 |