历史上的今天
返回首页

历史上的今天

今天是:2025年03月23日(星期日)

正在发生

2021年03月23日 | 飞思卡尔16位单片机(二)开发环境搭建及新建、调试工程

2021-03-23 来源:eefocus

一、安装CodeWarrior

      飞思卡尔16位单片机的开发环境为CodeWarrior5.1,这个软件安装比较简单,软件的安装文件可以从相应的网站上下载。安装CodeWarrior所需要的电脑的硬件资源也比较宽泛,目前一般的电脑都可以满足这个要求,可以支持win10、win7等操作系统。安装过程按照按照软件的提示一步步操作即可。


二、安装USBDM驱动

       USBDM是飞思卡尔16位单片机的少些代码及调试程序的工具。飞思卡尔16位单片机可以支持多种调试工具,典型的有官方的调试器和开源的USBDM调试器,由于开源的调试器版本比较多,不同版本驱动的安装方法也不相同,所以USBDM驱动的安装需要参考厂家的使用说明进行。安装好驱动之后,可以在设备管理其中查看到USBDM对应的设备。如下图所示。

三、新建工程

        安装好了CodeWarrior和烧写器驱动之后,我们就可以开始我们的的开发之旅了。首先我们先来看一下如何新建工程,我们以XEP100单片机为例进行说明。


1) 点击电脑左下角的开始菜单,开始>所有程序>Freescale CodeWarrior> CodeWarrior development studio for S12(X) V5.1> CodeWarriorIDE。IDE开始运行,出现下图所示的窗口。

2)点击此窗口中的“Create New Project”(或关闭此窗口再点击菜单栏的File>New Project…), 出现如下图所示的窗口

3)在左边的框中点开HCS12X,再点开其中的HCS12XE Family,选中其中的MC9S12XEP100。在右边的框中选中USBDM,如下图所示。

此步的操作时选择单片机的型号和调试工具,单片机选择的是MC9S12XEP100,调试工具选择的是飞思卡尔的开源BDM下载器USBDM。接下来点击“下一步”,出现如下的窗口。

4)在图3.4窗口中选择“Single Core (HCS12X)”,此项设置为设置单片机的工作模式的,选择为单核模式,点击“下一步”,出现如下图所示的窗口。

5)在图3.5窗口左侧的复选框中选择“C”,确定编程语言,在此窗口的右侧设定工程名和工程的保存位置,这两项是使用者可以随意修改的,但不要改变工程的扩展名。设置好之后点击“下一步”,出现如下图所示的窗口。

6)这一步不需要进行任何设置,直接点击“下一步”即可。出现如下图所示的窗口。

7)这一步也不需要设置,直接点击“下一步”即可。出现如下图所示的窗口。

8)在上图的窗口中,最上边的单选框选择“ANSI startup code”,中间的单选框选择“Banked”,最下边的单选框选择“None”。最下边的单选框是用来设置浮点数格式的,由于单片机对浮点数运算比较慢,不推荐使用浮点数,所以此项选侧“None”。点击“下一步”,出现如下图所示的窗口。

9)按照默认设置,点击下一步,出现如下图所示的窗口。

10)在单选框中选择No,点击“完成”,一个新的工程建成了。IDE会自动生成工程文件。双击“main.c”文件可对其进行修改。见下图。

四、调试工程

        在新建的工程中键入如下代码


#include      

#include "derivative.h"     

#define LEDCPU PORTK_PK4

#define LEDCPU_dir DDRK_DDRK4

void delay(void) 

{

   unsigned int i;

   for(i=0;i<50000;i++);

}

 

void main(void) {

  LEDCPU_dir=1;

EnableInterrupts;

  for(;;) 

  {

      LEDCPU=1;

      delay();

      LEDCPU=0;

      delay();

  } 

}

这是一个闪灯的代码,发光二极管采用单片机PK4口进行控制。


        用USBDM调试器将单片机的电路板与电脑连接起来,并给电路板供电。点击开发环境的Project-->Debug菜单。可以下载程序,会出现如下窗口。

点击窗口中的“Open BDM”,如果当前单片机中有程序在执行,则会跳出另外一个窗口,如下图所示。

直接点击“确定”,开始下载程序,直到程序下载完成,出现如下图所示的调试窗口。

点击Run-->Start/Continue菜单,程序开始运行,则可以看到LED灯在闪。


推荐阅读

史海拾趣

Coiltronics公司的发展小趣事

随着市场的不断扩大,Coiltronics公司意识到单凭自身的力量难以满足日益增长的市场需求。于是,公司开始积极寻求与其他企业的战略合作。通过与知名电子设备制造商建立合作关系,Coiltronics成功将其线圈技术应用于更广泛的领域,进一步提升了市场份额。同时,这种合作也带来了双方在技术研发、市场推广等方面的深入交流,为公司的长远发展奠定了坚实基础。

Exar公司的发展小趣事

面对日益激烈的市场竞争和不断变化的市场需求,Exar公司始终坚持以创新为核心竞争力。公司不断投入研发资金,加强技术创新和产品研发力度,推出了一系列具有自主知识产权的新产品。同时,Exar还积极关注行业发展趋势和市场动态,不断调整和优化产品线,以适应市场的变化和发展。在未来,Exar将继续坚持创新驱动的发展战略,努力成为电子行业的领军企业。

请注意,以上故事框架仅供参考,具体的故事内容需要根据实际情况进行补充和完善。

广东华裕(GDHY)公司的发展小趣事

Exar公司通过收购和兼并多家公司,实现了技术融合和产品线拓展。其中,Neterion和Hifn的收购是Exar发展历程中的重要里程碑。Neterion在万兆以太网数据传输技术和虚拟化IO技术方面处于领先地位,而Hifn则在数据精简、加密、压缩技术方面拥有领先技术。Exar将这两家公司的技术融合在一起,推出了一系列高性能的数据传输和存储产品,进一步巩固了其在行业中的领先地位。

EFINIX公司的发展小趣事

EFINIX公司继续深化其在FPGA领域的技术创新,成功推出了Trion FPGA产品系列。该产品具有低功耗、精细封装面积和强大的性能特点,深受市场欢迎。在Trion FPGA产品销售的头三个月里,EFINIX公司获得了多项设计认可和客户订单,并有很多客户已经开始使用Trion FPGA进行产品设计。

硕颉(BITEK)公司的发展小趣事

硕颉科技高度重视知识产权保护,积极申请专利。截至2015年10月,公司已取得台湾63件、美国52件、中国大陆24件、日本4件及韩国10件等共153件专利。这些专利的取得,不仅为公司的技术创新提供了法律保障,也进一步巩固了公司在行业内的竞争地位。

Hitachi Metals公司的发展小趣事

自1956年成立以来,Hitachi Metals便逐步在电子材料领域建立了坚实的基础。公司早期便专注于研发和生产用于电子设备的核心部件,如磁性材料。随着电子行业的蓬勃发展,日立金属迅速抓住了市场机遇,推出了高性能的Nd-Fe-B系列烧结磁石和高性能铁氧体烧结磁石,这些材料广泛应用于计算机、半导体集成电路器件及平板显示屏等高科技产品中。凭借其卓越的产品质量和稳定的市场供应,Hitachi Metals在电子材料市场上赢得了广泛的认可。

问答坊 | AI 解惑

十天学会AVR视频教程

第一讲:开发板和软件的操作使用 1、 介绍配件。 2、 安装软件(ICC AVR 和AVR STUDIO)及其使用,包括新建工程、程序下载,仿真调试;整板测试;板上资源。 3、 着重介绍一下USB接口的仿真器。 第二讲:AVR单片机的概述和C语言的基础知识 ...…

查看全部问答>

关于一个单片机IO口输出的问题

小弟刚刚接触研发,还没入门,我在用单片机(stc89c58)的IO口驱动继电器时,想让单片机上电后就使IO口输出高电平,希望继电器有动作,结果就是没有动作。后来发现必须先置低IO口后再输出高电平才能得到自己想要的效果,到现在我也不明白什么为什么 ...…

查看全部问答>

DS2-电力载波通讯PLC

DS2-电力载波通讯PLC   什么是电力载波通讯PLC技术?   电力载波通讯PLC(英文:Power line communication)是电力系统特有的通信方式,电力载波通讯是指利用现有电力线,通过载波方式将模拟或数字信号进行高速传输的技术。最大特点是不需要重 ...…

查看全部问答>

单片机破解的常用方法及应对策略

单片机破解的常用方法及应对策略…

查看全部问答>

FPGA异步时钟设计中的同步策略

1 引言     基于FPGA的数字系统设计中大都推荐采用同步时序的设计,也就是单时钟系统。但是实际的工程中,纯粹单时钟系统设计的情况很少,特别是设计模块与外围芯片的通信中,跨时钟域的情况经常不可避免。如果对跨时钟域带来的亚稳态、 ...…

查看全部问答>

办公室的[危险品]手雷鼠标

在办公室里看到有人手持一个手雷,你会作何感想?别着急,这很可能就是这样一款手雷鼠标。它的功能跟普通的鼠标完全一样,只是增加了一个手雷的外壳。…

查看全部问答>

开机自动运行问题

我现在要实现开机自动运行一个小程序,但是按照网上给的步骤 1.将MyApp.exe复制到目录 D:\\WINCE420\\PUBLIC\\XSBase255_test\\RelDir\\XSBASE255_ARMV4Release下; 2.修改MyWinCE工程的project.bib文件,在FILES   Section添加 M ...…

查看全部问答>

如何在驱动中创建虚拟串口与USB通信???

最近要在原来的板子上添加3G模块,用的是中兴的MC8630,但该模块的AT指令是通过串口来发送接收的,而相关的数据信息是通过USB来进行的 如此一来,我们是这样设想的:在原来的板子上模拟一个虚拟串口来接收上层的AT指令,然后该虚拟串口再把接收到的指令 ...…

查看全部问答>

wince 下mfc变成如何改变常规定时器的优先级

小弟最近在用mfc编程。用常规定时器定时接收串口中的数据,但是当我点击界面中其它按钮的时候,接收到的串口数据有丢失现象。请问可不可以把常规定时器的优先级设高一些,让其它如鼠标消息的优先级设低一些,从而使接收数据不丢失。 …

查看全部问答>

sd卡的 RCA作用

小弟目前正在研究SD卡协议相关,对CMD3的Response中的RCA不是很理解,不知道具体作用是做什么的,与读写卡操作时的逻辑地址,物理地址有什么样的关系?…

查看全部问答>