Вопросы и ответы

Общие вопросы

Что такое uClinux и почему нельзя использовать "обычный" linux?
Какие средства разработки используются и где их взять?

EVM50100 (комплект оценки)

Как записать флеш-память EVM50100?

У нас прошит загрузчик bios-lt и uClinux как нам убедится что комплект EVM50100 работоспособен?


Что такое uClinux и почему нельзя использовать "обычный" linux?
S3C4510 (KS32C50100) & S3C4530 от фирмы Samsung не имеет блока управления памятью (MMU) и "обычный" linux не может быть использован. Для приложений, не имеющих MMU, разработана специальная модификация операционной системы linux - uClinux.


Какие средства разработки используются и где их взять?
Мы используем binutils версии 2.11-3 и gcc версии 2.95.3 . Эти пакеты Вы можете загрузить с нашего сайта, а так же найти в Интернете (например, см. раздел "Полезные ссылки").


Как записать флеш-память EVM50100?
Записать флеш можно несколькими способами:
a) Подключение ПЗУ к шине контроллера.
Пример подключения ПЗУ к шине контроллера

b) Флеш можно записать через JTAG порт контроллера.
Для этого необходим специальный кабель. Здесь можно посмотреть схему кабеля. Можно также использовать Wiggler от Macraigor Systems. Кроме того можно использовать Altera ByteBlasterMV, но, в этом случае, требуется внести изменения в программу и сделать переходник для подключения к JTAG разъему EVM50100 (HEADER 7x2).

c) Если у Вас есть Wiggler и Flash Programmer от Macraigor Systems, то можно стирать и записывать флеш через JTAG порт контроллера. Flash Programmer (по крайней мере до версии 1.31) не поддерживет S3C4510, поэтому необходимо внести изменения в файл cpu.ini (правки для версии 1.29):

  • В секцию [Samsung] добавляем 4=KS32C50100
  • Добавляем секцию [KS32C50100] (KS32C50100 - это старое название S3C4510 (в качестве значений регистров по умолчанию указаны значения после сброса процессора, для конкретной платы некоторые из них надо изменить из Flash Programmer'а):
    [KS32C50100]
    CpuType=12
    Endian=BOTH
    DefaultEndian=LITTLE
    LoadFileLE=arm7.mcs
    LoadFileBE=arm7be.mcs
    DownloadSize=0
    DownloadSize=0
    SimStartRegisterMask=$FFFFFFFF
    SimLabel="KS32C50100 System Manager Registers:"
    SimCount=16
    Sim1=SYSCFG:$3FF0000:32:$7FFFF91:M
    Sim2=CLKCON:$3FF3000:32:$0:M
    Sim3=EXTACON0:$3FF3008:32:$0:M
    Sim4=EXTACON1:$3ff300C:32:$0:M
    Sim5=EXTDBWTH:$3FF3010:32:$0:M
    Sim6=ROMCON0:$3FF3014:32:$20000060:M
    Sim7=ROMCON1:$3FF3018:32:$60:M
    Sim8=ROMCON2:$3FF301C:32:$60:M
    Sim9=ROMCON3:$3FF3020:32:$60:M
    Sim10=ROMCON4:$3FF3024:32:$60:M
    Sim11=ROMCON5:$3FF3028:32:$60:M
    Sim12=DRAMCON0:$3FF302C:32:$0:M
    Sim13=DRAMCON1:$3FF3030:32:$0:M
    Sim14=DRAMCON2:$3FF3034:32:$0:M
    Sim15=DRAMCON3:$3FF3038:32:$0:M
    Sim16=REFEXTCON:$3FF303C:32:$83FD0000:M

Здесь можно загрузить исправленный файл cpu.ini.
Кроме того, в версии 1.29 в файле flash.ini есть ошибка. В секции [MBM29F016A] неправильно указан CommandType, должно быть: CommandType=FUJITSU:F8 Здесь можно загрузить исправленный файл flash.ini.
Если нет желания вводить необходимые значения регистров, можно загрузить конфигурационный файл evm50100.ocd.


У нас прошит загрузчик bios-lt и uClinux как нам убедиться что комплект EVM50100 работоспособен?

По умолчанию в bios-lt, отключен настроечный параметр автозагрузки uClinux.
Т.е.при включении питания Вы вваливаетесь в основное меню bios-lt, а потом уже нажимаете кнопку '3' для загрузки uClinux. После этого загрузится uClinux, и будет доступен telnet, в котором loging:root, password:uClinux, IP адрес обычно 10.0.0.2.

К меню bios-lt можно получить доступ через COM порт, он ближний к разъему RJ45.
Нужно подключить COM - кабель от этого разъема на EVM50100 к COM порту на персоналке и запустить терминальную программу, напримет hyperterminal под Windows, настройки COM порта в hyperterminal - 8бит, четности нет, скорость 19200, управления потоком нет. Программа прошивки ПЗУ (Linux-хост) имеет режим, в котором она может использоваться в качестве терминальной программы.

После включения питания, будет запрошен пароль для входа в bios-lt. В гипертерминале ввести arm, после этого будет выдано основное меню. В нем есть возможность загрузить текущую партицию, где прошит uClinux (клавиша 3, цифра, а не F3). uClinux загрузится и выдаст свое приглашение. Через меню bios-lt можно также установить режим автоматической загрузки uClinux. Для этого надо последовательно выбрать следующие пункты меню 1, 6, 2, выключить питание, а затем снова его включить. uClinux загрузится автоматом. Для того чтобы в этом режиме попасть в меню bios-lt, надо при включении питания удерживать клавишу Enter

.

ВНИМАНИЕ: перед включением питания, убедитесь в правильности распайки кабеля питания.


SourceForge.net Logo

ARM®и Thumb® зарегистрированные торговые марки ARM Limited.
Linux® зарегистрированная торговая марка Linus Torvalds.
µClinux и uClinux торговые марки Arcturus Networks Inc.