Skip to content

board_elvees_mc24em_ru

Serge Vakulenko edited this page Aug 26, 2015 · 1 revision

Отладочная плата MC-24EM построена на микроконтроллере Элвис MC-24, он же 1892ВМ2Я (спецификация) с архитектурой MIPS32.

Память:

  • 1 мегабайт статической памяти данных (две микросхемы SRAM Cypress CY7C1041CV33-10ZI) шириной 32 разряда на nCS3. Входной сигнал BYTE соединён с GND.
  • 128 мегабайт динамической памяти данных (четыре микросхемы SDRAM Micron MT48LC16M16A2-75) шириной 64 разряда на nCS0.

Задающий генератор сменный. На моём экземпляре платы установлен генератор с частотой 8 МГц. Установкой регистра CSR частота может быть умножена до 96 МГц.

Загрузка прошивки производится через порт JTAG, посредством утилиты mcprog и адаптера JTAG-EPP.

Карта памяти: | Тип | Начало | Конец | Объем | Примечания | |:-----------|:------------|:------------|:----------|:---------------| | SRAM |bfc0 0000 |bfcf ffff | 1 Mb | | | SDRAM |а000 0000 |а7ff ffff | 128 Mb | В зависимости от регистра CSCON0 | | MEM |b800 0000 |b800 7fff | 32 Kb | | | DSP XRAM |b840 0000 |b841 ffff | 128 Kb | | | DSP YRAM |b842 0000 |b842 7fff | 32 Kb | | | DSP PRAM |b844 0000 |b844 3fff | 16 Kb | |

Расположение разъёмов и джамперов показано на рисунке:

http://uos-embedded.googlecode.com/svn/wiki/images/mc24em-jumpers.png

Разъёмы:

  • XT17 – параллельный порт адаптера LPT-JTAG.
  • XT2 – порт RS-232.
  • XT3...XT6 – линковые порты.
  • XT10, XT29 – последовательные порты.
  • XT8, XT22 – порт расширения локальной шины памяти MPORT.
  • XT30 – внешние прерывания.
  • XT31 – сигналы SYS_RST, nDE, WDT.
  • XT7, XT12, XT13, XT18, XT20 – технологические разъёмы.
  • J1 – штекерное гнездо питания для сетевого адаптера.
  • XT11 – дублирующие клеммы для альтернативного использования источника постоянного напряжения 10-12 В х 2А.

Назначение джамперов:

  • JP1 – всегда должен быть установлен для автозагрузки микросхемы адаптера LPT-JTAG.
  • JP2 – делитель тактовой частоты для микросхемы MC-24. В положении снят – делит частоту с генератора U6 в 2 раза, в положении одет – пропускает напрямую.
  • JP3, JP7 – всегда должны быть установлены.
  • JP4 – GND.
  • JP5 – системная частота микросхемы MC–24 (SCLK) для MPORT.
  • JP6 – технологический - не устанавливать.
  • JP8 – технологический - не устанавливать.
  • JP9 – устанавливается при работе с JTAG портом через разъем ХТ18.

Светодиодная индикация:

  • D1 - питание 3,3 В.
  • D17 - питание 2,5 В.
  • D7...D14 - индикация состояния адаптера JTAG.

Примеры uOS

В каталоге examples/mips-mc24em находятся примеры сборки uOS для MC-24EM. Их можно скомпилировать командой "make". Загрузить готовые бинарные файлы в плату можно утилитой mcprog, например:

mcprog -w test_tcl.bin

Тесты

test_debug.c

  • Проверка runtime-библиотеки и отладочной печати. Микроядро отсутствует. Программа циклически выдаёт на консоль строку "Hello, World!" и ждёт нажатия клавиши.

test_task.c

  • Проверка переключения задач. Одна задача пользователя, циклически печатающая свой общий размер стека и размер свободной части, затем ждущая нажатия клавиши.

test_timer.c

  • Проверка драйвера таймера. Одна задача: программа пользователя, которая каждые 100 миллисекунд печатает строку на консоли.

test_uart.c

  • Проверка драйвера UART. Две задачи: драйвер UART и программа пользователя, циклически выдающая строку "Hello, World!" и ждущая нажатия клавиши.

philosophers.c

  • Пять обедающих философов. Шесть задач: драйвер UART и пять задач философов.

test_ram.c

  • Проверка внешней оперативной памяти SDRAM. Задача пользователя с простым диалоговым меню. Позволяет запускать:
    • Тест адресных сигналов (бегущая единица). Запись данных по специально подобранным адресам и проверка.
    • Тест одного адреса. Циклическая запись по фиксированному адресу данных AAAA и 5555, с проверкой.
    • Тест всей внешней памяти. Запись данных AAAA и 5555, с проверкой.
Testing memory on MC-24EM board
Generator 8.0 MHz, CPU clock 80.0 MHz
  CSR    = 000100A1
  CSCON0 = 00B000F8
  CSCON3 = 00080000
  SDRCON = 00072710

  1. Test SRAM address signals
  2. Test SRAM address BFCAAAA8
  3. Test all SRAM (1024 kbytes)
  4. Test SDRAM address signals
  5. Test SDRAM address A2AAAAA8
  6. Test SDRAM address A5555554
  7. Test all SDRAM (128 Mbytes)

Command: _

test_tcl.c

  • Проверка реализации встроенного языка TCL. Выдаёт диалоговое приглашение:
Embedded TCL
~~~~~~~~~~~~
Free static memory: 956812 bytes
Free dynamic memory: 134217728 bytes

Enter "help" for a list of commands

% _

В качестве примера реализованы три дополнительные команды: | loop var first limit {incr} command | Цикл от var:=first до limit с шаком incr | |:-------------------------------------|:-----------------------------------------| | echo {arg...} | Выдача аргументов через пробел | | mem | Выдача количества свободной памяти и списка задач |

Пример списка задач:

% mem

Task     Address          Prio   Stack          Space    Msg    Ticks
idle     b80001dc         0      b8007f10       1       (nil)   20
console  b800032c        *20     b8000770       748     (nil)   365
uartr    b8000ba4         90     b8000eb8       676     (nil)   402
        Waiting for 0xb8000b30

% _
You can’t perform that action at this time.