Миландр

Ключевым подразделением нашей компании является Центр Проектирования интегральных микросхем
Текущее время: 2018-дек-12 01:26

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 35 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: UART загрузчик
СообщениеДобавлено: 2013-май-29 13:28 
Не в сети

Зарегистрирован: 2012-ноя-29 10:39
Сообщения: 24
Вопрос по протоколу uart-загрузчика.
Для команды загрузки cmd_load в документации написано, что команде в качестве первого параметра передается адрес памяти контрооллера. Этот адрес 32-х разрядный.
Получается, что по протоколу каждый параметр команды состоит из 4х байт? Какой байт адреса передается первым, младший или старший?
Заранее спасибо за ответ.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART загрузчик
СообщениеДобавлено: 2013-май-31 09:54 
Не в сети

Зарегистрирован: 2012-ноя-29 10:39
Сообщения: 24
Разобрался, у встроенного UART-загрузчика отводится 4 байта для парамтра команды, передается младшим байтом вперед.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART загрузчик
СообщениеДобавлено: 2013-июн-03 12:43 
Не в сети

Зарегистрирован: 2012-ноя-29 10:39
Сообщения: 24
Пытаюсь в режиме встроенного UART-загрузчика записать в RAM свой загрузчик. Данные записываюся, но запусить его никак не получается.
Попробовал использовать готовую программу, взятую на форуме, с ней все работает. Стал сравнивать ее со своим кодом, возник вопрос. В программе с форума загружаемый размер файла (размер передаваемый как параметр UART-загрузчику) равен 995, в то
время как реальный размер файла 2833.
Как правильно записывать hex-файл прошивки?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART загрузчик
СообщениеДобавлено: 2013-июн-04 10:07 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 672
Откуда: г. Санкт-Петербург
alexandr_ol писал(а):
Пытаюсь в режиме встроенного UART-загрузчика записать в RAM свой загрузчик. Данные записываюся, но запусить его никак не получается.
Попробовал использовать готовую программу, взятую на форуме, с ней все работает. Стал сравнивать ее со своим кодом, возник вопрос. В программе с форума загружаемый размер файла (размер передаваемый как параметр UART-загрузчику) равен 995, в то
время как реальный размер файла 2833.
Как правильно записывать hex-файл прошивки?

Для 1986WSD.exe выложен проект для Visual Studio c исходными кодами на СИ++. Если возникнут вопросы готов ответить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART загрузчик
СообщениеДобавлено: 2013-июн-04 16:11 
Не в сети

Зарегистрирован: 2012-ноя-29 10:39
Сообщения: 24
vasili писал(а):
alexandr_ol писал(а):
Пытаюсь в режиме встроенного UART-загрузчика записать в RAM свой загрузчик. Данные записываюся, но запусить его никак не получается.
Попробовал использовать готовую программу, взятую на форуме, с ней все работает. Стал сравнивать ее со своим кодом, возник вопрос. В программе с форума загружаемый размер файла (размер передаваемый как параметр UART-загрузчику) равен 995, в то
время как реальный размер файла 2833.
Как правильно записывать hex-файл прошивки?

Для 1986WSD.exe выложен проект для Visual Studio c исходными кодами на СИ++. Если возникнут вопросы готов ответить.

Собственно вопрос по функции BOOL CMy1986WSDDlg::GetHexCod(void).
Каков алгоритм получения данных, которые зашиваются в контроллер, из исходного hex-файла (файла бутлодера 1986_BOOT_UART.HEX)?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART загрузчик
СообщениеДобавлено: 2013-июн-05 08:59 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 672
Откуда: г. Санкт-Петербург
alexandr_ol писал(а):
Собственно вопрос по функции BOOL CMy1986WSDDlg::GetHexCod(void).
Каков алгоритм получения данных, которые зашиваются в контроллер, из исходного hex-файла (файла бутлодера 1986_BOOT_UART.HEX)?

Данные из файла 1986_BOOT_UART.HEX декодируются функцией CMy1986WSDDlg::GetBootCod(void) и записываются в массив bufram. Эти данные представляют собой код программы загрузчика флеш памяти МК. Этот код командой “L” UART- загрузчика записывается в RAM МК, и ему передается управление командой “R”.
Функция CMy1986WSDDlg::GetHexCod(void) декодирует данные из hex- файла прошивки флеш памяти МК и записывает в массив bufcod. Эти данные под управлением программы загрузчика флеш памяти МК порциями по 256 байт записываются во флеш МК.
Алгоритм функций GetBootCod , GetHexCod одинаковый. Массивы bufram , bufcod заполняются 0xff, затем данные из hex- файла построчно декодируются функцией GetDataHex, и в конце подсчитывается количество передаваемых в МК данных (переменные ilboot, ilcod)


Вложения:
intel_hex[1].pdf [197.75 КБ]
Скачиваний: 3323
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART загрузчик
СообщениеДобавлено: 2013-июн-06 13:49 
Не в сети

Зарегистрирован: 2012-ноя-29 10:39
Сообщения: 24
Спасибо! Все получилось.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART загрузчик
СообщениеДобавлено: 2013-июл-01 10:08 
Не в сети

Зарегистрирован: 2012-июн-27 16:24
Сообщения: 12
vasili писал(а):
alexandr_ol писал(а):
Пытаюсь в режиме встроенного UART-загрузчика записать в RAM свой загрузчик. Данные записываюся, но запусить его никак не получается.
Попробовал использовать готовую программу, взятую на форуме, с ней все работает. Стал сравнивать ее со своим кодом, возник вопрос. В программе с форума загружаемый размер файла (размер передаваемый как параметр UART-загрузчику) равен 995, в то
время как реальный размер файла 2833.
Как правильно записывать hex-файл прошивки?

Для 1986WSD.exe выложен проект для Visual Studio c исходными кодами на СИ++. Если возникнут вопросы готов ответить.

Добрый день.
Два вопроса по 1986WSD.
1 Можно ли при помощи этой программы (1986WSD) программировать MDR32F9?
2.Если можно - то почему при попытке загрузить программу Возникает сообщение
Ошибка считывания HEX файла? (ПО - Keil)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART загрузчик
СообщениеДобавлено: 2013-июл-01 10:41 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 672
Откуда: г. Санкт-Петербург
Olg2000 писал(а):
Добрый день.
Два вопроса по 1986WSD.
1 Можно ли при помощи этой программы (1986WSD) программировать MDR32F9?
2.Если можно - то почему при попытке загрузить программу Возникает сообщение
Ошибка считывания HEX файла? (ПО - Keil)

Пришлите Hex файл.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART загрузчик
СообщениеДобавлено: 2013-июл-01 11:01 
Не в сети

Зарегистрирован: 2012-июн-27 16:24
Сообщения: 12
vasili писал(а):
Olg2000 писал(а):
Добрый день.
Два вопроса по 1986WSD.
1 Можно ли при помощи этой программы (1986WSD) программировать MDR32F9?
2.Если можно - то почему при попытке загрузить программу Возникает сообщение
Ошибка считывания HEX файла? (ПО - Keil)

Пришлите Hex файл.


Вот.


Вложения:
BGR.zip [15.5 КБ]
Скачиваний: 290
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART загрузчик
СообщениеДобавлено: 2013-июл-01 11:30 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 672
Откуда: г. Санкт-Петербург
Olg2000 писал(а):
vasili писал(а):
Olg2000 писал(а):
Добрый день.
Два вопроса по 1986WSD.
1 Можно ли при помощи этой программы (1986WSD) программировать MDR32F9?
2.Если можно - то почему при попытке загрузить программу Возникает сообщение
Ошибка считывания HEX файла? (ПО - Keil)

Пришлите Hex файл.


Вот.

В Вашем файле указаны адреса загрузки не соответствующие физичиским адресам флеш МК. Адреса должны лежать в диапазоне 0x08000000 - 0x08020000.
Прверьте настройки проекта на вкладке Target IROM1.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART загрузчик
СообщениеДобавлено: 2013-июл-01 12:13 
Не в сети

Зарегистрирован: 2012-июн-27 16:24
Сообщения: 12
[/quote]
В Вашем файле указаны адреса загрузки не соответствующие физичиским адресам флеш МК. Адреса должны лежать в диапазоне 0x08000000 - 0x08020000.
Прверьте настройки проекта на вкладке Target IROM1.[/quote]

Понял.
Проверю, сообщу.
Спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART загрузчик
СообщениеДобавлено: 2013-июл-01 13:25 
Не в сети

Зарегистрирован: 2012-июн-27 16:24
Сообщения: 12
В Вашем файле указаны адреса загрузки не соответствующие физичиским адресам флеш МК. Адреса должны лежать в диапазоне 0x08000000 - 0x08020000.
Прверьте настройки проекта на вкладке Target IROM1.


Проверил, посмотрите
В приложении фото с настройками проекта и новый hex


Вложения:
init.zip [107.47 КБ]
Скачиваний: 283
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART загрузчик
СообщениеДобавлено: 2013-июл-01 13:40 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 672
Откуда: г. Санкт-Петербург
Olg2000 писал(а):
Проверил, посмотрите
В приложении фото с настройками проекта и новый hex

Новый hex открывается 1986WSD без ошибок.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART загрузчик
СообщениеДобавлено: 2013-июл-01 13:45 
Не в сети

Зарегистрирован: 2012-июн-27 16:24
Сообщения: 12
vasili писал(а):
Olg2000 писал(а):
Проверил, посмотрите
В приложении фото с настройками проекта и новый hex

Новый hex открывается 1986WSD без ошибок.


Вечером попробую прошить.
Еще вопрос какие номера COM портов поддерживает эта программа (с 1 по 9 например или есть ограничения)
Спасибо


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 35 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


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

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB