Загрузка пользовательских настроек в МК

sp34
Offline
Зарегистрирован: 05.03.2013

Несколько раз видел скетчи , где в течении кокого-то времени (например в течении 1-й минуты после включения питания МК) можно было определенными кнопками ( или их комбинациями ) ввести пользовательские настройки которые естественно не совпадали бы с установками в setup , но при следующем включении питания использовались именно они , а не из функции setup !!!! и опять в течении первой минуты их опять можно было изменить .

К сожалению скетчи были в формате .HEX и я не смог посмотреть

как это организованно !

Поиском тоже что то не нашел - может неверно вопрос формулирую.

Вопрос к знатокам

Как это может выглядеть на конкретном примере  -  изменить и запомнить  значение той или иной переменной и результат остался-бы не изменным после снятия и возобновления питания МК ?

step962
Offline
Зарегистрирован: 23.05.2011

магическое слово - "EEPROM"

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

если только в EEPROM наверно записать. флеш сам вроде не редактируется

sp34
Offline
Зарегистрирован: 05.03.2013
1Спасибо разобрался !
Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

jeka_tm пишет:

если только в EEPROM наверно записать. флеш сам вроде не редактируется

ну тут смотря какой камень использовать.. у атмеля не плохо реализовано самоперезаписывание флеша на некоторых контролерах.. причем довольно интересно, выполняем програму из первого банка памяти которая перепрограмирует второй банк а потом наоборот и ресетимся :) 

кстати такая дырка для вируса потенциальная :)

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

в принципе да. бутлоадеры так работают. но не думаю что это так просто делается

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

jeka_tm пишет:

в принципе да. бутлоадеры так работают. но не думаю что это так просто делается

а вы меньше думайте и больше читайте мануалы... например для DUE весь код что бы она сама себе переписала флеш, буквально десяток строчек :)

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

тяжко даются мануалы. учил немецкий

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Флеш можно писать и не только из бутлоадера, во всяком случае я пробовал на атмега16, это несложно сделать. Часть кода в области бутлоадера, остальное во флеше, пишется блоками (размер зависит от камня). А еще, USBAspLoader содержит такие функции, правда я не пробовал использовать.

Хотя это всё нафиг нужно, хранить установки лучше в EEPROM, ИМХО.

 

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

kisoft пишет:

Флеш можно писать и не только из бутлоадера, во всяком случае я пробовал на атмега16, это несложно сделать. Часть кода в области бутлоадера, остальное во флеше, пишется блоками (размер зависит от камня). А еще, USBAspLoader содержит такие функции, правда я не пробовал использовать.

Хотя это всё нафиг нужно, хранить установки лучше в EEPROM, ИМХО.

 

я тоже так думаю. ему всего несколько параметров хранить. для этого eeprom и сделали