LarduinoISP for LGT8FX8D不能对LGT8F328P使用,除了SWDID不同,参考其文档,Flash一个是16位一个32位,程序不通用.目前官方暂无公开实现,这里发一个在LGT8F328P-SSOP20实现读写LGT8F328P系列的LarduinoISP的HEX文件及使用说明. (追加:官方已开放实现代码https://github.com/LGTMCU/LarduinoISP )
硬件准备
此处SSOP20所用的bootloader为前面文章所提到的非官方的修改版(通信波特率修改为115200,增加SSOP20的支持),写入ISP前请确认BOOTLOADER是否为此修改版:https://github.com/nicechao/Larduino_HSP
-
准备一个刷有arduino bootloader的LGT8F328P-SSOP20最小板,(如果是空片的话,则可以用SWD调试器来写入程序)
-
- 如果是带bootloader的,用命令
avrdude -C/etc/avrdude.conf -v -patmega328p -carduino -P/dev/ttyUSB0 -b115200 -D -Uflash:w:LarduinoISP_F328PS20.hex:i
来写入,某些参数可自行修改以适用. - 如果是用小白盒的话,用
avrdude -C/etc/avrdude.conf -v -patmega328p -cjtag2isp -Pusb -Uflash:w:LarduinoISP_F328PS20.hex:i
命令来写入.
- 如果是带bootloader的,用命令
-
刷入完成后,断开板上的RST与串口芯片DTR的连接,避免进入内置的arduino bootloader程序.
硬件连接
PB5
-> SWC
PB4
-> SWD
PB1
-> RST
使用方法
- Arduino IDE中如需用到菜单里的烧录引导程序或使用编程器上传,需要在工具里选择编程器为
AVR ISP
,即可使用IDE中的烧录引导程序
和使用编程器上传
两项菜单功能.
- 使用命令行写空芯片时,使用命令
avrdude -C/etc/avrdude.conf -v -patmega328p -cstk500v1 -P/dev/ttyUSB0 -Uflash:w:your_app_lgt8f328p.hex:i