- 博客(16)
- 资源 (6)
- 收藏
- 关注
转载 浅谈WinCE快速启动的几种方法
优化BOOT,提高BOOT运行时的工作频率。在一些平台上BOOT启动时,MCU并没有全速运行。这是可以尝试的一种方法,并能提高读取内核映像的速度。但如果BOOT已经全速运行,那可以看看是否可以再精简一些,总之是想尽一切办法,让它以最快的速度启动并加载内核到内存,然后将控制权交给内核。另外,在一些系统中会增加启动进度显示。如果要实现快速启动,并且系统能在5s内起来,进度条可以省了,因为本身它也会占用
2012-11-30 11:13:09 621
转载 WinCE自启动Shell的问题
WinCE开机即运行定制的Shell是很多系统的基本要求,有时还需要屏蔽WinCE自带的Shell。WinCE中程序的自启动,一般有两个实现方法,修改注册表和添加自启动快捷方式。修改注册表比较方便,如下: [HKEY_LOCAL_MACHINE\init] "Launch70"="MyApp.exe" "Depend70"=hex:14,0
2012-11-30 10:58:19 477
转载 WinCE键盘驱动
举个例子,标准的美国英语键盘的数字键SHIFT+2输出符号@,你想改成欧元符号该怎么做?或者你想做一个法语键盘,又该怎么做?又或者你想基于同样的键盘硬件设计,软件上同时支持英语、法语、俄语layout,又该怎么弄?在WinCE上,从键盘驱动的角度看,键盘驱动对按键动作的响应过程大约可描述为:按键产生中断 键盘驱动读取按键的scan code 键盘驱动把scan code映射成vir
2012-11-29 17:29:08 711
转载 WinCE6.0驱动移植
[设备管理器]设备管理代码在private\winceos\coreos\device\目录.看看设备管理器的入口点devmain.c. 在WinCE5.0时代, 设备管理器是作为一个进程来实现的:devece.exe. 所以里面就是一个入口函数WinMain()调用StartDeviceManager()函数.再看WinCE6.0, devmain.c多出来了DevMainEntry()
2012-11-29 17:08:32 1410
转载 WINCE下内核模式和用户模式的区别
1、 WINCE内核nk.exe的任务是管理操作系统核心功能。按照OEMAddressTable的映射要求,所有物理地址都映射到0x80000000以上,所以对于内核程序nk.exe和内核模式下的线程来说,只要访问0x80000000以上的有效虚拟地址经MMU就能够访问物理地址,无需再映射是内核模式的一个特点。内核模式的第二个特点是没有地址访问限制,内核模式线程可以访问任何有效虚拟地址,所谓有效虚
2012-11-29 16:53:36 1058
原创 Windows CE内存管理
Windows CE 有着很多不同内存的分配方法。 上图显示了所有的内存分配方式,在我刚开始学习的时候,也不是很明白为什么有着这么多种的分配方式。其实就一句话:越往下面的内存分配方式效率越高,但是应用的复杂度也就越高。 虚拟内存分配可以用以下方法来实现:分配函数: LPVOID VirtualAlloc(LPVOID, DWORD, DWORD,DWO
2012-11-29 16:48:44 498
转载 OEMAddressTable介绍
一般在ARM架构的CPU上,物理地址都是统一编址的,寻址空间为4GB(32Bit CPU)。也就是说,针对一个ARM的处理器,它可以访问的物理空间是4GB。在WinCE中,ARM中的4GB物理地址空间将被映射为512MB的虚拟内存空间。 OEMAddressTable就是一个4GB物理地址空间到WinCE Kernel中的512MB虚拟地址空间的映射表。在BSP中,会定义OEMAddressT
2012-11-29 16:44:46 619
转载 WinCE BSP的BIB文件介绍
在WinCE中使用的一个重要的文件就是BIB文件,全称Binary Image Builder File。在WinCE的编译过程中会用到BIB文件,应该是在最后的Makeimg阶段。所有的BIB文件会被合并成CE.bib文件,然后Romimage.exe会根据BIB文件中的描述来决定哪些文件最终被包含到WinCE image中。当然,BIB文件还决定了WinCE设备内存的分配,其中定义了WinCE
2012-11-29 16:21:45 556
转载 分析智能卡的ATR格式
一些例子NXP 080=========3b f8 T0 Y1 = 0xF(TA1, TB1, TC1, TD1), K = 813 TA1 F = 0x1(Fi = 372, Fmax = 5MHz), D = 0x3(Di = 4)00 TB1 deprecated00 TC1 N = 0, extra guard time integer81 TD1 Y2 =
2012-11-23 09:31:07 10371 1
转载 Android GPS架构分析
看Android的GPS模块有两个月了吧,终于可以写点东西出来。首先来看看GPS模块的代码结构:Framework:1.frameworks/base/location/java/android/location这里主要是用来被App调用的,API包是android.location。2.frameworks/base/location/java/com/android/i
2012-11-09 12:56:46 7261
转载 Android gps数据上报(基于gps_quem.c)
在网上找了好久关于这方面的东西,可都是介绍启动的,现在我把我理解的其数据上报的流程写下来,以作记录:(主要基于gps_qemu.c的数据上报)hardware/libhardware_legacy/gps/gps_qemu.c(HAL层)数据从串口传上来主要是通过函数static void* gps_state_thread( void* arg )接收,并解析上报给androi
2012-11-09 12:54:22 1551
原创 GPS 研究(Android2.3)
(红字表示2.3的变化)Framework:1.frameworks/base/location/java/android/location这里主要是用来被App调用的,API包是android.location。2.frameworks/base/location/java/com/android/internal/location这个目录是Framework对L
2012-11-09 12:51:55 2263
原创 ubuntu10.04下android adb工具的安装详解
1、打开shell终端输入:lsusb查看usbid:Bus 002 Device 002: ID 0e0f:0002 VMware, Inc. Virtual USB HubBus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hubBus 001 Device 002: ID 18d1:4e22 Bus 00
2012-11-07 14:09:20 4476
原创 vmware下 ubuntu10.04与WinXp共享文件夹hgfs为空的解决办法
在安装完虚拟机工具后/mnt/hgfs目录挂载成功,可是在vm中添加了共享文件夹后hgfs依然为空,在网上搜了下,解决方法如下:1.sudo apt-get install open-vm-dkms2.sudo mount -t vmhgfs .host:/ /mnt/hgfs然后在hgfs目录下就能成功看到共享的文件了或者创建一个shell文件
2012-11-06 19:31:57 625
转载 porting gps to android2.3
最近刚好有机会移植一款GPS到我们的产品上,就GPS模块移植本身而言,是很简单的。做过WINCE 或PC开发GPS的朋友肯定很清楚了,无非就是把GPS的标准数据从串口读出来,然后解析,应用程序获取其中经纬度,定位时间等信息,根据自己的需求或转化成地图上具体地点,或做其它使用。 先来说说一般的硬GPS,其优点不言而喻,相对“基站定位”,其精度要高很多,特别是在基站信号差的地方。缺点是
2012-11-01 17:36:11 771
转载 Linux中断处理流程
看了一些网络上关于linux中断实现的文章,感觉有一些写的非常好,在这里首先感谢他们的无私付出,然后也想再补充自己对一些问题的理解。先从函数注册引出问题吧。一、中断注册方法在linux内核中用于申请中断的函数是request_irq(),函数原型在Kernel/irq/manage.c中定义:int request_irq(unsigned int irq, irq_handler_t
2012-11-01 09:31:28 1062
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人