| 标题 |
作者 |
阅读数 |
发布时间 |
|
|
mermaid |
2995 |
2009-9-1 |
|
目前国内最大最全的开发板在线商城正式上线了。为庆祝上线,开发板商城网发出很多的优惠活动,详情请见http://demoboard.pd-sts.com/PDSoft/portal/index.html http://www.demo-board.com/PDSoft/portal/index.html
>> 阅读全文
|
|
mermaid |
13850 |
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 |
1477 |
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+++...
>> 阅读全文
|
|
博文视点(北京) |
9929 |
2009-6-10 |
|
连接错误示例 连接过程中常见的错误是符号未找到(undefined reference)和符号重定义(redefinition)。由于在编译器在处理各个符号的时候,已经没有了各个C语言源文件的概念,只有目标文件。因此对于这种错误,连接器在报错的时候,只会给出错误的符号的名称,而不会像编译器报错一样给出错误程序的行号。 符号未定义的错误经常发生在符号已经声明,但是并没有具体的定义的情况下。在C语言中,符号可以是一个函数,也可以是一个全局变量。在程序的编译过程中,只要符号被声明,编译就可以通过,但是在连接的过程中符号必须具有具体的实现才可以成功连接。 例如:某一个源程序的文件的某一个地方调用了一个函数,如果这个函数具有声明,这时编译就可以通过。在连接的过程中,连接器将在各个代码段中寻找函数,如果函数没有在程序的任何一个位置中定义,那么就不会有函数符号,这时连接器将...
>> 阅读全文
|
|
博文视点(北京) |
3863 |
2009-6-10 |
|
可执行程序的组成 上一节分析了C语言应用程序中各段的情况,实际的C语言可执行程序,将由各个文件经过连接生成。目标文件是由每一个C语言源程序(*.c)经过编译器生成,目标文件(.o)的主要组成部分即代码段、只读数据段和读写数据段三个段。未初始化数据段、堆和栈不会占用目标文件的空间。 可执行程序是由各个目标文件经过连接而成。其主体部分依然是代码段、只读数据段和读写数据段,这三个段由各个目标文件(.o)经过“组合”而成。C语言目标文件到可执行程序的连接如图13-2所示。 连接器将根据连接顺序将各个文件中的代码段取出,组成可执行程序的代码段,只读数据段和读写数据段也是如此。在连接过程中,如果出现符号重名、符号未定义等问题,将会产生连接错误。如果连接成功,将会生成一个统一的文件,这就是可执行程序。 >> 阅读全文
|
|
博文视点(北京) |
3832 |
2009-6-9 |
|
C语言程序的段段的分类 根据C语言的特点,每一个源程序生成的目标代码将包含源程序所需要表达的所有信息和功能。目标代码中各段生成情况如下:1.代码段(Code) 代码段由程序中的各个函数产生,函数的每一个语句将最终经过编译和汇编生成二进制机器代码(具体生成哪种体系结构的机器代码由编译器决定)。 ? 顺序代码 基本数学运算(+,-),逻辑运算(&&,||),位运算(&,|,^)等都属于顺序代码。 ? 选择代码 >> 阅读全文
|
|
博文视点(北京) |
2161 |
2009-6-9 |
|
C语言程序的运行总结 在上面几节,主要介绍了C语言运行时内存的使用情况。其关注点是程序中主要的段,事实上,程序可能不仅包括了上述主要段,还可能包括一些头信息。程序实际的运行也分为在操作系统下运行和直接运行等情况。在具有操作系统的情况下,程序由操作系统加载运行,加载的时候可执行程序可以是一个文件,这个文件将包含程序的主要段以及头信息。 对于Linux操作系统,目标程序是可执行的ELF(Executable and linking Format)格式;对于uCLinux操作系统,目标程序是Flat格式;对于需要在系统直接运行的程序,目标程序应该是纯粹的二进制代码,载入系统后,直接转到代码区地址执行。 事实上,无论运行环境如何,C语言程序在运行时所进行的动作都是类似的。程序在准备开始运行的时候,以下几个条件都是必不可少的:1.代码段必须位于可运行的存储区。2.读写数据段必须在可以读写的内存中,而...
>> 阅读全文
|
|
博文视点(北京) |
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节点的...
>> 阅读全文
|
|
博文视点(北京) |
481 |
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: >> 阅读全文
|
|
博文视点(北京) |
1140 |
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...
>> 阅读全文
|