ЗАО «ЗЭО»

Техническая поддержка пользователей => ОС Linux, U-Boot => Тема начата: Loctyr от 13 Января, 2011, 13:45:32

Название: Загрузка нового ядра
Отправлено: Loctyr от 13 Января, 2011, 13:45:32
Здравствуйте

прочитал как загружать новое ядро

Для записи созданного образа ядра или КФС во Flash требуется:

   1.
      Скопировать образ с хоста в оперативную память целевой платы
          *
            По сетевому интерфейсу через протоколы TFTP или NFS
          *
            По последовательному порту
   2.
      Проверить целостность скопированного образа в оперативной памяти
   3.
      Выключить защиту Flash от записи
   4.
      Скопировать образ из оперативной памяти во Flash
   5.
      Проверить целостность образа во Flash

Но так и не разобрался какие именно команды нужно подавать
Нельзя ли как то раскрыть вышеуказанные пункты
Или где об этом можно прочитать

Дмитрий
Название: Re: Загрузка нового ядра
Отправлено: asv от 13 Января, 2011, 18:13:21
Посмотрите содержимое скриптов и прочитайте про используемые в них команды

http://zao-zeo.ru/dokuwiki/doku.php/u-boot#скрипты
http://www.denx.de/wiki/U-Boot/Documentation

Вот пример записи КФС для плат на PXA270, от записи ядра ничем не отличается кроме адресов Flash и оперативной памяти. Адрес записанного образа ядра во Flash можете посмотреть 'imls'

Последовательность записи:

1. $ mtdparts

device nor0 <flash>, # parts = 3
 #: name                        size            offset          mask_flags
 0: u-boot              0x00080000      0x00000000      1
 1: kernel              0x00400000      0x00080000      1
 2: fs                  0x01b80000      0x00480000      0

active partition: nor0,2 - (fs) 0x01b80000 @ 0x00480000

defaults:
mtdids  : nor0=flash
mtdparts: mtdparts=flash:512k(u-boot)ro,4m(kernel)ro,-(fs)


2. $ tftpboot ${fileaddr} 10.42.42.33:rootfs.arm.jffs2

dm9000 i/o: 0x8000000, id: 0x90000a46
MAC: 00:50:c2:bb:4f:15
operating at 100M full duplex mode
TFTP from server 10.42.42.33; our IP address is 10.42.42.201
Filename 'rootfs.arm.jffs2'
Load address: 0xa0000000
Loading: /
done

Bytes transferred = 3932160 (3c0000 hex)


3. $ protect off all
Un-Protect Flash Bank # 1


4. $ erase 480000 +1b80000
........................ done
Erased 110 sectors


4. $ cp.b ${fileaddr} 480000 ${filesize}
Copy to Flash... done
Название: Re: Загрузка нового ядра
Отправлено: Loctyr от 14 Января, 2011, 12:03:05
setenv filesize CC0000
где CC0000 размер моего ядра в байтах в шестнадцатеричной системе
saveenv
protect off all
run kern_flash
на tftp лежит файл указанный  в kern_file

Дмитрий.

Название: Re: Загрузка нового ядра
Отправлено: asv от 14 Января, 2011, 13:10:21
filesize автоматическая переменная её нет смысла задавать.