【嵌入式开发工具】TI+IAR建立工程与在线调试

编程入门 行业动态 更新时间:2024-10-11 15:21:37

【嵌入式开发工具】TI+IAR建立工程与<a href=https://www.elefans.com/category/jswz/34/1770935.html style=在线调试"/>

【嵌入式开发工具】TI+IAR建立工程与在线调试

IAR于1983 年在瑞典乌普萨拉由工程师Anders Rundgren创立,“IAR”是 Ingenjörsfirman Anders Rundgren 的缩写,意思是Anders Rundgren工程公司。笔者接触到这个开发工具主要是因为其对早期Ti的芯片支持很好,开发起来比较方便。不过现在TI公司官网的资料都以CCS(Code Composer Studio)为集成开发环境来支持TI 的微控制器和嵌入式处理器产品的开发,所以本篇文章不再拘泥于一个固有的芯片,而是通过不容芯片型号来举例说明IAR这款嵌入式开发工具的使用。

目录

IAR工程搭建控制LED灯闪烁

IAR下载与安装

IAR环境调试 

IAR环境补充说明


IAR工程搭建控制LED灯闪烁

我们这里以CC2530举例介绍IAR环境搭建LED灯闪烁,CC2530是德州仪器(Texas Instruments)推出的一款常用的Zigbee模块。它采用了低功耗的SoC(系统级芯片)设计,集成了Zigbee通信协议栈和无线电频率部分,具有较高的性能和灵活性。CC2530模块广泛应用于家庭自动化、工业控制和传感器网络等领域。

首先我们打开IAR工具,从Project中选择Creat New Project建立新的工程,然后选择工具链为8051,点击OK之后选择工程存储的位置并命名工程为gpio,然后工程即建立完毕。左上角的摁扭点击即可以源文件进行开发。

然后将事先从Ti官网例程(目前Ti官网的例程已经为使用CCS集成开发环境的SDK)中摘取的Led控制程序拷贝到工程目录下,代码如下。

/***************************** 头文件 ****************************/
#include <ioCC2530.h>/***************************** 宏定义 ***************************/
//类型定义
#define uint  unsigned int
#define uchar unsigned char//定义控制灯的端口
#define LED1 P1_0	//定义LED1为P10口控制
#define LED2 P1_1	//定义LED2为P11口控制
#define LED3 P0_4	//定义LED3为P04口控制/****************************** 函数声明 ******************************/
void Delay(uint);		//延时函数
void InitIO(void);		//初始化LED控制IO口函数/****************************** 函数定义 ******************************//************************************************
函数名称:Delay
功    能:延时
参    数:无
返 回 值:无
*************************************************/
void Delay(uint n)
{uint i;for(i = 0;i<n;i++);for(i = 0;i<n;i++);for(i = 0;i<n;i++);for(i = 0;i<n;i++);for(i = 0;i<n;i++);
}
/************************************************
函数名称:InitIO
功    能:GPIO初始化
参    数:无
返 回 值:无
************************************************/
void InitIO(void)
{P1DIR |= 0x03;  //P10、P11定义为输出P0DIR |= 0x10;  //P04定义为输出LED1 = 1;LED2 = 1;LED3 = 1;	//LED灯初始化为关
}/************************************************
函数名称:main
功    能:主函数
参    数:无
返 回 值:无
***********************************************/
void main(void)
{InitIO();		//初始化LED灯控制IO口while(1)                //死循环{  LED1 = !LED1;           // LED1灯闪一次Delay(50000);           LED2 = !LED2;           // LED2灯闪一次Delay(50000);            LED3 = !LED3;           // LED3灯闪一次Delay(50000);}
}

在IAR中将源文件添加到工程中。

我们下面对工程进行一些必要配置,保证其编译能够通过,选择工程并右键选择Options进行工程配置。

根据芯片类型找到设备文件正确配置Device为CC2530F256。

此时摁下下图红框右边的摁扭即可以Make来生成可执行文件,红框左边的摁扭为Compile,仅编译检查源文件语法错误,可以看到下面Messages窗口显示出Make的结果。

上图还有一些没有介绍的摁扭,这两个摁扭为查找和替换,这两个为添加书签和跳到书签。


IAR下载与安装

点击这里可以跳转官网下载IAR Embedded Workbench for MSP430,Ti提供的16 位 MSP430™ 微控制器 (MCU) 可提供经济实惠、适用于所有应用的解决方案。

下载完成之后点击Install IAR Embedded Workbench for MSP430进行工具安装,安装完成之后打开工具可以关注一下User guides 和Example projects这两个能够帮助我们快速构建我们的项目。

新建项目之后记得选择对应MSP430的Device,后边我用的截图均是之前比较久远项目。 

下图是MSP430开发板与控制LED灯相关的原理。

下面代码可以控制LED灯实现呼吸灯的效果,延时使用空跑指令实现,实际项目可通过定时器来实现延时。

#include<msp430.h>
int main(void)
{WDTCTL = WDTPW | WDTHOLD;unsigned int de1,de2,deley,i;i=0;de1=0;de2=500-de1;P1DIR=0x01;while(1){if(i==0){P1OUT=0x01;for(deley=0;deley<de1;deley++){if(de1!=500)de1++;if(de1==500)i=1;}P1OUT=0x00;for(deley=0;deley<de2;deley++);}if(i==1){P1OUT=0x01;for(deley=0;deley<de1;deley++){if(de1!=0)de1--;if(de1==0)i=0;}P1OUT=0x00;for(deley=0;deley<de2;deley++);}}
}

IAR环境调试 

在调试之前我们进入Project的Debugger进行相关配置,因为我们使用的是FET,并且是并口连接电脑,对环境进行相关的配置如下(在Download页签中可以勾选上Verify download,保证下载的内容是正确的)。

然后点击debug摁扭即可进入在线调试界面。

我们按照上图的标号简单介绍一下对应的功能。

  1. 调试与断点摁扭:左侧红点为断点摁扭,点击一下能够在光标处插入断点,再点击一下即可取消断点,调试摁扭点击进入在线调试。
  2. 单步调试摁扭:从左到右为复位(Reset)摁扭,跳过(Step Over函数不进入执行),跳入(Step Into函数跳入执行),跳出(Step Out从一个函数跳出),单句执行(Next Statement),执行到光标处(Run to Cursor),全速运行(Go)。红框右手边那个摁扭是退出调试。
  3. WorkSpace:工作区,当前为Debug配置,只有在Debug才能进入调试模式。
  4. C语言窗口:绿色是当前待执行的语句。
  5. 汇编窗口:绿色是当前待执行的语句。
  6. 调试Log窗口:调试信息展示。

我们也可以查看外设以及核心的寄存器如下图。

 也可以查看某个具体变量的值。

可以查看不同存储区的内容以及SFR寄存器。 

点击右键也可以保存(填充)一定范围存储区地址数据。


IAR环境补充说明

在IAR环境中的Tools菜单中选择Options可以选择字体以及相关特殊字符的颜色。

在Windows窗口下还可以将编辑窗口进行拆分,实现同时多文件编辑。

最后请大家有时间可以多看看Help中的一些指导文件,这些指导文件都是集成开发环境一手的指导文件,比网络上的教程和相关书籍都更加具有指导意义。


 十六宿舍 原创作品,转载必须标注原文链接。

©2023 Yang Li. All rights reserved.

欢迎关注 『十六宿舍』,大家喜欢的话,给个👍,更多关于嵌入式相关技术的内容持续更新中。

更多推荐

【嵌入式开发工具】TI+IAR建立工程与在线调试

本文发布于:2023-11-16 12:21:25,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1621612.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:在线   开发工具   嵌入式   工程   TI

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!