价格合理,2块钱一个不包邮,直接买了N个。。。算了一下一个3.5,然后拿到群去炫耀了下,结果被群友A了一些。进入正题,拆解它:
这款该当是算最好拆解的标价签了,而且可以直接无损的安装还原回去。
先看看屏幕的型号:E029A01
这款屏幕的型号无论是微雪还是干草干不干,半塘睡不醒,或是撒垃圾车大佬的固件都有适配,以是这次海鲜市场逛值了。
再来看看主板:
哇塞,是瑞萨的DA14585耶,这款芯片是很盛行BLE蓝牙,小米手环也用这个来做主控,其他大厂也都用,以是资料上该当还可以,先去下载了下他的数据手册,打开手册看看:
里面有这两引脚,看来可以入侵了,由于手头没好用的JLINK,以是买了个JLINK-OB和TTL:
等它们的同时先用万用表测下板子上的几个金属触点跟芯片的关系,这个就直接上图和数据了:
DA14585芯片调试利用干系口:
TP4 → RSTTP2&TP10 → GNDTP8 → P0_5 (RX)TP7 → P0_4 (TX)TP1&TP9 → VBAT 3VTP3 → VDDTP6 → SWDIOTP5 → SWCLK墨水屏接口:
BUSY → P2_0RST → P0_7DC → P0_5CS → P2_1SDI → P0_6SCK → P0_0PED_POWER → P2_3闪灯IO口:
D1 → P2_5OK,这时候JLINK-OB也到了,我们把它接上:
然后上软件,基本上我就用这个3个
smartsnippets_toolbox_v5.0.10.2434_windowsKeil 5.36UartAssist.exe安装好 Keil和smartsnippets_toolbox后,须要把商家给的JLINK-OB的PJ工具给复制到对应的目录;商家会给你几个文件更换破解,然后我们用everything大法来找到这几个文件更换,只要更换SmartSnippets Toolbox v5.0.10和KEIL的安装目录下的就可以了,路径下面图:
TTL后面用的少,由于JLINK-OB可以承接所有事情,以是TTL只是用来看调试信息输出日志。我们先打开DA的 SmartSnippets Toolbox v5.0.10 工具,然后接上JLINK-OB+上面的玄色价签板子,须要焊接好线。
点击NEW
输入名称,随便都可以,然后点SAVE
勾选下JTAG的那个ID 123456和芯片DA14585-00,然后点击OPEN
进入后蓝色的日志解释没啥问题,然后再点击1后点击2,查看OTP表
OTP表实在之前在看数据手册和其他教程的时候对它有误解,以是我们先点2看看
此时OTP表还是没有被加载,须要点击下connect,于是点了下,见证奇鸡的时候了。
完美,日志还是蓝色的,如果有涌现赤色的日志,有办法的,不慌,一种是用黄色的REST线去碰下赤色的VCC线,让他REST下,由于他是高电平复位,以是碰个一两秒三秒啥的,然后再断开JLINK-OB,重新插电,基本上就可以了。
或者可以先不拔掉,先REST下3秒,然后再点connect试试,我基本上都这么试过都可以,然后确实实在弗成的话,检测下线的问题,杜邦线插多次就会萎了,换下就好了,还有便是JLINK-OB,我买的这个JLINK-OB居然GND虚焊,导致我每次一动下GND那个线PC就会不断的发出USB拔插掉线上线的声音,以是你们看到的我的JLINK-OB是裸的,实在TB买回来是有热缩管套的。。。以是呢,我就把它热缩管脱掉,拆看了下,GND那边是被虚焊了,自己补一下,现在稳稳的,都不赤色报警日志了。
连续之前的,点击了CONNECT之后,可以看到,OTP是被写过的(第一二行显示YES),这时候是不是有种蓝瘦喷鼻香菇的觉得?觉得买亏了?
再点下Read From memory 看看有没有奇鸡发生
当。。。嘎了!
OTP还是显示 YES,如果没有被OTP的话,该当是显示NO
于是乎又上了海鲜市场搞了一些没有OTP的板子(想把没有OTP的吹下来,焊接更换掉这个有OTP的DA14585芯片的板子上),订单已下,老板人好,是个墨水屏常年玩家,见告我,实在就算OTP了也可以用的。。。纳里???
不过做人还是要厚道点,单我买了,交点学费了吧。以是等没被OTP板子到的时候,我又开始了研究,结合老哥给的资料和信息我来重新对OTP认识下;
实在OTP这部分,得看厂家的人品了,OTP的意思是一次性的写入,写后就不能变动了,以是英文翻译过来是一次编程one time program,但是这么好的芯片不至于设计成这样吧?以是DA14585这里有供应了一个小技巧(二次启动);便是如果你不想让别人再用的话,就把程序编写好后天生二进制直接写入OTP,也便是在OTP里面写你自己的APP,启动的时候(一次启动)就直接加载启动到OTP里了。
但是如果你想再次利用做开拓的话,就不能直接把APP写在OTP里了,那怎么办?那就在OTP里面烧个二次启动BOOT的程序呀,这个二次BOOT结合外部SPI-Flash进行启动,程序APP可以烧到外部SPI-Flash里(以是可以多次刷写APP到SPI里),但是二次启动的BOOT已经固化到OTP里了;也便是说,OTP里面如果烧录的是二次BOOT的话,那就可以多次利用了,那这个芯片你就连续可以玩,不怕被OTP的限定无法利用。以是捡漏OTP的大致流程是(右边的流程才捡漏哈):
以是我上面为啥说OTP这部分,得看厂家的人品了;
以是对OTP的理解,实在便是取决于买到的芯片里面的OTP装了啥程序,如果是二次BOOT的程序你就愉快了,如果是正常的APP程序,你就买嘎了。然而二次BOOT程序厂家一样平常也都是直接去DA官方下SDK编或者直接有官方编好的HEX的文件拿来用了,基本上都是官方标准的代码,以是大家也可以去下载瑞萨的DA14585X的SDK看,里面有二次BOOT的代码。以是,怎么说呢,如何判断OTP里面是不是写了二次BOOT还是APP,这个本人也暂时无法识别,有知道的老哥哥们教我下,感谢!
然后我们连续,既然流程图上是说OTP如果被刷入二次BOOT的话SPI-FLASH该当刷的是APP,以是我们写个APP,烧到SPI-FLASH看看不就可以了?OK,开始前,我们先看看SPI-FLASH是否可以读取,点击赤色框,进入SPI-FLASH界面
Connect成功
然后读取32K看看,点击 Read 32kb按钮
看来这个地方可以被读取的,也可以被擦除的,以是我们先开始写个闪灯的代码吧。
这个板子实在还可以用来做开拓板,由于板子上预留了一个LED灯的空焊接,这个测了下,是跟芯片的P2_5引脚相通,那么就可以闪灯走起来。
先看下板子比拟图,一个是我没焊接灯的,一个是我焊接了灯的,那边我加了个600欧的R4, LED用了0603的以前的料子焊接到D1,上板子是我焊好的,下面图是原来的没有焊R4和D1的比拟。
OK,先辞官网或者其他渠道下载DA的SDK,我用的是SDK_6.0.18.1182.1,里面自带blink工程,路径参考图片下面的文件路径:
闪灯代码
这里我们要修正一下了,由于要闪灯,以是引脚要对得上,先看看代码里面的 LED_PORT和 LED_PIN是多少。
好家伙是1和0,那么就跟我们的P2_5对不上了,代码中的Port 便是P 下划线5便是PIN,以是P2_5对应的代码便是 GPIO_PORT_2 和 GPIO_PIN_5,改它!
顺便看下上面的串口P0_4,这个跟我们玄色板子对得上,以是不须要改。
选一下工程DA14585,点Rebuild
很快就构建完成了,基本上没有报错,妥妥的天生了bin文件。
然后我们进行DEBUG看看,灯闪不闪,前辈行JLINK设置
点击邪术棒-切换到DEBUG标签页面USE选择JLINK,然后点击Settings
如果你有插着JLINK-OB并且更换好商家给的那几个DLL和EXE的话,这里就会显示这些信息:
都不用动,点击确定就好,表面的那个点击OK就好。然后我们开始点DEBUG按钮
到汇编这个页面不用管,直接按F5
按F5后
完美成功闪亮。
本节我们就只是熟习开拓环境,点灯,感兴趣的同学关注下等待我们下一节的更新。
关于墨水屏的学习,希望大家Enjoy,我们一步一步的会进行更多开源好玩儿项目的开源。