Jump to content

    
Sign in to follow this  
bureau

U-Boot

Recommended Posts

В u-boot есть такая переменная как bootargs. в значении которой имеется МАС адрес -- smsc95xx.macaddr=B8:27:EB:7B:45:B3

Но если поискать этот МАС адрес в исходниках из которого компилится загрузчик, то его там нет... При том что, если переназначить переменную bootargs таким образом что бы она не содержала МАС адрес, то загрузка ядра происходит при совсем другом МАС адресе...

 

Может кто подскажет где в исходниках прописывается этот МАС адрес (в include/configs/board.h -- нет)?

 

Так же пробовал поискать остальные значения переменной bootargs, которые она имеет после загрузки загрузчика -- большинство не нашел... :(

Share this post


Link to post
Share on other sites

Так Вы о том, откуда берется содержимое этой переменной? Есть варианты:

- из CONFIG_BOOTARGS в u-boot'овском хидере платы

- прописывается пользователем вручную

- создается вместе с прочим окружением u-boot'а отдельной утилитой (удобно при производстве)

Share this post


Link to post
Share on other sites
- создается вместе с прочим окружением u-boot'а отдельной утилитой (удобно при производстве)

А можно что-нибудь поподробней про "отдельной утилитой (удобно при производстве)" ?

Share this post


Link to post
Share on other sites
А можно что-нибудь поподробней про "отдельной утилитой (удобно при производстве)" ?

Например. Только надо проверить на совместимость с той версией u-boot'а, что собираетесь использовать.

Share this post


Link to post
Share on other sites
В u-boot есть такая переменная как bootargs. в значении которой имеется МАС адрес -- smsc95xx.macaddr=B8:27:EB:7B:45:B3

Но если поискать этот МАС адрес в исходниках из которого компилится загрузчик, то его там нет... При том что, если переназначить переменную bootargs таким образом что бы она не содержала МАС адрес, то загрузка ядра происходит при совсем другом МАС адресе...

 

Может кто подскажет где в исходниках прописывается этот МАС адрес (в include/configs/board.h -- нет)?

 

Так же пробовал поискать остальные значения переменной bootargs, которые она имеет после загрузки загрузчика -- большинство не нашел... :(

 

Я пока искал где нашел, что есть множество мест в бут лоадере где вроде записывается, но для моей системы это был файл: drivers/net/mxc_fec.c.

https://github.com/bandwidthcrunch/u-boot-g...s/net/mxc_fec.c

 

Вот эта функция записывает МАК адрес

static int fec_set_hwaddr(struct eth_device *dev)
{
        uchar *mac = dev->enetaddr;
        struct fec_info_s *info = dev->priv;
        volatile fec_t *fecp = (fec_t *)(info->iobase);

        writel(0, &fecp->iaur);
        writel(0, &fecp->ialr);
        writel(0, &fecp->gaur);
        writel(0, &fecp->galr);

        /*
         * Set physical address
         */
        writel((mac[0] << 24) + (mac[1] << 16) + (mac[2] << 8) + mac[3],
                        &fecp->palr);
        writel((mac[4] << 24) + (mac[5] << 16) + 0x8808, &fecp->paur);

        return 0;
}

 

Я полагаю, что при разных условиях используются разные механизмы.

 

У вас этот файл компилируется? Если да, то поищем здесь.

https://github.com/bandwidthcrunch/u-boot-g.../davinci_emac.c

Edited by Tarbal

Share this post


Link to post
Share on other sites
У вас этот файл компилируется?

Вопрос конечно интересный... Взял на рассмотрение... Спасибо за инфу!

 

А есть ли какой способ сразу выделить те файлы которые участвуют в компиляции?

Share this post


Link to post
Share on other sites

Добрый день.В поиске нашел только эту тему про u-boot,поэтому спрошу тут.

Не мог бы кто-нибудь подсказать,где именно в u-boot надо прописывать конфигурацию своего железа?Т.е. что и на каком адресе сидит.сконфигурировал рабочий загрузчик для платы Freescale P2020RDB в BSP-пакете от Freescale (который на основе u-boot).Но при конфигурировании скрыты адреса,все происходит автоматически под конкретную плату.Пробовал изменить адреса в С-файлах u-boot (для I2C),но в сборке они не изменились.Есть ли какое-либо пособие по сборке u-boot?

Share this post


Link to post
Share on other sites
Есть ли какое-либо пособие по сборке u-boot?

в корне исходников вашего u-boot почитайте файл readme

заодно посмотрите каталог doc

ну и тут:

http://denx.de/en/Software/WebHome

полезно покопаться..

 

Share this post


Link to post
Share on other sites

Доброго Здоровья! Не стал плодить тему, тем более, что название текущей как нельзя лучше подходит к сути вопроса.

Как в исходниках u-boot грамотно активировать вывод сообщений, типа: pr_debug, debug, pr_warning?

Пробовал в ./include/configd/custom_board.h добавлять соответствующие флаги, например:

 

#define DEBUG (1)

#define CONFIG_MTD_DEBUG (1)

#define CONFIG_MTD_DEBUG_VERBOSE (7)

 

эффекта не возымело.

Как включить отладку? Можно ли включить отладку только для определенного модуля? С виду, все для этого есть, а вот руки кривоваты.

 

Share this post


Link to post
Share on other sites
Доброго Здоровья! Не стал плодить тему, тем более, что название текущей как нельзя лучше подходит к сути вопроса.

Как в исходниках u-boot грамотно активировать вывод сообщений, типа: pr_debug, debug, pr_warning?

Пробовал в ./include/configd/custom_board.h добавлять соответствующие флаги, например:

 

#define DEBUG (1)

#define CONFIG_MTD_DEBUG (1)

#define CONFIG_MTD_DEBUG_VERBOSE (7)

 

эффекта не возымело.

Как включить отладку? Можно ли включить отладку только для определенного модуля? С виду, все для этого есть, а вот руки кривоваты.

 

Найдите определение pr_debug, debug, pr_warning (это #define pr_debug......), там будет условная компиляции. Посмотрите какое условие и получите ответ.

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