Если вы задаете этот вопрос, я надеюсь, что либо:
- Плата все еще находится в разработке, либо
- У вас есть доска, созданная кем-то, кто подумал об этих проблемах.
Если # 2, поговорите с тем, кто разработал доску, и узнайте, какие ресурсы были вложены для решения этих проблем.
Если # 1, вероятно, вы внесли свой вклад в дизайн.
Необходимые ресурсы:
- Энергонезависимая память: fla sh, eeprom, et c.
- Один или несколько способов записи параметров в это энергонезависимое хранилище
Желаемый ресурс: линия связи для ввода / вывода во время работы (часто используется последовательный порт).
Получив эти ресурсы, вы делаете следующее:
- Разработка переменных, структур данных и т. Д. c. для хранения параметров
Спроектируйте свое энергонезависимое хранилище с учетом:
a. Особенности / ограничения вашего носителя (например, память fla sh обычно требует стирания перед записью. Стирание требует времени и должно выполняться по секторам, а не по отдельным байтам.
b. Проверка: ваша программа должна есть способ проверить, что энергонезависимое хранилище имеет допустимые значения, а не мусор, не все 0xFF, и либо не работает, либо использует значения по умолчанию или что-то подобное, если оно недопустимо
Затем вы можете написать программу, используя это.
Необходимо продумать, как вы будете записывать значения в энергонезависимую память
- во время разработки
- в производстве
Они вряд ли будут одинаковыми.
В процессе разработки вы хотите иметь возможность легко изменять значения. У вас может быть способ записать свой чип fla sh через JTAG. У вас может быть коммуникационный порт, который запускает какой-то простой интерфейс командной строки, принимает команды через какой-либо протокол, задает вопросы и считывает ответы через эмулятор терминала и т. д. c. Программа Затем m может записать значения в энергонезависимую память.
В производстве вы, вероятно, захотите записать «правильные» значения один раз, при настройке системы, без особого участия оператора.
Это всего лишь начальная рекомендация ... как упоминалось в комментариях, ваш вопрос носит очень общий характер.