реклама на сайте
подробности

 
 
> Си для AVR
Yuriy_AVR
сообщение Jan 15 2007, 22:26
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 38
Регистрация: 12-01-07
Из: Крым
Пользователь №: 24 378



Здравствуйте , Уважаемые форумчане !
Я на этом форуме пока новенький . С AVR работаю с самого их рождения . На asm сделал огромное кол-во проэктов , и вот теперь хочется посмотреть что же такое Си , и в самом ли деле он так хорош для контроллеров ( и не только ) , сколько о нём восторженных отзывов . Из своего опыта хочу сказать - если программа хорошо продумана идеологически и логически , то всё остальное - дело техники ( и уж если на asm есть глюки , то виноват не asm , а руки ) . Поэтому хочется самому убедиться в его преимуществах ( и естественно недостатках ) . В связи с этим вопрос первый - поделитесь пожалуйста вылеченным IAR ( хочется начать с этого пакета ) , и подскажите пожалуйста хорошую книжку по Си ( желательно конечно на русском , в крайнем случае на английском ), желательно адаптированную для контроллеров , и уж если для AVR , то вообще хорошо .
Заранее всем спасибо .
Go to the top of the page
 
+Quote Post
6 страниц V   1 2 3 > »   
Start new topic
Ответов (1 - 77)
umup
сообщение Jan 15 2007, 22:45
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 2-06-06
Пользователь №: 17 720



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

Шпак Ю.А.Программирование на языке С для AVR и PIC микроконтроллеров.2006
http://rapidshare.de/files/27144815/000947.rar.html

Socher Программирование микроконтроллеров AVR с использованием GCC
http://www.linuxfocus.org/Russian/March2002/article231.shtml

http://www.smileymicros.com/QuickStartGuide.pdf

Pardue J.C programming for microcontrollers
www.narod.ru/1110.zip

Неплохая библиотека подпрограмм :
http://hubbard.engr.scu.edu/avr/avrlib/

Сообщение отредактировал umup - Jan 15 2007, 22:56
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jan 15 2007, 23:38
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(Yuriy_AVR @ Jan 15 2007, 23:26) *
Здравствуйте , Уважаемые форумчане !
Я на этом форуме пока новенький . С AVR работаю с самого их рождения . На asm сделал огромное кол-во проэктов , и вот теперь хочется посмотреть что же такое Си , и в самом ли деле он так хорош для контроллеров ( и не только ) , сколько о нём восторженных отзывов . Из своего опыта хочу сказать - если программа хорошо продумана идеологически и логически , то всё остальное - дело техники ( и уж если на asm есть глюки , то виноват не asm , а руки ) . Поэтому хочется самому убедиться в его преимуществах ( и естественно недостатках ) . В связи с этим вопрос первый - поделитесь пожалуйста вылеченным IAR ( хочется начать с этого пакета ) , и подскажите пожалуйста хорошую книжку по Си ( желательно конечно на русском , в крайнем случае на английском ), желательно адаптированную для контроллеров , и уж если для AVR , то вообще хорошо .
Заранее всем спасибо .


Слово в слово - я. biggrin.gif Начал с Си где то с год назад. Подтвержу все восторженные отзывы. (использовал IAR) Очень жалею что не пробовал раньше. Достоинства - переносимость и наглядность. Красота проги. Книгу лучше купить, чем пользоваться электронной. Я пользуюсь Герберд Шилдт "Полный справочник по С. Четвёртое издание". Заказывал на OZONе. Нашёл ответы на свои и чужие вопросы. smile.gif Остальное - особенности компилятора. Некоторые в доке - некоторые тут.

Удачи.
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Jan 16 2007, 01:25
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Значиться так - С для МК самое то. Особенно если работаешь с несколькими семействами и перетаскиваешь наработки с одного на другое.

Компиляторы.
Есть два серьезных: IAR и gcc aka WinAVR.
Для обоих есть порты и для ARM, MSP и других платформ.
Немало копий сломано в их сравнительном анализе, но оба на голову выше всех остальных.

Книги - присоединяюсь к SasaVitebsk, по поводу Шилдта и еще порекомендую - Брюс Эккель "Философия С++".
http://c2p.ru/2006/07
http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html

Это маст рид, ответы на вопросы как?, почему? и зачем?


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
kd_Rash
сообщение Jan 16 2007, 10:12
Сообщение #5


Участник
*

Группа: Новичок
Сообщений: 58
Регистрация: 11-01-07
Пользователь №: 24 311



Шпака - хорошая книга, но лучше не в электронном виде
еще примеры на си есть у Голубцова

я, например, все что не могу найти в магазине, покупаю на books.ru

набираешь там - AVR, и выбирай

у меня почти все есть с пометкой AVR smile.gif

Удачи, Дмитрий
Go to the top of the page
 
+Quote Post
andrvisht
сообщение Jan 16 2007, 12:56
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 298
Регистрация: 29-08-05
Пользователь №: 8 064



Может для начала и сложно, и направлена она на С++, хотя С там тоже описано, нет только функций с переменным числом параметров, но многие ответы на вопросы нашел только в ней.
В инете не видел, да и не искал, вот что на обложке:

Харьковский институт информационных технологий
С.В. Глушаков, C.В. Смирнов, А.В. Коваль
Практикум по С++
www.bookpost.com.ua
изд. ФОЛИО г. Харьков 2006г. www.folio.com.ua

Пользую, как и многие сдесь IAR, проблем не встречал, всем доволен.
Go to the top of the page
 
+Quote Post
big256
сообщение Jan 16 2007, 15:56
Сообщение #7


Участник
*

Группа: Новичок
Сообщений: 15
Регистрация: 9-08-05
Из: Киев-Борисполь
Пользователь №: 7 472



книги по АВР можно найти здесь + еще кучу полезной инфы

http://ihtik.lib.ru/electrotehn_4janv2007/
Go to the top of the page
 
+Quote Post
Abakt
сообщение Jan 16 2007, 16:33
Сообщение #8


Участник
*

Группа: Новичок
Сообщений: 73
Регистрация: 10-01-07
Пользователь №: 24 292



мне понравилось "Си для МК" [BANNED] - по-моему толково и самое нужное.

Цитата(umup @ Jan 15 2007, 22:45) *
Pardue J.C programming for microcontrollers
www.narod.ru/1110.zip


Не качается. Можно проверить ссылочку ?

Сообщение отредактировал IgorKossak - Jan 18 2007, 18:05
Go to the top of the page
 
+Quote Post
Pyku_He_oTTyda
сообщение Jan 16 2007, 17:46
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 751
Регистрация: 4-08-05
Из: Великие Луки
Пользователь №: 7 360



Цитата
книги по АВР можно найти здесь + еще кучу полезной инфы

http://ihtik.lib.ru/electrotehn_4janv2007/


Отличная ссылка, хочется все, но 10 гигов многовато для меняsad.gif


--------------------
Андрей Смирнов
Go to the top of the page
 
+Quote Post
umup
сообщение Jan 17 2007, 22:08
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 2-06-06
Пользователь №: 17 720



Цитата
www.narod.ru/1110.zip

Извиняюсь, должно быть так :
www.umup.narod.ru/1110.zip
Go to the top of the page
 
+Quote Post
CSB
сообщение Jan 17 2007, 23:26
Сообщение #11


Частый гость
**

Группа: Новичок
Сообщений: 100
Регистрация: 9-03-06
Пользователь №: 15 088



Б. Керниган, Д. Ритчи "Язык программирования Си".
В электронном виде можно http://www.lib.ru/CTOTOR/kernigan.txt, но ИМХО лучше купить.

После набора определенного опыта можно:
"ВЕРЕВКА ДОСТАТОЧНОЙ ДЛИНЫ, ЧТОБЫ… ВЫСТРЕЛИТЬ СЕБЕ В НОГУ"
Правила программирования на Си и Си++
Ален И. Голуб

Качать тут: http://www.sdteam.com/texts/11/251.zip
Go to the top of the page
 
+Quote Post
Guest_Serg79_*
сообщение Jan 18 2007, 08:26
Сообщение #12





Guests






Цитата(CSB @ Jan 17 2007, 23:26) *
Б. Керниган, Д. Ритчи "Язык программирования Си".
В электронном виде можно http://www.lib.ru/CTOTOR/kernigan.txt, но ИМХО лучше купить.

Классика. Если хочешь действительно почувствовать 'C', то надо начинать с этой книги.
Go to the top of the page
 
+Quote Post
Abakt
сообщение Jan 18 2007, 09:49
Сообщение #13


Участник
*

Группа: Новичок
Сообщений: 73
Регистрация: 10-01-07
Пользователь №: 24 292



Полная книга от профи по WinAVR "C programming for AVR" - SmileyMicros.com
[BANNED]
на сайте SmileyMicros.com лежит только первая глава.

Сообщение отредактировал IgorKossak - Jan 19 2007, 17:21
Go to the top of the page
 
+Quote Post
Pyku_He_oTTyda
сообщение Jan 18 2007, 12:47
Сообщение #14


Профессионал
*****

Группа: Свой
Сообщений: 1 751
Регистрация: 4-08-05
Из: Великие Луки
Пользователь №: 7 360



Цитата
Abakt

Цитата
[BANNED]

Это реклама курса или прикол такой нездоровый

Сообщение отредактировал IgorKossak - Jan 19 2007, 17:22


--------------------
Андрей Смирнов
Go to the top of the page
 
+Quote Post
unichorn
сообщение Jan 18 2007, 13:25
Сообщение #15


Частый гость
**

Группа: Участник
Сообщений: 96
Регистрация: 24-09-05
Пользователь №: 8 901



Цитата(big256 @ Jan 16 2007, 15:56) *
книги по АВР можно найти здесь + еще кучу полезной инфы

http://ihtik.lib.ru/electrotehn_4janv2007/


a14.gif Руки так и чешутся скачать всё. Но трафика моловато sad.gif
Go to the top of the page
 
+Quote Post
bloodden
сообщение Sep 1 2007, 22:49
Сообщение #16


Бывалый
***

Группа: Validating
Сообщений: 375
Регистрация: 19-10-05
Из: Kiev, UA
Пользователь №: 9 853



Цитата(unichorn @ Jan 18 2007, 16:25) *
a14.gif Руки так и чешутся скачать всё. Но трафика моловато sad.gif

Кому надо, если в Киеве, то могу накачать и залить на болванки.
Удачи.


--------------------
Заходите кому надо на мой сайт
Go to the top of the page
 
+Quote Post
fmdost
сообщение Sep 2 2007, 18:33
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



Если Вы не планируете написать windows под АВР, забудте про С НАВСЕГДА!
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 2 2007, 19:11
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Т.Достоевский @ Sep 2 2007, 21:33) *
Если Вы не планируете написать windows под АВР, забудте про С НАВСЕГДА!

Даже если-бы 'навсегда!' было-бы написано красными буквами высотой с экран, то и это не сделало-бы это утверждение хоть чуть-чуть более убедительным и уж тем более верным.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
fmdost
сообщение Sep 2 2007, 19:18
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



Перенесите проэкт из IAR в VINAVR и наоборот, а на последок из IAR4.21 В IAR 4.3. Думаю достаточно.

Сообщение отредактировал Т.Достоевский - Sep 2 2007, 19:19
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 2 2007, 19:36
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Т.Достоевский @ Sep 2 2007, 22:18) *
Перенесите...

А почему Вы решили "переносить" какие-то свои личные проблемы с GCC,IAR,PCAD,.... на других?
У меня, например, никаких проблем с портированием 'C' исходников с платформы на платформу (в отличие от ASM) /компилятор не возникает.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
fmdost
сообщение Sep 2 2007, 19:40
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



Цитата(zltigo @ Sep 2 2007, 23:36) *
А почему Вы решили "переносить" какие-то свои личные проблемы с GCC,IAR,PCAD,.... на других?
У меня, например, никаких проблем с портированием 'C' исходников с платформы на платформу (в отличие от ASM) /компилятор не возникает.

А Причём PCAD?
Go to the top of the page
 
+Quote Post
rezident
сообщение Sep 2 2007, 20:13
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Т.Достоевский @ Sep 3 2007, 01:18) *
Перенесите проэкт из IAR в VINAVR и наоборот, а на последок из IAR4.21 В IAR 4.3. Думаю достаточно.

Недавно переносил проект (причем чужой) из CodeVision в IAR. Никаких особых трудностей это не составило.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Sep 2 2007, 20:15
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(Т.Достоевский @ Sep 2 2007, 21:33) *
Если Вы не планируете написать windows под АВР, забудте про С НАВСЕГДА!


А какие вообще у Вас лично претензии к Си. А то голословное утверждение да ещё в такой ветке отпугивает начинающих. Пожалуйста аргументируйте.

Если разбирать более низкий пост о портировании программ, то он не выдерживает никакой критики.
1) Сопровождать программу и вносить в неё изменения на Си - в десятки раз легче.
2) Переносимость с камня на камень - в десятки раз легче.
3) Переносимость с компилятора на компилятор не такая уж и сложная. В тоже время вас никто не заставляет переходить с компилятора на компилятор. Тот же IAR или GCC поддерживает одновременно множество камней.
4) Отладка на Си тоже проще.
5) Результирующий код как правило не намного уступает.
Go to the top of the page
 
+Quote Post
sensor_ua
сообщение Sep 2 2007, 20:31
Сообщение #24


Профессионал
*****

Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387



Цитата
Если Вы не планируете написать windows под АВР, забудте про С НАВСЕГДА!

Гыwink.gif Никогда не писал программ для AVR на ассемблере.
А что такое windows?wink.gif


--------------------
aka Vit
Go to the top of the page
 
+Quote Post
defunct
сообщение Sep 2 2007, 21:11
Сообщение #25


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Т.Достоевский @ Sep 2 2007, 21:33) *
Если Вы не планируете написать windows под АВР, забудте про С НАВСЕГДА!

01.gif
Go to the top of the page
 
+Quote Post
fmdost
сообщение Sep 2 2007, 21:17
Сообщение #26


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



Цитата(SasaVitebsk @ Sep 3 2007, 00:15) *
А какие вообще у Вас лично претензии к Си. А то голословное утверждение да ещё в такой ветке отпугивает начинающих. Пожалуйста аргументируйте.

Аргументирую. Я сам больше схемотехник. Использую в своих изделиях 5 микроконтроллерных архитектур. И по времени столько же сколько автор поста. Однако с языками высокого уровня возникают определённые сложности.
1: Все компиляторы, это комерческие проэкты расчитанные на выкачивание максимального количества денег. (В том числе и бесплатые) Отсюда совешенная неуверенность, что через год Вы сможете БЫСТО добавить что нибудь в Вашу програму.

2: Пока что не встречал компилятора генерирующего хотя бы жалкое подобие асмовской программы. В основном код в РАЗЫ больше.

3 Перенести микроконтроллерый код с одной платформы на другую гораздо проще и главное быстрее чем разбираться с тонкостями компилятора. Которые к тому же отличаются от версии к версии.
Ещё раз повторюсь микроконтроллерного. Речь не идет о многомегабайтном проэкте который врядли применим к AVR.

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

Теперь лирическое отступление извиняюсь за bb-offtopic.gif
ИМХО создаётся впечатление что для присутствующих сдесь микроконтроллеры есть самоцель, а не простая микросхема установленная в ряду среди других таких же микросхем.
И если Вы занимаетесь не только программированием а пытаетесь сделать целиком устройство которое что-то дёргает или там чем то в такт чему то моргает, то у Вас скорее всего не будет времени заниматься копанием в тухлой документации компилятора.
Вообщем если Вы 20 лет успешно пишете на асме, то целиком переходить на С надо только при очень веских к тому основаниях. bb-offtopic.gif

Если Вы всё-таки решились перейти на С то после каждой копиляции обязательно гляньте в отладчик. В иаре размер кода очень сильно зависит о положения операторов. И при определённом опыте компилятору можно очень помочь с генерацией опимального кода. Не брезгуйте применять те же методы по упаковке или ускоению которые вы применяли на асме. Действуют буквально так-же, на любом уровне оптимизации!!!

Конкретно к С претензий у меня нет никаких.

Сообщение отредактировал Т.Достоевский - Sep 2 2007, 21:18
Go to the top of the page
 
+Quote Post
Stariy Alex
сообщение Sep 2 2007, 21:35
Сообщение #27


Знающий
****

Группа: Свой
Сообщений: 736
Регистрация: 29-04-06
Из: Berlin
Пользователь №: 16 605



Дейтел - Как программировать на C - 1002 стр. (подробно)
Керниган - Ричи - Язык программирования C - Издание 2 (исправленное, pdf)
PS. Залить на фтп? Komu na mylo?
Go to the top of the page
 
+Quote Post
defunct
сообщение Sep 2 2007, 22:01
Сообщение #28


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Stariy Alex @ Sep 3 2007, 00:35) *
PS. Залить на фтп? Komu na mylo?

pdf с bookmark'ами? Залейте, пригодится.
Спасибо beer.gif


Цитата(Т.Достоевский @ Sep 3 2007, 00:17) *
Аргументирую.

Отвечу смайликами на ваши аргументы.

Цитата
1: Все компиляторы, это комерческие проэкты расчитанные на выкачивание максимального количества денег. (В том числе и бесплатые) Отсюда совешенная неуверенность, что через год Вы сможете БЫСТО добавить что нибудь в Вашу програму.

07.gif

Цитата
2: Пока что не встречал компилятора генерирующего хотя бы жалкое подобие асмовской программы. В основном код в РАЗЫ больше.

sad.gif

Цитата
3 Перенести микроконтроллерый код с одной платформы на другую гораздо проще и главное быстрее чем разбираться с тонкостями компилятора.

01.gif

Ага, конечно. Вы хотите сказать, что можно вот так вот запросто взять 100k исходников на asm под x51 и запустить на AVR? А проект написанный на plain C вызовет сложности с переносом из-за компиляторов?
Смешно... Может быть вы схемотехник от Бога, но зачем же ж вот так рубить с плеча, и городить невесть-что в теме где вы "ноль в сиянии".

Цитата
Если Вы всё-таки решились перейти на С то после каждой копиляции обязательно гляньте в отладчик. В иаре размер кода очень сильно зависит о положения операторов.

А вы не задумывались, что не всегда нужно получить минимальный размер кода?
Иногда проще взять толстый кристал.
Go to the top of the page
 
+Quote Post
fmdost
сообщение Sep 2 2007, 22:14
Сообщение #29


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



bb-offtopic.gif Граждане!!! Раскажите что делает программа на 100к??? Без сарказма. Сам больше 16 не писал никогда! bb-offtopic.gif
Go to the top of the page
 
+Quote Post
defunct
сообщение Sep 2 2007, 22:14
Сообщение #30


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Т.Достоевский @ Sep 2 2007, 22:18) *
Перенесите проэкт из IAR в VINAVR и наоборот.

Переносил и не раз. Более 30 минут перенос не занимал.
В чем подвох?
PS: WinAVR а не VINAVR.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 2 2007, 22:17
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Т.Достоевский @ Sep 3 2007, 00:17) *
Отсюда совешенная неуверенность, что через год Вы сможете БЫСТО добавить что нибудь в Вашу програму.

Только тем и занимаюсь, что в изделиях со сроком жизни 10-15-20 лет чего-то бысторо добавляю.
Вашу неуверенность в себе разделить никак не могу.
Цитата
В основном код в РАЗЫ больше.

Для программ "нажалнакнопкузажгласьлампочка" больше. Для более сложных разница начинает нивелироваться и меняться.
Цитата
Перенести микроконтроллерый код с одной платформы на другую гораздо проще и главное быстрее чем разбираться с тонкостями компилятора.

Дело обстоит с точностью до наоборот. Без вариантов.
Цитата
Вполне возможно что компилятор старой версии и захочет работать под вистой.

Вы на ASM пишете? А почему Assembler "захочет"? Потому, что кончается на 'у'?
Цитата
Но на новое железо, ХР вы скорее всего поставить не сможите.

Ну мотивируйте хоть как-то smile.gif.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
defunct
сообщение Sep 2 2007, 22:25
Сообщение #32


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Т.Достоевский @ Sep 3 2007, 01:14) *
Раскажите что делает программа на 100к???offtopic:

Обеспечивает удаленное управление электроподстанцией 35KV.
Go to the top of the page
 
+Quote Post
fmdost
сообщение Sep 2 2007, 22:27
Сообщение #33


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



Поставьте НТ на новое железо, или на НТ акробат 6. Он "сам пришёл"?

Цитата(defunct @ Sep 3 2007, 02:25) *
Обеспечивает удаленное управление электроподстанцией 35KV.

Нейросетью вычисления проводит? Или спреадспектрум кодирование 256 бит последовательность? THD + cos фи в каждом канале?

Сообщение отредактировал Т.Достоевский - Sep 2 2007, 22:31
Go to the top of the page
 
+Quote Post
defunct
сообщение Sep 2 2007, 22:39
Сообщение #34


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Т.Достоевский @ Sep 3 2007, 01:27) *
Нейросетью вычисления проводит? Или спреадспектрум кодирование 256 бит последовательность? THD + cos фи в каждом канале?

Нет всего лишь обеспечивает удаленное управление рядом ячеек с пульта диспетчера.
Автоматику в ячейках выполняют устройства релейной защиты. Там программы гораздо больше 100k и на ASM их никто не делает.
Go to the top of the page
 
+Quote Post
fmdost
сообщение Sep 2 2007, 23:00
Сообщение #35


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



Цитата(defunct @ Sep 3 2007, 02:39) *
Нет всего лишь обеспечивает удаленное управление рядом ячеек с пульта диспетчера.
Автоматику в ячейках выполняют устройства релейной защиты. Там программы гораздо больше 100k и на ASM их никто не делает.

К сожелению про релейную зашиту ничего не знаю.
А сколько ячеек и сколько параметров? Почему 100кб?
Мои знакомые не смогли уместить в мегу64 обычный пульт управления для моделей. Правда там таблиц много. 10x256 байт. (типа нелинейные резисторы) + килобайта 2 кода, ну всё-равно не больше. Вот и спрашиваю.

Сообщение отредактировал Т.Достоевский - Sep 2 2007, 23:01
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Sep 3 2007, 00:43
Сообщение #36


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата(Т.Достоевский @ Sep 3 2007, 06:17) *
Аргументирую. Я сам больше схемотехник. Использую в своих изделиях 5 микроконтроллерных архитектур. И по времени столько же сколько автор поста. Однако с языками высокого уровня возникают определённые сложности.

Все правильно! Вы же больше схемотехник! На тонкости изучения ЯВУ (языка высокого уровня) нет времени.
Цитата(Т.Достоевский @ Sep 3 2007, 06:17) *
1: Все компиляторы, это комерческие проэкты расчитанные на выкачивание максимального количества денег. (В том числе и бесплатые) Отсюда совешенная неуверенность, что через год Вы сможете БЫСТО добавить что нибудь в Вашу програму.

Если не сложно, объясните, как бесплатные компиляторы ориентированы на выкачивание денег?
Цитата(Т.Достоевский @ Sep 3 2007, 06:17) *
2: Пока что не встречал компилятора генерирующего хотя бы жалкое подобие асмовской программы. В основном код в РАЗЫ больше.

Вы так один говорите. А другие в это время пишут на си/си++ и видят совсем другое.
Для справки: недавно писал программу управления манипулятором (МП-9С), с применением ОС, на Си++. Функции программы: ручное управление звеньями робота, занесение программы с пульта управления и ее выполнения, опрос датчиков, свзяь с PC. Код всего лишь 8 027 б. Расход ОЗУ 600 байт. Проект выполнен за месяц. Переносим. С асмом бы копался и отлаживался месяца два и больше...
Цитата(Т.Достоевский @ Sep 3 2007, 06:17) *
3 Перенести микроконтроллерый код с одной платформы на другую гораздо проще и главное быстрее чем разбираться с тонкостями компилятора. Которые к тому же отличаются от версии к версии.

Отличаются... на то и выходят новые версии программ, чтобы отличаться от старых, вносить что-то новое. Иначе бы прогресс остановился. Тем более различия не так уж и ощутимы для работы.
Цитата(Т.Достоевский @ Sep 3 2007, 06:17) *
По поводу пункта 1. Вполне возможно что компилятор старой версии и захочет работать под вистой 2.
Но на новое железо, ХР вы скорее всего поставить не сможите.

Windows выбросил. Использую Linux, которую на новое железо (если оно такое новое и несовместимое со старым) все равно портируют.
Цитата(Т.Достоевский @ Sep 3 2007, 06:17) *
Теперь лирическое отступление извиняюсь за bb-offtopic.gif
ИМХО создаётся впечатление что для присутствующих сдесь микроконтроллеры есть самоцель, а не простая микросхема установленная в ряду среди других таких же микросхем.
И если Вы занимаетесь не только программированием а пытаетесь сделать целиком устройство которое что-то дёргает или там чем то в такт чему то моргает, то у Вас скорее всего не будет времени заниматься копанием в тухлой документации компилятора.

Ошибочное мнение на счет самоцели. Для меня это например просто цель. Цель получить конкретно работающее устройство!
А времени на копание документации по микроконтроллеру и другим компонентам, применяемым в изделии у Вас будет? А Вы не учитываете, то, что доку на компилятор придется прочесть хорошо только один - два раза и далее пользоваться этим инструментом, получая огромный выигрыш по времени разработки и отладки девайса + переносимости кода и т.п. Не правда ли ощцтимый плюс?
Цитата(Т.Достоевский @ Sep 3 2007, 06:17) *
Вообщем если Вы 20 лет успешно пишете на асме, то целиком переходить на С надо только при очень веских к тому основаниях.

Если Вы 20 лет пишите на асме (пусть даже и успешно), то явно пора пересмотреть свои привычки.
Цитата(Т.Достоевский @ Sep 3 2007, 06:17) *
Если Вы всё-таки решились перейти на С то после каждой копиляции обязательно гляньте в отладчик. В иаре размер кода очень сильно зависит о положения операторов. И при определённом опыте компилятору можно очень помочь с генерацией опимального кода. Не брезгуйте применять те же методы по упаковке или ускоению которые вы применяли на асме. Действуют буквально так-же, на любом уровне оптимизации!!!

Открытие Америки... многим известные и многими знаемые вещи.
Цитата(Т.Достоевский @ Sep 3 2007, 06:17) *
Конкретно к С претензий у меня нет никаких.

Неправда Ваша. Есть.


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
sensor_ua
сообщение Sep 3 2007, 05:22
Сообщение #37


Профессионал
*****

Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387



2 Т.Достоевский
Я не больше, а схемотехник. И уменя используются C51, PIC, AVR, MSP430, ARM от PIC12C508A до LPC2378 всяких размеров и наполнений. И это не от желания развести зоопарк. Не могу сказать, что наши программисты асы. Эти люди, а некоторые уж больше чем 30 лет пишут для промавтоматики, пишут на ассемблере только когда "жизнь заставляет" - где-то, например, быстрая математика нужна или где-то в старом контроллере нужно поменять методику расчётов, а в память уже не лезет (итерационные вычисления с double на 51-омwink.gif). Так чтоб писать на ассемблере без нужды - у них и мысли не возникает. Я же имею субъективное мнение, что уже лет 5 аргумент насчёт общего преимущества в объёме у ассемблера против Си есть заблуждение. Всвязи с резким падением цен на кремний и продвижением всё более интегрированных решений, время на разработку в части схемотехники постепенно уменьшается. А time-to-market не ждёт - упор идёт на работу программистов. Т.е. кроме многих (пока) специализированных устройств появляется всё больше reference-платформ (аппаратно-программных), что обеспечивает не только некоторое уменьшение работы схемотехникам, но и уменьшение времени на разработку вообще. Так вот использование ЯВУ (а для микроконтроллеров в подавляющем большинстве случаев это Си и наблюдается рост доли C++) позволяет осуществлять быстрый перенос решений с платформы на платформу, что уменьшает time-to-market, а также уменьшает затраты на поддержку.

Вопрос. Почему большинство Си-компиляторов платные, а ассемблеры платные - редкая штука?

ЗЫ Вспомнилась Валерия Новодворская с её очаровательной фразой:
"Вы все дураки и не лечитесь! Одна я умная, в белом пальто стою красивая!"
http://foto.rambler.ru/public/manechkaaa/1/10/1-web.jpg


--------------------
aka Vit
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Sep 3 2007, 05:58
Сообщение #38


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(sensor_ua @ Sep 3 2007, 08:22) *
ЗЫ Вспомнилась Валерия Новодворская с её очаровательной фразой:
"Вы все дураки и не лечитесь! Одна я умная, в белом пальто стою красивая!"
http://foto.rambler.ru/public/manechkaaa/1/10/1-web.jpg

Есть и другие фразы :
"Я Пастернака не читал, но осуждаю" smile.gif


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
sensor_ua
сообщение Sep 3 2007, 06:03
Сообщение #39


Профессионал
*****

Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387



Цитата
Есть и другие фразы :
"Я Пастернака не читал, но осуждаю"

А ещё:
- Армянин лучше, чем грузин.
- Чем лучше?
- Чем грузин.


--------------------
aka Vit
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Sep 3 2007, 06:31
Сообщение #40


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(sensor_ua @ Sep 3 2007, 08:22) *
.. Не могу сказать, что наши программисты асы. Эти люди, а некоторые уж больше чем 30 лет пишут для промавтоматики, пишут на ассемблере только когда "жизнь заставляет" ...

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


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
zcost
сообщение Sep 3 2007, 06:46
Сообщение #41


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 12-04-07
Пользователь №: 26 979



IARовский сишный компилятор дает вполне оптимальный код. Выигрыш по скорости проектирования получается существенный. А в узких местах можно и подпрограмму на асме вставить. Но в моей практике подобное встречалось пару раз. И то для обработчика прерывания. Хотя порой сложно объяснить компилятору на Си как к примеру сделать циклический сдвиг через перенос. А в основном код получается по компактности практически такой же как и на ассемблере.

Сообщение отредактировал zcost - Sep 3 2007, 06:48
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Sep 3 2007, 15:11
Сообщение #42


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Я тоже очень долго писал на асме. Сам в спор не вступал. Как можно спорить "о вкусе устриц, которых не ел". Но был убеждён, что я напишу прогу на АСМе быстрее чем некоторые на Си.

1. Скорость написания программы на АСМе и Си возможно и близкая, но если требуется внести среднее изменение, то на Си его сделать в разы проще!!! В разы! Это я говорю совершенно убеждённо. А изменения вносятся часто. То есть оптимальность написания проги, оптимальность использования регистров - в этом случаем являются сильнейшим тормозом. И всё портится с внесением "заплаток".
2. Сам переносил программу с х51 на AVR на асме путём переписывания без мозгов. Поверьте, всё равно на Си это делается проще и главное, красивее.
3. Пробовал в проекте делать вставки на АСМе. Отказался. Производительность выросла на единицы процентов. Так зачем этот цирк?

Как то здесь зашла дискуссия о ненужности ОСей для малых камней. Автор надрывался с просьбой "продемонстрировать эффективность". И кто-то из знающих классную фразу сказал по типу что код не будет эффективнее, но написание будет более удобным, более функциональным. Что-то подобное и с использованием компилятора. Компилятор обладает преимуществами, но плата за эти преимущества - эффективность кода. Но не в разы, как вы пишете. А единицы процентов. Я сам поразился, когда сделал первый проект. И назад, у меня возврата уже нет. А вам рекомендую перейти. А затраты на освоение особенностей компилятора, будут меньше, чем затраты на работу с АСМ прогами.

Совершенно искренне.
Go to the top of the page
 
+Quote Post
bbill
сообщение Sep 3 2007, 20:00
Сообщение #43


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 21-10-05
Пользователь №: 9 941



Цитата(Stariy Alex @ Sep 3 2007, 00:35) *
Дейтел - Как программировать на C - 1002 стр. (подробно)
Керниган - Ричи - Язык программирования C - Издание 2 (исправленное, pdf)
PS. Залить на фтп? Komu na mylo?


Залейте, пожалуйста, bbill@mail.ru
Спасибо.
Go to the top of the page
 
+Quote Post
AVR
сообщение Sep 3 2007, 20:28
Сообщение #44


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Т.Достоевский, Вы жестоко заблуждаетесь... crying.gif


--------------------
Go to the top of the page
 
+Quote Post
fmdost
сообщение Sep 3 2007, 20:32
Сообщение #45


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



Цитата(AVR @ Sep 4 2007, 00:28) *
Т.Достоевский, Вы жестоко заблуждаетесь... crying.gif

В чём?
Go to the top of the page
 
+Quote Post
singlskv
сообщение Sep 3 2007, 20:45
Сообщение #46


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(Т.Достоевский @ Sep 4 2007, 00:32) *
В чём?
Глубокоуважаемый Достоевский, раз уж Вы так радеете за программирование
на Asm, хочу предложить Вам небольшую задачку(которая кстати не очень хорошо
решается на С), необходимо поменять в байте порядок следования битов на
противоположный, т.е.
вход: b7 b6 b5 b4 b3 b2 b1 b0
выход: b0 b1 b2 b3 b4 b5 b6 b7
ну конечно нужна максимальная скорость, но без таблиц(места нетуsmile.gif)

Покажите нам пример как нужно эфективно писать проги....
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Sep 3 2007, 20:48
Сообщение #47


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Ну, ребятки, развлекли!
Go to the top of the page
 
+Quote Post
fmdost
сообщение Sep 3 2007, 20:53
Сообщение #48


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



Цитата(singlskv @ Sep 4 2007, 00:45) *
Глубокоуважаемый Достоевский, раз уж Вы так радеете за программирование
на Asm, хочу предложить Вам небольшую задачку(которая кстати не очень хорошо
решается на С), необходимо поменять в байте порядок следования битов на
противоположный, т.е.
вход: b7 b6 b5 b4 b3 b2 b1 b0
выход: b0 b1 b2 b3 b4 b5 b6 b7
ну конечно нужна максимальная скорость, но без таблиц(места нетуsmile.gif)

Покажите нам пример как нужно эфективно писать проги....

Дайте подумать!
Go to the top of the page
 
+Quote Post
singlskv
сообщение Sep 3 2007, 21:02
Сообщение #49


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(Т.Достоевский @ Sep 4 2007, 00:53) *
Дайте подумать!
Да ни вапрос, до завтрашнего утра у Вас есть время smile.gif
А если серьезно ,то до завтрашнего вечера sad.gif Это максимум на обдумывание такой задачки...
Go to the top of the page
 
+Quote Post
fmdost
сообщение Sep 3 2007, 21:11
Сообщение #50


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



Цитата(singlskv @ Sep 4 2007, 01:02) *
Да ни вапрос, до завтрашнего утра у Вас есть время smile.gif
А если серьезно ,то до завтрашнего вечера sad.gif Это максимум на обдумывание такой задачки...

Дело в том что Я уже 5 лет как не пишу софт сам. Его за меня пишут люди, причём на С.

ldi r18,8 ;такой задачи не разу небыло
ldd r16,data ; код абсолютно переносимый
clr r17

m1:rol r16
ror r17
dec r18
brne m1 ; могу добавить на i51 pic16, holtec, ARM. если конечно вспомню где это всё лежит

std data,r16

Сообщение отредактировал Т.Достоевский - Sep 3 2007, 21:13
Go to the top of the page
 
+Quote Post
singlskv
сообщение Sep 3 2007, 21:21
Сообщение #51


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(Т.Достоевский @ Sep 4 2007, 01:11) *
Дело в том что Я уже 5 лет как не пишу софт сам. Его за меня пишут люди, причём на С.

ldi r18,8 ;такой задачи не разу небыло
ldd r16,data ; код абсолютно переносимый
clr r17

m1:rol r16
ror r17
dec r18
brne m1 ; могу добавить на i51 pic16, holtec, ARM. если конечно вспомню где это всё лежит

std data,r16

Ну, пока результат мягко говоря не очень smile.gif
Для поднятия тонуса сообщу Вам что данная задачка решается на AVR за 13 тактов...
Go to the top of the page
 
+Quote Post
fmdost
сообщение Sep 3 2007, 21:24
Сообщение #52


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



Цитата(singlskv @ Sep 4 2007, 01:21) *
Ну, пока результат мягко говоря не очень smile.gif
Для поднятия тонуса сообщу Вам что данная задачка решается на AVR за 13 тактов...

А пример? Яж в булевых функциях не силён.
Go to the top of the page
 
+Quote Post
singlskv
сообщение Sep 3 2007, 21:44
Сообщение #53


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(Т.Достоевский @ Sep 4 2007, 01:24) *
А пример? Яж в булевых функциях не силён.
пример будет после того как Вы скажете что нужно писать на С или предоставите
общественности код для данной задачки хотябы за 15 тактов smile.gif (ШУЧУ)
Вобщем-то Вы уже раскрылись, написть быстрый код на асм Вы не очень то умеете...
Но спорите...
Я типа вроде как умею писать быстро и на С и на асм,
а код типа такой:
Код
;  13 words / 13 cycles
       ; tmp=  abcdefgh
  mov    tmp2,tmp       ; tmp2= abcdefgh
  andi   tmp2,0b01010101; tmp2= 0b0d0f0h
  andi   tmp, 0b10101010; tmp=  a0c0e0g0
  bst    tmp2,0         ;                 T=h
  lsr    tmp2           ; tmp2= 00b0d0f0
  bld    tmp2,7         ; tmp2= h0b0d0f0
  lsl    tmp            ; tmp=  0c0e0g00  C=a
  adc    tmp, tmp2      ; tmp=  hcbedgfa
  mov    tmp2,tmp       ; tmp2= hcbedgfa
  andi   tmp2,0b01100110; tmp2= 0cb00gf0
  swap   tmp2           ; tmp2= 0gf00cb0
  andi   tmp, 0b10011001; tmp=  h00ed00a
  add    tmp, tmp2      ; tmp=  hgfedcba
Go to the top of the page
 
+Quote Post
fmdost
сообщение Sep 3 2007, 21:56
Сообщение #54


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



Цитата(singlskv @ Sep 4 2007, 01:44) *
пример будет после того как Вы скажете что нужно писать на С или предоставите
общественности код для данной задачки хотябы за 15 тактов smile.gif (ШУЧУ)
Вобщем-то Вы уже раскрылись, написть быстрый код на асм Вы не очень то умеете...
Но спорите...
Я типа вроде как умею писать быстро и на С и на асм,
а код типа такой:
Код
;  13 words / 13 cycles
     ; tmp=  abcdefgh
  mov    tmp2,tmp     ; tmp2= abcdefgh
  andi   tmp2,0b01010101; tmp2= 0b0d0f0h
  andi   tmp, 0b10101010; tmp=  a0c0e0g0
  bst    tmp2,0    ;                 T=h
  lsr    tmp2         ; tmp2= 00b0d0f0
  bld    tmp2,7    ; tmp2= h0b0d0f0
  lsl    tmp    ; tmp=  0c0e0g00  C=a
  adc    tmp, tmp2    ; tmp=  hcbedgfa
  mov    tmp2,tmp     ; tmp2= hcbedgfa
  andi   tmp2,0b01100110; tmp2= 0cb00gf0
  swap   tmp2         ; tmp2= 0gf00cb0
  andi   tmp, 0b10011001; tmp=  h00ed00a
  add    tmp, tmp2    ; tmp=  hgfedcba

Сами придумали? Если да, то этот же алгоритм должен быть на С той же длинны и времени! Но это уже будет не про С.

Ещё раз повторю. Ни спорю Я про С. Я говорю что компиляторы ещё долго будут полное Г.(IAR) Это основной мой матифф!

ЗЫ. Этот код и на паскале наверное такой-же по времени выйдет.

Сообщение отредактировал Т.Достоевский - Sep 3 2007, 21:58
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 3 2007, 22:04
Сообщение #55


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Т.Достоевский @ Sep 4 2007, 00:56) *
этот же алгоритм должен быть на С той же длинны и времени!
...........
Я говорю что компиляторы ещё долго будут полное Г.(IAR)
УпИсаться. И такая же каша у него в голове? 01.gif


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
singlskv
сообщение Sep 3 2007, 22:14
Сообщение #56


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(Т.Достоевский @ Sep 4 2007, 01:56) *
Сами придумали? Если да, то этот же алгоритм должен быть на С той же длинны и времени! Но это уже будет не про С.
Сам придумал, а Вы не смогли smile.gif
Ничего он Вам не должен(алгоритм на С)если Вы не можете написать сами так на асемблере,
то какого хрена Вы сравниваете его с С? Большинство алгоритмов я могу
написать на C так что размер/скорость выполнеиния не будут отличаться от ASM более чем на
10-15%
Цитата
Ещё раз повторю. Ни спорю Я про С. Я говорю что компиляторы ещё долго будут полное Г.(IAR) Это основной мой матифф!
Ok, я чуть подумаю какую Вам задачку подогнать,
условие такое, есть набор выходных данных в памяти, есть набор выходных, есть некоторое
преобразование входных в выходные , вы пишите на асм я на С, готовы ?
Go to the top of the page
 
+Quote Post
fmdost
сообщение Sep 3 2007, 22:44
Сообщение #57


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



Цитата(singlskv @ Sep 4 2007, 02:14) *
Ok, я чуть подумаю какую Вам задачку подогнать,
условие такое, есть набор выходных данных в памяти, есть набор выходных, есть некоторое
преобразование входных в выходные , вы пишите на асм я на С, готовы ?

Нет.
Неужели вы думаете что у меня нет на руках примеров, и Я голословно что то утверждаю?
Когда мой работники не смогли в IARе впихнуть в мегу 48 то что у меня поместилось в 90с1200, это всё и выплыло. Посмотрите мои посты на сахаре и сдесь про прерывания на С. Сам Я вообше не програмист и образование у меня 5 классов (без иронии). Там были приведены примеры от програмистов. 5-и кратное увеличение кода по сравнению с асм это цветочки.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Sep 4 2007, 01:11
Сообщение #58


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата(Т.Достоевский @ Sep 4 2007, 07:44) *
Нет.
Неужели вы думаете что у меня нет на руках примеров, и Я голословно что то утверждаю?

Пока получается так.
Цитата(Т.Достоевский @ Sep 4 2007, 07:44) *
Нет.
Неужели вы думаете что у меня нет на руках примеров, и Я голословно что то утверждаю?
Когда мой работники не смогли в IARе впихнуть в мегу 48 то что у меня поместилось в 90с1200, это всё и выплыло.

А переносимость кода? А сроки? Вы не смогли с простой задачей справиться на асме, хотя из ваших постов следует, что Вы им владеете)
Цитата(Т.Достоевский @ Sep 4 2007, 07:44) *
Сам Я вообше не програмист и образование у меня 5 классов (без иронии).

Это отлично видно, что Вы не программист. Только противоречие получается: Вы не программист, но спорите о преимуцествах ассемблера (которым Вы не очень-то и владеете) против Си.
Да и вообще, утверждаете что 5 лет не программировали, и также спорите. Да за 5 лет столько воды утекло и многое изменилось в мире embedded.


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
zcost
сообщение Sep 4 2007, 04:07
Сообщение #59


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 12-04-07
Пользователь №: 26 979



Есть еще аргумент. Недаром архитектура микроконтроллеров как у атмела, так и у микрочипа становится Си ориентированной. Кстати код на С++ у IAR по компактности умещается в те же 10-15% в сравнении с асмом.
Go to the top of the page
 
+Quote Post
Stanislav_S
сообщение Sep 4 2007, 09:29
Сообщение #60


извечный пессимист
*****

Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125



Цитата(Т.Достоевский @ Sep 4 2007, 03:44) *
Нет.
Неужели вы думаете что у меня нет на руках примеров, и Я голословно что то утверждаю?
Когда мой работники не смогли в IARе впихнуть в мегу 48 то что у меня поместилось в 90с1200, это всё и выплыло. Посмотрите мои посты на сахаре и сдесь про прерывания на С. Сам Я вообше не програмист и образование у меня 5 классов (без иронии). Там были приведены примеры от програмистов. 5-и кратное увеличение кода по сравнению с асм это цветочки.

Я вам серьезно советую избавиться от таких программистов, поскольку судя по всему не умеют пользоваться инструментом. Потому как раздуть код это надо постараться, я вот в некоторых программах даже full printf (ужас!) применяю и даже место остается. А я веть тоже не программист, а схемотехник и при написании программ иногда в учебник по С заглядываю smile.gif. А так, если не можете пользоваться инструментом, то нечего на него обижаться smile.gif


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Sep 4 2007, 10:11
Сообщение #61


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(zcost @ Sep 4 2007, 07:07) *
Есть еще аргумент. Недаром архитектура микроконтроллеров как у атмела, так и у микрочипа становится Си ориентированной.

Что, флаг переноса выкинули?! smile.gif
Или что такое Си ориентированная архитектура?


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 4 2007, 10:26
Сообщение #62


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Dog Pawlowa @ Sep 4 2007, 13:11) *
Или что такое Си ориентированная архитектура?
1) Наличие нескольких индексных регистров
2) Развитая косвенная адресация.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Sep 4 2007, 10:31
Сообщение #63


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Весело тут у вас.....
По моему после поста singlskv 4.09.2007;00:44 можно тему закрывать...
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Sep 4 2007, 11:00
Сообщение #64


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Сергей Борщ @ Sep 4 2007, 13:26) *
1) Наличие нескольких индексных регистров
2) Развитая косвенная адресация.

А x86 можно считать Си-ориентированной архитектурой?
Два индексных регистра, о развитости косвенной адресации трудно судить, но она ведь есть?


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
kv_addr
сообщение Sep 4 2007, 11:36
Сообщение #65


Местный
***

Группа: Свой
Сообщений: 208
Регистрация: 6-07-04
Из: Полтава
Пользователь №: 279



Цитата(singlskv @ Sep 4 2007, 00:44) *
а код типа такой:
Код
;  13 words / 13 cycles
      ; tmp=  abcdefgh
  mov    tmp2,tmp      ; tmp2= abcdefgh
  andi   tmp2,0b01010101; tmp2= 0b0d0f0h
  andi   tmp, 0b10101010; tmp=  a0c0e0g0
  bst    tmp2,0        ;                 T=h
  lsr    tmp2          ; tmp2= 00b0d0f0
  bld    tmp2,7        ; tmp2= h0b0d0f0
  lsl    tmp        ; tmp=  0c0e0g00  C=a
  adc    tmp, tmp2     ; tmp=  hcbedgfa
  mov    tmp2,tmp      ; tmp2= hcbedgfa
  andi   tmp2,0b01100110; tmp2= 0cb00gf0
  swap   tmp2          ; tmp2= 0gf00cb0
  andi   tmp, 0b10011001; tmp=  h00ed00a
  add    tmp, tmp2     ; tmp=  hgfedcba

Трюк, несомненно, красивый. wink.gif Но такой вариант не так уж сильно ему уступает:
Код
; 14 words / 14 cycles
; tmp=abcdefgh
mov tmp2,tmp
ror tmp
rol tmp2
ror tmp
rol tmp2
ror tmp
rol tmp2
ror tmp
rol tmp2
ror tmp
andi tmp,0xf0
andi tmp2,0x0f
or tmp,tmp2
swap tmp
; tmp=hgfedcba

smile.gif
Go to the top of the page
 
+Quote Post
Stariy Alex
сообщение Sep 4 2007, 12:58
Сообщение #66


Знающий
****

Группа: Свой
Сообщений: 736
Регистрация: 29-04-06
Из: Berlin
Пользователь №: 16 605



Цитата(defunct @ Sep 3 2007, 02:01) *
pdf с bookmark'ами? Залейте, пригодится.
Спасибо

Слил.
http://electronix.ru/forum/index.php?showtopic=36124
Цитата(bbill @ Sep 4 2007, 00:00) *
Залейте, пожалуйста, bbill@mail.ru
Спасибо.

Отправил, 66 мб х 5 файлов (в комплекте AVR-Шпак с дискетой).
На Рапидшару было бы проще.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 4 2007, 13:24
Сообщение #67


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Dog Pawlowa @ Sep 4 2007, 14:00) *
А x86 можно считать Си-ориентированной архитектурой?
Два индексных регистра, о развитости косвенной адресации трудно судить, но она ведь есть?

Буквы x бывают разные, если это '386', то 'индексные регисты' абсолютно все. Ну пример адресации:
mov dx, fs:[eax + ecx*4 + 1]
Ну даже если просто 86, то индексных тоже не два - si, di, sp, bp, bx.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Sep 4 2007, 13:57
Сообщение #68


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(zltigo @ Sep 4 2007, 16:24) *
Буквы x бывают разные, если это '386', то 'индексные регисты' абсолютно все. Ну пример адресации:
mov dx, fs:[eax + ecx*4 + 1]
Ну даже если просто 86, то индексных тоже не два - si, di, sp, bp, bx.

Вот недостаток Си - полностью забывается архитектура! smile.gif
Строго говоря, источники расходятся в определении количества индексных регистров, относя bx к регистрам общего назначения и исключая sp ввиду его изменяемости не только программно, но и аппаратно. То есть я забыл всего лишь bp smile.gif
Но я к чему? Не так то много нужно, чтобы быть Си-ориентированной архитектурой? Я думаю, что достаточно хорошего компилятора smile.gif


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 4 2007, 14:51
Сообщение #69


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Dog Pawlowa @ Sep 4 2007, 16:57) *
То есть я забыл всего лишь bp smile.gif

Забыли прежде всего о 386..586 впрочем это обычное дело sad.gif распространять скромные возможности 86/186/286 на все семейство. Ну а для 86 забыли три регистра, это я Вам, как написавший сотни килобайт кода на ASM, а не прочитавший обзорную статейку, говорю.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 4 2007, 15:45
Сообщение #70


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Dog Pawlowa @ Sep 4 2007, 16:57) *
Но я к чему? Не так то много нужно, чтобы быть Си-ориентированной архитектурой? Я думаю, что достаточно хорошего компилятора smile.gif
Ага. Возьмем PIC16. 8 уровней программно недоступного стека и один FSR. Конечно и для него есть С-компиляторы, но со всякими оговорками. Я, например, не представляю как на такой архитектуре сделать вызов функции по указателю.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
singlskv
сообщение Sep 4 2007, 22:10
Сообщение #71


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(kv_addr @ Sep 4 2007, 15:36) *
Трюк, несомненно, красивый. wink.gif Но такой вариант не так уж сильно ему уступает:
[code]
.....
На самом деле мой вариант это действительно просто трюк,
просто мне нравятся такие трюки и если есть возможность их применить, то
я их применяю, тока тогда, когда это действительно необходимо...

Примерно такие же трюки вполне реализуемы/используемы на С
Эфектифность конечно чуть меньше(на 10-15%), но при этом сохраняется полная переносимость...
правда на другой платформе код может оказаться неэфективным, но рабочим...

Вобщем, если подитожить, учите инструмент которым Вы пользуетесь...
Go to the top of the page
 
+Quote Post
defunct
сообщение Sep 4 2007, 22:53
Сообщение #72


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Dog Pawlowa @ Sep 4 2007, 16:57) *
относя bx к регистрам общего назначения и исключая

BX никогда не был индексным регистром. (нет команд 8086-го, которые бы могли делать автоинкремент или декремент этого регистра).
BX в 8086 можно использовать для базовой либо базово-индексной адресации:

mov ax, [bx] <- базовая
mov ax, [bx + si] <- базово-индексная.

BP тоже базовый, только в сочетании с SS.
SP - вещь в себе.

остается и правда только два индексных регистра si, di.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 5 2007, 07:18
Сообщение #73


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(defunct @ Sep 5 2007, 01:53) *
нет команд 8086-го, которые бы могли делать автоинкремент или декремент этого регистра

Автоинкременация не является признаком индексности или не индексности регистра - не выкручивайтесь smile.gif.
Цитата
BP тоже базовый, только в сочетании с SS.

bp спокойно используeтся без "сочетания" с ss:
mov ds:[bp],ax


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
defunct
сообщение Sep 5 2007, 09:34
Сообщение #74


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(zltigo @ Sep 5 2007, 10:18) *
Автоинкременация не является признаком индексности или не индексности регистра - не выкручивайтесь smile.gif.

А чего мне выкручиваться-то? Я просто проходил мимо ;>
адресовать через BX в 8086 можно, но это "базовый" регистр, bp - тоже.
Go to the top of the page
 
+Quote Post
mse
сообщение Sep 5 2007, 09:46
Сообщение #75


Знающий
****

Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693



Цитата(kv_addr @ Sep 4 2007, 15:36) *
Трюк, несомненно, красивый. wink.gif Но такой вариант не так уж сильно ему уступает:
...

;О) Дык, тупой rol-ror*8=16, в принципе, уступает 13-тактовому гулькин. Не тот случай, чтобы огород городить. И на-Цуется более кошерно...Что не может не радовать ;О)
Go to the top of the page
 
+Quote Post
fmdost
сообщение Sep 5 2007, 09:58
Сообщение #76


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



И все ка-кто дружно пропустили ненужный clr r17. crying.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 5 2007, 09:58
Сообщение #77


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(defunct @ Sep 5 2007, 12:34) *
адресовать через BX в 8086 можно, но это "базовый" регистр, bp - тоже.

bp - Base Pointer по жизни smile.gif. Ну слава богу хоть работать можно smile.gif - defunct после изучения наконец дал "добро".
Ну и еще раз напоминаю, что начиная с 386 и оставшиеся eax, ecx, edx регистры используются и как индексные.
Все завязываем с разговорами о x86 в ветке по AVR 'C'.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
kv_addr
сообщение Sep 5 2007, 10:21
Сообщение #78


Местный
***

Группа: Свой
Сообщений: 208
Регистрация: 6-07-04
Из: Полтава
Пользователь №: 279



Цитата(singlskv @ Sep 5 2007, 01:10) *
На самом деле мой вариант это действительно просто трюк,
просто мне нравятся такие трюки и если есть возможность их применить, то
я их применяю, тока тогда, когда это действительно необходимо...

Как бы возражений нет, этот трюк мне тоже понравился. wink.gif На один такт меньше мною приведенного.
Цитата(singlskv @ Sep 5 2007, 01:10) *
Примерно такие же трюки вполне реализуемы/используемы на С
Эфектифность конечно чуть меньше(на 10-15%), но при этом сохраняется полная переносимость...
правда на другой платформе код может оказаться неэфективным, но рабочим...

Особеность "Цэ" в том, что напрямую одноменным флагом не воспользуешься. Но и флагом "Тэ" (AVR) напрямую пользоваться стремно. Компилятор его пользует для собственных нужд, можно невпопад этот флаг задействовать.
Цитата(singlskv @ Sep 5 2007, 01:10) *
Вобщем, если подитожить, учите инструмент которым Вы пользуетесь...

Я вроде как противоположного не утверждал... rolleyes.gif
Go to the top of the page
 
+Quote Post

6 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 05:25
Рейтинг@Mail.ru


Страница сгенерированна за 0.02383 секунд с 7
ELECTRONIX ©2004-2016