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

 
 
17 страниц V  « < 15 16 17  
Reply to this topicStart new topic
> MSP430 - снова вопросы от чайника, Вопросы от чайника про MSP и магнитный компас
VAI
сообщение May 28 2009, 05:42
Сообщение #241


Профессионал
*****

Группа: Модераторы
Сообщений: 1 120
Регистрация: 17-06-04
Пользователь №: 37



Я уже где-то выкладывал myprintf(), который сделал из исходников библиотек для ПИК16. Вполне успешно применяем его для мелких MSP.
Если надо в строку выводить, то функцию putchar() надо заменить на вывод в строку.
А так putchar() - это функция низкоуровневого вывода символа в конкретное физическое устройство. Использовали для вывода на термопринтер через RS232, на символьный индикатор, на 7-сегментный индикатор. Естественно, для каждого устройства свой putchar().
Прикрепленные файлы
Прикрепленный файл  myprnt.rar ( 2.19 килобайт ) Кол-во скачиваний: 48
 


--------------------
Если зайца бить, его можно и спички научить зажигать
Сколько дурака не бей - умнее не будет. Зато опытнее
Go to the top of the page
 
+Quote Post
Daria
сообщение Aug 8 2009, 13:23
Сообщение #242


Местный
***

Группа: Участник
Сообщений: 229
Регистрация: 24-02-08
Пользователь №: 35 345



Блин, ну что за фигня - личный ящик заблокировали, сообщения из темы мои удаляют... то ли форум глючит, то ли... какая-то фигня crying.gif Подскажите, к кому обратиться за помощью и разъяснениями?

Модератор. Daria, Ваше сообщение я перенес в подобающий ему раздел форума. Там же есть и ответы на все вопросы. В последующем пишите сразу в раздел форума, соответствующий теме вопроса.
С уважением, rezident.
Go to the top of the page
 
+Quote Post
Daria
сообщение Aug 10 2009, 16:42
Сообщение #243


Местный
***

Группа: Участник
Сообщений: 229
Регистрация: 24-02-08
Пользователь №: 35 345



Модератор. Daria, Ваше сообщение я перенес в подобающий ему раздел форума. Там же есть и ответы на все вопросы. В последующем пишите сразу в раздел форума, соответствующий теме вопроса.
С уважением, rezident.

[/quote]
Извините, учту. Спасибо за разъяснения
Go to the top of the page
 
+Quote Post
Daria
сообщение Sep 24 2009, 18:11
Сообщение #244


Местный
***

Группа: Участник
Сообщений: 229
Регистрация: 24-02-08
Пользователь №: 35 345



Здравствуйте. Это снова я laughing.gif
Устройство худо-бедно работало около полугода и неожиданно произошло полное стирание flash crying.gif
Чем это могло быть вызвано - возможные причины? перепада напряжения питания не было, да и кристалл сейчас с BOR, какой глюк мог быть в программе, чтобы такое натворить? хотя бы варианты?
Go to the top of the page
 
+Quote Post
rezident
сообщение Sep 24 2009, 19:56
Сообщение #245


Гуру
******

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



Я уже запамятовал, а снова просматривать всю ветку лень. laughing.gif У вас м/с супервизора питания в схеме имеется?
Go to the top of the page
 
+Quote Post
Daria
сообщение Sep 25 2009, 19:02
Сообщение #246


Местный
***

Группа: Участник
Сообщений: 229
Регистрация: 24-02-08
Пользователь №: 35 345



Цитата(rezident @ Sep 24 2009, 23:56) *
Я уже запамятовал, а снова просматривать всю ветку лень. laughing.gif У вас м/с супервизора питания в схеме имеется?

Супервизора нет, но с питанием все было в порядке - устройство второе в цепи, сначала питание подается на управляющее устройство, которое кабелем соединено с этим. в том стоит такой же MSP - и все в порядке. Кабели хорошие, разъемы надежные, к тому же в кристалле есть BOR.
Похоже, это произошло после принятия каких-то байтов по UART во время штатной работы, никаких операций с flash в этот момент не производилось - с чем это может быть связано?
Вообще из программы очистить память довольно сложно, как я понимаю, установить ERASE, пароль... как это можно сделать аппаратно? TCK, RST/NMI во внешний разъем не выведены, там только TX, RX аппаратного UART, питание и земля.
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Sep 25 2009, 20:16
Сообщение #247


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Daria @ Sep 25 2009, 22:02) *
Супервизора нет, но с питанием все было в порядке -

С этой электроникой так все обманчиво.... Ничто не может доказать другое...
Но у нас всегда было частичное стирание флэш в случае плохого питания.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
rezident
сообщение Sep 26 2009, 13:45
Сообщение #248


Гуру
******

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



Цитата(Daria @ Sep 26 2009, 01:02) *
Супервизора нет, но с питанием все было в порядке
Этого вы не можете знать со 100% достоверностью. Нет супервизора - нет гарантированного сброса при снижении напряжения питания.
Цитата(Daria @ Sep 26 2009, 01:02) *
Вообще из программы очистить память довольно сложно, как я понимаю, установить ERASE, пароль... как это можно сделать аппаратно?
Если в программе есть функции записи/стирания Flash то вероятность попасть на нее отлична от нуля. А как гласит один из законов Мерфи: "если вероятность возникновения неприятности отлична от нуля, то она (неприятность) обязательно произойдет" wink.gif
Ставьте супервизор питания. BOR для такой защиты не панацея. Я уже неоднократно пояснял, что BOR "защищает" лишь от зависания при медленном нарастании напряжения питания и все! От хаотичного выполнения команд при снижении питания он нисколько не защищает. Сравните хотя бы минимально допустимое рабочее напряжение для ядра и уровень срабатывания BOR.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Allregia
сообщение Oct 1 2009, 15:35
Сообщение #249


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Подскажите плиз - храню во влеше данных параметры, есть режим их изменения, но как проинициализировать эту область дефолтными параметрами ?
Т.е. как ИАРу обяснять, чообы он туда что-то запихал?

Пробовал так, но не помогло:
Код
#pragma location=0x1080
char const DefaultName[9]={"vicor000"};
Go to the top of the page
 
+Quote Post
rezident
сообщение Oct 1 2009, 16:09
Сообщение #250


Гуру
******

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



Цитата(Allregia @ Oct 1 2009, 21:35) *
как проинициализировать эту область дефолтными параметрами ?
Я приспособился к такому способу.
Код
#pragma location=0x1000
__no_init constData_t CParam;
Код
#pragma location=0x1000
const constData_t CParamIni={ 2, 100};
#pragma required=CParamIni

А потом работаю с указателем на CParam. IAR конечно же генерирует Warning, но такой способ пока вроде прокатывает. В противном случае IAR подставляет константные выражения непосредственно в выражения/операторы (т.с. прямо по месту), а сам инициализированный константный массив/структуру из результирующего кода выбрасывает.
Go to the top of the page
 
+Quote Post
Allregia
сообщение Oct 4 2009, 08:45
Сообщение #251


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Спасибо, достаточно было добавить
#pragma required=DefaultID
Go to the top of the page
 
+Quote Post
rezident
сообщение Oct 4 2009, 17:27
Сообщение #252


Гуру
******

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



Цитата(Allregia @ Oct 4 2009, 14:45) *
Спасибо, достаточно было добавить
#pragma required=DefaultID
Не хотелось бы вас разочаровывать, но этого не достаточно. sad.gif Конечно константный массив теперь компилятор не выбрасывает, но и не работает с ним, подставляя константные значения "по месту", прямо в операторы. Убедитесь в этом сами, просмотрев ASM-овый код, получающийся в результате компиляции.
Go to the top of the page
 
+Quote Post
Allregia
сообщение Oct 18 2009, 21:38
Сообщение #253


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Цитата(rezident @ Oct 4 2009, 21:27) *
Не хотелось бы вас разочаровывать, но этого не достаточно. sad.gif Конечно константный массив теперь компилятор не выбрасывает, но и не работает с ним, подставляя константные значения "по месту", прямо в операторы. Убедитесь в этом сами, просмотрев ASM-овый код, получающийся в результате компиляции.

Сорри за запоздалый ответ, но убедился что работает - я вижу, что нужный мне массив констант записывается в область INFO, а дальше из программы я его уже читаю.
На данном этапе мне больше ничего не надо.
Go to the top of the page
 
+Quote Post

17 страниц V  « < 15 16 17
Reply to this topicStart new topic
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0

 


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


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