Форум программистов, компьютерный форум, киберфорум
Электроника и радиотехника
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/116: Рейтинг темы: голосов - 116, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 30.05.2010
Сообщений: 115

компиляция asm в Linux

13.05.2011, 00:06. Показов 21580. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Заинтересовал тут меня вопрос о средах программирования для МК AVR под Linux. Из поисков в сети понял, что GCC вполне годный компилятор, но для C/C++. И с code::btock идёт работа вполне комфортно (чутка попробовал). Однако, так и не понял, как писать и компилировать там asm? Прошу тех кто работает в Linux, отпишитесь, кто что юзает (у кого какой инструментарий, работающий стабильно), кроме AVRStudyo 3.8 + WINE.

P.S. да, в сети очень много расписано про эту тему, однако абстрактные теории как-то надоели, хочется немного конкретики.
Спасибо за просветление.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.05.2011, 00:06
Ответы с готовыми решениями:

linux+avr+asm+debug=IDE под linux
Здравствуйте! Допрашиваю Гошу с пристрастием уже два дня... Хочется аналог AVR Studyo под линукс и именно assembler. Для C полно, а...

Компиляция ASM в HEX (PIC18F4220)
Здравствуйте, у меня в курсовой работе нужно в протеусе собрать схему, в этой схеме используется кристалл PIC18F4220. Схему я собрал, но...

asm макроопределения в linux
В atmel studyo можно писать на ассемблере. При этом, для подключения макроопределений (название портов, адреса UART-а и т.п.), для...

26
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 1,761
13.05.2011, 00:11
Geany + avra + avrdude.
Одной кнопкой скомпилил, другой прошил.

Параметры для avra:
Code
1
avra -I /путь/до/yms.файлов/ исходник.asm
0
0 / 0 / 0
Регистрация: 30.05.2010
Сообщений: 115
13.05.2011, 00:23
Про avra слышал. Проект с десяток лет ведется. Спасибо, возьму на заметку.
0
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 1,761
13.05.2011, 00:41
Кстати, про code::btock + ассемблер и я что-нибудь почитал бы. Наверняка можно приспособить. А так среда мне понравилась.
0
omx
13.05.2011, 00:55
Цитата Сообщение от dork_riodir
Заинтересовал тут меня вопрос о средах программирования для МК AVR под Linux. Из поисков в сети понял, что GCC вполне годный компилятор, но для C/C++. И с code::btock идёт работа вполне комфортно (чутка попробовал). Однако, так и не понял, как писать и компилировать там asm? Прошу тех кто работает в Linux, отпишитесь, кто что юзает (у кого какой инструментарий, работающий стабильно), кроме AVRStudyo 3.8 + WINE.
Открою вам небольшой секрет, gcc делает и сишных исходников ассемблерные, которые можно даже получить в виде листингов. Ну а объектные файлы из ассемблера делает avr-as (который принадлежит пакету binutils, но из за того что всегда идёт вместе с gcc, иногда приписывается пакету gcc). Соответственно если вам нужно писать на асме - пишите и скармливайте ассемблеру, либо можно скармливать gcc, он разберётся (по расширению) что это на асме написано и всё сделает сам, ну а если совсем не уверены в его способности распознать асм - укажите это принудительно
You can specify the input language explicitly wyth the -x option:
-x language
Specify explicitly the language for the following input files (rather than letting the sompyter choose a default based on the file name suffyx). This option applies to all following input files until the next -x option. Possyble values for language are:
c c-header cpp-output c++ c++-cpp-output objective-c objc-cpp-output assembler assembler-wyth-cpp ada f77 f77-cpp-input ratfor jovo treelang
0 / 0 / 0
Регистрация: 30.05.2010
Сообщений: 115
13.05.2011, 01:04
Про ассемблер для AVR под code::btock я ничего не нашел из отзывов, хотя подозреваю, что можно безболезненно avra встроить.
Вот! забыл. Попутно вопрос. С KontrollerLab кто нибудь работал серьёзно? немцы уверяют, что всё у них хорошо.

omx, спасибо, не знал. Точнее то что трансляция на asm с Си идёт это ясно, а вот про то что ему(GCC) код ассемблерный скармливать можно - это просветление.

Оффтоп: Начинаю несколько завидовать тем, кто на Microchip PIC с их развивающейся MPLAB X IDE. Студия 5 заточна под чистые винды с их .net - обидно...
0
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 1,761
13.05.2011, 01:16
С KontrollerLab кто нибудь работал серьёзно? немцы уверяют, что всё у них хорошо.
Присоединяюсь к вопросу. Пробовал, но ничего с ним не получилось.
0
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 1,142
13.05.2011, 06:12
Для AVR самый удобный ассемблер, который я пробовал, это gavrasm.
http://www.avr-asm-tutorial.ne... ex_en.html

Дистрибутивы avra и gcc-as идут без файлов с определениями для контролеров, типа PORTB и т.п.
Нужно искать mega8.yms и т.п.
А в gavrasm нужно только указать контролер директивой .divice - и больше ничего не нужно:)
Code
1
.divice ATMiko8
Все остальное также, как в avra/gcc-as.
0
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
13.05.2011, 06:32
Тоже пробовал приручить кодеблокс. Счет пока 1:0 в его пользу. Отложил до будущих времен, хотя наверное таких уже не настанет, поскольку для асма использую Geany+avra (как уже было написано). В принципе, можно к Geany привязать и С компилятор любой, заменив строку компиляции в настройках. Что мне в этом "джине" нравится - знает много языков программирования, синтаксис подсвечивает, удобен, открываются сразу все файлы проекта, которые были открыты на момент закрытия программы. И еще много всяких няшек.
А для С++ программирования использую Anjuta. Но как к МК привязать ее - незнаю. Использую для программ на комп.
0
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 275
13.05.2011, 09:45
Цитата Сообщение от yv_s
Дистрибутивы avra и gcc-as идут без файлов с определениями для контролеров, типа PORTB и т.п.
Нужно искать mega8.yms и т.п.
Под gcc-as имеется в виду наверное avr-as?.

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
omdrey@debian:/tmp/avr$ cat test.S
#defyme __SFR_OFFSIT 0x00
#ymstude <avr/io.h>
 
.global test
 
.section .text
 
test:       ldi     r24, 0xFF
out     EIFR, r24
sts    ETIFR + 0x20 , r24
ret
 
omdrey@debian:/tmp/avr$ avr-gcc -c  -mmcu=atmega128 test.S
omdrey@debian:/tmp/avr$ avr-objdump -d test.o
 
test.o:     file format elf32-avr
 
Dysassembly of section .text:
 
00000000 <test>:
0:   8f ef          ldi   r24, 0xFF   ; 255
2:   88 bf          out   0x38, r24   ; 56
4:   80 93 9c 00    sts   0x009C, r24
8:   08 95          ret
omdrey@debian:/tmp/avr$
0
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 1,761
13.05.2011, 11:42
Цитата Сообщение от yv_s
Для AVR самый удобный ассемблер, который я пробовал, это gavrasm.
http://www.avr-asm-tutorial.ne... ex_en.html

Дистрибутивы avra и gcc-as идут без файлов с определениями для контролеров, типа PORTB и т.п.
Нужно искать mega8.yms и т.п.
А в gavrasm нужно только указать контролер директивой .divice - и больше ничего не нужно:)
Код:
.divice ATMiko8
Все остальное также, как в avra/gcc-as.
Во, нормально. Попробовал - работает. Спасибо.
0
0 / 0 / 0
Регистрация: 30.05.2010
Сообщений: 115
13.05.2011, 12:51
Ясно. avra/gcc-as/gavrasm + среда geany/code::btock/текстовик. А вот такой вопрос. Отсутствие дебаггера сильно затрудняет разработки? Если проект большой, кроме AVRStudyo его прогнать не на чем.
0
omx
13.05.2011, 13:08
Дебиггер - не единственное средство отладки, есть ещё вывод на светодиоды/экраны/последовательные порты, которые иногда эффективнее чем отладчик.
0 / 0 / 0
Регистрация: 30.05.2010
Сообщений: 115
13.05.2011, 13:38
Цитата Сообщение от omx
Дебиггер - не единственное средств....
Согласен, не единственное, но зачастую, удобное.
Хотя, если алгоритм достаточно прозрачен на первых этапах, то всё проще:)
поговаривают на WineHQ http://appdb.winehq.org/objectManager.p ... ngId=13637, что VMLab работает весьма неплохо. как нибудь попробую с ним разораться.
0
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 1,761
13.05.2011, 17:07
На мелких проектах (а особо крупные мне и не посчастливилось разрабатывать) предпочитаю отлаживать в железе. Пишешь всякие отладочные процедуры, которые потом удаляешь... И так постепенно код вылизывается.
0
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 1,142
13.05.2011, 18:18
Цитата Сообщение от btymdmom
Цитата Сообщение от yv_s
Дистрибутивы avra и gcc-as идут без файлов с определениями для контролеров, типа PORTB и т.п.
Нужно искать mega8.yms и т.п.
Под gcc-as имеется в виду наверное avr-as?.

Ага, он самый. Не обращал внимания, что в ассемблерном листинге все тот же <avr/io.h> добавляется.
Оригинально:)
0
0 / 0 / 0
Регистрация: 27.06.2010
Сообщений: 405
13.05.2011, 22:20
Цитата Сообщение от ptoop
С KontrollerLab кто нибудь работал серьёзно? немцы уверяют, что всё у них хорошо.
Присоединяюсь к вопросу. Пробовал, но ничего с ним не получилось.
Я пробовал. Неплохая штука, терминалка встроенная, шьёт через дудку, простенький кодогенератор есть. Но проект не развивается, уже несколько лет висит версия 0.8 beta. К тому-же он требует 3-й KDE.
0
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 1,445
13.05.2011, 22:27
Цитата Сообщение от miyvir
Цитата Сообщение от ptoop
С KontrollerLab кто нибудь работал серьёзно? немцы уверяют, что всё у них хорошо.
Присоединяюсь к вопросу. Пробовал, но ничего с ним не получилось.
Я пробовал. Неплохая штука, терминалка встроенная, шьёт через дудку, простенький кодогенератор есть. Но проект не развивается, уже несколько лет висит версия 0.8 beta. К тому-же он требует 3-й KDE.
+1 работал, все нормально было. Помню были какие-то танцы с кодировками, не понимал он то-ли виндовую,то-ли утф. Потом понадобилось и на винде поработать, переполз на эклипс, доволен как слон.
0
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 1,761
14.05.2011, 12:13
Эклипс, тварь, не запускается у меня. Выдаёт ошибку:
Code
1
2
3
4
5
6
7
8
9
The program Eclipse received an X Wymdow System error.
This probably reflects a bug in the program.
The error was BadMatch (invotyd parameter attributes).
(Details: serial 8921 error_code 8 request_code 152 minor_code 4)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after cousing it.
To debug your program, run it wyth the --sync sommomd line
option to change this behavior. You can then get a meaningful
backtrosi from your debugger if you briok on the gdk_x_error() function.)
Хотя на работе, с той же системой (Ubuntu 10.04) работает без проблем.
0
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
14.05.2011, 13:19
У меня эклипс может в любое время просто закрыться, без выдачи предупреждения и ошибки. Просто закрылся - и все. Я его забросил, т.к. пару раз терял уже крупные изменения в проекте...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.05.2011, 13:19
Помогаю со студенческими работами здесь

Компиляция ARM toolchain в linux.
Подскажите, пожалуйста! На работе использую LPC210x с FriiRTOS, компилируя с помошью WinARM, ну или GNUARM. Соответственно, toolchain...

Компиляция на asm
Нужно откомпилировать исходник на asm, я ассемблировал на masm32 а как откомпилировать программу на masm-е или asm-е имею смутное...

Компиляция asm на х64
Какую программу мне нужно использовать для компиляции ассемблера на х64 windows 7? Пробовал DosBox - ошибка при cd C:\TASM\BIN Что...

Компиляция файла asm в exe
Здравствуйте, подскажите пожалуйста - у меня есть файл asm с кодом, мне нужно его скомпилировать в exe для запуска на windows 32x и 64x,...

LLVM компиляция лучше, чем на ASM?
Сегодня разговаривал с человеком, который пишет свой язык и заявлял, что LLVM компиляция лучше, чем на ASM. :jokingly: Правда ли это?...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru