Например TDA7294

Форум РадиоКот • Просмотр темы - Какое состояние Ram при включении и при сбросе через mclr
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 17, 2024 02:50:05

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Какое состояние Ram при включении и при сбросе через mclr
СообщениеДобавлено: Сб окт 28, 2017 17:58:55 
Родился

Зарегистрирован: Пт авг 07, 2015 14:30:08
Сообщений: 5
Рейтинг сообщения: 0
Добрый вечер всем участникам, возник такой вопрос: при включении контроллера, происходит сброс ram "железно" во всех регистрах в 00 или у вас бывали случаи, что в ram висит мусор? Просто есть подозрения, что есть мусор в ram при включении...
Буду рад Вас услышать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Какое состояние Ram при включении и при сбросе через mcl
СообщениеДобавлено: Сб окт 28, 2017 18:40:32 
Друг Кота

Карма: 27
Рейтинг сообщений: 1283
Зарегистрирован: Ср фев 11, 2009 20:35:58
Сообщений: 7854
Рейтинг сообщения: 0
мусор


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Какое состояние Ram при включении и при сбросе через mcl
СообщениеДобавлено: Сб окт 28, 2017 19:57:17 
Опытный кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 121
Зарегистрирован: Ср окт 04, 2017 20:47:40
Сообщений: 768
Рейтинг сообщения: 0
Пардон, а зачем тов. Klassik понадобилось искать чего в RAM после включения МК?
Ведь (из знаний того, что есть в МК и что для чего предназначено) явно следует как использовать RAM.
Правда, если вместо осмысления даташита искать: а что там за пределами адресного пространства, чего в ячейке, в которую я ничего не клал или будет ли работать МК без подачи питания и т. д., то "исследования" можно продолжать. :solder:


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Какое состояние Ram при включении и при сбросе через mcl
СообщениеДобавлено: Сб окт 28, 2017 20:13:33 
Потрогал лапой паяльник
Аватар пользователя

Карма: 20
Рейтинг сообщений: 121
Зарегистрирован: Вс янв 19, 2014 22:41:55
Сообщений: 353
Рейтинг сообщения: 0
происходит сброс ram "железно" во всех регистрах в 00 или у вас бывали случаи, что в ram висит мусор?

Предположим, что вы работаете с PIC18F14K50 и имеете ввиду его набортный SRAM - тогда заглянув в даташит http://ww1.microchip.com/downloads/en/D ... 01350F.pdf и дочитав до раздела "3.3 Data Memory Organization" можно заметить, что область эта называется GPR и как написано в разделе

3.3.4 GENERAL PURPOSE REGISTER FILE
PIC18 devices may have banked memory in the GPR
area. This is data RAM, which is available for use by all
instructions. GPRs start at the bottom of Bank 0
(address 000h) and grow upwards towards the bottom of
the SFR area. GPRs are not initialized by a Power-on
Reset and are unchanged on all other Resets
.

Но если вы пишете на С то до момента вызова вашей реализации main() все глобальные инициализированные переменные уже будут иметь заданные в исходном коде значения, а неинициализированные глобальные переменные - будут занулены. Пространство стека, впрочем, остаётся непроинициализированным - т.е. локальные переменные всё-же будут иметь неопределённые значения - но у них судьба такая. Если-же наш сферический С-ишник додумается организовать кучу и будет выкалывать из неё кусочки malloc-ом - в них тоже будет мусор. Ну а для ассемблерщика, как уже ответили, всё проще - 100% мусора исключая область занятую SFR. А правила инициализации SFR-ов нужно глядеть в их [регистров] личных делах.

_________________
Одновременным нажатием LIGHT и POWER, РП Sangean ATS-909X (ver 1.29) превращается в ATS-909XR! ;-)


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Какое состояние Ram при включении и при сбросе через mcl
СообщениеДобавлено: Сб окт 28, 2017 21:30:43 
Родился

Зарегистрирован: Пт авг 07, 2015 14:30:08
Сообщений: 5
Рейтинг сообщения: 0
Просто у меня в программе используются битовые флаги и через некоторое время программа зависает, пишу на ассемблере и не полный нуб в программировании. Регистры в ram используются как 8 битовые флаги. И если значение в ram будет фиг знает что, значит программа улетит не туда куда надо. Наверное самое оптимальное будет при запуске мк чистить ram через косвенную адресацию, это так, мысли вслух....


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Какое состояние Ram при включении и при сбросе через mcl
СообщениеДобавлено: Сб окт 28, 2017 23:54:53 
Мудрый кот
Аватар пользователя

Карма: 7
Рейтинг сообщений: 93
Зарегистрирован: Ср сен 07, 2011 21:40:30
Сообщений: 1797
Рейтинг сообщения: 0
Ну если ты туда пишешь что-то перед прочтением, то какая разница что там было ДО?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Какое состояние Ram при включении и при сбросе через mcl
СообщениеДобавлено: Вс окт 29, 2017 06:42:19 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Лично я, давным-давно взял за правило, при старте программы, полностью очищать "оперативку".
И самому спокойнее и, один фиг, всё равно время девать некуда, поскольку приходится ещё ждать до начала инициализации разной периферии, подключенной к контроллеру.
А, образно говоря, включите вы светодиод через 1µS или 1mS после подачи питания - никто не заметит...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Какое состояние Ram при включении и при сбросе через mcl
СообщениеДобавлено: Вс окт 29, 2017 07:36:46 
Опытный кот

Карма: 4
Рейтинг сообщений: 81
Зарегистрирован: Пн апр 11, 2011 10:08:52
Сообщений: 844
Рейтинг сообщения: 0
Наверное самое оптимальное будет при запуске мк чистить ram через косвенную адресацию, это так, мысли вслух....

Это правило программирования: объявил переменную - инициализируй!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Какое состояние Ram при включении и при сбросе через mcl
СообщениеДобавлено: Вс окт 29, 2017 11:19:02 
Встал на лапы
Аватар пользователя

Карма: 3
Рейтинг сообщений: 17
Зарегистрирован: Чт ноя 26, 2015 23:22:35
Сообщений: 124
Откуда: не с Уфы
Рейтинг сообщения: 0
... всё равно время девать некуда, поскольку приходится ещё ждать до начала инициализации разной периферии, подключенной к контроллеру...


Я так понял, что пока там что-то "инициализируется" идёт чистка ram. Но если идёт эта чистка, то ничего собственно происходить больше и не может. Так что же подразумевается под словами "приходится ждать"?

Кстати, я как-то проводил эксперимент. Не очищая оперативу, сразу выводил текущие значения нескольких байтов поразрядно в зуммер. В итоге всегда показывало FF.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Какое состояние Ram при включении и при сбросе через mcl
СообщениеДобавлено: Вс окт 29, 2017 11:30:27 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Я о том что, к примеру, если у вас в системе индикатор на HD44780, SI4xxx, CMX7xxx и т.д., вы не имеете право делать их INIT сразу (мгновенно) после подачи питания.
Для каждого из них (в pdf) указано минимальное время между подачей питания и начала работы с ними.
Как правило, это время более 100mS и только по истечении этого времени можно приступать к их инициализации.
До истечении этого времени можно делать что угодно, но изделие не будет полностью рабочим.
За это время можно очистить память, настроить внутреннюю периферию контроллера и т.д..
В программе я делаю отдельным битом (в битовом регистре) указание на то, что вся периферия проинициализирована и разрешается выполнение основного алгоритма работы программы.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Какое состояние Ram при включении и при сбросе через mcl
СообщениеДобавлено: Вс окт 29, 2017 12:19:05 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21790
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
В настройках ассемблера есть опция инициализации корректно объявленных переменных нулем. При ее активации ассемблер сдвигает код пользователя и вставляет оную инициализацию. Не знаю есть ли эта опция у MPASM, а у ASM30/ASM16 имеется. Причем в MPLAB X она по дефолту включена.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Какое состояние Ram при включении и при сбросе через mcl
СообщениеДобавлено: Пн окт 30, 2017 13:51:02 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14053
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Просто у меня в программе используются битовые флаги и через некоторое время программа зависает, пишу на ассемблере и не полный нуб в программировании. Регистры в ram используются как 8 битовые флаги. И если значение в ram будет фиг знает что, значит программа улетит не туда куда надо. Наверное самое оптимальное будет при запуске мк чистить ram через косвенную адресацию, это так, мысли вслух....


Для ассемблера стандартна процедура предварительной очистки/загрузки критичных значений для ОЗУ.
Одновременно должна быть предусмотрена корректная переинициализация системы при условии возникновения аварийных сбоев (не обязательно при соответствующем сигнале аппаратного сброса).
8)


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y