Котуинко

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

[uquote="BOB51",url="/forum/viewtopic.php?p=3940396#p3940396"]Одначе и при том - там всего-то установить режимы таймера и запуск отсчета при остальных функциях на основе аппаратной составляющей - и 66 байт (33 команды)?...
Это явно перебор...[/uquote]
слова много, перебор - непрофессионально :shock:
тини10 живая не нужна - создаем проект в древней аврстудии 4.19, быстренько пишем тот же функционал:
Спойлер

Код: Выделить всё

.device ATtiny10
.include "tn10def.inc"
;           +====+
;  PWMA/PB0 |*   | PB3 (RESET)
;       GND |    | Vcc
;  PWMB/PB1 |    | PB2 (CLKO)
;           +====+

.DSEG

AL:  	.BYTE 1
BL:  	.BYTE 1
flags:	.BYTE 1

.CSEG
.org 0
;Interrupt vector table
	rjmp reset			; All Resets	
	reti				; External Interrupt R.equuest 0
	reti				; Pin Change Interrupt R.equuest 0
	reti				; Timer/Counter0 Input Capture
	reti			 	; Timer/Counter0 Overflow
	reti				; Timer/Counter0 Compare Match A
	reti				; Timer/Counter0 Compare Match B
	reti				; Analog Comparator
	reti				; Watchdog Time-out
	reti				; VCC Voltage Level Monitor
	reti				; ADC Conversion Complete

reset:
; Set Stack Pointer (SP)
	ldi r16, 0x00
	out SPH, r16
	ldi r16, 0x5F
	out SPL, r16
; Set clock to 4MHz
	ldi	r16, 0xD8		; Unprotect CLKPSR reg
	out	CCP, r16
	ldi	r16, 1			; Divide by 2
	out	CLKPSR, r16
; Calibrate Oscillator
	ldi r16, 0xA3		; ATTiny10 Value
	out OSCCAL, r16
; Setup I/O Port
	ldi r16, 0x02		; PB1 are outputs
	out DDRB, r16
;  TCCR0A = 1<<COM0A0 | 0<<WGM00;  // Toggle OC0A, CTC mode
    ldi   r20, 0x40   
    out   0x2e, r20   
;  TCCR0B = 1<<WGM02 | 3<<CS00;    // CTC mode; use OCR0A; /64
    ldi   r20, 0x0B   
    out   0x2d, r20   
;  OCR0A = 15624;                  // 1 second; ie 0.5Hz
    ldi   r20, 0x08   
    ldi   r21, 0x3D   
    out   0x27, r21   
    out   0x26, r20   
loop:
    rjmp   loop

Код: Выделить всё

---------------------------------------------------------------
ATtiny10 memory use summary [bytes]:
Segment   Begin    End      Code   Data   Used    Size   Use%
---------------------------------------------------------------
[.cseg] 0x000000 0x000040     64      0     64    1024   6.3%
[.dseg] 0x000040 0x000060      0      3      3      32   9.4%
[.eseg] 0x000000 0x000000      0      0      0       0      -
Assembly complete, 0 errors. 0 warnings
уже разница 2 байта - это много или перебор :)))
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15816
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Вопрос в том, что при отсутствии перспектив проработка техдокументации для аттини10 не выполнялась - а без таковой я только предполагать могу (или "на скору руку" чего нашкрябать по беглому взгляду на даташит, рискуя ошибок наделать).
8)
Зачем собственно в программе из Вашего последнего примера :
1. Запись ВСЕХ векторов прерываний вместо необходимого только по RESET? (ни единое прерывание по умолчанию НЕ ИСПОЛЬЗУЕТСЯ);
2. Установка значения регистра указателя стека (спорно ибо в большинстве АВР выполняется автоматически при подаче питания - надо вчитываться в даташит и ерраты);
3. переустановка штатной частоты системного генератора (в большинстве АВР базовая частота устанавливается по умолчанию автоматически);
4 соответственно и загрузка нового значения калибровки.
Ведь даже для тиньки 13й вполне реально получение удобоваримого значения опорной сетки частот на 8-разрядном таймере с предделителем... А тут 16 разрядный таймер...
???
:shock:

Воть и излишние байты явно проявились.
Это для дополнительного садомазохизьму что-ли?
:wink:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

Наш диалог напоминает из известного фильма поиск в магазине коня - "а нет ли такого, но без крыльев", а конь вообще снимался еще в других фильмах (с крыльями).
а смысл выжимать лишние байты - редко возникает задача где есть борьба за последний байт
http://we.easyelectronics.ru/Asticon/is ... bayta.html
ну даже 30 байт мы сэкономим упираясь и потея на ассемблере, ведь задачи для тини10 обычно совсем крохотные (фонарики, моргалки, моторчики) и если их могут решать ардуинщики в ихней среде - кусок хлеба у ассемблерщиков уже отобран (кыш на пенсион). Об этом была речь. Ардуинщик, если упрется - может и тини25/45/85 взять и в дамки :)
Друг Кота
Аватара пользователя
Сообщения: 15816
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

И это говорит МАТЕРЫЙ КОТ...
:facepalm:
ПЕЧАЛЬКА.
8)
Я наоборот указываю на то, что ресурс ассемблера если и исчерпан (недостаточно времени/средств для СТАРОГО КОТА), то исключительно или в отношении ARM(система-на-кристалле) или в отношении абсолютно новых семейств, что могут в перспективе появиться.
Да и направление "смешанных проектов" с применением самодельных СБИС практически никем не занято.
:wink:
Ардуинщики тоже с разным подходом имеются - различаем "школярство" и профи-разработку.
Тут надо попытаться нечто среднее поднять - как минимум "продвинутый пользователь" с навыками самостоятельного написания программ "с нуля" при использовании минимума из средств "штатного референса".
Столь жесткие рамки обусловлены наличием в платформах IDE не только АВР МК, но и иных семейств.
Да кому-то все-таки придется и в "потроха" самой IDE залезть, чтоб на надлежащем уровне противостоять "школярству".
8)
ЭЭххх... последний КОТ (oleg110592) школярам от адуринки сдался!
:tea:
:wink:

Пы.Сы.
У мня такое видение перспектив было лет с 10-15 тому назад.
Благополучно прошло по мере "перехода на иной уровень" - с которым и адуринья благополучно вписалась (минуя промежуточный Си). Правда таки приходится "пропущенный материал" по мере возникновения вопросов поднимать/перелопачивать.
:beer:
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

[uquote="BOB51",url="/forum/viewtopic.php?p=3940995#p3940995"]ПЕЧАЛЬКА[/uquote]
лучше горькая правда, чем сладкая ложь.
Вот и на святую тини13 ардуинщики замахнулись
https://github.com/MCUdude/MicroCore
3 дня назад подновляли - значит востребовано
поддерживает различные тактовые частоты
9.6 MHz internal oscillator (default)
4.8 MHz internal oscillator
1.2 MHz internal oscillator
600 kHz internal oscillator *
128 kHz internal watchdog oscillator *
с калибровкой !
20 MHz external oscillator
16 MHz external oscillator
12 MHz external oscillator
8 MHz external oscillator
1 MHz external oscillator
оптимизация LTO и согласно заветам батьки Атмеля AVR4027: Tips and Tricks to Optimize Your C Code for 8-bit AVR Microcontrollers.
UART library, которого вроде насколько помню аппаратно нету
и т.д.
з.ы. а вы продолжайте заниматься "самовиденьем перспектив"
Реклама
OKF
Это не хвост, это антенна
Сообщения: 1457
Зарегистрирован: Вт июн 07, 2011 08:03:18

Сообщение OKF »

Не замахнулись, а давно используют.
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18819
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Даже интересно, что там в 13й тиньке LTOшить можно?! Но в целом прогресс ардуины налицо: и 10 лет не прошло с первых реализаций программного UART...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 15816
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

[uquote="oleg110592",url="/forum/viewtopic.php?p=3941157#p3941157"][uquote="BOB51",url="/forum/viewtopic.php?p=3940995#p3940995"]ПЕЧАЛЬКА[/uquote]
лучше горькая правда, чем сладкая ложь.
Вот и на святую тини13 ардуинщики замахнулись
https://github.com/MCUdude/MicroCore...
з.ы. а вы продолжайте заниматься "самовиденьем перспектив"[/uquote]
У меня этот вариант уже даавненько установлен...
Обновления там сегодня по ВСЕМ платформам, что в MCUdude заявлены:

Код: Выделить всё

https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json
https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json
https://mcudude.github.io/MajorCore/package_MCUdude_MajorCore_index.json
https://mcudude.github.io/MightyCore/package_MCUdude_MightyCore_index.json
https://mcudude.github.io/MegaCore/package_MCUdude_MegaCore_index.json
( всего же в составе ранее "накопанного" и работоспособного имеется
список текущих платформ

Код: Выделить всё

https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json
http://arduino.esp8266.com/stable/package_esp8266com_index.json
https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json
https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json
https://mcudude.github.io/MajorCore/package_MCUdude_MajorCore_index.json
https://mcudude.github.io/MightyCore/package_MCUdude_MightyCore_index.json
https://mcudude.github.io/MegaCore/package_MCUdude_MegaCore_index.json
https://raw.githubusercontent.com/sleemanj/optiboot/master/dists/package_gogo_diy_attiny_index.json
https://raw.githubusercontent.com/sleemanj/optiboot/master/dists/package_gogo_diy_atmega8_series_index.json
https://tremaru.github.io/arduino-board-index/package_trema_index.json
http://www.dragino.com/downloads/downloads/YunShield/package_dragino_yun_test_index.json
http://z-uno.z-wave.me/files/z-uno/package_z-wave.me_index.json
)

ССЫЛКИ УКАЗАНЫ ДЛЯ РАЗМЕЩЕНИЯ В соответствующем окне РАЗДЕЛА
НАСТРОЙКИ - ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ ДЛЯ МЕНЕДЖЕРА ПЛАТ, А НЕ ДЛЯ ПРЯМОГО ПЕРЕХОДА В БРОУЗЕРЕ!!


Единственный минус - ставятся автоматом на сегодня ТОЛЬКО для windows7-10.
Для ХР придется обновлять вручную.
Собственно там все же разработка "в рамках референса", иначе или "чистый Си" или "чистый ассемблер" придется использовать.
Да вчитываться в документацию.
Оба подхода в своих рамках верны, но в конкретном случае удобнее использовать тот вариант, который более подходит для решения конкретного проекта.
Да и "взаимовлияние" приемов весьма удачно в таком случае вписывается.
Собственно удобство адуринки не в "контрмерах" относително АВРок, а в единой среде для разных семейств.
Однако "нюансы" в описании отличий базового референса для различных семейств пока ХРОМАЮТ...
И ... к сожалению особо именно тем направлением (разбором отличий и "нюансов") пока у нас слабо занимаются (как и популяризацией работы на уровне отличном от "школярства").
8)

Добавлено after 3 minutes 37 seconds:
[uquote="ARV",url="/forum/viewtopic.php?p=3941189#p3941189"]Даже интересно, что там в 13й тиньке LTOшить можно?! Но в целом прогресс ардуины налицо: и 10 лет не прошло с первых реализаций программного UART...[/uquote]
Собственно единственная наша общая ошибка только в том, что вместо объединенного подхода каждый старается остаться фанатом своего компилятора, семейства....
При том не всегда замечая (и тем более применяя) полезности из "противоположного лагеря".
:beer:
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

про LTO там пишут, где ядро, а HalfDuplexSerial.cpp симпатично сделан, я ранее такого не встречал
Друг Кота
Аватара пользователя
Сообщения: 15816
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Возможно там еще чего интересного для "больших кристаллов" в новом обновлении - я то не Сишник...
Обновление по всем MCUdude платформам для ардуино 1.8.13 вроде совсем свеженькое - декабрьское (в ноябре еще не было)...
:roll:
За ХРшную версию (1.8.9 и более ранние) ... я там автообновление напрочь закрыл "во избежание проблем"...
УВЫ... автоматика (автообновлнеие) уже для ХР ... слишком современна - операционка "давится" приложениями для х64 и новыми добавками в сетевых технологиях...
:(
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

там написано MicroCore требует Arduino IDE версии 1.6.13 или выше.
и зачем
Зачем использовать ATtiny13 в проекте Arduino?
Они ГРОМКО дешевые (мы говорим здесь о центах!)
Они бывают как в DIP, так и в SOIC пакетах.
Они совместимы по выводам с семейством ATtiny25 / 45/85 и часто совместимы с кодом
Большинство функций Arduino реализовано в MicroCore.
Благодаря MicroCore вы можете уместить большой объем кода высокого уровня в 1024 байта!
последняя строка для BOB51 :))
Друг Кота
Аватара пользователя
Сообщения: 15816
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Ну мне и ассемблера для 13й вполне достаточно.
8)
Насчет "требует Arduino IDE версии 1.6.13 или выше"...
Там вопрос похитрее (и заметно хуже)...
В прошлом году вероятно было что-то изменено в алгоритмах автообновления.
Если базовая машина с виндовс ХР (х32) автообновление не просто"захлебывается" , но и портит уже установленную IDE...
А версия 1.8.13 устанавливается ТОЛЬКО на 7-10ке.
Разбираться с причинами тогда не стал - просто сделал копию с базовых файлов на другом ПК и затем восстанавливал содержимое для дополнительных платформ.
:dont_know:
А вот под 7-10 любая из версий IDE продолжает корректно обновлять платформы...
УВЫ... "дань современности"...
(ТБХУ!!!)...
:evil:
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

[uquote="BOB51",url="/forum/viewtopic.php?p=3941216#p3941216"]Ну мне и ассемблера для 13й вполне достаточно[/uquote]
чет подозрительно
У меня этот вариант уже даавненько установлен...
ардуиним на тини13 по ночам? :)))
Друг Кота
Аватара пользователя
Сообщения: 15816
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Просто подборка "дополнительного материала" от разных авторов.
(как и z-uno и другие дополнительные платформы).
Меня у MCUdude более другие АВРки интересовали - та же 8515/162, 16я, 128я и прочее...
А подборка с 13-й удачнее таки у DIY - там 8-лапок побольше.
Кстати... нигде не встречал КАЧЕСТВЕННОЙ платформы под тиньку 2313/4313.
Да и ПИКи "особнячком" держутся.
8)
Ранее шел разговор о том, что ардуиноIDE не такая уж и "детская шалость", которой можно побрезговать.
Сколько народу пыталось доказать нежизнеспособность IDE...
Теперь чаще слышу "обратный вариант"...
:twisted:
А правда одна - все надо использовать разумно-достаточно и взаимовыгодно.
8)
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

[uquote="BOB51",url="/forum/viewtopic.php?p=3941393#p3941393"]...Просто подборка "дополнительного материала" от разных авторов.
...Кстати... нигде не встречал КАЧЕСТВЕННОЙ платформы под тиньку 2313/4313.
...Ранее шел разговор о том, что ардуиноIDE не такая уж и "детская шалость", которой можно побрезговать.[/uquote]
1)"подборка от разных" - мусорная каша на компьютере в иде, потом жалобы - то не работает и то не работает
2)гуглом легко ищется или на сайте, который от каши на компьютере не открывается
https://github.com/SpenceKonde/ATTinyCore
3) разговор от о том что нафик эта иде не нужна, она нужна только для кухарок - проверил код блинка тини10 на линуксе без всяких иде, скомпилил без вопросов тем же чудесным универсальным макефайлом - получил абсолютно тот же результат и те же 66 байт. Причем GCC AVR из дебиановского репозитория, старенький атмелевский еще вариант. CPP - он и в Африке CPP (повторяюсь).
Друг Кота
Аватара пользователя
Сообщения: 15816
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

А мне ВЛОМ на сегодня составление макуфайлов учить.
Тем более под каждый проект заново прописывать, ёжли есть хоть и "ограниченный рамками референса", но вполне устраивающий по качеству инструмент.
8)
Насчет "каши" неверное утверждение ибо каждая платформа таки имеет свои прописи путей и свои подкаталоги.
Ежли конечно грамотно разработана.
:wink:
Сайт не от "каши на компьютере" не открывается, а от ограничений наложенных более "МОДЕОРНИСТСКИМ" ПО, применяемом на многих сайтах - в ХР данный МОДЕРНИЗЬМ уже не поддерживается.
:sleep:
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

1)а как же "видение перспектив было лет с 10-15 тому назад" - все 15 лет тоже было влом (печалька(с)).
2)Если ручонками копировать ядра в папку hardware - каши не будет и их (ядра) всегда удалить легко можно. Опять иде для этого не нужна.
3)Под ХР можно пробовать поставить посовременнее браузер типа Palemoon (поискать в гугле)
http://winxpsoft.com/pale-moon-windows-xp/
Да и еще есть современные браузеры под ХР, а лучше (писал) заменить ХР на Debian и будет счастье - будут последние версии Firefox и Chrome или Chromium, а эмбедить в линуксе намного удобнее (имхо).
з.ы. про написание слов большими буквами с познавательной точки зрения :))
http://lurkmore.to/CAPSLOCK
Друг Кота
Аватара пользователя
Сообщения: 15816
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Так всегда лишние "прописи" делать ВЛОМ, что раньше, что теперь.
Ибо частенько там больше заморочек, чем с самим проектом.
8)
Установка броузера "покруче" (как и иного ПО) определяется жесткой необходимостью - а в данном случае таковой не имеется.
Как и "обязательного" перехода на линукс.
Есть возможность поставить - ну и хорошо, нету - работаем на том, что имеется.
8)
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

одну-две строки поправить в макефайле - зачастую быстрее и проще чем новый проект создавать

Код: Выделить всё

# Hardware
MCU     = attiny10
OSC     = 8000000UL
PROJECT = Attiny10test
з.ы. теперь много сайтов "модернистские" и тенденция наблюдается - без них, увы останемся в информационном вакууме, "печалька" еще раз
Друг Кота
Аватара пользователя
Сообщения: 15816
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Кому с чего удобнее.
Мне более удобным стал "слэнг многофайловиков" под ассемблером. И далее подобный вариант - с минимумом записей командной строки.
Для "раннего Сишника" естественно понятнее и ближе те макефайлы.
8)
Увы... продвижение технологий и "раздел инета" на локально/региональные области вероятнее всего будет продолжаться независимо от наших желаний.
Так что нет смысла спешить впереди событий.
:roll:
Ответить

Вернуться в «Разные вопросы по МК»