-
- Очень давно переползал с АСМ-ма на ещё тот Кодевижен, евоный хелп зачётный был. Сейчас думаю не хуже. maleon(03.11.2019 18:09)
- 10 лет прошло? - Значит, меняй что-нибудь важное; главное, оснОвное, сам! Не дожидаясь "подзатыльника" от Бати.:) Работаю в АРМ Кейле на Си. Но... матерюсь точно так же, как и на ассемблере. Терпение и трут = огонь. :) Главное - "Не ссы, и bnb62(96 знак., 01.11.2019 16:24 - 17:41)
- Keil дно редкостное - evgeniy1294(01.11.2019 16:27)
- Могу IAR-ARM, но в нем синтаксис и ошибки Си "не красные" непосредственно в процессе творческого рукожопия оптимального Кода. Keil(спасибо за намёк произношения) - пожалуй самый трёхколёсный" велосипед"! Для "индусов"? :))) Ваш досуг Здесь - bnb62(82 знак., 01.11.2019 16:46 - 18:35)
- Выражусь более понятно. О косяках IAR и Keil я уже писал, если вкратце, то: evgeniy1294(1060 знак., 01.11.2019 21:49)
- Какие конкретно косяки у кейла? PlainUser(104 знак., 05.11.2019 08:13)
- грусть. OpenOCD из репов арча, а там из апстрима ванильного. а чуть свежее камень и фсё... - Vit(02.11.2019 08:38)
- Я собираю отдельные пакеты на такой случай. Сейчас у меня их два: из ванильное ветки и второй с патчами ST. - evgeniy1294(02.11.2019 11:54)
- в смысле коллекционируете? или собираете из исходников? - Vit(02.11.2019 12:05)
- Из исходников. Обычно процесс заключается в выкачивании ванильное ветки, накладывании на неё патчей и дальнейшей сборки в виде отдельного пакета. - evgeniy1294(02.11.2019 12:23)
- И как потом используете эти 2 пакета? Постоянно удаляете не нужный и ставите нужный? Или есть вариант попроще? - symbions(05.11.2019 09:56)
- Пересобираю пакеты раз в пару месяцев, когда патчи выходят. А дальше просто: evgeniy1294(311 знак., 05.11.2019 10:44)
- понял, спасибо - symbions(05.11.2019 12:07)
- Пересобираю пакеты раз в пару месяцев, когда патчи выходят. А дальше просто: evgeniy1294(311 знак., 05.11.2019 10:44)
- а под виндой не собирали? - Vit(02.11.2019 12:26)
- Не пробовал, но студийный компилятор должен его собрать. В винде должно быть попроще, потому что не нужно делать пакет. - evgeniy1294(02.11.2019 14:00)
- спасибо. посмотрю текущее состояние. - Vit(02.11.2019 16:54, ссылка)
- Klen включает openocd в свои сборки, поэтому он может рассказать подробнее. - evgeniy1294(02.11.2019 17:46)
- спасибо. посмотрю текущее состояние. - Vit(02.11.2019 16:54, ссылка)
- Не пробовал, но студийный компилятор должен его собрать. В винде должно быть попроще, потому что не нужно делать пакет. - evgeniy1294(02.11.2019 14:00)
- И как потом используете эти 2 пакета? Постоянно удаляете не нужный и ставите нужный? Или есть вариант попроще? - symbions(05.11.2019 09:56)
- Из исходников. Обычно процесс заключается в выкачивании ванильное ветки, накладывании на неё патчей и дальнейшей сборки в виде отдельного пакета. - evgeniy1294(02.11.2019 12:23)
- в смысле коллекционируете? или собираете из исходников? - Vit(02.11.2019 12:05)
- Я собираю отдельные пакеты на такой случай. Сейчас у меня их два: из ванильное ветки и второй с патчами ST. - evgeniy1294(02.11.2019 11:54)
- Всё понял. sudo apt-get install gcc-arm-none-eabi binutils-arm-none-eabi libnewlib-arm-none-eabi ...и поехали! - bnb62(01.11.2019 22:18 - 22:20)
- Klen вспомнился :) - Ксения(01.11.2019 22:22)
- И это правильный путь. Таких товарищей нужно держаться. - Nikolay_Po(01.11.2019 22:33)
- +100500 - Evgeny_CD(01.11.2019 22:38)
- И это правильный путь. Таких товарищей нужно держаться. - Nikolay_Po(01.11.2019 22:33)
- Klen вспомнился :) - Ксения(01.11.2019 22:22)
- Выражусь более понятно. О косяках IAR и Keil я уже писал, если вкратце, то: evgeniy1294(1060 знак., 01.11.2019 21:49)
- Могу IAR-ARM, но в нем синтаксис и ошибки Си "не красные" непосредственно в процессе творческого рукожопия оптимального Кода. Keil(спасибо за намёк произношения) - пожалуй самый трёхколёсный" велосипед"! Для "индусов"? :))) Ваш досуг Здесь - bnb62(82 знак., 01.11.2019 16:46 - 18:35)
- Keil дно редкостное - evgeniy1294(01.11.2019 16:27)
- Серебряной пули -- нет. - fk0(01.11.2019 11:15)
- А как с осиновым колом? - mse homjak(01.11.2019 15:15 - 15:18)
- Феодальное королевство. Для студней сгодится. Для нормальной работы - нет. Аминь. Подробности могу вспомнить, но рвотный рефлекс не дает :-) - il-2(31.10.2019 19:42)
- что посоветуете?? (с прицелом на кортексы, ну и старшие АВР тоже неплохо бы) Приоритет (кроме общего качества работы, компилятора, ессно)- вменяемая среда отладки или возможность полноценной интеграции куда-нить (к примеру в студию (тут сразу Adept(18 знак., 31.10.2019 20:23)
- Студия 6.2 и встроенный в нее GCC. Тот toolchain, который интегрировался в студию 4 был все-таки сыроват и результат компиляции иногда выдавал нерабочий на ровном месте. - AlexG(31.10.2019 21:04)
- Лично мне никакая Студия не нравится, а нравится IAR :). Причем, причину вижу не в качестве кода, а в ясности смысла сообщений об ошибках. У IAR она ясная, понятная и сразу указует на место в коде, которое компилятору не понравилось, тогда как Ксения(241 знак., 01.11.2019 15:34 - 15:53)
- Не так все просто. Однажды я написал такой исходник, от компиляции которого IAR
уходил в нирванусообщал о внутренней ошибке. - VLLV(01.11.2019 21:12)- "Однажды он принес домой такое, что мама с папой плакали навзрыд"(с) :)) - MBedder(01.11.2019 22:19)
- Это едва ли следует причислять к своим заслугам :-) - SciFi(01.11.2019 21:15)
- Мне тоже очень нравится IAR (за качественный и предсказуемый результат компиляции), но мне показалось, что топикстартер хочет чего-нибудь подешевле, а Студия, начиная с шестой версии, стала достаточно вменяемой, чтобы использовать ее для несложных AlexG(186 знак., 01.11.2019 15:50)
- Пользуюсь студией 7 для весьма серьёзных проектов, как AVR, так и ARM, всё нормально. Не вижу необходимости чего-то другого для продукции Atmel - бомж(02.11.2019 22:15)
- несложные проекты, и всё, что касается задач управления, без сложной математики, я делаю на асме (благо есть самописная операционная многозадачная среда шаблонов для разных типов МК, шаблоны проектов для tiny/mega/xmega) Adept(860 знак., 01.11.2019 21:07)
- Если использование таблетки для вас приемлемый вариант, то крайне рекомендую IAR - AlexG(02.11.2019 07:43)
- Ассемблер головного мозга :-) - SciFi(01.11.2019 21:13)
- Да, я думал в спорах ASM vs C, ассемблер безоговорочно проиграл лет 10-15 тому назад. И в варианте C vs C++ давно победил C++. И в сегодняшнем мире уже вовсю отказываются от C++ в пользу C#, Java, Typescript... - fk0(03.11.2019 15:34)
- Просто тенденция в сторону блочного домостительства :). Ради скорости строительства укладывать кирпичи считают зазорным. - Ксения(03.11.2019 20:33)
- Не совсем. C++ -- это уход в сторону _типизированных_ ЯВУ, а Java или C# -- подвижка в сторону "управляемого кода" и что наиболее важно, автоматического управления памятью. В последних правда метапрограммирование загнобили на корню. Но не важно, fk0(948 знак., 03.11.2019 21:49)
- Исследования показали, что укладка кирпича занимает исчезающе малую долю времени строительства дома - Крок(03.11.2019 21:35)
- То-то одни монолиты строят, где кирпич -- декоративная "обделка" и внутренние перегородки. - fk0(03.11.2019 21:41)
- А это уже жадность. И результаты в общем-то аналогичны. - Крок(04.11.2019 13:55)
- То-то одни монолиты строят, где кирпич -- декоративная "обделка" и внутренние перегородки. - fk0(03.11.2019 21:41)
- Просто тенденция в сторону блочного домостительства :). Ради скорости строительства укладывать кирпичи считают зазорным. - Ксения(03.11.2019 20:33)
- да, люблю пошевелить мозгами :) а главное мне это доставляет удовольствие, ну, скажем как ручная резьба или ювелирное дело (а ведь можно же взять фрезер, и сделать быстрее, но удовольствия не получишь, да и результат "ручной работы" мне больше Adept(13 знак., 01.11.2019 21:33)
- Удовольствие? От ассемблера? Извращенец! :) - VLLV(01.11.2019 22:38)
- писАл на асме со времен Д3-28 и PDP-11, продолжаю и по сей день. всё нравицца)) - Alex68(01.11.2019 23:19)
- Надо армовский асм попробовать. Вангую, отвадит. И поделом! - SciFi(01.11.2019 23:29)
- +1 для AVR писал на асме, при переходе на арм попытался и понял что у меня голова лопнет нах... - Aleksey_75(01.11.2019 23:33)
- писал еще на COP420, точнее его белорусский аналог 1820ВЕ1, это четырехбитный микроконтроллер. вот это было извращением, но все получилось. - Alex68(01.11.2019 23:35)
- Коллега!!! - Make_Pic(04.11.2019 12:54)
- я всегда приветствую подобное!!! но увы , есть такое понятие "цель должна оправдывать средства", увы к сожалению не про асм ( - Aleksey_75(01.11.2019 23:39)
- писал еще на COP420, точнее его белорусский аналог 1820ВЕ1, это четырехбитный микроконтроллер. вот это было извращением, но все получилось. - Alex68(01.11.2019 23:35)
- у ADSP совершенно прелестный асм. арифметический. пишешь почти как на ЯВУ - Alex68(01.11.2019 23:30)
- +1 для AVR писал на асме, при переходе на арм попытался и понял что у меня голова лопнет нах... - Aleksey_75(01.11.2019 23:33)
- Надо армовский асм попробовать. Вангую, отвадит. И поделом! - SciFi(01.11.2019 23:29)
- ja ja, das is fantastish! sehr gut!! :)) - Adept(01.11.2019 23:14)
- писАл на асме со времен Д3-28 и PDP-11, продолжаю и по сей день. всё нравицца)) - Alex68(01.11.2019 23:19)
- Вам может и больше, а работодателю? Если я скажу начальнику, что мне нужен на проект не месяц, а год - меня нахрен уволят. - evgeniy1294(01.11.2019 21:57)
- Какой нахрен год?? Обычно на софтовую часть проекта отводится от месяца до двух, + допиливание в процессе отладки аппаратной части. Сомневаюсь, что на Си будет быстрее (по крайней мере мой опыт общения с Си-программерами говорит о том, что Adept(2116 знак., 01.11.2019 23:08)
- Нет предмета для спора. Сильно от области применений зависит. Где-то матан нужен весьма взрослый, но неторопливый и на асме такое писать устанешь, на С сильно более приятно. Где-то RT превыше всего, тут да, асм таки может подруливать. Иногда Evgeny_CD(150 знак., 01.11.2019 23:18)
- Сделайте на asm сетевое устройство с web-интерфейсом - evgeniy1294(01.11.2019 23:37)
- Любые крайности вредны. прилинковать исходник на asm в отдельном файле запрещено? - Evgeny_CD(01.11.2019 23:40)
- Забавно, как ты забыл упомянуть косность мЫшления при переходе asm->c. Зато тактичность на высоте. - SciFi(01.11.2019 23:32)
- Свойства разработчика (косность мышления, в частности) - это часть параметров проекта. Их тоже надо учитывать при оптимизации. Evgeny_CD(385 знак., 01.11.2019 23:38)
- вот сказал ты про матан и вспомнилось. довольно давно делал всякие железяки , где нужно было что-то считать, на Z80, по той причине, что у Синклера относительная неплохая была математика. и книжка с исходниками была под рукой. в железяке была Alex68(100 знак., 01.11.2019 23:28)
- +100500!! "всякому фрукту - свой овощ" :)) - Adept(01.11.2019 23:24)
- Сделайте на asm сетевое устройство с web-интерфейсом - evgeniy1294(01.11.2019 23:37)
- Нет предмета для спора. Сильно от области применений зависит. Где-то матан нужен весьма взрослый, но неторопливый и на асме такое писать устанешь, на С сильно более приятно. Где-то RT превыше всего, тут да, асм таки может подруливать. Иногда Evgeny_CD(150 знак., 01.11.2019 23:18)
- Какой нахрен год?? Обычно на софтовую часть проекта отводится от месяца до двух, + допиливание в процессе отладки аппаратной части. Сомневаюсь, что на Си будет быстрее (по крайней мере мой опыт общения с Си-программерами говорит о том, что Adept(2116 знак., 01.11.2019 23:08)
- Удовольствие? От ассемблера? Извращенец! :) - VLLV(01.11.2019 22:38)
- Да, я думал в спорах ASM vs C, ассемблер безоговорочно проиграл лет 10-15 тому назад. И в варианте C vs C++ давно победил C++. И в сегодняшнем мире уже вовсю отказываются от C++ в пользу C#, Java, Typescript... - fk0(03.11.2019 15:34)
- Не так все просто. Однажды я написал такой исходник, от компиляции которого IAR
- а "семёрка" чем плоха? почему 6.2? - Adept(31.10.2019 21:23)
- Мои личные предпочтения - 6.2 меньше завязана на интернет чем 7 - AlexG(31.10.2019 21:29)
- Лично мне никакая Студия не нравится, а нравится IAR :). Причем, причину вижу не в качестве кода, а в ясности смысла сообщений об ошибках. У IAR она ясная, понятная и сразу указует на место в коде, которое компилятору не понравилось, тогда как Ксения(241 знак., 01.11.2019 15:34 - 15:53)
- Студия 6.2 и встроенный в нее GCC. Тот toolchain, который интегрировался в студию 4 был все-таки сыроват и результат компиляции иногда выдавал нерабочий на ровном месте. - AlexG(31.10.2019 21:04)
- что посоветуете?? (с прицелом на кортексы, ну и старшие АВР тоже неплохо бы) Приоритет (кроме общего качества работы, компилятора, ессно)- вменяемая среда отладки или возможность полноценной интеграции куда-нить (к примеру в студию (тут сразу Adept(18 знак., 31.10.2019 20:23)
- Кодвижн 2й версии (с более поздними не знаком) - великолепная штуковина для обучения и относительно простых проектов. Генерит хорошо оптимизированный код. Встроенный генератор "рыбы" проекта позволяет настраивать периферию мышкотыком. Недостатки? Сидоргек(110 знак., 31.10.2019 16:00)
- Добавлю - встроенный программатор очень хорош. В 3 версии работает с Ардуиновыми загрузчиками. Можно написАть саму программу, скажем, в IAR C++, а результат (hex) загнать в дешёвую Ардуину через USB. Держу CV именно для этого, как генератор рыбы и vpv.vpv(24 знак., 01.11.2019 07:37)
- Ещё о недостаках в "Limitations" из евонного хелпа написано: Сидоргек(1328 знак., 31.10.2019 16:05)
- пока это не сильно напрягает, кроме первого пункта - ограничения в типах данных - Adept(31.10.2019 16:31)
- Си на восьмибитнике - это такой недоси. Почему бы не взять Cortex-M, как сейчас модно? - SciFi(31.10.2019 15:58)
- С чего это недоси? Там и C++ себя вполне комфортно чувствует, и реальную пользу приносит (по сравнению с plain C). Samx(112 знак., 31.10.2019 23:45)
- У GCC вместо красивого интерфейса страшный чорный дос и место ему в топке. - fk0(01.11.2019 11:14)
- А зачем компилятору интерфейс? Samx(286 знак., 07.11.2019 03:48)
- У GCC вместо красивого интерфейса страшный чорный дос и место ему в топке. - fk0(01.11.2019 11:14)
- В основном вполне себе С, но иногда, при портировании писанных под 32 бита исходников, приходится дописывать разную дичь с приведением типов. У Кодвижена мания всё, что можно приводить к 8 битам, поэтому при портировании чужой математики Сидоргек(57 знак., 31.10.2019 16:08 - 16:14)
- учитывая, что полновесные Си-компиляторы (Aztec-C, BDS-C) прекрасно генерили код и под i8080 :) - чем тут AVR плох ?:) (правда там "фон нейман", а тут "гарвард"), но думаю что компиляторы работают одинаково успешно в обеих случаях :) Adept(402 знак., 31.10.2019 16:30)
- Кодвижн - необычный. Я б сказал, что он успешно маскируется под компилятор С. ПисАл выше - есть нюансы при портировании чужих исходников. И действительно, что Вам так дались АВРы? В саоё время это был изрядный прорыв. Сейчас ИМХО нишу массового МК Сидоргек(14 знак., 31.10.2019 16:40)
- Ну из АВР мне сильно нравятся иксмеги (не знаю, правда сколько микрочип их продержит на плаву :)) а так да, может действительно, для такого рода проектов (где нужна рабта с массивами данных), не заморачиваться на АВР, а сразу взяться за какой-нить Adept(67 знак., 31.10.2019 16:54)
- иксмеги - единственные контроллеры на российском рынке с аппаратным шифрованием. Ale3000(362 знак., 01.11.2019 05:05)
- хм. мне не нужно оперативно менять прошивку, не нужно шифровать ее и не нужно защищаться от врагов. и вообще могу оставить прошивку во внешней flash памяти. - Alex68(01.11.2019 19:34)
- Обосновать сможете? Kabdim(163 знак., 01.11.2019 14:31)
- Я TripleDES у себя использую. Программное шифрование 128КБайт на mega128 занимает 15-20 минут. Аппаратное на Xmega128A - пару секунд. - Ale3000(05.11.2019 03:29)
- Довольно странно впихивать в медленный контроллер такой относительно быстрый относительно самого цпу криптодвижок. А софтовый алгоритм оптимизированный? - Kabdim(06.11.2019 12:55 - 13:42)
- Не знаю, оптимизированный или нет. В 2005г Атмел выложил апнот AVR230 DES Bootloader. Сейчас его на сайте микрочипа нет. Ale3000(381 знак., 07.11.2019 06:41)
- Эээ, а чем корке шифровали? И как измеряли время? - Kabdim(07.11.2019 12:15)
- Не знаю, оптимизированный или нет. В 2005г Атмел выложил апнот AVR230 DES Bootloader. Сейчас его на сайте микрочипа нет. Ale3000(381 знак., 07.11.2019 06:41)
- Довольно странно впихивать в медленный контроллер такой относительно быстрый относительно самого цпу криптодвижок. А софтовый алгоритм оптимизированный? - Kabdim(06.11.2019 12:55 - 13:42)
- Я TripleDES у себя использую. Программное шифрование 128КБайт на mega128 занимает 15-20 минут. Аппаратное на Xmega128A - пару секунд. - Ale3000(05.11.2019 03:29)
- Иногда мне кажется, что caxapa -- сборище дилетантов и радиолюбителей (в плохом смысле этого слова). Я понимаю, что Ale3000 набросил на вентилятор, так что ответ скорей адресован автору топика. - fk0(01.11.2019 11:13)
- На Сахаре 14 разных разделов. Каждый может быть хорошим специалистом максимум в трёх (в среднем - в двух). Стало быть в остальных департаментах любой из нас - "радиолюбитель". И что за грех? - Крок(01.11.2019 14:19)
- Я 18 насчитал. fk0(40 знак., 01.11.2019 21:47)
- тем более! - Крок(05.11.2019 10:55)
- Да, и по мусорке у нас есть отличники. - SciFi(01.11.2019 21:55)
- Я 18 насчитал. fk0(40 знак., 01.11.2019 21:47)
- Грубиян. И вообще, не боги горшки обжигают :-) - SciFi(01.11.2019 11:15)
- На Сахаре 14 разных разделов. Каждый может быть хорошим специалистом максимум в трёх (в среднем - в двух). Стало быть в остальных департаментах любой из нас - "радиолюбитель". И что за грех? - Крок(01.11.2019 14:19)
- Да ладно, единственные. Те же STM32 с криптой вполне себе продаются. - LightElf(01.11.2019 10:37)
- У меня загрузка ~240 KBytes в dsPIC33EP256MU806 из НЕХ-файла с флешки по программному XTEA длится секунд 20-30 - ЧЯДНТ? - MBedder(01.11.2019 09:28)
- Спасибо за наводку. На вики даже исходник какой-то есть. Проверим. - Ale3000(05.11.2019 03:31)
- :) - Vit(01.11.2019 08:10)
- Xilinx zynq вроде тоже имеют аппаратное шифрование и позволяют организовать безопасную загрузку - blackprapor(01.11.2019 07:49)
- Микрочип готовит новые Хмеги, под другим названием и с несколько другой периферией, AlexG(41 знак., 31.10.2019 18:36)
- Вы об этом (ссылка) или какой-то новой информацией располагаете? - Ксения(01.11.2019 21:12, ссылка)
- я о том, что по ссылке и мне нечего к этому добавить - AlexG(02.11.2019 07:59)
- DMA будет? - Evgeny_CD(01.11.2019 20:58)
- главное, чтоб не потащили их на свой MPLAB, а то уж больно IDE менять не хочется :( - Adept(31.10.2019 18:59)
- См. ссылку. Особенно последний пост сотрудника Микрочипа в той ветке. - Nikolay_Po(01.11.2019 22:30, ссылка)
- "вот уроды (C)" :P MPLAB наверное хорошо, но сомневаюсь, что параллельно будут добавлять в Atmel Studio, всё ж это "чужой ребёнок" :(( - Adept(01.11.2019 23:19 - 23:22)
- См. ссылку. Особенно последний пост сотрудника Микрочипа в той ветке. - Nikolay_Po(01.11.2019 22:30, ссылка)
- Вы об этом (ссылка) или какой-то новой информацией располагаете? - Ксения(01.11.2019 21:12, ссылка)
- А чего сразу яр? Особенно если денежки хотите платить. GCC оч. хорош, и идёт безвозмездно, то есть даром. - SciFi(31.10.2019 17:14)
- а нукась заведу
патефонхолливар в честь хеллоуина :)) "GCC vs IAR". Вот как бы ругают GCC за медлительность и размер кода. У мну перспективные проекты требуют: Adept(628 знак., 31.10.2019 17:36)- Ну и, кстати, "больших массивов ... во внешнем ОЗУ ... Всё максимально быстро" - это точно не про AVR. Это какие-нибудь гигагерцовые Cortex-A и DDR4. Скорее всего в виде готовой линуксовой платы. - SciFi(31.10.2019 17:43)
- В разы там точно быть не может. Обычно сильно заметна разница в размере стандартной библиотеки (DLIB у яра и Newlib у gcc). Но по скорости там более-менее ровно должно быть. - SciFi(31.10.2019 17:39)
- а нукась заведу
- иксмеги - единственные контроллеры на российском рынке с аппаратным шифрованием. Ale3000(362 знак., 01.11.2019 05:05)
- Ну из АВР мне сильно нравятся иксмеги (не знаю, правда сколько микрочип их продержит на плаву :)) а так да, может действительно, для такого рода проектов (где нужна рабта с массивами данных), не заморачиваться на АВР, а сразу взяться за какой-нить Adept(67 знак., 31.10.2019 16:54)
- Кодвижн - необычный. Я б сказал, что он успешно маскируется под компилятор С. ПисАл выше - есть нюансы при портировании чужих исходников. И действительно, что Вам так дались АВРы? В саоё время это был изрядный прорыв. Сейчас ИМХО нишу массового МК Сидоргек(14 знак., 31.10.2019 16:40)
- учитывая, что полновесные Си-компиляторы (Aztec-C, BDS-C) прекрасно генерили код и под i8080 :) - чем тут AVR плох ?:) (правда там "фон нейман", а тут "гарвард"), но думаю что компиляторы работают одинаково успешно в обеих случаях :) Adept(402 знак., 31.10.2019 16:30)
- Уже есть 8-ми ногие stm32. - evgeniy1294(31.10.2019 16:04)
- С чего это недоси? Там и C++ себя вполне комфортно чувствует, и реальную пользу приносит (по сравнению с plain C). Samx(112 знак., 31.10.2019 23:45)