реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Keil + ассемблер, Новый пустой проект для ассемблера
LWW
сообщение Nov 29 2010, 18:45
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 177
Регистрация: 24-03-07
Пользователь №: 26 471



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

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

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

А без него-то никак!
Go to the top of the page
 
+Quote Post
toweroff
сообщение Nov 29 2010, 18:59
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(LWW @ Nov 29 2010, 21:45) *
Пожалуйста, помогите создать новый пустой проект на ассемблере для камешка STM32. В среде Keil.

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

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

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

а как вообще подключить сишный хидер к асмовому проекту? 07.gif
Go to the top of the page
 
+Quote Post
LWW
сообщение Nov 29 2010, 19:38
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 177
Регистрация: 24-03-07
Пользователь №: 26 471



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

Я в IAR подключаю хидер для NEC 8-битника
#include "io78f9212.h"

и всё работает. Правда в keil никогда до этого не пробовал. Но маленький проектик на C - создаётся, компилируется. А надо на ассемблере..
Go to the top of the page
 
+Quote Post
toweroff
сообщение Nov 29 2010, 21:20
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(LWW @ Nov 29 2010, 22:38) *
Упс.. А что, бывают разные хидеры?

Я в IAR подключаю хидер для NEC 8-битника
#include "io78f9212.h"

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

чисто на асме не делал, но синтаксис-то языков, уж простите, разный laughing.gif
Go to the top of the page
 
+Quote Post
LWW
сообщение Nov 29 2010, 22:30
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 177
Регистрация: 24-03-07
Пользователь №: 26 471



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

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

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

Удивительно laughing.gif

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

Сообщение отредактировал LWW - Nov 29 2010, 22:30
Go to the top of the page
 
+Quote Post
firstvald
сообщение Nov 29 2010, 22:41
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 580
Регистрация: 3-06-08
Пользователь №: 38 041



Цитата(LWW @ Nov 30 2010, 01:30) *
- рай для ассемблерщика! Какой роскошный набор команд! Да при таких частотах, с такой периферией, из ушей лезет....


Это чистое искусство, а как до прозы доходит - написать прогу хотябы простейшую, чтобы пару плавающих чисел умножала, так рай заканчивается.
Go to the top of the page
 
+Quote Post
LWW
сообщение Nov 30 2010, 00:02
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 177
Регистрация: 24-03-07
Пользователь №: 26 471



ой.. да ладно.. rolleyes.gif
Go to the top of the page
 
+Quote Post
esaulenka
сообщение Nov 30 2010, 15:38
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Цитата(LWW @ Nov 29 2010, 22:38) *
Я в IAR подключаю хидер для NEC 8-битника
#include "io78f9212.h"
и всё работает.

Это хитрая фича IAR'овского ассемблера, что он понимает синтаксис Си-файлов.
Все остальные ассемблеры, которые я видел, слово "#define", например, не воспринимают.


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
vallav
сообщение Dec 9 2010, 17:06
Сообщение #9


Частый гость
**

Группа: Участник
Сообщений: 197
Регистрация: 8-04-05
Пользователь №: 3 977



Цитата(LWW @ Nov 30 2010, 01:30) *
Ведь именно АРМ, а в особенности новый Cortex - рай для ассемблерщика! Какой роскошный набор команд! Да при таких частотах, с такой периферией, из ушей лезет....


Да где же Вы рай то нашли?
Машинный код в ARM заточен под C в ущерб эффективности на ASM.
Именно поэтому код на C практически не проигрывает коду на ASM.

Кстати, писать чистую ASM прогу неудобно.
Намного удобнее писать на C а отдельные критические куски в виде функций
на ASM. В которых можно использовать Сишные переменные и константы.
Тут самое сложное - разобраться, как производится передача параметров в Смшную функцию.
Go to the top of the page
 
+Quote Post
LWW
сообщение Dec 9 2010, 17:13
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 177
Регистрация: 24-03-07
Пользователь №: 26 471



Благодаря такому вот взгляду на возможности ассемблера и потенциал 32-битной архитектуры и производятся сейчас глючные тормознутые телефоны с процессорами на 600мГц.
Go to the top of the page
 
+Quote Post
ASN
сообщение Dec 9 2010, 18:23
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 459
Регистрация: 15-07-04
Из: g.Penza
Пользователь №: 326



LWW
Именно, благодаря такому вот взгляду на возможности ассемблера мы имеет такое многообразие телефонов (смартфонов, ebook'ов и прочих гаджетов) за очень небольшие деньги.
Использование ассемблера для ARM имеет смысл только в очень узком круге задач, где экономия в 3-4 команды в функции, даст выигрыш 5-10 % общей производительности.
Кстати, имеет смысл почитать.
Go to the top of the page
 
+Quote Post
vallav
сообщение Dec 9 2010, 18:34
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 197
Регистрация: 8-04-05
Пользователь №: 3 977



Цитата(ASN @ Dec 9 2010, 21:23) *
LWW
Именно, благодаря такому вот взгляду на возможности ассемблера мы имеет такое многообразие телефонов (смартфонов, ebook'ов и прочих гаджетов) за очень небольшие деньги.
Использование ассемблера для ARM имеет смысл только в очень узком круге задач, где экономия в 3-4 команды в функции, даст выигрыш 5-10 % общей производительности.
Кстати, имеет смысл почитать.


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

Go to the top of the page
 
+Quote Post
LWW
сообщение Dec 9 2010, 20:55
Сообщение #13


Частый гость
**

Группа: Участник
Сообщений: 177
Регистрация: 24-03-07
Пользователь №: 26 471



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

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

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

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

Сообщение отредактировал LWW - Dec 9 2010, 20:55
Go to the top of the page
 
+Quote Post
toweroff
сообщение Dec 9 2010, 21:07
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



bb-offtopic.gif Чойта я сразу вспомнил старый добрый ZX-Spectrum sm.gif
Go to the top of the page
 
+Quote Post
LWW
сообщение Dec 9 2010, 21:14
Сообщение #15


Частый гость
**

Группа: Участник
Сообщений: 177
Регистрация: 24-03-07
Пользователь №: 26 471



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

Но времена-то меняются. А для Z80 я писал на ассемблере такие вещи, что знатоки поражались. Правда до ума их так и не доводил, маленький был.. cool.gif
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 05:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.01535 секунд с 7
ELECTRONIX ©2004-2016