当前位置: 首页 > news >正文

01_IAR新建CC2530工程

IAR建立CC2530工程

前言

​ 由于很多Zigbee商家提供的教程未有从零建立CC2530工程的讲解,可能会导致后面的开发中出现一些琐碎的问题。本文将以LED流水灯为例,从0到1用IAR建立CC2530工程。

IAR介绍

IAR Embedded Workbench被广泛应用于消费电子、工业控制、汽车应用、医疗、航空航天以及手机应用系统等领域的嵌入式系统开发。许多全球著名的公司都在使用IAR提供的开发工具来开发他们的前沿产品。

CC2530是一款高性能、低功耗的片上系统(SoC)解决方案,专门用于2.4GHz IEEE 802.15.4、ZigBee和RF4CE应用。

​ 为了进行CC2530的应用开发,需要先安装IAR相关的开发环境。由于CC2530使用的是增强型8051内核,因此应选用IAR Embedded Workbench for 8051版本。

新建CC2530工程(以LED流水灯为例)

  1. Project —> Create New Project —> 选择8051 —> 选择Empty project —> OK

在这里插入图片描述

  1. 选择一个文件夹保存工程文件

在这里插入图片描述

3. 配置工程属性

​ 新建工程后,在左侧工作区会出现工程文件,鼠标右击文件 —> Options 进入到工程属性配置

在这里插入图片描述

通常配置:

​ General Options —> Device information —> Device —> 右侧Button —> Texas Instruments(TI) —> CC25xx —> 3x —> CC2530F256(根据芯片闪存选择)

​ Data model —> Large

​ Calling convention —> XDATA

在这里插入图片描述

  • Note: CC2530有32/64/128/256 KB 闪存块,闪存的大小在芯片表面可以看到, 如下图所示

在这里插入图片描述

链接器配置:

​ Linker —> Linker configuration file —> check(勾上) Override default —> 找到 TI cc2530F256_banked.xcl 文件 (根据实际芯片容量选择)

在这里插入图片描述
调试器配置:

​ Debugger —> Driver —> Texas Instruments —> check Override defalut

在这里插入图片描述

  • Note: 仿真器实物上也有TI公司的标志, 这里实质就是告诉IDE用哪款调试器

在这里插入图片描述

END: 点击OK配置完成

4. 项目结构管理

​ 这里我们采用分模块的方式,将同一模块作为一个项目组(文件夹),主程序直接放到主目录中

建立项目组:

右键点击项目工程 —> Add —> Add Group —> 输入LED —> 出现一个文件夹样的东西

在这里插入图片描述

新建项目文件:

​ Ctrl+N 新建文件,建三个 分别保存为 LED.c LED.h main.c 保存到默认路径即可

在这里插入图片描述

​ 右键点击项目文件 —> Add —> Add Files —> 选择 main.c

​ 右键点击LED项目组(可以理解为文件夹) —> Add —> Add Files —> 选择LED.c

​ 项目结构如下图所示
在这里插入图片描述

  • Note: 源文件都默认保存在目录中(如下图所示),但项目管理界面是树状的文件夹形式,若不嫌费事,也可以先建立文件夹将源文件保存在单独文件夹中。

在这里插入图片描述

END: 至此一个项目的框架建立完毕 下面将继续演示 LED流水灯程序

LED案例(demo版)

​ 由于本章内容主要是演示如何新建一个CC2530工程,因此使用的是简略版的代码,也不对代码进行讲解。

​ 将以下内容复制到刚刚创建的对应的文件中

main.c

#include <ioCC2530.h>
#include "LED.h"
#define uint unsigned int
#define uchar unsigned charvoid 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++); 
} void main(void)
{Init_LED(); //初始化 LED 灯控制 IO 口 while(1) //死循环 { LED1 = !LED1; // LED1 灯闪一次 Delay(50000); LED2 = !LED2; // LED2 灯闪一次 Delay(50000); LED3 = !LED3; // LED3 灯闪一次 Delay(50000); } }

LED.c

#include <ioCC2530.h>
#include "LED.h"void Init_LED(void)
{P1DIR |= 0x03;P0DIR |= 0x10;LED1 = 1;LED2 = 1;LED3 = 1;
}

LED.h

#ifndef __LED_H
#define __LED_H
#define LED1 P1_0
#define LED2 P1_1
#define LED3 P0_4
void Init_LED(void);#endif

编译与下载

​ 写好程序后, 点击 Project —> Rebuild All —> 弹出窗口中输入工作空间名字LED会自动保存为.eww文件

在这里插入图片描述

​ 用仿真器连接电脑和ZigBee开发板, 按一下仿真器上复位按钮,在工具栏点击Download and Debug 或按下 Ctrl+D

在这里插入图片描述

​ 在出现的调试按钮中点击 Go 即可在开发板上看到流水灯现象 (直接按下板子复位键也可以)

在这里插入图片描述

结语

​ 本章讲解了如何在IAR上新建CC2530工程,并以LED流水灯为例,讲解程序的编译与下载。由于讲解重点是工程的建立,因此不对IAR的下载注册以及仿真器驱动安装等赘述。此外,由于硬件不同,该流水灯程序并不一定适用所有人。本篇LED的引脚为P0_4 P0_0 P0_1 低电平驱动。

http://www.lryc.cn/news/474768.html

相关文章:

  • 原生鸿蒙的竞争力到底如何?
  • 数字化生态平台:关键功能全解析
  • c 到 c++ 过渡
  • [linux驱动开发--环境搭建] qemu-9.1+linux-kernel-6.11
  • 019集——获取CAD图中多个实体的包围盒(CAD—C#二次开发入门)
  • 【Clickhouse 探秘】Clikchouse 有哪些表引擎?你都知道哪些?
  • 你好,C++并发世界
  • windows10 安装 达梦数据库DM8
  • ntp交叉编译 ntpdate时间同步
  • 微服务实战系列之玩转Docker(十六)
  • Solana 代币 2022 — Transfer Hook
  • 网络爬虫中的反爬虫技术:突破限制,获取数据
  • 【ROS2】cv_bridge:ROS图像消息和OpenCV的cv::Mat格式转换库
  • 【Web.路由】——URL生成
  • 使用 Java 实现从搜索引擎批量下载图片
  • 基于Matlab GUI的说话人识别测试平台
  • Leetcode 热题100之二叉树2
  • <项目代码>YOLOv8 煤矸石识别<目标检测>
  • GA/T1400视图库平台EasyCVR视频分析设备平台微信H5小程序:智能视频监控的新篇章
  • LVM与磁盘配额
  • xmuoj [蒙德里安的梦想] 状压dp个人笔记
  • ubuntu22安装搜狗输入法不能输入中文
  • HtmlAgilityPack 操作详解
  • 基于SSM医院门诊互联电子病历管理系统的设计
  • 【读书笔记/深入理解K8S】集群网络
  • 【专有网络VPC】连接公网
  • 论文 | Legal Prompt Engineering for Multilingual Legal Judgement Prediction
  • 国科安芯抗辐照MCU和CANFD芯片发布
  • C++ 并发专题 - 无锁数据结构(概述)
  • NLP领域的经典算法和模型