10078|4

655

帖子

1

TA的资源

纯净的硅(中级)

楼主
 

【MSP430 编译器使用经验】-使用CCS调试Energia项目 [复制链接]

  
本文简要介绍了使用TI-Launchpad系列的类arduino开发环境——Energia项目开发过程,并着重介绍了采用CCSv6.0Energia项目的代码进行调试。

目  录
1 概述        1
2 Energia项目开发流程简介       
2.1. Energia介绍与编译过程       
2.2. Energia安装与设置       
2.3. Energia项目开发流程简介       
3 使用CCS调试Energia项目       
3.1. CCS导入Energia项目       
3.2. CCS编译Energia项目       
3.3. CCS调试Energia项目       

1 概述
本文简要介绍了使用TI-Launchpad系列的类arduino开发环境——Energia项目开发过程,并着重介绍了采用CCSv6.0对Energia项目的代码进行调试。
硬件平台:TI-Launchpad G2553
软件平台:Energia 0101E0012;CCS V6.0.1


2 Energia项目开发流程简介
本章介绍Energia开发环境,并简要记录采用Energia IDE进行Launchpad开发的流程。
2.1. Energia介绍与编译过程
Energia是类似于Arduino的开发环境,Arduino是流行的电子快速原型搭建开发平台,介绍如下:
“The open-source Arduino environment makes it easy to write code and upload it to the i/o board. It runs on Windows, Mac OS X, and Linux. The environment is written in Java and based on Processing, avr-gcc, and other open source software. “【1】
Energia采用与arduino同样的软件结构,IDE集成各项功能菜单与编辑器,在编辑完成Energia项目文件(.ino后缀)后,Energia根据IDE的设置,先将ino文件转成cpp文件,然后调用自带的编译器(hardware\tools目录下),对cpp编译成目标文件(.o后缀),同时也将对应的开发板核心库(core library,在hardware\msp430目录下)cpp文件编译,然后将所有目标文件(.o后缀)连接,生成elf格式,最后生成.hex文件。
2.2. Energia安装与设置
在官网energia.nu下载Energia软件包(.zip文件),解压并启动Energia后,默认打开以sketch_mmmdda(mmmdd代表当天的日期,a表示第一个项目,再次新建则为b)的新建空白工程(仅仅一个.ino文件,空白的setup()和loop()函数)。
为了更详细的了解Energia编译过程,需要进行一些设置,在Energia中点击File->Preference,进入首选项设置页面,如下:
图 2-1 Energia IDE的首选项设置
选择”Show verbose output during []compilation []upload”,两个都勾选上,即在Energia的控制台输出编译和“上传”(将编译后的二进制hex文件烧写入板子上的芯片,通常称之为“编程”、“烧写”或“下载”),也可点击”More preferences can be edited directlty in the file”,打开preference.txt文件进行编辑,修改如下行为true
build.verbose=true
upload.verbose=true
同时为了得到Energia转化的cpp文件以及编译后的.o文件、hex文件等,可以设置编译输出目录,即增加如下行:
build.path=YOUR\OUTPUT\PATH
2.3. Energia项目开发流程简介
连接好Launchpad,并安装好驱动(参考Launchpad用户手册,不再赘述),在Energia的菜单Tools->Board选择对应的Launchpad(本例为“Launchpad w/msp430g2553 (16MHz)),同时在Tools->Serial Port选择对应的串口号(COMx)。
参考范例Blinky程序,编写代码如下
  1. /*
  2.   Blink
  3.   Turns on an LED on for one second, then off for one second, repeatedly.

  4.   This example code is in the public domain.
  5. */
  6. int brightness = 0;    // how bright the LED is
  7. int fadeAmount = 20;    // how many points to fade the LED by

  8. void setup() {               
  9.   // initialize the digital pin as an output.
  10.   // Pin 14 has an LED connected on most Arduino boards:
  11.   pinMode(14, OUTPUT);   
  12.   pinMode(GREEN_LED, OUTPUT);
  13.   Serial.begin(9600);
  14.   pinMode(PUSH2, INPUT_PULLUP);
  15. }

  16. void loop() {
  17.   int sensorValue = analogRead(A0);
  18.   Serial.println(sensorValue);
  19.   sensorValue = digitalRead(PUSH2);
  20.   Serial.println(sensorValue);
  21.   
  22.   analogWrite(GREEN_LED, brightness);   

  23.   // change the brightness for next time through the loop:
  24.   brightness = brightness + fadeAmount;

  25.   // reverse the direction of the fading at the ends of the fade:
  26.   if (brightness <= 0 || brightness >= 255) {
  27.     fadeAmount = -fadeAmount ;
  28.   }

  29.   delay(200);              // wait for 0.2 second
  30. }
复制代码
保存后,点击Sketch->Verify/Compile,即刻完成项目的cpp文件转换、编译、连接和hex文件生成,可以在Energia下方的控制台输出看到如下输出信息:
图 2-2 Energia编译输出信息
同时在设置的输出目录中看到有大量文件,包括.cpp  .o  .d  .efl  .hex等格式的文件,分别是转换后的项目cpp文件,项目以及库cpp文件编译后的目标文件.o,连接后的可执行文件.elf,以及最终的二进制下载文件.hex
编译成功后,即刻点击File->Upload,将生成的hex文件上传(下载)到Launchpad
的芯片里,即刻完成芯片的烧写。之后就可以看到LED在渐亮渐灭,同时点击Tools->Serial Monitor,可以看到串口输出信息。
图 2-3 Energia 运行截图

3 使用CCS调试Energia项目
目前最新版的CCSV6.0.1(截止2014-08-17),新的版本具有导入Energia项目并进行源代码级的编辑、调试开发功能。本章简要记录使用CCS导入、编译、调试Energia项目的过程。
3.1. CCS导入Energia项目
打开CCS,在Project菜单栏下选择”Import Energia Project”,选择对应的Targetmsp430/lm4f),Launchpad。并选择Energia项目。
图 3-1 CCS导入Energia项目
Project Explorer面板上看到CCS新建了一个跟Energia项目同名的项目,以及一个”xxxx-core”的项目,并导入了生成的cpp文件作为源代码文件。打开可见该文件时已经经过转换后的cpp文件,对比发现该cpp文件与Energia输出目录下的cpp文件基本相同。
3.2. CCS编译Energia项目
CCS在导入Energia项目时,也导入了必须依赖的Energia核心库(core),编译Energia项目之前必须先编译核心库项目,可以在Energia项目的Dependency里面(在Project ExplorerEnergia项目右键->Property->Build->Dependency标签页)看到:
图 3-2 CCS建立的Energia编译依赖项目
可以看到在core项目中,有各个cpp文件,都是arduino核心库的源文件,点击main.cpp,可以看到main函数如下:
  1. #include <Energia.h>

  2. int main(void)
  3. {
  4.         init();

  5.         setup();

  6.         for (;;) {
  7.                 loop();
  8.                 if (serialEventRun) serialEventRun();
  9.         }

  10.         return 0;
  11. }
复制代码
无需做任何改动,点击Project->Build Project,即可看到在console面板输出编译信息,最终编译成功。
3.3. CCS调试Energia项目
点击Debug图标,即刻看到CCS完成二进制文件下载,并进入调试界面,这时候就可以利用CCS的强大的调试功能进行调试。
nt>项目的Dependency里面(在Project ExplorerEnergia项目右键->Property->Build->Dependency标签页)看到:


图 3-4 CCS调试Energia项目

晒出我使用MSP430编译器的经验与技巧!_使用CCS调试Energia项目.pdf (899.14 KB, 下载次数: 129)

最新回复

好像不错!  详情 回复 发表于 2015-5-13 15:19
 
点赞 关注

回复
举报

655

帖子

1

TA的资源

纯净的硅(中级)

沙发
 
写好了word,复制图片失效,上传附件,提示“Server IO Error”

咋回事啊?
 
 

回复

142

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
可以直接在CCS中写Energia程序。为什么要在Energia中写好再导入到CCS中调试?

点评

不能直接在CCS里面写,因为CCS导入的都是经过Energia转换过的cpp文件,  详情 回复 发表于 2014-8-18 07:37
 
 
 

回复

655

帖子

1

TA的资源

纯净的硅(中级)

4
 
kittka 发表于 2014-8-18 05:33
可以直接在CCS中写Energia程序。为什么要在Energia中写好再导入到CCS中调试?

不能直接在CCS里面写,因为CCS导入的都是经过Energia转换过的cpp文件,
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

5
 
好像不错!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表