а на родине посмотреть?
![]() |
roboforum.ruТехнический форум по робототехнике. |
|
|
| Реклама | ||||
|
|
|
|||
limitations:
- the compiled code size is restricted to 1kbyte (512words) for chips with less then 2kwords of FLASH
and 2kbytes (1kword) of FLASH for the rest of chips
- the libraries for the PCF8563, PCF8583, DS1302, DS1307 REAL TIME CLOCKS,
DS2430, DS2433 EEPROMs are not available
- interrupt driven serial communication code generation by the CodeWizardAVR is disabled.
| Реклама | ||||
|
|
|
|||
avr123.nm.ru писал(а):CVAVR 2.03.2 - добавлено много нового
Размер демки вырос с 2 до 8 Мб.
rig писал(а):разыскивается версия V2.03.2 !
UncleSam писал(а):Может я что-то не понял, но только что откомпилил прогу в прошивку размером: 2091 words (4182 bytes), 51,0% of FLASH(для Mega8), на CodeVisionAVR Evaluation V2.03.3. А ведь написано:Free, 2kbytes code size limited version.
AVRASM: AVR macro assembler 2.1.12 (build 87 Feb 28 2007 07:31:13)
Copyright (C) 1995-2006 ATMEL Corporation
C:\avr\project\adc\adc m16\r10k.asm(2553): No EEPROM data, deleting C:\avr\project\adc\adc m16\r10k.eep
ATmega16 memory use summary [bytes]:
Segment Begin End Code Data Used Size Use%
---------------------------------------------------------------
[.cseg] 0x000000 0x0008d0 2150 106 2256 16384 13.8%
[.dseg] 0x000060 0x00016e 0 14 14 1024 1.4%
[.eseg] 0x000000 0x000000 0 0 0 512 0.0%AVRASM: AVR macro assembler 2.1.9 (build 90 Jul 5 2006 11:06:16)
Copyright (C) 1995-2006 ATMEL Corporation
r10k.asm(2499): No EEPROM data, deleting r10k.eep
ATmega16 memory use summary [bytes]:
Segment Begin End Code Data Used Size Use%
---------------------------------------------------------------
[.cseg] 0x000000 0x0008d8 2166 98 2264 16384 13.8%
[.dseg] 0x000060 0x000168 0 8 8 1024 0.8%
[.eseg] 0x000000 0x000000 0 0 0 512 0.0%AVRASM: AVR macro assembler 2.1.2 (build 99 Nov 4 2005 09:35:05)
Copyright (C) 1995-2005 ATMEL Corporation
r10k.asm(2390): No EEPROM data, deleting r10k.eep
ATmega16 memory use summary [bytes]:
Segment Begin End Code Data Used Size Use%
---------------------------------------------------------------
[.cseg] 0x000000 0x00084c 2026 98 2124 16384 13.0%
[.dseg] 0x000060 0x000168 0 8 8 1024 0.8%
[.eseg] 0x000000 0x000000 0 0 0 512 0.0%

// www.artem.ru
// (C)2008 Artem Kuchin
//
// THIS IS NOT A COMPLETE CODE!!!
// YOU MUST ADD YOU OWN LCD LIB AND REWRITE ALL CALLS TO LCD FUNCTIONS
// ****************************************
// *** SET FREQUENCY CORRECTLY **
#define F_CPU 1000000UL
// ****************************************
#include <io.h>
#include <inttypes.h>
#include <delay.h>
#include <stdlib.h>
#include <mega8.h>
#define X_XTAL1 1
#define X_OE 2
#define X_WR 3
#define X_BS1 4
#define X_XA0 5
#define X_XA1 6
#define X_BS2 7
int main()
{
DDRD|=0b11111110;
_delay_ms(5000);
// connect reset of bad chip to gnd now
// toggle xtal1 at lease 6 times
for(i=0;i<8;i++){
PORTD|=_BV(X_XTAL1);
_delay_ms(10);
PORTD&=~_BV(X_XTAL1);
_delay_ms(10);
}
// set prog enable pins (pagel is gnd, xa0, xa1, bs1 - zero)
// PD4,PD5,PD6
PORTD&=~(_BV(X_XA0)|_BV(X_XA1)|_BV(X_BS1));
PORTD|=_BV(X_WR); // write disables
_delay_ms(5000);
// connect reset of bad chip to +12 NOW
// SET OE HIGH
PORTD|=_BV(X_OE);
DDRB=0xff;
// chip erase
//Set XA1 to 1, XA0 to 0. This enables command loading.
PORTD|=_BV(X_XA1);
PORTD&=~_BV(X_XA0);
// Set BS1 to “0”, BS1 - PD4
PORTD&=~_BV(X_BS1);
// Set DATA to command
PORTB=0b10000000;
//Give XTAL1 a positive pulse. This loads the command., XTAL1 - PD1
PORTD|=_BV(X_XTAL1);_delay_ms(10);PORTD&=~_BV(X_XTAL1);_delay_ms(10);
// Give WR a negative pulse. This starts the Chip Erase. RDY/BSY goes low.
PORTD&=~_BV(X_WR);_delay_ms(10);PORTD|=_BV(X_WR);_delay_ms(10);
// wait a bit
_delay_ms(1000);
// load default data for FUSE low byte
//Set XA1 to 1, XA0 to 0. This enables command loading.
PORTD|=_BV(X_XA1);
PORTD&=~_BV(X_XA0);
// Set BS1 to “0”, BS1 - PD4
PORTD&=~_BV(X_BS1);
// Set DATA to command
PORTB=0b01000000;
//Give XTAL1 a positive pulse. This loads the command., XTAL1 - PD1
PORTD|=_BV(X_XTAL1);_delay_ms(10);PORTD&=~_BV(X_XTAL1);_delay_ms(10);
// load data
PORTD&=~_BV(X_XA1);
PORTD|=_BV(X_XA0);
PORTB=0b11100001; // DEFAULT VALUE FOR LOW FUSE BYTE
PORTD|=_BV(X_XTAL1);_delay_ms(10);PORTD&=~_BV(X_XTAL1);_delay_ms(10);
// Set BS1 to “0” and BS2 to “0”.
PORTD&=~_BV(X_BS1);
PORTD&=~_BV(X_BS2);
// Give WR a negative pulse. This starts the Chip Erase. RDY/BSY goes low.
PORTD&=~_BV(X_WR);_delay_ms(10);PORTD|=_BV(X_WR);_delay_ms(10);
// load default data for HIGH low byte
//Set XA1 to 1, XA0 to 0. This enables command loading.
PORTD|=_BV(X_XA1);
PORTD&=~_BV(X_XA0);
// Set BS1 to “0”, BS1 - PD4
PORTD&=~_BV(X_BS1);
// Set DATA to command
PORTB=0b01000000;
//Give XTAL1 a positive pulse. This loads the command., XTAL1 - PD1
PORTD|=_BV(X_XTAL1);_delay_ms(10);PORTD&=~_BV(X_XTAL1);_delay_ms(10);
// load data
PORTD&=~_BV(X_XA1);
PORTD|=_BV(X_XA0);
PORTB=0b10011001; // DEFAULT VALUE FOR HIGH FUSE BYTE
PORTD|=_BV(X_XTAL1);_delay_ms(10);PORTD&=~_BV(X_XTAL1);_delay_ms(10);
// Set BS1 to “0” and BS2 to “0”.
PORTD|=_BV(X_BS1);
PORTD&=~_BV(X_BS2);
// Give WR a negative pulse. This starts the Chip Erase. RDY/BSY goes low.
PORTD&=~_BV(X_WR);_delay_ms(10);PORTD|=_BV(X_WR);_delay_ms(10);
// done
while(1);
}
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0