Windows子系统烧录程序到SD卡

一、LAP-DD-v.01

1.引言

从WMare转向WSL后,发现dd命令废了,Windows的磁盘挂载方式与Linux系统不一样,WSL也找不到 /dev/sd*,自然也不能通过dd命令烧录到sd卡。不能烧录不了uboot还开发个der,网上找了一圈目前没有看到解决办法。没办法,只能自己动手丰衣足食咯

2.低配版dd工具

为了能够烧录程序到sd卡,只能用C#写一个烧录工具。经过一天努力,大功告成,实现了一个Windows10下简易版dd工具。
在WSL控制台中可以直接调用Windows应用程序,所以还有可用通过脚本达到一键编译烧录的目的。
使用方法:
./WSLDD.exe if=待烧录文件 of=盘符(z:) seek=sd卡扇区 bs=1k(块大小,默认512)
效果如下:

respate:/home/lap_work$ ./WSLDD.exe if=../u-boot.imx of=z: seek=44
inFile:../u-boot.imx
out:z:
SEEK:44
SEEK:44
\\.\z:
\\\.\\PhysicalDrive2
fusing 28.0244140625 Kb  [28697 Bytes]

文件数据如下图:
在这里插入图片描述
烧录后SD卡 44扇区数据如下图:
在这里插入图片描述
由此可见烧录成功!

3.注意说明:

1.参数 if只能是文件,且最好是全路径或在同一文件夹下
2.参数 of只能是盘符 sd对应的盘符,千万不能给错,否则有后果比较严重(还未做优化与容错)
3.seek 偏移量与bs有关 bs=1k,seek=32 时 实际访问的扇区为 seek* bs/512 = 32*2=64扇区
4.这里写入的为绝对物理扇区,通过盘符获取到物理扇区。一张sd卡可以分成多个盘符eg:z f 。可以简单理解 z与f为逻辑盘,扇区也是相对于逻辑盘的偏移。而SD卡就是物理盘,物理扇区就是相当于SD卡的偏移。
5.免责声明:软件源码免费提供,谨慎使用,后果概不负责。

4.源码下载

百度云链接:提取码:6ykr
复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V4的分享)
源码在gitee上面。链接如下:
源码链接: gitee源码

二、LAP-DD-v.02

1.由于本地WSL编译太慢了,刚好我又有远程服务器。于是想着服务器编译后,通过Samba或者挂接NFS直接再本地电脑上烧录,于是就加了界面(WSL调exe执行太慢了)。

在这里插入图片描述

2.更新内容

  1. 添加文件与磁盘容错检查
  2. 添加界面选择文件烧录方式(依然可以在控制台下使用)
  3. 批量烧录功能(可以手动添加烧录项)

3.待完成

暂时未完成 导入配置与导出功能 ,界面缩放功能也没做,暂时能用。

4.源码下载

百度云链接:提取码:6ykr
源码在gitee上面。链接如下:
源码链接: gitee源码

Logo

更多推荐