自2003年开始入手samsung的arm7 s3c44b0开始进入嵌入式的行业,在上面玩过裸机程序,移植过u-boot,uClinux,rt-thread等等 之后,做s3c2410+wince linux以及其他很多硬件平台的产品。以下按硬件平台归类下这些年玩过的嵌入式软硬件。 S3c44b0: 这个是学生时代跟着导师学习嵌入式的东西开始弄的,老板只会画板子和做51单片机的程序,那会儿2002,2003年arm7刚好兴起,就买了块优龙的s3c44b0开发板,在上面跑各种外设,iic,gpio,sdi,rtl8019,黑白屏,audio,等等 S3c2410: 这是临近毕业后,在北京实习期间玩的平台主要是将一个银行的排队机系统从之前的linux迁移到wince 4.2 在上面做了网卡cs8900(后来换到了dm9000),ps2的接口(ps2由板上的一个51单片机来对接,和s3c2410之间通过总线接口连接,s3c2410这边通过修改一个键盘驱动来做物理按键和wince能识别的键盘码映射),7寸的屏幕,usb host 等 后面04,05几年里,陆续有一些s3c2410上的小活如linux下驱动当时比较火的marvel的wifi芯片8686,还有一个用s3c2410来做的pda 用在了停车场系统里面。 S3c2440: S3c2410之后,没过多久samsung出了s3c2440来替代,在这个平台上分别做了pda(wince5.0/6.0 带3g,rfid,wifi,蓝牙,oled屏幕,键盘,触摸屏,扩展4路串口,红外,audio,包含电源管理,支持睡眠唤醒,注册表掉电保存等),同时银行的之前s3c2410的平台也升级到了s3c2440(支持wifi,扩展串口,audio等) 另外一个应用在s3c2440上的工业级产品是矿车无线遥控系统,包含手柄单元和车载单元。这个产品共开发了两年之久,用在矿石挖掘上。工人站在100米的范围内通过手柄单元遥控矿车在矿石炸裂的位置采矿,从而减少了人员的安全事故。手柄和车载单元都是由s3c2440来做主控,两个单元之间通过gspi8686这棵wifi芯片来通讯,手柄这边通过采集前进,后退,左转,右转四个方向的ad模拟量,进而转化为数字量,合成出来西北角,东南角,西南角,东北角在内的8个方位还有一些io数字量(如刹车,离合,)进而发送给车载单元,然后通过pwm控制输出来驱动矿车的方向,制动,刹车,油门(通过手柄移动的幅度)等 软件系统采用的是linux系统,支持web页面来配置一些参数。 这个平台其他的一小活主要是移植linux和wince上的wifi驱动,调试csr的蓝牙芯片,使其支持在wince平台上蓝牙的语音可以直接在板子上的wolfson的codec芯片上播放出来,以及板卡上的语音可以播放到蓝牙那边,这个主要是利用到了经典的蓝牙voice profile,和windows mobile上的蓝牙拨打电话一个道理,只不过语音通道没有切换到3g模块,而是本地播放了。 Ep9315,Au1200: 广东深圳的一个做广告*的客户,那会儿大概是07,08年的样子,提出来用ep9315来做,开发的一段时间,发现上面没有OSD的屏幕叠加功能,这对广告*来说是很重要的一个feature,那时候具备OSD功能的arm平台还是很少的。后来改用AU1200,这个芯片支持osd,几乎是全屏幕叠加。也支持各种多媒体格式文件的解码,支持在背景播放视频的过程中在另外一个显示层上半透明叠加出字幕提示,广告,以及动画等,除了功耗有点高,其他都很好。 Omap730/750/850,pxa270,pxa310: 这几个平台是早期做windows mobile phone的经典平台,那时候台湾的多普达,htc,国内的如联想,国外的惠普等 大多采用这些平台来搭配windows mobile 5.0/6.0/6.5等,主要在07,08年左右。我在里面负责wifi,bt,gps,fm,键盘,audio,lcd,touch等驱动的开发和多语言版本的定制工作。 Stm32: 从08/09年开始接触单片机,第一个项目是用这个做一个手持式gps,用于野外登山,巡山等。主要就是stm32+gps模块,还有一些其他的传感器模块。当时是裸机跑的软件,while循环加中断这样的前后台服务。 Am3359: 在这个平台上做了一个wince7的网络检测系统,支持光纤接口,千兆网卡,网络线路检测,7寸lvds屏,触摸屏,usb host,otg,电源管理等。用在航母上的网络布线检测,于2013年投入使用。 Am3517/dm3730: 为广东东莞的一位客户定制的机床控制系统,wince6操作系统,am3517或者dm3730外接一个cmx312/cmx314运动控制芯片,来驱动外部的电机运转。板卡上外部支持spi flash,ad,da模块等 Imx21/imx27/imx31 这几个飞思卡尔的平台都是跑的wince系统,其中imx21是为北京亦庄的GE通用医疗开发的一款通用医用手持仪,通过网线将各种医疗器械的参数读回检修,以及校准。内部测试功能等。 mx27/i.mx31是为广东深圳的一位做电话会议系统的客户定制的,支持voip语音的解析播放,音频采集。按照sip协议传输出去,类似现在常用的宝利通的电话会议三角盒子。 Imx28 用这个平台,主要考虑到其成本便宜,也是工业级的平台,目前周立功的板卡只要49元就可以购得。用来为北京的客户做一个空气参数采集仪,支持采集pm2.5,一氧化碳,二氧化碳,甲醛,温湿度,气压,噪声,等多种空气参数,通过usb接口的wifi模块或者gprs模块将采集的数据首先本地保存,然后定时发送给后台的云服务器。同时支持服务器的数据补发,对时,用户信息显示,wifi配置,gprs配置,网络通信状态,历史曲线,历史详细数据回看等功能。 S3c6410: 这个平台用来给沈阳的一位客户定制的巡山或者定界手持仪,其功能主要是点检员拿着仪器在野外划定如山界,地界,田园的尺寸。软件平台是windows mobile 6.1 , 支持wifi,cdma,gps,触摸屏,睡眠唤醒,拍照等功能 S5p4418: 采购的开发好的硬件平台,上面跑的是android 4.4.2 ,主要是开发了一款水质采集软件,将各个探头传感器采集到的水质参数汇总后,按照出水口的形状(如梯形,矩形,圆形等)并计算平均量,组包,拍摄当时的地理位置,然后通过3g模块发送给后台云服务器。 网络透传模块: 采用单片机开发的单片网络透传模块,内含tcp/ip ipv4/ipv6协议,芯片内包括mac和phy部分,外部只需要一个电压转换器即可工作。支持4路串口接口的socket传输,一路usb接口,一路并口接口,支持ipv4/ipv6,client/server,tcp/udp各种组合配置。稳定性高,其中并口的实测转发速度达到4MBytes/s以上 Imx6q /i.mx6 solox Imx6q跑的是android 4.4.3 主要帮河北的一位客户,移植ap6472上的wifi ,bt,gps,fm功能。这个产品用在车载多媒体中控上。 Imx6 solox是飞思卡尔在21ic上外包的一个项目,有幸被选中移植ucOSIII到solox上的Cortex M4内核上。 以上项目都是在业余时间兼职所作,虽然现在已经在从事android上的偏上层软件开发了,但是一直对电子和物理网比较有兴趣,所以欢迎各位有外包需求的朋友来联系。本人这10来年正规工作中主要从事过windows mobile手机系统的驱动开发,tdscdma的at命令模块的开发,上网本的开发,st爱立信意法半导体的fae支持(主要是android平台下的各种外设驱动模块的支持),现在主要做android系统上的上层行业业务开发,以及几家兼职公司的之前开发过的产品的维护工作。 联系方式: 北京朝阳区 QQ 740721436 手机 18311325478
|