Skip to content
A utility for programming the flash memory of Elvees Multicore processors.
C Other
  1. C 98.8%
  2. Other 1.2%
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
giveio
libusb-win32
ru/LC_MESSAGES
.gitignore
.le.ini
COPYING.txt
README.md
adapter-bitbang.c
adapter-lpt.c
adapter-mpsse.c
adapter-usb.c
adapter.h
check.bat
clean.bat
compile.bat
conf.c
conf.h
gdbproxy.c
gdbproxy.h
libintl.dll
localize.h
make-mingw
makefile
mcprog-ru-cp866.mo
mcprog-ru.mo
mcprog-ru.po
mcprog.c
mcprog.conf
mcprog.exe
mcprog.pot
mcremote.1
mcremote.exe
mips.h
oncd.h
remote-elvees.c
remote-msp430.c
remote-skeleton.c
rpmisc.c
swinfo.c
swinfo.h
target.c
target.h

README.md

Утилита MCPROG предназначена для записи программного обеспечения в память микроконтроллеров Элвис Мультикор.

В качестве программатора используется адаптер JTAG-EPP, подключающийся к параллельному порту компьютера. Поддерживаются чипы Flash-памяти AMD/Alliance 29LV800 и SST 39VF800.

Вызов

При вызове без параметров утилита MCPROG определяет тип процессора и flash-памяти, установленных на плате. Например:

Processor: MC12 (id 20777001)
Board: pkbi
Flash at 1FC00000: SST 39VF800 (id 00BF 2781), 2 Mbytes, 32 bit wide
Flash at 1FA00000: SST 39VF800 (id 00BF 2781), 2 Mbytes, 32 bit wide
Flash at 02000000: SST 39VF800 (id 00BF 2781), 4 Mbytes, 64 bit wide

Запись в flash-память: mcprog [-v] file.srec mcprog [-v] file.hex mcprog [-v] file.bin [address]

Запись в статическую память: mcprog -w [-v] file.srec mcprog -w [-v] file.hex mcprog -w [-v] file.bin [address]

Чтение памяти в файл: mcprog -r file.bin address length

Параметры: file.srec - файл с прошивкой в формате SREC file.hex - файл с прошивкой в формате Intel HEX file.bin - бинарный файл с прошивкой address - адрес flash-памяти, по умолчанию 0xBFC00000 -v - без записи, только проверка памяти на совпадение -w - запись в статическую память -r - чтение памяти -b name - выбор типа платы

Входной файл должен иметь простой бинарный формат, или SREC, или Intel HEX. Форматы SREC и HEX предпочтительнее, так как в них имеются контрольные суммы и информация об адресах программы. Преобразовать формат ELF или COFF или A.OUT в SREC или HEX можно командой objcopy, например:

objcopy -O srec firmware.elf firmware.srec
objcopy -O ihex firmware.elf firmware.hex

Файл конфигурации

Утилита считывает параметры платы из файла конфигурации "mcprog.conf". Файл должен находиться в текущем каталоге, либо в каталоге /usr/local/etc (для Linux), либо в каталоге утилиты "mcprog.exe" (для Windows). В файле для каждого типа платы задаются значения регистров CSR и CSCONi, а также диапазоны адресов секций flash-памяти.

Можно определять до 16 flash-секций вида "flash foobar = first-last". Здесь foobar - произвольное имя, first и last - первый и последний адреса секции.

Тип платы задаётся при вызове флагом "-b", либо параметром "default" в конфигурационном файле.

Драйвер LPT-порта для Windows

Под Windows 2000/XP/Vista нужно установить драйвер GIVEIO, позволяющий прямой доступ к параллельному порту.

  1. Кладём giveio.sys в C:\WINDOWS\system32\drivers\

  2. Запускаем install.reg

  3. Перезагружаемся


С уважением, Сергей Вакуленко, ИТМиВТ 2008-2009

You can’t perform that action at this time.