Имеется MSP-EXP430G2 LaunchPad с msp430g2553 на борту. Пару дней назад, после очередного рукоблудия по коду, было замечено, что не срабатывают прерывания при передаче данных по I2C (до этого всё было нормально). Решив, что в очередной раз что-то нарукожопил, полез смотреть, что говорит отладчик. И вот что он мне сказал:
1. При выполнении кода вида: bis.b #UCB0TXIE, &IE2 (bis.b #0x08, &IE2) флаг в IE2 не устанавливается, словно это не команда установки бита, а просто nop
2. При попытке установить любой бит в регистре IE2 ручками, в отладчике, происходит "гравитационный коллапс":
2.1. В логе появляются вот такие матерные сообщения:
-Could not perform access, BSL memory segments are protected : (WriteMemory) , address=0x0, buffer=, count=0x2
-Fatal error: Failed to re-initialize Session aborted!
-Register Window write operation to 'IE2.UCB0TXIE' failed.
2.2. Вылетает вот такое сообщение об ошибке:
2.3. IDE коллапсирует, сеанс отладчика вылетает, валятся сообщения о невозможности установить соединение. пока не будет перезагружен IDE и переподключен launchpad.
Есть подозрения, что виной всему, Energia, в которую я полез, чтоб посмотреть какой оно генерит код. И хоть это чудо и выдало сообщение о том, что устройство не найдено, и код не был прошит в камень, сдается мне, что таки оно умудрилось где-то нагадить, может я ошибаюсь.
Вот применительно к этой ситуации, прошу помощи знающих людей. Куда бежать? За что хвататься? Пытаться перепрошивать launchpad? Но как и чем? Конечно попытался покурить форум и мануалы, но ничего не понял (((
В заключение приведу набор используемых программ, на всякий случай
- ОС: win7 32/64 (в зависимости от зависимости)
- компилятор: naken_asm
- программатор: Lite FET-Pro430 Elprotronic
- для отладки использую IAR
и вот что выдаёт Lite FET-Pro430 по поводу версии firmware:
Люди добрые, спасите-помогите, пожалуйста ))