LWW 0 29 ноября, 2010 Опубликовано 29 ноября, 2010 · Жалоба Пожалуйста, помогите создать новый пустой проект на ассемблере для камешка STM32. В среде Keil. Два дня потратил в поисках рабочего примера.. Вроде, пустой проект создаётся. Это я и сам смог сделать. Ну как обычно, в начале идёт таблица прерываний. Дальше код. Хорошо, это всё компилируется, разобрался. Но не могу подключить файлик stm32f10x.h вот в чём дело.. Пишу #include "stm32f10x.h" - ошибка ... А без него-то никак! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
toweroff 1 29 ноября, 2010 Опубликовано 29 ноября, 2010 · Жалоба Пожалуйста, помогите создать новый пустой проект на ассемблере для камешка STM32. В среде Keil. Два дня потратил в поисках рабочего примера.. Вроде, пустой проект создаётся. Это я и сам смог сделать. Ну как обычно, в начале идёт таблица прерываний. Дальше код. Хорошо, это всё компилируется, разобрался. Но не могу подключить файлик stm32f10x.h вот в чём дело.. Пишу #include "stm32f10x.h" - ошибка ... А без него-то никак! а как вообще подключить сишный хидер к асмовому проекту? :07: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LWW 0 29 ноября, 2010 Опубликовано 29 ноября, 2010 · Жалоба Упс.. А что, бывают разные хидеры? Я в IAR подключаю хидер для NEC 8-битника #include "io78f9212.h" и всё работает. Правда в keil никогда до этого не пробовал. Но маленький проектик на C - создаётся, компилируется. А надо на ассемблере.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
toweroff 1 29 ноября, 2010 Опубликовано 29 ноября, 2010 · Жалоба Упс.. А что, бывают разные хидеры? Я в IAR подключаю хидер для NEC 8-битника #include "io78f9212.h" и всё работает. Правда в keil никогда до этого не пробовал. Но маленький проектик на C - создаётся, компилируется. А надо на ассемблере.. чисто на асме не делал, но синтаксис-то языков, уж простите, разный :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LWW 0 29 ноября, 2010 Опубликовано 29 ноября, 2010 (изменено) · Жалоба Мдааа... Перекопал я всё, перекопал, и понял. Заголовочгый файл для АСМа придётся сделать ручками, из сишного варианта. Напрямую прикрутить его к АСМ-проекту нельзя. В принципе это не очень сложно, просто назначить мнемоники и соотв. им цифры. Хотя странно. В том же IAR, для асемблера под 8bit NEC я использую заголовочный файл на Си. И всё работает. До какой же степени всё запущено... АСМ вообще практически не поддерживается в среде АРМ-процессоров. Ни хороших примеров, ни заголовочного файла тебе.. Удивительно :laughing: Ведь именно АРМ, а в особенности новый Cortex - рай для ассемблерщика! Какой роскошный набор команд! Да при таких частотах, с такой периферией, из ушей лезет.... Изменено 29 ноября, 2010 пользователем LWW Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
firstvald 24 29 ноября, 2010 Опубликовано 29 ноября, 2010 · Жалоба - рай для ассемблерщика! Какой роскошный набор команд! Да при таких частотах, с такой периферией, из ушей лезет.... Это чистое искусство, а как до прозы доходит - написать прогу хотябы простейшую, чтобы пару плавающих чисел умножала, так рай заканчивается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LWW 0 30 ноября, 2010 Опубликовано 30 ноября, 2010 · Жалоба ой.. да ладно.. :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 30 ноября, 2010 Опубликовано 30 ноября, 2010 · Жалоба Я в IAR подключаю хидер для NEC 8-битника #include "io78f9212.h" и всё работает. Это хитрая фича IAR'овского ассемблера, что он понимает синтаксис Си-файлов. Все остальные ассемблеры, которые я видел, слово "#define", например, не воспринимают. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vallav 0 9 декабря, 2010 Опубликовано 9 декабря, 2010 · Жалоба Ведь именно АРМ, а в особенности новый Cortex - рай для ассемблерщика! Какой роскошный набор команд! Да при таких частотах, с такой периферией, из ушей лезет.... Да где же Вы рай то нашли? Машинный код в ARM заточен под C в ущерб эффективности на ASM. Именно поэтому код на C практически не проигрывает коду на ASM. Кстати, писать чистую ASM прогу неудобно. Намного удобнее писать на C а отдельные критические куски в виде функций на ASM. В которых можно использовать Сишные переменные и константы. Тут самое сложное - разобраться, как производится передача параметров в Смшную функцию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LWW 0 9 декабря, 2010 Опубликовано 9 декабря, 2010 · Жалоба Благодаря такому вот взгляду на возможности ассемблера и потенциал 32-битной архитектуры и производятся сейчас глючные тормознутые телефоны с процессорами на 600мГц. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ASN 0 9 декабря, 2010 Опубликовано 9 декабря, 2010 · Жалоба LWW Именно, благодаря такому вот взгляду на возможности ассемблера мы имеет такое многообразие телефонов (смартфонов, ebook'ов и прочих гаджетов) за очень небольшие деньги. Использование ассемблера для ARM имеет смысл только в очень узком круге задач, где экономия в 3-4 команды в функции, даст выигрыш 5-10 % общей производительности. Кстати, имеет смысл почитать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vallav 0 9 декабря, 2010 Опубликовано 9 декабря, 2010 · Жалоба LWW Именно, благодаря такому вот взгляду на возможности ассемблера мы имеет такое многообразие телефонов (смартфонов, ebook'ов и прочих гаджетов) за очень небольшие деньги. Использование ассемблера для ARM имеет смысл только в очень узком круге задач, где экономия в 3-4 команды в функции, даст выигрыш 5-10 % общей производительности. Кстати, имеет смысл почитать. Есть штуки, которые на C просто не изобразить. Например запись в кольцевой буфер из регистров r0-r12 значения из внешнего порта. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LWW 0 9 декабря, 2010 Опубликовано 9 декабря, 2010 (изменено) · Жалоба Ну правильно, разнообразие, многообразие.. Понастряпали всякой недоделанной техники, которая продаётся только для того, что бы сразу захотелось взять другое.. Хотя тут спорить не буду. Осей не писал и не могу знать, можно ли написать тот же линукс на ассемблере, когда камни так часто меняются. Хехех.. В работе на младшеньких ARM линукса не видел, но уже представил, какой он тормозячий... Если даже на пнях помню как-то, поставил линукс, так думал что при этой жизни вообще не дождусь результатов его деятельности.. Нужно не камни менять, а программы грамотно писать. Тогда и код переписывать, раз в 25 лет придётся, не чаще. Изменено 9 декабря, 2010 пользователем LWW Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
toweroff 1 9 декабря, 2010 Опубликовано 9 декабря, 2010 · Жалоба :bb-offtopic: Чойта я сразу вспомнил старый добрый ZX-Spectrum :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LWW 0 9 декабря, 2010 Опубликовано 9 декабря, 2010 · Жалоба Да-да... И я его хорошо помню. Особенно блок питания 5В 1А, который заменял калорифер с небольшом помещении. Но времена-то меняются. А для Z80 я писал на ассемблере такие вещи, что знатоки поражались. Правда до ума их так и не доводил, маленький был.. B) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться