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

sangre

Участник
  • Постов

    35
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о sangre

  • Звание
    Участник
    Участник
  1. благодарю за ссылки, почитаю =)
  2. вот с этой структурой интресная история. я собирал ядро и фс openembedded`om, он собирает ангстром дистрибутив, его можно выкачать на linux4sam, он интересно все собирает, я еще толком не разобрался как он это делает, но это думаю вопрос времени. вот, он там сначала шаманит с ядром 2.6.27, потом с ядром 2.6.30, на выходе рабочее ядро 2.6.30. я в spi.h добавлял свое устройство, условно device, в оба исходника, и в 2.6.27 и в 2.6.30, когда он компилирует 2.6.27 все нормально, а в 2.6.30 - ругаецца, говорит что неправильное описание. хотя вроде все по исходникам. после того как закоментил некоторые моменты, он скомпилировал, но в /dev моего устройства не появилось. появился файл в /sys/device типа spi_1.1 вроде тот который я сделал. как дальше пользоваться утсройством? оно должно быть в /dev или нет? для чего устройство в /sys/device? что с этим делать? как работать с spi? в даташите писано, ежели хотите писать-читать, то вот вам регистры(а это ячейки памяти) пользуйтесь на здоровье, естессно операционка не дает туда ничего писать. я так полагаю необходим модуль, который как я думаю уже будет туда и писать и читать?
  3. это насколько я понимаю собирается в модуль? который будет .ko, т.е. драйвер устройства. само устройство я так полагаю описано в какой нибудь плате? и при сборке ядра устройство собирается в ядро, а этот драйвер будет либо в ядре, либо должен будет подключаться вручную? и еще, это устройство получается уже прицеплено к какому нибудь spi контроллеру, и cs уже жестко задан?
  4. блин, разумно. но не факт что не придется драйвера писать. пока я вообще не знаю как все это разрабатывать =( инфа вся какая то разрозненная
  5. контроллер вроде как должен быть. а это имеет значение? насколько я понимаю, с моего линукса наверно без разницы с чем работать. контроллер spi вроде выбран, в плате их 2, я выбрал 2, cs я так полагаю нужно задавать уже из приложения.
  6. что то как то поиск не очень удался, как то все везде сумбурно...
  7. на отладочной плате установлен линукс, необходимо работать с spi, отладочная плата планируется быть мастером. как подходить к этому вопросу? с чего начинать? после рытья в гугле и аглицких форумов предполагаю что нужно вписать какое нибудь устройство в исходники ядра, и перекомпилить его. но после перекомпилировки устройство которое я вписал не появилось в списке устройств в директории /dev. дальше насколько я понял пишется драйвер, он же модуль ядра, через который все и работается. но, как из приложения работать с модулем? как в приложении увидеть функции, описанные в модуле? еще предполагаю что может быть где то в директориях линукса есть файл этого spi и можно работать с интерфейсом через него? но здесь я не представляю как это делать. в общем пока в голове каша, теперь по крупицам собираю инфу и нужно все как то в голове систематизировать, кто что знает, как и что делать, поделитесь опытом.
  8. не, нету такой галки. есть: - non-stop mode - enable reverse debugging at startup - force thread list update on suspend а в консоли вообще ничего не говорит. даже команды задавать не хочет
  9. можно поподробнее? что то не нашел ну и еще для кучи вопрос, когда я завожу на arm gdbserver, он слухает порт, слухает и слухает, как его выгнать из этого состояния? ни на что не реагирует! а перегружать всю платку как то не комфортно
  10. доброго всем времени суток. вопрос по eclipse, gdb, gdbserver, arm и linux у меня есть компутер, на нем я имею ubuntu 10.10, немного софта(не относящегося к делу) и относящийся: eclipse, набор кросс-компиляторов (arm-angstrom-linux-gnueabi-...), обычный gdb, специально скомпилированный gdb (работающий на i686, но работает с кодом для arm) у меня есть плата at91sam9xeek, на ней: angstrom linux, gdb (соответственно работающий на arm и с кодом для arm), gdbserver тоже работающий на arm. задача: безнаказанно отлаживать код для arm в eclipse. по рабоче крестьянски, если пользоваться на большой манише gdb в терминале - то все работает. он связывается с gdbserver на arm, что то делает и в общем можно сказать что как то работает (еще бы я умел с ним работать), но с эстетической точки зрения мне кажется что это не камильфо. есть желание что бы eclipse со всеми связывался и все культурно мне отображал и давал посмотреть и попробовать поменять. вро де бы eclipse даже пытается работать, вроде как подсоединяется к gdbserver на arm, но потом выдает следующее: Error in final launch sequence Failed to execute MI command: -exec-run Error message from debugger back end: The "remote" target does not support "run". Try "help target" or "continue". The "remote" target does not support "run". Try "help target" or "continue". может поможет кто расшифровать глубокий смысл и средства для излечения?
  11. ядро Linux

    пока решил проблему, собрал дистриб на ОЕ, там и ядро и фс, вместе они грузятся, приходится бежать дальше, но обязательно хочу разобраться с этим на досуге, как только он появится
  12. щас тоже попробую ченить собрать
  13. да, так поехало, надо было внимательнее почитать конфиг, да я еще повелся на точ что там сказали смотреть можно, а руками не трогать =( а руками я считаю собрать хоть раз но надо, что бы иметь представление что к чему. ты копался собирал - и шаришь
  14. в общем для кучи, посмотрел ct-ng, собирал по инструкции, вроде собралось, вот что получилось, меня смущает что так быстро: petrovs@petrovs:~/crosstool-ng-1.9.0$ ./configure --prefix=$HOME/ctng --with-libtool=$HOME/ctng/libtool Checking for 'grep'... /bin/grep Checking whether '/bin/grep' supports -E... yes Checking for 'sed'... /bin/sed Checking whether '/bin/sed' supports -i and -e... yes Checking for 'bash'... /bin/bash Checking for 'cut'... /usr/bin/cut Checking for 'install'... /usr/bin/install Checking for 'make'... /usr/bin/make Checking for 'gcc'... /usr/bin/gcc Checking for 'awk'... /usr/bin/awk Checking for 'bison'... /usr/bin/bison Checking for 'flex'... /usr/bin/flex Checking for 'makeinfo'... /usr/bin/makeinfo Checking for 'automake'... /usr/bin/automake Checking for 'libtool'... /home/petrovs/ctng/libtool (cached) Checking for 'stat'... /usr/bin/stat Checking for 'aria2c'... no Checking for 'curl'... no Checking for 'wget'... /usr/bin/wget Checking for 'cvs'... /usr/bin/cvs Checking for 'patch'... /usr/bin/patch Checking for 'tar'... /bin/tar Checking for 'gzip'... /bin/gzip Checking for 'bzip2'... /bin/bzip2 Checking for 'lzma'... /usr/bin/lzma Checking for 'readlink'... /bin/readlink Checking for 'objcopy'... /usr/bin/objcopy Checking for 'objdump'... /usr/bin/objdump Checking for 'readelf'... /usr/bin/readelf Checking for 'patch'... /usr/bin/patch Checking for 'ncurses/ncurses.h'... no Checking for 'ncurses/curses.h'... no Checking for 'ncurses.h'... yes Checking for 'libncursesw.so'... no Checking for 'libncursesw.a'... no Checking for 'libncursesw.dylib'... no Checking for 'libncurses.so'... yes Computing version string... 1.9.0 Building up Makefile... done crosstool-NG configured as follows: PREFIX='/home/petrovs/ctng' BINDIR='/home/petrovs/ctng/bin' LIBDIR='/home/petrovs/ctng/lib/ct-ng-1.9.0' DOCDIR='/home/petrovs/ctng/share/doc/ct-ng-1.9.0' MANDIR='/home/petrovs/ctng/share/man' Now run: make make install petrovs@petrovs:~/crosstool-ng-1.9.0$ make SED 'ct-ng' SED 'scripts/crosstool-NG.sh' SED 'scripts/saveSample.sh' SED 'scripts/showTuple.sh' GEN 'paths.mk' SED 'docs/ct-ng.1' GZIP 'docs/ct-ng.1.gz' petrovs@petrovs:~/crosstool-ng-1.9.0$ make install MKDIR '/home/petrovs/ctng/bin/' INST 'ct-ng' RMDIR '/home/petrovs/ctng/lib/ct-ng-1.9.0/' MKDIR '/home/petrovs/ctng/lib/ct-ng-1.9.0/' INSTDIR 'config/' INSTDIR 'contrib/' INSTDIR 'kconfig/' INSTDIR 'patches/' INSTDIR 'scripts/' INST 'steps.mk' INST 'paths.mk' INSTDIR 'samples/' MKDIR '/home/petrovs/ctng/share/doc/ct-ng-1.9.0/' INST 'docs/*.txt' MKDIR '/home/petrovs/ctng/share/man/man1/' INST 'ct-ng.1.gz' For auto-completion, do not forget to install 'ct-ng.comp' into your bash completion directory (usually /etc/bash_completion.d) чуток смущает вывод: For auto-completion, do not forget to install 'ct-ng.comp' into your bash completion directory (usually /etc/bash_completion.d) переводил словариком, че надо не понял (забил) дальше по инструкции выбрал себе конфиг типа arm-unknown-linux-gnueabi отредактировал путь и получил: petrovs@petrovs:~/ctngbuild$ ct-ng build.4 [iNFO ] Performing some trivial sanity checks [iNFO ] Build started 20101118.165702 [iNFO ] Building environment variables [WARN ] Directory '/home/petrovs/src' does not exist. [WARN ] Will not save downloaded tarballs to local storage. [EXTRA] Preparing working directories [ERROR] Missing: 'i686-pc-linux-gnu-gcj' or 'i686-pc-linux-gnu-gcj' or 'gcj' : either needed! [00:01] / make[1]: *** [build] Ошибка 1 make: *** [build.4] Ошибка 2 прямо какой то злой рок, блин
×
×
  • Создать...