Ср июн 30, 2021 16:32:33
Ср июн 30, 2021 19:36:34
#include <avr/io.h>
#include <stdio.h>
#include <stdlib.h>
#include <avr/pgmspace.h>
#include <avr/interrupt.h>
#include <avr/eeprom.h>
#include <avr/sleep.h>
#define BUFFER_SIZE 255
volatile uint8_t ramTest[255];
void delay_ms(uint16_t); /* Defined in asmfunc.S */
void delay_us(uint16_t); /* Defined in asmfunc.S */
int main(void)
{
uint8_t *mem;
uint8_t index;
uint8_t data=1;
delay_ms(200);
DDRA = 0b11111111;
DDRD = 0b00000000;
DDRB = 0b00000000;
DDRC = 0b11111111;
DDRG = 0b11111111;
PORTA = 0b00000000;
PORTD = 0b00000000;
PORTB = 0b00000000;
PORTC = 0b00000000;
PORTG = 0b00000000;
ACSR = (1 << ACD);
// External memory interface enable
MCUCR |= (1<SRE);
XMCRA = 0;
//PC7..PC5 released pins
XMCRB |= (1<XMM1)|(1<XMM0);
mem = malloc(BUFFER_SIZE);
for(index = 0; index < BUFFER_SIZE; index++)
{
mem[index] = data++;
ramTest[index] = mem[index];
}
while(1);
}
-Wl,--section-start,.data=0x801100,--defsym=__heap_end=0x8030ff
Ср июн 30, 2021 21:39:46
Тест не пройден, у вас на картинке AVR Data memory - U4.oleg110592 писал(а):Упрощенный тест:
DDRC = 0xFF;
PORTC = 0x00;
XMCRA = _BV(SRL2);
MCUCR |= (_BV(SRE) | _BV(SRW10));
uint16_t a=0;
for(uint16_t i=0x8000; i < 0xFFFF; i++){
(*((uint8_t * const) (i))) = ((uint8_t) (a++));
}
data = (*((uint8_t * const) (address)))
Чт июл 01, 2021 08:03:17
ramTest[index] = mem[index];
mem = malloc(BUFFER_SIZE);
126: 8f ef ldi r24, 0xFF ; 255
128: 90 e0 ldi r25, 0x00 ; 0
12a: 0e 94 b6 00 call 0x16c ; 0x16c <malloc>
12e: 90 93 06 02 sts 0x0206, r25 ; 0x800206 <mem+0x1>
132: 80 93 05 02 sts 0x0205, r24 ; 0x800205 <mem>
136: 80 e0 ldi r24, 0x00 ; 0
138: 90 e0 ldi r25, 0x00 ; 0
13a: 21 e0 ldi r18, 0x01 ; 1
13c: 28 0f add r18, r24
for(index = 0; index < BUFFER_SIZE; index++)
{
mem[index] = data++;
13e: e0 91 05 02 lds r30, 0x0205 ; 0x800205 <mem>
142: f0 91 06 02 lds r31, 0x0206 ; 0x800206 <mem+0x1>
146: e8 0f add r30, r24
148: f9 1f adc r31, r25
14a: 20 83 st Z, r18
ramTest[index] = mem[index];
14c: e0 91 05 02 lds r30, 0x0205 ; 0x800205 <mem>
150: f0 91 06 02 lds r31, 0x0206 ; 0x800206 <mem+0x1>
154: e8 0f add r30, r24
156: f9 1f adc r31, r25
158: 20 81 ld r18, Z
15a: fc 01 movw r30, r24
15c: ea 5f subi r30, 0xFA ; 250
15e: fe 4f sbci r31, 0xFE ; 254
160: 20 83 st Z, r18
162: 01 96 adiw r24, 0x01 ; 1
for(index = 0; index < BUFFER_SIZE; index++)
164: 8f 3f cpi r24, 0xFF ; 255
166: 91 05 cpc r25, r1
168: 41 f7 brne .-48 ; 0x13a <main+0x4c>
16a: ff cf rjmp .-2 ; 0x16a <main+0x7c>
0x00801100 __heap_start = 0x801100
0x008030ff __heap_end = 0x8030ff
Чт июл 01, 2021 09:34:32
Чт июл 01, 2021 09:50:13
Чт июл 01, 2021 09:56:16
Вт июл 06, 2021 18:24:14
Ср июл 07, 2021 10:15:55
Ср июл 07, 2021 11:07:55
Ср июл 07, 2021 14:14:15
Ср июл 07, 2021 15:45:31
Чт июл 08, 2021 01:22:29