Перейти к содержанию
    

Начал работать с http://www.recursion.jp/avrcdc

Есть вопросы.

Работаю на IAR 4.11.

 

CDC-IO.2007-01-23

С ATMega8 собирается, а с ATMega48 и ATMega88 нет, говорит памяти мало. Хотя должно хватать, с ATMega8 получается

2 686 bytes of CODE memory (+ 34 range fill )

187 bytes of DATA memory (+ 5 absolute )

В ATMega48 – 4 Кб.

Почему?

 

AVR-CDC.2006-08-28

В файле sw-uart.c неизвестно несколько переменных, PRR, PRADC…

На каком компиляторе они работают. Может я чего пропустил?

 

У кого есть вариант адаптированный для IAR 4.11? Помогите.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может применить оптимизацию? Кстати встречался в IARе, что частенько максимальная оптимизация по скорости дает МЕНЬШИЙ код, чем макс. оптимизация по размеру.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На каком компиляторе они работают. Может я чего пропустил?
На gcc по моему

 

Попробуйте мой вариант, вроде все собирается, только поправьте регистры прерываний, у мега8 и 88 они разные. Увидите на что ругается компилятор

TEMP.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я первый пост понял так , что для мега48 код получается 4 кб, а под мега8 - 2 с копейками.. Ж)... А что конкретно говорит компилятор? Может вы его не правильно понимаете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я первый пост понял так , что для мега48 код получается 4 кб, а под мега8 - 2 с копейками.. Ж)...

 

Кто помнит banned, тут есть очень простое объяснение :)

Под mega8 код компилировался в GCC там все в порядке с байтами, а вот в IAR проблема, ведь как мы помним из banned, 1 байт IAR - 2 байта AVR :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При переносе программы с Atmega8 на ATmega*8 размер кода возрастает, видимо за счет других методов доступа к регистрам периферии. Но разумеется не в два раза, а на ~8%, хотя это еще от самой программы зависит.

Изменено пользователем AlexG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Оптимизация не помогла

prottoss - нет файла usb_descriptors.h

Если не сложно дайте ещё main.c

TEMP.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я первый пост понял так , что для мега48 код получается 4 кб, а под мега8 - 2 с копейками.. Ж)... А что конкретно говорит компилятор? Может вы его не правильно понимаете?

Компилятор говорит это:

Error[e16]: Segment TINY_Z (size: 0x16 align: 0) is too long for segment definition. At least 0x16 more bytes needed. The problem occurred while

processing the segment placement command "-Z(DATA)TINY_I,TINY_Z,TINY_N=_..X_SRAM_TBASE:+_..X_SRAM_TSIZE", where at the moment of

placement the available memory ranges were "DATA:0--1"

 

 

Кто помнит banned, тут есть очень простое объяснение :)

Под mega8 код компилировался в GCC там все в порядке с байтами, а вот в IAR проблема, ведь как мы помним из banned, 1 байт IAR - 2 байта AVR :biggrin:

Можно про banned подробнее, не слышал я про это.

 

Ещё раз к prottoss

не хватает определений USBDeviceDescriptor, USBDeviceDescriptor, … И всё что в avr910. В «AVR910 In-System Programming» применяемых функций нет.

 

 

 

Кстати, определение

 

# if defined GIMSK

# define USB_INTR_ENABLE GIMSK

# elif defined EIMSK

# define USB_INTR_ENABLE EIMSK

# else

# define USB_INTR_ENABLE GICR

# endif

 

IAR не понимает, приходится ручками править. Это в IAR так и задумано?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно про banned подробнее, не слышал я про это.

AVR Das Mal, zwei, drei :) http://electronix.ru/forum/index.php?showtopic=16600

Ведь специально написали "Для обязательного прочтения..."

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так проблема с сегментом памяти TINY_Z... там есть какие то проблемы и отличия в мега8 и мега48... почитайте эту ветку... http://electronix.ru/forum/index.php?showt...=13883&st=0 вроде тут что то про это было или тут http://electronix.ru/forum/index.php?showtopic=18676

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...