Jump to content

    

Нужна помощь

У меня возникла небольшая проблемка, суть в чем. Есть 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(могу сбросить для просмотра).

все предложения по почте ecb.kpa@gmail.com или в личку.

 

 

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

 

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

Share this post


Link to post
Share on other sites
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" при вставленной карточке, то что будет ?

Share this post


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

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

 

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

Share this post


Link to post
Share on other sites

Нажмите b в консоли нам. Может "крещённый" кабель или switch нужен?

Share this post


Link to post
Share on other sites

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>

Share this post


Link to post
Share on other sites

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

 

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

 

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

Edited by Hoodwin

Share this post


Link to post
Share on other sites

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

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

 

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

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


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

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

 

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

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

 

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

Нужно:

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.

Edited by Hoodwin

Share this post


Link to post
Share on other sites
Ну так у Вас не поднялась корневая файловая система, о чем оно в конце и написало.

Нужно:

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

 

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

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

Share this post


Link to post
Share on other sites

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

 

Hoodwin,

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

Share this post


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

Код

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

U-Boot> run sdlinux

 

 

Вот Log125.txt

 

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

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

 

Share this post


Link to post
Share on other sites

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

 

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

 

Share this post


Link to post
Share on other sites

А, тады ой, ошибся я. Никогда раьше не работал 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.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this