четверг, 16 октября 2014 г.

Использование MSP430-Launchpad в качестве программатора

Руководство предназначено тем, кто уже имеет MSP430-Launchpad, освоил микроконтроллеры MSP430-ValueLine и задумывается о том, чтобы перейти на более продвинутые МК MSP430, но пока не решился на то, чтобы приобрести профессиональный программатор MSP430-JTAG или MSP430-UIF. Но это не страшно. В качестве программатора можно пока будет использовать Launchpad. Ниже я расскажу как это сделать.
Оказывается, что программатор, входящий в состав платы Launchpad может прошить любой микроконтроллер (МК) MSP430, имеющий интерфейс SpyByWire (SBW). По этому интерфейсу программируется в том числе МК MSP430G2553 и MSP430G2452, которые идут в комплекте с платой. Убедиться, что в микроконтроллере есть интерфейс SBW можно посмотрев его даташит. Мы в качестве подопытной платы будем использовать самодельную отладочную плату с микроконтроллером  MSP430F5438A. Интерфейс SBW в этом МК есть. Плата выглядит вот так:



Теперь нужно снять перемычки, которые соединяют верхнюю часть платы Launchpad с нижней и вывести провода с контактов RST,TEST,VCC,VSS. Эти провода нужно связать самодельным кабелем с ножками МК в следующем порядке (в скобках дана нумерация выводов для МК MSP430F5438A):

---------------------------
|Launchpad | MSP430F5438A |
---------------------------
VCC<--------->VDD(87)
RST<--------->SBWTDIO(96)
TEST<--------->SBWTCK(91)
GND<--------->VSS(88)


Должно получиться примерно так:


МК из розетки DIP-20 нужно извлечь. При этом МК будет запитан от Launchpad, который в свою очередь питается от USB. Теперь можно подключить USB кабель в Launchad и подключить его к компьютеру. Если всё сделано правильно, то на Launchpad должен гореть зелёный светодиод PWR. Если перепутаны VSS и VDD, то светодиод не горит.

Теперь проверим опознаётся ли наш МК. В консоли наберём:

mspdebug rf2500 

Плата должна дать такой ответ:


vvk@linux-bmx0:~> mspdebug rf2500
MSPDebug version 0.21 - debugging tool for MSP430 MCUs
Copyright (C) 2009-2012 Daniel Beer <dlbeer@gmail.com>
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Trying to open interface 1 on 004
Initializing FET...
FET protocol version is 30394216
Set Vcc: 3000 mV
Configured for Spy-Bi-Wire
Device ID: 0x0580
  Code start address: 0x5c00
  Code size         : 262144 byte = 256 kb
  RAM  start address: 0x1c00
  RAM  end   address: 0x5bff
  RAM  size         : 16384 byte = 16 kb
Device: MSP430F5438A
Number of breakpoints: 8
fet: FET returned NAK
warning: device does not support power profiling
Chip ID data: 05 80 17

Available commands:
    =           erase       isearch     opt         run         setwatch_w 
    alias       exit        load        power       save_raw    simio      
    break       fill        load_raw    prog        set         step       
    cgraph      gdb         locka       read        setbreak    sym        
    delbreak    help        md          regs        setwatch    verify     
    dis         hexout      mw          reset       setwatch_r  verify_raw 

Available options:
    color                       gdb_loop                   
    enable_bsl_access           gdbc_xfer_size             
    enable_locked_flash_access  iradix                     
    fet_block_size              quiet                      

Type "help <topic>" for more information.
Press Ctrl+D to quit.

(mspdebug) exit 


В результате мы должны попасть в консоль mspdebug. Чтобы выйти оттуда, введите exit.
Если получили такой ответ, то МК распознался и можно его программировать командой:

mspdebug  rf2500 "prog имя_файла_с_прошмвкой.elf"

Через Launchpad программирование идёт очень медленно. 8кБ прошивается несколько минут. В остальном каких-либо ограничений нет.

Ещё следует отметить,что после того, как мы отключили нижнюю часть платы Launchpad, кнопка RESET более не функциональна. Если на плате такой кнопки нет, то отправить МК в ресет можно с командной строки:

mspdebug rf2500 reset




Комментариев нет:

Отправить комментарий