Перейти к содержанию

crazz

Рекомендуемые сообщения

К сожалению это костыли отлитые в граните. Поэтому от этого подхода отказываются в новых контроллерах, новых компиляторах. Представьте себе что придется сделать когда объём памяти в контроллере перевалит за мегабайт? Поэтому это и есть костыль, который пока работает и не мешает но в будущем станет очень неудобной штукой.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

В 22.12.2018 в 18:35, Alexeyslav сказал:

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

Какой то набор слов....

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

5c1fd531c56ad_.thumb.PNG.999f9719533eb50abe9e7d455c3e3b59.PNG

Никакого поиска программатору делать не требуется. В хексе ПРЯМО УКАЗАН АДРЕС конфига. Протокол программирования МК предусматривает программирование конфига. Иначе что это за программатор.

В чем состоят костыли вообще не понятно. Дикостью является необходимость конфигурить МК после прошивки. 

Изменено пользователем my504

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Это в новых PIC-ах так, для древности 16F628 это было не так. Вопрос не о том как конфигурация прошивается в контроллер, несомненно программа должна знать куда и как его прошивать, а вопрос о передаче этого слова в программатор. Раньше его вводили ручками из-за чего было много проблем - одного файла прошивки было недостаточно чтобы контроллер заработал правильно, нужно было ещё магическое слово ему сказать - слово конфигурации и оно часто терялось т.к. прошивка была отдельно от статьи описывающей конструкцию. Видимо, в новых контроллерах этот костыль так вжился в практику что его узаконили. Если не ошибаюсь, то в последней ячейке памяти 16F628 находится калибровочная константа встроенного генератора.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

На сколько я помню, у Микрочипа всегда слово конфигурации встраивалось в hex. На моей памяти, даже 15 лет назад (когда были в диковинку динозавры, типа 16F84).
 

14 минуты назад, Alexeyslav сказал:

Если не ошибаюсь, то в последней ячейке памяти 16F628 находится калибровочная константа встроенного генератора.

Ошибаетесь. В 628-ом нет калибровочной константы.

Ссылка на комментарий
Поделиться на другие сайты

То что ее нет в 628-ом, это не так уж важно. Важно то, что она в принципе существует и может быть довольно легко утеряна. В моей практике такой случай был, хотя я в принципе был в курсе дел. Банальная невнимательность. на 12-ом правда чипе

и насколько я помню _config может быть прописан как в коде, так и через программатор отдельно (если речь о PicKit). Просто запись его в код устраняет лишнюю работу руками, вот и все. Так что костылями я бы это не считал. А вот калибровочная константа это конечно дичь

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

13 часа назад, mail_robot сказал:

А вот калибровочная константа это конечно дичь

Если мне не изменяет память, в СОВРЕМЕННЫХ STM32 тоже прописана калибровочная константа.

Не вижу никакой дичи. Лазерная подгонка стоит дороже измеренной константы и стандартного кода ее утилизации в осциллятор.

14 часа назад, Alexeyslav сказал:

вопрос о передаче этого слова в программатор.

Нужно читать инструкции на среду. И настроить ее путем установки соответствующей галки по включению конфига в хекс. Дефолтно оная галка стоит.

Программатор тут вообще не причем. Будет в хексе конфиг - он его прошьет после верификации основной прошивки.

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

39 minutes ago, my504 said:

Если мне не изменяет память, в СОВРЕМЕННЫХ STM32 тоже прописана калибровочная константа

а если мне не изменяет, то ни в одном из них

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

25 минут назад, mail_robot сказал:

ни в одном из них

А теперь правильный ответ.

В STM32F7 имеются калибровочные коэффициенты для встроенного датчика температуры TS_CAL1 и TS_CAL2. Если интересно, могу открыть референсный мануал и найти адреса флеша  содержащего их.

Изменено пользователем my504

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

и что, они переписываются каждый раз при прошивке?

от ты тоже нашел чего сравнить, гений. У мерседеса вот тоже колеса есть. Круглые. Он как по твоему, похож на жигули?

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, mail_robot сказал:

и что, они переписываются каждый раз при прошивке?

А мы разве обсуждали вопрос перезаписи?

Вы назвали саму калибровочную константу кривым решением.

Что касается технических вопросов ее использования Микрочипом, то оная константа применялась ЛИШЬ ОДНАЖДЫ В ОДНОЙ ЕДИНСТВЕННОЙ МОДЕЛИ МК (точнее, двух ее разновидностях по числу выводов - 12F675/16F676). Это было промежуточное решение и в дальнейшем калибровка стала частью технологического процесса и константа исчезла. А метод применения константы был взят стандартный для этой платформы - команда retlw. Ибо функции чтения флеша у этой модели МК не было. Оная команда заменяла доступ к константам хранящимся во флеше.

Сохранение константы в этой одной  модели отнесли к функциям программатора, что не так уж криво. Тем более, что сама потребность в номинальной точности встроенного RC осциллятора - не слишком необходимая на практике сущность. Стереотип калибровки взялся от малограмотного использования настроек компилятора или тупого копирования чужих глупостей (в смысле беспонтового применения калибровки).

Изменено пользователем my504

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

2 hours ago, my504 said:

А мы разве обсуждали вопрос перезаписи?

а разве обсуждали?

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

а как еще отвечать, если ему про фому, а он тебе про ерему

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

37 минут назад, mail_robot сказал:

про фому......про ерему

И тут Вы пытаетесь врать.

В 24.12.2018 в 02:33, mail_robot сказал:

А вот калибровочная константа это конечно дичь

Ни слова о способе ее размещения и необходимости перезаписи.

Но если даже речь шла именно об этом, то и тогда Вы несли ахинею. Константу можно разместить лишь там, где ее можно разместить в данной архитектуре  ВООБЩЕ. В обсуждаемых ПИКах единственным таким местом является общий флеш. Естественно, что он стирается при программировании. Дураку понятно, что решение было временным по готовой  архитектуре.

Не нравится - не используй. Производитель выдал константу как бесплатный бонус. Он никого ни к чему не обязывает.

В чем тут дичь?

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

Подскажите про прерывания и таймеры, задача поморгать диодами rgb, сразу подумал о циклах с задержками, но в интернете встречаются варианты с таймерами и прерываниями. Как грамотно организовать моргание диодов?

Ссылка на комментарий
Поделиться на другие сайты

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

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Задача сделать контроллер для rgb ленты (переливание цветов, моргание с разным интервалом), теоретически точность интервалов важна, на практике же, неравный интервал не будет заметен, я так понимаю, что это доли секунды отклонения. Но всё же хотелось бы узнать как сделать точные интервалы. С чем связана точность таймера в pic'ах и что происходит при прерывании? Я вообще не догоняю связь таймера с прерываниями, да ещё тут всплыли непонятные постскейлер и прескейлер.

Ссылка на комментарий
Поделиться на другие сайты

Может тогда стоит почитать какую-то литературу по внутреннему устройству  PIC-ов ? Вы, похоже, не с того конца начали.

"Я не знаю какой там коэффициент, я просто паять умею. "

Ссылка на комментарий
Поделиться на другие сайты

Пробовал читать статьи и даташиты, но не понимаю я там ничего, я тупой, мне понятнее методом тыка решать задачу по мере поступления, понимание придёт со временем)

Ссылка на комментарий
Поделиться на другие сайты

Методом тыка - понимание не прийдёт. Нужен метод научного тыка, хотябы.

Там не строгий интервал нужен, а его стабильность во времени. Иначе лента будет помаргивать как бы.

Самый простой способ - это организовать 3 канала ШИМ, и устанавливать из программы только скважность.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

А даташиты надо читать. Нет, не просто читать, а читать с целью найти конкретную инфомрацию - например, как настроить таймер в нужный режим. А просто так читать даташит - бесполезно, это не худ.лит. а справочник, с редкими художественными вставками.

Чтобы быстрее пришло понимание, надо пройти учебный курс для начинающих или самому набить шишек, найти все грабли и походить основательно по подводным камням(коих предостаточно).

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Да, именно сейчас так и читаю даташит, а ранее была попытка освоить его как книгу)

Насчёт курса, возможно и стоило бы пройти, но я люблю решать поставленную задачу)

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...