Перейти к содержанию
    

Starting kernel... и тишина

Есть плата с STM32F429IGT6 и 32MB SDRAM. Нужно запустить на ней ucLinux.

Есть замечательный проект https://github.com/jserv/stm32f429-linux-builder , отлично работающий на STM32F429-Discovery, но на дискавери стоит всего 8 мегабайт оперативы, что не допускает "тупого" переноса проекта на мою плату.

Я переделал проект. Сейчас запускается u-boot, без ошибок проходит mtest. При попытке запустить ядро, получаю

 

Starting kernel... и всё.

 

Проверил MACHINE_ID: в исходниках ядра и u-boot номер совпадает. Дефайны CONFIG_DEBUG_LL и CONFIG_EARLY_PRINTK не меняют картину. u-boot передает в ядро "console=ttyS0, 115200" - как и положено для USART1. В конфиге ядра начальный адрес и размер оперативы выставлен верно(как в u-boot).

Уже не знаю что делать... :smile3046:

Где в ядре проходит инициализация SD-RAM? в u-boot менял тайминги и активировал нужные ноги на fmc (в файле board.c и fmc.c). В ядре не нашёл подобных настроек.

 

P.S. на всякий случай строка с аргументами загрузки: stm32_platform=stm32429-disco mem=32M console=ttyS0,115200 debug earlyprintk panic=10 root=/dev/mmcblk0p1 rdinit=/sbin/init

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть плата с STM32F429IGT6 и 32MB SDRAM. Нужно запустить на ней ucLinux.

Есть замечательный проект https://github.com/jserv/stm32f429-linux-builder , отлично работающий на STM32F429-Discovery, но на дискавери стоит всего 8 мегабайт оперативы, что не допускает "тупого" переноса проекта на мою плату.

Я переделал проект. Сейчас запускается u-boot, без ошибок проходит mtest. При попытке запустить ядро, получаю

 

Starting kernel... и всё.

 

Проверил MACHINE_ID: в исходниках ядра и u-boot номер совпадает. Дефайны CONFIG_DEBUG_LL и CONFIG_EARLY_PRINTK не меняют картину. u-boot передает в ядро "console=ttyS0, 115200" - как и положено для USART1. В конфиге ядра начальный адрес и размер оперативы выставлен верно(как в u-boot).

Уже не знаю что делать... :smile3046:

Где в ядре проходит инициализация SD-RAM? в u-boot менял тайминги и активировал нужные ноги на fmc (в файле board.c и fmc.c). В ядре не нашёл подобных настроек.

 

P.S. на всякий случай строка с аргументами загрузки: stm32_platform=stm32429-disco mem=32M console=ttyS0,115200 debug earlyprintk panic=10 root=/dev/mmcblk0p1 rdinit=/sbin/init

 

Инициализация памяти происходит на ранних стадиях бут загрузчика. Иначе ни загрузчик ни ядро не получится загрузить в память.

Перед запуском ядра проверяются номера устройства в загрузчике и ядре (вы их проверили), контрольная сумма ядра считается и сравнивается.

Потом ядро распаковывается и запускается. То, что загружается в память загрузчиком запаковано и к нему приделан распаковщик, который загрузчик и запускает.

Не помню на какой стадии дается строка "Starting kernel"

 

Попробуйте остановить загрузчик. Загрузить ядро вручную и запустить его.

Изменено пользователем Tarbal

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...