| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > Зугрузка с Flash памяти... |
| Автор: val 25.3.2004, 10:10 |
| Привет всем! В наличичии имеется отладочная плата с процессором. На ней же находится флешь память. Не подскажет ли уважаемая публика, как осуществить такую штуку, как загрузка Linux с флеша. Также в наличии имеются, конечно, исходники ядра Linux 2.4. ... Также интересует общая технология обеспечения загрузки с флеша... Ценными будут любые замечания и комментарии... |
| Автор: PILOT 25.3.2004, 18:58 |
| Хм... вопрос интересный, особенно если будут указан процессор, тип флэш, тип интерфейса между ними, тогда можно будет совместно с тобой решить проблему. СУВ. |
| Автор: val 26.3.2004, 10:21 | ||
Спасибо, скоро дам подробное описание... |
| Автор: maxim1000 26.3.2004, 11:59 |
| могу дать пример для процессора Blackfin от Analog Devices скорее всего, у тебя нечто другое (небось от Motorol'ы, но, возможно, какие-то общие принципы есть есть два режима загрузки из Flash: 1. просто делается jump на начало Flash, и начинается выполнение всех инструкций, которые там записаны 2. первое слово интерпретируется, как количество размер блока, который надо загрузить, этот блок (он начинается со второго слова) загружается в память и делается jump на начало области памяти, куда все это было загружено обычно используется второй способ этот блок, который загружается, представляет собой микрозагрузчик он работает так: 1. проводит небольшую инициализацию 2. переписывает себя в конец оперативной памяти 3. начинает читать Flash по кусочкам структура кусочка: размер, адрес, куда его записать, и сами данные 4. после прочтения очередного блока он его записывает, куда надо 5. один из блоков записывается в начало процессорной памяти, туда делается jump, когда все закончится |
| Автор: val 26.3.2004, 17:48 |
| Спасибо большое, maxim1000. Общее понимание процесса у меня уже имеется. Скорее всего мне придется делать примерно так: Напишу собственный загрузчик, который после запуска платы будет: 1. Инициализировать FlexBass (пока для меня этот термин остается черным ящиком); 2. Инициализировать память процессора. 3. Копировать и распаковывать сжатое ядро Линукса в память проца; 4. Запускать Линукс. Флеш будет мапиться прямо в память проца... Фух, план вроде бы ясен. 2PILOTIK: Флешь - Am29LV128MH/L, от AMD и Fujitsu Проц - Один из мотороловских, серии ColdFire Интрефейс - FlexBass... По прежнему жду ваших комментариев, как всё это делать... |
| Автор: PILOT 27.3.2004, 11:56 |
| Может FlexBus? Я видимо помочь не смогу, никогда не сталкивался (поэтому и сказал "вместе разбираться"), но вроде в мотороле ОЗУ 64К, как туда линукс загружать? или это специальная ужатая версия. Кроме того распаковщик это тоже не так просто... если Флэш позволяет то лучше прямо нераспакованный Линух туда уложить. И потом там же есть пакет встраиваемого сетевого ПО RTXC Quadros, в который входит операционная система реального времени и стек сетевых протоколов (IP, UDP, TCP, ARP, DHCP, ICMP, SNTP, HTTP и TFTP), зачем Линух? А вообще посмотрел описание контроллера - сильно. Но для моих задач хватает пока и 8-ми разрядных (PIC,51,AVR и пр.) СУВ. |
| Автор: maxim1000 28.3.2004, 10:54 | ||||
сомневаюсь, что придется делать все самому надо бы хорошенько поискать в Интернете: какие-то примеры загрузчиков могут найтись
смотря, что понимать под ОЗУ одно дело внутрипроцессорная память, другое - какая-нибудь SDRAM, прицепленная снаружи |
| Автор: PILOT 28.3.2004, 15:10 |
| Так все-таки FlexBass или FlexBus? СУВ. |
| Автор: val 30.3.2004, 09:54 | ||
Имеется в наличии жирная SDRAM на 32 Мг... Именно поэтому обязательным будет её инициализация... Ну, а Линукс, конечно урезанный, так называемый Линукс для встроенных систем - UCLinux... |
| Автор: val 30.3.2004, 11:27 | ||
Линукс бесплатная ОС с довольно-таки большими возможностями по прикрутке к ней драйверов для новой периферии и написания под неё приложений... |
| Автор: val 30.3.2004, 12:14 | ||
FlexBus... |
| Автор: smalcom 29.10.2004, 08:08 |
| А вот у меня как раз одна из встахших проблем тоже грузануть Линух с флэша. Но флэш не простой, а прикручиваеться к мамке через IDE контроллер. Мамка EPIA формата Nano-ITX. Сама суть проблемы при загрузке когда должно быть Loading....... и пошло поехало выктдывает Loading 44 44 44 44 44 и так далее и ничего не грузиться дальше |
| Автор: val 29.10.2004, 09:20 |
| Мне кажется, что тип флеша не имеет значения. Нужно только чтобы в своё время загрузчику, лежащему в начале флеша передалось управления. Ну а на счет загрузчика - мы выбрали Colilo и не ошиблись, все заработало. Правда перековыряли его вдоль и поперёк. Задачка не простая, но решаемая... Если что, обращайся... |