Forth http://fforum.winglion.ru/ |
|
m3forth - форт для ARM Cortex-M3 http://fforum.winglion.ru/viewtopic.php?f=39&t=2952 |
Страница 2 из 5 |
Автор: | Sunforth [ Ср июл 10, 2013 22:45 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
Недели две назад поиск в гугле делал и остановился на плате дискавери. Под него форт еще не искал. И вот тут как по заказу нашел форт для дисквери. Цитата: Из коробки не получится, линуксы у всех разные. Еще не скачивал файлы, но предвижу много вопросов с моей стороны. Поэтому хотелось бы именно пошаговую инструкцию установки получить на той линукс системе что у Вас установлена. Потом под свою систему сам настрою( у меня установлена Fedora 17) . Цитата: 2а. Подключаем контроллер к COM-порту, дописываем форт-систему. Пока не реализовано а это для меня пока что проблема |
Автор: | oco [ Пт июл 12, 2013 18:40 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
Sunforth писал(а): Еще не скачивал файлы, но предвижу много вопросов с моей стороны. Поэтому хотелось бы именно пошаговую инструкцию установки получить на той линукс системе что у Вас установлена. Потом под свою систему сам настрою( у меня установлена Fedora 17) . Вам установку всех компонент описывать? |
Автор: | Sunforth [ Пт июл 12, 2013 22:35 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
oco писал(а): Sunforth писал(а): Еще не скачивал файлы, но предвижу много вопросов с моей стороны. Поэтому хотелось бы именно пошаговую инструкцию установки получить на той линукс системе что у Вас установлена. Потом под свою систему сам настрою( у меня установлена Fedora 17) . Вам установку всех компонент описывать? Описывать не нужно, достаточно команды в терминале(консоли). |
Автор: | diver [ Сб июл 13, 2013 15:29 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
Тогда еще один дилетантский вопрос: есть шансы запустить/собрать данный форт на Линуксе, запущенном на Арме?(версия Убунты, FCC в комплекте) |
Автор: | oco [ Вс июл 14, 2013 00:00 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
diver писал(а): Тогда еще один дилетантский вопрос: есть шансы запустить/собрать данный форт на Линуксе, запущенном на Арме?(версия Убунты, FCC в комплекте) Если в этом линуксе есть какой-нибудь форт, то можно попробовать собрать данный форт с его помощью, но так как в результате получается файл с прошивкой, запустить его не выйдет. |
Автор: | oco [ Вс июл 14, 2013 00:46 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
Sunforth писал(а): Еще не скачивал файлы, но предвижу много вопросов с моей стороны. Поэтому хотелось бы именно пошаговую инструкцию установки получить на той линукс системе что у Вас установлена. Потом под свою систему сам настрою( у меня установлена Fedora 17) . 1. Хорошо, начнем с тулчейна (это GCC с утилитами, заточенный под ARM). Необязателен, если не нужна отладка. Качаем этот архив и распаковываем его в папку, у меня ~/arm. В файл ~/.bashrc дописываем строки: Код: if [ -d "$HOME/arm/bin" ] ; then PATH="$HOME/arm/bin:$PATH" fi затем перелогиниваемся. Теперь тулчейн доступен. 2. st-link. С его помощью будем прошивать и отлаживать наши программы. Берем здесь и распаковываем в ~/src/st-link. Собираем: Код: $ ./autogen.sh $ ./configure $ make Если возникают ошибки, значит у вас не установлены некоторые программы, например automake и т.д. Внимательно читаем ошибки и устанавливаем нужные программы с помощью пакетного менеджера После сборки создаем файл /etc/modprobe.d/usb-storage с таким содержимым: Код: options usb-storage quirks=483:3744:i Перезагружаем модуль ядра usb-storage: Код: sudo modprobe -r usb-storage sudo modprobe usb-storage 3. qEMU - эмулятор. Если хотите отладить программу не прошивая ее в контроллер. Установите пакет qemu-system-arm с зависимостями. 4. libelf - нужна для отладки и генерации elf-файлов. Установите пакет libelf1 5. libdwarf - нужна для отладки и генерации elf-файлов. Скопируйте libdwarf.so из архива с m3forth в /usr/lib. Если будут возникать ошибки (этот файл из Ubuntu 12.04), скачайте пакет с исходными текстами dwarfutils: Код: apt-get source dwarfutils В папке libdwarf выполните команды Код: ./configure --enable-shared . Так у вас должна появиться свой libdwarf.somake sudo make install 6. ddd (data display debugger) - отладчик. Устанавливаем пакет ddd. 7. openocd - то же что и st-link, но умеет semihosting. Нужен, если хотите поработать в форте прямо в микроконтроллере. Качаем здесь файл openocd-0.7.0.tar.bz2 и распаковываем в любую папку, собираем и устанавливаем: Код: ./configure make sudo make install 8. Качаем форт и распаковываем в любую папку. Переходим в папку examples/tester и пробуем собрать: Код: make -B 9. Все! |
Автор: | oco [ Вс июл 14, 2013 00:48 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
P.S. Довел до ума semihosting, так что можно более-менее нормально работать на форте в микроконтроллере прямо по USB-кабелю, также добавил обработчики прерываний и переделал файлы устройств (были ошибки), ждите новую версию. |
Автор: | oco [ Вт июл 16, 2013 13:19 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
Версия 0.2. Критические ошибки были, качать обязательно! |
Автор: | KPG [ Вт июл 16, 2013 15:56 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
oco писал(а): Версия 0.2. Критические ошибки были, качать обязательно! Спасибо! Закачка прошла успешно P.S. Жаль, что на на форуме нет статистики по "выкачке" размещеного вложения. |
Автор: | vikt [ Пт июл 19, 2013 20:03 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
Возможно ли адаптировать программу для процесорра intell arm - sa1110 ? |
Автор: | KPG [ Пт июл 19, 2013 20:56 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
vikt писал(а): Возможно ли адаптировать программу для процесорра intell arm - sa1110 ? Общий ответ - Скорее всего да, но как говорится "дьявол скрывается в мелочах" и необходимо рассматривать отличия архитектур, железа и команд + сам процессор обычно находится в каком нибудь девайсе, а это дополнительный важный слой рассмотрения и времени это потребует неизвестное количество, но "конечное" P.S. Для Strong ARM были некоторые Форт системы, в том числе вроде российские delosoft для Palm OS Архивы должны сохраниться, но можно начать с i-neta. Современные ARM контроллеры, по производительности, наверное, уже обошли данный процессор. |
Автор: | oco [ Сб июл 20, 2013 01:49 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
vikt писал(а): Возможно ли адаптировать программу для процесорра intell arm - sa1110 ? Скорее всего нет. Этот форт для Cortex-M3 (архитектура ARMv7M), кодировка инструкций ассемблера другая (Thumb-2). Для вашего процессора лучше взять другой форт. |
Автор: | oco [ Пт сен 13, 2013 02:00 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
Версия 0.3. Исправлены ошибки в отладочной информации. Качайте, если были проблемы с отладкой |
Автор: | oco [ Ср окт 30, 2013 20:49 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
Кому интересно, мой пост http://habrahabr.ru/post/199490/, в нем кратко прошелся по созданию отладочной информации. |
Автор: | Mihail [ Вс ноя 03, 2013 19:13 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
oco писал(а): Версия 0.3. в паре мест у меня получше Код: CODE 2SWAP ( a b c d - c d a b ) LDMIA DSTK!, {R5-R7} \ r5 = c, r6 = b, r7 = a, DSTK += 3*4 movs r0, r7 STMDB DSTK!, {r0,TOS, R5} mov TOS, R6 \ TOS = b NEXT END-CODE CODE 2OVER ( a b c d -- a b c d a b ) ldr TREG, [DSTK, # 8] \ a -> treg STMDB DSTK!, {TREG, TOS} \ d a -> steck ldr TOS, [DSTK, # 12] \ b -> tos NEXT END-CODE TOS лучше выбрать с номером поменьше иногда для LDMIA STMDB хочется прихватить регистры с номером больше TOS. У меня TOS - R1 , но это исторически. Мне следовало выбрать TOS побольше. Оптимизатор лучше делать полностью на уровне машинных кодов. |
Страница 2 из 5 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |