- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 G-Sensor 8452驱动及相关
8452是一款G-Sensor芯片,采用I2C跟主芯片通讯,采用中断方式跟操作系统协作。通过内部检测XYZ三个方向的加速度,实现各种应用。(1)原理框图如下: 现在来实现在WINCE中的I2C驱动,读写的时序波形图分别如下:读:写:基础写函数实现如下:static P_XLLP_OST_T ost_reg = 0;static XLLP_I
2011-02-24 23:37:00 12408 4
转载 FAT16文件系统格式说明
<br /> 本文回答了什么是FAT16文件系统,并对它进行很好解析。在嵌入式开发中,一般会在flash中建立该文件系统。在很多DOS系统中也用该文件系统。硬盘上的数据按照不同的特点和作用大致可分5部分:MBR区、DBR区、FAT区、DIR区和DATA区。我们来分别介绍一下: (1)MBR区(主引导扇区) <br /> MBR (Main Boot Record),按其字面上的理解即为主引导记录区,位于整个硬盘的0磁道0柱面1扇区。不过,在总共512字节的主引导扇区中,MBR只占用了其中
2011-02-22 23:06:00 2182
转载 mobile的boot loader之二:bootloadermain函数解析
<br /> startup.s对底层进行初始化后,调用main()。此函数一般位于main.c下面。main函数调用BLCOMMON.c下的BootloaderMain()函数。函数体如下:<br />void BootloaderMain (void)<br />{<br /> DWORD dwAction; <br /> DWORD dwpToc = 0;<br /> DWORD dwImageStart = 0, dwImageLength = 0, dw
2011-02-21 22:44:00 1144
转载 Mobile的SD卡升级系统之二:热升级
<br /> 开机升级主要是通过读取U盘中的内核文件,然后把它替换掉旧的文件就可以了。要实现在系统下应用程序直接调用FMD_ReadSector()和FMD_WriteSector()读写FLASH是不行的。但是可以通过FMD_OEMIoControl()函数来实现。所以要在FMD_OEMIoControl添加我要想要的函数。如下:<br />(1)<br />BOOL FMD_OEMIoControl(DWORD dwIoControlCode, PBYTE pInBuf, DWORD nIn
2011-02-13 23:36:00 1038
转载 Mobile的SD卡升级系统之一:两种升级方式
<br /> 公司现在要实现sd卡升级操作系统,我查了下相关资料。发现目前有两种方式,在CE下和在bootloader下都可以实现更新NK。<br />(1)在CE下,可以直接用文件系统API读出NK.bin,放到内存buffer中,在通过DEVICEIOCTL的方式来调用nand驱动的一些接口来直接对nand flash进行写操作。<br />好处:跳过boot section,FAT/FAT32文件系统的解析;对内存大小无要求。<br />缺点:NAND驱动需要暴露读写的IOCTL,必须进入O
2011-02-13 11:58:00 1514
原创 控制Windows Mobile的LED之四:多色呼吸LED SN3199的驱动
<br /> SN3199是一款多色呼吸的LED驱动控制芯片,用来支持我目前项目上的LED控制。因为项目需求在内核和BOOT LOADER中都需要闪烁,所以用这种One Shot控制的芯片是最有效最省资源的。<br /> 芯片采用I2C控制方式,通讯时序如下:<br /><br />以上是典型的读写方式,该芯片还支持地址自加模式,即只要往某地址写入了一系列数据,后续的数据会自动写入接连自加的地址中。时序图如下:<br /><br />所以读写函数如下:<br />XLLP_STATUS_
2011-02-11 23:41:00 1824
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人