历史上的今天
今天是: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灯在闪。


史海拾趣
|
第一讲:开发板和软件的操作使用 1、 介绍配件。 2、 安装软件(ICC AVR 和AVR STUDIO)及其使用,包括新建工程、程序下载,仿真调试;整板测试;板上资源。 3、 着重介绍一下USB接口的仿真器。 第二讲:AVR单片机的概述和C语言的基础知识 ...… 查看全部问答> |
|
小弟刚刚接触研发,还没入门,我在用单片机(stc89c58)的IO口驱动继电器时,想让单片机上电后就使IO口输出高电平,希望继电器有动作,结果就是没有动作。后来发现必须先置低IO口后再输出高电平才能得到自己想要的效果,到现在我也不明白什么为什么 ...… 查看全部问答> |
|
DS2-电力载波通讯PLC 什么是电力载波通讯PLC技术? 电力载波通讯PLC(英文:Power line communication)是电力系统特有的通信方式,电力载波通讯是指利用现有电力线,通过载波方式将模拟或数字信号进行高速传输的技术。最大特点是不需要重 ...… 查看全部问答> |
|
1 引言 基于FPGA的数字系统设计中大都推荐采用同步时序的设计,也就是单时钟系统。但是实际的工程中,纯粹单时钟系统设计的情况很少,特别是设计模块与外围芯片的通信中,跨时钟域的情况经常不可避免。如果对跨时钟域带来的亚稳态、 ...… 查看全部问答> |
|
最近要在原来的板子上添加3G模块,用的是中兴的MC8630,但该模块的AT指令是通过串口来发送接收的,而相关的数据信息是通过USB来进行的 如此一来,我们是这样设想的:在原来的板子上模拟一个虚拟串口来接收上层的AT指令,然后该虚拟串口再把接收到的指令 ...… 查看全部问答> |
|
小弟最近在用mfc编程。用常规定时器定时接收串口中的数据,但是当我点击界面中其它按钮的时候,接收到的串口数据有丢失现象。请问可不可以把常规定时器的优先级设高一些,让其它如鼠标消息的优先级设低一些,从而使接收数据不丢失。 … 查看全部问答> |




