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

 
 
17 страниц V  « < 9 10 11 12 13 > »   
Reply to this topicStart new topic
> MSP430 - снова вопросы от чайника, Вопросы от чайника про MSP и магнитный компас
Daria
сообщение Nov 14 2008, 21:12
Сообщение #151


Местный
***

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



Цитата(rezident @ Nov 13 2008, 22:36) *
Можно заменить. И даже нужно, раз лишние 100 рублей погоды не делают wink.gif

Скажате, а WDT не спасет отца русской демократии? wink.gif В случае, если не получится заменить. Ведь он же как раз эту функцию выполняет - сбрасывает проц при зависании 05.gif
Go to the top of the page
 
+Quote Post
rezident
сообщение Nov 14 2008, 23:39
Сообщение #152


Гуру
******

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



Цитата(Daria @ Nov 15 2008, 02:12) *
Скажате, а WDT не спасет отца русской демократии? wink.gif
Вы имеете в виду дочь российской демократии? biggrin.gif Не знаю. Не уверен на 100%. Попробуйте провести эксперименты с медленным нарастанием и спадом напряжения питания. И спадом напряжения ниже минимального рабочего (1,8В), но выше уровня срабатывания RST. Скажем до 0,7В...1,0В снижайте и потом обратно до 2,5-3,0В повышайте.
Go to the top of the page
 
+Quote Post
_3m
сообщение Nov 15 2008, 19:39
Сообщение #153


Знающий
****

Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960



Цитата(Daria @ Nov 15 2008, 00:12) *
Скажате, а WDT не спасет отца русской демократии? wink.gif В случае, если не получится заменить. Ведь он же как раз эту функцию выполняет - сбрасывает проц при зависании 05.gif

Не получится. В msp430 вообще не самая удачная реализация wdt.
Проблема чисто аппаратная, для борьбы с ней wdt просто не предназначен. При плохом питании (провалы, медленное нарастание и/или спад) и отсутствии сигнала ресет (ведь у вас нет ни встроенного BOR ни внешнего супервизора) чип попадает в недокументированные внутренние состояния в которых как правило ведет себя весьма странно и уж точно не в соответствии с документацией.
Go to the top of the page
 
+Quote Post
Daria
сообщение Nov 15 2008, 20:55
Сообщение #154


Местный
***

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



Цитата(rezident @ Nov 15 2008, 02:39) *
Вы имеете в виду дочь российской демократии? biggrin.gif

Ну да biggrin.gif Это просто фраза такая. Из фильма biggrin.gif


Цитата(_3m @ Nov 15 2008, 22:39) *
Не получится. В msp430 вообще не самая удачная реализация wdt.
Проблема чисто аппаратная, для борьбы с ней wdt просто не предназначен. При плохом питании (провалы, медленное нарастание и/или спад) и отсутствии сигнала ресет (ведь у вас нет ни встроенного BOR ни внешнего супервизора) чип попадает в недокументированные внутренние состояния в которых как правило ведет себя весьма странно и уж точно не в соответствии с документацией.

Ясно, спасибо. Значит, точно надо менять
Go to the top of the page
 
+Quote Post
rezident
сообщение Nov 15 2008, 21:21
Сообщение #155


Гуру
******

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



Цитата(Daria @ Nov 16 2008, 01:55) *
Ну да biggrin.gif Это просто фраза такая. Из фильма biggrin.gif
Вообще-то эта фраза (про отца русской демократии) из произведения Ильфа и Петрова "Двенадцать стульев" wink.gif А фильмов по этому произведению снято по-моему как минимум четыре штуки. Эх, молодежь! Только фильмы и знаете sad.gif
Цитата
В следующую минуту выяснилось, что председатель
биржевого комитета не имеет возможности принять участие
в завтрашней битве. Он очень сожалеет, но не может. Он
незнаком с военным делом. Потому-то его и выбрали
председателем биржевого комитета. Он в полном отчаянии,
но для спасения жизни отца русской демократии (сам
он старый октябрист) готов оказать возможную финансовую
помощь.

-- Вы верный друг отечества! -- торжественно сказал
Остап, запивая пахучий шашлык сладеньким кипиани. --
Пятьсот рублей могут спасти отца русской демократии.

-- Скажите, -- спросил Кислярский жалобно, -- а двести
рублей не могут спасти гиганта мысли?

Остап не выдержал и под столом восторженно пнул Ипполита
Матвеевича ногой.

-- Я думаю, -- сказал Ипполит Матвеевич, -- что торг
здесь неуместен!

Сорри за bb-offtopic.gif
Go to the top of the page
 
+Quote Post
zhevak
сообщение Nov 16 2008, 09:49
Сообщение #156


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(rezident @ Nov 16 2008, 03:21) *
Сорри за bb-offtopic.gif


Ну что, Вы, коллега! Какие могут быть извинения? Наоборот. Что касается лично меня, так я с огромным удовольствием перечитал приведенный Вами кусочек текста несколько раз. Соответственно, пасибо несколько раз. Это как внезапный бальзам на мои раны. smile.gif

Но вот что меня беспокоит. Это у точно офф-топ. Но я не побоюсь поднять этот вопрос. Мы становимся настолько информационно-зависимыми людьми, что наше сознание стало меняться. Я не одинок в оэтом, и я имею ввиду это:
Цитата
Интернет уменьшает мою способность концентрироваться и созерцать. Мой мозг теперь ожидает поступления информации в том виде, в каком ее распространяет Сеть
...
Создается такое впечатление, что мне постоянно приходится насильно возвращать свой своевольный мозг к тексту.
...
'Теперь я практически утратил способность читать и усваивать длинные статьи в Интернете или в напечатанном виде', - писал он в этом году. Фридман, патолог, давно работающий на медицинском факультете Мичиганского университета... Он сказал, что его мышление стало отрывочным, подобно тому, как он по диагонали просматривает отрывки текстов из многих сетевых источников. 'Я уже не могу читать 'Войну и мир', - признался он. - Я утратил эту способность. Мне даже стало трудно дочитать до конца пост, в котором больше трех-четырех параграфов. Такие я бегло просматриваю'
...

http://www.inosmi.ru/translation/245027.html


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
Daria
сообщение Nov 16 2008, 16:18
Сообщение #157


Местный
***

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



Да читала, читала я "произведение Ильфа и Петрова Двенадцать стульев"! и "Золотой теленок", кстати, тоже, и упомянутый выше "Война и Мир". Просто мне показалось, что Вы вообще не узнали фразу, так что говорить о книге было уже не уместно biggrin.gif Извиняюсь, в свою очередь.
А насчет поднятой темы, о том, что читать и запоминать информацию становится все тяжелее, так вот не согласна. wink.gif Ну, у меня, правда, были проблемы с руководством по MSP biggrin.gif Но это потому, что информация - техническая и новая для меня - все равно, что с китайского пытаться переводить. Сейчас уже становится полегче воспринимать подобные тексты, когда мышление потихоньку подстраивается. А художественные тексты как читались, так и читаются. А молодое поколение, кстати, тоже не такое уж безнадежное в этом смысле, просто они читают... другие книги smile.gif Ну так, каждому возрасту свое.
Вот такой развернутый оффтоп, с Вашей подачи, надеюсь, что модераторы не заблокируют нас biggrin.gif Было бы не хорошо. у меня еще впереди МНОГО вопросов biggrin.gif
P.S. Четырех фильмов, кстати, не помню. Знаю только два. И еще два "Золотых теленка". Но пообщаться на литературную и кинематографическую тему могу пригласить Вас в другое место, если захотите - кину ссылочку biggrin.gif

Сообщение отредактировал Daria - Nov 16 2008, 16:21
Go to the top of the page
 
+Quote Post
Daria
сообщение Nov 17 2008, 20:26
Сообщение #158


Местный
***

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



Опять детские вопросы smile.gif Если объявлять константыкак const в какой раздел flash они пишутся - в information или main?
Go to the top of the page
 
+Quote Post
rezident
сообщение Nov 17 2008, 22:03
Сообщение #159


Гуру
******

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



Цитата(Daria @ Nov 18 2008, 01:26) *
Если объявлять константыкак const в какой раздел flash они пишутся - в information или main?
В раздел, выделенный для CONST smile.gif Если вы не правили типовой xcl-файл, то CONST и CODE совпадают. Вот часть содержимого lnk430F149.xcl
CODE
/ ---------------------------------------------------------
// Read only memory


// ---------------------------------------------------------
// Information memory
// ---------------------------------------------------------

-Z(CODE)INFO=1000-10FF
-Z(CODE)INFOA=1080-10FF
-Z(CODE)INFOB=1000-107F



// ---------------------------------------------------------
// Constant data
// ---------------------------------------------------------

-Z(CONST)DATA16_C,DATA16_ID,DIFUNCT=1100-FFDF
-Z(CONST)DATA20_C,DATA20_ID=1100-FFDF


// ---------------------------------------------------------
// Code
// ---------------------------------------------------------

-Z(CODE)CSTART,ISR_CODE=1100-FFDF
-P(CODE)CODE=1100-FFDF


// ---------------------------------------------------------
// Interrupt vectors
// ---------------------------------------------------------

-Z(CODE)INTVEC=FFE0-FFFF
-Z(CODE)RESET=FFFE-FFFF


// ---------------------------------------------------------
// The end
// ---------------------------------------------------------
Go to the top of the page
 
+Quote Post
Daria
сообщение Nov 18 2008, 17:09
Сообщение #160


Местный
***

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



Цитата(rezident @ Nov 18 2008, 01:03) *
В раздел, выделенный для CONST smile.gif

Мм... Вопрос в чем - у меня в оба сегмента CONST пишутся калибровочные константы(начиная с адреса 1000 и начиная с адреса 1080), которые должны там быть пожизненно. При перезаписи flash, насколько я понимаю, стирается весь сегмент, к которому относится адрес, по которому пишется. Так вот - если буду объявлять кучу const - не перезатрется ли нужная инфа?

Сообщение отредактировал Daria - Nov 18 2008, 17:10
Go to the top of the page
 
+Quote Post
rezident
сообщение Nov 18 2008, 17:38
Сообщение #161


Гуру
******

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



Цитата(Daria @ Nov 18 2008, 22:09) *
Так вот - если буду объявлять кучу const - не перезатрется ли нужная инфа?

Область INFO про которую вы упоминаете, обычно стирается отдельно. Точнее в программаторах обычно есть опция, стирать всю Flash перед загрузкой программы или стирать только основную часть Flash, оставляя область INFO нетронутой.
Кстати, а вы хорошо представляете себе работу с константами в Си? Квалификатор const указывает лишь, что эта переменная в данной функции/модуле не модифицируется. Куда поместится такая константа зависит от компилятора. У MSP430 она во Flash помещается, а вот у AVR, если доп. указания не делать и опции типа __flash не писать, то в ОЗУ. Кроме того, IAR хитро оптимизирует и может помещать значения констант прямо в исполняемый код. Я сам подзабыл о такой его подлючей особенности и налетел на эти "грабли" буквально пару недель назад. Если интересно, то могу объяснить в чем суть "грабелек".
Go to the top of the page
 
+Quote Post
zhevak
сообщение Nov 18 2008, 18:47
Сообщение #162


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(rezident @ Nov 18 2008, 23:38) *
Кроме того, IAR хитро оптимизирует и может помещать значения констант прямо в исполняемый код. Я сам подзабыл о такой его подлючей особенности и налетел на эти "грабли" буквально пару недель назад. Если интересно, то могу объяснить в чем суть "грабелек".

Да, я хотел бы послушать.
Пожалуйста, коллега, если это Вас не сильно затруднит.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
rezident
сообщение Nov 18 2008, 21:36
Сообщение #163


Гуру
******

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



Цитата(zhevak @ Nov 18 2008, 23:47) *
Да, я хотел бы послушать.
Пожалуйста, коллега, если это Вас не сильно затруднит.
Пишу перед main что-то типа
Код
#pragma location=0x10A0
const netSeg_t netSeg=
{ UART_MAXBUFSIZE,
  30,
  300,
  15,
  15,
  13,
  0x00,
  0x21,
  0x00,
  0xFF,
  0x00
};
Это параметры для инициализации UART и сетевых дел. В теле main использую значения этой структуры для инициализации переменных, которые в т.ч. могут быть модифицированы по связи. После модификации переменные сохраняются по указанному адресу (0x10A0) в область INFO. После перезагрузки используются уже новые (модифицированные) параметры. Ну все как обычно.
Но этот "злобный" IAR, видя что это const, подставляет значения констант из структуры непосредственно в код. А саму структуру выкидывает, как ненужную sad.gif
Хоть так
Код
GD.idNet=netSeg.idNet;   //сетевой адрес

хоть так
Код
netSeg_t *ptr=&netSeg;
GD.idNet=ptr->idNet;   //сетевой адрес

В результате имеем
Код
// 25 GD.idNet=netSeg.idNet;   //сетевой адрес
        MOV.B   #0x21, &GD

Причем формально IAR вполне прав. laughing.gif С выкидыванием побороться довольно просто. Добавляем
Код
#pragma required=netSeg
и вуаля! Компилятору надавали по рукам smile.gif теперь константы на месте.
А вот с явной подставой значения константы, вместо считывания значения по адресу из структуры как-либо изящно побороться не получается sad.gif Приходится обходным путем ее инициализировать, объявлять как
Код
__no_init const netSeg_t netSeg;

а значения уже прямо в прошивку подставлять.
Код
@10A0
0C 02 1E 00 2C 01 0F 00 0F 00 0D 00 21 00 FF 00

Использую IAR EW430 4.10A.
Go to the top of the page
 
+Quote Post
VAI
сообщение Nov 19 2008, 04:57
Сообщение #164


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

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



А я по старинке использую ИАР 3.30. У меня массив с константами тоже хранится во флэшь и эти константы обновляются при калибровке прибора. Сами константы объявлены в файле, где функция main(), а используются в других файлах. Такого не наблюдал.
А если Вам попробовать объявить так:
Код
#pragma location=0x10A0
const volatile netSeg_t netSeg=
{ UART_MAXBUFSIZE,
  30,
  300,
  15,
  15,
  13,
  0x00,
  0x21,
  0x00,
  0xFF,
  0x00
};

У меня ИАР жрет такую конструкцию, код становится несколько иным, как и положено при работе с волатильными переменными. Может, при такой конструкции ИАР не будет заменять константы их значениями.
rezident, можете это проверить у себя?


--------------------
Если зайца бить, его можно и спички научить зажигать
Сколько дурака не бей - умнее не будет. Зато опытнее
Go to the top of the page
 
+Quote Post
zhevak
сообщение Nov 19 2008, 07:15
Сообщение #165


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



1. Спасибо.
2. А не пробовали разнести эту структуру и main по разным файлам?

Компиляция каждого файла пройдет отдельно и не зависимо. "Дикой" оптимизации констатн в код не произойдет. А линкер потом все вместе свяжет.

ЗЫ. Ну вон, VAI опередил, предлагает так же делать.

Сообщение отредактировал zhevak - Nov 19 2008, 07:19


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post

17 страниц V  « < 9 10 11 12 13 > » 
Reply to this topicStart new topic
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 


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


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