Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > Архив
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

RDC R8830 vs. AMD Am188ES

 Ответить Ответить
Автор
Сообщение
Сергей Брехов Смотреть выпадающим
Новичок
Новичок


Присоединился: 05 Август 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 6
Свойства публикации Свойства публикации   Ответить, цитируя автора - Сергей Брехов Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: RDC R8830 vs. AMD Am188ES
    Опубликовано: 02 Ноябрь 2005 13:15
  1. Ошибка определения типа процессора

 

Справка: Разряды 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.

 

 

  1. Ошибка определения статуса сторожевого таймера

 

Суть проблемы: После сброса процессора,  вызванного срабатыванием сторожевого таймера в Регистре Состояния последнего разряд 13 должен быть установлен в 1. Микроконтроллер RDC R8830 не выполняет этого требования.

 

Решение проблеммы: Проблема решена программно в BIOS версии 3.6. Пользовательская программа может получить значение Регистра Состояния в регистре AX с помощью программного прерывания 17h (AX=0FD00h, DX=0FFFFh).

 

  1. Отсутствие запрета прерываний при переназначении сегмента стека

 

Суть проблемы: В процессорах семейства 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 года.

 

  1. Номиналы внутренних подтягивающих сопротивлений входов прерываний

 

Суть проблемы: Номиналы внутренних подтягивающих сопротивлений входов прерываний у 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.

 

 

  1. Сброс конфигурации XILINX при срабатывании сторожевого таймера и «теплой» перезагрузке

 

Суть проблемы: При перезапуске микроконтроллера Am188ES, вызванном срабатыванием сторожевого таймера или передачей управления на адрес 0FFFF0h конфигурация схем XILINX сохраняется. Это позволяет сократить общее время загрузки системы и обеспечить сохранение состояния выходов UNIO-48, входящего в состав модуля CPU188-5. В аналогичной ситуации с микроконтроллером R8830, конфигурация схем XILINX не сохраняется.

 

Решение проблеммы: Смириться.

 

Сергей Брехов
инженер BIOS
Fastwel
Наверх
Artem_Mi Смотреть выпадающим
Новичок
Новичок


Присоединился: 06 Ноябрь 2005
Online Status: Offline
Публикации: 1
Свойства публикации Свойства публикации   Ответить, цитируя автора - Artem_Mi Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 06 Ноябрь 2005 22:27
Действительно, программа, которая раньше работала на Am188ES, на RDC R8830 зависает с «unused opcode». Почему при включенном сторожевом таймере не происходит перезагрузка? И где можно скачать программу FIX4RDC?
Наверх
Сергей Брехов Смотреть выпадающим
Новичок
Новичок


Присоединился: 05 Август 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 6
Свойства публикации Свойства публикации   Ответить, цитируя автора - Сергей Брехов Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 07 Ноябрь 2005 12:45

Почему не срабатывает watchdog timer не знаю - прецедентов не было. Свяжитесь с info@prosoft.ru . Если Вы сами все делаете правильно, то, возможно, потребуется "госпитализация" Вашей платы. У них можно получить и FIX4RDC. А вообще, сегодня-завтра она появится на ftp://ftp.prosoft.ru/pub/Hardware/Fastwel/CPx/CPU188/CPU188-5v3/Support/

Сергей Брехов
инженер BIOS
Fastwel
Наверх
al-s Смотреть выпадающим
Новичок
Новичок


Присоединился: 10 Ноябрь 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 1
Свойства публикации Свойства публикации   Ответить, цитируя автора - al-s Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 11 Ноябрь 2005 10:21
Первоначально опубликовано Artem_Mi

Действительно, программа, которая раньше работала на Am188ES, на RDC R8830 зависает с «unused opcode».


В BC++ 5.02, если не нужна обработка исключений, можно слинковать программу с библиотекой-заглушкой noeh*.lib. Это устраняет проблему с «unused opcode» на процессорах RDC и позволяет уменьшить размер exe-шника на пару десятков килобайт.
С уважением,
Александр Сомов
Наверх
 Ответить Ответить

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz