基于ubuntu的Launchpad(5529)开发环境搭建

这里写图片描述

本文参考
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 = bll

SUPPORT_FILE_DIR = /opt/ti/msp430/gcc/include
CROSS_COMPILE = msp430-elf-

DEVICE  = msp430f5529
DEBUG_DRIVER    = tilib
CC  = $(CROSS_COMPILE)gcc
LD  = $(CROSS_COMPILE)ld
GDB = $(CROSS_COMPILE)gdb

CFLAGS  = -I $(SUPPORT_FILE_DIR) -mmcu=$(DEVICE) -O2 -g
LFLAGS  = -L $(SUPPORT_FILE_DIR)

OBJS     = main.o
OBJS    += a.o

.PHONY : clean all
all : $(OBJS)
    $(CC) $(CFLAGS) $(LFLAGS) -o $(PROJ).elf $(OBJS)
clean :
    rm -rf *.elf *.o *.out
erase :
    mspdebug $(DEBUG_DRIVER) "erase"
upload :
    mspdebug $(DEBUG_DRIVER) "prog $(PROJ).elf"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值