基于ubuntu的Launchpad(5529)开发环境搭建
来源:互联网 发布:centos搭建网站 编辑:程序博客网 时间:2024/05/16 09:15
本文参考
github chintal
在 Gentoo Linux 下開發 Launchpad MSP430 程式
注意!注意!因为之前用的旧版本的库slac460r没有问题,而最近使用slac460s无法正确识别设备,烧写不正常,所以有问题的可以下载旧版本(r版之前的)。
\
其实GUN开发环境搭建基本都是一个套路,安装交叉编译工具就可以了,然后就是烧写仿真工具了。
交叉编译工具的安装
在ubuntu下可以直接使用如下命令安装
sudo apt-get install gcc-msp430
当然也可以下载其他版本的编译器自己解压安装,本人使用的是msp430-elf-gcc
首先将压缩包解压到自己喜欢的位置,然后设置一下环境变量就可以了。
烧写软件mspdebug的安装与配置
这部是整个搭建过程最麻烦的了
首先是安装,也是一条命令的事
sudo apt-get install mspdebug
但是在使用过程中就出现问题了
在 Gentoo Linux 下開發 Launchpad MSP430 程式这篇文章中使用的平台是MSP430G2,板子上的eZ-FET固件是rf2500版的,mspdebug是支持这个固件的,可以直接通过相应的命令打开调试器,然而我用的F5529固件是其他版本的,mspdebug不支持,这里需要更新一下libmsp430.so。下载源码slac460s.zip选择MSPDS-OPEN-SOURCE下载。
编译libmsp430.so还需要hidapi.h、hid.o两个文件,由hidapi编译获得,hidapi是一套关于hid设备的函数库,比如键盘、鼠标等设备都属于hid设备,下载hidapi源码。另外hidapi的编译需要boost工具,使用以下命令安装boost工具:
sudo apt-get install libboost-thread-dev
sudo apt-get install libboost-filesystem-dev
sudo apt-get install libusb-1.0-0-dev libudev-dev
解压hidapi-0.8.0-rc1.zip,进入hidapi-0.8.0-rc1目录,输入以下命令配置编译:
./bootstrap
./configure CFLAGS='-g -O2 -fPIC'
-fPIC选项表示编译的动态链接库是地址无关的,64位系统不加此选项会报错。
然后解压slac460s.zip,将hidapi.h、hid.o两个文件添加到slac460s相应的目录。
- hidapi/hidapi.h to ThirdPary/include
- libusb/hid.o to ThirdParty/lib64
我的系统是64位,32位复制到ThirdParty/lib/目录进入slac460s目录,修改一下Makefile中HIDOBJ的值,重新设置使用的hid库:
"HIDOBJ := $(LIBTHIRD)/hid-libusb.o" 改为 "HIDOBJ := $(LIBTHIRD)/hid.o"
然后执行make编译得到libmsp430.so,将libmsp430.so复制到/usr/lib/中即可。
可以使用以下命令进入调试模式
mspdebug tilib
这里指定了使用的固件是tilib,tilib调用的就是刚才编译的libmsp430.so。
\
到此整个开发环境搭建完成下面附上一个简单的LED闪烁例程的源码以及Makefile
\
main.c
#include <msp430.h>/* * main.c*/int main(void) { volatile int i; WDTCTL = WDTPW | WDTHOLD;> // Stop watchdog timer P1DIR = 0x01; P1OUT = 0x00; while (1) { P1OUT ^= 0x01; for (i = 0; i < 0x6000; i++) {} } return 0;}
Makefile
PROJ = bllSUPPORT_FILE_DIR = /opt/ti/msp430/gcc/includeCROSS_COMPILE = msp430-elf-DEVICE = msp430f5529DEBUG_DRIVER = tilibCC = $(CROSS_COMPILE)gccLD = $(CROSS_COMPILE)ldGDB = $(CROSS_COMPILE)gdbCFLAGS = -I $(SUPPORT_FILE_DIR) -mmcu=$(DEVICE) -O2 -gLFLAGS = -L $(SUPPORT_FILE_DIR)OBJS = main.oOBJS += a.o.PHONY : clean allall : $(OBJS) $(CC) $(CFLAGS) $(LFLAGS) -o $(PROJ).elf $(OBJS)clean : rm -rf *.elf *.o *.outerase : mspdebug $(DEBUG_DRIVER) "erase"upload : mspdebug $(DEBUG_DRIVER) "prog $(PROJ).elf"
- 基于ubuntu的Launchpad(5529)开发环境搭建
- 搭建基于ubuntu的内核开发环境
- 搭建基于ubuntu的内核开发环境
- 基于UBUNTU的NODEJS开发环境搭建
- 基于ubuntu的ARM开发环境搭建
- 搭建Ubuntu下基于Eclipse的php开发环境
- 搭建Ubuntu下基于Eclipse的php开发环境
- ubuntu下搭建基于eclipse的c/c++开发环境
- 基于Ubuntu 14 LTS的LAMP开发环境搭建
- ubuntu开发环境的搭建
- 基于Ubuntu的LNMP环境搭建
- 基于LaunchPad的Nokia5110显示
- 转:基于ubuntu 9.04(32位机)的Android2.2 开发环境的搭建
- 基于ubuntu 9.04(32位机)的Android2.2 开发环境的搭建
- #Kinect之路#基于ubuntu 12.04的Kinect开发环境搭建 OpenNI+NITE+AVIN2+qt
- linux ubuntu系统下基于eclipse的hadoop开发环境搭建
- 关于ubuntu 12.04系统中MTK平台基于Android L开发环境的搭建
- 基于Ubuntu系统搭建以太坊go-ethereum源码的开发环境
- apache 日志中记录代理IP以及真实客户端IP
- elf可执行文件的理解(附上elf文件格式图解)
- JDBC的基本操作(CRUD)
- CSS画图形
- (最新教程)基于Windows7+visual Studio2013+Python2.7.12环境下的Caffe配置学习
- 基于ubuntu的Launchpad(5529)开发环境搭建
- 可调参的K-means算法
- printf详细用法
- JAVA多线程
- java的基本语法
- web存储 localStorage与sessionStorage
- 寻路题目,以失败告终。先保存一下
- 【转载收藏】log4j 配置介绍
- 雅虎十四条:网站前端网页优化的14条原则