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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> ATtiny15 и WinAVR
MaxiMuz
сообщение Jun 25 2011, 17:32
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 15-04-10
Из: Волгоград
Пользователь №: 56 658



Пытался откомпилировать в WinAVR-20080610 простейшую программку под tiny15 вот что мне пишет компилятор:
Цитата
Compiling: LED_light1.c
avr-gcc -c -mmcu=attiny15 -I. -g -O0 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=LED_light1.lst -std=c99 -Wp,-M,-MP,-MT,LED_light1.o,-MF,.dep/LED_light1.o.d LED_light1.c -o LED_light1.o
LED_light1.c:1: error: MCU 'attiny15' supported for assembler only
make.exe: *** [LED_light1.o] Error 1

> Process Exit Code: 2
> Time Taken: 00:00

Хотя в списке контроллеров в MFile он есть!
Действительно компилятор не поддерживает эту мелочь или есть способы это обойти ?
Go to the top of the page
 
+Quote Post
domowoj
сообщение Jun 25 2011, 17:36
Сообщение #2


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

Группа: Участник
Сообщений: 1 548
Регистрация: 20-12-07
Из: г.Новосибирск
Пользователь №: 33 486



Дело в том, что у тини 15 нет ОЗУ,
может поэтому.


--------------------
И на камнях растут деревья!
Go to the top of the page
 
+Quote Post
MaxiMuz
сообщение Jun 25 2011, 18:08
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 15-04-10
Из: Волгоград
Пользователь №: 56 658



Цитата(domowoj @ Jun 25 2011, 20:36) *
Дело в том, что у тини 15 нет ОЗУ,
может поэтому.

Скорее всего из-за этого. А что делать ?
пс Кстати , когда написал первую простенькую прогу для тини15 и сборочном файле забыл поменять ATtiny2313 on ATtiny15 , прога заработала в несвоем железе sm.gif

Сообщение отредактировал MaxiMuz - Jun 25 2011, 18:19
Go to the top of the page
 
+Quote Post
domowoj
сообщение Jun 25 2011, 18:10
Сообщение #4


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

Группа: Участник
Сообщений: 1 548
Регистрация: 20-12-07
Из: г.Новосибирск
Пользователь №: 33 486



Ассемблер еще никто не отменял.


--------------------
И на камнях растут деревья!
Go to the top of the page
 
+Quote Post
-SANYCH-
сообщение Jun 26 2011, 13:01
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 289
Регистрация: 6-12-05
Пользователь №: 11 864



У ATtiny15 нет ОЗУ поэтому выход один, писать программу на ассемблере. Кстати это контроллер уже устаревший и сам производитель не рекомендует его вообще использовать для новых разработок.
Если хочется писать на С то можно взять ATtiny13 у него уже есть ОЗУ, да и по цене походу он дешевле.
Go to the top of the page
 
+Quote Post
arttab
сообщение Jun 27 2011, 01:10
Сообщение #6


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

Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371



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


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post
MaxiMuz
сообщение Jun 27 2011, 15:57
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 15-04-10
Из: Волгоград
Пользователь №: 56 658



Цитата(arttab @ Jun 27 2011, 04:10) *
и стек у него аппаратный и маленький. что нибудь по современный выберите
Другого МК нету поэтому пытаюсь Си освоить на этом
Go to the top of the page
 
+Quote Post
ARV
сообщение Jun 29 2011, 04:31
Сообщение #8


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

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



для attiny15 можно писать на Си (avr-gcc) программы, однако, это практически неотличимо от извращения. назвать это освоением Си - солгать. учиться самому программированию на Си лучше на чем-то "просторном", и только по мере приближения к просветленному состоянию браться за безозушные и безстековые МК...

P.S. в документации avr-libc, идущей в комплекте WinAVR, имеется упоминание о процессе работы с attiny15 и есть ссылочка... но... см. выше.


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
MaxiMuz
сообщение Jun 29 2011, 06:59
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 15-04-10
Из: Волгоград
Пользователь №: 56 658



Всем спасибо!
купил более просторный ATtiny45, буду на нем тренироваться sm.gif
Тему можно закрывать
Go to the top of the page
 
+Quote Post
alexeyv
сообщение Jun 30 2011, 06:15
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 298
Регистрация: 26-01-09
Из: Пермь
Пользователь №: 43 940



В догонку к теме:
Можно также попытаться использовать регистровые переменные:
Код
volatile register unsigned char rx asm("r18");

Go to the top of the page
 
+Quote Post
smk
сообщение Jul 1 2011, 16:08
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Хоть тему и можно закрывать, но встанет вопрос куда девать tiny15. Я вот именно из-за желания куда-либо пристроить МК извратился с CVAVR прикрутив к нему хидер с описанием регистров тиньки и их адресами. Если подключить этот хидер и компилировать как для tiny13 то все работает. Вот зарядное для LI-Ion и NiMh аккумуляторов будет.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 2 2011, 02:23
Сообщение #12


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(smk @ Jul 1 2011, 19:08) *
Хоть тему и можно закрывать, но встанет вопрос куда девать tiny15.

Выучить asm (вопрос одного-двух дней), или выкинуть.
На C писать под такие крохи как t13 и t15, - это даже не "изврат", - это __гониво__.
t13 может гораздо больше чем просто мигать светодиодом, там аж 512 слов ПП. На поддержку COM порта тратится меньше сотни.
Go to the top of the page
 
+Quote Post
domowoj
сообщение Jul 2 2011, 02:48
Сообщение #13


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

Группа: Участник
Сообщений: 1 548
Регистрация: 20-12-07
Из: г.Новосибирск
Пользователь №: 33 486



Мне лично тини15 больше нравится, чем 13_я,
а вы выкинуть!!!

(А ассемблер конечно нужно знать.)


--------------------
И на камнях растут деревья!
Go to the top of the page
 
+Quote Post
MaxiMuz
сообщение Jul 2 2011, 05:42
Сообщение #14


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 15-04-10
Из: Волгоград
Пользователь №: 56 658



Цитата(alexeyv @ Jun 30 2011, 09:15) *
В догонку к теме:
Можно также попытаться использовать регистровые переменные:
Код
volatile register unsigned char rx asm("r18");

Там уже просто глав.цикл int main(void) {} без команд , без заголовочных файлов - вызывает ошибку. Если только зам блок main определить как не содержащий обращение к ОЗУ ?
Go to the top of the page
 
+Quote Post
alexeyv
сообщение Jul 4 2011, 03:50
Сообщение #15


Местный
***

Группа: Участник
Сообщений: 298
Регистрация: 26-01-09
Из: Пермь
Пользователь №: 43 940



Цитата
Там уже просто глав.цикл int main(void) {} без команд , без заголовочных файлов - вызывает ошибку.


Попробуйте так:
Код
void main (void) __attribute__ ((naked));
void main (void)
{
  sei();  
  for(;;)
   {
   }
}
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 June 2025 - 09:17
Рейтинг@Mail.ru


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