Перейти к содержанию
    

У меня возникла небольшая проблемка, суть в чем. Есть 3-х координатный станок с ЧПУ с управлением Beamicon(подробнее можно увидеть здесь http://benezan-electronics.de/manuals/Beamicon-Benutzer.pdf). На данный момент управляющие программы скидываем посредством обычного кабеля USB(Нужно постоянно таскать комп к станку). Производитель управления подогнал специальный LAN модуль(Смотри фото а также описание к нему)

post-75344-1361271752_thumb.jpgpost-75344-1361271817_thumb.jpg. WebInterface_Installation.pdf только подключить модуль к станку не получается(станок не видит модуль и роутер или комп не видит его в сети...). с производителем управления связаться не могу уже пол года. Через ком порт с использованием программы WXterm получил вот такое:

 

 

U-Boot 2008.10 (Mar 20 2009 - 10:42:39)

 

Board: kws C260 V2

CPU: AT91SAM9260 Rev. A

I2C: ready

DRAM: 64 MB

DataFlash: AT45DB642

Nb pages: 8192

Page Size: 1056

Flash Size: 8650752 bytes

Logical address: 0xD0000000

Area 0: D0000000 to D00041FF (RO) Bootstrap

Area 1: D0004200 to D00083FF Environment

Area 2: D0008400 to D0041FFF (RO) U-Boot

Area 3: D0042000 to D0251FFF Kernel

Area 4: D0252000 to D083FFFF FS

In: serial

Out: serial

Err: serial

Net: macb0

macb0: Starting autonegotiation...

macb0: Autonegotiation timed out (status=0x7849)

macb0: link down (status: 0x7849)

U-Boot>

 

 

 

 

На SD карте, что внутри стоит находится файл uImage.C260v2(могу сбросить для просмотра).

все предложения по почте [email protected] или в личку.

 

 

В долгу не останусь.

 

Всем заранее спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

U-Boot 2008.10 (Mar 20 2009 - 10:42:39)

 

...

 

U-Boot>

И это последняя запись на консоли ? Если да, то эта штука работает под Линуксом (почти наверняка), но Линукс не грузится - U-Boot не передает ему управления. Почему ? Вопрос. Возможно, U-Boot не знает, откуда брать ядро. В U-Boot подайте команду "printenv" . Результат - в студию ...

 

Да. Cамый простой способ - настроить в U-Boot сеть, на машине поднять TFTP - сервер (можно даже под XP):

http://www.brothersoft.com/open-tftp-server-458857.html

 

положить на него указанный вами файл "uimage", загрузить его по TFTP в ОЗУ вашего блока и подать команду "bootm". Например (адрес в ОЗУ подставьте свой):

 

tftpboot 0x70800000 192.168.0.1:uImage

bootm

 

А вообще, таких тем по форумам довольно много. Например:

http://electronix.ru/forum/lofiversion/index.php/t84045.html

 

А еще, я бы пошел на сайт производителя блока и поискал бы там документацию. Или адресовал бы свои вопросы в техподдержку ...

 

P.S. А если в U-Boot'е скомандовать "boot" при вставленной карточке, то что будет ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На SD карте, что внутри стоит находится файл uImage.C260v2(могу сбросить для просмотра).

Это, собственно, есть ядро линукса, которое по идее должен загрузить U-boot. Если он его не грузит, то это говорит о том, что в окружении что-то не так (присоединяюсь к предыдущему автору - printenv в студию), ну либо интерфейс к SD-карте физически умер.

 

Скорее всего, на этой же СД карте есть еще и второй раздел, где полноценная файловая система, скорее всего Ext3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

U-Boot> printenv

bootdelay=3

con_port=S1

baudrate=115200

sdlinux=mmcinit; fatload mmc 0:1 20800000 uimage.C260v2; bootm 20800000

ethact=macb0

serial#=A200055

ethaddr=00:12:91:43:00:37

stdin=serial

stdout=serial

stderr=serial

 

Environment size: 208/16892 bytes

U-Boot>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

странно. bootdelay прописан, а bootcmd - нет.

 

Попробуйте ручками вызывать run sdlinux.

 

А вообще он при старте не писал ничего такого, что у него не прочитался environment и он будет использовать default environment? В последнем случае у него может половины настроек не быть.

Изменено пользователем Hoodwin

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

это вряд ли "последний случай", больно уж "sdlinux" странный для дефолтного окружения.

IMHO слетел bootcmd, та самая "проблема в окружении"

 

стоит руками набрать

mmcinit; fatload mmc 0:1 20800000 uimage.C260v2; bootm 20800000

 

и если проканает, то сделать соотв. bootcmd

 

Еще явно слетела ком. строка ядра, console= там, и т.п.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не факт что слетело, нужно смотреть исходники убута, может там все захардкоженоя "чтоб не сломали".

 

Лично я не совсем понял что именно сломалось.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

это вряд ли "последний случай", больно уж "sdlinux" странный для дефолтного окружения.

IMHO слетел bootcmd, та самая "проблема в окружении"

 

стоит руками набрать

mmcinit; fatload mmc 0:1 20800000 uimage.C260v2; bootm 20800000

 

и если проканает, то сделать соотв. bootcmd

 

Еще явно слетела ком. строка ядра, console= там, и т.п.

 

Вот набрал руками. в текстовом файле то что выдал гипертерминал. 123.txt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну так у Вас не поднялась корневая файловая система, о чем оно в конце и написало.

Нужно:

1) выяснить, как была отформатирована карточка, а именно раздел FS, который

Area 4:    D0252000 to D083FFFF      FS, он же далее 
Creating 5 MTD partitions on "Onboard dataflash":
...
0x00252000-0x00840000 : "fs/data"
...

 

2) Добавить в среду U-Boot параметры запуска ядра, а именно root=... и rootfstype=...

 

Думаю, что для начала стоит попробовать JFFS2. Судя по логу драйвер его поднимается, это жжж неспроста :) А раздел kernel отформатирован под FAT, значит остается только, пожалуй, rootfs иметь на jffs2.

 

Тогда нужно следующий порядок действий попробовать, напишите в U-Boot:

U-Boot> setenv bootargs root=/dev/mmcblk0p2 ro rootfstype=jffs2
U-Boot> run sdlinux

 

Если все пройдет нормально, то переделать в скрипте ro на rw.

Изменено пользователем Hoodwin

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну так у Вас не поднялась корневая файловая система, о чем оно в конце и написало.

Нужно:

1) выяснить, как была отформатирована карточка, а именно раздел FS, .....

 

Прошу прощения. Я не совсем понял какая карточка: SD или Flash. И как выяснить как она отформатирована?

По поводу второго счас попробую. Отпишусь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

судя по объему флаш в 8 мегабайт, скорее всгео FS на карточке. Поместите ее в считыватель в линукс-системе, и гляньте, что там на ней, очень возможно, что там найтеся раздел Ext3 с корневой системой. Под виндовс этого раздела Вы не увидете (ну разве фдиском). Если он (и она - файл. система) найдется, то об это надо будет сказать убуту, чтобы передал в параметрах ядру.

 

Hoodwin,

jffs2 на разделе сд-карты разве возможен? Он вроде живет только поверх mtd...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тогда нужно следующий порядок действий попробовать, напишите в U-Boot:

Код

U-Boot> setenv bootargs root=/dev/mmcblk0p2 ro rootfstype=jffs2

U-Boot> run sdlinux

 

 

Вот Log125.txt

 

Поместите ее в считыватель в линукс-системе, и гляньте, что там на ней

SM, Проверю отпишусь...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуйте "на шару"

 

U-Boot> setenv bootargs root=/dev/mtdblock3 rootfstype=jffs2 rootwait rw

U-Boot> run sdlinux

 

или

 

U-Boot> setenv bootargs root=/dev/mtdblock4 rootfstype=jffs2 rootwait rw

U-Boot> run sdlinux

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А, тады ой, ошибся я. Никогда раьше не работал c MMC, думал, что в основе они тоже mtd, а они, значит, со встроенным своим FTL.

 

Видимо, тут все несколько хитрее. На плате есть dataflash, которая со встроенным разделом, нн на 8МБ. и есть еще отдельно mmc, откуда и может грузиться линукс вообще как внешний. И вот там то и прописано все вообще, при этом dataflash вообще не монтируется...

 

Можно попробовать еще грузануть так:

U-Boot> setenv bootargs root=/dev/mtdblock4 ro rootfstype=jffs2
U-Boot> run sdlinux

Может оно на датафлеше и найдется чего...

 

SM

Но вообще если mmc - это внешнее устройство, причем линукс грузится из файловой системы FAT с раздела mmc 0:1, то видимо там и таблица разделов есть, и раздел там должен быть более четко прописан с указанием типа ФС. Тогда, спрашивается, какого он не монтируется сам?

 

 

U-Boot> setenv bootargs root=/dev/mtdblock3 rootfstype=jffs2 rootwait rw

 

Такое может совсем не прокатить, так как судя по /dev/mtdblock3 - это раздел kernel у U-Boot. А там скорее всего вообще никакой файловой системы нет. Просто прописан uimage прямо в раздел. И лучше его с JFFS2 как rw не монтировать.

 

У нас на плате очень похожая структура разделов, и там в разделе ядра просто uimage пишется. Это удобно тем, что его туда достаточно просто прописывать самим u-bootom, стянув uimage с ftp.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...