高级会员
- 积分
- 569
- 金钱
- 569
- 注册时间
- 2019-10-18
- 在线时间
- 43 小时
|
楼主 |
发表于 2019-12-9 22:42:09
|
显示全部楼层
填坑:
目前已经能够正常使用dd.exe进行二进制文件烧写进sd卡,或者说早就行了,只是上次烧写出现了错误,以为不行,实际这个错误不需要管
步骤如下:
1. 测试用例ledc项目
2. 使用vscode链接本地wsl进行代码编写,当然前提是已经搭建好开发环境
3. 修改imxdownload.c文件,将 构建烧写的shell命令 这一部分全部注释掉,因为不用Linux自带的dd命令了,imxdownload改完后就只剩下一个生成load.imx文件的功能,但是在调用时,依然需要指定块设备,这个地方指定/dev/null就完了,反正也用不到
4. 使用gcc命令编译imxdownload.c文件生成imxdownload可执行文件,并复制到与ledc.bin(话说这个文件应该在下一步中才生成)在同一个目录
5. 在ledc项目文件夹中执行make命令对项目进行编译
6. 执行imxdownload命令进行二进制文件的修改与保存,当然也就没有烧录这回事了,此时会生成一个load.imx文件,即为需要烧录到sd卡中的二进制文件
7. 在wsl的shell环境中执行dd.exe --list(是的,没有看错,直接在Linux的shell中执行Windows的二进制文件,前提是已经下载了dd fow windows并将dd.exe所在目录添加到Windows的环境变量,该环境变量会被wsl识别并读取)列出所有设备,一般sd卡会被识别成removable media设备
8. 执行dd.exe if=load.imx of=\\\\?\\Device\\HarddiskVolume11 命令,需要注意,dd.exe --list中列出的这个路径是windows的格式,所以每个\都需要进行转义,所以每个斜杠前都加一个\,就变成了这个样子
9. 执行后可能会出现一个错误,但是不用管
10. 综上,至少针对led这个示例来说,是可以使用wsl来进行开发并烧录的,只是,可能操作没那么的方便,但是开发起来却比虚拟机要方便多了,至少不会特别卡
|
|