---------------------------------------------------------
CPU188-5 C:\>cd UTILS
CPU188-5 C:\UTILS>dir
Volume in drive C has no label
Directory of *.*
BELL.EXE 6800 03-02-2000 12:20
ISP188.COM 3232 05-24-2001 15:18
ISL188.COM 2784 05-24-2001 15:18
TDR188.EXE 23852 06-07-2001 17:19
FTRANS.EXE 6660 03-23-2004 18:56
43328 bytes in 5 file(s)
664576 bytes free
CPU188-5 C:\UTILS>ftrans
Am188ES/RDC R8830 microcontroller UART
missing parameters
******************************************
Естественно запуск ftrans надо делать с параметрами
Иначе он выдает Help: (как и все старые досовские программы)
******************************************
FILE TRANSFER Version 2.8 Copyright © 2001..2004 Fastwel, Inc.
uses the XMODEM protocol
supports: PC/XT/AT, Am188ES, Am186CC/CH/CU, RDC R8830, RDC R1610
usage: ftrans [options] filename [filesize]
options:
/r - receive a file (default)
/s - send a file
/b# - set baud rate (default is 115200 if /com# is specified)
/com# - use com# (1/2) port (default is com1)
if /b# and /com# are left off com1 at current baud rate is used
/crc - initiate CRC error checking only (for "receive" mode)
filesize - exact size (decimal) of the file to be received
examples:
ftrans /s /b9600 /com1 c:test.exe
ftrans /crc c:control.com 32611
CPU188-5 C:\UTILS>ftrans /r c:g01g01.bit 22336
Am188ES/RDC R8830 microcontroller UART
timeout. mission cancelled.
**************************************************************
То есть понятно, что надо набирать:
ftrans /s /b9600 /com1 c:test.exe
Что означает, что ftrans будет сейчас отправлять
файл c:test.exe через порт com1 на скорости 9600
по протоколу XMODEM
Скорость надо выбирать такую, на какой работает соединение с контроллером
Скорее всего это 115200bps
Порт нужно выбирать такой, который задействован в контроллере (а не в хост-компе!!)
/s - означает отправка /r - получение (но /r - можно не писать т.к. это по умолчанию
Далее после набора команды возникает следующее:
СССС СССС СССС СССС
Это означает, что он ждет отправки и дождаться никак не может, чтобы файл, который
он хочет отправить кто-то по X-MODEMу запросил
Поэтому сразу после набора команды (и чем быстрее тем лучше)
переходим в меню гипертерминала и запускаем получение файла
по X-MODEM-у. После того, как это сделано - возникает гипертерминальное окошко и начинается отображение процесса получния. И вот, файл получен
То же самое и с отправкой со стороны гипертерминала и получением на стороне
контроллера ftrans c:test.exe
файл получаем через COM1 на 115200
**************************************************************
Непонятно, он перед эти с минуту думает выводя последовательно мне на экран последовательность символов: "СССС СССС СССС СССС" а потом выдает сообщение что "Am188ES/RDC R8830 microcontroller UART timeout. mission cancelled."... что такое может быть?
И еще вопрос, насколько сильно отличаются по архитектуре и набору команд 8086_8088 и 80186_80188???
***************************************************************
По набору команд - разница в коде 8086_8088 и 80186_80188??? - у последнего (т.е.80186_80188)
на 0.5% - 1% код короче
По архитектуре 186 - 188 - у первого шина данных - шестнадцати разрядная,
а у второго восьми разрядная (то же справедливо и для 8086_8088)
По сути 186 от 86 отличается тем, что у первого вся переферия (обработчик прерываний, таймеры и т.д.) всунуты во внутрь а у 86 - всё делается внешними чипами
***************************************************************
Цитата(interesuuwiysia @ Mar 13 2007, 17:27)

Я несовсем понял про баг с BCPP31... Там же вроде в настройках компилятора можно выставить Instruction Set: OPTIONS->COMPILER->ADVANCED CODE GENERATION... а там раздел Instruction Set и среди них все семейство на выбор... А если прога скопилена под 188 и exe тоже под 188, то тогда кто и как определяет проц как 386и пихает туда 386ой набор команд?
Я просто еще не смог пока запустить свой софт в контроллере и убедиться в этом воочию...
Всё правильно, но это касается вашей программы, а BCPP31 перед программой вставляет свой код,
который инициализирует переменные своей борландовской среды, и в частности, определяет тип процессора. Код стандартный, вставляется везде без исключения.
Если на Фаствельной плате установлен родной Amd188 - нет вопросов. Если же установлен
совместимый процессор фирмы RDC - (а именно их последний год и продавал прософт)
то этот сам процессор с багом - борланд не правильно определяет его тип (как 386). И в этом
самом коде начинает пулять туда 386-ые инструкции - все сразу валится.
Во времена TurboCPP (91г)- таких процессоров массово не было, поэтому и проблемы не было.
Как в сталинские времена - нет процессора - нет проблемы.
Прософт разработал антибаг, (у меня его с собой нету, по-моему я его за ненадобностью утратил),
который комментирует этот код.
Цитата(Dog Pawlowa @ Mar 14 2007, 10:09)

Я стал спрашивать про загрузку EXE, так как 15 лет назад делал проект на 186. Среда - TurboPascal 6.0 - 7.0. Контроллер был самодельный, EXE-файл обрабатывался специальной утилитой (релокация по физическим адресам) и прошивался в EEPROM. Поэтому я и спрашивал, как делается теперь. Кроме установки в настройках системы команд x86 нужно было (при работе с EEPROM) запретить симуляцию сопроцессора, так как в этом случае генерируется самомодифицирующий код, который в EEPROM работать не может, конечно. Сейчас это неактуально, как я вижу.
А вообще-то возможность выполнения программы на компьютере очень удобна для отладки. Тогда никаких JTAG' ов не было, все отладочные сервисы нужно было писать самому, а тут встроенный отладчик. Счастье по тем временам

Там берется стандартный tdremote, который адаптируется под архитектуру и операционную систему фаствела. Фаствел (или прософт) ведь сам написал совместимую операционку и биос (который имеет совсем другие системные адреса и данные типа реального времени, УАРТов и т.д., портов, которые совсем не бъют со стандартной архитектурой, и под неё им пришлось адаптировать и биос и дос, далее турбо-дебаггер. Я даже поговорил с человеком, который это всё делал. Т.к. я из Минска, а он в Москве, то мы с ним напрямую поговорили. Турбодебаггер-ремоут - это драйвер для слабых в то время компьютеров, чтобы можно было отлаживать на них большие программы, которые в нормальной турбо-среде не отлаживались, т.к. по-просту не хватала памяти. Тогда на рабочей машине загружпался
драйвер, а на вспомогательной машине загружался турбо-дебаггер, который связывался с драйвером
по последовательному порту и закачивал туда в пошаговом режиме голый код, в то время, как всю отладочную информацию держал у себя. Это же и сделал прософт у себя, только в роли рабочей машины выступает CPU188. Проблема с TD в том, что при интенсивном использовании переферии по
прерываниям и по DMA, он часто зависает. Хотя если грамотно подойти к проблеме - можно отлаживать успешно куски программы.