|
Как работать с GPIO под Linux? |
|
|
|
Jul 19 2016, 19:29
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(GeneralProger @ Jul 19 2016, 21:08)  Знаете, что самое интересное, я никак не могу установить компилятор gcc на свой linux, ни одна инструкция не подходит, нету make, пробовал использовать Java даже с горя, но ее как я понял на мою i486 архитектуру не существует в природе, пытался скомпилировать файл на Linux на компьютере, но он ругается на и работать не хочет (наверное из-за другой архитектуры ОС на которой был скомпилирован), вообщем даже это уже огромная проблема, не знаю даже что и делать. судя по тексту в pdf, там все непросто для программирования, типа One problem developers run into is missing libraries. The complete set of unstripped glibc 2.2.5 libraries used by all TSLinux SBCs, can be found on the Technologic Systems website. The file is named entire.libs.dir.tar.bz2. Another common problem is mismatched library versions, between the developer's desktop and the target SBC. In these cases, the problem can be solved by explicitly linking against the unpacked entire.libs.dir.tar.bz2 tarball.
сходите на сайт производителя https://www.embeddedarm.com/embedded-develo...t/downloads.phpтам растет линк на фтп ftp://ftp.embeddedarm.com/ts-x86-sbcпоищите там make и gcc
|
|
|
|
|
Jul 20 2016, 10:42
|
Группа: Участник
Сообщений: 8
Регистрация: 16-07-16
Пользователь №: 92 575

|
Цитата(Jury093 @ Jul 19 2016, 19:29)  судя по тексту в pdf, там все непросто для программирования, типа One problem developers run into is missing libraries. The complete set of unstripped glibc 2.2.5 libraries used by all TSLinux SBCs, can be found on the Technologic Systems website. The file is named entire.libs.dir.tar.bz2. Another common problem is mismatched library versions, between the developer's desktop and the target SBC. In these cases, the problem can be solved by explicitly linking against the unpacked entire.libs.dir.tar.bz2 tarball.
сходите на сайт производителя https://www.embeddedarm.com/embedded-develo...t/downloads.phpтам растет линк на фтп ftp://ftp.embeddedarm.com/ts-x86-sbcпоищите там make и gccНашел этот архив, распаковал, создалась папка /usr/lib/gcc-lib/i386-pc-linux-gnu/2.95.3 со следующим содержимым: include/ cc1plus crtbeginS.o libgcc.a collect2 crtend.o libstdc++.a SYSCALLS.c.X cpp0 crtendS.olibstdc++.so cc1 crtbegin.o specs Попытался скормить исходник C++ файлам выделенным выше, все, как один при скармливании hello.cc выдают на выходе hello.s с содержимым похожим на гибрид sh и ассемблера. Я так понял это какие-то утилиты для самого gcc, только где его искать вопрос остается открытым. Да и библиотеку libc он не обновил, так 2.2.5 и осталась. Поиски make успехом пока не увенчались, сам отдельно gcc есть вроде лежит на ftp в нескольких версиях, но вроде все это не под эту плату, искал разное по названию платы, но там только различные образы DOS, BIOS, Linux нашлись
Сообщение отредактировал GeneralProger - Jul 20 2016, 10:43
|
|
|
|
|
Jul 20 2016, 12:01
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(GeneralProger @ Jul 20 2016, 13:42)  Попытался скормить исходник C++ файлам выделенным выше, все, как один при скармливании hello.cc выдают на выходе hello.s с содержимым похожим на гибрид sh и ассемблера. чем смотрели? что пишет в ответ: Код file hello.s Цитата Поиски make успехом пока не увенчались, сам отдельно gcc есть вроде лежит на ftp в нескольких версиях, но вроде все это не под эту плату, искал разное по названию платы, но там только различные образы DOS, BIOS, Linux нашлись в корне фтп лежит файл ftp.catalog-6-27-8.txtпоищите в нем.. там мелькает типа ./tmp/gcc-3.2.3-glibc-2.2.5.tar.gz вроде видел исходники ядра у вас же х86 архитектура, в теории можно нативно собирать на обычном компе исполнимые бинарники, надо только с библиотеками внимательно разобраться..
|
|
|
|
|
Jul 20 2016, 16:26
|
Группа: Участник
Сообщений: 8
Регистрация: 16-07-16
Пользователь №: 92 575

|
Цитата(Jury093 @ Jul 20 2016, 12:01)  чем смотрели? что пишет в ответ: Код file hello.s в корне фтп лежит файл ftp.catalog-6-27-8.txtпоищите в нем.. там мелькает типа ./tmp/gcc-3.2.3-glibc-2.2.5.tar.gz вроде видел исходники ядра у вас же х86 архитектура, в теории можно нативно собирать на обычном компе исполнимые бинарники, надо только с библиотеками внимательно разобраться.. Вообщем с gcc вроде решилось с помощью toolchain, а по поводу отрывка кода что вы мне скинули, я все-равно не понимаю: ioperm(0x7A,4,1) это получение прав на работу или что? Описания атрибутов я не нашел, что значит from, num и turn_on? Я так предполагаю что from это начало, num количество после from, но как во всем это ориентироваться? В инструкции TS написано: 7Bh R/W DIO1_0 thru DIO1_7 (Bits 0-7) 7Ch R/W DIO1_8 thru DIO1_13 (Bits 0-5)Значит получается, что мы получаем права на работу с ножками DIO от 0 до 7 при вызове ioperm(0x7B,1,1)? А это что: Код ioval = inb(0x7a); ioval = ioval & 0xFE; outb(ioval, 0x7A); Мы через inb(0x7B); в моем случае выбираем диапазон DIO от 0 до 7, потом приписав ioval = ioval & 0xFE; прыгаем на какую-то ножку из диапазона 0-7 задав ее номер 0xFE?? Что же тогда значит outb(ioval, 0x7A);, я совсем уже не догадываюсь
|
|
|
|
|
Jul 20 2016, 17:14
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(GeneralProger @ Jul 20 2016, 19:26)  Вообщем с gcc вроде решилось с помощью toolchain, а по поводу отрывка кода что вы мне скинули, я все-равно не понимаю: Значит получается, что мы получаем права на работу с ножками DIO от 0 до 7 при вызове ioperm(0x7B,1,1)? в сообщение №14 треда есть слово "ссылка", она указывает на pdf http://vigir.missouri.edu/~gdesouza/Resear..._Dev_Manual.pdfсобственно оттуда и выдержка с фрагментом кода, а что там и как, я особо не вникал.. еще на их фтп покопайтесь, там где-то видел семплы кода и маны по работы с железом ts53xx.. update1 судя по опечаткам, в критичных местах сверяйтесь с инетом: Код can be read from the /pro/SBC/info. This proc entry is read only вероятно все же /proc/SBC/infoupdate2 и вот об этом Цитата пытался скомпилировать файл на Linux на компьютере, но он ругается на и работать не хочет полезно после слова "пытался" показать "как пытался" (строку для запуска компиляции) и "ругался" - приводить строки вывода ошибок (часто по ним можно понять что происходит) и для занудства - "работать не хочет", дак никто работать не хочет, а код должен выполниться на таргет-системе впрочем не принимайте это всерьез..
Сообщение отредактировал Jury093 - Jul 20 2016, 17:28
|
|
|
|
|
Jul 28 2016, 11:14
|
Профессионал
    
Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439

|
Цитата(GeneralProger @ Jul 19 2016, 22:08)  Знаете, что самое интересное, я никак не могу установить компилятор gcc на свой linux, ни одна инструкция не подходит, нету make, пробовал использовать Java даже с горя, но ее как я понял на мою i486 архитектуру не существует в природе, пытался скомпилировать файл на Linux на компьютере, но он ругается на и работать не хочет (наверное из-за другой архитектуры ОС на которой был скомпилирован), вообщем даже это уже огромная проблема, не знаю даже что и делать. Работать на древнем ядре даже для опытного программиста непростая задача, а для начинающего она неподъемна. Вы неверно ставите задачу.
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|