贴片式SD卡(SD NAND)因直接焊接在PCB上无法插拔,烧录程序需通过电路板上的接口间接操作。以下是五种主流烧录方法及其详细步骤,根据开发阶段和设备支持选择:
原理:通过主控芯片的调试接口(如USB OTG、JTAG)将贴片SD卡虚拟成U盘,再用工具写入镜像。
适用场景:全志、瑞芯微等支持FEL/USB启动模式的SoC。
步骤:
硬件配置:
将SDIO时钟引脚(CLK)通过开关下拉到GND,强制进入FEL模式。
连接开发板的USB OTG接口到电脑。
工具链操作:
使用 sunxi-fel
工具启动临时Linux系统:
sunxi-fel uboot u-boot-sunxi-with-spl.bin
执行后贴片SD卡被映射为U盘(如 /dev/sdb
)。
镜像写入:
Windows:用 Win32DiskImager
将系统镜像(如 .img
)写入虚拟U盘1。
Linux:用 dd
命令:
dd if=system.img of=/dev/sdb bs=4M conv=fsync
注意事项:
需确保主控支持USB Mass Storage驱动。
烧录时断开主控电源,仅对SD卡供电以防干扰
原理:通过外接SD卡槽或夹具,将数据从外置SD卡拷贝到贴片SD卡。
步骤:
硬件连接:
使用专用夹具(如AC608核心板夹具)连接外置SD卡和板载贴片SD卡。
烧录固件:
初始化 → 数据写入 → 校验(通过LED状态指示)。
将待烧录的镜像(如 rootfs.img
)放入外置SD卡。
运行裸机程序(如 WR_Board_SDCard.elf
),触发拷贝流程:
验证:
三颗LED全亮表示烧录成功。
适用场景:量产环境或无法直接调试的封闭设备
原理:制作启动SD卡,引导开发板启动后自动烧写贴片SD卡。
步骤:
制作启动SD卡:
用工具(如 PhoenixCard
或 Etcher
)将包含Uboot和烧写脚本的镜像写入SD卡。
配置启动文件(如 EmbedSky.ini
):
operating condition=install OS Type=Linux rootfs=images/rootfs.tar.bz2 # 指定文件系统路径:cite[4]
触发烧写:
插入启动SD卡,设置板卡为SD启动模式。
上电后自动执行脚本,将镜像写入贴片SD卡。
切换启动模式:
烧录完成后拔卡,改为贴片SD卡启动验证。
优势:无需电脑参与,适合产线自动化
原理:通过卡量产工具(如PhoenixCard)将固件包写入贴片SD卡,设备上电后自动解密并烧入NAND。
步骤:
固件包制作:
将系统镜像打包为量产专用文件(如 .img
)。
烧录到SD卡:
用PhoenixCard选择固件和贴片SD卡对应盘符,勾选数据校验(Check Data)后点击Burn。
设备端量产:
插入烧好的SD卡,设备上电后自动解压固件并写入贴片SD卡,进度条走完即完成。
注意:量产卡需专用格式,普通格式化会失效。
原理:通过U-Boot命令行直接读写贴片SD卡扇区。
步骤:
进入U-Boot:
串口连接开发板,上电按任意键中断启动。
烧写镜像:
初始化SD卡:
mmc dev 0 # 选择贴片SD卡
擦除并写入(如烧写Uboot):
fatload mmc 1:1 ${loadaddr} u-boot.bin # 从外置SD卡加载文件 mmc write ${loadaddr} 0x800 0x2000 # 写入贴片SD卡指定扇区:cite[9]
分区烧写示例:
内核:写入到偏移 0x2000
扇区
文件系统:解压到指定分区:
ext4write mmc 0:2 ${rootaddr} / 0x1000
关键点:需精确计算镜像的扇区偏移(参考芯片手册)
场景 | 推荐方法 | 工具 | 复杂度 |
---|---|---|---|
开发调试 | 直接烧录法 | sunxi-fel + dd | ★★☆ |
无调试接口 | 外挂SD卡中转法 | 专用夹具 + 裸机程序 | ★★★ |
量产环境 | 开发板辅助/量产工具 | PhoenixCard/启动SD卡 | ★★☆ |
U-Boot手动操作 | U-Boot命令法 | 串口终端 + U-Boot命令 | ★★★★ |
电源隔离:烧录时断开主控供电,避免信号冲突。
镜像适配:
贴片SD卡需专用镜像(含坏块管理固件),普通SD卡镜像可能不兼容。
工业级可靠性:
选用SLC晶圆型号(如CS创世SD NAND),支持10万次擦写1。
静电防护:操作时佩戴防静电手环,避免焊接点损坏。
实际烧录需结合具体主控型号调整流程。若需全志/Rockchip等平台详细脚本,可提供芯片型号进一步解析。
芯存者提供人工烧录器和机器烧录2种,帮你提高烧录效率,烧录电话17665390767。
上一篇:贴片式sd卡是什么