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

Пожалуйста, помогите создать новый пустой проект на ассемблере для камешка STM32. В среде Keil.

 

Два дня потратил в поисках рабочего примера.. Вроде, пустой проект создаётся. Это я и сам смог сделать. Ну как обычно, в начале идёт таблица прерываний. Дальше код. Хорошо, это всё компилируется, разобрался. Но не могу подключить файлик stm32f10x.h вот в чём дело..

 

Пишу #include "stm32f10x.h" - ошибка ...

 

А без него-то никак!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пожалуйста, помогите создать новый пустой проект на ассемблере для камешка STM32. В среде Keil.

 

Два дня потратил в поисках рабочего примера.. Вроде, пустой проект создаётся. Это я и сам смог сделать. Ну как обычно, в начале идёт таблица прерываний. Дальше код. Хорошо, это всё компилируется, разобрался. Но не могу подключить файлик stm32f10x.h вот в чём дело..

 

Пишу #include "stm32f10x.h" - ошибка ...

 

А без него-то никак!

а как вообще подключить сишный хидер к асмовому проекту? :07:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Упс.. А что, бывают разные хидеры?

 

Я в IAR подключаю хидер для NEC 8-битника

#include "io78f9212.h"

 

и всё работает. Правда в keil никогда до этого не пробовал. Но маленький проектик на C - создаётся, компилируется. А надо на ассемблере..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Упс.. А что, бывают разные хидеры?

 

Я в IAR подключаю хидер для NEC 8-битника

#include "io78f9212.h"

 

и всё работает. Правда в keil никогда до этого не пробовал. Но маленький проектик на C - создаётся, компилируется. А надо на ассемблере..

чисто на асме не делал, но синтаксис-то языков, уж простите, разный :laughing:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мдааа... Перекопал я всё, перекопал, и понял. Заголовочгый файл для АСМа придётся сделать ручками, из сишного варианта. Напрямую прикрутить его к АСМ-проекту нельзя. В принципе это не очень сложно, просто назначить мнемоники и соотв. им цифры.

 

Хотя странно. В том же IAR, для асемблера под 8bit NEC я использую заголовочный файл на Си. И всё работает.

 

До какой же степени всё запущено... АСМ вообще практически не поддерживается в среде АРМ-процессоров. Ни хороших примеров, ни заголовочного файла тебе..

 

Удивительно :laughing:

 

Ведь именно АРМ, а в особенности новый Cortex - рай для ассемблерщика! Какой роскошный набор команд! Да при таких частотах, с такой периферией, из ушей лезет....

Изменено пользователем LWW

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

- рай для ассемблерщика! Какой роскошный набор команд! Да при таких частотах, с такой периферией, из ушей лезет....

 

Это чистое искусство, а как до прозы доходит - написать прогу хотябы простейшую, чтобы пару плавающих чисел умножала, так рай заканчивается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я в IAR подключаю хидер для NEC 8-битника

#include "io78f9212.h"

и всё работает.

Это хитрая фича IAR'овского ассемблера, что он понимает синтаксис Си-файлов.

Все остальные ассемблеры, которые я видел, слово "#define", например, не воспринимают.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ведь именно АРМ, а в особенности новый Cortex - рай для ассемблерщика! Какой роскошный набор команд! Да при таких частотах, с такой периферией, из ушей лезет....

 

Да где же Вы рай то нашли?

Машинный код в ARM заточен под C в ущерб эффективности на ASM.

Именно поэтому код на C практически не проигрывает коду на ASM.

 

Кстати, писать чистую ASM прогу неудобно.

Намного удобнее писать на C а отдельные критические куски в виде функций

на ASM. В которых можно использовать Сишные переменные и константы.

Тут самое сложное - разобраться, как производится передача параметров в Смшную функцию.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Благодаря такому вот взгляду на возможности ассемблера и потенциал 32-битной архитектуры и производятся сейчас глючные тормознутые телефоны с процессорами на 600мГц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

LWW

Именно, благодаря такому вот взгляду на возможности ассемблера мы имеет такое многообразие телефонов (смартфонов, ebook'ов и прочих гаджетов) за очень небольшие деньги.

Использование ассемблера для ARM имеет смысл только в очень узком круге задач, где экономия в 3-4 команды в функции, даст выигрыш 5-10 % общей производительности.

Кстати, имеет смысл почитать.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

LWW

Именно, благодаря такому вот взгляду на возможности ассемблера мы имеет такое многообразие телефонов (смартфонов, ebook'ов и прочих гаджетов) за очень небольшие деньги.

Использование ассемблера для ARM имеет смысл только в очень узком круге задач, где экономия в 3-4 команды в функции, даст выигрыш 5-10 % общей производительности.

Кстати, имеет смысл почитать.

 

Есть штуки, которые на C просто не изобразить.

Например запись в кольцевой буфер из регистров r0-r12 значения из внешнего порта.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну правильно, разнообразие, многообразие.. Понастряпали всякой недоделанной техники, которая продаётся только для того, что бы сразу захотелось взять другое..

 

Хотя тут спорить не буду. Осей не писал и не могу знать, можно ли написать тот же линукс на ассемблере, когда камни так часто меняются.

 

Хехех.. В работе на младшеньких ARM линукса не видел, но уже представил, какой он тормозячий... Если даже на пнях помню как-то, поставил линукс, так думал что при этой жизни вообще не дождусь результатов его деятельности..

 

Нужно не камни менять, а программы грамотно писать. Тогда и код переписывать, раз в 25 лет придётся, не чаще.

Изменено пользователем LWW

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да-да... И я его хорошо помню. Особенно блок питания 5В 1А, который заменял калорифер с небольшом помещении.

 

Но времена-то меняются. А для Z80 я писал на ассемблере такие вещи, что знатоки поражались. Правда до ума их так и не доводил, маленький был.. B)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...