07 2004 档案

关于线程实现的学习(2)用户级线程库
摘要:这里有篇长长的文章,还没看,应该还不错吧,尤其原作者的主页值得一看http://www.frontfree.net/view/article_768_page1.html一.线程模型用户线程和内核线程的对应关系有一对一,多对多,多对一。用户线程的好处的高效调度,缺点是不能在多处理器上高效,一个线程的系统调用阻塞导致整个线程组阻塞。内核线程的优缺与用户线程刚好相反。多对多模型是两者的折中。 二一个... 阅读全文

posted @ 2004-07-28 09:24 embed 阅读(1434) 评论(0) 推荐(0)

关于线程实现的学习(1)一些资料
摘要:LinuxThreads:http://pauillac.inria.fr/~xleroy/linuxthreads/分析文章:http://www-900.ibm.com/developerWorks/cn/linux/kernel/l-thread/index.shtml一些开源代码:(后来一看没什么太好的,都只是平台函数的包装)Advanced platform-independant, O... 阅读全文

posted @ 2004-07-27 11:11 embed 阅读(518) 评论(0) 推荐(0)

mediaplayer构架研究之二关于音频的播放控制
摘要:代码的作者说,音频播放是个实时线程,在程序中通过一个播放线程来执行,线程不断读入解码后的音频数据,然后播放。问题就出在如何控制播放的暂停,实际检测的结果是播放无法暂停。关于暂停,代码是这样设计的:void setPause(){ audioMutex->lock(); threadGoOk = FALSE; audioMutex->unlock()}void auidoThread(v... 阅读全文

posted @ 2004-07-21 14:52 embed 阅读(608) 评论(0) 推荐(0)

AVI文件格式
摘要:RIFF格式:AVI文件格式的基础是RIFFRIFF由一个RIFF文件头和一些LIST和CHUNK结构组成。RIFF文件头='RIFF'+4byte size+4byte ID(' avi')LIST='LIST'+4byte size+4byte ID+(LIST|CHUNK)CHUNK=4byte ID+4byte size+(data) AVI格式:AVI文件包含1avi的riff头2.一... 阅读全文

posted @ 2004-07-19 16:46 embed 阅读(3619) 评论(0) 推荐(0)

arm's multiply(arm的乘)之五 乘法器的基本结构
摘要:本文大部分内容是对《计算机组成和结构》的阅读总结。一如何设计一个乘法器这个乘法器使用几个积存器?使用了拿些基本运算功能?乘法运算用了几个机器周期?无符号和有符号的乘法区别?1 . 我们都知道乘法运算可以用加法和移位来完成。每个运算周期大概是:if(乘数最右位是1) 乘积 = 被乘数+乘积乘数右移1位<==========这里决定了采用的是无符号还是有符号的乘法一共循环32次这个算法的直接实现... 阅读全文

posted @ 2004-07-19 11:50 embed 阅读(964) 评论(0) 推荐(0)

Wince探索(之二)
摘要:探索WINCE汇编程序自然少了不了。上次读了RTC,这次读一下MMUEVC的汇编语法好象和ADS差不多。下面是在下编的一个小程序 ;------------------------; myMMUread(int *array); array = r0; array must point to a int[16];------------------------myMMURead mov r4,#... 阅读全文

posted @ 2004-07-14 14:30 embed 阅读(454) 评论(0) 推荐(0)

Wince探索(之一)
摘要:关注着WINCE这个操作系统.想在WINCE上运行LINUX.开始一直认为只有通过驱动程序才能访问WINCE的系统空间.后来在"土豹子"大侠的帮助下,才知道用户程序也可以访问系统空间.刚刚编了一个访问RTC积存器的测试程序,运行是正确的.特此纪念.要是有个摄相头就好了.一些有用的连接:http://binky.seas.upenn.edu/~jorj/下面是个很好的资源(有个CEK.ZIP还没具体... 阅读全文

posted @ 2004-07-13 14:06 embed 阅读(470) 评论(0) 推荐(0)

mediaplayer构架研究之一
摘要:MVC模式用于描述交互式系统交互式系统要保证核心功能的稳定性和用户接口的变化Model包含了核心功能和数据Control处理用户输入View向用户反馈信息这个模型按我的理解有点简单。就是Input => Process => OuputControl => Model => View变更-传播机制 保证了用户接口和模型间的一致注意一下数据的流动,有点象MFC的文挡-视结构。View从Model中得... 阅读全文

posted @ 2004-07-12 17:13 embed 阅读(657) 评论(0) 推荐(0)

计算机体系结构-关注SOC(arm+dsp)
摘要:TIOMAPhttp://linux-omap.bkbits.net/http://linux.omap.com/mailman/listinfo/linux-omap-open-sourcehttp://www.muru.com/linux/omap/http://focus.ti.com/omap/docs/omapgenpage.tsp?navigationId=9308&templateI... 阅读全文

posted @ 2004-07-12 15:06 embed 阅读(1918) 评论(0) 推荐(0)

嵌入式操作系统的内存管理(之一)
摘要:最近看书,关于wince和arm-linux的内存管理 复杂在有MMU的部分。 arm-linux的资料比较多,基本原理是这样的: 操作系统的虚拟内存空间: 低3G属于应用程序/高1G属于linux操作系统 arm对内存地址的划分: 4个区块,每个区块1G,DRAM是从0xc00000000000开始的 这个区块里的虚拟地址是和物理地址重合的,当然也不是全部映射的。 而低3G的空间则是浮动的,... 阅读全文

posted @ 2004-07-08 11:09 embed 阅读(3069) 评论(0) 推荐(0)

多介质 boot linux(usb/cf)
摘要:前年公司过年的时候摸奖得了一个U盘,32M.最近想了想可以用它做个启动盘。比如上面装多个操作系统,linux,ucos,vxwork,,,,呵呵,也算是嵌入式了吧。于是找了多天之后,发现了一个好的开始:http://linuxmobile.sourceforge.net/index.htmlhttp://syslinux.zytor.com/2004年8月9日这里有个比较新的usbboot ?cf... 阅读全文

posted @ 2004-07-06 16:51 embed

qtooia的麻烦
摘要:qtooia真是不错,连mediaplayer也有了,而且支持的媒体格式也很好。安装,编译基本都没什么问题。可就是编译它带的那个example出了问题,那个文档也不知道是写了多久没更新过。按它的来就不行,最后还是根本不看它的,凭自己的经验,总算能运行了。唉.....纪念一下。 阅读全文

posted @ 2004-07-06 16:48 embed 阅读(335) 评论(0) 推荐(0)

介绍一下《windows安全性编程》之一
摘要:windows security program book 阅读全文

posted @ 2004-07-06 10:00 embed 阅读(1074) 评论(0) 推荐(0)

arm的assembler 和 c 混合调用
摘要:引用1.wanchengbuyi的一篇文章2.http://blog.vckbase.com/arong/archive/2004/06/09/409.aspx3 http://www.ddvip.net/program/masm/01.htm一调用规则c call参数传递从右到左,调用者恢复堆栈pascal 与 c 相反stdcall 是 c与pascal的混合在arm中需对参数个数是否固定做区... 阅读全文

posted @ 2004-07-02 16:46 embed 阅读(628) 评论(0) 推荐(0)

arm's multiply(arm的乘)之四 evc生成的exe的基本结构
摘要:这次跟multiply无关。看一下evc生成的exe的基本结构。当对exe文件反汇编时会有这样几个section.data.pdata.rdata.rsrc.text纳闷的是在下面这段cpp程序中int other[2] = {3,1};other这个数组被分配在 .data这个区域里. 阅读全文

posted @ 2004-07-02 11:09 embed 阅读(686) 评论(0) 推荐(0)

arm's multiply(arm的乘)之三
摘要:路转峰回发现编译器的优化比较复杂,在代码结构不同的情况下做的优化也完全不同。又做了一个实验,这次evc很笨没有做优化int array[1000];int res;for(int p1=0;p1<1000;p1++)for(int p2=0;p2<1000;p2++)for(int p3=0;p3<1000;p3++)res = array[1000]*105;这次实测结果是大概都在43xxx m... 阅读全文

posted @ 2004-07-01 14:34 embed 阅读(930) 评论(2) 推荐(0)

arm's multiply(arm的乘)之二
摘要:今天上午在我的strongarm上做了次实验环境是strongarm 206MHZppc2002编写了一个程序int res;void func(){for(int loop=0;loop<1000;loop++)for(int lop=0;lop<1000;lop++)for(int lp=0;lp<1000;lp++)res = lp*105}wince3.0的计时器据说有1ms的精度用它测量... 阅读全文

posted @ 2004-07-01 11:00 embed 阅读(776) 评论(0) 推荐(0)

导航