上手GM8126的经历

来源:互联网 发布:喜欢英国的理由 知乎 编辑:程序博客网 时间:2024/04/30 10:21

        最近想做一下视频监控的东西,了解到这行里面主要的方案有TI的达芬奇系列,华为海思,台湾升迈。因为我想做个功能简单点的IPC,想尽量控制价格,所以看上了升迈的GM8126

以前完全没听过这个公司,而且google发现也很少人用。但是详细看了下它的资料,发现性能挺不错的,集成度很高,成本足够低,应该说可能是成本最低的方案了。而且这个片子有LQFP封装,看着官方的Demo板子,无论是LQFP还是BGA封装的都是用4层板搞定,这就让我更加动心了。

        既然动心了就得拿到实物测试测试才行啊。无奈这玩意实在太小众了,玩的人太少,极少卖开发板的,而且那SDK网上卖的也贼贵。问过升迈的代理,说那板子加上SDK5K,想都没想就不了他了。好不容易寻觅到有家卖官方的那个开发板,但是,他卖的是半成品,因为板子还有很多芯片没焊,算下价格,可以接受。于是乎买来板子,再到处找所缺的芯片。无奈是那些可恶的台湾佬啊,板上选用的芯片都是很难买的,特别是那个电源IC,找遍都买不到,还有那个SD卡座。合着一算,SD卡座就先放着吧,至于电源,反正到时都要改方案的了,倒不如现在先试验下呢。于是买了常用的DCDC根据上电时序用块小板搭建了一个。

等终于把板子的器件补齐后,怀着激动万分的心情接上USB线,上电~~~~~

        噢~MG!!!

        电脑居然弹出个悲剧的“不能识别硬件”。唉,天底下的事确实没有这么顺利的,好好查吧。型号芯片是LQFP封装的,引脚信号都能量到,而且因为芯片集成度太高了,板上也没几个芯片,大大方便了我的排查。于是乎,打开原理图,示波器伺候~~~

首先找出IC所有的电源脚,一一测量,还真发现两个问题:一是网络电源部分有个输出2.5V的,但没输出;二是有一个PLL电源虚焊了。当时激动啊,以为找到问题了,网络部分先不用,而且那个脚的输出手册上也没说上电就有输出,没准可能要初始化后才输出。那可能就是那个虚焊问题了。

        又再次怀着激动万分的心情,把虚焊脚搞定,再次插上USB!!!!!靠,还是那讨厌的不能识别。该不会是CPU坏了吧???因为焊接的时候吹的时间挺久。还好当时买了2CPU,于是又兴匆匆的让同事帮忙吧CPU替换下来,检查了下引脚,应该没问题了,再连上USB…我去,还是那个鸟样,唉,已经折腾的无语了,网上资料也少,问人也没得问,甚至连手册都不详细,心灰意冷了,先暂时放下吧。

        就这样这事就放了个把星期,偶然间网上找到一个做升迈方案的哥们,我把具体情况跟他说了下,他当时说有可能是线的问题,他之前遇到过不能识别,把USBD+D-交叉下就好了。USB是差分信号,不可能交叉的呀。但没辙了,死马当活马医吧!之前的那根USB线挺好的,不舍得剪掉,于是找了两个USB头自己焊线。结果不用想还是失败的。不过当时想到了,既然跟PC连那么板子是个设备啊,设备端不能带电的,翻看了下原理图,USB的那个电源控制的ICEN脚是直接接到电源上去的,所以无论这个OTG是作为Host还是Device,都有电输出。发现这个问题后,试着把自己做的那根USB线的电源线断掉,就是用3根线跟PC连,连接好板子和PC后,上电!O!!!MG,“发现新硬件”……

        赶紧打开PC的下载工具,哈哈,能连上了。下载好早已准备好的那几个bin文件后,去掉下载跳线,接上串口,上电……..超级终端上终于见到那亲切的打印输出了!

        系统跑起来后,下一阶段先简单测试下这个平台的硬件性能先。之前稍微扫了下SDK的代码,特别关注了下那个simple_ipc例子,发现很简陋啊,有点失望,如果用这个平台做,软件还有大量的工作。