Jump to content

    

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

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

На плате зашит 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

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