Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

Закрытая тема
Опции темы
Непрочитано 27.01.2018, 02:25   #1
imhoteb
Частый гость
 
Регистрация: 28.02.2010
Сообщений: 19
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
imhoteb на пути к лучшему
По умолчанию Начальный сброс atxmega128a1u

Начальный сброс atxmega128a1u. Помогите в одном моменте разобраться, при старте (при сбросе МК) все значения устанавливаются в первоначальные значения в тех или иных регистрах. Но вот явно про SRAM и регистры R0-R31 не сказано. Хотя беру отладчик ATMEL-ice и девайс с ATMEL studio и четко видно что бы я не поставил, при сбросе МК все это обнуляется в значение 0. Где правда то. Нашел только в тексте к МК в описании, что при сбросе МК SRAM сохраняется... Но отладчик содержимое МК показывает получается иначе, SRAM явно очищается. Тогда где сохранить перед программным сбросом МК какие то параметры.
Реклама:

Последний раз редактировалось imhoteb; 27.01.2018 в 02:38.
imhoteb вне форума  
Непрочитано 27.01.2018, 02:28   #2
imhoteb
Частый гость
 
Регистрация: 28.02.2010
Сообщений: 19
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
imhoteb на пути к лучшему
По умолчанию Софтовый сброс atxmega128a1u, где хранить данные об этом

Софтовый сброс atxmega128a1u, где хранить данные об этом. Хочется сделать сброс, но перед этим где то сохранить какую то переменную, чтобы потом программу перевести в нужную ветку после сброса. Но вот не задача, что регистры R0-R31, что GPIO регистры, что SRAM судя по отладчику через ATMEL -iсe, все обнуляется... Хотя в тексте я нашел что при сбросе МК SRAM сохраняется... Но отладчик содержимое МК показывает получается иначе, SRAM явно очищается.

Последний раз редактировалось imhoteb; 27.01.2018 в 02:37.
imhoteb вне форума  
Непрочитано 27.01.2018, 03:41   #3
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,247
Сказал спасибо: 11,166
Сказали Спасибо 3,855 раз(а) в 2,926 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Софтовый сброс atxmega128a1u, где хранить данные об этом

imhoteb
1. Повесить на I2C/SPI flash/fram/sram модуль памяти и писать туда.
2. Писать через UART на ПК.
3. Сделать свой внешний логгер на I2C/SPI/UART (можно даже универсальный) в нужном количестве экземпляров и пользоваться им в удовольствие. Запись вести на карту памяти с возможностью замены. Решение будет на все случаи жизни.

При необходимости старта с нужного места или загрузки предыдущих данных/ состояния - необходимый код просто включается в инициализацию, ну и использованный вариант (пункты 2,3) дорабатывается под требуемую задачу.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…

Последний раз редактировалось mike-y-k; 27.01.2018 в 03:49.
mike-y-k вне форума  
Непрочитано 27.01.2018, 12:16   #4
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,915
Сказал спасибо: 2,980
Сказали Спасибо 3,160 раз(а) в 2,145 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: Софтовый сброс atxmega128a1u, где хранить данные об этом

Сообщение от imhoteb Посмотреть сообщение
Софтовый сброс atxmega128a1u, где хранить данные об этом.
На Сахаре всё ответили. Если действительно пишешь на асме - такого быть не должно. Если Си - делай переменную в _no_init секции ОЗУ и в прологе Си-программы она не будет сбрасываться в 0.

Сообщение от mike-y-k Посмотреть сообщение
1.
2.
3.
Overkill.
__________________
Экзорцист 40-го уровня.
ForcePoint вне форума  
Сказали "Спасибо" ForcePoint
mike-y-k (28.01.2018)
Непрочитано 28.01.2018, 04:05   #5
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,247
Сказал спасибо: 11,166
Сказали Спасибо 3,855 раз(а) в 2,926 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Софтовый сброс atxmega128a1u, где хранить данные об этом

ForcePoint, для конкретной архитектуры правильное решение, но таки лучше выбирать для реализации что-то, работающее всегда и везде или пользовать только одно семейство до окончания производства/пенсии…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Непрочитано 28.01.2018, 11:54   #6
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,915
Сказал спасибо: 2,980
Сказали Спасибо 3,160 раз(а) в 2,145 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: Софтовый сброс atxmega128a1u, где хранить данные об этом

Сообщение от mike-y-k Посмотреть сообщение
для конкретной архитектуры
Да ладно! Разве есть какие-то МК, где есть аппаратный сброс ОЗУ? Так-что проблема не в МК, а в Си (пролог).
__________________
Экзорцист 40-го уровня.
ForcePoint вне форума  
Сказали "Спасибо" ForcePoint
mike-y-k (29.01.2018)
Непрочитано 29.01.2018, 02:53   #7
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,247
Сказал спасибо: 11,166
Сказали Спасибо 3,855 раз(а) в 2,926 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Софтовый сброс atxmega128a1u, где хранить данные об этом

ForcePoint Вопрос правильного размещения и инициализации переменных конечно же имеет место быть .
Но завтра ещё и с восстановлением после вариантов hw_reset возникнет желание продолжить с прерванного места или даже на другой плате просто повторить для тестирование именно с нужного места, или… и опять пойдут вопросы.
Таки нечто внешнее и для отладки, и для работы в изделии сильно предпочтительнее.
Заодно кругозор расширится.
А ТС таки стоит почитать ещё раз описание языка, работу памяти и с памятью во всех ее ипостасях.
Вектор направления есть, осталось прочитать и систематизировать полное описание.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Непрочитано 08.02.2018, 11:41   #8
МВА
Гражданин KAZUS.RU
 
Регистрация: 15.08.2010
Адрес: Днепр
Сообщений: 842
Сказал спасибо: 74
Сказали Спасибо 199 раз(а) в 174 сообщении(ях)
МВА на пути к лучшему
По умолчанию Re: Софтовый сброс atxmega128a1u, где хранить данные об этом

А какой смысл? При старте МК программа начинается с начала и любая программа при работе с нуля должна инициализировать свои переменные. А при этом, даже если в SRAM что-то осталось, все-равно перепишется. Если это какие-то изменяющиеся настройки, то лучше всего их сохранять или во внешней памяти, или во флеш, а при старте производить инициализацию переменных из этой памяти.
МВА вне форума  
Сказали "Спасибо" МВА
mike-y-k (08.02.2018)
Непрочитано 08.02.2018, 12:16   #9
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Софтовый сброс atxmega128a1u, где хранить данные об этом

Сообщение от МВА Посмотреть сообщение
А какой смысл?
Не мешай. "Народ для изврата собрался!"(с). Щас эти дядьки любую здравую мысль влёгкую до работы гинеколога сведут.

Два варианта развития разговора "ни о чём" от этих светил уже в наличии.
1. Виноват МК.
2. Виноват Си.

Будем посмотреть.
STM32F0 вне форума  
Непрочитано 08.02.2018, 16:02   #10
makakus
Почётный гражданин KAZUS.RU
 
Регистрация: 08.10.2007
Сообщений: 2,760
Сказал спасибо: 1,105
Сказали Спасибо 1,037 раз(а) в 569 сообщении(ях)
makakus на пути к лучшему
По умолчанию Re: Софтовый сброс atxmega128a1u, где хранить данные об этом

Сообщение от МВА Посмотреть сообщение
При старте МК программа начинается с начала и любая программа при работе с нуля
... даже знает, с какого нуля - включение питания / аппаратный сброс / воч-дог...
ОЗУ точно никто не сбрасывает: пиши в нужное место с CRC для уверенности... есть же и внешняя память. А есть память NVRAM/ Это такой кодавр, который пишет себе в RAM, а когда питание выклюяается, успевает переписать свою RAM в свой же PROM. Окак!
makakus вне форума  
Закрытая тема

Закладки


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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FAQ (ЧаВО) по PROTEUS для начинающих и не только dosikus Proteus 221 07.03.2024 22:45
В каком формате хранить данные во FLASH ATmega128 Don_Ambrosio Микроконтроллеры, АЦП, память и т.д 12 15.05.2008 17:42


Часовой пояс GMT +4, время: 22:06.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot