Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ну , что прощаемся с Atmel ?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
adnega
Цитата(smalcom @ Oct 5 2015, 19:23) *

Нет. Тогда бы IL относился к результату, т.е. на нем бы писал пользователь, а не разработчик.
А
Цитата
в изделии используется два ассемблера
явно указывается, что разработка ведется на двух ассемблерах.
HHIMERA
Надо скинуться по баксу... чтобы атмэл жил и дальше... и чтобы всякие-разные извращенцы упивались его величием... А то ещё расползутся... по другим архитектурам... уж лучше пусть сидят на атмэле вечно... как гвоздями прибитые...
zltigo
QUOTE (smalcom @ Oct 5 2015, 19:23) *

Это ни разу ни ассемблер. Это все-же конкатенативный язычок типа, как для программируемых калькуляторов, или Forth и иже с ним.
SMB
Цитата(Kopa @ Oct 5 2015, 20:58) *
Внутри, вроде, сделан на контроллере 51-ой архитектуры.


Да, на современном контроллере 51-й архитектуры. Исходный код полностью на ассемблере. Программа занимает чуть менее 64 Кб.
smalcom
Цитата
т.е. на нем бы писал пользователь, а не разработчик.

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

Цитата
Это ни разу ни ассемблер. Это все-же конкатенативный язычок типа

я не настаиваю, привёл пример теоретически реализованной технологии.
adnega
Цитата(smalcom @ Oct 5 2015, 20:01) *
получается, что микрософту нельзя..

я не настаиваю, привёл пример теоретически реализованной технологии.

Спор не имеет смысла, т.к. это только наши догадки, а zombi не сказал на каких asm, что и зачем он делал.
Боюсь, это очередная коммерческая тайна))
zombi
Цитата(adnega @ Oct 5 2015, 19:07) *
А зачем?

Пришлось выкручиваться.
Поскольку начиналось всё в 1998 на AT90S который не работал с внешней памятью программ.
А общий программный код уже тогда составлял примерно 256KB.
Эмулируется свой собственный язык, но очень похожий на асм Z80.


Цитата(Kopa @ Oct 5 2015, 18:52) *
Или используется дизайн ассемблера AБ?

что такое "дизайн ассемблера AБ"?
Kopa
Цитата(zombi @ Oct 5 2015, 20:13) *
что такое "дизайн ассемблера AБ"?

Как, Вы не знаете Ассемблер Громова для AVR? sm.gif
Поздравляю.

P.S. Площадка пользователей АБ
adnega
Цитата(zombi @ Oct 5 2015, 20:13) *
А общий программный код уже тогда составлял примерно 256KB.

Ну вот вам и яркий пример! ))
С исходником на Си выкручиваться не надо - все наработки могут быть многократно использованы в будущем на разных платформах в нативном виде.
Мне самописные библиотеки позволяют их использовать на разных платформах от AVR до ПК.
Хотя запускаю их в основном на STM32.
zombi
Цитата(Kopa @ Oct 5 2015, 20:21) *
Как, Вы не знаете Ассемблер Громова для AVR? sm.gif
Поздравляю.

Жесть какая. biggrin.gif biggrin.gif biggrin.gif

Цитата(adnega @ Oct 5 2015, 20:24) *
Ну вот вам и яркий пример! ))
С исходником на Си выкручиваться не надо - все наработки могут быть многократно использованы в будущем на разных платформах в нативном виде.
Мне самописные библиотеки позволяют их использовать на разных платформах от AVR до ПК.
Хотя запускаю их в основном на STM32.

Интересно как программу написанную на асме и занимающую 256KB переписать на СИ и впихнуть в 8KB?
adnega
Цитата(zombi @ Oct 5 2015, 21:20) *
Интересно как программу написанную на асме и занимающую 256KB переписать на СИ и впихнуть в 8KB?

Как как? Взять камень с 512кБ на борту и не парить мозг.
Интересно узнать, как вы превратили 256кБ программного кода в 8кБ программного кода?
PS. Говорят, среди ассемблерщиков популярен nop, но 248кБ nop-ов явный перебор.
zombi
Цитата(adnega @ Oct 5 2015, 21:48) *
Как как? Взять камень с 512кБ на борту и не парить мозг.

256KB было в 1998 году.
Сейчас код 128MB.
Посоветуйте камень со 128MB программной памяти.
Цитата(adnega @ Oct 5 2015, 21:48) *
Интересно узнать, как вы превратили 256кБ программного кода в 8кБ программного кода?

Я ничего не впихивал. Это Вы пишете что если б на СИ писал то всё бы влезло biggrin.gif
Я просто поставил внешнюю память и использую ее как память программ.
zltigo
QUOTE (adnega @ Oct 5 2015, 21:48) *
Как как? Взять камень с 512кБ на борту и не парить мозг.

Типичный коэффициент уменьшения объема монстральных ассемблерных программ, после переписывания их функционала на Си равен двум.
Так-то 128 вместо 256 будет достаточно. Думаю, что для такого 256K монстра, коэфициент будет вообще и более 4x.
zombi
Цитата(zltigo @ Oct 5 2015, 21:57) *
монстральных ассемблерных программ

biggrin.gif
adnega
Цитата(zombi @ Oct 5 2015, 21:52) *
256KB было в 1998 году.
Сейчас код 128MB.
Посоветуйте камень со 128MB программной памяти.

Я ничего не впихивал. Это Вы пишете что если б на СИ писал то всё бы влезло biggrin.gif
Я просто поставил внешнюю память и использую ее как память программ.

Вы не путаете код и данные? Если картинки или звук попадают в прошивку - это не дает права называть их кодом на ассемблере.
zombi
Цитата(adnega @ Oct 5 2015, 23:49) *
Вы не путаете код и данные? Если картинки или звук попадают в прошивку - это не дает права называть их кодом на ассемблере.

Да, Вы правы.
Кода всего то около 4MB.
Остальное данные.
Что это меняет?
adnega
Цитата(zombi @ Oct 6 2015, 00:39) *
Кода всего то около 4MB.

Не верю. Я на Си пишу и у меня проши меньше 128кБ, а функционал ого-го.
Дадите ссылку на функции устройства, чтоб понять накой там 4МБ кода?
zltigo
QUOTE (zombi @ Oct 6 2015, 00:39) *
Что это меняет?

Ничего. Ложь осталась ложью.
zombi
Цитата(adnega @ Oct 6 2015, 00:47) *
Не верю. Я на Си пишу и у меня проши меньше 128кБ, а функционал ого-го.

тю... всего то
Цитата(adnega @ Oct 6 2015, 00:47) *
Дадите ссылку на функции устройства, чтоб понять накой там 4МБ кода?

А свой функционал дадите?

Цитата(zltigo @ Oct 6 2015, 00:49) *
Ничего. Ложь осталась ложью.

Ну да, про сферического коня уже писали
smalcom
Цитата
С исходником на Си выкручиваться не надо - все наработки могут быть многократно использованы в будущем на разных платформах в нативном виде.

> DDR = 0x10
вперёд, используйте это в кортекс или иксмеге.
------
хотя я уже видел, что тут с си у людей крайне туго. одни отмазки, чтобы оправдать его незнание.

Цитата
Как как? Взять камень с 512кБ на борту и не парить мозг.

вот так писаки ширпотреба и делают.

какой-то унылый разговор с фанатиками, надо сваливать. ато ещё заражусь.
digital
Цитата(zltigo @ Oct 5 2015, 21:57) *
Типичный коэффициент уменьшения объема монстральных ассемблерных программ, после переписывания их функционала на Си равен двум.
Так-то 128 вместо 256 будет достаточно. Думаю, что для такого 256K монстра, коэфициент будет вообще и более 4x.


ну это еще от прокладки зависит, этот коэффициент может быть и 4 и 10 и 20 rolleyes.gif



Цитата(smalcom @ Oct 6 2015, 07:42) *
> DDR = 0x10
вперёд, используйте это в кортекс или иксмеге.
------


а в чем проблема?

еще раз повторяю, что больше зависит от прокладки чем от языка, можно и на си написать так что замена одного пина будет большой проблемой
adnega
Цитата(smalcom @ Oct 6 2015, 07:42) *
> DDR = 0x10
вперёд, используйте это в кортекс или иксмеге.

Что-то вы все в крайности бросаетесь. Разумеется часть кода, которая касается работы с периферией должна отличаться.
Я же говорил про библиотеки. Парсинг строки и вычисление окрестности географической точки не зависят от платформы.
И, поверьте, таких решений очень много.
Насчет "DDR = 0x10": кто ж так ужасно пишет (magic number detected)!
Махнуть ногой можно так
Код
set_pin(PWM_PIN, 1);
SpiritDance
Цитата(zombi @ Oct 6 2015, 01:39) *
Да, Вы правы.
Кода всего то около 4MB.


4 МБ кода на ассемблере?! АААААААААААААААААААА!!!!

Видимо это действительно оповеститель о конце света, другой функционал занимающий столько памяти сложно придумать.

Цитата(adnega @ Oct 6 2015, 12:04) *
Разумеется часть кода, которая касается работы с периферией должна отличаться.(magic number detected)!


Вы так дойдете до того что программу нужно разделять на алгоритм и портируемую часть, а это недопустимо!

Цитата(adnega @ Oct 6 2015, 12:04) *
Насчет "DDR = 0x10": кто ж так ужасно пишет (magic number detected)!


Писаки неширпотреба, очевидно же!
zltigo
QUOTE (SpiritDance @ Oct 6 2015, 11:14) *
Писаки неширпотреба, очевидно же!

Да типично! sm.gif

adnega
Цитата(SpiritDance @ Oct 6 2015, 11:14) *
Вы так дойдете до того что программу нужно разделять на алгоритм и портируемую часть, а это недопустимо!

Очень тонко иронизируете - не все смогут понять...
SpiritDance
Цитата(adnega @ Oct 6 2015, 12:45) *
Очень тонко иронизируете - не все смогут понять...


Это от волнения после прочтения последних страниц темы. Я все еще под впечатлением от 4 МБ.
zombi
Цитата(SpiritDance @ Oct 6 2015, 11:14) *
4 МБ кода на ассемблере?! АААААААААААААААААААА!!!!

Видимо это действительно оповеститель о конце света, другой функционал занимающий столько памяти сложно придумать.

Нет, не оповеститель.
Всё гораздо проще.
Это паук с искусственным интелектом!
На каждую лапу по кому.
Передний и задний стерео звук.
Причём задний не меньше 11 бит, тут качество важно!
Два спиайя на левый и правый узд.
Зачем батарейка додумайте сами.
Надо бы еще зрение,обоняние и слух добавить, но это только на STM32 и на СИ возможно.
так надеюсь понятно?
SpiritDance
Цитата(zombi @ Oct 6 2015, 13:02) *
Нет, не оповеститель.
Всё гораздо проще.
Это паук с искусственным интелектом!
На каждую лапу по кому.


Но у паука же 8 ног!

Цитата(zombi @ Oct 6 2015, 13:02) *
Передний и задний стерео звук.
Причём задний не меньше 11 бит, тут качество важно!


Очевидно нужен еще канал на сабвуфер сзади!

Цитата(zombi @ Oct 6 2015, 13:02) *
Зачем батарейка додумайте сами.


плеваться щелочью?

Цитата(zombi @ Oct 6 2015, 13:02) *
Надо бы еще зрение,обоняние и слух добавить, но это только на STM32 и на СИ возможно.


Придётся отказаться от асма!

Цитата(zombi @ Oct 6 2015, 13:02) *
так надеюсь понятно?


ага
zombi
Цитата(SpiritDance @ Oct 6 2015, 12:24) *
Но у паука же 8 ног!

ну тогда пусть будет или хромой паук или жук
megajohn
del
zombi
Цитата(megajohn @ Oct 6 2015, 12:49) *
а можете показать ? А то интересно

это шутка была biggrin.gif
digital
Цитата(zombi @ Oct 6 2015, 12:02) *
Нет, не оповеститель.
Всё гораздо проще.
Это паук с искусственным интелектом!


искусственный интелект на асме это сильно, я так не могу, я уже от арифметике с фиксированной точкой на асме начинаю плакать, слабак

Цитата
На каждую лапу по кому.


rs485 и всего один UART
zombi
Цитата(megajohn @ Oct 6 2015, 12:49) *
я сам ради детей и для детей начал осваивать ракетостроение, авиамоделирование, роботостроение

Ракета не понравилась и процессора там похоже нету.
А робот да. То что надо. На STM32 небось на СИ?
alexunder
Обожаю этот форум! Некую заокеанскую компанию скупает другая, но тут переживают так словно их родную мать продают sm.gif
Вообще, 51 - вот это вечность, он и Atmel и Cortex-M переживет sm.gif
(вброшу и я немного, хе-хе)
aaarrr
Цитата(alexunder @ Oct 7 2015, 00:12) *
Вообще, 51 - вот это вечность, он и Atmel и Cortex-M переживет sm.gif

Да он и Intel переживет.
adnega
Цитата(alexunder @ Oct 7 2015, 00:12) *
Обожаю этот форум! Некую заокеанскую компанию скупает другая, но тут переживают так словно их родную мать продают sm.gif
Вообще, 51 - вот это вечность, он и Atmel и Cortex-M переживет sm.gif
(вброшу и я немного, хе-хе)

Мы тут и языков программирования коснулись: я в 1998 году в тетрадке в клеточку писал проги в машинных кодах для Z80, а затем побитно прожигал в К155РЕ3. Вот где вечность в плане сроков разработки!
alexunder
Цитата(aaarrr @ Oct 6 2015, 23:18) *
Да он и Intel переживет.

вселенную переживет!

Цитата(adnega @ Oct 6 2015, 23:18) *
Мы тут и языков программирования коснулись: я в 1998 году в тетрадке в клеточку писал проги в машинных кодах для Z80, а затем побитно прожигал в К155РЕ3. Вот где вечность в плане сроков разработки!

Вот! Маш коды и в 155РЕ3! Это вызывает уважение. 155РЕ3 насколько помню, имела низкий выход годных чипов, т.е. часть шла с уже "прожжеными" проволочками, прав ли я?
А я писал на бумажке код для 51 на асме. У меня была тетрадочка, где я продумывал, оптимизировал...
zltigo
QUOTE (aaarrr @ Oct 7 2015, 00:18) *
Да он и Intel переживет.

Вообе-то MSC51 он и есть Intel sm.gif.
alexunder
Цитата(zltigo @ Oct 6 2015, 23:49) *
Вообе-то MSC51 он и есть Intel sm.gif.

Об этом и шла речь, наврное, мол, переживет своего родителя sm.gif
zombi
А я помню как программу загрузчик с перфоленты на клавишах М6000 набирал.
Во время было.
Кубик озу 32кВ на ферритовых кольцах.
zltigo
QUOTE (alexunder @ Oct 7 2015, 00:44) *
155РЕ3 насколько помню, имела низкий выход годных чипов, т.е. часть шла с уже "прожжеными" проволочками, прав ли я?

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

zombi
Цитата(zltigo @ Oct 7 2015, 01:01) *
прошивкой 2K стартового монитора в феритовые кольца.

2K ))) там всего то примерно 20 команд 16-ти ричных нужно было нащёлкать )
а может и меньше. точно не помню
zltigo
QUOTE (zombi @ Oct 7 2015, 01:06) *
2K ))) там всего то примерно 20 команд 16-ти ричных нужно было нащёлкать )
а может и меньше. точно не помню

Я сказал монитора, а не загрузчика.
zombi
Цитата(zltigo @ Oct 7 2015, 01:12) *
Я сказал монитора, а не загрузчика.

Ааа... ну значит я не правильно понял.
zombi
Цитата(zltigo @ Oct 3 2015, 13:30) *
А я вычислил, что zombi за секретное делает! Оповеститель о Конце Света.

Цитата(SpiritDance @ Oct 6 2015, 11:14) *
4 МБ кода на ассемблере?! АААААААААААААААААААА!!!!
Видимо это действительно оповеститель о конце света, другой функционал занимающий столько памяти сложно придумать.

Интересно, а какой максимально возможный размер программного кода в одном автономном устройстве Вы можете себе представить?
И даже не важно на чём исходники. Хоть СИ хоть АСМ или ещё чего.
Писишки ноуты и всякие эксклюзивы типа спутников и тд не в счёт.
Такое себе вполне посредственное комнатное изделие на печатной плате, которую при желании можно запихнуть в покупной или самодельный корпус.
С фиксированным функционалом без возможности самому туда чего то добавить или дописать.
Для полноценной работы достаточно подключить кое какую управляемую периферию и подать питание.
adnega
Цитата(zombi @ Oct 7 2015, 03:09) *
Интересно, а какой максимально возможный размер программного кода в одном автономном устройстве Вы можете себе представить?

Не понятен вопрос. Представить можно все что угодно.
Я чувствую свою эффективность в проектах порядка 10 000 строк.
Все что слишком ниже или слишком выше приводит к потере эффективности вплоть до пропадания интереса к заказу.
zombi
Цитата(adnega @ Oct 7 2015, 03:31) *
Я чувствую свою эффективность в проектах порядка 10 000 строк.

Если на асме то можно говорить о примерно 10KB.
А на CИ сколько может занимать 10 000 строк? ну хоть примерно.


Цитата(adnega @ Oct 7 2015, 03:31) *
Не понятен вопрос. Представить можно все что угодно.

Понятно что можно. Кто то оповеститель представляет, я вон хромого паука придумал.
Но я то прошу как то более скромно представлять, без извращений)
Эдди
Цитата(zombi @ Oct 7 2015, 03:41) *
Если на асме то можно говорить о примерно 10KB.
А на CИ сколько может занимать 10 000 строк? ну хоть примерно.

Тяжело говорить точно, т.к. нужно выкидвать комментарии и пустые строки. Вот один из примеров:
Код
cat *c|wc -l
4218
du ircontroller.bin
28K    ircontroller.bin

(линкуется с opencm3)

А, забыл добавить: из этих 28К еще 2К с хвостиком (на выравнивание) занимает структура настроек во флеш-памяти.
zltigo
QUOTE (Эдди @ Oct 7 2015, 08:39) *
Тяжело говорить точно, т.к. нужно выкидвать комментарии и пустые строки....


То, что прямо сейчаc открыто в редакторе и редактор сказал:
Files - 91
Line count - 32526
Code line count - 16627

Линкер сказал:
51 220 bytes of CODE memory
23 673 bytes of DATA memory (+ 214 absolute )
8 719 bytes of CONST memory

Типичный проект для среде-маленького ARM уровня ARM7/Cortex-M0..3 - перефирийный контроллер в телекомуникационной системе.
digital
Цитата(zombi @ Oct 7 2015, 03:09) *
Интересно, а какой максимально возможный размер программного кода в одном автономном устройстве Вы можете себе представить?
И даже не важно на чём исходники. Хоть СИ хоть АСМ или ещё чего.


ну сейчас на автономные устройства и linux, и win можно поставить, так что размер сверху ничем не ограничен
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.