реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Starting kernel... и тишина, нужен совет опытных
TigerSHARC
сообщение Sep 9 2014, 07:02
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195



Есть плата с 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.gif
Где в ядре проходит инициализация 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
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Sep 11 2014, 13:11
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Цитата(TigerSHARC @ Sep 9 2014, 11:02) *
Есть плата с 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.gif
Где в ядре проходит инициализация 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 - Sep 11 2014, 13:09
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st June 2025 - 17:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01361 секунд с 7
ELECTRONIX ©2004-2016