Делается это просто. Берем исходник uboot, я взял с диска их комплекта к плате, распаковываем его у себя в любом линухе, реальном, виртуальном. В системе должен быть установлен какой нить arm-linux-gcc, например http://mini6410-debian.googlecode.com/files/arm-linux-gcc-4.5.1-v6-vfp-20101103.tar.gz. Он просто распаковывается
- Код: Выделить всё • Развернуть
tar xzvf arm-linux-gcc-4.5.1-v6-vfp-20101103.tar.gz -C /
и должен распаковаться сюда: /opt/FriendlyARM/toolschain/4.5.1/
Теперь в паке с распакованным uboot-ом идем в /include/configs и ищем там конфиг, соответствующий нашей плате. У меня это было mini6410.h. Редактируем его. Нужно найти строчки:
- Код: Выделить всё • Развернуть
//#define CONFIG_CLK_800_133_66
//#define CONFIG_CLK_666_133_66
#define CONFIG_CLK_532_133_66
//#define CONFIG_CLK_400_133_66
//#define CONFIG_CLK_400_100_50
//#define CONFIG_CLK_OTHERS
И соответственно комментируем/расконсервируем то что нам нужно, в моем случае #define CONFIG_CLK_666_133_66.
Теперь выходим в корень папки ubuut-а и делаем:
- Код: Выделить всё • Развернуть
make CROSS_COMPILE=/opt/FriendlyARM/toolschain/4.5.1/bin/arm-none-linux-gnueabi- mini6410_nand_config-ram256
make CROSS_COMPILE=/opt/FriendlyARM/toolschain/4.5.1/bin/arm-none-linux-gnueabi-
Когда все будет закончено и если не было ошибок, в корне появиться файл u-boot.bin, заливаем его в NAND и видим:
- Код: Выделить всё • Развернуть
U-Boot 1.1.6 (Nov 29 2011 - 16:41:44) for FriendlyARM MINI6410
CPU: S3C6410@666MHz
Fclk = 666MHz, Hclk = 133MHz, Pclk = 66MHz, Serial = CLKUART (ASYNC Mode)
Board: MINI6410
DRAM: 256 MB
Flash: 0 kB
NAND: 256 MB
*** Warning - bad CRC or NAND, using default environment
In: serial
Out: serial
Err: serial
MAC: 08:90:90:90:90:90
Hit any key to stop autoboot: 0
Насколько быстрей стало работать я не знаю, пока не проверял.