- Применение
- Схема
- Компоненты
- Микроконтроллеры
- Модульные компоненты
- Мониторы
- Редактор/компилятор
- Файлы
- Разработка
Модульные компоненты
Эти компоненты создаются из различных "модулей", например: CPU, RAM, ROM, PGM, порты, таймеры и т.д.
Все эти внутренние модули определяются в xml-файле. В нём описываются характеристики компонента, какие модули использовать и их параметры.
Существует 3 типа модульных компонентов:
- MCU (Микроконтроллеры)
- MPU (Микропроцессоры)
- Scripted (Скриптовые)
Создание модульного компонента включает как минимум следующие шаги (для скриптовых необходим дополнительный файл скрипта):
- Создание файла корпуса.
- Создание файла описания.
- Создание папки компонента со всеми файлами.
- Добавление в список компонентов.
Создание файла определения.
Этот файл описывает, к какому типу относится компонент, а также части или модули, которые он содержит.
Вот пример файла определения для воображаемого микроконтроллера с 32 байтами ОЗУ, 256 словами PGM, группой регистров, одним портом и одним таймером:
<mcu name="Mcu1" core="Pic14" data="32" prog="256" progword="2" inst_cycle="4">
<regblock name="SFR0" start="0x00" end="0x0B" >
<register name="TMR0" addr="0x01" bits=""/>
<register name="OSCCAL" addr="0x05" reset="11111110"
bits="FOSC4,CAL0,CAL1,CAL2,CAL3,CAL4,CAL5,CAL6"/>
<register name="GPIO" addr="0x06"
bits="GP0,GP1,GP2,GP3"/>
<register name="TRISGPIO" addr="0x07" bits="0-7" reset="00001111"/>
<register name="OPTION" addr="0x08" reset="11111111"
bits="PS0,PS1,PS2,PSA,T0SE,T0CS,GPPU,GPWU"/>
</regblock>
<port name="PORTP" pins="4" outreg="GPIO" dirreg="!TRISGPIO"
inpmask="11110111"
pullups="!GPPU"
resetpin="PORTP3">
</port>
<timer name="TIMER0" type="800" configregsA="OPTION"
counter="TMR0"
clockpin="PORTP2"
</timer>
Создание папки компонента
Проще всего использовать имя компонента для папки и всех файлов, как описано здесь.
Однако возможно использовать другие имена файлов или пакеты из других компонентов. Для этого необходимо указать пути к этим файлам, как объясняется ниже.
Добавление в список компонентов
Самый простой метод и общие варианты описаны здесь.
Но возможно использование конкретных путей для файлов пакета и определения. Пути ко всем файлам указываются относительно папки «data».
<itemlib>
<itemset category="Some Category" type="MCU">
<item name="Name1" package="file1.package" data="fileX.mcu" />
<item name="Name2" package="file2.package" data="fileY.mcu" />
</itemset>
</itemlib>
- package - это путь к файлу корпуса, относительно к папке data SimulIDE.
- data - это путь к файлу описания, относительно к папке data SimulIDE.