Low power run
23.06.2018, 23:24
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.03.2010
Сообщений: 2,896
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: Low power run
Сообщение от vladimirkh
|
|
__ramfunc в IARe знаю,но,похоже,не умею ей пользоваться.
|
__ramfunc размещает объявленную с этим модификатором функцию в ОЗУ. Startup должен атвоматически скопировать такую функцию из Flash ROM в RAM.
Чего таки вы не знаете или не умеете? Как объявлять функцию, или как вызывать ее?
По нажатию кнопки сделали все, что должно (переключили тактирование, отключили прерывания и т.д.), вызвали эту функцию (это и есть ваш неуловимый Джо, то есть "Jump to RAM"), а в ней уже отключаете флеш (ну т.е.его питалово). И не возвращаетесь из этой функции, предварительно не включив флеш обратно.
Последний раз редактировалось AR_Favorit; 23.06.2018 в 23:58.
|
|
|
|
Эти 2 пользователя(ей) сказали Спасибо AR_Favorit за это сообщение:
|
|
|
24.06.2018, 16:21
|
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО/МО
Сообщений: 12,290
Сказал спасибо: 11,862
Сказали Спасибо 4,160 раз(а) в 3,178 сообщении(ях)
|
Re: Low power run
vladimirkh, тогда ещё здесь и по ссылкам в подвале.
Ну и конечно посмотреть на вывод ассемблера по результатам компиляции не мешает, возможно в машинных командах сделанное будет понятнее и недоделки станут видны…
Ну и я бы не занимался копированием чего-то в новый проект, а создал бы его с нуля и добился работоспособности на простом мигании светодиодом… потом можно и нужный функционал подтянуть…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
|
Сказали "Спасибо" mike-y-k
|
|
|
24.06.2018, 22:36
|
|
|
Частый гость
Регистрация: 10.04.2018
Сообщений: 29
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Low power run
AR_Favorit, БОЛЬШОЕ ВАМ СПАСИБО,перерыл весь интернет,но нигде решений так и не нашел.3 дня бился,а решение было на виду и логичное.Просто думал что флеш нужно откллючать в основной программе,и после этого происходит переход в рам,а нужно отключать уже в рам. Собрал минимальный проект с миганием светодиода из
рам,все получилось!
|
|
|
|
25.06.2018, 00:51
|
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО/МО
Сообщений: 12,290
Сказал спасибо: 11,862
Сказали Спасибо 4,160 раз(а) в 3,178 сообщении(ях)
|
Re: Low power run
vladimirkh, так в статье на easyelectronics это было вроде как все по шагам разжевано…
|
Цитата:
|
1) Отключить всю неиспользуемую периферию
2) Отключить все прерывания
3) Перейти в RAM
4) Переключиться на LSI\LSE (внутренний низкоскоростной генератор/внешний часовой кварц)
5) Отключить HSI и HSE (высокоскоростные тактовые генераторы)
6) Отключить питание флеш и EEPROM памяти
7) Переключить внутренний стабилизатор напряжения в низкопотребляющий режим
|
Пункты после 3-го - все уже в RAM происходит, видимо надо было 11 и 12 раз прочитать 
Соответственно при возврате из программы в RAM все пункты выполнить в обратном порядке…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
Последний раз редактировалось mike-y-k; 25.06.2018 в 00:55.
|
|
|
|
25.06.2018, 17:42
|
|
|
Частый гость
Регистрация: 10.04.2018
Сообщений: 29
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Low power run
В общем попробовал этот режим экономии,получилось около 11 мка,
результат удовлетварительный . Спасибо всем за помощь!
Выкладываю рабочий проект для повторения под IAR .
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 14:36.
|
|