到新的公司已经快两个月了,新的工作主要方向是Linux驱动移植和Android系统定制。由于项目还在立项的阶段,并没有分配具体的工作任务,所以找来一个Linux的开发板先玩一玩。它采用的处理器NUC972DF62Y是新唐公司(原*华邦)出品的ARM926内核工业级SOC,在QFP216的封装内集成了64MB DDR2,可以稳定运行在300MHz,其片上外设资源极其丰富,主要有摄像头接口、JPEG编解码器、LCD控制器(最大1024×768)、以太网控制器、CAN控制器、音频I2S、NAND控制器、USB 2.0HS Device/ Host、SD/MMC/SDIO/SDHC控制器、11xUART、PWM、SPI、I2C、RTC、ADC。其中11个串口是迄今为止看到的最逆天的一个配置,在串口外设较多的工控设备和物联网的网关设备上可以考虑选择使用。
之前在做WinCE开发时形成了一个习惯,做一些工具软件以提高开发和调试的工作效率,具体参见《WinCE常用调试工具汇总》,其中罗列的是通用的工具软件,可在WinCE5.0、6.0的ARM平台上运行。还有一些是与硬件平台或者外设芯片密切相关的非通用调试工具,具体参见《WinCE非通用调试工具汇总》。正所谓磨刀不误砍柴工,这一系列的工具大大的提高了工作效率。现在转做Linux开发,必须保持这个好的习惯。实际上,Linux下的调试工具已经非常多,想要的基本都有了,不必再自造*。这一个多月,先在NUC972开发板上移植了busybox、i2c-tools-3.1.2、ntp428p7、getevent、evtest和lrzsz-0.12.20等工具,后来又在RK3188的Android4.4.2平台上做了一些验证。实践证明,使用arm-none-linux-gnueabi-gcc(4.8.3)编译出来的bin文件,既可以在NUC972的Linux-3.10上运行,也可以在RK3188的Android4.4.2上跑。
工欲善其事必先利其器,后面将不断整理Linux开发和调试相关的工具软件,争取需要时拿来就能用,利己利人。