博文

Android HAL 开发 (2)(2012-08-24 10:12:00)

摘要: 在上一篇文章中,我们看到了如何撰写HAL层的用户硬件驱动程序,我们每也知道,最终该代码会被编译成动态链接库提供给service(jni)使用,那么我们下面来看看service(jni)是如何与HAL通信的。
一般service的jni代码位于framework/base/service/jni/中,我们看看mokoid的ledservice是如何实现的:   framework/base/service/jni/com_mokoid_server_LedService.cpp static const JNINativeMethod gMethods[] = { 
   { "_init",      "()Z",  (void *)mokoid_init },  
   { "_set_on",        "(I)Z", (void *)mokoid_setOn },
   { "_set_off",       "(I)Z", (void *)mokoid_setOff },
 };
  int register_mokoid_server_LedService(JNIEnv* env){
     static const char* const kClassName =
         "com/mokoid/server/LedService";
     jclass clazz;
     /* look up the class */
&nb......

阅读全文(1839) | 评论:3

Android HAL 开发 (1)(2012-08-03 16:36:00)

摘要:最近开始看Android的HAL开发方面的东东,发现现在国内研究这个的并不多,来自台湾的Jollen可能是走在Android HAL研究的最前沿,这也和他以前专注做嵌入式linux(openmoko)的工作经历有关,毕竟Android的application开发是基于Java的,而之前Jollen做的更多的还是C/C++开发,因此选择从HAL作为进入Android的shortcut还是很明智的,我以前也主要是做linux kernel以及基于C/C++的app开发,现在转作Android,发现它的HAL比较有意思,也是可以研究的一个很好的方向。 由于自己并没有参加Jollen的HAL整合培训,不过手头有这个培训的材料,以及从 http://code.google.com/p/mokoid/ 下载了mokoid 工程的代码,花了一段时间研究了Android的HAL,也有一些心得,下面总结一下: 首先,Android的HAL是为了一些硬件提供商提出的“保护proprietary”的驱动程序而产生的东东,简而言之,就是为了避开linux kernel的GPL license的束缚。Android把控制硬件的动作都放到了user space中,而再kernel driver里面只有最简单的读写寄存器的操作,而完全去掉了各种功能性的操作(比如控制逻辑等),这些能够体现硬件特性的操作都放到了Android的HAL层,而Android是基于Aparch的license,因此硬件厂商可以只提供二进制代码,所以说Android只是一个开放的平台,并不是一个开源的平台。 然后,Android的HAL的实现需要通过JNI(Java Native Interface),JNI简单来说就是java程序可以调用C/C++写的动态链接库,这样的话,HAL可以使用C/C++语言编写,效率更高。而Android的app可以直接调用.so,也可以通过app->app_manager->service(java)->service(jni)->HAL来调用。第二种方法看上去很复杂,但是更加符合android的框架结构。我这里也着重介绍第二种方法。基本的框架如下所示:    Mokiod......

阅读全文(1580) | 评论:3

Windows CE下流驱动的动态加载(2012-07-24 11:11:00)

摘要:我想很多WinCE的开发人员,尤其是刚入门并且做驱动开发的工程师,都曾碰到这样一个问题,要编写一个外围设备的驱动,拿最简单的GPIO驱动来说,编写驱动本身可能只花了一会儿功夫,可要把编译生成的DLL打包到先前做好的操作系统映像当中,最简单也得MakeImg一下,还要修改BIB文件、注册表文件,以让系统启动的时候就加载该驱动,所有工作都做完了,还得花几分钟下载整个操作系统到内存去运行,这也得要个好几分钟。能力强的人一次成功,不走回头路也就算了。如果驱动编写得有问题,那又得改代码,重新编译,把刚刚所做的事情再做一遍。说出来不怕大家笑话,我刚开始做驱动时就这样,反反复复,半天下来,才调试好一个简单的驱动。而事实上很大一部分时间都浪费在重复操作上。这种调试驱动的方法实在效率太低了。想到Linux下面的驱动调试,多方便!直接INSMOD一下,应用程序就可以调用,出现问题就RMMOD,根本无须来回倒腾操作系统的映像文件。那么,WinCE下难道就没有这么简便的方法嘛?答案是肯定的。
         闲话少说,进入正题。查找EVC的帮助,发现函数ActivateDevice()可用来加载驱动程序。而这个函数的使用是相当简单的。我就不多说了,贴上一段帮助最能说明问题。当然,你也可以用ActivateDeviceEx()。
HANDLE ActivateDevice (
LPCWSTR lpszDevKey,
DWORD dwClientInfo
);
Parameters
lpszDevKey
[in] Pointer to the registry path string of the device's driver key under HKEY_LOCAL_MACHINE. A driver key contains the DLL name, the device prefix, friendly name, and other device information.
dwClientInfo
[in] Data that will be stored ......

阅读全文(1992) | 评论:2

立宇泰最新推出内置3G模块,带有线网口的工业手持终端方案(2012-07-11 16:38:00)

摘要: 立宇泰推出的基于Cortex-A8三星S5PV210处理器的工业平板电脑,是一款专业级的行业手持终端。该终端采用了7.0英寸多点电容屏,搭载Android2.3操作平台,集成了3G通信、GPS导航定位、摄像头拍照/摄像、有线网口等功能,具有非凡的多媒体通信能力,满足用户对通讯的实时性、高带宽,可靠性的要求。产品外观简约时尚,操控智能流畅。 立宇泰不仅为客户开发系统软件、硬件电路,同时还为客户提供外壳设计、修改、开模的一条龙服务,使客户在短时间内,就拿到了完整的新产品,赢得了市场的先机。欢迎洽谈、合作! 方案特色: 1. 采用7.0英寸800×480真彩液晶屏作为显示设备,在阳光下可视,支持多点电容屏,支持手写输入; 2. 外壳防震(也可以支持三防) 3. 带有一个用户自定义接口,引出以太网口  4. 电池容量增大至6000mAh 5. 具备内置3G(EVDO/WCDMA)通信模块,选配电信制式和联通制式,支持随时随地3G上网无局限,和各项手机功能;  6. 包含常规的平板电脑功能 方案系统框架图: 方案样机详细指标: 更多详情请点击:http://www.hzlitai.com.cn/product/Portable/1845.html 欢迎前来洽谈、合作! 单位名称:杭州立宇泰电子有限公司 电    话:0571-88191763 / 88192763  / 88192967   手    机:13073651427 Q    Q: 630452073 邮    箱:lyt_office@yahoo.com.cn 网   址:http://www.......

阅读全文(2054) | 评论:4

驾校学车视频监控,指纹识别计时管理车载终端解决方案(2012-05-29 17:39:00)

摘要: 立宇泰电子根据公安部3月22日发布的关于“公安部:17项措施严格驾驶人教育管理”文件精神,率先推出了具备视频监控和指纹认证等功能的车载驾培系统终端解决方案,完全符合当前的市场需求。目前,该产品已经成功批量应用到车载驾培系统。
    该终端采用Cortex-A8处理器,Android2.3操作系统,7寸电容屏,结合了3g(wcmda、evdo)无线通信、GPS定位、RFID识别技术、IC卡识别功能、指纹采集认证功能、视频拍照摄像监控、语音监听处理等功能,充分实现了驾培过程中的实时监控、培训学时、培训里程、教练员/学员身份区别、GPS定位、SD卡记录备份等多种应用。
    该方案功能强劲、性能可靠、超低功耗,是驾培车辆行业应用的首选。针对本方案,立宇泰不仅为客户提供主板及其他硬件设备,同时还为客户提供外壳设计、修改、开模的一条龙服务,使客户在短时间内,就拿到了完整的新产品,赢得了市场的先机。欢迎洽谈、合作! 方案特点: ①一体化设计:卫星定位、无线传输、图像采集与处理、学时数据采集、IC卡读写、RFID读写、LCD显示和指纹识别于一体,功能丰富; ②高可靠性:坚固耐用,保证产品的耐用性,可承受各种环境下的日常使用,整机通过高低温、老化测试、震动测试; ③功能可定制:可根据客户的实际需要,定制图像采集模块/无线传输模块/指纹识别模块/RFID读写模块等。 方案系统框图: 样机详细指标: 相关成功案例:http://www.hzlitai.com.cn/case/1865.html
更多详情请点击:http://www.hzlitai.com.cn/product/Tablet-PC/1840.html 欢迎前来洽谈、合作! 单位名称:杭州立宇泰电子有限公司 电    话:0571-88191763 / 88192763  / 88192967 &......

阅读全文(2639) | 评论:8

支持RFID读写、条码扫描的专业Android手持终端(2012-05-18 16:07:00)

摘要:    立宇泰推出Android手持终端方案,采用Cortex-A8处理器,Android2.3操作系统,内置3G、GPS、RFID、条码扫描、Wifi蓝牙、CMOS摄像头等。该方案功能强劲、性能可靠、超低功耗,是行业应用的首选。在本方案过去的成功案例中,立宇泰不仅为客户开发系统软件、硬件电路,同时还为客户提供外壳设计、修改、开模的一条龙服务,使客户在短时间内,就拿到了完整的新产品,赢得了市场的先机。欢迎洽谈、合作! 样机详细指标:   产品网址链接:http://www.hzlitai.com.cn/product/Portable/1834.html 方案咨询联系方式:
电话:0571-88191763 / 88192763 
手机:13958125373 / 13073651427
QQ:121519915 / 630452073
邮箱:lyt_office@yahoo.com.cn 
网址:http://www.hzlitai.com.cn/ 公司地址:杭州市拱墅区教工路552号国际服务外包示范基地二楼206-207#

  ......

阅读全文(2102) | 评论:5

立宇泰最新推出手持终端定制方案(2012-03-09 16:20:00)

摘要:      立宇泰推出Android手持终端方案,采用Cortex-A8处理器,Android2.3操作系统,内置3G、GPS、RFID、条码扫描、Wifi蓝牙、CMOS摄像头等。该方案功能强劲、性能可靠、超低功耗,是行业应用的首选,欢迎洽谈、合作!
      样机详细指标:   更多详情请见:http://www.hzlitai.com.cn/product/Portable/MIDPDA.html  ......

阅读全文(1255) | 评论:2

应用于车载驾培系统的车载终端方案(2012-03-05 11:38:00)

摘要:   立宇泰电子提供成熟的车载终端方案,包括WINCE-ARM9系统方案,和Android-A8系统方案。
          目前应用到车载驾培系统,是立宇泰电子的又一个定制成功案例,已经投入批量生产。
WINCE-ARM9系统方案产品介绍如下:      

Android-A8系统升级方案介绍如下:
 
  
更多详情请见:http://www.hzlitai.com.cn/product/Tablet-PC/chezaizhongduan.html......

阅读全文(1488) | 评论:1

立宇泰正式推出ARMSYSV210-CORE核心板(2011-11-21 14:27:00)

摘要:   ARMSYSV210-CORE核心板,采用ARM Cortex-A8三星S5PV210处理器设计,采用10层板工艺,处理器稳定的工作于1G主频之上(DDR2数据和CLK信号达400MHz)。160个引出脚,采用邮票脚方式引出,充分的扩展S5PV210资源的同时,特别适合便携式或对体积要求较高的设备采用。目前这款核心板已经批量应用于平板电脑等产品上。
  
                  
  
  硬件资源:
  CPU:Samsung S5PV210处理器,ARM Cortex-A8内核,1GHz系统频率;
  Flash Memory:采用4GB TF ,最大可支持32GB容量;
  DDR2:512MB DDR2 SRAM内存,数据和CLK信号400MHz;
  时钟晶振:24MHz系统外部时钟源;32.768KHz的RTC时钟源;27MHz的HDMI时钟源;24MHz的USB OTG时钟源;
  核心板接口:采用邮票脚的方式,结构紧凑,适用面广,可用于手持设备等对空间要求比较高的场合;
  要求输入电压:3.3V、1.1V、5V(或3.3~4.2V)。
  
  尺寸规格:
  
  
  
  长x 宽x 高度:50X50X2.8 单位:mm
  
  
  
  更多详情请见立宇泰官方网站:http://www.hzlitai.com.cn/product/ARM/arm9/ARMSYSV210-CORE.html  ......

阅读全文(1957) | 评论:0

三星6410开发板,来自ARM技术实力最强的立宇泰电子(2011-04-22 09:53:00)

摘要:一、产品简介:
      ARMSYS 6410是一款以三星S3C6410处理器(ARM11内核)为核心的,低功耗、功能强大的开发平台,它提供了丰富和实用的软硬件资源,能够帮助开发人员迅速了解S3C6410处理器及其所带来的新技术,掌握相关软、硬件资源的应用方法,快速地将新型处理器系统应用到实际产品中去。 
      ARMSYS 6410开发板充分展示了三星S3C6410处理器在视频媒体编解码、2D/3D图形加速、显示处理和缩放等方面的性能优势,并提供了LCD接口、TVout接口、摄像头输入接口、4路串口、1路红外口、2路SD卡接口、1路CF卡接口、1路10/100M网口、1路USB2.0-OTG,1路USB Host,具有更高的主频和更丰富外设,能适用于对性能和处理能力有更高要求的嵌入式系统应用场合。
       ARMSYS 6410开发板秉承立宇泰一贯的精良品质,充分展现了三星S3C6410处理器的各项功能,并在设计上着重考虑了实用性和产品化设计,采用结构轻巧紧凑的一体机模式,不仅适合开发和研究的需要,也可以非常容易地集成到用户系统上。 衷心希望立宇泰6410开发板能带给每一位用户优越的性能体验!

二、硬件配置:

   
                                   (器件焊接位置图)

1,CPU:三星S3C6410处理器,ARM1176JZF-S内核,667MHz系统频率稳定工作; 2,Flash Memory:256MB Nand Flash,......

阅读全文(1856) | 评论:3