Codeblock и winavr .... и возникшая проблема от сего синтеза

Обсуждаем контроллеры компании Atmel.
Catdawr
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Вс авг 21, 2016 19:53:33

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение Catdawr »

Ам, а чтобы использовать AVR toolchain, его надо как то "устанавливать", или достаточно просто разархивировать, и настроить КБ на него ?
Реклама
mrFox
Нашел транзистор. Понюхал.
Сообщения: 190
Зарегистрирован: Пт сен 21, 2007 17:53:23
Откуда: Зарайск

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение mrFox »

[uquote="Catdawr",url="/forum/viewtopic.php?p=3157552#p3157552"]Дак в том то и дело. Что в студии работает а в Кблоке- нет... Ладно попробую его переустановить, еще что нибудь потыкаю, а пока спасибо за потраченое в пустую ваше время)[/uquote]
- стоит попробовать скомпилить через make
где-то в каталоге проекта студии он должен быть - если нет - найти в инете
- стоит включить вывод листинга - флажок при создании проекта
и посмотреть на асемблерный код
- попробовать формировать задержку функцией

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

void my_delay_ms(uint16_t ms)
{
  ms = ms * 10 + 1;
  while( --ms > 0 ) {
    // wait 1/10 ms
    _delay_loop_2( ((F_CPU) / 4e3) / 10 );
  }
}
Реклама
Voda
Родился
Сообщения: 18
Зарегистрирован: Вт окт 20, 2009 06:22:23
Откуда: Нижний Новгород

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение Voda »

Мы уже настроили KB на него.
Settings->compiller->toolchain executables - C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin

Settings->compiller->Search directories-> Compiller - C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include

Settings->compiller->Search directories-> Linker - C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\lib

Project->build options->compiller->Search directories-> debug release Compiller и Linker - пусто
Catdawr
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Вс авг 21, 2016 19:53:33

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение Catdawr »

стоит попробовать скомпилить через make
Поясните пожалуйста этот момент. (нашелся в ....Atmelstudio 7\7.0\shellutils)

И как, собсно, я могу увидеть ассемблеровый код, писаный в Си?
Реклама
Эиком - электронные компоненты и радиодетали
mrFox
Нашел транзистор. Понюхал.
Сообщения: 190
Зарегистрирован: Пт сен 21, 2007 17:53:23
Откуда: Зарайск

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение mrFox »

[uquote="Catdawr",url="/forum/viewtopic.php?p=3157565#p3157565"]...И как, собсно, я могу увидеть ассемблеровый код, писаный в Си?[/uquote]
- создать makefile, в командной строке в каталоге проекта набрать make
- при создании проекта в C::B ставишь галочку создавать файл листинга
в каталоге Debug или Release появляется файл lss - его и смотришь
Реклама
Catdawr
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Вс авг 21, 2016 19:53:33

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение Catdawr »

- при создании проекта в C::B ставишь галочку создавать файл листинга
в каталоге Debug или Release появляется файл lss - его и смотришь
он там и так есть... только вот добавить файл не получается в ответ.

исходник выглядит вот так:
Спойлер

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

#include <avr/io.h>
#include <util/delay.h>


int main(void)
{

 DDRD = 0x03;
 PORTD = 0x00;

    while(1){



    if  (PIND&(1<<PD2)){

    PORTD |= (1<<PD0);
   _delay_ms(200);
    PORTD &= ~(1<<PD0);
    }



    }



    return 0;
}

release -версия
Спойлер

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

bin\Release\attempt.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         00000054  00000000  00000000  00000094  2**1
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .data         00000000  00800060  00000054  000000e8  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  2 .fuse         00000003  00820000  00820000  000000e8  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  3 .comment      00000030  00000000  00000000  000000eb  2**0
                  CONTENTS, READONLY
  4 .note.gnu.avr.deviceinfo 00000040  00000000  00000000  0000011c  2**2
                  CONTENTS, READONLY
  5 .debug_info   0000040e  00000000  00000000  0000015c  2**0
                  CONTENTS, READONLY, DEBUGGING
  6 .debug_abbrev 000003d7  00000000  00000000  0000056a  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_line   0000001a  00000000  00000000  00000941  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_str    00000163  00000000  00000000  0000095b  2**0
                  CONTENTS, READONLY, DEBUGGING

Disassembly of section .text:

00000000 <__vectors>:
   0:	12 c0       	rjmp	.+36     	; 0x26 <__ctors_end>
   2:	17 c0       	rjmp	.+46     	; 0x32 <__bad_interrupt>
   4:	16 c0       	rjmp	.+44     	; 0x32 <__bad_interrupt>
   6:	15 c0       	rjmp	.+42     	; 0x32 <__bad_interrupt>
   8:	14 c0       	rjmp	.+40     	; 0x32 <__bad_interrupt>
   a:	13 c0       	rjmp	.+38     	; 0x32 <__bad_interrupt>
   c:	12 c0       	rjmp	.+36     	; 0x32 <__bad_interrupt>
   e:	11 c0       	rjmp	.+34     	; 0x32 <__bad_interrupt>
  10:	10 c0       	rjmp	.+32     	; 0x32 <__bad_interrupt>
  12:	0f c0       	rjmp	.+30     	; 0x32 <__bad_interrupt>
  14:	0e c0       	rjmp	.+28     	; 0x32 <__bad_interrupt>
  16:	0d c0       	rjmp	.+26     	; 0x32 <__bad_interrupt>
  18:	0c c0       	rjmp	.+24     	; 0x32 <__bad_interrupt>
  1a:	0b c0       	rjmp	.+22     	; 0x32 <__bad_interrupt>
  1c:	0a c0       	rjmp	.+20     	; 0x32 <__bad_interrupt>
  1e:	09 c0       	rjmp	.+18     	; 0x32 <__bad_interrupt>
  20:	08 c0       	rjmp	.+16     	; 0x32 <__bad_interrupt>
  22:	07 c0       	rjmp	.+14     	; 0x32 <__bad_interrupt>
  24:	06 c0       	rjmp	.+12     	; 0x32 <__bad_interrupt>

00000026 <__ctors_end>:
  26:	11 24       	eor	r1, r1
  28:	1f be       	out	0x3f, r1	; 63
  2a:	cf ed       	ldi	r28, 0xDF	; 223
  2c:	cd bf       	out	0x3d, r28	; 61
  2e:	02 d0       	rcall	.+4      	; 0x34 <main>
  30:	0f c0       	rjmp	.+30     	; 0x50 <_exit>

00000032 <__bad_interrupt>:
  32:	e6 cf       	rjmp	.-52     	; 0x0 <__vectors>

00000034 <main>:
  34:	83 e0       	ldi	r24, 0x03	; 3
  36:	81 bb       	out	0x11, r24	; 17
  38:	12 ba       	out	0x12, r1	; 18
  3a:	82 9b       	sbis	0x10, 2	; 16
  3c:	fe cf       	rjmp	.-4      	; 0x3a <main+0x6>
  3e:	90 9a       	sbi	0x12, 0	; 18
  40:	8f e4       	ldi	r24, 0x4F	; 79
  42:	93 ec       	ldi	r25, 0xC3	; 195
  44:	01 97       	sbiw	r24, 0x01	; 1
  46:	f1 f7       	brne	.-4      	; 0x44 <__SREG__+0x5>
  48:	00 c0       	rjmp	.+0      	; 0x4a <__SREG__+0xb>
  4a:	00 00       	nop
  4c:	90 98       	cbi	0x12, 0	; 18
  4e:	f5 cf       	rjmp	.-22     	; 0x3a <main+0x6>

00000050 <_exit>:
  50:	f8 94       	cli

00000052 <__stop_program>:
  52:	ff cf       	rjmp	.-2      	; 0x52 <__stop_program>
версия debug
Спойлер

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

 
bin\Debug\attempt.sys:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         00000392  00000000  00000000  00000094  2**1
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .data         00000000  00800060  00000392  00000426  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  2 .fuse         00000003  00820000  00820000  00000426  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  3 .comment      00000030  00000000  00000000  00000429  2**0
                  CONTENTS, READONLY
  4 .note.gnu.avr.deviceinfo 00000040  00000000  00000000  0000045c  2**2
                  CONTENTS, READONLY
  5 .debug_aranges 00000020  00000000  00000000  0000049c  2**0
                  CONTENTS, READONLY, DEBUGGING
  6 .debug_pubnames 0000001d  00000000  00000000  000004bc  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_info   00000600  00000000  00000000  000004d9  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_abbrev 00000501  00000000  00000000  00000ad9  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_line   00000207  00000000  00000000  00000fda  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_frame  00000034  00000000  00000000  000011e4  2**2
                  CONTENTS, READONLY, DEBUGGING
 11 .debug_str    00000297  00000000  00000000  00001218  2**0
                  CONTENTS, READONLY, DEBUGGING
 12 .debug_loc    00000047  00000000  00000000  000014af  2**0
                  CONTENTS, READONLY, DEBUGGING

Disassembly of section .text:

00000000 <__vectors>:
   0:	12 c0       	rjmp	.+36     	; 0x26 <__ctors_end>
   2:	17 c0       	rjmp	.+46     	; 0x32 <__bad_interrupt>
   4:	16 c0       	rjmp	.+44     	; 0x32 <__bad_interrupt>
   6:	15 c0       	rjmp	.+42     	; 0x32 <__bad_interrupt>
   8:	14 c0       	rjmp	.+40     	; 0x32 <__bad_interrupt>
   a:	13 c0       	rjmp	.+38     	; 0x32 <__bad_interrupt>
   c:	12 c0       	rjmp	.+36     	; 0x32 <__bad_interrupt>
   e:	11 c0       	rjmp	.+34     	; 0x32 <__bad_interrupt>
  10:	10 c0       	rjmp	.+32     	; 0x32 <__bad_interrupt>
  12:	0f c0       	rjmp	.+30     	; 0x32 <__bad_interrupt>
  14:	0e c0       	rjmp	.+28     	; 0x32 <__bad_interrupt>
  16:	0d c0       	rjmp	.+26     	; 0x32 <__bad_interrupt>
  18:	0c c0       	rjmp	.+24     	; 0x32 <__bad_interrupt>
  1a:	0b c0       	rjmp	.+22     	; 0x32 <__bad_interrupt>
  1c:	0a c0       	rjmp	.+20     	; 0x32 <__bad_interrupt>
  1e:	09 c0       	rjmp	.+18     	; 0x32 <__bad_interrupt>
  20:	08 c0       	rjmp	.+16     	; 0x32 <__bad_interrupt>
  22:	07 c0       	rjmp	.+14     	; 0x32 <__bad_interrupt>
  24:	06 c0       	rjmp	.+12     	; 0x32 <__bad_interrupt>

00000026 <__ctors_end>:
  26:	11 24       	eor	r1, r1
  28:	1f be       	out	0x3f, r1	; 63
  2a:	cf ed       	ldi	r28, 0xDF	; 223
  2c:	cd bf       	out	0x3d, r28	; 61
  2e:	02 d0       	rcall	.+4      	; 0x34 <main>
  30:	ae c1       	rjmp	.+860    	; 0x38e <_exit>

00000032 <__bad_interrupt>:
  32:	e6 cf       	rjmp	.-52     	; 0x0 <__vectors>

00000034 <main>:
#include <avr/io.h>
#include <util/delay.h>


int main(void)
{
  34:	cf 93       	push	r28
  36:	df 93       	push	r29
  38:	cd b7       	in	r28, 0x3d	; 61
  3a:	dd 27       	eor	r29, r29
  3c:	ce 50       	subi	r28, 0x0E	; 14
  3e:	cd bf       	out	0x3d, r28	; 61

 DDRD = 0x03;
  40:	81 e3       	ldi	r24, 0x31	; 49
  42:	90 e0       	ldi	r25, 0x00	; 0
  44:	23 e0       	ldi	r18, 0x03	; 3
  46:	fc 01       	movw	r30, r24
  48:	20 83       	st	Z, r18
 PORTD = 0x00;
  4a:	82 e3       	ldi	r24, 0x32	; 50
  4c:	90 e0       	ldi	r25, 0x00	; 0
  4e:	fc 01       	movw	r30, r24
  50:	10 82       	st	Z, r1

    while(1){



    if  (PIND&(1<<PD2)){
  52:	80 e3       	ldi	r24, 0x30	; 48
  54:	90 e0       	ldi	r25, 0x00	; 0
  56:	fc 01       	movw	r30, r24
  58:	80 81       	ld	r24, Z
  5a:	88 2f       	mov	r24, r24
  5c:	90 e0       	ldi	r25, 0x00	; 0
  5e:	84 70       	andi	r24, 0x04	; 4
  60:	99 27       	eor	r25, r25
  62:	89 2b       	or	r24, r25
  64:	b1 f3       	breq	.-20     	; 0x52 <__SREG__+0x13>



    PORTD |= (1<<PD0);
  66:	82 e3       	ldi	r24, 0x32	; 50
  68:	90 e0       	ldi	r25, 0x00	; 0
  6a:	22 e3       	ldi	r18, 0x32	; 50
  6c:	30 e0       	ldi	r19, 0x00	; 0
  6e:	f9 01       	movw	r30, r18
  70:	20 81       	ld	r18, Z
  72:	21 60       	ori	r18, 0x01	; 1
  74:	fc 01       	movw	r30, r24
  76:	20 83       	st	Z, r18
  78:	80 e0       	ldi	r24, 0x00	; 0
  7a:	90 e0       	ldi	r25, 0x00	; 0
  7c:	a8 e4       	ldi	r26, 0x48	; 72
  7e:	b3 e4       	ldi	r27, 0x43	; 67
  80:	89 83       	std	Y+1, r24	; 0x01
  82:	9a 83       	std	Y+2, r25	; 0x02
  84:	ab 83       	std	Y+3, r26	; 0x03
  86:	bc 83       	std	Y+4, r27	; 0x04

	__builtin_avr_delay_cycles(__ticks_dc);

#else
	uint16_t __ticks;
	__tmp = ((F_CPU) / 4e3) * __ms;
  88:	20 e0       	ldi	r18, 0x00	; 0
  8a:	30 e0       	ldi	r19, 0x00	; 0
  8c:	4a e7       	ldi	r20, 0x7A	; 122
  8e:	53 e4       	ldi	r21, 0x43	; 67
  90:	69 81       	ldd	r22, Y+1	; 0x01
  92:	7a 81       	ldd	r23, Y+2	; 0x02
  94:	8b 81       	ldd	r24, Y+3	; 0x03
  96:	9c 81       	ldd	r25, Y+4	; 0x04
  98:	e7 d0       	rcall	.+462    	; 0x268 <__mulsf3>
  9a:	dc 01       	movw	r26, r24
  9c:	cb 01       	movw	r24, r22
  9e:	8d 83       	std	Y+5, r24	; 0x05
  a0:	9e 83       	std	Y+6, r25	; 0x06
  a2:	af 83       	std	Y+7, r26	; 0x07
  a4:	b8 87       	std	Y+8, r27	; 0x08
	if (__tmp < 1.0)
  a6:	20 e0       	ldi	r18, 0x00	; 0
  a8:	30 e0       	ldi	r19, 0x00	; 0
  aa:	40 e8       	ldi	r20, 0x80	; 128
  ac:	5f e3       	ldi	r21, 0x3F	; 63
  ae:	6d 81       	ldd	r22, Y+5	; 0x05
  b0:	7e 81       	ldd	r23, Y+6	; 0x06
  b2:	8f 81       	ldd	r24, Y+7	; 0x07
  b4:	98 85       	ldd	r25, Y+8	; 0x08
  b6:	56 d0       	rcall	.+172    	; 0x164 <__cmpsf2>
  b8:	88 23       	and	r24, r24
  ba:	2c f4       	brge	.+10     	; 0xc6 <__SREG__+0x87>
		__ticks = 1;
  bc:	81 e0       	ldi	r24, 0x01	; 1
  be:	90 e0       	ldi	r25, 0x00	; 0
  c0:	9a 87       	std	Y+10, r25	; 0x0a
  c2:	89 87       	std	Y+9, r24	; 0x09
  c4:	3b c0       	rjmp	.+118    	; 0x13c <__stack+0x5d>
	else if (__tmp > 65535)
  c6:	20 e0       	ldi	r18, 0x00	; 0
  c8:	3f ef       	ldi	r19, 0xFF	; 255
  ca:	4f e7       	ldi	r20, 0x7F	; 127
  cc:	57 e4       	ldi	r21, 0x47	; 71
  ce:	6d 81       	ldd	r22, Y+5	; 0x05
  d0:	7e 81       	ldd	r23, Y+6	; 0x06
  d2:	8f 81       	ldd	r24, Y+7	; 0x07
  d4:	98 85       	ldd	r25, Y+8	; 0x08
  d6:	c4 d0       	rcall	.+392    	; 0x260 <__gesf2>
  d8:	18 16       	cp	r1, r24
  da:	3c f5       	brge	.+78     	; 0x12a <__stack+0x4b>
	{
		//	__ticks = requested delay in 1/10 ms
		__ticks = (uint16_t) (__ms * 10.0);
  dc:	20 e0       	ldi	r18, 0x00	; 0
  de:	30 e0       	ldi	r19, 0x00	; 0
  e0:	40 e2       	ldi	r20, 0x20	; 32
  e2:	51 e4       	ldi	r21, 0x41	; 65
  e4:	69 81       	ldd	r22, Y+1	; 0x01
  e6:	7a 81       	ldd	r23, Y+2	; 0x02
  e8:	8b 81       	ldd	r24, Y+3	; 0x03
  ea:	9c 81       	ldd	r25, Y+4	; 0x04
  ec:	bd d0       	rcall	.+378    	; 0x268 <__mulsf3>
  ee:	dc 01       	movw	r26, r24
  f0:	cb 01       	movw	r24, r22
  f2:	bc 01       	movw	r22, r24
  f4:	cd 01       	movw	r24, r26
  f6:	3a d0       	rcall	.+116    	; 0x16c <__fixunssfsi>
  f8:	dc 01       	movw	r26, r24
  fa:	cb 01       	movw	r24, r22
  fc:	9a 87       	std	Y+10, r25	; 0x0a
  fe:	89 87       	std	Y+9, r24	; 0x09
 100:	0f c0       	rjmp	.+30     	; 0x120 <__stack+0x41>
 102:	89 e1       	ldi	r24, 0x19	; 25
 104:	90 e0       	ldi	r25, 0x00	; 0
 106:	9c 87       	std	Y+12, r25	; 0x0c
 108:	8b 87       	std	Y+11, r24	; 0x0b
    milliseconds can be achieved.
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
 10a:	8b 85       	ldd	r24, Y+11	; 0x0b
 10c:	9c 85       	ldd	r25, Y+12	; 0x0c
 10e:	01 97       	sbiw	r24, 0x01	; 1
 110:	f1 f7       	brne	.-4      	; 0x10e <__stack+0x2f>
 112:	9c 87       	std	Y+12, r25	; 0x0c
 114:	8b 87       	std	Y+11, r24	; 0x0b
		while(__ticks)
		{
			// wait 1/10 ms
			_delay_loop_2(((F_CPU) / 4e3) / 10);
			__ticks --;
 116:	89 85       	ldd	r24, Y+9	; 0x09
 118:	9a 85       	ldd	r25, Y+10	; 0x0a
 11a:	01 97       	sbiw	r24, 0x01	; 1
 11c:	9a 87       	std	Y+10, r25	; 0x0a
 11e:	89 87       	std	Y+9, r24	; 0x09
		__ticks = 1;
	else if (__tmp > 65535)
	{
		//	__ticks = requested delay in 1/10 ms
		__ticks = (uint16_t) (__ms * 10.0);
		while(__ticks)
 120:	89 85       	ldd	r24, Y+9	; 0x09
 122:	9a 85       	ldd	r25, Y+10	; 0x0a
 124:	89 2b       	or	r24, r25
 126:	69 f7       	brne	.-38     	; 0x102 <__stack+0x23>
 128:	13 c0       	rjmp	.+38     	; 0x150 <__stack+0x71>
			__ticks --;
		}
		return;
	}
	else
		__ticks = (uint16_t)__tmp;
 12a:	6d 81       	ldd	r22, Y+5	; 0x05
 12c:	7e 81       	ldd	r23, Y+6	; 0x06
 12e:	8f 81       	ldd	r24, Y+7	; 0x07
 130:	98 85       	ldd	r25, Y+8	; 0x08
 132:	1c d0       	rcall	.+56     	; 0x16c <__fixunssfsi>
 134:	dc 01       	movw	r26, r24
 136:	cb 01       	movw	r24, r22
 138:	9a 87       	std	Y+10, r25	; 0x0a
 13a:	89 87       	std	Y+9, r24	; 0x09
 13c:	89 85       	ldd	r24, Y+9	; 0x09
 13e:	9a 85       	ldd	r25, Y+10	; 0x0a
 140:	9e 87       	std	Y+14, r25	; 0x0e
 142:	8d 87       	std	Y+13, r24	; 0x0d
 144:	8d 85       	ldd	r24, Y+13	; 0x0d
 146:	9e 85       	ldd	r25, Y+14	; 0x0e
 148:	01 97       	sbiw	r24, 0x01	; 1
 14a:	f1 f7       	brne	.-4      	; 0x148 <__stack+0x69>
 14c:	9e 87       	std	Y+14, r25	; 0x0e
 14e:	8d 87       	std	Y+13, r24	; 0x0d
   _delay_ms(200);
    PORTD &= ~(1<<PD0);
 150:	82 e3       	ldi	r24, 0x32	; 50
 152:	90 e0       	ldi	r25, 0x00	; 0
 154:	22 e3       	ldi	r18, 0x32	; 50
 156:	30 e0       	ldi	r19, 0x00	; 0
 158:	f9 01       	movw	r30, r18
 15a:	20 81       	ld	r18, Z
 15c:	2e 7f       	andi	r18, 0xFE	; 254
 15e:	fc 01       	movw	r30, r24
 160:	20 83       	st	Z, r18
    }



    }
 162:	77 cf       	rjmp	.-274    	; 0x52 <__SREG__+0x13>

00000164 <__cmpsf2>:
 164:	2f d0       	rcall	.+94     	; 0x1c4 <__fp_cmp>
 166:	08 f4       	brcc	.+2      	; 0x16a <__cmpsf2+0x6>
 168:	81 e0       	ldi	r24, 0x01	; 1
 16a:	08 95       	ret

0000016c <__fixunssfsi>:
 16c:	57 d0       	rcall	.+174    	; 0x21c <__fp_splitA>
 16e:	88 f0       	brcs	.+34     	; 0x192 <__fixunssfsi+0x26>
 170:	9f 57       	subi	r25, 0x7F	; 127
 172:	90 f0       	brcs	.+36     	; 0x198 <__fixunssfsi+0x2c>
 174:	b9 2f       	mov	r27, r25
 176:	99 27       	eor	r25, r25
 178:	b7 51       	subi	r27, 0x17	; 23
 17a:	a0 f0       	brcs	.+40     	; 0x1a4 <__fixunssfsi+0x38>
 17c:	d1 f0       	breq	.+52     	; 0x1b2 <__fixunssfsi+0x46>
 17e:	66 0f       	add	r22, r22
 180:	77 1f       	adc	r23, r23
 182:	88 1f       	adc	r24, r24
 184:	99 1f       	adc	r25, r25
 186:	1a f0       	brmi	.+6      	; 0x18e <__fixunssfsi+0x22>
 188:	ba 95       	dec	r27
 18a:	c9 f7       	brne	.-14     	; 0x17e <__fixunssfsi+0x12>
 18c:	12 c0       	rjmp	.+36     	; 0x1b2 <__fixunssfsi+0x46>
 18e:	b1 30       	cpi	r27, 0x01	; 1
 190:	81 f0       	breq	.+32     	; 0x1b2 <__fixunssfsi+0x46>
 192:	5e d0       	rcall	.+188    	; 0x250 <__fp_zero>
 194:	b1 e0       	ldi	r27, 0x01	; 1
 196:	08 95       	ret
 198:	5b c0       	rjmp	.+182    	; 0x250 <__fp_zero>
 19a:	67 2f       	mov	r22, r23
 19c:	78 2f       	mov	r23, r24
 19e:	88 27       	eor	r24, r24
 1a0:	b8 5f       	subi	r27, 0xF8	; 248
 1a2:	39 f0       	breq	.+14     	; 0x1b2 <__fixunssfsi+0x46>
 1a4:	b9 3f       	cpi	r27, 0xF9	; 249
 1a6:	cc f3       	brlt	.-14     	; 0x19a <__fixunssfsi+0x2e>
 1a8:	86 95       	lsr	r24
 1aa:	77 95       	ror	r23
 1ac:	67 95       	ror	r22
 1ae:	b3 95       	inc	r27
 1b0:	d9 f7       	brne	.-10     	; 0x1a8 <__fixunssfsi+0x3c>
 1b2:	3e f4       	brtc	.+14     	; 0x1c2 <__fixunssfsi+0x56>
 1b4:	90 95       	com	r25
 1b6:	80 95       	com	r24
 1b8:	70 95       	com	r23
 1ba:	61 95       	neg	r22
 1bc:	7f 4f       	sbci	r23, 0xFF	; 255
 1be:	8f 4f       	sbci	r24, 0xFF	; 255
 1c0:	9f 4f       	sbci	r25, 0xFF	; 255
 1c2:	08 95       	ret

000001c4 <__fp_cmp>:
 1c4:	99 0f       	add	r25, r25
 1c6:	00 08       	sbc	r0, r0
 1c8:	55 0f       	add	r21, r21
 1ca:	aa 0b       	sbc	r26, r26
 1cc:	e0 e8       	ldi	r30, 0x80	; 128
 1ce:	fe ef       	ldi	r31, 0xFE	; 254
 1d0:	16 16       	cp	r1, r22
 1d2:	17 06       	cpc	r1, r23
 1d4:	e8 07       	cpc	r30, r24
 1d6:	f9 07       	cpc	r31, r25
 1d8:	c0 f0       	brcs	.+48     	; 0x20a <__fp_cmp+0x46>
 1da:	12 16       	cp	r1, r18
 1dc:	13 06       	cpc	r1, r19
 1de:	e4 07       	cpc	r30, r20
 1e0:	f5 07       	cpc	r31, r21
 1e2:	98 f0       	brcs	.+38     	; 0x20a <__fp_cmp+0x46>
 1e4:	62 1b       	sub	r22, r18
 1e6:	73 0b       	sbc	r23, r19
 1e8:	84 0b       	sbc	r24, r20
 1ea:	95 0b       	sbc	r25, r21
 1ec:	39 f4       	brne	.+14     	; 0x1fc <__fp_cmp+0x38>
 1ee:	0a 26       	eor	r0, r26
 1f0:	61 f0       	breq	.+24     	; 0x20a <__fp_cmp+0x46>
 1f2:	23 2b       	or	r18, r19
 1f4:	24 2b       	or	r18, r20
 1f6:	25 2b       	or	r18, r21
 1f8:	21 f4       	brne	.+8      	; 0x202 <__fp_cmp+0x3e>
 1fa:	08 95       	ret
 1fc:	0a 26       	eor	r0, r26
 1fe:	09 f4       	brne	.+2      	; 0x202 <__fp_cmp+0x3e>
 200:	a1 40       	sbci	r26, 0x01	; 1
 202:	a6 95       	lsr	r26
 204:	8f ef       	ldi	r24, 0xFF	; 255
 206:	81 1d       	adc	r24, r1
 208:	81 1d       	adc	r24, r1
 20a:	08 95       	ret

0000020c <__fp_split3>:
 20c:	57 fd       	sbrc	r21, 7
 20e:	90 58       	subi	r25, 0x80	; 128
 210:	44 0f       	add	r20, r20
 212:	55 1f       	adc	r21, r21
 214:	59 f0       	breq	.+22     	; 0x22c <__fp_splitA+0x10>
 216:	5f 3f       	cpi	r21, 0xFF	; 255
 218:	71 f0       	breq	.+28     	; 0x236 <__fp_splitA+0x1a>
 21a:	47 95       	ror	r20

0000021c <__fp_splitA>:
 21c:	88 0f       	add	r24, r24
 21e:	97 fb       	bst	r25, 7
 220:	99 1f       	adc	r25, r25
 222:	61 f0       	breq	.+24     	; 0x23c <__fp_splitA+0x20>
 224:	9f 3f       	cpi	r25, 0xFF	; 255
 226:	79 f0       	breq	.+30     	; 0x246 <__fp_splitA+0x2a>
 228:	87 95       	ror	r24
 22a:	08 95       	ret
 22c:	12 16       	cp	r1, r18
 22e:	13 06       	cpc	r1, r19
 230:	14 06       	cpc	r1, r20
 232:	55 1f       	adc	r21, r21
 234:	f2 cf       	rjmp	.-28     	; 0x21a <__fp_split3+0xe>
 236:	46 95       	lsr	r20
 238:	f1 df       	rcall	.-30     	; 0x21c <__fp_splitA>
 23a:	08 c0       	rjmp	.+16     	; 0x24c <__fp_splitA+0x30>
 23c:	16 16       	cp	r1, r22
 23e:	17 06       	cpc	r1, r23
 240:	18 06       	cpc	r1, r24
 242:	99 1f       	adc	r25, r25
 244:	f1 cf       	rjmp	.-30     	; 0x228 <__fp_splitA+0xc>
 246:	86 95       	lsr	r24
 248:	71 05       	cpc	r23, r1
 24a:	61 05       	cpc	r22, r1
 24c:	08 94       	sec
 24e:	08 95       	ret

00000250 <__fp_zero>:
 250:	e8 94       	clt

00000252 <__fp_szero>:
 252:	bb 27       	eor	r27, r27
 254:	66 27       	eor	r22, r22
 256:	77 27       	eor	r23, r23
 258:	86 2f       	mov	r24, r22
 25a:	97 2f       	mov	r25, r23
 25c:	97 f9       	bld	r25, 7
 25e:	08 95       	ret

00000260 <__gesf2>:
 260:	b1 df       	rcall	.-158    	; 0x1c4 <__fp_cmp>
 262:	08 f4       	brcc	.+2      	; 0x266 <__gesf2+0x6>
 264:	8f ef       	ldi	r24, 0xFF	; 255
 266:	08 95       	ret

00000268 <__mulsf3>:
 268:	0a d0       	rcall	.+20     	; 0x27e <__mulsf3x>
 26a:	80 c0       	rjmp	.+256    	; 0x36c <__fp_round>
 26c:	71 d0       	rcall	.+226    	; 0x350 <__fp_pscA>
 26e:	28 f0       	brcs	.+10     	; 0x27a <__mulsf3+0x12>
 270:	76 d0       	rcall	.+236    	; 0x35e <__fp_pscB>
 272:	18 f0       	brcs	.+6      	; 0x27a <__mulsf3+0x12>
 274:	95 23       	and	r25, r21
 276:	09 f0       	breq	.+2      	; 0x27a <__mulsf3+0x12>
 278:	62 c0       	rjmp	.+196    	; 0x33e <__fp_inf>
 27a:	67 c0       	rjmp	.+206    	; 0x34a <__fp_nan>
 27c:	ea cf       	rjmp	.-44     	; 0x252 <__fp_szero>

0000027e <__mulsf3x>:
 27e:	c6 df       	rcall	.-116    	; 0x20c <__fp_split3>
 280:	a8 f3       	brcs	.-22     	; 0x26c <__mulsf3+0x4>

00000282 <__mulsf3_pse>:
 282:	99 23       	and	r25, r25
 284:	d9 f3       	breq	.-10     	; 0x27c <__mulsf3+0x14>
 286:	55 23       	and	r21, r21
 288:	c9 f3       	breq	.-14     	; 0x27c <__mulsf3+0x14>
 28a:	95 0f       	add	r25, r21
 28c:	50 e0       	ldi	r21, 0x00	; 0
 28e:	55 1f       	adc	r21, r21
 290:	aa 27       	eor	r26, r26
 292:	ee 27       	eor	r30, r30
 294:	ff 27       	eor	r31, r31
 296:	bb 27       	eor	r27, r27
 298:	00 24       	eor	r0, r0
 29a:	08 94       	sec
 29c:	67 95       	ror	r22
 29e:	20 f4       	brcc	.+8      	; 0x2a8 <__mulsf3_pse+0x26>
 2a0:	e2 0f       	add	r30, r18
 2a2:	f3 1f       	adc	r31, r19
 2a4:	b4 1f       	adc	r27, r20
 2a6:	0a 1e       	adc	r0, r26
 2a8:	22 0f       	add	r18, r18
 2aa:	33 1f       	adc	r19, r19
 2ac:	44 1f       	adc	r20, r20
 2ae:	aa 1f       	adc	r26, r26
 2b0:	66 95       	lsr	r22
 2b2:	a9 f7       	brne	.-22     	; 0x29e <__mulsf3_pse+0x1c>
 2b4:	77 95       	ror	r23
 2b6:	30 f4       	brcc	.+12     	; 0x2c4 <__mulsf3_pse+0x42>
 2b8:	f3 0f       	add	r31, r19
 2ba:	b4 1f       	adc	r27, r20
 2bc:	0a 1e       	adc	r0, r26
 2be:	12 1e       	adc	r1, r18
 2c0:	08 f4       	brcc	.+2      	; 0x2c4 <__mulsf3_pse+0x42>
 2c2:	63 95       	inc	r22
 2c4:	33 0f       	add	r19, r19
 2c6:	44 1f       	adc	r20, r20
 2c8:	aa 1f       	adc	r26, r26
 2ca:	22 1f       	adc	r18, r18
 2cc:	76 95       	lsr	r23
 2ce:	99 f7       	brne	.-26     	; 0x2b6 <__mulsf3_pse+0x34>
 2d0:	87 95       	ror	r24
 2d2:	20 f4       	brcc	.+8      	; 0x2dc <__mulsf3_pse+0x5a>
 2d4:	b4 0f       	add	r27, r20
 2d6:	0a 1e       	adc	r0, r26
 2d8:	12 1e       	adc	r1, r18
 2da:	63 1f       	adc	r22, r19
 2dc:	44 0f       	add	r20, r20
 2de:	aa 1f       	adc	r26, r26
 2e0:	22 1f       	adc	r18, r18
 2e2:	33 1f       	adc	r19, r19
 2e4:	86 95       	lsr	r24
 2e6:	a9 f7       	brne	.-22     	; 0x2d2 <__mulsf3_pse+0x50>
 2e8:	86 2f       	mov	r24, r22
 2ea:	71 2d       	mov	r23, r1
 2ec:	60 2d       	mov	r22, r0
 2ee:	11 24       	eor	r1, r1
 2f0:	9f 57       	subi	r25, 0x7F	; 127
 2f2:	50 40       	sbci	r21, 0x00	; 0
 2f4:	8a f0       	brmi	.+34     	; 0x318 <__mulsf3_pse+0x96>
 2f6:	e1 f0       	breq	.+56     	; 0x330 <__mulsf3_pse+0xae>
 2f8:	88 23       	and	r24, r24
 2fa:	4a f0       	brmi	.+18     	; 0x30e <__mulsf3_pse+0x8c>
 2fc:	ee 0f       	add	r30, r30
 2fe:	ff 1f       	adc	r31, r31
 300:	bb 1f       	adc	r27, r27
 302:	66 1f       	adc	r22, r22
 304:	77 1f       	adc	r23, r23
 306:	88 1f       	adc	r24, r24
 308:	91 50       	subi	r25, 0x01	; 1
 30a:	50 40       	sbci	r21, 0x00	; 0
 30c:	a9 f7       	brne	.-22     	; 0x2f8 <__mulsf3_pse+0x76>
 30e:	9e 3f       	cpi	r25, 0xFE	; 254
 310:	51 05       	cpc	r21, r1
 312:	70 f0       	brcs	.+28     	; 0x330 <__mulsf3_pse+0xae>
 314:	14 c0       	rjmp	.+40     	; 0x33e <__fp_inf>
 316:	9d cf       	rjmp	.-198    	; 0x252 <__fp_szero>
 318:	5f 3f       	cpi	r21, 0xFF	; 255
 31a:	ec f3       	brlt	.-6      	; 0x316 <__mulsf3_pse+0x94>
 31c:	98 3e       	cpi	r25, 0xE8	; 232
 31e:	dc f3       	brlt	.-10     	; 0x316 <__mulsf3_pse+0x94>
 320:	86 95       	lsr	r24
 322:	77 95       	ror	r23
 324:	67 95       	ror	r22
 326:	b7 95       	ror	r27
 328:	f7 95       	ror	r31
 32a:	e7 95       	ror	r30
 32c:	9f 5f       	subi	r25, 0xFF	; 255
 32e:	c1 f7       	brne	.-16     	; 0x320 <__mulsf3_pse+0x9e>
 330:	fe 2b       	or	r31, r30
 332:	88 0f       	add	r24, r24
 334:	91 1d       	adc	r25, r1
 336:	96 95       	lsr	r25
 338:	87 95       	ror	r24
 33a:	97 f9       	bld	r25, 7
 33c:	08 95       	ret

0000033e <__fp_inf>:
 33e:	97 f9       	bld	r25, 7
 340:	9f 67       	ori	r25, 0x7F	; 127
 342:	80 e8       	ldi	r24, 0x80	; 128
 344:	70 e0       	ldi	r23, 0x00	; 0
 346:	60 e0       	ldi	r22, 0x00	; 0
 348:	08 95       	ret

0000034a <__fp_nan>:
 34a:	9f ef       	ldi	r25, 0xFF	; 255
 34c:	80 ec       	ldi	r24, 0xC0	; 192
 34e:	08 95       	ret

00000350 <__fp_pscA>:
 350:	00 24       	eor	r0, r0
 352:	0a 94       	dec	r0
 354:	16 16       	cp	r1, r22
 356:	17 06       	cpc	r1, r23
 358:	18 06       	cpc	r1, r24
 35a:	09 06       	cpc	r0, r25
 35c:	08 95       	ret

0000035e <__fp_pscB>:
 35e:	00 24       	eor	r0, r0
 360:	0a 94       	dec	r0
 362:	12 16       	cp	r1, r18
 364:	13 06       	cpc	r1, r19
 366:	14 06       	cpc	r1, r20
 368:	05 06       	cpc	r0, r21
 36a:	08 95       	ret

0000036c <__fp_round>:
 36c:	09 2e       	mov	r0, r25
 36e:	03 94       	inc	r0
 370:	00 0c       	add	r0, r0
 372:	11 f4       	brne	.+4      	; 0x378 <__fp_round+0xc>
 374:	88 23       	and	r24, r24
 376:	52 f0       	brmi	.+20     	; 0x38c <__fp_round+0x20>
 378:	bb 0f       	add	r27, r27
 37a:	40 f4       	brcc	.+16     	; 0x38c <__fp_round+0x20>
 37c:	bf 2b       	or	r27, r31
 37e:	11 f4       	brne	.+4      	; 0x384 <__fp_round+0x18>
 380:	60 ff       	sbrs	r22, 0
 382:	04 c0       	rjmp	.+8      	; 0x38c <__fp_round+0x20>
 384:	6f 5f       	subi	r22, 0xFF	; 255
 386:	7f 4f       	sbci	r23, 0xFF	; 255
 388:	8f 4f       	sbci	r24, 0xFF	; 255
 38a:	9f 4f       	sbci	r25, 0xFF	; 255
 38c:	08 95       	ret

0000038e <_exit>:
 38e:	f8 94       	cli

00000390 <__stop_program>:
 390:	ff cf       	rjmp	.-2      	; 0x390 <__stop_program>
Реклама
mrFox
Нашел транзистор. Понюхал.
Сообщения: 190
Зарегистрирован: Пт сен 21, 2007 17:53:23
Откуда: Зарайск

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение mrFox »

если lss есть, то галочку уже поставленна
если судить по release версии, то задержка есть (0,2сек), все остальное вроде тоже
стоит просто помигать светодиодом - посмотреть будет ли работать:

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

for(;;) {
  PORTD |= (1<<PD0);
 _delay_ms(1000);
  PORTD &= ~(1<<PD0);
 _delay_ms(1000);
}
Catdawr
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Вс авг 21, 2016 19:53:33

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение Catdawr »

стоит просто помигать светодиодом - посмотреть будет ли работать:
Моргает...с задержкой моргает!... А почему тогда мой вариант не работает? при чем не работает в КБ, а в студии работает
Catdawr
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Вс авг 21, 2016 19:53:33

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение Catdawr »

Блин, магия какая то... не работает только _delay_ms и _delay_us и будучи в пределах if... Однако ж delay_loop работает

...Но здесь уже никого, походу, нет(

... а теперь вдруг заработало ВСЁ... пристрелите меня, ниче не понимаю
:shock:


                       :kill:
mrFox
Нашел транзистор. Понюхал.
Сообщения: 190
Зарегистрирован: Пт сен 21, 2007 17:53:23
Откуда: Зарайск

Re: Codeblock и winavr .... и возникшая проблема от сего син

Сообщение mrFox »

Ну какие-то действия всетаки делались - настройки менялись и т.д.
А так стоит подучить асемблер и смотреть в листинге что да как
Ответить

Вернуться в «AVR»