Профиль должен быть заполнен на русском языке кириллицей. Заполнение профиля заведомо ложными или некорректными данными - причина возможного отказа в регистрации на форуме.

Вопрос по модулям ICP DAS - немогу запрограмировать

RS-485, ProfiBUS, 4-20 mA, Wi-Fi, GSM и так далее

Metroman
здесь недавно
здесь недавно
Сообщения: 6
Зарегистрирован: 23 янв 2011, 12:55
Ф.И.О.: Усатов Владимир

Re: Вопрос по модулям ICP DAS - немогу запрограмировать

Сообщение Metroman » 23 янв 2011, 13:11

Здравствуйте, у меня проблемка, чтобы не начинать новой темы решил спросить тут. Компилирую программу в Borland 5 (пробовал в DEV-C, но пока ничего не получается). Компиляция проходит хорошо, настраиваю компилятор в точности как в документации, но когда зашиваю файл в модуль, при запуске он пишет - [unknown code ... ] или Comand not supportted или Abnormal program termination
Еще я случайно удалил файл из прошивки. Файл autoexec.bat наместе, а второй (кажется vxcomm.exe случайно видимо удалил), подскажите пожалуста где его можно взять?
Если нетрудно, скажите пожалуста, какие брать настройки компилятора и как с этим боросться? Все это я испытывал на самой простой программе -

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

#include".\7188e.h"
void main(void)
{
 Print (" Hello 7188x!***\n\r ");
}


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

Аватара пользователя

Никита
почётный участник форума
почётный участник форума
Сообщения: 2493
Зарегистрирован: 20 янв 2010, 22:23
Ф.И.О.: Никита
Откуда: Мурманск
Благодарил (а): 2 раза
Поблагодарили: 13 раз
Контактная информация:

Re: Вопрос по модулям ICP DAS - немогу запрограмировать

Сообщение Никита » 23 янв 2011, 14:56

Настройки компилятора на процессор посмотрите - никаких инструкций от 286 и выше быть не должно, 87 сопроцессора в контроллере тоже нет. Контроллер какой? Операционка в нем?
Насчет vxcomm - вот тут много ссылок на их же ftp, скорей всего там и найдете требуемое: http://www.icpdas-usa.com/vxcomm.php
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "


Metroman
здесь недавно
здесь недавно
Сообщения: 6
Зарегистрирован: 23 янв 2011, 12:55
Ф.И.О.: Усатов Владимир

Re: Вопрос по модулям ICP DAS - немогу запрограмировать

Сообщение Metroman » 23 янв 2011, 15:14

Спасибо большое, файлы подошли, даже совсем новые попались, за 2010 год.
Модуль - i-7188e2
OS - MiniOS7_UDP 2.04 003 Oct 15 2007
CPU - RDC 8820-D

Мои настройки компилятора:
Процессор - 80186
Data Alignment - Byte
Платформа - DOS(Standart)
Memory model - Large
Floating point - Emulation
Case sensitive link - On
Register variables - None
все остальное стоит - Off

Аватара пользователя

Никита
почётный участник форума
почётный участник форума
Сообщения: 2493
Зарегистрирован: 20 янв 2010, 22:23
Ф.И.О.: Никита
Откуда: Мурманск
Благодарил (а): 2 раза
Поблагодарили: 13 раз
Контактная информация:

Re: Вопрос по модулям ICP DAS - немогу запрограмировать

Сообщение Никита » 23 янв 2011, 18:54

1. Давайте подробности - полные тексты сообщений об ошибках с кодами, если таковые есть, с комментариями как запускаете программу - из autoexec или еще как.
2. Модель Large точно прописана в документации? Вроде проблемы были с дальними указателями...
3. Возврат с кодом 0 из функции main() добавьте, хуже не будет точно :)
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "


Metroman
здесь недавно
здесь недавно
Сообщения: 6
Зарегистрирован: 23 янв 2011, 12:55
Ф.И.О.: Усатов Владимир

Re: Вопрос по модулям ICP DAS - немогу запрограмировать

Сообщение Metroman » 23 янв 2011, 20:08

подробности в скриншотах:
извините за неудобство, выложил вот тут http://www.mehappy.ru/inventors/22-2011 ... 00-12.html
к сожалению return 0 добавить неудалось, выдает ошибку - (main) cannot return a value.
даже и так то ругается на _Print - Undefined symbol _Print in module 3.cpp но зато хотябы компилирует.

Аватара пользователя

Никита
почётный участник форума
почётный участник форума
Сообщения: 2493
Зарегистрирован: 20 янв 2010, 22:23
Ф.И.О.: Никита
Откуда: Мурманск
Благодарил (а): 2 раза
Поблагодарили: 13 раз
Контактная информация:

Re: Вопрос по модулям ICP DAS - немогу запрограмировать

Сообщение Никита » 23 янв 2011, 21:20

даже и так то ругается на _Print - Undefined symbol _Print in module 3.cpp но зато хотябы компилирует.

Что значит ругается? А что вызывается-то фактически? Где оно описано? Извините, просто не помню уже икосовские библиотеки, где там чего.
к сожалению return 0 добавить неудалось, выдает ошибку - (main) cannot return a value

ну я так понимаю ошибку на return 0 выдает при объявлении main с типом void? Это естественно :)
Смущает меня значение CS:IP нулевое, чего-то здесь не так, подумаю на досуге.
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "


Metroman
здесь недавно
здесь недавно
Сообщения: 6
Зарегистрирован: 23 янв 2011, 12:55
Ф.И.О.: Усатов Владимир

Re: Вопрос по модулям ICP DAS - немогу запрограмировать

Сообщение Metroman » 23 янв 2011, 21:43

в файлу 7188e.h написано по этому поводу следущее:

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

/* For STDIO */
void Putch(int data);
void Puts(char *str);
int Getch(void);
int Gets(char *str);
int Kbhit(void);
int LineInput(char *buf,int maxlen);
void ResetScanBuffer(void);
void SetScanBuffer(unsigned char *buf,int len);
int Scanf(char *fmt, ...); /* for TC/BC only */
int Print(const char *fmt, ...);
int _Printf(const char *fmt, ...); /* for TC/BC only */
int UngetchI(int key);
int Ungetch(int key);


так что глядя на код можно сказать все правильно, "ругается" это я наверное несовсем правильно выразился это не warning и темболее не error, это больше похоже на предупреждение что в других обстоятельствах данная команда может стать причиной сбоя при компиляции.

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

Аватара пользователя

Никита
почётный участник форума
почётный участник форума
Сообщения: 2493
Зарегистрирован: 20 янв 2010, 22:23
Ф.И.О.: Никита
Откуда: Мурманск
Благодарил (а): 2 раза
Поблагодарили: 13 раз
Контактная информация:

Re: Вопрос по модулям ICP DAS - немогу запрограмировать

Сообщение Никита » 23 янв 2011, 21:58

Не скажу так сходу. Надо C разворачивать и смотреть. Лет десять уже эти штуки не программировал :) Попробуйте ради интереса пустую программу туда кинуть вообще без вызовов всего, просто возврат управления системе.
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "


Metroman
здесь недавно
здесь недавно
Сообщения: 6
Зарегистрирован: 23 янв 2011, 12:55
Ф.И.О.: Усатов Владимир

Re: Вопрос по модулям ICP DAS - немогу запрограмировать

Сообщение Metroman » 23 янв 2011, 22:24

самые простые коды запускаются безпроблем - бесконечные циклы for(;;), и просто пустой main(void).

Аватара пользователя

Никита
почётный участник форума
почётный участник форума
Сообщения: 2493
Зарегистрирован: 20 янв 2010, 22:23
Ф.И.О.: Никита
Откуда: Мурманск
Благодарил (а): 2 раза
Поблагодарили: 13 раз
Контактная информация:

Re: Вопрос по модулям ICP DAS - немогу запрограмировать

Сообщение Никита » 23 янв 2011, 23:00

А вызовы других функций, прописанных в этом h-файле проходят? Может линкер мозги компостирует?
Кстати, у Вас к заголовку относительный путь прописан. Можно предположить что библиотеки от ICP лежат в неочевидных для компилятора и линкера местах. Посмотрите еще на всякий случай настройки всех путей.
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "


Metroman
здесь недавно
здесь недавно
Сообщения: 6
Зарегистрирован: 23 янв 2011, 12:55
Ф.И.О.: Усатов Владимир

Re: Вопрос по модулям ICP DAS - немогу запрограмировать

Сообщение Metroman » 24 янв 2011, 01:59

Вы были абсолютно правы, проблема именно в линкере. По непонятным причинам он вдруг заработал, 3-4 компиляции прошли прекрасно, все работало в точности как нужно, а потом его опять заглючило и все заново. Пробовал переустанавливать Borlanf, менял файл линкера, удалял недокомпилированные файлы и компилировал все заново много раз, но результата так и нет. В интернете тоже пока ненашел зацепок. Подскажите пожалуста, как это можно исправить?
Иногда всетаки чтото на него находит, и он компилирует успешно, но несмотря на это всетаки остается проблема Unknown Code которая даже демки фирменные, откомпилированные правильно нехочет запускать. Вообще странно все както, столько шаманства приходится делать, поразительно... это у всех так или только мне так "повезло" ?

Аватара пользователя

Никита
почётный участник форума
почётный участник форума
Сообщения: 2493
Зарегистрирован: 20 янв 2010, 22:23
Ф.И.О.: Никита
Откуда: Мурманск
Благодарил (а): 2 раза
Поблагодарили: 13 раз
Контактная информация:

Re: Вопрос по модулям ICP DAS - немогу запрограмировать

Сообщение Никита » 24 янв 2011, 09:44

Ну диагностировать удаленно плавающие неисправности невозможно в принципе.
Не могу сказать что у всех такая проблема, обычно собирается нормально. Так чего все-таки происходит если убрать Print() и поставить другие функции из этого файла? Просто помню пару лет назад была подобная история, правда с ADAMами - все собирается нормально до тех пор, пока не появляются вызовы консольных функций. Решать не стали, просто убрали их, потому как надобности на рабочем объекте не было никакой.
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "

Аватара пользователя

MuadDib
не первый раз у нас
не первый раз у нас
Сообщения: 359
Зарегистрирован: 31 июл 2010, 08:12
Ф.И.О.: Журавлев Павел Евгеньевич
Поблагодарили: 1 раз

Re: Вопрос по модулям ICP DAS - немогу запрограмировать

Сообщение MuadDib » 24 янв 2011, 10:05

2 Metroman
Пожалуйста укажите точно файл библиотеки, который вы включаете в проект. Лучше всего приведите полный путь к исходному файлу, который вы должны были взять с фирменного диска или ftp ICP DAS. Таких библиотек там дофига, ошибиться просто. Название файла должно быть 7188el.lib
Еще попробуйте заключить весь свой код вот в это (на всякий случай):

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

#ifdef __cplusplus
extern "C" {
#endif

//ваш код

#ifdef __cplusplus
}
#endif


Юрий См
здесь недавно
здесь недавно
Сообщения: 10
Зарегистрирован: 07 окт 2009, 18:57
Ф.И.О.: Смирнов Юрий Николаевич

Re: Вопрос по модулям ICP DAS - немогу запрограмировать

Сообщение Юрий См » 24 янв 2011, 10:42

Ошибка Unknown Code
Компилятор Borland 5.0 перед запуском main() делает кучу проверок, в том числе пытается определить
тип процессора. В результате на модулях i-7188 вызывается недопустимая для процессора инструкция,
а обработчик исключения аварийно завершает программу. Вот asm код:

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

50    push ax
9d    popf
9c    pushf
58    pop ax
25 00 f0  and ax, f000
3d 00 f0  cmp ax, f000
c7 06 xx xx 0000 mov word ptr [__8086], 0000
74 ...


Найдите в HEX-редакторе и исправьте: последнее значение 74 на c3 = команда ret

Аватара пользователя

Никита
почётный участник форума
почётный участник форума
Сообщения: 2493
Зарегистрирован: 20 янв 2010, 22:23
Ф.И.О.: Никита
Откуда: Мурманск
Благодарил (а): 2 раза
Поблагодарили: 13 раз
Контактная информация:

Re: Вопрос по модулям ICP DAS - немогу запрограмировать

Сообщение Никита » 24 янв 2011, 11:29

Компилятор Borland 5.0 перед запуском main() делает кучу проверок, в том числе пытается определить
тип процессора. В результате на модулях i-7188 вызывается недопустимая для процессора инструкция,
а обработчик исключения аварийно завершает программу.

Интересное предположение. Спасибо. Будем иметь ввиду.
Только вот кто его просит делать эти проверки? Где-то же должны быть некие ключи, за них отвечающие. Ну не дело это - хакерством в шестнадцатеричных кодах заниматься.
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "


Region102

Re: Вопрос по модулям ICP DAS - немогу запрограмировать

Сообщение Region102 » 02 фев 2011, 15:12

Вообще для вашей работы идеально подойдет демо версия TraceMode, на youtube.com есть примеры для работы с модулями данного производителя. В TraceMode вашу задачу можно решить за 15 минут. Если хотите все ручками то лучше скачайте MiniOS7 Studio Ver 1.07 и Borland C++ v3, после настройки этой связки проблем с программированием у вас возникать думаю не будет.

Аватара пользователя

MuadDib
не первый раз у нас
не первый раз у нас
Сообщения: 359
Зарегистрирован: 31 июл 2010, 08:12
Ф.И.О.: Журавлев Павел Евгеньевич
Поблагодарили: 1 раз

Re: Вопрос по модулям ICP DAS - немогу запрограмировать

Сообщение MuadDib » 04 фев 2011, 07:54

Region102 писал(а):Вообще для вашей работы идеально подойдет демо версия TraceMode, на youtube.com есть примеры для работы с модулями данного производителя. В TraceMode вашу задачу можно решить за 15 минут. Если хотите все ручками то лучше скачайте MiniOS7 Studio Ver 1.07 и Borland C++ v3, после настройки этой связки проблем с программированием у вас возникать думаю не будет.

Хорошо, наверное, быть телепатом! :D
О задаче известно только то, что целевой платформой является 7188. А вы как-то определили, что ТМ идеально подходит для этой задачи, а время решения - 15 минут :amazement:
Раз пошла такая пьянка, скиньте что-ли ссылочку на демо-версию _Micro_ Trace Mode для 7188. А то без паранормальных способностей трудно определить применимость данного инструментария к платформе, имея в наличии лишь виндовую среду разработки.

Аватара пользователя

Никита
почётный участник форума
почётный участник форума
Сообщения: 2493
Зарегистрирован: 20 янв 2010, 22:23
Ф.И.О.: Никита
Откуда: Мурманск
Благодарил (а): 2 раза
Поблагодарили: 13 раз
Контактная информация:

Re: Вопрос по модулям ICP DAS - немогу запрограмировать

Сообщение Никита » 04 фев 2011, 10:37

Не демо, там именно TM5... по-моему 12, хотя не уверен, но не суть - кастрированная среда разработки с микрой в комплекте. Точнее с возможностью сборки программы для контроллера. Год назад именно для ICP7188 свободно распространялась, только окромя 7000 не поддерживала ничего, остальное - за деньги. Была также версия под 8000-е. Связь - только по M-link. Сейчас на сайте уже не нашел. Думаю связано с уходом с рынка пятой версии и прекращением поддержки м-линка. Если надо - могу посмотреть на многочисленных компашках, должна была остаться. Раз бесплатная и свободно распространяемая - вроде правил форума не нарушаем.
А вот то, что человек не знакомый с ТМ и его косяками решит задачу за 15 минут - сильно сомневаюсь.
И еще - не помню просто - какая целевая операционка контроллера нужна для этого, вполне возможно 15 минут только с этим разбираться надо.
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "

Аватара пользователя

MuadDib
не первый раз у нас
не первый раз у нас
Сообщения: 359
Зарегистрирован: 31 июл 2010, 08:12
Ф.И.О.: Журавлев Павел Евгеньевич
Поблагодарили: 1 раз

Re: Вопрос по модулям ICP DAS - немогу запрограмировать

Сообщение MuadDib » 04 фев 2011, 11:51

Никита писал(а):Не демо, там именно TM5... по-моему 12, хотя не уверен, но не суть - кастрированная среда разработки с микрой в комплекте. Точнее с возможностью сборки программы для контроллера.


Да, помню, был такой продукт в линейке ТМ5. Конкретно с микрой для 7188 дела не имел (мы работали с виндовым МРВ и с Микро для DOS), но и без этого модуля впечатлений хватит, думаю, на весь остаток жизни :crazy0to: ТМ5 - продукт что надо :coolest: 15 минут и понеслось... Как говорится, Plug' n' pray (Включил и молись) :ges_up: :good:

В общем, надеюсь автор исходного сообщения имел-таки в виду не ТМ5 (черный юмор надо хотя бы смайликами выделять ;) ), а ТМ6. На сайте Адастры я демку рантайма для 7188 тоже не нашел. Отсюда и вопрос относительно демо-версии.

Аватара пользователя

Никита
почётный участник форума
почётный участник форума
Сообщения: 2493
Зарегистрирован: 20 янв 2010, 22:23
Ф.И.О.: Никита
Откуда: Мурманск
Благодарил (а): 2 раза
Поблагодарили: 13 раз
Контактная информация:

Re: Вопрос по модулям ICP DAS - немогу запрограмировать

Сообщение Никита » 04 фев 2011, 12:20

А шестерка за деньги, по стандартной схеме - базовая разработка бесплатно, МРВ для базовой по соответствующей цене....
Ну а насчет черного юмора - в принципе пятая версия работоспособна, достаточно много объектов под ней подняли. Кстати именно с DOS-микроМРВ.
А для человека, незнакомого с ТМ в принципе - знакомиться думаю с пятеркой даже проще будет. Только там подводных камней столько, что маленькую программу наверное быстрее будет на ассемблере написать и по бумажной таблице в коды перевести, чем со всеми нюансами разобраться :)
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "


bestonoff
новенький
новенький
Сообщения: 2
Зарегистрирован: 04 июн 2011, 20:29
Ф.И.О.: Спиридонов Алексей Михайлович

Re: Вопрос по модулям ICP DAS - немогу запрограмировать

Сообщение bestonoff » 04 июн 2011, 20:48

В 2009 году при программировании ICPDAS контроллеров обнаружил забавнейший заглюк. При расширении программы в процессе написания они трапались и как выяснилось уважаемый Тим накосячил в обработке реалокейшинов в момент загрузке проги. Так появилось обновление фирмвари 7188e-udp-cr-20090821. Но и это обновление не безгрешно. У него вершина доступной динамической памяти попадало точняком в последний MCB... Ну я создал пустой на этом месте в 16 байт и успокоился. Пишу на Borland pascal, а для icpdas это не родной язык программирования. Вообщем IP стек и серийные порты для R8820 я поднял.


bestonoff
новенький
новенький
Сообщения: 2
Зарегистрирован: 04 июн 2011, 20:29
Ф.И.О.: Спиридонов Алексей Михайлович

Re: Вопрос по модулям ICP DAS - немогу запрограмировать

Сообщение bestonoff » 04 июн 2011, 21:04

Да исчо... Для пишущих. Test8086 := 0; Так как процессор на мыльнице Borland определяет как 386! Иначе трап гарантирован.


Вернуться в «Интерфейсы, протоколы, связь»



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

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