посоветуйте asm для AVR - Page 2

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Russian to

Threaded View
По поводу Proj-AVR
Dear Vladimir,

Вопрос назрел, ответь plz, если в курсе:

Я правильно понял, что в сабжевом симуляторе полностью отсутствует симуляция
встроенного таймера?
Есть ли возможность симулировать таймерные прерывания с помощью его скриптов? У
меня ничего не вышло :-(  Причем, разумеется, хотелось бы не просто выставлять
какие-то флажки, но реально выполнять код обработчика прерывания (отлаживать
его).

И вообще было бы здорово опять же примеров. Этих самых скриптов. В комплекте
поставки что-то совершенно неинтересное.

Можно на sbryxin AT mail DOT ru

Спасибо.

        Sincerely yours,
                         Old Greaser.


По поводу Proj-AVR
                     Привет, Serge!

 SB> Я правильно понял, что в сабжевом симуляторе полностью отсутствует
 SB> симуляция встроенного таймера?
Да,  только  симуляция  системы  команд,  переферия  и  система прерываний не
симулируется.  Это  не полнофункциональный симулятор, демо-режим отладчика. В
данном  пакете  полнофункциональный  симулятор  не  делался,  т.к. аппаратный
эмулятор и так дёшево стоит.

 SB> Есть ли возможность симулировать таймерные прерывания с помощью его
 SB> скриптов?
Скорее всего да.

 SB> У меня ничего не вышло :-(  Причем, разумеется, хотелось бы не
 SB> просто выставлять какие-то флажки, но реально выполнять код обработчика
 SB> прерывания (отлаживать его).
Т.е. кроме самого таймера отрабатывать систему прерываний.

 SB> И вообще было бы здорово опять же примеров. Этих самых скриптов. В
 SB> комплекте поставки что-то совершенно неинтересное.
 SB> Можно на sbryxin AT mail DOT ru
Лови.

                                           Владимир Чекин


посоветуйте asm для AVR
Привет Serge!

25 Oct 03 02:17, Serge Bryxin писал Roman Gorbunov:

 SB> Опять же неясно, каким образом заставить AVRstudio работать с сырцами
 SB> из IAR. Он же их в упор не поймет?

    Отладчику и не требуется понимать исходные тексты, он их не компилирует.
Отладочная информация уже должна содержать имена файлов и номера строк, и
забота отладчика - показать их. А что именно в этой строчке написано - не его
забота. Это пусть трансляторы разбираются.

Всего наилучшего,                                 [Team PCAD 2000]
Алексей М.
... Старый глюк лучше новых двух...

посоветуйте asm для AVR
Привет Serge!

23 Oct 03 10:57, Serge Bryxin писал All:

 SB> Посоветуйте puhlease удобный комплект для работы с AVR на ассемблере:
 SB> компилятор, отладчик, симулятор.

    Я знаю два хороших бесплатных ассемблера - от IAR и от GNU. Сам пользуюсь
последним, ибо использую еще и gcc.

    Из отладчиков ничего не могу посоветовать.

 SB>  Симулятор черепаший, любые программные задержки
 SB> отрабатывает часами (т.е. отлаживать любой рилтайм физически
 SB> невозможно).

    А что ты хотел от симулятора? Заведи в программе например макрос SIM, чтобы
если он определен, все задержки были уменьшены для удобства прогона в
симуляторе.

Всего наилучшего,                                 [Team PCAD 2000]
Алексей М.
... Пирожок печеный с печенью.

посоветуйте asm для AVR
Dear Alex,

24 Oct 03 00:20, Alex Mogilnikov wrote to Serge Bryxin:

 SB>> Посоветуйте puhlease удобный комплект для работы с AVR на ассемблере:
 SB>> компилятор, отладчик, симулятор.
 AM> Я знаю два хороших бесплатных ассемблера - от IAR и от GNU. Сам
 AM> пользуюсь последним, ибо использую еще и gcc.
 AM> Из отладчиков ничего не могу посоветовать.

Интересно, а как же ты работаешь без отладчика???
А в комплекте AVR GCC есть отдельный asm? Спасибо, я посмотрю.
К GCC у меня - старая любовь :-)

 SB>>  Симулятор черепаший
 AM> А что ты хотел от симулятора?

Вообще-то я хотел, чтобы он на гигагерцовой машине с мощным конвейером
симулировал эти фитюльки со скоростью ракеты. Даже будучи написан на васике :-)
Это просто кто-то программы писать не умеет :(  IMHO.

 AM>  Заведи в программе например макрос SIM, чтобы если он определен, все
 AM> задержки были уменьшены для удобства прогона в симуляторе.

Это как бы очевидно... но:

1) Этот [censored] AVRstudio, с которым я работаю, не умеет условную
компиляцию. Вообще.
2) Если задержки не циклические, а таймерные (как оно в приличном проекте и
бывает повсеместно), тут даже дефайнами не спасешься.

В общем, я пока выработал для себя невероятно кривую стратегию, которая хоть
как-то помогает получить результат. Все сколько-нибудь сложные функции пишутся
в отдельном "голом" проекте, там отлаживаются, потом копируются в основной. Это
работает. Вот только обвес (эмуляция взаимодействия с основной программой)
часто занимает больше времени, чем собственно функция.

        Sincerely yours,
                         Old Greaser.


посоветуйте asm для AVR
Привет Serge!

25 Oct 03 02:40, Serge Bryxin писал Alex Mogilnikov:

 SB> Интересно, а как же ты работаешь без отладчика???

    Я работал с avr-студией, но такого никому не посоветую. :)

 SB> А в комплекте AVR GCC есть отдельный asm?

    Hету его там. В gcc - только компиляторы. Ассемблер, линкер и прочие
сопутствующие утилиты входят в пакет binutils.

 SB>>>  Симулятор черепаший
 AM>> А что ты хотел от симулятора?

 SB> Вообще-то я хотел, чтобы он на гигагерцовой машине с мощным конвейером
 SB> симулировал эти фитюльки со скоростью ракеты. Даже будучи написан на
 SB> васике :-) Это просто кто-то программы писать не умеет :(  IMHO.

    Вот это - точно! :)

 AM>>  Заведи в программе например макрос SIM, чтобы если он определен,
 AM>> все задержки были уменьшены для удобства прогона в симуляторе.

 SB> Это как бы очевидно... но:

 SB> 1) Этот [censored] AVRstudio, с которым я работаю, не умеет условную
 SB> компиляцию. Вообще.

    Мне казалось очевидным, что препроцессор можно взять от любого стороннего
продукта, если уж его нет в avr-студии. Hо, самое главное, не надо пользоваться
ей для трансляции. ИМХО она в качестве транслятора (ассемблера) просто не стоит
рассмотрения.

 SB>  2) Если задержки не циклические, а таймерные (как
 SB> оно в приличном проекте и бывает повсеместно), тут даже дефайнами не
 SB> спасешься.

    Почему же? Я спасаюсь. У меня есть некий макрос типа CPU_CLOCK, из которого
рассчитываются все необходимые значения для таймеров. Если написано что-то типа

#ifdef SIM
#define CPU_CLOCK 100000    /* скорость симулируемого cpu */
#else
#define CPU_CLOCK 34368000  /* скорость реального cpu */
#endif

   то под симулятором и все таймеры начинают тикать "как-бы раз в 300 чаще". :)

 SB> В общем, я пока выработал для себя невероятно кривую стратегию,
 SB> которая хоть как-то помогает получить результат. Все сколько-нибудь
 SB> сложные функции пишутся в отдельном "голом" проекте, там отлаживаются,
 SB> потом копируются в основной. Это работает. Вот только обвес (эмуляция
 SB> взаимодействия с основной программой) часто занимает больше времени,
 SB> чем собственно функция.

    Hичего особенно кривого я тут не вижу. Сам так делал - есть некий проект,
который на 90% отлаживается на PC - просто собирается под i386 и весь
низкоуровневый ввод-вывод симулируется. И только в самом конце все
пересобирается под mcs51 и зашивается в оборудование. Остается лишь убедиться,
что все работает...

Всего наилучшего,                                 [Team PCAD 2000]
Алексей М.
... Синяки рождаются в споре куда чаще, чем истина...

посоветуйте asm для AVR
Dear Alex,

26 Oct 03 00:03, Alex Mogilnikov wrote to Serge Bryxin:

 SB>>  2) Если задержки не циклические, а таймерные (как оно в приличном
 SB>> проекте и бывает повсеместно), тут даже дефайнами не спасешься.

 AM> У меня есть некий макрос типа CPU_CLOCK, из которого рассчитываются
 AM> все необходимые значения для таймеров. Если написано что-то типа
 AM> #ifdef SIM
 AM> #define CPU_CLOCK 100000    /* скорость симулируемого cpu */
 AM> #else
 AM> #define CPU_CLOCK 34368000  /* скорость реального cpu */
 AM> #endif
 AM> то под симулятором и все таймеры начинают тикать "как-бы раз в 300
 AM> чаще". :)

Так ничего не выйдет (точнее, выйдет в достаточно редких случаях).
1) Если у меня (скажем) таймер тикает раз в 1uS, а процессор - 8 раз за 1uS, то
я не смогу поднять скорость более, чем в 8 раз.
2) Может легко статься (и станется), что после поднятия скорости подпрограмма
обслуживания прерывания будет не успевать. Что приведет к полной
неработоспособности симуляции при вполне корректной программе.
3) Конкретно AVRstudio не спасет ни 8, ни 300 раз. Вот 3000 - это бы хоть
как-то помогло.

        Sincerely yours,
                         Old Greaser.


Re: посоветуйте asm для AVR
Hемедленно нажми на RESET, Serge Bryxin!



 SB> Работаю на AVRstudio-4. Редкостное угробище. Условной компиляции нет.

   GCC. (www.gnu.org)



Site Timeline