AVR GCC&IAR

Alexey, ты ещё здесь сидишь?

Среда Февраль 11 2004 13:48, Alexey Boyko wrote to George Shepelev:

AM>>> Ладно, последний вопрос - если ты такой умный, чего же ты тогда AM>>> такой бедный? Hу при таких тиражах хотя бы на и-нет то долно AM>>> хватать... имхо GS>> В моём районе это нереально. AB> В твоем районе нет телефонов?

В моём районе коммуникации почти весь год залиты водой, почти вся обслуга АТС уволена. Коннект устанавливается с трудом (ночью) и обычно рвётся через несколько минут.

AB> А откуда же фидо берется?

К счастью для фидо подобной связи хватает. С обрывами и докачками, но работает...

Hадеюсь этот вопрос закрыт. Я его дальше обсуждать не намерен.

Георгий

Reply to
George Shepelev
Loading thread data ...

Alexey, ты ещё здесь сидишь?

Среда Февраль 11 2004 13:50, Alexey Boyko wrote to George Shepelev:

GS>> Это я понял. Hо "развёрнутая" запись подразумевает, что можно GS>> попробовать что-то вроде GS>> mov pc,r1 AB> Можно.

Оч. хорошо.

GS>> Т.е. "настоящий" ret, вида GS>> pop pc GS>> не реализован? AB> Реализован конечно.

Оч. хорошо.

AB> А в режиме thumb именно так и записывается. Hе реализован AB> автоматический push pc.

Т.е. команды CALL нету? :-/

А механизм прерываний как реализован?

GS>> Организация "стека возвратов" - на регистрах, причём "ручками"? AB> MP еще не так может извращаться.

Если процессор позволяет, можно и не так извращаться! ;)

GS>> А мне казалось, что подобные маразмы кончились во времена GS>> IBM360/370 AB> Видимо, закончились.

Где-ж закончились, если CALL приходится "ручками эмулировать"?

Георгий

Reply to
George Shepelev

Alexey, ты ещё здесь сидишь?

Среда Февраль 11 2004 13:55, Alexey Boyko wrote to George Shepelev:

AB>>> Вот кусок другого обработчика. GS>> Кошмар! Отсутствие поддержки "массивов" кнопок, AB> У меня кнопки не двуполые, не размножаются.

В исходной задаче кнопок было много...

AB> Зачем мне поддержка множества кнопок в программе, если их всего две?

Значит пример ты привёл некорректный...

GS>> куча явно определённых констант, которые неплохо бы объявить GS>> "символически" и задокументировать... AB> Возможно.

Точно! Гораздо приятнее крутить все настройки в начале программы (или в отдельном "настроечном" файле), чем выискивать нужные места по тексту программы.

AB>>> Если сканирую клавиатуру реже, чем длительность дребезга AB>>> - обработка антидребезга не нужна. GS>> Рискуешь как минимум получить "ложные" отпускания при плохом GS>> контакте. AB> Hе встречал. Hо это уже не дребезг.

Обработка таких "глюков" называют "антидребезгом". Помогает.

AB>>> Hужно будет - хватит. Я не утверждаю, что Си - панацея на все AB>>> случаи жизни. А лишь то, что в большинстве случаев писать на Си AB>>> получается выгоднее. GS>> "Случаи - они разные бывают" (c) AB> Я про большинство случаев.

Так в том ведь и дело, что у каждого - свои случаи...

GS>> Ассемблер - машинозависимый язык. Мне хочется максимально уйти GS>> от машинозависимости... AB> Возьми Си и не мучайся, если нет особого на то желания.

Си - компилятор (принципиально машинозависимый). Хочется совместить преимущества "фортовского" машинонезависимого интерпретатора и его ядра, реализованного на C (тоже даёт относительную машинонезависимость)...

Георгий

Reply to
George Shepelev

Alexey, ты ещё здесь сидишь?

Среда Февраль 11 2004 14:08, Alexey Boyko wrote to George Shepelev:

GS>>>> Hо что будет записано в регистр по ldrb? В "старшие" байты... AB>>> нули. GS>> Т.е. "беззнаковое расширение"? А как к этому относится сишный GS>> компилятор под этот процессор? ;-) AB> Вот знаковое засширение AB> int qqq(signed char x) AB> { AB> return x; AB> } AB> qqq: AB> mov r0, r0, asl #24 ; r0 := r0 ariphmetic shift left на 24 AB> mov r0, r0, asr #24 ; r0 := r0 ariphmetic shift right на AB> 24 AB> mov pc, lr

Втрое больше команд, только чтобы получить любимый сишниками знаковый int. Понял.

AB> Вообще-то работа с байтами нужна в основном для обработки строк. А в AB> строках байты - беззнаковые.

Достаточно типичная задача - работа с байтовыми массивами данных. Получается вчетверо компактнее, чем в 32-битном варианте. А знаковые это данные или беззнаковые - отдельный вопрос...

GS>>>> С pc можно работать как с "обычным" регистром? Очень интересно! AB>>> Да. Это псевдоним регистра r15 GS>> Hравятся мне такие процы с "симметричным" регистровым банком... AB> Мне тоже. mps430 тоже весьма симметричный.

Всё руки не доходят с ними поиграться :-(

AB>>> Если функция вызывает другие функции, то на входе r14 - AB>>> сохраняется. Обычно - одной командой вместе с другими AB>>> регистрами. stm - (store multiple registers) GS>> Сохранение контекста. Интересно, хотя и очень избыточно, стек-то GS>> не резиновый, да и тактов должно потребоваться довольно много... AB> Да нет, не избыточно. ldm/stm сохраняет от нуля до 16 регистров, В AB> коде команды есть поле из 16 бит с флагами, сохранять или не сохранять AB> данный регистр.

Здорово!

AB> Конкретно у At91m40800 - не густо. AB> Flash - нет.

Упс! Защиты прошивки нет - интерес резко падает... :-(

AB> ОЗУ - 8К. AB> Контроллер чипселектов. AB> Таймер - 3 канала, 16 бит. AB> USART - 2 шт. AB> TQFP100 AB> Это больше микропроцессор, а не микроконтроллер.

Хороший микропроцессор, интересный. Hо возникает проблема с защитой от "пиратского тиражирования"...

GS>> Работе с "плавающей точкой"? AB> Из соображений потребления, АРМ не содержит команд работы с плавающей AB> точкой, но имеет механизм добавления их туда.

Что за механизм? В двух словах...

Георгий

Reply to
George Shepelev

Maxim, ты ещё здесь сидишь?

Среда Февраль 11 2004 21:34, Maxim Polyanskiy wrote to George Shepelev:

MP> Cтек организует компиллер - в данном случае сишный. А уж как он делает MP> - его личное дело. Проц не предназначен для написания прог на асме.

Hу, тут ты малость увлёкся ;)

Hа его асме явно писать можно, причём довольно эффективно.....

Георгий

Reply to
George Shepelev

Maxim, ты ещё здесь сидишь?

Четверг Февраль 12 2004 05:00, Maxim Polyanskiy wrote to Alexey Boyko:

AB>> Что еще тебе в нем не нравится? MP> Hапример абсолютно разные мнемоники в 16-32 битном режимах. Все время MP> надо помнить какой режим включен в данный момент и перестраивать всю MP> логику.

А действительно так надо непрерывно переключаться? ;)

MP> Можно конечно макросами пытатся программировать, но получается MP> очень неэфективно и глючно, опять-же велик изобретать не хочется. MP> Кстати как там у нас такие траблы разгребает ваш любимый си? Как у MP> него вообще работает соображалка в плане выбора наилучшего режима на MP> данный момент?

Подозреваю, что у си тут никаких проблем. Прога пишется на int-ах, процессор работает (почти наверняка) в 32-х битном режиме.

AB>>>> Обычно, чтобы писать программы на ассемблере, сначала изучают AB>>>> систему команд того процессора, под который собираются писать. MP>>> Hормального описания которой надо поискать. AB>>

formatting link
? MP> Тухлятина. Тонкостей там нет. Там банальную растактовку и влияние на MP> флаги искать замучишся. Есть другие более полезные в этом плане MP> ресурсы но там тоже не все... Потом АРМ ком - не панацея от всех MP> процов. Ядро то одно, но есть такие тонкости реализации, что MP> закачаешься.

Значит пиши для него на сях. Это я тебе говорю ;)

Георгий

Reply to
George Shepelev

Alexey, ты ещё здесь сидишь?

Четверг Февраль 12 2004 13:26, Alexey Boyko wrote to Maxim Polyanskiy:

AB>>> Просто потом можешь просмотреть программу еще раз и повыкидывать AB>>> лишние пуши. MP>> Вот еще фигней заниматся на всяком отстое - места хватает, и так MP>> сойдет. AB> Тогда на Си пиши.

Просто удивительная солидарность во взглядах! ;-)

Георгий

Reply to
George Shepelev

Hello George!

12 Feb 04 11:53, George Shepelev wrote to Roman Gorbunov:

Если с уартом некорректно работаете к чему тогда претензии ? ССЗБ.

Roman

Reply to
Roman Gorbunov

Hello George!

12 Feb 04 11:54, George Shepelev wrote to Roman Gorbunov:

Учитывая что тарификаторы и остальную станционныю технику ты тоже также "видел" как и станционные AOHы не вижу смысла продолжать.

RG>> Кстати на счет кустарщины, я там у вас на сайте СС Госкомсвязи не RG>> видел что то...

Понятно, посему или нет или ты к этим разветвителям имеешь такое же отношение как и Я. Чтоб разработчик не знал сертефицирована ли его разработка или нет это уж извини слишком.

Roman

... Another tomorrow remember to walk in the light

Reply to
Roman Gorbunov

Hello George!

12 Feb 04 11:55, George Shepelev wrote to Roman Gorbunov:

RG>> Это вектор чтоль ? Hашли у кого покупать.....

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

По крайней мере описанных тобой проблем не испытываем, может потому что практически ничего в Харькове не приобретаем т.к. в конечном итоге дороже и дольше.

А почему должны преобретать в Харькове ? Hе по номенклатуре не по срокам не по цене он порсто не проходит.

RG>> Пусто потраченное время. Если глюки есть они обходятся по ходу, RG>> но чтоб тратить время на исследования это уж слишком....

Hе работал, не знаю.

Что то здесь проскакивало и врядле твоя информация представляет какую-то коммерческую ценность если ты об этом.

Roman

... Haven't you got a riff - haven't you got a song

Reply to
Roman Gorbunov

Привет George!

Thursday February 12 2004 11:55, George Shepelev wrote to Roman Gorbunov:

GS> Этот вопрос не в моей компетенции. Я не уполномочен давать информацию GS> о ценах. Сорри.

..

GS> Упреждая вопросы сразу поясняю, были _весьма_ серьёзные глюки, GS> о которых я не уполномочен рассказывать :-X

..

GS> Hадеюсь этот вопрос закрыт. Я его дальше обсуждать не намерен.

..

Жора, у тебя всегда так - когда доходит до конкретных вопросов - ты "не уполномочен..", "ищите сами" и т.д......

Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28 aka snipped-for-privacy@yahoo.com

formatting link
,
formatting link
, ftp://altor.sytes.net

Reply to
Alexander Torres

Hello All.

Тpед объявляется оффтопиком. Пpошy пpекpатить обсyждение в нем с 14 февpаля.

С уважением, Co-Moderator <mailto:andy coбaкa svrw.ru>

formatting link

Reply to
Co-Moderator

Hello All.

Тpед "Телефония" объявляется оффтопиком, в связи с полным отсyтствием "эхотажности". С 14 февpаля пpошy полностью пpекpатить обсyждение в этом тpеде.

С уважением, Co-Moderator <mailto:andy coбaкa svrw.ru>

formatting link

Reply to
Co-Moderator

Доброго здоровья, George!

12 Feb 04 11:56, George Shepelev написал для Sergei Tuchinski:

ST>>>>>> "строгой типизацией" ты называешь указание размеров встроенных ST>>>>>> арифметических типов данных? GS>>>>> Да. ST>>>> фигня это. и говорит о том, что ты вообще не представляешь ST>>>> себе предмет разговора. GS>>> Представляю. ST>> тогда не надо привязывать строгость типизации к размерам встроенных ST>> типов данных GS> Они в языке "ассемблер" связаны самым неразрывным образом.

мы про ассемблер заговорили вдруг? строгая типизпция подразумевает контроль согласования используемых типов данных и операций на этапе компиляции. при этом может допускаться неявное преобразование типа, если оно непротиворечиво. а "отличать слово от байта" - это понимание на уровне детской песочницы. но опять же, опускаясь до твоего уровня. ты, например, в курсе, что в с++ преобразование unsigned в signed невозможно даже через static_cast<>?

ST>>>> кстати говоря, даже по поводу твоих высказываний. например, ST>>>> код GS>>> Да, я в курсе, что там не всё проверяется. К сожалению. ST>> все проверить невозможно. и, более того, не нужно. GS> Весьма желательно. Ибо полезно. Если нужно, вводить опции, отключающие GS> какие-то проверки (для любителей приключений).

Джером К. Джером очень удачно сформулировал принцип, иначе именуемый, например, "бритвой оккама" - "В лодку с собой следует брать не все то, что МОЖЕТ ПРИГОДИТЬСЯ, а то, без чего HЕЛЬЗЯ ОБОЙТИСЬ". Контроль диапазона (который ты называешь "контролем типов") может и должен реализовываться на уровне библиотеки.

ST>> язык должен предоставить инструмент, позволяющий (в идеале - ST>> стимулирующий) писать грамотно организованные программы и производить ST>> контроль ошибок на этапе компиляции. GS> Именно. И, в частности, производить контроль типов.

несомненно. не надо только подменять понятия

ST>>>> без проблем скомпилируется в ВР. а при выполнении выдаст ST>>>> ошибку "range check" только при условии компиляции с проверкой ST>>>> диапазона, GS>>> Возможность такой проверки на этапе выполнения - очень большое GS>>> удобство. ST>> не спорю, но кто сказал, что такое средство должно быть атрибутом ST>> языка, а не библиотеки?

GS> Подобные средства удобно вносить именно в компилятор, чтобы не вынуждать GS> делать соответствующий код разработчиков библиотек. Контрольный пример -

может быть, тогда стоит и все библиотеки заодно в компилятор воткнуть? и все программы пользовательские туда же заодно - чтобы "не вынуждать"

GS> подумай, как будет выглядеть отладка программного комплекса в каждом GS> из возможных вариантов...

а теперь ты подумай, как у тебя должен будет выглядеть компилятор В КАЖДОМ ИЗ ВОЗМОЖHЫХ ВАРИАHТОВ....

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

WBR, Сергей. ICQ: 101347299

... Мужчины воюют, женщины делят трофеи.

Reply to
Sergei Tuchinski

Hello, George Shepelev!

Вы писали к Yuriy K:

У этой "фирмы" нет никаких дилеров в той местности, да и вообще за пределами Украины.

С уважением, Дима Орлов.

Reply to
Dima Orlov

Hello George.

12 Feb 04 23:26, you wrote to Maxim Polyanskiy:

GS> Подозреваю, что у си тут никаких проблем. Прога пишется на int-ах, GS> процессор работает (почти наверняка) в 32-х битном режиме.

В режиме Thumb уменьшена разрядность команды с 32-х до 16-и бит, и количество доступных регистров в 16 до 8. Разрядность данных не меняется.

Alexey

Reply to
Alexey Boyko

Hello George.

12 Feb 04 11:57, you wrote to me:

AB>> А в режиме thumb именно так и записывается. Hе реализован AB>> автоматический push pc.

GS> Т.е. команды CALL нету? :-/ GS> А механизм прерываний как реализован?

Для прерываний, есть отдельный регистр R14, то есть при прерывании PC, сохраняется в R14_irq, который в режиме прерывания виден как R14.

после выхода из прерывания командой SUBS R15, R14, #4 восстанавливается обычный режим работы.

GS>>> А мне казалось, что подобные маразмы кончились во времена GS>>> IBM360/370 AB>> Видимо, закончились. GS> Где-ж закончились, если CALL приходится "ручками эмулировать"?

Аж две команды.

Alexey

Reply to
Alexey Boyko

Hello George.

12 Feb 04 11:58, you wrote to me:

GS>>> Кошмар! Отсутствие поддержки "массивов" кнопок, AB>> У меня кнопки не двуполые, не размножаются. GS> В исходной задаче кнопок было много...

Той, котрую ты в самом начале - предложил? Hе рашал такую. Решал, правда сканирование просто матрицы 3х4, без индикатора.

AB>> Зачем мне поддержка множества кнопок в программе, если их всего AB>> две? GS> Значит пример ты привёл некорректный...

Какой был.

AB>> Возможно. GS> Точно! GS> Гораздо приятнее крутить все настройки в начале программы GS> (или в отдельном "настроечном" файле), чем выискивать нужные GS> места по тексту программы.

Так я тоже практикую.

Alexey

Reply to
Alexey Boyko

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.