Любительская пайка ATtiny20 в 12-ball WLCSP корпусе 1.555 на 1.403mm, и 0.538mm толщиной.
подробности:
https://mitxela.com/projects/soldering_wlcsp
Код: Выделить всё
#include <avr/io.h>
#include <util/delay.h>
int main()
{
DDRB |= (1 << 0);
for (;;)
{
PORTB ^= (1 << 0);
_delay_ms(1000);
}
}Код: Выделить всё
LDI R25,0x01 Load immediate
IN R24,0x18 In from I/O location
EOR R24,R25 Exclusive OR
OUT 0x18,R24 Out to I/O location
естественно!oleg110592 писал(а):интересно а в GCC AVR вектора прерываний можно ли "урезать" каким то способом
Код: Выделить всё
#include <avr/io.h>
#include <avr_helper.h>
#include <util/delay.h>
MAIN(){
DDRB = 0xFF;
for(;;){
PORTB ^= _BV(PB4);
_delay_ms(500);
}
}
листингAVR Memory Usage
----------------
Device: attiny13
Program: 32 bytes (2.7% Full)
(.text + .data + .bootloader)
Data: 0 bytes (0.0% Full)
(.data + .bss + .noinit)
Код: Выделить всё
micro-tiny13-test.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00000020 00000000 00000000 00000054 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
Disassembly of section .text:
00000000 <main>:
0: 8f ef ldi r24, 0xFF ; 255
2: 87 bb out 0x17, r24 ; 23
4: 40 e1 ldi r20, 0x10 ; 16
6: 20 ef ldi r18, 0xF0 ; 240
8: 30 e0 ldi r19, 0x00 ; 0
a: 88 b3 in r24, 0x18 ; 24
c: 84 27 eor r24, r20
e: 88 bb out 0x18, r24 ; 24
10: 88 e8 ldi r24, 0x88 ; 136
12: 93 e1 ldi r25, 0x13 ; 19
14: f9 01 movw r30, r18
16: 31 97 sbiw r30, 0x01 ; 1
18: f1 f7 brne .-4 ; 0x16 <__zero_reg__+0x15>
1a: 01 97 sbiw r24, 0x01 ; 1
1c: d9 f7 brne .-10 ; 0x14 <__zero_reg__+0x13>
1e: f5 cf rjmp .-22 ; 0xa <__zero_reg__+0x9>
48.oleg110592 писал(а):ARM Used FLASH: 68 bytes
Ну с какой стороны посмотреть на это. В действительности кода в ARM-прошивке тоже 32 байта. Остальное это адрес стека и адрес стартовой функции (8 байт) и еще 8 байт - данные.oleg110592 писал(а):победа AVR
если вместо PORTB ^= 255 написать PINB = 255, то размер для AVR станет 30 байтМурик писал(а):тоже 32 байта
Если вам так нравится мерятся размерами, вот задачка для AVR. Нужно эту строку скомпилировать и выложить асм код того что получилось.ARV писал(а):размер для AVR станет 30 байт
Код: Выделить всё
a = (((b * 10) + (c / 60)) - 1) * 5;мне не особо нравится, я продемонстрировал, как избавиться от таблицы векторов.Мурик писал(а):Если вам так нравится мерятся размерами, вот задачка для AVR.
Сайт кокоса бывает что недоступен. Есть на мой взгляд лучше IDE. https://www.embitz.orgBOB51 писал(а): http://www.coocox.org с моего сейчас чего-то "недоступен"...
Если стоимость МК с ARM ядром соизмерима или даже меньше чем с PIC или AVR ядром, и при этом удобство разработки выше (больше ресурсов, есть отладка и т. д.), то целесообразнее использовать именно ARM. Возьмите что-то типа STM32F030F4P6. Для простого устройства то что нужно.BOB51 писал(а):городить примитив таймер на АРМЕ можно, но как-то уж весьма избыточно.
сейчас вы прослушаете лекцию про ARM STM32salang писал(а):Вы же понимаете, что это нереальный пример и так не бывает в принципе?