某宝上购买了一块PCB800099液晶驱动板, 卖家出货的时候刷的驱动不对,遂需要重新烧录程序
可是苦于没有编程器,寻遍网络后找到几种解决方案: arduino刷,树莓派I2C口刷,linux下用vga口刷,并口线刷,拆EEPROM刷
正好arduino在手边,于是就先测试这个方法吧, 大致流程就是利用arduino的I2C口和驱动板通信, 然后利用SPI口上传或下载驱动文件到驱动板
先把硬件搭起来吧, 手上没有SD卡模块,正好利用一个坏掉的读卡器直接做个吧,TF卡8个脚只用到中间6个,成品如下:
然后按照如下接线方式连接到arduino uno
直接用示例测试SD卡读写没问题了, 下边该连接驱动板, 连接如下图:
硬件就位,该上程序了,项目地址: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