RDC R8830 vs. AMD Am188ES |
Ответить |
Автор | |
Новичок Присоединился: 05 Август 2004 Категория: Russian Federation Online Status: Offline Публикации: 6 |
Опубликовано: 02 Ноябрь 2005 13:15 |
Справка: Разряды 12..14 регистра флагов в процессорах типа: до 286 включительно - Reserved, Read Only; 386 и старше - Read/Write. Суть проблемы: В микроконтроллере RDC R8830 разряды 12..14 – Read/Write. Это зачастую приводит к ошибке определения пользовательской программой типа процессора. Startup-код пользовательской программы может содержать подпрограмму определения типа процессора, которая, определив что разряды 12..14 регистра флагов процессора не являются Read Only, вправе решить что тип процессора – 386+ и предложить ему выполнить неизвестную ему команду. Это неминуемо приведет к возникновению исключения «unused opcode». Данная проблема проявляется, в частности, при работе программ, созданных с помощью трансляторов Borland C++ 4.5, Borland C++ 5.02 и Turbo Pascal 7.0. Проявление ошибки: Пользовательская программа, без проблем работающая с микроконтроллером Am188ES при запуске на плате с микроконтроллером R8830 приводит к появлению сообщение «unused opcode» после чего система «зависает». Решение проблеммы: Компания Fastwel разработала программу FIX4RDC, которая вносит необходимые исправления в Startup-код. Программу FIX4RDC необходимо однократно запустить после создания исполняемого файла пользовательской программы указав имя исполняемого файла в качестве параметра в коммандной строке. FIX4RDC версии 1.1 протестирована на взаимодействие с программами, созданными с помощью помощью трансляторов Borland C++ 4.5, Borland C++ 5.02 и Turbo Pascal 7.0. Если данная проблема не решается с помощью FIX4RDC, пользователю необходимо по электронной почте выслать исполяемый файл своей программы на адрес Fastwel указав транслятор, с помощью которого исполняемый файл был создан – специалисты компании решат проблему в кратчайшие сроки. В ближайшее время FIX4RDC будет встроена в операционную систему FDOS 6.22.
Суть проблемы: После сброса процессора, вызванного срабатыванием сторожевого таймера в Регистре Состояния последнего разряд 13 должен быть установлен в 1. Микроконтроллер RDC R8830 не выполняет этого требования. Решение проблеммы: Проблема решена программно в BIOS версии 3.6. Пользовательская программа может получить значение Регистра Состояния в регистре AX с помощью программного прерывания 17h (AX=0FD00h, DX=0FFFFh).
Суть проблемы: В процессорах семейства x86 выполнение команды присваивания значения стековому сегментному регистру SS (MOV SS, reg; MOV SS, mem; POP SS) вызывает запрет прерываний на время выполнения следующей команды, которая, логично, обычно является командой присвоения значения регистру указателя стека – SP. Это свойство процессоров x86 избавляет пользователя от необходимости при переназначении стека явного запрета прерываний с помощью команды CLI. К сожалению, процессор микроконтроллера R8830 лишен этого свойства. Решение проблеммы: 1. В пользовательской программе переназначение стека выполнять только при запрещенных прерываниях, например MOV AX, STACKSEG CLI MOV SS, AX MOV SP, STACKPTR STI 2. Не использовать операционную систему FDOS 6.22, если она датирована до 14 сентября 2005 года. Первой версией операционной системы FDOS 6.22, разрешенной для использования с микроконтроллеров R8830, считать версию, датированную 14 сентября 2005 года.
Суть проблемы: Номиналы внутренних подтягивающих сопротивлений входов прерываний у Am188ES и R8830 различны. Из этого следует что номиналы внешних подтягивающих сопротивлений входов прерываний для Am188ES и R8830 также должны отличаться. После перевода на процессор R8830 осенью 2004 года на модули CPU188-5 продолжали устанавливаться подтягивающие сопротивления «старого» номинала – 10 кОм. На этих модулях может наблюдаться нестабильность работы по прерываниям с внешними модулями ввода/вывода, в частности, с UNIO-xx. Решение проблеммы: Начиная с лета 2005 года на модули CPU-188 процессор R8830 устанавливается вместе с подтягивающими сопротивлениями «нового» номинала – 2,2 или 3,3 кОм. Пользователям, которые преобрели модули CPU-188, выпущенные в период с осени 2004 года по лето 2005 года с микроконтроллером R8830 и подтягивающими сопротивлениями 10 кОм, следует обратиться в компанию Fastwel для замены этих сопротивлений. Определить номинал сопротивлений можно по маркировке резисторной сборки RP31 на лицевой стороне платы контроллера CPU-188. «Старые» резисторы имеют маркировку 103, «новые» - 222 или 332.
Суть проблемы: При перезапуске микроконтроллера Am188ES, вызванном срабатыванием сторожевого таймера или передачей управления на адрес 0FFFF0h конфигурация схем XILINX сохраняется. Это позволяет сократить общее время загрузки системы и обеспечить сохранение состояния выходов UNIO-48, входящего в состав модуля CPU188-5. В аналогичной ситуации с микроконтроллером R8830, конфигурация схем XILINX не сохраняется. Решение проблеммы: Смириться. |
|
Сергей Брехов
инженер BIOS Fastwel |
|
Новичок Присоединился: 06 Ноябрь 2005 Online Status: Offline Публикации: 1 |
|
Действительно, программа, которая раньше работала на Am188ES, на RDC R8830 зависает с «unused opcode». Почему при включенном сторожевом таймере не происходит перезагрузка? И где можно скачать программу FIX4RDC?
|
|
Новичок Присоединился: 05 Август 2004 Категория: Russian Federation Online Status: Offline Публикации: 6 |
|
Почему не срабатывает watchdog timer не знаю - прецедентов не было. Свяжитесь с info@prosoft.ru . Если Вы сами все делаете правильно, то, возможно, потребуется "госпитализация" Вашей платы. У них можно получить и FIX4RDC. А вообще, сегодня-завтра она появится на ftp://ftp.prosoft.ru/pub/Hardware/Fastwel/CPx/CPU188/CPU188-5v3/Support/ |
|
Сергей Брехов
инженер BIOS Fastwel |
|
Новичок Присоединился: 10 Ноябрь 2005 Категория: Russian Federation Online Status: Offline Публикации: 1 |
|
В BC++ 5.02, если не нужна обработка исключений, можно слинковать программу с библиотекой-заглушкой noeh*.lib. Это устраняет проблему с «unused opcode» на процессорах RDC и позволяет уменьшить размер exe-шника на пару десятков килобайт. |
|
С уважением,
Александр Сомов |
|
Ответить |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |