/
atikbif
/
RelkonIDE
Обзор
Документация
Войти
/
atikbif
/
RelkonIDE
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Doc/IDE_Help/loader_util.html
59 строк
9 KB
kontel
Версия 7.1.0.0 для офлайн сборки
16 мар 2018, 11:18
16 мар 2018, 11:18
8d2824b
Код
Авторство
О чём код?
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Загрузчик</title> <style> #header { background-color:black; color:white; text-align:center; padding:5px; } #content { float:left; padding:10px; } </style> </head> <body> <div id="header"> <h1>Загрузчик</h1> </div> <div id="content"> <p>Утилита "Загрузчик" предназначена как для загрузки в контроллер программы и настроек так и для их чтения.</p> <p>Программа загружается и читается в виде двоичного файла с инструкциями процессору (файл с расширением bin). Он создаётся в результате успешной сборки проекта. Обратное преобразование (из bin файла в kon) невозможно. Поэтому считанную из контроллера программу невозможно скорректировать без исходных файлов проекта. Настройки контроллера хранятся в файле с расширением sfr. </p> <p>Для общей информации ниже изложен внутренний механизм программирования контроллера.</p> <p>При подаче питания на контроллер в нём запускается небольшая программа (bootloader), которая позволяет загрузить в контроллер код по протоколу Y-Modem. В контроллере имеется энергонезависимая память, часть которой распределена на системные нужды. В этой области памяти хранится кодовое слово, показывающее что в контроллер ранее была успешно загружена программа. Если bootloader обнаруживает это кодовое слово в памяти он сразу же передаёт управление основной программе и контроллер начинает работать в соответствии с её алгоритмом. В противном случае bootloader ожидает загрузки новой программы в контроллер.</p> <p>Есть 2 способа заставить контроллер задержаться в режиме загрузчика. Первый - стереть кодовое слово, используя команды доступа к памяти по интерфейсу RS485. Второй вариант требует применения пульта - при подаче питания на контроллер необходимо удерживать на пульте кнопку F2.</p> <p>Программирование происходит следующим образом. Сначала выполняется поиск контроллера по заданным настройкам (сетевой адрес и COM порт). Как только контроллер обнаруживается, в памяти стирается кодовое слово и даётся команда на перезапуск контроллера. Контроллер остаётся в режиме bootloader-а. После этого начинается загрузка программы по протоколу Y-Modem. По окончании этого процесса управление автоматически переходит к загруженной программе и она записывает кодовое слово в энергонезависимой памяти контроллера. Поэтому при последующих перезапусках программа стартует в штатном режиме (bootloader передаёт управление основной программе).</p> <p>Если процесс программирования по какой-либо причине был прерван, то контроллер при подаче питания будет оставаться в режиме bootloader-а до тех пор пока в него не будет загружена новая программа. Bootloader не использует в своей работе сетевой адрес контроллера. Поэтому программирование в этом случае будет возможно только по нулевому адресу.</p> <p>Для программирования может использоваться только канал PROG контроллера.</p> <p>Чтение программы выполняется в штатном режиме по протоколам RKBIN/ASCII. При этом считывается вся доступная flash память контроллера. Поэтому этот процесс занимает больше времени чем запись.</p> <p>Настройки контроллера хранятся в энергонезависимой памяти и могут читаться/писаться, используя протокол RKBIN/ASCII.</p> <p><img src="images/reloader.png" alt="Утилита загрузчика"></p> <h3>Последовательность действий при загрузке программы и настроек.</h3> <p> <li>Задать сетевой адрес контроллера для поиска. Если к компьютеру подключен только один контроллер и его адрес неизвестен, то можно установить нулевой адрес.</li> <li>Нажать кнопку "поиск". Утилита просканирует все COM порты и при обнаружении контроллера выведет его параметры (скорость, протокол, канал). В противном случае будет выведено сообщение об ошибке.</li> <li>В разделе "Загрузка" нажать кнопку "программа"</li> <li>В открывшемся диалоге выбрать bin файл для загрузки, после чего автоматически запустится процесс программирования</li> <li>По завершении программирования нажать кнопку "Сист. настройки" (в разделе "загрузка")</li> <li>В открывшемся диалоге выбрать sfr файл для загрузки</li> <li>Дождаться завершения загрузки настроек</li> </p> <h3>Последовательность действий при чтении программы и настроек.</h3> <p> <li>Задать сетевой адрес контроллера для поиска. Если к компьютеру подключен только один контроллер и его адрес неизвестен, то можно установить нулевой адрес.</li> <li>Нажать кнопку "поиск". Утилита просканирует все COM порты и при обнаружении контроллера выведет его параметры (скорость, протокол, канал). В противном случае будет выведено сообщение об ошибке.</li> <li>В разделе "Чтение" нажать кнопку "программа"</li> <li>После завершения процесса чтения откроется диалог для сохранения bin файла</li> <li>Нажать кнопку "Сист. настройки" (в разделе "чтение")</li> <li>После завершения процесса чтения откроется диалог для сохранения sfr файла</li> </p> <br> <p>Если контроллер находится в режиме загрузчика, то это говорит о том, что по какой-либо причине предыдущий процесс программирования не был корректно завершён. Поэтому чтение программы или настроек будет невозможно.</p> </div> </body>