реклама на сайте
подробности

 
 
> MSP430 на компьютере
d7d1cd
сообщение Dec 12 2012, 16:39
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199



Привет всем! Подскажите, существует ли программа кроме NoICE, с помощью которой можно имитировать работу микроконтроллера семейства MSP430 по заданной программе (предпочтительно на ассемблере)?

NoICE все ничего, но не айс! То ли я чего то в нем не знаю, то ли он не правильно имитирует работу МК: специальные регистры и регистры периферии при сбросе не принимают значений, указанных в документации на МК.

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
d7d1cd
сообщение Dec 14 2012, 02:54
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199



Как я понимаю, замечание про написание кода на три байта короче, чем какие-то индусы, относится ко мне sm.gif Дело не только в регистрах периферии и их дефолтном состоянии после сброса. Я думаю, что намного удобнее написать программу, отладить здесь же, в компьютере, и только потом приступать к монтажу самого устройства. Поэтому я и занялся поиском симулятора.
Go to the top of the page
 
+Quote Post
novchok
сообщение Dec 15 2012, 18:36
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 128
Регистрация: 19-08-10
Из: Смоленск
Пользователь №: 58 991



Цитата(d7d1cd @ Dec 14 2012, 06:54) *
Как я понимаю, замечание про написание кода на три байта короче, чем какие-то индусы, относится ко мне sm.gif Дело не только в регистрах периферии и их дефолтном состоянии после сброса. Я думаю, что намного удобнее написать программу, отладить здесь же, в компьютере, и только потом приступать к монтажу самого устройства. Поэтому я и занялся поиском симулятора.


Вы думаете, а я знаю, наиболее оптимальный способ написать и отладить программу на микроконтроллере это подключиться к процу через JTAG и отладить в пошаговом режиме.
Симуляторы это не "удобный способ", а возможность вообще не иметь дела с аппаратной частью. С микропроцессорами такие финты не проходят.
Вариантов исхода может быть два. Первое Вы будете долго бороться с симулятором процессора, потому что он выдает результаты, отличающиеся от описания процессора в даташите.
Второе убив время на борьбу с симулятором может оказаться так, что программа отлично работающая в симуляторе не пашет на реальном процессоре.
И поскольку никто никогда не верит в чужой опыт, Вам скорее придется потратить полгода жизни, чтобы осознать, что симуляторы всегда полное фуфло и никогда не заменят реальной микросхемы. Могу только пожелать удачи.

Сообщение отредактировал novchok - Dec 15 2012, 18:37


--------------------
Herz укроп и педрила
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 15 2012, 19:25
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(novchok @ Dec 15 2012, 23:36) *
симуляторы всегда полное фуфло и никогда не заменят реальной микросхемы
Ну почему же так уж принципиально? sm.gif Симулятор вполне пригодная вещь, чтобы проверить работу алгоритма частей программы, не привязанных жестко к "железу" МК. Но для этого нужно уметь разбивать программу на (под)уровни и выделять из них хотя бы HAL (Hardware Application Layer).
Не так давно симулятор помог нам с коллегой найти багу, возникшую при переносе исходника программы (как раз непосредственно с периферией не взаимодействующую) с ARM7 на MSP430. Бага возникала при неявном преобразовании типов данных. Причиной возникновения оказался неверно выбранный предыдущим программистом для группы переменных тип данных (unsigned short vs signed int).
Go to the top of the page
 
+Quote Post
maksimp
сообщение Dec 16 2012, 07:31
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 313
Регистрация: 2-07-11
Пользователь №: 66 023



Цитата(rezident @ Dec 15 2012, 22:25) *
, чтобы проверить работу алгоритма частей программы, не привязанных жестко к "железу" МК. Но для этого нужно уметь разбивать программу на (под)уровни и выделять из них хотя бы HAL (Hardware Application Layer).

Если HAL выделить, то всё остальное кроме него можно скомпилировать как .exe под Windows и отлаживать алгоритмы. Нужен конечно программный модуль который замещает собой HAL для работы под Windows, с функцией main или WinMain. То есть например вместо вывода по UART данные пишутся в файл, вместо вывода в порт общего назначения значения битов рисуются в окне приложения и т.д.
Симулятор не нужен.
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 16 2012, 18:30
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(maksimp @ Dec 16 2012, 12:31) *
Если HAL выделить, то всё остальное кроме него можно скомпилировать как .exe под Windows и отлаживать алгоритмы.
...
Симулятор не нужен.

В описанном мною случае один и тот же кусок исходника, скомпилированный в Borland C++, MSVC, IAR EWARM и IAR EW430, давал разный результат вычислений. Все дело было в волшебных пузырьках неявном приведении к разным типам данных (integer promotion). Тип int на x86, на ARM и на MSP430 вовсе не одинаковой разрядности. Так что симулятор иногда бывает нужен wink.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 21:11
Рейтинг@Mail.ru


Страница сгенерированна за 0.01459 секунд с 7
ELECTRONIX ©2004-2016