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

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


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

Группа: Свой
Сообщений: 170
Регистрация: 14-09-05
Из: Suwon
Пользователь №: 8 548



Цитата(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???


"applet not found" - значит, что файл для данной системы не является исполняемым, проще говоря, ваш компилятор создал объектный файл не того формата.

Сообщение отредактировал 2b|!2b?.. - May 20 2008, 07:47
Go to the top of the page
 
+Quote Post
Erv&Sed
сообщение May 20 2008, 08:05
Сообщение #17


Участник
*

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



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

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

Poxoje mne pridetsa napisat svoi cfg fail, samiy prostoi primer - rabotaet, no ya ego preobrazuu s pomoshu hesAIS, proshivau utilitoi FlashBurn DSK, posle perezagruzki vse primer vkluchaetsa. Sam hexAIS dopisivaet neobxodimie instrukcii AIS formata dlya inicializacii.

Seichas posmotrel - v primere led.out zagrujaeca v cach/RAM pamyat, a vmlinux v DDR, vpolne vozmojno chto problema zdes.

Ogromnoe spasibo za pomosh.

Цитата(amw @ May 19 2008, 20:56) *
Так, давайте по порядку.
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

Или что-то в этом роде.
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 - А он точно для Линукс?


Da, ya uje ponayl chto mne nujno imenno c64xplus-jaluna-objcopy, seichas probuyu sdelat chto-libo s ee pomoshu, no poxoje mne chistiy binarnik ne podoydet, u neg mnogo neskolko sekcii, i dlya kajdoy mne nujno napisat svoi AIS komandu dlya togo, chtobi zagruzchik zagruzil ee po nujnomu adresu.

A vot na schet primera - kompiliruu, copiruu v nujnuu papku i zapuskau iz vstroennoy linuxi - otvet tot-je. Applet not found.
BusyBox ustanovlen, no, po moemu, ne polniy.

Mojno po podrobney chto za biblioteki ne xvataet i otkudo ee kopirovatj.

Mojet vse delo v #include <stdio.h>, sdio.h ona konecho naxodit, no TI predlagaet svoi stdio.h, kak pravilno zapisat v makfile`e adres k bibliotekam???

Сообщение отредактировал Erv&Sed - May 20 2008, 08:06
Go to the top of the page
 
+Quote Post
Erv&Sed
сообщение May 20 2008, 14:00
Сообщение #18


Участник
*

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



Цитата(Erv&Sed @ May 20 2008, 11:05) *

Xorosho primer ya otcompiliroval, i teper on vkluchaetsia (nujni bili kluchi -Wl,-ar), no MTD-Utiliti vse ravno ne xochet vkluchatsa (s novimi kluchami), v chem mojet bitj problema?
Go to the top of the page
 
+Quote Post
amw
сообщение May 20 2008, 16:56
Сообщение #19


Знающий
****

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



Цитата(Erv&Sed @ May 20 2008, 17:00) *
nujni bili kluchi -Wl,-ar

Что-то не понял про ключ -a.
man ld
Цитата
-akeyword
This option is supported for HP/UX compatibility. The keyword argument must be one of the strings archive, shared, or default. -aarchive is functionally equivalent to -Bstatic, and the other two keywords are functionally equivalent to -Bdynamic. This option may be used any number of times.

Для просмотра библиотек, с которыми слинкован исполняемый файл можно использовать objdump.
Например если есть программа tst то
Код
objdump -x tst
.....
Dynamic Section:
  NEEDED      librt.so.1
  NEEDED      libc.so.6
.....


или readelf

Код
readelf -d tst

Dynamic section at offset 0x670 contains 22 entries:
  Tag        Type                         Name/Value
0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
.....


Цитата(Erv&Sed @ May 20 2008, 17:00) *
MTD-Utiliti vse ravno ne xochet vkluchatsa (s novimi kluchami), v chem mojet bitj problema?

Вы пытаетесь работать с MTD изнутри целевой системы? Вроде так можно тоже, но я не проьовал.
Вместо этого я делаю образ JFFS2 и прошиваю его во флеш. Можно сделать пустой образ а файлы потом создавать уже в целевой плате.
Для этого используется mkfs.jffs2. Обратите внимание на опцию -p.

Сообщение отредактировал amw - May 20 2008, 17:13


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


Участник
*

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



Цитата(amw @ May 20 2008, 19:56) *
Что-то не понял про ключ -a.
man ld

Для просмотра библиотек, с которыми слинкован исполняемый файл можно использовать objdump.
Например если есть программа tst то
Код
objdump -x tst
.....
Dynamic Section:
  NEEDED      librt.so.1
  NEEDED      libc.so.6
.....


или readelf

Код
readelf -d tst

Dynamic section at offset 0x670 contains 22 entries:
  Tag        Type                         Name/Value
0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
.....

Вы пытаетесь работать с MTD изнутри целевой системы? Вроде так можно тоже, но я не проьовал.
Вместо этого я делаю образ JFFS2 и прошиваю его во флеш. Можно сделать пустой образ а файлы потом создавать уже в целевой плате.
Для этого используется mkfs.jffs2. Обратите внимание на опцию -p.



A razve ne nujno specialnie polya,flagi i t.d. vedj vo flash pamyatj nujno, krome togo, zapisatj jadro v specialnoy forme, a obraz doljen idti v posleduushix erase_bloack`ax??? razve ne tak.
Krome togo ya nikak ne mogu zastavitj yadro videtj FLASH`ku, pri konfiguracii ya vkluchau neobxodimie polya dlya NAND, no vse ravno on ego ne vidit., ne znau v chem problema, a dlya NOR u nego voobshe nichego netu.

linux_build_dir/bin/c6x-linux-gcc myprog.c -o myprog -Wl,-ar , tak on zapustilsya, a jaluna (sm. vishe) - eto nazvanie porta - jaluna linux.
Go to the top of the page
 
+Quote Post
Erv&Sed
сообщение May 23 2008, 08:17
Сообщение #21


Участник
*

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



Всем спасибо за помощь, в итоге сейчас я работаю на другой плате и Линукса для нее нету.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 03:14
Рейтинг@Mail.ru


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