2011年4月25日

摘要: 先来谈一下flash,flash是一种非易失存储器,一般flash存储设备分为Nandflash和Norflash 。这两种 flash各有优缺点。在读写速度上,norflash的读速度快一些,nandflash的写速度会快一些。Nandflash的容量一般都比 Norflash大很多,而且相比价格比较便宜。但是Norflash支持XIP,而nandflash不支持,而且Nandflash可能有坏块。相关 的比较,网上很多文章都有介绍,这里就说这么多了。 这里介绍nandflash驱动,在WinCE中,有专门针对flash存储设备驱动的支持,一般传统采用FAL+FMD的架构 。在WinCE 最 阅读全文

posted @ 2011-04-25 18:50 AlexLee-专注于嵌入式技术的应用 阅读(1123) 评论(0) 推荐(0)

2011年2月13日

摘要: TCPMP源代码编译tcpmp是一个开源的播放器,现在好像商业化了,改名叫core player.据说目前支持最多媒体格式的播放器.除了rm,rmvb等少数几种格式不支持外.可以在这个网址获得开源代码http://picard.exceed.hu/tcpmp/ . 我昨天下载了一个0.72RC1的源代码.期望能自己编译定制一个播放器.好东西搞起来果然很费劲!花费一个晚上终于在今天中午编译成功,在我的arm9+wince上跑起来了.我是用evc4.2编译的,网络上搜索,很多人都是碰到许多编译问题和显示问题.但都没有提供一个完整的解决办法. 1.从http://picard.exceed.hu/t 阅读全文

posted @ 2011-02-13 09:17 AlexLee-专注于嵌入式技术的应用 阅读(298) 评论(0) 推荐(0)

2011年1月30日

摘要: 前段时间对TCPMP程序进行了研究,花了点时间把TCPMP程序的UI修改成了自已想要的样子,现对UI的修改方法简单介绍下: 网上有文章对于TCPMP程序在ARMV4下的编译方法和程序的结构介绍比较详细,但对于inteface方面的修改方法讲得并不多. 修改TCPMP界面基本上有两种方法:1) 建立自已的工程,把TCPMP下的lib移植到这个工程里,这样界面的修改比较灵活,但是工作量比较大;2) 直接在TCPMP工程里修改interface,这样工作量相对比较小,但是UI的修改受了定的约束, 没有前种方法灵活. 本人所修改的UI是按照第二种方法来做的.主要是对win_win32.c文件和inte 阅读全文

posted @ 2011-01-30 16:04 AlexLee-专注于嵌入式技术的应用 阅读(341) 评论(0) 推荐(0)

摘要: 1. 简介FFmpeg是一个集录制、转换、音/视频编码解码功能为一体的完整的开源解决方案。FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用。FFmpeg支持MPEG、DivX、MPEG4、AC3、DV、FLV等40多种编码,AVI、MPEG、OGG、Matroska、ASF等90多种解码.TCPMP, VLC, MPlayer等开源播放器都用到了FFmpeg。FFmpeg主目录下主要有libavcodec、libavformat和libavutil等子目录。其中libavcodec用于存放各个encode/decode模块,libavformat用于存放muxe 阅读全文

posted @ 2011-01-30 16:03 AlexLee-专注于嵌入式技术的应用 阅读(741) 评论(0) 推荐(0)

摘要: 首先,我们需要把common.lib添加到VS2005/项目属性/链接器/输入项中,同时把common.dll和common.lib放到项目文件夹中,TCPMP中的COMMON文件夹放到上一层文件夹。其次,在程序中对插件进行初始化和构建播放器节点的操作。具体如下://Context init Context_Init((tchar_t*)T("TCPMP"),(tchar_t*)T("0.72SRC"),3,(tchar_t*)lpCmdLine,NULL); //上下文创建 context* p=Context(); //播放模块的初始化 myplayer=NULL; if(p) mypla 阅读全文

posted @ 2011-01-30 15:16 AlexLee-专注于嵌入式技术的应用 阅读(431) 评论(0) 推荐(0)

摘要: 首先,我们来看一下TCPMP的播放模块的结构定义: static const nodedef Player = { sizeof(player_base)|CF_GLOBAL|CF_SETTINGS, PLAYER_ID, NODE_CLASS, PRI_MAXIMUM+600, (nodecreate)Create, (nodedelete)Delete, };绝大多数节点都有一个对应的数据对象,记录该节点的数据和方法,每一个子节点对象都是以父节点对象作为该节点一个元素,类似C++的封装继承机制。如果子节点的父节点没有数据对象,该节点可以从node节点直接继承。每一个节点都可以看 阅读全文

posted @ 2011-01-30 15:15 AlexLee-专注于嵌入式技术的应用 阅读(275) 评论(0) 推荐(0)

摘要: TCPMP是一个功能强大开放式的开源多媒体播放器,播放器主要由核心框架模块(common工程)和解码器分离器插件组成。 TCPMP的插件非常多,、libmad我们联合几个最常用的插件(ffmpeg、splitter)来说明,其中interface插件实现TCPMP的界面,由于他和媒体播放没有什么关系,这部分可以完全被替换掉,替换成自己的界面。 ffmpeg工程是系统主要的音视频解码模块,ffmpeg是一个集录制、转换、音/视频编码解码功能为一体的完整的开源解决方案。FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用。ffmpeg支持MPEG、DivX、MPEG4、 阅读全文

posted @ 2011-01-30 15:12 AlexLee-专注于嵌入式技术的应用 阅读(346) 评论(0) 推荐(0)

摘要: 远程线程技术指的是通过在另一个进程中创建远程线程的方法进入那个进程的内存地址空间。我们知道,在进程中,可以通过CreateThread函数创建线程,被创建的新线程与主线程(就是进程启动时被同时自动建立的那个线程)共享地址空间以及其他的资源。 但是很少有人知道,通过CreateRemoteThread也同样可以在另一个进程内创建新线程,被创建的远程线程同样可以共享远程进程(是远程进程耶!)的地址空间,所以,实际上,我们通过一个远程线程,进入了远程进程的内存地址空间,也就拥有了那个远程进程相当的权限。例如在远程进程内部启动一个DLL木马(与进入进程内部相比,启动一个DLL木马是小意思,实际上我们可 阅读全文

posted @ 2011-01-30 09:58 AlexLee-专注于嵌入式技术的应用 阅读(222) 评论(0) 推荐(0)

2011年1月29日

摘要: TCPMP是一个功能强大开放式的开源多媒体播放器,播放器主要由核心框架模块(common工程)和解码器分离器插件组成。TCPMP的插件非常多,、libmad我们联合几个最常用的插件(ffmpeg、splitter)来说明,其中interface插件实现TCPMP的界面,由于他和媒体播放没有什么关系,这部分可以完全被替换掉,替换成自己的界面。ffmpeg工程是系统主要的音视频解码模块,ffmpeg是一个集录制、转换、音/视频编码解码功能为一体的完整的开源解决方案。FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用。ffmpeg支持MPEG、DivX、MPEG4、AC 阅读全文

posted @ 2011-01-29 21:27 AlexLee-专注于嵌入式技术的应用 阅读(268) 评论(0) 推荐(0)