Страница 2 из 4

Re: Инструментальные средства

СообщениеДобавлено: 07 май 2008, 23:57
Интегральный вычислитель
Владимир писал(а):Не подскажешь где можно еще найти примеры программ для SDK 1.1

http://194.85.162.173/viewvc/SDK1_process_switcher/ - попытка создать операционку для sdk 1.1. Переключает задачи + ведет журнал.
а также какую нибудь литературу? на сайте всё облазил

Если есть желание глубже разобраться в программной модели контроллера, то наверное стоит немного попрограммировать на ассемблере.
Про архитектуру контроллеров серии MCS51 (к которым относиться aduc812 установленный на SDK 1.1) можно почитать в интеловских доках ftp://download.intel.com/design/MCS51/MANUALS/
+ Необходимо понимать как работают компилятор и компоновщик.
В остальном документов, которые есть на сайте, вполне достаточно.

p/s Я посмотрю ваш архив завтра.

Re: Инструментальные средства

СообщениеДобавлено: 08 май 2008, 11:15
Роман Химов
Засвечу тут старые поделия, вдруг кому пригодится:
http://roman.khimov.ru/2006/07/02/sdknet/

Шедевры те ещё, но некоторый забавный код, который работает на SDK 1.1 (а сетевая часть пытается быть кроссплатформенной даже, впрочем это другой курс немного уже :)).

Плюс чуть-чуть инструментов для GNU/Linux или *BSD. Хотя, смотрю, сейчас уже неактуально. Что хорошо.

Был ещё смешной код для самодельной железки с ADuC812 без флэш-памяти (всё в 256 байтах внутренних), тоже задачки переключал, диодами моргал...

Re: Инструментальные средства

СообщениеДобавлено: 08 май 2008, 12:05
Интегральный вычислитель
Раб Лампы писал(а):
Владимир писал(а):p/s Я посмотрю ваш архив завтра.

Странно, у меня вообще не получилось загрузить HEX собранный SDCC. К сожалению, у меня сейчас нет времени разобраться в чем тут дело. Посмотрю после праздников.

Сейчас могу лишь посоветовать использовать SDCC с m3p, а Keil с t167b/t2.

Прикладываю архив с собранным загрузчиком ul и батником для загрузки.

Re: Инструментальные средства

СообщениеДобавлено: 08 май 2008, 12:46
kluchev
Роман Химов писал(а):Засвечу тут старые поделия, вдруг кому пригодится:
http://roman.khimov.ru/2006/07/02/sdknet/

Спасибо :mrgreen:

Re: Инструментальные средства

СообщениеДобавлено: 09 май 2008, 23:49
MIX@
Для виндовс есть пакет "Windows Services for UNIX", содержащий их реализацию стандартного UNIX-окружения, возможно есть и make. Во всяком случае, когда мне нужно было дать доступ винде к NFS-ресурсу - NFS-клиент там был. Брать отсюда: http://www.microsoft.com/downloads/deta ... layLang=en

Раб Лампы писал(а):p/s наверное надо написать путеводитель по исходному коду gm3p и загрузчика ul, чтобы было понятно как работают протоколы, и как добавлять новые функции...


Было бы неплохо ;)

Re: Инструментальные средства

СообщениеДобавлено: 13 май 2008, 15:21
Интегральный вычислитель
Владимир писал(а):Еще вопрос по SDCC:
после компиляции пытался загрузить hex-файл с помощью t167b, программа загрузилась но со стендом ничего не происходит, видимо проблема со стартовым адресом, хотя указывал тот же адрес 0x2100 что и при компиляции...

Я сделал проект для сборки SDCC и загрузки через t167b. Сборка управляется через make. Для загрузки используйте load.bat

Re: Инструментальные средства

СообщениеДобавлено: 04 апр 2009, 17:23
Miller
Несколько раз перечитал все сообщения которые писались выше…попробовал сам загрузить исполняемый код в учебный стенд. Ни чего не получилось! :(
Уважаемые спецы, может подскажите что не так? :oops: Всё что пробовал загрузить, выкладываю в архиве.
1.JPG
Как я понимаю все ок!?
1.JPG (22.2 Кб) Просмотров: 16078

Re: Инструментальные средства

СообщениеДобавлено: 04 апр 2009, 21:01
A.Sukhoy
У вас точно SDK подключен к COM4? Попробуйте другие порты указать в настройках t167b, как вариант.
Если с портами все ОК, то для загрузки программ можно попробовать использовать программу m3p (http://194.85.162.173/viewvc/gm3p/)

Re: Инструментальные средства

СообщениеДобавлено: 05 апр 2009, 00:14
Miller
SHR писал(а):У вас точно SDK подключен к COM4? Попробуйте другие порты указать в настройках t167b, как вариант.

Да, точно к Com 4. С другими сразу ошибка выдается.

Re: Инструментальные средства

СообщениеДобавлено: 06 апр 2009, 00:49
kluchev
Miller писал(а):
SHR писал(а):У вас точно SDK подключен к COM4? Попробуйте другие порты указать в настройках t167b, как вариант.

Да, точно к Com 4. С другими сразу ошибка выдается.


t167b досовская программа, написанная в конце прошлого века. Лучше возьмите для загрузки программу m3p.exe.

Re: Инструментальные средства

СообщениеДобавлено: 08 апр 2009, 00:27
Miller
и через m3p тоже не получается, но скорее всего я чего недопонимаю.
Попробовал загрузить хех файл, пишет ошибка флеш программирования, что это означает, что не так?
Так же попробовал с load.m3p :(

Re: Инструментальные средства

СообщениеДобавлено: 08 апр 2009, 09:41
kluchev
Miller писал(а):и через m3p тоже не получается, но скорее всего я чего недопонимаю.
Попробовал загрузить хех файл, пишет ошибка флеш программирования, что это означает, что не так?
Так же попробовал с load.m3p :(


Спокойствие, только спокойствие! Для начала, полезно определить что мы хотим, а то я похоже тоже начал запутываться. Итак, вариантов видится два:
1. Мы хотим поменять загрузчик.
2. Мы хотим загрузить прикладную программу.

Выберите один из вариантов и мы пойдём дальше.

Re: Инструментальные средства

СообщениеДобавлено: 08 апр 2009, 11:07
Miller
2. Я хочу загрузить прикладную программу.

Re: Инструментальные средства

СообщениеДобавлено: 08 апр 2009, 11:21
Василий (студент)
Правильно я понимаю, что НЕХ файл полученный компилятором SDCC не получится загрузить в стенд SDK11 пока я не заменю загрузчик во флеш памяти стенда??? Или всё же всё равно чем создан НЕХ файл (KEILом или SDCC) и его одинаково можно загрузить в стенд прогой Т2?

Я взял файл симпл.с откомпелировал его Кейлом и загрузил НЕХ файл в стенд - работает.
Теперь откомпелировал этот файл программой SDCC и полученный НЕХ файл так же загрузил проой Т2 - не работает.
Вопрос: с чем это может быть связано и как заставить работать?

Re: Инструментальные средства

СообщениеДобавлено: 08 апр 2009, 12:36
kluchev
Василий (студент) писал(а):Правильно я понимаю, что НЕХ файл полученный компилятором SDCC не получится загрузить в стенд SDK11 пока я не заменю загрузчик во флеш памяти стенда?


Нет, не правильно.

Протоколы загрузки

Существует два протокола для загрузки прикладных программ в учебный стенд SDK-1.1. Старый протокол называется HEX-2.0.2. Именно он зашивается в учебные стенды по умолчанию. В качестве ответной части на ПК используется программа t167b (DOS).

Новый протокол называется PM3P. Этот протокол существенно надёжнее и быстрее старого. Поддерживается протокол в новом варианте загрузчика (http://embedded.ifmo.ru/index.php/support/sdk-11). В качестве ответной части нужно использовать программу m3p.exe.

Если у вас на компьютере по каким либо причинам не работает программа t167b, можно попробовать загрузить прикладную программу с помощью программы t2, написанной в виде консольного приложения для Win32.
Для этого надо:
1. Скомпилировать программу и получить hex, допустим это пример simple.hex
2. Добавить стартовый адрес в конец hex файла с помощью t167b (или просто добавить строку с адресом с помощью редактора)

Код: Выделить всё
t167b 0x2100 0x0 addhexstart simple.hex bye


В результате, в hex код добавится строка:

Код: Выделить всё
:022100060000D7


3. Написать командный файл для t2, к примеру sdk.t2

Код: Выделить всё
9600  openchannel com4
00 00 create_vchannel SDK11 com4
loadhex simple.hex
0 mterm


4. Нажать кнопку RESET на стенде
5. Запустить t2 sdk.t2
6. Если вы увидите, что программа заработала (надпись Hello), то всё хорошо.


Как проверить, что загрузчик работает

1. Подключить стенд
2. Запустить m3p.exe
3. Набрать следующие строки.

Код: Выделить всё
9600 openchannel com4
0 term


4. Нажать RESET на стенде

a) Если на экране вы увидите бегущие точки, то у вас загрузчик HEX-202
b) Если на экране бегут m.m.m.m.m., то у вас загрузчик PM3P
c) Если ничего нет, то у вас либо неисправен RS232, либо не прошит загрузчик вообще.

t2.rar
Утилита для загрузки прикладных программ для старой версии протокола загрузчика (hex202).
(58.18 Кб) Скачиваний: 326

Re: Инструментальные средства

СообщениеДобавлено: 08 апр 2009, 12:51
kluchev
Василий (студент) писал(а):Вопрос: с чем это может быть связано и как заставить работать?


Особенность работы HEX загрузчика. Для того, чтобы он знал с какого адреса стартовать, нужно добавить адрес старта в последнюю строку HEX файла. См. моё предыдущее сообщение.

Re: Инструментальные средства

СообщениеДобавлено: 08 апр 2009, 19:50
Miller
Как проверить, что загрузчик работает
1. Подключить стенд
2. Запустить m3p.exe
3. Набрать следующие строки.
9600 openchannel com4
0 term
4. Нажать RESET на стенде
a) Если на экране вы увидите бегущие точки, то у вас загрузчик HEX-202
b) Если на экране бегут m.m.m.m.m., то у вас загрузчик PM3P
c) Если ничего нет, то у вас либо неисправен RS232, либо не прошит загрузчик вообще.

Выполняю действия в точном порядке как написано с 1 по 4 пункт.
После нажатия кнопки RESET на стенде, естественно происходит его перезапуск....пропищит динамик, поморгают светодиоды, на жки выводится надпись "Test". В программе m3p появляются новые строчки с пунктами 0,1,2...9 (см.скриншот)
1.JPG
1.JPG (25.3 Кб) Просмотров: 15983


Исходя из всего этого я понимаю что подходит вариант "с"
c) Если ничего нет, то у вас либо неисправен RS232, либо не прошит загрузчик вообще.

Версию с неисправностью RS232 я отодвигаю, т.к. пробовал подключать другие устройства...работают.
Остается, не прошит загрузчик :( Да?

Re: Инструментальные средства

СообщениеДобавлено: 08 апр 2009, 21:27
kluchev
Miller писал(а):Остается, не прошит загрузчик :( Да?


Похоже, что так. Ничего страшного, видимо у вас прошит тест стенда. Возьмите утилиту dl.exe и зашейте hex файл загрузчика с нашего сайта.

Re: Инструментальные средства

СообщениеДобавлено: 08 апр 2009, 22:53
Miller
Возьмите утилиту dl.exe и зашейте hex файл загрузчика с нашего сайта

hex файл брать от сюда http://194.85.162.173/repos/ul3/ ????
Но какой именно, там несколько hex’ов???

Re: Инструментальные средства

СообщениеДобавлено: 09 апр 2009, 00:16
kluchev
Miller писал(а):
Возьмите утилиту dl.exe и зашейте hex файл загрузчика с нашего сайта

hex файл брать от сюда http://194.85.162.173/repos/ul3/ ????
Но какой именно, там несколько hex’ов???


Загружать нужно main.hex

Если заглянуть в makefile, мы видим следующее:

Код: Выделить всё
        cp v_table/vectors.ihx main.hex
   cat ul_aduc812.hex >> main.hex


Сперва таблица векторов копируется в файл main.hex, далее в конец этого файла добавляется сам загрузчик.

Если прошить ul_aduc812.hex не будут работать программы с прерываниями.