从业十年,教你单片机入门基础 第4讲:
C语言代码写在哪里,谁负责把它翻译成Hex格式机器码?这就涉及到编辑和编译,从而诞生了平台和编译这两种软件。平台软件负责编辑源代码,编译软件负责把源代码翻译成Hex格式的机器码。
不同厂家的单片机,它所用的平台和编译器软件都不一样。即使是同样一个厂家的单片机,它也有可能存在多种不同的第三方平台软件和编译器软件,下面列举的一些例子只是主流的平台和编译软件,并不是说它们是唯一的。
PIC单片机的平台软件是MPLAB,8位单片机是PICC编译器,12位单片机是PIC18编译器,16位单片机是C30编译器。这个例子从侧面也说明了一个平台软件可以嵌入多种不同的编译器软件,平台软件和编译器软件存在一对多的关系。
51单片机的平台软件是keil,编译器是C51。
以上所述,单片机程序开发需要用到两种软件,但是实际项目开发的时候,我们只是跟平台软件打交道就可以了,因为编译器软件是当做一种独立配件嵌入到平台软件里,统一受平台软件控制。我在用PIC的8位单片机时,需要安装一次MPLAB平台软件,也需要独立再安装一次PICC编译器软件,然后运行MPLAB平台软件,在里面操作某个菜单设置选项,把PICC编译器跟MPLAB平台软件关联起来,也就是我所说的把PICC编译器嵌入到MPLAB平台软件里,统一接受平台软件的控制,但我写代码只需要跟MPLAB平台软件打交道就可以了。我早期在做51单片机开发时,也是需要把keil平台软件和C51软件分开安装,然后再把它们关联起来,但是现在从keil2版本开始,在安装keil平台软件时就已经默认把C51安装好了,并且自动把C51嵌入到了keil平台软件。我现在用keil4这个版本的平台软件,只需要安装一次keil平台软件就可以了,不需要像早期那样再单独安装C51编译器。
下节预告:用keil软件新建,关闭,打开一个完整工程的操作流程。
关键字:平台软件 编译器
引用地址:
第4节:平台软件和编译器软件的简介
推荐阅读最新更新时间:2024-03-16 14:46
几种单片机相关的编译器预定义宏
__IAR_SYSTEM_ICC__ // IAR for avr 的预定义宏 _AVR // ICC for avr 的预定义宏 __CC_ARM // KeilMDK 的预定义宏 __ICCARM__ // IAR for arm 的预定义宏 __GNUC__ // GNU 编译器的预定义宏 __TASKING__ // TASKING for arm的预定义宏 关于Keil的预定义宏详见 http://wenku.baidu.com/link?url=LCdwC1KHfCnBPSIsNk98nSLAnjrVAMpi7WYg68ApTgTUPt1gRfQuN3XDJ
[单片机]
基于LabVIEW开发平台实现读写器自动化测试软件的设计
引言 超高频RFID读写器射频的测试项目有载波频率容限、占用带宽、发射功率、邻道功率泄露比和杂散发射等。在通常的手工测试中,每一项测试都要对仪器进行重新配置、重复的手工测试和记录大量的数据,不仅浪费时间而且还容易出错。RFID测试软件通过通用总线接口GPIB接口把计算机和仪器有机地融合为一体组成一个测试系统,从而把计算机的数据处理能力和仪器的测量、控制能力结合在一起,以使测试流程集成化简单化,最大程度地降低测试人员的工作量与操作复杂程度。该测试系统具有自动控制、数据采集和报告自动生成功能,软件提供仪器配置、仪器设置、仪器校准等信息,并提供实时操作提示、仪表的工作状态和当前测试状态等信息。 1、 测试系统的硬件构成 图1所示的测
[测试测量]
C51编译器-语言扩展(5)-中断函数
Interrupt Functions中断函数 8051及其变种提供了一定数量的硬件中中断,这些中断有: Interrupt Number Interrupt Description Address 0 EXTERNAL INT 0 0003h 1 TIMER/COUNTER 0 000Bh 2 EXTERNAL INT 1 0013h 3 TIMER/COUNTER 1 001Bh 4 SERIAL PORT 0023h 随着生产商制出新器件,增加了更多的中断。Cx51支持多达32
[单片机]
用于通信系统的软件自定义测试平台
基于软件定义的现代通信系统包括蓝牙、WiMAX、CDMA2000、ZigBee、GSM、EDGE、RFID,而这些无线通信标准正以前所未有的速度日渐成熟(图1)。同时,由于Microsoft、Vodafone与Google等公司的联合,通过V CAST欣赏热门的足球比赛,应用Google Earth取得区域定位信息也愈发普遍。随着全球许多国家无线通信应用的迅猛发展,为满足用户需求而增加数据带宽已经成为移动通讯的最大挑战。 由于产品发布的激烈竞争,研发设计的速度已经超过了测试所能负荷的速度。在ZigBee与802.11n标准完善之前,制造商就向市场发布了基于此协议的设备。传统仪器制造商预先定义的标准测试系统也已经被取代。这
[测试测量]
在ARM平台上如何才能以节能方式来设计和编软件
内容摘要:在强调便携式设备的电池寿命时,看起来比较奇怪是,很少有软件工程师在其日常项目任务中真正做到了减少能耗。我猜想对这个课题有所想法的那些人可能都是本着荣辱自担的想法才关注此课题的。我们到了要做些改变的时期。随着电池寿命和性能要求的矛盾持续,我们作为软件工程师不得不要用更多时间来找出如何才能以节能方式来设计和编写我们的软件,至少在工具能满足我们要求之前需要这样做。 我们这些软件工程师都热衷于为我们遇到的问题找出完美的解决方案。但奇怪的是,我们会发现在这个特定的领域,没有一个完美的解决方案。聪明的技巧可能会节省一些功率,但是这个领域是由其他更简单的因素支配的。就象房间里有几头很大的大象,我们必须要先小心翼翼地猎取我们
[单片机]
ARM平台的低功耗软件设计和编写
我们这些软件工程师都热衷于为我们遇到的问题找出完美的解决方案。但奇怪的是,我们会发现在这个特定的领域,没有一个完美的解决方案。聪明的技巧可能会节省一些功率,但是这个领域是由其他更简单的因素支配的。就象房间里有几头很大的大象,我们必须要先小心翼翼地猎取我们可以看到的大象,然后再花精力去猎捕体型小的动物。 在考量某个系统的功耗时,重要的是要弄清楚我们实际测量的对象是什么。我们说的“节省功耗”可能意味着几个方面。它意味着“功率”还是“能量”。实际上,我们既需要功率也需要能量。大多数手持便携式设备均具有以下两个不同的预算:功率预算——它管理着瞬间功耗、避免过热或产生热应力,而能量预算则管理着长期使用的能量总数。而软件则需要满足短期的功
[单片机]
DSP编程技巧-揭开编译器神秘面纱之链接器的高级选项
在对 编译器 / 链接器 的各个选项的分析中,我们多次提到了“符号(symbol)”这个概念,而 DSP 调试的过程,往往也有个显著的特点,叫“符号调试”。每个可充定位目标模块都有一个符号表,它包含了模块中所定义和使用的符号的信息。在 链接器 的上下文中,有三种不同的符号: 1. 在目标模块中定义,并能被其它模块所引用的符号全局符号。全局 链接器 符号对应于非静态的C函数以及被定义为不带C static属性的全局变量。 2. 由其它模块所定义,并在当前目标模块中被引用的全局符号,这些符号被定义为外部符号(external),对应于定义为其它模块中的C函数和变量。例如我们在一个C文件中使用extern来
[嵌入式]
封闭的苹果iPhone将无法主宰市场
Google移动平台集团经理Rich Miner日前在硅谷电脑历史博物馆举办的新兴通讯会议(Emerging Communications Conference)上预测,Android产品销售量将超越iPhone。 换句话说,iPhone不会像iPod-iTunes组合一样,主宰通讯市场。 Miner以微软授权和开放源代码模式为例,他说:当你拥有摩托罗拉、HTC、三星等公司的设备可用,Android潜在市场将比iPhone大得多。 也就是说,一个大部分封闭设备(iPhone黑客除外)--每个国家只有一家合作的电信运营商,应用软件也受限于Mac OS—不是创造大规模需求的配方。苹果在一个潜在需求量可
[焦点新闻]