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

Проблема с запуском примеров на стенде

СообщениеДобавлено: 10 дек 2009, 23:46
anton_lyakhov
Интересует информация по поводу учебного стенда SDK-1.1
http://embedded.ifmo.ru/index.php/support/sdk-11

1)Попытались "залить" с компьютера на стенд, через comport, готовый hex-файл
(hexldr.hex из Резидентного загрузчика HEX-202, http://embedded.ifmo.ru/sdk/sdk11/soft/hex_202.zip). Попытка была успешной.

Попытались откомпилировать готовые примеры программ:
Простейшая программа (вывод в последовательный канал "Hello!") и Пример работы со светодиодными индикаторами (http://embedded.ifmo.ru/sdk/sdk11/soft/ ... 0-w.tar.gz и http://embedded.ifmo.ru/sdk/sdk11/soft/ ... 0-w.tar.gz,соответственно).
В итоге получили hex-файлы,которые установили на стенд с помощью программатора Flash для микроконтроллера ADuC812 (DL). Но стенд никак на установленные hex-файлы не реагирует.
Откомпилированы исходники были SDCC и собирались при помощи утилиты GNU Make успешно и также якобы успешно установлены на стенд (об этом утверждали надписи в DOS-овском окне при компиляции и заливки). Ситуация непонятна.

Если что-то неясно, готов прокомментировать.

2) как смотреть состояние регистров во время выполнения?

Re: Проблема с запуском примеров на стенде

СообщениеДобавлено: 11 дек 2009, 00:12
A.Sukhoy
которые установили на стенд с помощью программатора Flash для микроконтроллера ADuC812 (DL)

Утилита Dl обычно используется для того, чтобы поменять загрузчик в стенде.
Так же утилита DL скорее всего заливает программы с адреса 0х000, а программы на стенде исполняются с адреса 0x2100.
Так что скорее всего вы либо поретли загрузчик, если был установлен джампер, либо ваша программа записалась не в ту область памяти в которую нужно.
Для заливки пользовательских программ обычно используется утилита M3P (t2, t167 в ранних версиях).

Состояние регистров в стенде, можно посмотреть либо выводя их значение на светодиоды, либо в последовательный порт, либо исполняя программу в симуляторе SDCC (если в нем разберетесь) или Keil, но для это уже стенд не нужен.

Re: Проблема с запуском примеров на стенде

СообщениеДобавлено: 11 дек 2009, 00:59
victor_d
а зажимать JP1 нужно когда заливаем через м3р?

Re: Проблема с запуском примеров на стенде

СообщениеДобавлено: 11 дек 2009, 01:05
anton_lyakhov
А где раздобыть такой эмулятор можно? :)

Re: Проблема с запуском примеров на стенде

СообщениеДобавлено: 11 дек 2009, 01:06
A.Sukhoy
Нет, JP1 для загрузки пользовательских программ замыкать не надо, он используется только для загрузки во FLASH-память стенда, чаще всего для смены встроенного загрузчика.
посмотрите makefile к простейшему проекту.
Для компиляции и запуска примеров с сайта обычно требуется выполнить 2 команды
Код: Выделить всё
make simple
make load

Re: Проблема с запуском примеров на стенде

СообщениеДобавлено: 11 дек 2009, 01:09
A.Sukhoy
А где раздобыть такой эмулятор можно?

Такой, это какой? Ознакомительную версию Keil можно скачать тут. Там есть ограничение на размер программы, но для простых программ его хватает. + он удобен тем, что он с нормальным GUI, там куча окошек с нужными данными.
Симулятором, который идет с SDCC никогда не пользовался, про него сказать ничего не могу, - данная штука консольная

Re: Проблема с запуском примеров на стенде

СообщениеДобавлено: 11 дек 2009, 01:20
anton_lyakhov
A.Sukhoy
Спасибо. Будем пробовать. :)

Re: Проблема с запуском примеров на стенде

СообщениеДобавлено: 08 янв 2011, 02:39
Alibaba
Здравствуйте!

Я только недавно познакомился с SDK. У меня проблема с запуском примеров на стенде (Простейшая программа на языке C для стенда SDK-1.1). Появилось объявление:
"Open channel:com10 9600
Не могу открыть порт..."
А после нажатия кнопки RESET на стенде SDK:
"SIO timeout!
ABORT!"
(См. рис.)
Помогите, пожалуйста исправить эту проблему.

Re: Проблема с запуском примеров на стенде

СообщениеДобавлено: 08 янв 2011, 12:50
h0rr0rr_drag0n
А SDK подключен через переходник "USB<->COM" или через обычный COM-порт? Если второе, то в файле load.m3p вместо com10, должно быть com1 - так обычно называется первый и единственный COM-порт в винде.
Если COM-портов у компьютера много, то лучше всего посмотреть в диспетчере устройств, как они называются и подобрать нужный.

Re: Проблема с запуском примеров на стенде

СообщениеДобавлено: 08 янв 2011, 14:35
Alibaba
Спасибо Вам большое за ответ! SDK подключен через переходник "USB<->COM". В диспетчере устройств написано com10. В файле load.m3p я тоже писал com10 вместо com1. Драйвер для USB<->COM порта тоже установлен. 2 месяца назад (до переустановки Виндоус) установил Cygwin и пример нормально работал, а сейчас-нет. Не знаю откуда проблема. Скажите, пожалуйста, какие причины могут быть еще?

Re: Проблема с запуском примеров на стенде

СообщениеДобавлено: 08 янв 2011, 15:17
h0rr0rr_drag0n
Хм, может быть после переустановки Windows ваш переходник стал называться не com10, а как-то иначе?

P.S. Чуть выше на скриншоте у вас видна еще и какая-то интересная ошибка от утилиты make... Если вы пишете в консоли Cygwin'а sdcc, то sdcc вызывается (на экран должен вываливаться хелп по нему)?

Re: Проблема с запуском примеров на стенде

СообщениеДобавлено: 08 янв 2011, 21:36
invaisor
h0rr0rr_drag0n писал(а):P.S. Чуть выше на скриншоте у вас видна еще и какая-то интересная ошибка от утилиты make... Если вы пишете в консоли Cygwin'а sdcc, то sdcc вызывается (на экран должен вываливаться хелп по нему)?


В новых версиях пакета компиляторов sdcc почти все бинарники получили префикс "sdcc-". Т.е. Сишный компилятор теперь это не "sdcc", а "sdcc-sdcc". Хотя в некоторых дистрибутивах до сих пор собирают без префикса, а в других Сишный компилятор называется "sdcc-cc". Таким образом надо смотреть, какие именно алиасы у бинарников sdcc и править makefile соответственно или прописывать старые алиасы на новые.
А может быть просто не виден путь к бинарникам sdcc.

Re: Проблема с запуском примеров на стенде

СообщениеДобавлено: 09 янв 2011, 14:12
Alibaba
h0rr0rr_drag0n писал(а):
Хм, может быть после переустановки Windows ваш переходник стал называться не com10, а как-то иначе?

В файле load.m3p я только писал com10 после переустановки Windows (соответственно com10 в диспетчере устройств). А до переустановки Windows писал com7 соответственно com7 там же

Re: Проблема с запуском примеров на стенде

СообщениеДобавлено: 09 янв 2011, 15:47
h0rr0rr_drag0n
Сообщение "Не могу открыть порт" от gm3p может быть вызвано тем, что com10 использует еще какая-то программа...?

Попробуйте все же для начала поправить makefile, как рекомендует invaisor, чтобы sdcc выполнялся и компилировал программу. А то рассуждать почему прошивка не заливается в стенд, при отсутствии файла с этой прошивкой, можно долго...

Re: Проблема с запуском примеров на стенде

СообщениеДобавлено: 09 янв 2011, 20:29
Alibaba
Спасибо вам! Попробую поправить файлы.

Re: Проблема с запуском примеров на стенде

СообщениеДобавлено: 10 янв 2011, 03:26
Alibaba
Я забыл сказать, что после установки Cygwin, в папке bin нет файла make и m3p (а это долно быть-да). Для загрузки утилит make и m3p в Cygwin я сам скопировал эти файлы (которые скачал на сайте embedded.ifmo.ru) в папку bin. Может быть это причина?

Re: Проблема с запуском примеров на стенде

СообщениеДобавлено: 10 янв 2011, 13:19
h0rr0rr_drag0n
Крайне маловероятно. Судя по скриншотам, make и m3p у вас нормально запускаются, а следовательно они не при чем...
На будущее - make можно установить сразу при установке Cygwin'а. После выбора зеркала и скачивания списка пакетов, в установщике откроется окно выбора пакетов:
http://digitalpbk.com/files/blog_images/cygwin-install-gcc-4.png

Находите там make и ставите его, отметив галку Bin (Src не нужен).
m3p таким способом поставить не получится - его придется качать с embedded.ifmo.ru

Re: Проблема с запуском примеров на стенде

СообщениеДобавлено: 10 янв 2011, 16:04
Alibaba
Я пробовал переустановить как Вы сказали
На будущее - make можно установить сразу при установке Cygwin'а. После выбора зеркала и скачивания списка пакетов, в установщике откроется окно выбора пакетов:
http://digitalpbk.com/files/blog_images ... -gcc-4.png

В папке bin появилась утилита make. После выполнения make в Cygwin ошибки уже исчезались (значит уже лучше ), но после выполнения make load cообщение "Не могу открыть порт" еще есть.
Находите там make и ставите его, отметив галку Bin (Src не нужен).

Скажите, пожалуйста, после введения make, какие компоненты нужно отмечать, или просто писать make и нажимать Далее?

Re: Проблема с запуском примеров на стенде

СообщениеДобавлено: 10 янв 2011, 16:58
h0rr0rr_drag0n
После ввода make в строку поиска, в окне установщика останется три метапакета - X11, Utils, Devel. Раскрываете Devel, находите там пункт:
make: The GNU version of the 'make utility

указываете, что нужно ставить только бинарник (ставите крестик под соответствующим столбцом) и жмете Next

...но после выполнения make load cообщение "Не могу открыть порт" еще есть.

Ну это уже не make виноват, а m3p и его конфигурационный файл load.m3p - файл с прошивкой (simple.bin), как я понимаю, вполне успешно создается в каталоге проекта... У вас Windows ненароком не 64-битный? :)

Re: Проблема с запуском примеров на стенде

СообщениеДобавлено: 10 янв 2011, 18:50
Alibaba
У меня windows 32-битный. А что касается?