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

 
 
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
MaxiMuz
сообщение Jul 4 2011, 07:01
Сообщение #16


Местный
***

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



Цитата(alexeyv @ Jul 4 2011, 06:50) *
Попробуйте так:
Код
void main (void) __attribute__ ((naked));
void main (void)
{
  sei();  
  for(;;)
   {
   }
}

Попробывал , выдает ошибку : test.c:16: warning: return type of 'main' is not 'int'
похоже гл.функция может иметь только int атрибут

а что значит определение ((naked)) ?
Go to the top of the page
 
+Quote Post
smk
сообщение Jul 4 2011, 07:32
Сообщение #17


Гуру
******

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



Функцию main объявите как int main(void)

Перед последней скбкой впишите return 0;


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


кекс
******

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



Цитата(domowoj @ Jul 2 2011, 05:48) *
а вы выкинуть!!!

Выкинуть - если не знать и не хотеть учить asm. )
А так вообще что 15-я, что 13-я для своих задач отличные чипы. 13-я мне предпочтительней тактовым генератором на 9.6Mhz (кратно 9600 UART'а).
Go to the top of the page
 
+Quote Post
AlexG_changed
сообщение Jul 14 2011, 08:09
Сообщение #19


Участник
*

Группа: Validating
Сообщений: 64
Регистрация: 16-06-05
Пользователь №: 6 073



Программирование Tiny15 с помощью GCC описано здесь: http://www.lightner.net/avr/ATtinyAvrGcc.html,
http://ned.bike-nomad.com:8080/Ned/54

Заголовочные файлы со второй ссылки:Прикрепленный файл  headers.zip ( 5.06 килобайт ) Кол-во скачиваний: 130


PS: У Imagecraft был довольно приличный компилятор Си для ATtiny без ОЗУ
Go to the top of the page
 
+Quote Post
alexeyv
сообщение Jul 14 2011, 11:19
Сообщение #20


Местный
***

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



Цитата
а что значит определение ((naked)) ?


Насколько я помню, эта директива компилятора убирает эпилог/пролог функции, считая что из ф-ции нет возврата
Go to the top of the page
 
+Quote Post
dde29
сообщение Aug 14 2011, 04:43
Сообщение #21


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 12-08-08
Из: Томск
Пользователь №: 39 559



Сталкивался с такой проблемой. Микроконтроллер ATtiny25 по пинам совместим с ATtiny15. При этом у 25-ки имеется ОЗУ...
Go to the top of the page
 
+Quote Post
ARV
сообщение Aug 14 2011, 16:52
Сообщение #22


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

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



Цитата(defunct @ Jul 2 2011, 06:23) *
На C писать под такие крохи как t13 и t15, - это даже не "изврат", - это __гониво__.
t13 может гораздо больше чем просто мигать светодиодом, там аж 512 слов ПП. На поддержку COM порта тратится меньше сотни.
согласен, что тини13 может гораздо больше, чем просто мигать светодиодом. но не согласен на счет писания на Си - имею очень положительный опыт написания нескольких проектов именно на Си - и очень доволен. если надо выжать максимум - само собой асм, но в среднем и Си отлично подходит.


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
zmey71
сообщение Mar 18 2012, 08:56
Сообщение #23





Группа: Новичок
Сообщений: 2
Регистрация: 18-03-12
Из: Минск
Пользователь №: 70 863



Доброго времени суток!Кто из форумчан может предложить в SMD корпусе Тини15?теперь её купить не реально,снята с производства,есть Тини25,но на неё нужно прогу переделывать,а мне это не по силе,приборчик стоит мёртвым грузом,ни как закончить не могу из за Тини15.Или кто сможет переделать прошивку,исходник для Тини15 есть.Спасибо.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 24th August 2025 - 06:28
Рейтинг@Mail.ru


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