1

关于投票
Microcihp的32位单片机将与谁竞争?

   2007年11月8日,Microchip在京宣布将进入32位单片机市场,PIC32系列的部分样片已经推出,并计划明年2季度大量上市。与众不同的是,Microchip并没有选择风靡业界的ARM核,而是独辟蹊径,选择了MIPS核M4K。

    MIPS在32位上当然有一些高性能计算的核,例如04年推出的流行的24K系列和最新的34K系列,它们通常用于SoC。但是M4K型号是一款低端核,性能通常认为与ARM7和ARM9差不多,Microchip作为第一个吃螃蟹者,为何选择MIPS的公司这样一款核?那么就要了解Microchip推出32位的目的是什么?

    首先,Microchip是为了保持自己产品的完整性和延续性。Microcihp总是宣称自己的某些高性能8位单片机可以和16位单片机媲美,某些16位单片机性能与32位相当(据笔者考量其性能指标,认为的确如此)。因此在去年,Microchip的发言人还坚信16位单片机已经足够用了,今年初的新闻发布会上对是否推出32位不表态了,到今天郑重宣布将跨入32位单片机世界。因为32位从某种意义上说是代表了一种发展方向和市场姿态。当问及Microchip16和32位单片机都能满足某客户需要时,Microchip推荐16位还是32位时,Microchip执行副总裁Ganesh Moorthy做了很好的诠释:“这时我们要问客户设计的最高要求,如果是朝下发展,今后不需要更多的功能,推荐16位;如果将来向上发展,就推荐32位。”

    与其它公司不同的是,Microchip单片机实现了8、16到32位的完全兼容,从外形、引脚到开发工具。
   
    Microchip声称是业界唯一一家提供8~32开发工具兼容的工具厂商。这使人想起了1、2个月前Freescale推出的Flexis,也实现了从8到32位兼容。Microchip曾经与Freescale在8位上展开市场份额上数一数二的较量,如今又推出了PIC32,应该更有可能想与单片机劲旅——Freescale展开更高级的竞争(实事上,业界很多单片机公司都对Freescale马首是瞻)。Microchip副总裁Ganesh说:“第一是保持现有的客户,我们提供32位的产品主要满足我们客户的需求。”由于Microchip已经拥有6万的忠实用户群,要维系好也是一项浩大工程。但是,“关于我们32位的单片机的第三方合作伙伴,一半是原来的,一半将是全新的。”可见,Microchip会在服务自己客户的基础上更上一层楼。

    但是下一步,Microchip不可能不与ARM世界的厂商正面交锋。因为谈到应用时,Microchip举例说POS机、家庭中的电表等。这些正是ARM阵营十分感兴趣的。

    作为单片机世界的一颗闪耀明星,Microchip恐怕不屑和其他星辰雷同,选择MIPS核可以形成差异化。这是Microchip在新闻发布会上始终没有说出来的原因,但笔者认为是很重要的一个原因。

    现在,大家可以看出,Microchip之所以在32位世界姗姗来迟,因为Microchip的风格就是后发、稳扎稳打。Microcihp更关注的是自己客户的需要,因为该公司已有足够的客户。他们不在乎是否是8、16还是32位,而在乎是否是以最低的价格设计出最好的产品。为了满足其日益壮大的客户群,公司才推出了32位产品,使竞争对手进不来。同时在产品上采取差异化的措施,以进一步屏蔽别的竞争对手。在此基础上,Microchip再拓展新的业务。

    Microchip是一家具有后劲的厂家。公司1991年成立,用了15年时间成为8位单片机市场的佼佼者,3年半前推出16位单片机,今天又推出了32位产品。在前进的道路上,不仅面临欧美日强手,后面还有一大批亚洲不够发达国家/地区公司的穷追不舍。Microchip能够在较短时间脱颖而出,确实令人佩服。

    在32位策略上,Microchip开发执行了三个原则:1)保持与原有8/16位的兼容型,2)特性增强,3)便于初学者学习使用。

    相信Microchip的进入,会使32位单片机星空变得更加璀璨!

系统分类: 单片机
用户分类: 技术资料
标签: 无标签
来源: 转贴
发表评论 阅读全文(599) | 回复(0)

1

关于投票
XP里面的一些禁忌 用XP的人一定要看!

Windows XP现在仍然有很多的人在使用,但是你知道Windows XP操作系统中的一些禁忌吗?

  一、忌虚拟光驱

  现在多数虚拟光驱在XP里是不稳定的,容易引起XP的死机,因为虚拟光驱不同于一般的软件:它通过特殊的机制,在“设备管理器”中骗过Windows,让Windows以为增加了物理的光驱,XP只设计了还原硬件的驱动,没想到要“还原/删除”硬件本身。因为XP是为NTFS和网络特别优化的,而大多数虚拟光驱是FAT32环境下开发的,目前和XP兼容良好的虚拟光驱软件较少,大家一定要装的话, 就得忍受几次死机的折磨来慢慢尝试哪个稳定了,搞不好XP可能会崩溃。

  特别提醒:

  即使你找到了稳定的虚拟光驱软件,如果虚拟了4个以上的物理光驱,就可能会触发XP的激活检验机制,要求你再次激活XP——因为微软认为你换 了四个硬件很可能是换了机器了,所以,建议你还是别装虚拟光驱的好。

  真要用虚拟光驱的话,最好上多操作系统,用里面的98来装比较好。看来只有等编写虚拟光驱软件的开发者写出既能稳定运行又不导致要激活的新版本,大家才能真正顺利地使用虚拟光驱了。

  二、忌无效的日期

  XP还有个和激活检验配套的日期检验机制。如果你的主板CMOS电池掉电了,或是误操作或使用其它限制日期的软件,导致日期变成了1999年这样的无效日期(1999年还没开发XP),那么XP就会在初始化图形界面后的“欢迎使用”字样处锁定系统 ,而且无任何提示和选项,除了鼠标能动外就像死机一样。如果你没留意是日期的影响,无论用什么操作都是无法修复XP的,所以一定要小心你启动XP的日期,进入XP后,再更改日期是可以的。

  三、忌外猫的电源没打开

  XP是为ISDN和宽带网等设计优化的,对于MODEM来说就不是那么“照顾”了。很多猫在XP里没有适当的驱动,只能用FOR 2000或NT的驱动来代替,而且常常出现拨号的异常问题。特别是很多外猫,如果在启动XP的时候没有打开 MODEM 的电源,进入图形界面后再打开XP就会找不到硬件,需要你再次在设备管理器中刷新扫描硬件或是重新启动XP,很麻烦。所以用外猫的朋友们请留意了:进入XP前记得打开你的MODEM电源。

四、忌打开默认共享和远程协助

  因为XP是实现微软.NET战略的一部分,默认时打开很多网络功能。比如:共享你的驱动器、通过网络远程协助解决 Windows 操作问题等等。这些网络功能对于懂行的人可能是很方便的,但对于网络安全知识不太够的初级用户,却有一定的危险,因为共享驱动器和允许远程协助是需要打开你的电脑的端口、并开放一定的权限,尽管XP有自带的防火墙,但如果遇到编写巧妙的病毒或不怀好意的黑客,这些服务也可能会让你遭受数据损失或是泄密的危险。

  一般不太熟悉网络安全知识的人如果不需要上局域网的话,建议关闭共享和远程协助功能。

  五、忌装好XP后又在同一分区安装Windows 9X

  XP是用NT架构开发的,但默认放置文件的目录却不是WINNT,在你安装XP的分区上也是命名为Windows目录。如果你在装好了XP后,又在同一分区安装一个Windows 98,不仅可能会破坏多操作系统的启动菜单,而且还可能因为98的安装程序覆盖了文件而破坏XP系统,因为9X默认安装路径也是 Windows。所以建议你还是每一个操作系统独立占一个分区好,而且注意先装低版本的视窗,再安装XP,以免又要用安装程序修复多重启动菜单。

  六、忌在支持ACPI不好的机器上用XP的待机或休眠

  支持ACPI不好的机器上,主要是电源和主板的问题,此时如果使用休眠或待机的功能,恢复以后声卡可能发声会不正常,带有很大扑哧扑哧的杂音。

  另外,因为待机和休眠都是要关闭硬盘的,但在对ACPI支持不好的系统里,关闭硬盘却没切断电源,甚至是硬盘的关闭也不完全,可能你离开数秒后硬盘又自动打开,这样磁头在短时间内还没复位就受到电流的很大冲击,硬盘的寿命将受很大的影响。

  建议你发现自己的XP系统待机或休眠功能有BUG的话,最好换个好电源或好的主板,你不打算更换的话,最好别用XP的待机和休眠功能。

系统分类: 自由话题
用户分类: 技术资料
标签: XP
来源: 整理
发表评论 阅读全文(798) | 回复(2)

1

关于投票
解决“鼠标关机后仍然发光”的小窍门

直接拔电源的就pass了吧:kdtiaopi;

非常简单,一个小设置就Ok

主板的键鼠开机功能是造成鼠标在关机后仍然发光的最普遍的原因。主板的BIOS中一般都提供了对键鼠开机功能的设定,大家可以进入BIOS主菜单的 “Power Management Setup”页面找到“S3 KB Wake-Up Function”或者是含义相近的选项,将其设置为“Disable”,关闭主板对键鼠的+5VSB供电,PS/2光电鼠在关机之后自然就不会亮了。另外,有些USB光电鼠标也会在关机后继续发光,解决的方法基本和PS/2相似,进入BIOS主菜单的“Power Management Setup”页面,将“USB Wake-Up From S3 ”或者是含义相似的选项设置为“Disable”就可以了.

系统分类: 自由话题
用户分类: 技术资料
标签: 鼠标
来源: 整理
发表评论 阅读全文(570) | 回复(0)

1

关于投票
PICCl8编译器命令行驱动及其应用

摘要 在微芯公司MPLAB IDE集成开发环境下采用PICCl8C语言进行开发时,遇到了编写的程序代码未超过芯片代码长度,但编译不成功的问题。奉文介绍HI-TECH公司C编译器的原理和PICCl8命令行驱动器的工作过程,并以解决程序代码限制和库文件的生成、使用为例,说明其具体实现方法,解决采用PICCl8进行应用的实际工程问题。
关键词 PICCl8 编译器 命令行驱动

引 言
    PICl8F系列产品是美国微芯科技公司的高档产品,用户多采用C语言进行编程设计,HI-TECH SoftwarePty.Ltd.公司的PICCl8编译器得到了广泛应用。大部分应用者使用MPLAB集成环境进行编程(见参考文献[1]),在一些重要或大型应用的开发中有一些问题。例如,如何编写C语言的库文件,如何对有代码限制的程序进行编译等,若只是采用传统方式编程,则达不到应有的效果。本文所阐述的HI-TECH C编译器的PICCl8命令行驱动,正是要解决这些问题。

1 HI-TECH C编译器
    HI-TECH C编译器提供了C语言的标准特性,同时还加上许多为了适应PIC系列单片机的特定硬件特性而设计的扩展功能,并与汇编器集成在一起提供共享链接器和库管理工具,因而应用较为广泛。
    当编译一个程序时,就有许多操作既可由命令行驱动程序CLD(command-line driver),也可由HPD集成环境驱动程序(觋在为HI-TIDE)独立完成。在任一情况下,HPD或CLD(HPD下的菜单选项,或CLD的命令行)采用编程者指定的选项来决定哪一个内部应用需要执行,以及什么选项需要发送给每个应用。
    用户提供的适合于目标系统的C语言源程序、汇编语言程序,都可以用CLD或HPD进行操作。当用CLD时,用命令行的任何命令来选择操作方式;当使用HPD时,在源文件列表对话框中键入需要的文件。
    通常使用的源程序可以被编译到一个库文件中,这样文件可被编译器更方便地处理、更快速地访问。编译器可以像其他源文件一样直接接收库文件,并用.lib扩展名指定文件的类型,因而库文件必须按这种方式命名。库文件在使用CLD时,用命令行的任何命令来选择操作方式;或使用HPD时,在“源文件列表…”对话框中键入需要的库文件。
    实际上,在使用MPLAB IDE集成环境进行开发时,是使用了CLD的,只是在平常的应用中没有注意到而已。下面是在MPLAB IDE中对C源文件进行编译的结果:

点击看大图
    从上面的结果可以看出,编译器使用了CLD命令,二者是可以统一。只有了解了CLD后,才能对HI-TECHC编译器有更深入的理解和掌握。

2 PICCl8命令行驱动器
    PICCl8是调用DOS命令行的驱动器,用来编译和/或链接C语言程序的。PICCl8的基本命令格式为:
    piccl8[选项]files[文件库]
    通常在文件名之前用破折号“——”来识别,实际上这不是必须的。文件可以是源文件(C或汇编程序)和目标文件的混合。文件库是库名字的一个列表,或一L选项源文件。目标文件和库文件通过文件类型或扩展名被PICCl8区分,类型如表1所列。

    PICCl8将检查每个文件并完成适当的操作。C文件将被编译,汇编文件将被汇编。最后,所有通过编译或汇编得到的目标文件或者在命令行中明确列出的目标文件,都将与标准运行代码库和任何用户指定库链接,除非它们被某种选项禁止。仅当引用源代码时,库中函数才能被链接成结果输出文件。仅用目标文件(如没有源文件)作为凋用PICCl8,意味着仅执行链接阶段,这是一种典型的用法。用PICC18的C选项编译几个自己编写的源文件作为目标文件,然后仅用生成的目标文件和适当的库(及适当选项)调用PICCl8来创建最终程序。
2.1 长命令行
    PICCl8驱动器是32位的视窗软什,可以处理超过128字符长的命令行。驱动器可以通过DOS的批文件调用,或通过命令文件传递选项。当使用批文件时,送入PICCl8的命令行必须列成一行。在命令文件中,驱动器选项可以被传送至多行,这是通过一个空格键紧接一个反斜线“\”再接一个回车键来分开各行实现的。例如,一个命令文件可以包含:

    点击看大图
    因为没有提供命令行指令,因此PICC18将读xyz.cmd得到它的命令行指令。命令文件也可以通过@符号读出。
例如:
    PICCl8@xyz.cmd
2.2 PICCl8编译器选项
   
编译器的设定主要基于ROM代码的生成。表2列出了PICCl8编译器的几个常用的重要选项。

点击看大图

    ①定义处理器类型:-processor。

    这一选项决定了哪个处理器被使用。例如,用命令行-18c452来编泽PICl8C452。用户也可以增加自己的处理器到编译器。
    ②指定ROM偏移量:-Aaddress。
    -A选项是用来为ROM映像区指定基地址的。若该选项要求引导输入这样的调试工具,则该词试工具期望ROM映射地址始于非零地址。该选项影响所有基于ROM的部分,包括复位和中断向量,以及放置代码和常量数据的链接器分类。如果基地址指定到外部存储器,则必须用-ROM选项指定外部存储器的可用地址范围。
    ③优化器及优化优先级选项:-O和-Zg。
    -O表示调用PICC18的优化器,-Zg选项在代码生成路径调用全局优先级。这对于代码长度的缩减及内部RAM的使用有着重要意义。该优先级没有传递优先级苛刻,但对代码长度的缩减很有意义。在一个执行函数的基础上,全局优先级可以最优化寄存器的使用。它也利用代码中常最的传递来避免不必要的存储器访问。
    该选项默认的级为1(最低优先级)。优先级可以设置为l~9的任意一级(9为最高优先级)。数字表明优先级试图缩减代码的程度。对于PICCl8,高于3的优先级通常没有什么用处。
    了解了命令行驱动后,对第1节中在MPLAB IDE中对C源文件进行编译的例子就有了更深入的理解。

3 命令行驱动应用
   
下面介绍命令行驱动在实际应用中的一些例子。通过这些例子,可以对命令行驱动的应用有一个初步的认识,并可以此为基础,对PICCl8编译器进行深入的学习和应用。
3.1 命令行驱动编译源文件
   
在Win2000下进行如下操作:执行“开始”→“运行”命令,然后输入“CMD”;或执行“开始”→“程序”→“附件”→“命令提示符”命令,弹出cmd.exe的界面,如图1所示。若cmd.exe中出现的当前目录不是在C盘根目录下,则需要通过输入命令“cd c:\”进入C盘根目录。输入“cd htsoft\picl8\bin”命令,进入PICCl8.exe软件所在目录 (默认安装时的目录),如图2所示。

点击看大图

    
(1)编译Izqmwyz.c
    输入“piccl8-18f458 lzqmwyz.c”,含义是使用piccl8.exe编译器对lzqmwyz.c源文件进行编译,单片机型号为18f458(即PIC18F458单片机)。这时会输出所需要的编译结果,生成的文件中,以hex为扩展名的lzqmwyz.hex较为重要。若源程序有语法错误,还会显示出错信息及所在的行。
    注意:在cmd.exe界面中进行操作时,所有的源文件均存放在PICC18.exe同一目录下(PICCl8.exe默认安装目录是c:\HTSOFT\PIC18\Bin)。在本文中,PICC18均采用此默认安装目录。这里lzqmwyz.c存放在c:\HTSOFT\PICl8\Bin下。
(2)-noerrata选项
    “-noerrata”选项不使能输出代码的错误修改,而缺省时,会对编译器的输出代码有所修改。有些芯片没有正误表,不会用编译器对此修改。这个选项可以用编译器来禁止任何正误表方位。当正误表变化时,会安全禁止。对有些芯片(如PIC18F458等),PICCl8对程序的代码长度进行了限制(一般限制在0x4000之内,即16KB之内)。这就是同上的PICl8应用论坛中。有些网友提出代码有限制的原因。有些编程者则在程序中编写了下面的提示程序:

点击看大图
    若编译的程序代码超出了这个范围,将会列出出错信息。
    图3是对solar050408.c源文件编译时,代码超过了Ox4000长度时出现的提示信息。

点击看大图

    使用-noerrata选项时,solar050408.c源文件编译就会得到正确的编译结果,命令为“piccl8-18f458solar050408.c-o-zgl-noerrata”。命令中“-o”表示调用PICCl8的优化器,“-zg1”表示调用优化器时采用的优先级为1级。
3.2 库文件生成及应用
3.2.1 C源文件
(1)包含main函数的lzqmwyzl.c源文件

点击看大图

点击看大图
(2)包含function_X3函数的funcx3.c源文件

 
3.2.2 生成库文件

    用3.2.1中的两个文件直接创建一个应用程序,这在平时的应用中是经常用到的。这里介绍将funcx3.c源文件生成库文件,再由lzqmwyz.c调用的方法,也就是自己制作库文件进行使用。
(1)生成obj文件
    将funcx3.c源文件存放在PICCl8.exe同一目录下,然后在cmd.exe中输入“PICCl8-18f458-C funcx3.c”。-C选项是将几个源文件编译成目标文件(.obj文件)。这里是将funcx3.c的源文件编译成funcx3.obj文件,然后就可以在c:\HTSOFT\PICl8\Bin目录下找到funcx3.obj文件。
(2)生成lib库文件
   
在cmd.exe中输入“libr r fun.lib runcx3.obj”。其中r选项为替换模块。fun.lib是由函数funcx3.c制作的库文件的文件名,如图4所示。

3.2.3 库文件应用
   
图5是使用3.2.1的lzqmwyzl.c源文件和调用3.2.2制作的库文件fun.1ib的工程。这时使用到的就只有lzqmwyzl.c源文件和fun.1ib文件,而不必再应用包含runetton_X3函数的funcx3.c源文件。

点击看大图

结语
    PICCl8编译器命令行驱动在实践中有许多应用,只有了解了它,才能对C编译器有更多、更深入的认识。限于篇幅,本文只起抛砖引玉的作用,提供一种思路供广大编程者参考;同时,对于PICC也有相应的参考价值。

系统分类: 单片机
用户分类: 技术资料
标签: PICC
来源: 转贴
发表评论 阅读全文(340) | 回复(0)

1

关于投票
PIC系列16位单片机指令集

pdf

PIC系列16位单片机指令集

系统分类: 单片机
用户分类: 技术资料
标签: PIC系列 16位单片机 指令集
来源: 整理
发表评论 阅读全文(607) | 回复(1)

1

关于投票
PIC系列14位单片机指令集

pdf

PIC系列14位单片机指令集

系统分类: 单片机
用户分类: 技术资料
标签: PIC 系列 14位单片机 指令集
来源: 整理
发表评论 阅读全文(396) | 回复(0)

1

关于投票
PIC16F877单片机C语言编程实例教程

pdf

PIC16F877单片机C语言编程实例教程

系统分类: 单片机
用户分类: 技术资料
标签: PIC16F 单片机 C语言 编程 教程
来源: 整理
发表评论 阅读全文(534) | 回复(0)

1

关于投票
PIC8位单片机汇编语言常用指令的识读

rar

PIC8位单片机汇编语言常用指令的识读

系统分类: 单片机
用户分类: 技术资料
标签: PIC 8位单片机 汇编语言 指令
来源: 整理
发表评论 阅读全文(319) | 回复(0)

1

关于投票
PIC单片机C语言学习教程

pdf

PIC单片机C语言学习教程

系统分类: 单片机
用户分类: 技术资料
标签: PIC 单片机 C语言 教程
来源: 整理
发表评论 阅读全文(523) | 回复(0)

1

关于投票
PIC编程应用笔记

pdf

PIC编程应用笔记

系统分类: 单片机
用户分类: 技术资料
标签: PIC 编程 应用笔记
来源: 整理