Цитата(flamigo @ Dec 26 2011, 00:32)

zhevak, к сожалению ваш код не заставил светится светодиод на моем контроллере. Светодиоды рабочие, кнопка тоже(по проверке бита BIT.B отлавливает нажатие кнопки). Уже и не знаю в чем дело.
ps: использую msp430 launchpad exp430g2, сам контроллер msp430g2231.

Блин! Вы заставили меня найти MSP430G2231 и воткнуть в Launchpad.
У меня все работает.
Вот мой исходник button.asm:
CODE
.include "MSP430G2231.inc"
.org CODE
Reset:
mov #STACK, SP
mov #(WDTPW + WDTHOLD), &WDTCTL
mov.b #0x41, &P1DIR ; as output
mov.b #0x00, &P1OUT ; ЛЭДы выкл
mov.b #0x08, &P1IE
mov.b #0x08, &P1IES
eint
Loop:
bis.b #LPM3, SR
jmp Loop
ISR_Button:
bic.b #0x08, &P1IFG
xor.b #0x40, &P1OUT
reti
.org 0xFFE4
DW ISR_Button
.org 0xFFFE
DW Reset
.end
Вот строка запуска компиляции
CODE
$ naken430asm button.asm
naken430asm - by Michael Kohn
Web:
http://www.mikekohn.net/ Email: mike@mikekohn.net
Version: September 21, 2011
Input file: button.asm
Output file: out.hex
Pass 1...
Pass 2...
Program Info:
Include Paths: .
/opt/msp430-naken/share/naken430asm/include
Instructions: 12
Code Bytes: 48
Data Bytes: 4
Low Address: f800 (63488)
High Address: ffff (65535)
Вот файл out.hex, который получился в результате:
CODE
:10F8000031408002B240805A2001F2404100220083
:10F81000C2432100F2422500F242240032D272D0CB
:10F82000D000FD3FF2C22300F2E0400021000013AF
:02FFE40024F8FF
:02FFFE0000F809
:00000001FF
Вот команда для его заливки в камень:
CODE
$ mspdebug --fet-force-id MSP430G2231 rf2500 "prog out.hex"
MSPDebug version 0.16 - debugging tool for MSP430 MCUs
Copyright © 2009-2011 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 002
rf2500: warning: can't detach kernel driver: No data available
Initializing FET...
FET protocol version is 30066536
Configured for Spy-Bi-Wire
Set Vcc: 3000 mV
fet: FET returned error code 4 (Could not find device (or device not supported))
fet: command C_IDENT1 failed
fet: identify failed
Trying again...
Initializing FET...
FET protocol version is 30066536
Configured for Spy-Bi-Wire
Sending reset...
Set Vcc: 3000 mV
Device ID: 0xf201
Device: MSP430G2231
Code memory starts at 0xf800
Number of breakpoints: 1
Erasing...
Programming...
Writing 48 bytes to f800...
Writing 2 bytes to ffe4...
Writing 2 bytes to fffe...
Сделайте следующее:
1. Откомпилируйте свой исходник и сравните полученный секс-файл с моим.
2. Если они отличаются, попробуйте дизассемблировать и сравнить с исходниками -- все ли правильно ассемблировалось?
3. Попробуйте залить мой hex-файл в МК. Удалось его запустить?
3. Если не получилось, запустите mspdebug в интерактивном режиме и посмотрите, что у Вас реально находится в памяти
CODE
$ mspdebug rf2500
MSPDebug version 0.16 - debugging tool for MSP430 MCUs
Copyright © 2009-2011 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 002
rf2500: warning: can't detach kernel driver: No data available
Initializing FET...
FET protocol version is 30066536
Configured for Spy-Bi-Wire
Set Vcc: 3000 mV
fet: FET returned error code 4 (Could not find device (or device not supported))
fet: command C_IDENT1 failed
fet: identify failed
Trying again...
Initializing FET...
FET protocol version is 30066536
Configured for Spy-Bi-Wire
Sending reset...
Set Vcc: 3000 mV
Device ID: 0xf201
Device: MSP430G2231
Code memory starts at 0xf800
Number of breakpoints: 1
Available commands:
= delbreak gdb load opt reset simio
alias dis help locka prog run step
break erase hexout md read set sym
cgraph exit isearch mw regs setbreak
Available options:
color gdb_loop iradix
fet_block_size gdbc_xfer_size quiet
Type "help <topic>" for more information.
Press Ctrl+D to quit.
(mspdebug)
Команда для просмотра содержимого памяти:
CODE
(mspdebug) md 0xf800
0f800: 31 40 80 02 b2 40 80 5a 20 01 f2 40 41 00 22 00 |1@...@.Z ..@A.".|
0f810: c2 43 21 00 f2 42 25 00 f2 42 24 00 32 d2 72 d0 |.C!..B%..B$.2.r.|
0f820: d0 00 fd 3f f2 c2 23 00 f2 e0 40 00 21 00 00 13 |...?..#...@.!...|
0f830: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
(mspdebug) md 0xffe0
0ffe0: ff ff ff ff 24 f8 ff ff ff ff ff ff ff ff ff ff |....$...........|
0fff0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 f8 |................|
(mspdebug)
А теперь ищите отличия своего от моего.
И да! Выход из mspdebug осуществляется командой exit или нажатием на Ctrl-D.
Если вообще ничего не получается, то разделите задачу на две -- вывод (моргание ЛЭД-ом) и ввод (получение данных с кнопки). Напишите сначала тупую прогу моргания ЛЭД-ом. Убедитеь, что у Вас хоть это работает. А потом наращивайте функциональность.