| 标题 |
作者 |
阅读数 |
发布时间 |
|
|
mermaid |
13780 |
2009-7-2 |
|
汇编语言是CPU二进制指令的可读写版本。我们在后面将有单独的一章来讲述汇编语 言。从来没有接触过汇编语言的读者在阅读本书时可能会有一些迷惑 。 大多数MIPS汇编语言都是非常古板的,都是一些寄存器号码。但是工具链(toolchains)可 以使得使用微处理机语言变得简单。工具链至少允许程序员引用一些助记符,而严 格的汇编语言要求严格的数字编码。大多我们都是用比较熟悉的C预处理器。C预处 理器会把C风格的注解去掉,而得到一个可用的汇编代码。 有C预处理器的帮助,MIPS汇编程序都是用助记符来表示寄存器。助记符同时也代表 了每个寄存器的用法(我们将在2.2节介绍这一点) 对於熟悉汇编语言但不熟悉MIPS的读者,下面是一些例子。 /* this is a comment */ #so is this entrypoint: #this''s a label addu $1, $2, $3 # (registers) $1 = $2 + $3 与大多数汇编语言一样, MIPS汇编语言也是以行为单位的。每一行的结束是一个指 令的结束,并且忽略任何“#”之后的内容,认为是注释。在一行里可以有多条指令。 指令之间要用分号“;”隔开。 一个符号(label)是一个后面跟着冒号“:”的字。符号可以是任何字符串的组合。 符号被用来定义一段代码的入口和定义数据段的一个存储...
>> 阅读全文
|
|
mermaid |
701 |
2009-6-25 |
|
中国软件行业协会嵌入式系统分会2009年暑期项目实战训练营之师资培训班正在招募中,训练营以项目实战的形式,基于行业热门的应用案例,融拓展游戏、项目小组竞赛等方式,增加相关企业参观、工程师联谊等活动,让老师从教学实践、最新咨询、行业应用等各个方面得到收获。具体安排如下,欢迎老师选择相应模块报名。课程模块课程名称起止时间上课地点剩余名额课程价格模块A实战项目(Linux)师训班--基于Web远程控制系统(I)7月8日-15日(5天)北京额满2200模块B实战项目(WinCE)师训班--基于PMP电子相册应用案例7月11日-16日(6天)天津20人2500模块C实战项目(WinCE)师训班--基于PMP物流配送系统7月27日-8月7日(12天)上海少量余额5800(赠送PMP实训包一套)模块D实战项目(Linux)师训班--基于Web的远程控制系统(II)7月27日-8月7日(12天)上海少量余额5800(赠送WebServer实训包一套)模块E实战项目(WinCE)师训班--基于PMP电子相册应用案例8月23日—28日(6天)福州20人2500备注:1.考核合格发放中国软件行业协会嵌入式系统分会结业证书2.费用包括免费午餐、培训资料(模块C、D赠送相应实训包设备)、嵌入式相关企业参观一次、工程师联谊聚餐一次3.具体课程介绍见附件
>> 阅读全文
|
|
mermaid |
2492 |
2009-6-24 |
|
LIB = $(obj)libdrivers.a-COBJS = 3c589.o 5701rls.o ali512x.o atmel_usart.o \+COBJS = 3c589.o 5701rls.o adm51xx_switch.o ali512x.o atmel_usart.o \ bcm570x.o bcm570x_autoneg.o cfb_console.o cfi_flash.o \ cs8900.o ct69000.o dataflash.o dc2114x.o dm9000x.o \ e1000.o eepro100.o \diff --git a/drivers/adm51xx_switch.c b/drivers/adm51xx_switch.cnew file mode 100755index 0000000..dfdf17f--- /dev/null+++ b/drivers/adm51xx_switch.c@@ -0,0 +1,592 @@+/*+ * adm51xx_eth.c -- Ethernet driver for ADM5120, ADM5106 (untested)+ * and possibly more SoCs+ *+ * Copyright (c) 2006 SATO Masuhiro thomas@fenix.ne.jp>+ *+ * See file CREDITS for list of people who contributed to this+ * project.+ *+ * This program is free software; you can redistribute it and/or+ * modify it under the ter...
>> 阅读全文
|
|
mermaid |
1476 |
2009-6-24 |
|
diff --git a/MAKEALL b/MAKEALLindex 74bf383..033b077 100755--- a/MAKEALL+++ b/MAKEALL@@ -249,7 +249,7 @@ ########################################## MIPS Systems (little endian)#########################################################################-LIST_mips4kc_el=""+LIST_mips4kc_el="adm5120"LIST_mips5kc_el=""diff --git a/Makefile b/Makefileindex d2534ab..592fd50 100644--- a/Makefile+++ b/Makefile@@ -2121,6 +2121,11 @@ incaip_config: unconfigtb0229_config: unconfig @$(MKCONFIG) $(@:_config=) mips mips tb0229+adm5120_config: unconfig+ @mkdir -p $(obj)include+ @ >$(obj)include/config.h+ @$(MKCONFIG) $(@:_config=) mips mips adm5120+########################################################################### MIPS32 AU1X00#########################################################################diff --git a/board/adm5120/Makefile b/board/adm5120/Makefilenew file mode 100644index 0000000..20ef1be--- /dev/null+++...
>> 阅读全文
|
|
博文视点(北京) |
4406 |
2009-6-17 |
|
DSP也称数字信号处理器,是一种具有特殊结构的微处理器。它具有专门的硬件乘法器,广泛采用流水线操作,通过自身提供的特殊指令,可以快速地实现各种数字信号处理的算法。 DSP最突出的两大特色是拥有强大的数据处理能力和高运行速度。从20世纪80年代初DSP芯片诞生以来,经过近20年的发展,DSP芯片如今已经在信号处理、语音通信、图像多媒体以及自动控制等领域得到了广泛的应用。随着DSP芯片功能越来越强大,价格越来越低,其用户群也与日俱增。DSP嵌入式技术,已经逐渐成为计算机、电子、通信相关专业的大学生,以及从事电子开发的工程师必须掌握的技术之一。 但是在目前市场上同类的DSP书中,介绍编程语言和基础开发原理的较多,而对常用模块和综合系统开发的应用实例涉及甚少,实用性不强,本书就是为了弥补这种不足而编写的。本书特色 >> 阅读全文
|
|
博文视点(北京) |
760 |
2009-6-8 |
|
注意事项 数据库引擎问题 如果你要将现有的数据库转移到MySQL集群中,那么请将数据表的格式由MyISAM或InnoDB改为NDBCLUSTER。转换的方法,请阅读MySQL的官方文档:http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-multi-load-data-queries.html 否则,可能会遇到意想不到的问题,比如要添加MySQL用户,就必须在每个NDB节点上添加,等等。 内存问题 NDB把所有数据存放在内存中,所以你需要为NDB节点配备较大的内存。一般情况下,换算比例为1:1.1,也就是说,如果你有1GB数据库,至少要配备1.1GB内存;如果你的数据库会增长到8GB,就需要至少为服务器配备8.8GB内存。而且每个NDB节点都要做如此配置。 安全问题 该集群的MGM节点,其管理服务运行在1186端口上;NDB节点的...
>> 阅读全文
|
|
博文视点(北京) |
429 |
2009-6-5 |
|
安装MySQL 在mysql-data1和mysql-data2两台服务器上,分别安装MySQL服务器: $ sudo apt-get update install mysql-server 安装时,安装程序会要求你设置MySQL的root口令。请设置好,并记住该口令。 程序安装完成后,请先停止MySQL服务: $ sudo /etc/init.d/mysql stop 配置my.cnf 在mysql-data1和mysql-data2两台服务器上,要执行相同的操作。 首先,备份原有的/etc/mysql/my.cnf: >> 阅读全文
|
|
博文视点(北京) |
1139 |
2009-6-5 |
|
本书是第一本全面介绍Ubuntu Linux Server的中文书籍,是作者10多年实战经验的结晶;从构思到出版,花费作者近3年时间。无论您是初学者还是Linux高手,都能从中获益。 在内容上,本书基本上涉猎到了Linux服务器的各方面常见应用。“最佳方案”是本书的特色。对于每一种应用,作者都不是泛泛而谈,而是推荐一个“最佳方案”——从硬件服务器的选型到Linux入门,从LAMP到Tomcat,从代理服务器到邮件服务器,从DHCP到DNS,从Samba到虚拟化,从负载均衡到远程控制,从RAID到LVM再到系统安全——不管您是在校学生还是在职Linux管理员,不管您是小公司还是大企业,都可以直接复制本书内容,在最短的时间内您就可以架设起自己的最佳Linux服务器。 拥有本书,您就拥有了一位具有10年经验的资深Linux管理员和开发者的最佳实战方案,有如专家亲临现场、全程陪护,让您在工作中胸有成竹,...
>> 阅读全文
|
|
博文视点(北京) |
4733 |
2009-6-5 |
|
如何设计方案?”前 言“我们的服务器用的软RAID,现在硬盘不够了,需要添加新硬盘,请问应该怎么做?”“我们发现服务器被入侵了,请问应该怎么做?”“目前Web和数据库在同一台服务器上,可是由于我们的企业发展得太快,现在服务器不够用了,计划增加两台服务器,请问您如何设计方案?”——面试“Linux系统管理员”时可能会被问到的问题近年来,Linux(尤其是Ubuntu)一直保持上升势头,据说目前中国的Linux人才缺口已经达到120万!在2008年开始的全球经济大萧条中,虽然各大公司都在裁员,但是我相信,一个真正优秀的Linux系统管理员,是任何公司都不可能轻易解聘的;不知有多少大大小小的公司,正在如饥似渴地募求Linux人才,却常常慨叹一才难求!我在帮助朋友的公司招聘Linux系统管理员时,发现一个问题:很多人只是对桌面系统很熟悉,却不熟悉Linux服务器;有的人虽然熟悉,却不深入,不精通。本书正是帮助您迅速提高Linux服务器管理技能和经验的绝佳教材。本书的特色您拨打家电服务电话时,可能会听到下面的语音:“普通话请按1,English press 2。”“个人服务请按1,企业客户请按2。”“小家电请按1,电冰箱请按2,空调器请...
>> 阅读全文
|
|
博文视点(北京) |
387 |
2009-6-5 |
|
一年后的今天重读《梦断代码》有感 一年之前的今天我在书店看到了《梦断代码》这本书,这本很早就在网上关注过的图书,当即就买下了,经过几天的挑灯夜读算是完成了第一遍的阅读,在余味未尽之时读了第二遍,对于书中说到的故事,看似说的是一个软件,其实说的大千软件,看似说一事,其实是说百事,作为软件开发行业的人员是深有体会的。 前两天在整理自己的书柜时,又翻到了这本曾经让自己彻夜挑灯夜读的书——《梦断代码》,回忆起当时自己第一次阅读到本书的时候的心情,当时是多么的激动和感慨。 花费了那么多的时间和经历,人力、财力及物力,换到的却是最终的失败,让人甚是惋惜和同情。想想发生在自己身边的事情,何尝不是如此的,虽然不如书中主人翁那样的花费,但是作为个人而言,有些事情的失败就已经可以是致命的了。 在整理书柜的时候,我又把这本书放到我们的书桌上,这几天又花了一点时...
>> 阅读全文
|
|
博文视点(北京) |
1901 |
2009-6-4 |
|
完整的代码3.3.1 完整的分发函数 下面基于前面的描述,我们再尝试编写一个分发函数。这个函数处理所有串口的写请求,所有从串口输出的数据都用DbgPrint打印出来。也就是说,读者打开DbgView.exe,就可以看到串口的输出数据了。这当然不如一些比较专业的串口嗅探软件好,但是读者可以以这个例子为基础开发更专业的工具。NTSTATUS ccpDispatch(PDEVICE_OBJECT device,PIRP irp){ PIO_STACK_LOCATION irpsp = IoGetCurrentIrpStackLocation(irp); NTSTATUS status; ULONG i,j; // 首先要知道发送给了哪个设备。设备最多一共有CCP_MAX_COM_ID // 个,是前面的代码保存好的,都在s_fltobj中 for(i=0;i { if(s_flto...
>> 阅读全文
|
|
博文视点(北京) |
7145 |
2009-6-4 |
|
设备绑定的内核API之一 进行过滤的最主要的方法是对一个设备对象(Device Object)进行绑定。读者可以想象,Windows系统之所以可以运作,是因为Windows中已经存在许多提供了各种功能的设备对象。这些设备对象接收请求,并完成实际硬件的功能。我们可以首先认为:一个真实的设备对应一个设备对象(虽然实际对应关系可能复杂得多)。通过编程可以生成一个虚拟的设备对象,并“绑定”(Attach)在一个真实的设备上。一旦绑定,则本来操作系统发送给真实设备的请求,就会首先发送到这个虚拟设备。 下面结合代码进行讲解。读者可能希望编译执行这些代码,驱动的初学者请先阅读本书第1章,以便学会如何安装开发环境、编译代码和调试程序。 在WDK中,有多个内核API能实现绑定功能。下面是其中一个函数的原型:NTSTATUS IoAttachDevice( >> 阅读全文
|
|
博文视点(北京) |
1427 |
2009-6-3 |
|
无处不在的内核模块 位于高2G空间内的操作系统内核,并非做死的一个巨大程序。因为计算机硬件种类繁多,不可能做出一个能支持所有硬件的巨大内核。 内核是有接口的,微软提供规定的格式,让硬件驱动的编程人员,能按照规定的格式编写“驱动程序”。这些驱动程序能够作为模块加载到内核中,成为内核的一部分,这样内核只要简单地安装驱动程序,就可以适应各种不同的硬件了。 本书中的大部分例子都是编译成内核模块的,实际上也可以称为驱动程序(Driver)。但是它们大部分并不驱动任何硬件,有人称之为“软件驱动”。但是笔者认为这不够贴切,所以本书使用Linux程序员们的叫法,称之为内核模块(Kernel module)。也许这样要更贴切一些,驱动程序可以看成内核模块的一种(少量的应用层驱动程序除外)。 内核模块...
>> 阅读全文
|
|
博文视点(北京) |
594 |
2009-6-3 |
|
编写程序也需要在实战中成长本文摘自青软实训《在实战中成长》丛 书 序 前几天,应青软实训技术研发中心老师的邀请为青软实训《在实战中成长》丛书写序,让我想起了三年前的这个时候。当时,为了更好地解决大学生的动手实践能力与企业需求之间存在差距的问题,在相关政府、高校、软件企业等各方的协助及大力支持下,成立了青软实训。 现在,从青软实训走出的学员遍布了北京、上海、大连、青岛等全国各地的软件企业,我和我的同仁在体会到快乐的同时,也感受到了深深的责任感。我们发现,虽然学员在实训中学习的时间只有短短的几个月,但我们带给学员的技术课程、对学员进行的综合素养的训练、与学员的沟通交流以及指导学员完成的项目等都有会对他们今后的职业发展产生影响。 正是基于这样的责任感,才让我们不断地思考,通过什么样的方式才能让作为初学者的学员学好软件开发技术。青软实训的讲师都是...
>> 阅读全文
|
|
博文视点(北京) |
696 |
2009-6-2 |
|
1.3.3 设置Vista调试执行 下面是Vista的情况。Vista已经不再使用boot.ini文件了,而是在Vista启动之后,打开控制台(在“运行”中输入cmd并按回车键),首先输入:bcdedit /? 会显示一段眼花缭乱的帮助文字,不管能看懂多少,请先了解一下。然后我们需要列举出现在本机上所有“操作系统加载器”的情况,请输入:bcdedit /enum OSLOADER 如果是刚刚安装的Vista,一般只有一个标识为{current}的OSLOADER,这就是当前的启动配置。现在所需要的是建立一个新的启动配置,从完全空白开始建立非常麻烦,拷贝一个是一个简单的方案。bcdedit /copy {current} /d "Windows Vista Copy" 拷贝之后会提示已经建立了一个新的配置。新配置标识非常长,是一个GUID字符串。要设置新的配置简直...
>> 阅读全文
|