Jump to content

    
Sign in to follow this  
impatt

u-boot автостарт

Recommended Posts

Есть плата с АРМ-процессором.

На плате зашит u-boot: "U-Boot 1.3.0 (Feb 27 2008 - 16:51:09)"

Определены такие переменные окружения:

----

baudrate=115200

bootargs=root=/dev/sda1 rootdelay=20 console=ttyS0,115200

bootdelay=3

bootcmd=cp.b 01e00000 a1000000 13216e

stdin=serial

stdout=serial

stderr=serial

----

Я так понял, при определённой bootcmd она выполняется после bootdelay секунд.

Однако после включения платы получаю просто консоль (а вот команда cp.b _точно_ не исполняется, есть способ проверить и я это проверил).

Вручную run bootcmd исполняется.

 

Вопрос: что я делаю не так, что мешает с\запуститься автостарту после включения питания ?

 

Спасибо

Share this post


Link to post
Share on other sites
Вопрос: что я делаю не так, что мешает с\запуститься автостарту после включения питания ?
Могу сильно ошибаться, но мне кажется это малость не та команда... :)

Попробуйте так:

set bootcmd=bootm 0x*****

saveenv

reset

 

где 0x***** это адрес куда Вы положили образ uImage в памяти (ну а в самом образе в заголовке хранятся остальные адреса)

Судя по этой ссылке http://www.linuxdevices.com/articles/AT5085702347.html комманда cp.b пишет из RAM во флэш...

Share this post


Link to post
Share on other sites
Попробуйте так:

 

комманда cp.b пишет из RAM во флэш...

Спасибо за Ваш ответ.

Я попробовал вписать в bootcmd команду 'bootm 01234567'

Эффект нулевой. То есть, никакого обратного остчёта и попытки что-либо сделать со стороны загрузчика после старта платы.

Ну, а по поводу cp.b - верно, я пока решил не бутиться после старта, а хотя бы сделать копирование образа ядра из флэша в ОЗУ.

 

В общем, что-то u-boot забивает на автозагрузку.

Если ли у кого рабочий набор переменных окружения ? Попробую повторить их значения - сработает или нет.

Share this post


Link to post
Share on other sites

u-boot-> printenv

bootdelay=3

baudrate=115200

ethaddr=12:34:56:78:9A:BC

bootfile="u-boot.bin.gz"

filesize=1BED20

bootcmd=cp.b C002A000 20A00000 200000; cp.b C022A000 20C00000 200000; bootm 20A0

0000 20C00000

bootargs=root=/dev/ram rw initrd=0x20A00000,0x500000 ramdisk_size=5000 console=t

tyS0,115200 mem=32M

stdin=serial

stdout=serial

stderr=serial

ipaddr=192.168.5.230

serverip=192.168.5.156

netmask=255.255.255.0

 

Environment size: 396/8188 bytes

 

команда cp.b копирует данные, можно скопировать из RAM во FLASH, а мржно и наоборот. Выше данные копирует из флеш в рам и потом количество байт

Share this post


Link to post
Share on other sites
данные копирует из флеш в рам и потом количество байт

Спасибо за ответ.

Что-то не вижу зацепки. Не понимаю, почему у меня не идёт автозагрузка.

Буду писать в лист рассылки разработчиков.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this