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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Linux на TMS320dm6437, нужно создать файловую систему JFFS2
Erv&Sed
сообщение May 16 2008, 07:16
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 11-09-05
Пользователь №: 8 451



Необходимо создать фаловую систему JFFS2 для NAND/NOR Flash, ядро есть и работает, MTD, JFFS2 включены в ядро, драйверы NAND Flash т.ж., но проблема в том что Linux не видит этот самый Nand Flash, какие могут быть соображения по этому поводу.

Есть еще один вопрос, как можно перевести бинарный образ ядра в Мотороловский S-Record, это необходимо для того чтобы зашить образ ядра прямо во флэш, специальная утиллита понмает только этот форма. Я знаю что есть Bin2Mot, но она не принимает информацию об смещении, а мне нужно смещение 0x42000000.
Я пищу Bin2Mot /On=42000000 /3 vmlinux, но выходной файл все равно без смещения.

У кого какие соображения по этим вопросам?
Go to the top of the page
 
+Quote Post
Idle
сообщение May 16 2008, 15:54
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 351
Регистрация: 5-04-05
Пользователь №: 3 874



Цитата(Erv&Sed @ May 16 2008, 11:16) *
перевести бинарный образ ядра в Мотороловский S-Record

попробуйте objcopy
Go to the top of the page
 
+Quote Post
amw
сообщение May 16 2008, 15:54
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(Erv&Sed @ May 16 2008, 10:16) *
Необходимо создать фаловую систему JFFS2 для NAND/NOR Flash, ядро есть и работает, MTD, JFFS2 включены в ядро, драйверы NAND Flash т.ж., но проблема в том что Linux не видит этот самый Nand Flash, какие могут быть соображения по этому поводу.

Не понятно в чем собственно проблема.
Если нужно создать JFFS2 образ для прошивки его в NAND то нужно использовать mkfs.jffs2.
Если же Линукс не видит микросхему, то либо что-то не так со схемой, либо с конфигурацией шины, либо с драйвером собственно NAND.
Цитата
Есть еще один вопрос, как можно перевести бинарный образ ядра в Мотороловский S-Record, это необходимо для того чтобы зашить образ ядра прямо во флэш, специальная утиллита понмает только этот форма. Я знаю что есть Bin2Mot, но она не принимает информацию об смещении, а мне нужно смещение 0x42000000.
Я пищу Bin2Mot /On=42000000 /3 vmlinux, но выходной файл все равно без смещения.

У кого какие соображения по этим вопросам?

Мммм.... А objcopy этого не может? Только выводить нужно не из бинарика а из elf-образа. Его имя vmlinux и он лежит в корневике дерева исходников ядра после компиляции.
Или подправить Makefile в том месте, где выводится бинарник.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
Erv&Sed
сообщение May 18 2008, 13:09
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 11-09-05
Пользователь №: 8 451



Проблема в том, что ядро не видит NAND, наверное придется все делать для NOR Flash, но я не видел где можно включить драйверы в ядро (при конфигурации).
Если образ ядра - ELF файл, то, по идее, в начале должно быть записано ELF, но этой записи там нет, возможно что формат - COFF.
Тогда вопрос, как перевести COFF в обычный бинарник, чтобы можно было загрузить во флеш и из нее включить ядро.
Сама плата - EVM набор от TI. Linux от VirtualLogix.
Go to the top of the page
 
+Quote Post
amw
сообщение May 18 2008, 16:19
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(Erv&Sed @ May 18 2008, 16:09) *
Проблема в том, что ядро не видит NAND, наверное придется все делать для NOR Flash, но я не видел где можно включить драйверы в ядро (при конфигурации).
Если образ ядра - ELF файл, то, по идее, в начале должно быть записано ELF, но этой записи там нет, возможно что формат - COFF.
Тогда вопрос, как перевести COFF в обычный бинарник, чтобы можно было загрузить во флеш и из нее включить ядро.
Сама плата - EVM набор от TI. Linux от VirtualLogix.

Запустите objcopy без параметров и посмотрите в самом конце список поддерживаемых форматов.
objcopy: supported targets: бла, бла, бла, бла, бла, бла, бла, бла.
И заодно изучите параметры и функции objcopy.

Вроде как COFF должен начинаться с COFF smile.gif.
Видимо Вы не тот файл смотрите.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
Idle
сообщение May 19 2008, 03:06
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 351
Регистрация: 5-04-05
Пользователь №: 3 874



Цитата(Erv&Sed @ May 18 2008, 17:09) *
возможно что формат

попробуйте objdump

драйверы в ядро - в разделе MTD

Сообщение отредактировал Idle - May 19 2008, 03:10
Go to the top of the page
 
+Quote Post
owl
сообщение May 19 2008, 07:56
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 90
Регистрация: 7-08-06
Из: Смоленск
Пользователь №: 19 370



Цитата(Erv&Sed @ May 16 2008, 11:16) *
Необходимо создать фаловую систему JFFS2 для NAND/NOR Flash, ядро есть и работает, MTD, JFFS2 включены в ядро, драйверы NAND Flash т.ж., но проблема в том что Linux не видит этот самый Nand Flash, какие могут быть соображения по этому поводу.

Есть еще один вопрос, как можно перевести бинарный образ ядра в Мотороловский S-Record, это необходимо для того чтобы зашить образ ядра прямо во флэш, специальная утиллита понмает только этот форма. Я знаю что есть Bin2Mot, но она не принимает информацию об смещении, а мне нужно смещение 0x42000000.
Я пищу Bin2Mot /On=42000000 /3 vmlinux, но выходной файл все равно без смещения.

У кого какие соображения по этим вопросам?


Ti изменил формат загрузчика для этого проца.
Может поможет вложенный файл:
Прикрепленные файлы
Прикрепленный файл  spraag0c_bootloader.pdf ( 331.85 килобайт ) Кол-во скачиваний: 200
 
Go to the top of the page
 
+Quote Post
Erv&Sed
сообщение May 19 2008, 09:28
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 11-09-05
Пользователь №: 8 451



objcopy ne ponimaet, vse delo v tom chto architektura ne ta.
A na schet zagruzchika - ia videl eto, daje novuyu versiu etogo dokummmenta, no ix script genais - rabotaet ne korrektno! videlyaet ogromnor kolichestvo pamyanti i strashno tormozit.

Vse delo v tom chto est primer led.out, ya ego kormlu im script hexais.exe (.NET), on vivodit led.hex, format u nego - AIS v S-RECORD`e, pri zapisi ego na NOR, ona rabotaet normalno, pri perezagruzke on migaet svetodiodami. A te je manitulyacii s vmlinux ne srabativaet.

Zadacha v tom, chtobi zapustit linux s failovoi sistemoi imenno s FLASH (NOR/NAND), seichas prixoditsya zapuskat vmlinux cherez CC Studio, a failovaya sistema cherez NFS iportiruetsya iz Mandrivi.

Ya dumau chto vmlinux COFF formata, t.k. v nem napisano chto-to tipa: TMS320C6x COFF Linker UNIX v6.0.8 ....
Go to the top of the page
 
+Quote Post
owl
сообщение May 19 2008, 09:55
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 90
Регистрация: 7-08-06
Из: Смоленск
Пользователь №: 19 370



Цитата(Erv&Sed @ May 19 2008, 13:28) *
objcopy ne ponimaet, vse delo v tom chto architektura ne ta.
A na schet zagruzchika - ia videl eto, daje novuyu versiu etogo dokummmenta, no ix script genais - rabotaet ne korrektno! videlyaet ogromnor kolichestvo pamyanti i strashno tormozit.

Vse delo v tom chto est primer led.out, ya ego kormlu im script hexais.exe (.NET), on vivodit led.hex, format u nego - AIS v S-RECORD`e, pri zapisi ego na NOR, ona rabotaet normalno, pri perezagruzke on migaet svetodiodami. A te je manitulyacii s vmlinux ne srabativaet.

Zadacha v tom, chtobi zapustit linux s failovoi sistemoi imenno s FLASH (NOR/NAND), seichas prixoditsya zapuskat vmlinux cherez CC Studio, a failovaya sistema cherez NFS iportiruetsya iz Mandrivi.

Ya dumau chto vmlinux COFF formata, t.k. v nem napisano chto-to tipa: TMS320C6x COFF Linker UNIX v6.0.8 ....


Скрипт переписал. Насколько помню, там была ошибка с созданием временных файлов.
Когда ковырялся с загрузчиком, проект тоже по началу не запускался. Дело было в начальной конфигурации памяти DDR и задании умножителя. Это оказалось важно. Тоже светодиоды мигали а более серьезные примеры, требовавшие внешней памяти .... Пользовался ais_utility.
У меня проект под DSP BIOS. Для того чтобы его запустить в стартапе потребовалась настройка кэша и pinmux.
Go to the top of the page
 
+Quote Post
Erv&Sed
сообщение May 19 2008, 11:17
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 11-09-05
Пользователь №: 8 451



A mojno po podrobney, vi probovali zapustit linux na nem, u vas TMS320DM6437 EVM???
Mojno u vas poprosit ispravlenniy script, ya v Perl`e ne sharu. I chto za AIS_Utility?



Po idee mozno vedj skopirovat obraz yadra posle zagruzki v CC Studio, ona vedj kopiruetsia v operativku po adres 0x80000400? Tolko kak eto sdelat, mojet sdelat dump pamiati pri rabote yadra???
Go to the top of the page
 
+Quote Post
owl
сообщение May 19 2008, 11:58
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 90
Регистрация: 7-08-06
Из: Смоленск
Пользователь №: 19 370



Цитата(Erv&Sed @ May 19 2008, 15:17) *
A mojno po podrobney, vi probovali zapustit linux na nem, u vas TMS320DM6437 EVM???
Mojno u vas poprosit ispravlenniy script, ya v Perl`e ne sharu. I chto za AIS_Utility?
Po idee mozno vedj skopirovat obraz yadra posle zagruzki v CC Studio, ona vedj kopiruetsia v operativku po adres 0x80000400? Tolko kak eto sdelat, mojet sdelat dump pamiati pri rabote yadra???

К сожалению в Linux не разбираюсь совершенно. В этом не могу помочь, наоборот самому интересно о возможности нормально поставить гео.
Попробовали поставить на board linux - Virtual Logic (т.е. ту демку которая идет с платой). Да он пошел Среда комозера + удаленная загрузка из сети. А что толку, если Dm6437 держит, насколько я знаю, только Virtual logic и если я не ошибаюсь, купить в минимальной конфигурации будет начиная от 7 к$. Не говоря уже о фирменных кодеках, которые должны под него стать.
AIS_Utility - это набор с тем скриптом, который должен генерить bin файл для прошивки.
В приложении архив с примером bat файла для создания бинарника для заливки в Spi флешь + Cfg c настройками для загрузчика + исправленный скрипт.
Прикрепленные файлы
Прикрепленный файл  bin.zip ( 11 килобайт ) Кол-во скачиваний: 41
 
Go to the top of the page
 
+Quote Post
Erv&Sed
сообщение May 19 2008, 13:05
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 11-09-05
Пользователь №: 8 451



owl spasibo, seichas budu probovat.
Go to the top of the page
 
+Quote Post
Erv&Sed
сообщение May 19 2008, 15:09
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 11-09-05
Пользователь №: 8 451



Цитата(Erv&Sed @ May 19 2008, 16:05) *
owl spasibo, seichas budu probovat.

Poproboval - toje samoe, pravdo bez configurazionnogo faila, u menja zagruzka s NOR, esli ne sekret chto imenno delaet etot konfiguracionniy fail dlja zagruzchika. Pervie stroki eto funkcia, no chto ona delaet ya ne razobralsya.

Цитата(Erv&Sed @ May 19 2008, 16:05) *
owl spasibo, seichas budu probovat.

Poproboval - toje samoe, pravdo bez configurazionnogo faila, u menja zagruzka s NOR, esli ne sekret chto imenno delaet etot konfiguracionniy fail dlja zagruzchika. Pervie stroki eto funkcia, no chto ona delaet ya ne razobralsya.

I eshe vopros, kak mne nado scompelirovat programmi chtobi ix mojno bilo vkluchat iz linuxa na plate. Ya pereopredelil gcc kak c64xplus-jaluna-gcc, i includniki k /cg6x_0_8_eval/include, kogda zapuskay pishet "applet not found", chto eto znachit???
Go to the top of the page
 
+Quote Post
amw
сообщение May 19 2008, 17:56
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(Erv&Sed @ May 19 2008, 12:28) *
objcopy ne ponimaet, vse delo v tom chto architektura ne ta.

Так, давайте по порядку.
objcopy - название программы, выполняющей копирование (частей)объектных файлов.
Собственно objcopy - это нативная тулса, как и gcc, например.
Для того чтобы выполнить какое либо действие с объектником для Вашего TI процессора нужно использовать не нативную тулсу, а из комплекта кросскомпилера. В таком случае к имени файла программы добавляется префикс.
Например если у меня в плате ARM AT91SAM9xxx с линукс то я использую arm-linux-gcc, arm-linux-objcopy и пр.
Если у меня LPC23xx то я использую arm-elf-gcc, arm-elf-objcopy и тп. Если dsPIC - то pic30-gcc, pic30-objcopy......
Какой уВас кросскомпилер? Вот его <target-arch-os>-objcopy и нужно использовать.
По идее преобразование форматов выглядит так
Код
<target-arch-os>-objcopy -I binary -O srec zImage zImage.srec

МОжно поиграться параметрами
Код
<target-arch-os>-objcopy -I binary -O srec --change-section-lma 0x12345678 --change-section-vma 0x87654321 zImage zImage.srec

Или что-то в этом роде.

Цитата(Erv&Sed @ May 19 2008, 18:09) *
I eshe vopros, kak mne nado scompelirovat programmi chtobi ix mojno bilo vkluchat iz linuxa na plate. Ya pereopredelil gcc kak c64xplus-jaluna-gcc, i includniki k /cg6x_0_8_eval/include, kogda zapuskay pishet "applet not found", chto eto znachit???

c64xplus-jaluna-gcc - это и есть Ваш кросскомпилер? Тогда
main.c:
Код
#include <stdio.h>
int main(int argc, char * argv[])
{
printf("Hello World\n");
return 0;
}

Компилим для начала статически (не используем динамические либы, их может не быть или не хватать или еще чего)
Код
c64xplus-jaluna-gcc -static -o tst main.c

Копируем tst на плату, запускаем.

Ошибку "applet not found" дает скорее всего busybox потому как не находит библиотек. Скомпилируйте сначала статически свою программу. Сам busybox, на сколько я догадываюсь, запускается?
PS: c64xplus-jaluna-gcc - А он точно для Линукс?


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
owl
сообщение May 20 2008, 07:31
Сообщение #15


Частый гость
**

Группа: Свой
Сообщений: 90
Регистрация: 7-08-06
Из: Смоленск
Пользователь №: 19 370



Цитата(Erv&Sed @ May 19 2008, 19:09) *
Poproboval - toje samoe, pravdo bez configurazionnogo faila, u menja zagruzka s NOR, esli ne sekret chto imenno delaet etot konfiguracionniy fail dlja zagruzchika. Pervie stroki eto funkcia, no chto ona delaet ya ne razobralsya.
Poproboval - toje samoe, pravdo bez configurazionnogo faila, u menja zagruzka s NOR, esli ne sekret chto imenno delaet etot konfiguracionniy fail dlja zagruzchika. Pervie stroki eto funkcia, no chto ona delaet ya ne razobralsya.

Cfg файл важен smile.gif. Он отвечает за начальную конфигурацию загрузчика. Настройки DDR, PLL и т.д. смотри spraag0c (пункт 8.6). Первая строка это код функции, дальше тип команды и число аргументов.

Попробуйте сначала добиться работы самого простого своего проекта. Так чтобы он грузился из памяти.
Процессор точно стартует из NOR? Чем зашиваете программу? Может быть ошибка в программе прошивки?
Еще одно но, когда вы работаете в симуляторе, часть работы по инициализации процессора выполняет GEL файл. Т.о. та программа, которая грузится, должна выполнить теже действия (необходимые для работы) Настройка кэша, мультиплексирование выводов и т.д.

Цитата(Erv&Sed @ May 19 2008, 19:09) *
I eshe vopros, kak mne nado scompelirovat programmi chtobi ix mojno bilo vkluchat iz linuxa na plate. Ya pereopredelil gcc kak c64xplus-jaluna-gcc, i includniki k /cg6x_0_8_eval/include, kogda zapuskay pishet "applet not found", chto eto znachit???

Насчет Линукса ничем помочь не могу.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 1st August 2025 - 19:58
Рейтинг@Mail.ru


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