利用arduino给PCB800099液晶驱动板烧录程序

某宝上购买了一块PCB800099液晶驱动板, 卖家出货的时候刷的驱动不对,遂需要重新烧录程序

可是苦于没有编程器,寻遍网络后找到几种解决方案: arduino刷,树莓派I2C口刷,linux下用vga口刷,并口线刷,拆EEPROM刷

正好arduino在手边,于是就先测试这个方法吧, 大致流程就是利用arduino的I2C口和驱动板通信, 然后利用SPI口上传或下载驱动文件到驱动板

先把硬件搭起来吧, 手上没有SD卡模块,正好利用一个坏掉的读卡器直接做个吧,TF卡8个脚只用到中间6个,成品如下:

利用arduino给PCB800099液晶驱动板烧录程序

然后按照如下接线方式连接到arduino uno

利用arduino给PCB800099液晶驱动板烧录程序

直接用示例测试SD卡读写没问题了, 下边该连接驱动板, 连接如下图:

利用arduino给PCB800099液晶驱动板烧录程序

硬件就位,该上程序了,项目地址:https://github.com/adafruit/Adafruit_RTD266X_I2CFlasher

编译调试过程中出现各种奇怪的问题,比如串口只输出2个字符就停止运行了, 不停重启, 打开文件失败...

最终找出问题原因所在是运行内存空间太小, 解决办法是注释掉rtd266X_main.cpp文件中FlashDevices数组以节省大量运存

可以运行成功后再取消注释相应的Jedec ID项, 如果没有对应芯片数据,查datasheet手动添加相应的数据

运行后有可能会出现Can not handle this chip提示, 添加相应的代码进去可以解决

现在终于可以愉快的刷程序了, 记得驱动板也要上电

其它的方法就不测试了...附其它方式地址:https://github.com/ghent360/RTD-2660-Programmer

上一篇:iOS多线程GCD的简单使用


下一篇:【STM32】无法下载程序