ъ

Jun 23, 2004 78 Replies

Привет Artem!



Wednesday June 23 2004 10:34, Artem Kamburov wrote to Vladimir Vassilevsky:



> AT>>> Сколько там мозгов в 26-й ? >> VV>> 2k flash/128 RAM >> AT> А в 84-м - 1k flash/36 RAM AK>

AK> А в 84-м - 1792 байта (1К*14 слов) flash. Hа 26-ю ведь дали в байтах, а не AK> в словах (1К*16 слов).


Это уже старый спор. У 16-х пиков слово не делится, поэтому у 84-х - 1К.


AT>> А ты знаешь способ принимать поксаг совсем без коррекции? :) AK>


AK> При нормальном кварце и нормальной связи - элементарно - берешь и AK> затягиваешь всю колбасу, передаешь ее куда-то, а там разберутся.


Там некому разбиратся, цель задачи была - прием и печать сообщений на принтере, принтер врядли с "колбасой" сможет "разобраться" :-)


Кеширование в ЕЕПРОМ было только из-за медлительности принтера, или когда в нем бумагу меняют или он временно выключен.


(это предполагался автомобильный комплект, для развозки телеграмм по городу).


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

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

Привет Artem!

Friday June 25 2004 10:37, Artem Kamburov wrote to Alexander Torres:

AK> У АВР тоже не делится.

Для данных - делится, у 16-х пиков - не делится. А в том куске - таблица, так что сравнение уже некорректное, или надо брать 18-е пики.

AK> Я не о том. Просто не разумно сравнивать разные величины (байты со AK> словами AK> (числом инструкций)) - можно сильно ошибиться в возможностях чипа. Пока я AK> вижу, что наиболее корректное сравнение разных чипов именно в байтах. AK>

AK> А то вон, посмотри Harry Zhurov snipped-for-privacy@online.nsk.su> привел размер AK> кода AK>

AK> Вот теперь и гадай "372 байта" это действительно в байтах или это 372 AK> команды (которые показал компилятор) :( . Мне почему-то сравнивая с AK> другими результатами (630 байт у АВР, 525-683 байта у ПИКа) сильно AK> кажется, что именно команд... Или я ошибаюсь?

Если ты о примере с PОCSAG, то у пика он 340 команд или 600 байт, все равно меьнше чем у АВРа :)

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

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

Hello, Artem Kamburov !

Делится для данных.

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

Всем привет.

У АВР тоже не делится. Я не о том. Просто не разумно сравнивать разные величины (байты со словами (числом инструкций)) - можно сильно ошибиться в возможностях чипа. Пока я вижу, что наиболее корректное сравнение разных чипов именно в байтах.

А то вон, посмотри Harry Zhurov snipped-for-privacy@online.nsk.su> привел размер кода

Вот теперь и гадай "372 байта" это действительно в байтах или это 372 команды (которые показал компилятор) :( . Мне почему-то сравнивая с другими результатами (630 байт у АВР, 525-683 байта у ПИКа) сильно кажется, что именно команд... Или я ошибаюсь?

АртемКАД

Fri, 25 Jun 2004 06:37:44 +0000 (UTC) Artem Kamburov wrote to Alexander Torres:

AK> У АВР тоже не делится. AK> Я не о том. Просто не разумно сравнивать разные величины (байты со словами AK> (числом инструкций)) - можно сильно ошибиться в возможностях чипа. Пока я AK> вижу, что наиболее корректное сравнение разных чипов именно в байтах.

AK> А то вон, посмотри Harry Zhurov snipped-for-privacy@online.nsk.su> привел размер кода

AK> Вот теперь и гадай "372 байта" это действительно в байтах или это 372 AK> команды (которые показал компилятор) :( . Мне почему-то сравнивая с другими AK> результатами (630 байт у АВР, 525-683 байта у ПИКа) сильно кажется, что AK> именно команд... Или я ошибаюсь?

Это именно байт. Размер кода. А команды там бывают одно-, двух- и трехсловные (слово - два байта, т.е. команды могут быть двух-, четырех и шестибайтными). Выигрыш 430 (и по быстродействию, и по размеру кода) получается естественным, т.к. он 16-разрядный - одной командой делает то, что АВР делает двумя. На 8-разрядных данных большого выигрыша у 430-го нет (только на вычислении адресов выигрывает, которые, обычно, 16 бит), а 16-битных данных преимущество естественно.

Hello Vladimir.

25 Jun 04 16:35, you wrote to Alexander Torres:

AT>> Если ты о примере с PОCSAG, то у пика он 340 команд или 600 байт, AT>> все равно меьнше чем у АВРа :)

VV> Локальнык переменные - статические?

VV> MSP430, похоже, всех кроет по всем параметрам сразу. VV> Вот такое пикоманство/аврство.

К сожалению, он максимум на 8Mhz и 3.6В

Alexey

Fri Jun 25 2004 10:16, Alexander Torres wrote to Artem Kamburov:

AT> Если ты о примере с PОCSAG, то у пика он 340 команд или 600 байт, все AT> равно меьнше чем у АВРа :)

Локальнык переменные - статические? MSP430, похоже, всех кроет по всем параметрам сразу. Вот такое пикоманство/аврство.

VLV

"There is no business other then show business " (c)

Hello, Vladimir Vassilevsky !

Конечно, не в стеке же.

Кроме цены и большого количества других особенностей.

Что тебя все на извращения тянет?

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

Fri Jun 25 2004 17:21, Dima Orlov wrote to Vladimir Vassilevsky:

Фу. Hе-функция на не-сях. И с float, похоже, вообще никак. >> Вот такое пикоманство/аврство. DO> Что тебя все на извращения тянет? Кто PICи программирует - у них мозги становятся набекрень. Потому, что иначе нельзя при такой архитектуре и 35 удобных командах. Из AVR мы выросли. Теперь надо, наверное, на ARM закладываться.

VLV

"There is no business other then show business " (c)

Пpивет, Vladimir!

*** 25 Jun 04 19:07, Vladimir Vassilevsky wrote to Dima Orlov:

VV> Фу. Hе-функция на не-сях. И с float, похоже, вообще никак.

Вот с float на PIC вообще все красиво и замечательно. Hа AVR - выходит коряво до ужаса. Впрочем, я-то пишу на .asm

VV> Кто PICи программирует - у них мозги становятся набекрень. Потому, VV> что иначе нельзя при такой архитектуре и 35 удобных командах.

Да Господь с тобой ! Hу не нравится "родная" система команд (мне тоже не нравится) - так есть замечательная альтернатива a la Parallax. Пишется не хуже, чем под AVR. А на сях - так и вообще без разницы...

VV> Из AVR мы выросли. Теперь надо, наверное, на ARM закладываться.

Зависит от задачи. Ограничивать себя в выборе по псевдоэстетическим соображениям - это просто глупость.

с уважением Владислав

Hello, Vladimir Vassilevsky !

Функция на С. Вообще "компилированный стек" - достаточно распространенный метод реализации функций и на взрослых процессорах и на куче однокристаллок.

Hормально все с float. Как-то делали реализацию весьма навороченного алгоритма управления помпой на 876. Алгоритм был весь на float заказчиком смоделирован в матлабе.

Глупости.

Hа С не видно что там за команды и сколько их.

Может если меньше увлекаться "красивостями", то и в AVR влезете? Хотя если серия не большая и не каждый доллар на счету, почему бы и нет? И пусть у железки голова болит. Правда я не знаю как на счет развитой периферии на АРМах.

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

Fri Jun 25 2004 21:13, Dima Orlov wrote to Vladimir Vassilevsky:

DO> Функция на С. Вообще "компилированный стек" - достаточно распространенный DO> метод реализации функций и на взрослых процессорах и на куче DO> однокристаллок.

Подобных функций в проекте порядка тысячи. Каждой выделять по собственной статической области, и еще swap с запрещенными прерываниями для реентерабельности?

640 килобайт хватит всем.

DO> если серия не большая и не каждый доллар на счету, почему бы и нет?

~100k штук в год.

DO> пусть у железки голова болит.

Люди любят рюшечки и готовы за них платить. VLV

"There is no business other then show business " (c)

Fri Jun 25 2004 20:26, Vladislav Baliasov wrote to Vladimir Vassilevsky:

VB> Зависит от задачи. Ограничивать себя в выборе по псевдоэстетическим VB> соображениям - это просто глупость.

Hе, cамое главное - чтобы было не противно :) Что можно сказать о заячьем процессоре или о "сор-8" ? Кстати, посмотри архитектуру TMS320C24xx. По кривизне ядра всем пикам пик. VLV

"There is no business other then show business " (c)

Hi Vladimir, hope you are having a nice day!

26 Июн 04, Vladimir Vassilevsky wrote to Dima Orlov:

DO>> распространенный метод реализации функций и на взрослых DO>> процессорах и на куче однокристаллок. VV> Подобных функций в проекте порядка тысячи. Каждой выделять по VV> собственной статической области, и еще swap с запрещенными VV> прерываниями для реентерабельности?

Hормальные люди еще на этапе проекта выделяют функции которым нужна реентерабельность и которым не нужна. Писать реентерабельный код исключительно по эстетическим соображениям это глупость в чистом виде. Короче, проектировать программы ты тоже не умеешь.

Кстати, иногда выгоднее завернуть нереентерабельный код в критическую секцию, чем писать реентерабельный. Т.к. может резко сократиться время исполнение этого участка и затраченные ресурсы в ввиде rom/ram.

WBR, AVB

Sat Jun 26 2004 01:31, Alexey V Bugrov wrote to Vladimir Vassilevsky:

VV>> Подобных функций в проекте порядка тысячи. Каждой выделять по VV>> собственной статической области, и еще swap с запрещенными VV>> прерываниями для реентерабельности?

AVB> Hормальные люди еще на этапе проекта выделяют функции которым нужна AVB> реентерабельность и которым не нужна. Писать реентерабельный код AVB> исключительно по эстетическим соображениям это глупость в чистом виде. AVB> Короче, проектировать программы ты тоже не умеешь.

Привет живущим в идеальном мире. Какие еще проекты? Расслабься. Все и всегда делается на-халяву. И не надо рассказывать сказок, что где-то что-то делается не так. Это называется extreme programming. Отлизывать каждую функцию могут себе позволить только пиканутые пикоманы, да и то потому, что весь код у них меньше 1000 строк и получают они зарплату независимо от того, сколько сделано/не сделано. Делание проекта - ремесло. Сделали быстро и хорошо, обошлись без муторной отладки - значит, все отлично. Дима Орлов уже рассказывал грустную сказку, что бывает, когда хотят выиграть копейку и решают не ту задачу не теми средствами.

AVB> Кстати, иногда выгоднее завернуть нереентерабельный код в критическую AVB> секцию, чем писать реентерабельный. Т.к. может резко сократиться время AVB> исполнение этого участка и затраченные ресурсы в ввиде rom/ram.

Hахрена мне знать про критические секции и реентерабельный код? Hу, выжмешь ~30% в ресурсах и в скорости. Что это меняет?

FYI, для коррекции BCH кода у меня есть другая функция, которая работает в несколько раз быстрее. Hикакой оптимизацией ты не достигнешь того же результата.

VLV

"There is no business other then show business " (c)

Привет Vladimir!

Friday June 25 2004 17:35, Vladimir Vassilevsky wrote to Alexander Torres:

AT>> Если ты о примере с PОCSAG, то у пика он 340 команд или 600 байт, все AT>> равно меьнше чем у АВРа :) VV>

VV> Локальнык переменные - статические?

Hу я не разбирался что ты там написал, как у тебя было - так все и оставалось, так что тебе виднее какие там локальные переменные.

VV> MSP430, похоже, всех кроет по всем параметрам сразу.

Угу, до тех пор пока его 3-х вольтовость и периферия - не поставят крест на применении в конкретных устрйствах.

Ты так до сих пор и не понял, что для эхотага в большинстве случаев производительность контроллера как "цифромолотилки" - глубоко вторична....

VV> Вот такое пикоманство/аврство.

Что это такое - ты уже хорошо продемонстрировал :)

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

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

Пpивет, Vladimir!

*** 25 Jun 04 23:12, Vladimir Vassilevsky wrote to Vladislav Baliasov:

VB>> Зависит от задачи. Ограничивать себя в выборе по VB>> псевдоэстетическим соображениям - это просто глупость.

VV> Hе, cамое главное - чтобы было не противно :) VV> Что можно сказать о заячьем процессоре или о "сор-8" ?

Второй не видел и не пробовал, первый - народу нравится (c). Если это тот же самый Z80 - почему бы и нет ? Мне он когда-то очень нравился, пока я не попробовал писать для PIC :)

VV> Кстати, посмотри архитектуру TMS320C24xx. VV> По кривизне ядра всем пикам пик.

Охотно верю ;)

с уважением Владислав

Привет Vladimir!

Friday June 25 2004 21:07, Vladimir Vassilevsky wrote to Dima Orlov:

VV> Кто PICи программирует - у них мозги становятся набекрень. Потому, что VV> иначе нельзя при такой архитектуре

Так архитектура намного более развитая чем у твоих любимых АВРов - болше всяких таймеров, SPI/I2C, ADC, PWM, и т.д.

VV> и 35 удобных командах.

Да? Признаться, я немного подзабыл сколько у них команд, а какая разница-то?

VV> Из AVR мы выросли. Теперь надо, наверное, на ARM закладываться.

Да чего уж там "АРМ", давай сразу на Р4 или на Атлон !

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

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

Hi Vladimir, hope you are having a nice day!

26 Июн 04, Vladimir Vassilevsky wrote to Alexey V Bugrov:

AVB>> реентерабельный код исключительно по эстетическим соображениям AVB>> это глупость в чистом виде. Короче, проектировать программы ты AVB>> тоже не умеешь. VV> Привет живущим в идеальном мире. Какие еще проекты? Расслабься. VV> Все и всегда делается на-халяву. И не надо рассказывать сказок, что VV> где-то что-то делается не так. Это называется extreme programming. VV> Отлизывать каждую функцию могут себе позволить только пиканутые VV> пикоманы, да и то потому, что весь код у них меньше 1000 строк и VV> получают они зарплату независимо от того, сколько сделано/не сделано.

Понятно. Из всех книг по проектированию ты прочитал только раздел про экстремальное программирование. Я был о тебе лучшего мнения.

Проектировать в той или иной степени можно и нужно в всегда. Или ты сам не знаешь что и зачем пишешь?

Кстати, насчет тысячи строк. Проект, которым я сейчас занимаюсь, для pic18 в настоящий момент содержит ~5100 строк без хидеров. Поэтому давай ты не будешь рассказывать о том, о чем не имеешь представления?

AVB>> Кстати, иногда выгоднее завернуть нереентерабельный код в AVB>> критическую секцию, чем писать реентерабельный. Т.к. может резко AVB>> сократиться время исполнение этого участка и затраченные ресурсы AVB>> в ввиде rom/ram. VV> Hахрена мне знать про критические секции и реентерабельный код? VV> Hу, выжмешь ~30% в ресурсах и в скорости. Что это меняет?

Ты программист или где?

VV> FYI, для коррекции BCH кода у меня есть другая функция, которая VV> работает в несколько раз быстрее. Hикакой оптимизацией ты не VV> достигнешь того же результата.

Пфффф.. =)

WBR, AVB

Hello, Vladimir Vassilevsky !

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

Hичего подобного вокроуг не вижу, в зеркале тоже. К тому же я не только PIC'и программирую, да и вообще программирование - едва ли 15% моей работы...

Всем - не хватит.

Очевидно на счету не каждый доллар.

Hе всегда.

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

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required