Ассемблер KEIL
Re: Ассемблер KEIL
>> Попробуйте заставить все это сделать компилятор так
Все. Теперь понял, о чем вы.
>> Проблема многоядерного АЛУ (SIMD) состоит в том, что сама по себе математика может быть распараллелена на любое количество ядер, однако операнды нужно откуда то брать и результат куда то сохранять.
Да. Есть такая тема. И почему-то она не очень продумана в SIMD. Тут не поспоришь. Какая-нить предвыборка следующего банка была б очень в кассу.
Но тем не менее даже при своих ограничениях результат перевода на SIMD плюс качественной ассемблерной оптимизации получился очень существенным. К чему, собственно, и рассказ.
Добавлено after 11 minutes 52 seconds:
[uquote="Sergi",url="/forum/viewtopic.php?p=3792157#p3792157"]В своей второй конструкции осциллографа тоже использовал буферную память и тоже с М0. Тема есть на форуме. Прибор успешно работает. Быстрая запись медленное чтение во внутреннюю RAM с обработкой. Тактирование от MCO или TIM1. Захват до удвоенной частоты тактирования ограничен скоростью работы памяти.[/uquote]
Мне хочется попробовать упростить конструкцию, и уйти от использования памяти. В моей поделке стробоскоп, поэтому я готов, скорее, подвинуться по тактовой частоте (хотя и обидно не использовать АЦП по максимуму). Но ограничить цифровую часть двумя узлами: МК и АЦП.
Правда, я пока не очень понимаю, как сделать тактировку (для нормальной работы стробоскопа нужны две частоты. Одна рабочая, вторая чуть меньше. Сейчас это делают два кварца с близкими частотами. Но кварцы высокочастотные, напрямую от них МК не затактируешь. Если делить потом умножить - PLL по определению сдвинет фазу. Не катит. Вобщем, пока проблема... Не ставить же специальный контроллер исключительно в качестве PLL генератора для второй частоты... Вобщем, пока проблема.
Один, кстати, из все уменьшающихся по мере знакомства с STM плюсов atxmega - у нее есть возможность плавно менять частоту RC генератора (типа калибровка) в пределах полутора октав. Это было удобно.
Все. Теперь понял, о чем вы.
>> Проблема многоядерного АЛУ (SIMD) состоит в том, что сама по себе математика может быть распараллелена на любое количество ядер, однако операнды нужно откуда то брать и результат куда то сохранять.
Да. Есть такая тема. И почему-то она не очень продумана в SIMD. Тут не поспоришь. Какая-нить предвыборка следующего банка была б очень в кассу.
Но тем не менее даже при своих ограничениях результат перевода на SIMD плюс качественной ассемблерной оптимизации получился очень существенным. К чему, собственно, и рассказ.
Добавлено after 11 minutes 52 seconds:
[uquote="Sergi",url="/forum/viewtopic.php?p=3792157#p3792157"]В своей второй конструкции осциллографа тоже использовал буферную память и тоже с М0. Тема есть на форуме. Прибор успешно работает. Быстрая запись медленное чтение во внутреннюю RAM с обработкой. Тактирование от MCO или TIM1. Захват до удвоенной частоты тактирования ограничен скоростью работы памяти.[/uquote]
Мне хочется попробовать упростить конструкцию, и уйти от использования памяти. В моей поделке стробоскоп, поэтому я готов, скорее, подвинуться по тактовой частоте (хотя и обидно не использовать АЦП по максимуму). Но ограничить цифровую часть двумя узлами: МК и АЦП.
Правда, я пока не очень понимаю, как сделать тактировку (для нормальной работы стробоскопа нужны две частоты. Одна рабочая, вторая чуть меньше. Сейчас это делают два кварца с близкими частотами. Но кварцы высокочастотные, напрямую от них МК не затактируешь. Если делить потом умножить - PLL по определению сдвинет фазу. Не катит. Вобщем, пока проблема... Не ставить же специальный контроллер исключительно в качестве PLL генератора для второй частоты... Вобщем, пока проблема.
Один, кстати, из все уменьшающихся по мере знакомства с STM плюсов atxmega - у нее есть возможность плавно менять частоту RC генератора (типа калибровка) в пределах полутора октав. Это было удобно.
- Реклама
-
Кислородный
- Первый раз сказал Мяу!
- Сообщения: 27
- Зарегистрирован: Чт фев 13, 2020 07:41:02
Re: Ассемблер KEIL
Калибровка RC осциллятора (HSI) в STM32 есть, только не на полторы октавы (это слишком много, больше чем в два раза), а процентов на 6 примерно.
Осциллограф на F0 - это уж слишком оптимистично. Вообще, нормальный осциллограф получается на ПЛИС. ПЛИС умеет напрямую работать с DDR2(3) и с высокой скоростью сохранять в нее захват с АЦП. Подобные скорости недостижимы для микроконтроллеров, на какие бы ухищрения не шли, сколько бы не оптимизировали код.
Осциллограф на F0 - это уж слишком оптимистично. Вообще, нормальный осциллограф получается на ПЛИС. ПЛИС умеет напрямую работать с DDR2(3) и с высокой скоростью сохранять в нее захват с АЦП. Подобные скорости недостижимы для микроконтроллеров, на какие бы ухищрения не шли, сколько бы не оптимизировали код.
еавс!
Re: Ассемблер KEIL
>> Калибровка RC осциллятора (HSI) в STM32 есть, только не на полторы октавы (это слишком много, больше чем в два раза), а процентов на 6 примерно.
да это, к сожалению, ни о чем...
>> Осциллограф на F0 - это уж слишком оптимистично.
Не, не... F0 точно не подойдет
>> Вообще, нормальный осциллограф получается на ПЛИС.
Да. Но ПЛИС дорого. А у меня еще нет уверенности, что не проходит на STM. Мне надо-то хотя бы мегагерц 50, уже решит проблему. А это по слухам достижимо для F3 или F4.
да это, к сожалению, ни о чем...
>> Осциллограф на F0 - это уж слишком оптимистично.
Не, не... F0 точно не подойдет
>> Вообще, нормальный осциллограф получается на ПЛИС.
Да. Но ПЛИС дорого. А у меня еще нет уверенности, что не проходит на STM. Мне надо-то хотя бы мегагерц 50, уже решит проблему. А это по слухам достижимо для F3 или F4.
Re: Ассемблер KEIL
[uquote="Кислородный",url="/forum/viewtopic.php?p=3792376#p3792376"]ПЛИС умеет напрямую работать с DDR2(3) и с высокой скоростью сохранять в нее захват с АЦП. Подобные скорости недостижимы для микроконтроллеров, на какие бы ухищрения не шли, сколько бы не оптимизировали код.[/uquote]
Из F4 можно выжать под 100 MSPS для 16-ти бит и еще больше для 8-ми, естественно сохраняя во встроенную RAM, а на H750 должно быть 160 MSPS даже без разгона.
Из F4 можно выжать под 100 MSPS для 16-ти бит и еще больше для 8-ми, естественно сохраняя во встроенную RAM, а на H750 должно быть 160 MSPS даже без разгона.
Re: Ассемблер KEIL
Я сделал на F030 из-за дешевизны и простоты. Вся цифровая часть по сегодняшним ценам 500р. может делать монотонный захват 2х каналов по 8бит длиной до 256к на скорости 100msps и более. Зависит от минимальной ширины сигнала /WR микросхемы SRAM.
Да,на плис лучше, но надо уметь ее готовить. А для DDR еще и буфер внутри организовывать. Я такое не умею.
Да,на плис лучше, но надо уметь ее готовить. А для DDR еще и буфер внутри организовывать. Я такое не умею.
- Реклама
Re: Ассемблер KEIL
[uquote="Reflector",url="/forum/viewtopic.php?p=3792401#p3792401"][uquote="Кислородный",url="/forum/viewtopic.php?p=3792376#p3792376"]ПЛИС умеет напрямую работать с DDR2(3) и с высокой скоростью сохранять в нее захват с АЦП. Подобные скорости недостижимы для микроконтроллеров, на какие бы ухищрения не шли, сколько бы не оптимизировали код.[/uquote]
Из F4 можно выжать под 100 MSPS для 16-ти бит и еще больше для 8-ми, естественно сохраняя во встроенную RAM, а на H750 должно быть 160 MSPS даже без разгона.[/uquote]
>> Из F4 можно выжать под 100 MSPS для 16-ти бит и еще больше для 8-ми,
А как? Пока по данным разведки он не умеет читать порты быстрее, чем за 4 такта
Из F4 можно выжать под 100 MSPS для 16-ти бит и еще больше для 8-ми, естественно сохраняя во встроенную RAM, а на H750 должно быть 160 MSPS даже без разгона.[/uquote]
>> Из F4 можно выжать под 100 MSPS для 16-ти бит и еще больше для 8-ми,
А как? Пока по данным разведки он не умеет читать порты быстрее, чем за 4 такта
Re: Ассемблер KEIL
[uquote="protoder",url="/forum/viewtopic.php?p=3792417#p3792417"]А как? Пока по данным разведки он не умеет читать порты быстрее, чем за 4 такта[/uquote]
F407/405 гонятся до 260 и читают с порта действительно за 4 такта, но F429 у меня гнался до 300 и DMA работает уже за 3 такта, как и у F7. Если хватает 8 бит, то можно использовать 2-х тактовый DCMI.
F407/405 гонятся до 260 и читают с порта действительно за 4 такта, но F429 у меня гнался до 300 и DMA работает уже за 3 такта, как и у F7. Если хватает 8 бит, то можно использовать 2-х тактовый DCMI.
Re: Ассемблер KEIL
Если использовать PLL что в МК и вывести частоту с него через MCO? Не подойдет?protoder писал(а):Одна рабочая, вторая чуть меньше. Сейчас это делают два кварца с близкими частотами. Но кварцы высокочастотные, напрямую от них МК не затактируешь. Если делить потом умножить - PLL по определению сдвинет фазу. Не катит. Вобщем, пока проблема... Не ставить же специальный контроллер исключительно в качестве PLL генератора для второй частоты...
Re: Ассемблер KEIL
Да не. Говорю ж - мне вторая частота нужна, привязанная к основной, но чуть ниже
Re: Ассемблер KEIL
Все! Я знаю, зачем изучать ассемблер. Я наконец разобрался и пишу. Парни! Я работал на 8-ми разрядных контроллерах. Этот - 32-х. Работая на С, вы не почувствуете этого кайфа! 
Кстати, я не соглашусь, что ассемблер для STM32 сложный. Как обычно, много трудностей с освоением синтаксиса. Мало примеров, много подводных камней. Короче, начинать очень не легко.
Но, после того, как преодолел первые сложности - писать совсем не сложно. Ассемблер как ассемблер. Правда, пока знаком только с Cortext M0. Посмотрим, что будет дальше.
Кстати, я не соглашусь, что ассемблер для STM32 сложный. Как обычно, много трудностей с освоением синтаксиса. Мало примеров, много подводных камней. Короче, начинать очень не легко.
Но, после того, как преодолел первые сложности - писать совсем не сложно. Ассемблер как ассемблер. Правда, пока знаком только с Cortext M0. Посмотрим, что будет дальше.
-
SII
- Вымогатель припоя
- Сообщения: 635
- Зарегистрирован: Пт янв 30, 2009 14:50:35
- Откуда: Солнечногорск
Re: Ассемблер KEIL
[uquote="protoder",url="/forum/viewtopic.php?p=3794212#p3794212"]ассемблер для STM32[/uquote]
Позанудствую: не для STM32, а для архитектуры ARM. То же относится и к Cortex-M0 (название одного из ядер этой архитектуры версии ARMv6-M). А занудствую из-за того, что при переходе на любой другой ARM любой другой фирмы ассемблер не поменяется -- он относится к архитектуре, а не к конкретной реализации.
А насчёт сложности... Если человек действительно разобрался с ассемблером для какой-либо одной архитектуры, разобраться с любыми другими будет многократно проще. Несмотря на все отличия, общие принципы идентичны. Ну ладно, есть особо извращённые случаи типа IA-64 aka Itanium или там процессоров цифровой обработки сигналов, но их очень немного по сравнению с, условно говоря, "нормальными" архитектурами.
Позанудствую: не для STM32, а для архитектуры ARM. То же относится и к Cortex-M0 (название одного из ядер этой архитектуры версии ARMv6-M). А занудствую из-за того, что при переходе на любой другой ARM любой другой фирмы ассемблер не поменяется -- он относится к архитектуре, а не к конкретной реализации.
А насчёт сложности... Если человек действительно разобрался с ассемблером для какой-либо одной архитектуры, разобраться с любыми другими будет многократно проще. Несмотря на все отличия, общие принципы идентичны. Ну ладно, есть особо извращённые случаи типа IA-64 aka Itanium или там процессоров цифровой обработки сигналов, но их очень немного по сравнению с, условно говоря, "нормальными" архитектурами.
Re: Ассемблер KEIL
[uquote="SII",url="/forum/viewtopic.php?p=3794260#p3794260"][uquote="protoder",url="/forum/viewtopic.php?p=3794212#p3794212"]ассемблер для STM32[/uquote]
Позанудствую: не для STM32, а для архитектуры ARM. То же относится и к Cortex-M0 (название одного из ядер этой архитектуры версии ARMv6-M). А занудствую из-за того, что при переходе на любой другой ARM любой другой фирмы ассемблер не поменяется -- он относится к архитектуре, а не к конкретной реализации.[/uquote]
Ну... Да. В принципе, правильно занудствуете. Эту фишку я тоже оценил. Что в комплекте к STM32 прилагается еще очень приличный список контроллеров других производителей. Такой маленький бесплатный бонус
Не. Нравятся мне эти железяки. Все больше и больше. Разбираться с ними однозначно стоит.
Позанудствую: не для STM32, а для архитектуры ARM. То же относится и к Cortex-M0 (название одного из ядер этой архитектуры версии ARMv6-M). А занудствую из-за того, что при переходе на любой другой ARM любой другой фирмы ассемблер не поменяется -- он относится к архитектуре, а не к конкретной реализации.[/uquote]
Ну... Да. В принципе, правильно занудствуете. Эту фишку я тоже оценил. Что в комплекте к STM32 прилагается еще очень приличный список контроллеров других производителей. Такой маленький бесплатный бонус
Не. Нравятся мне эти железяки. Все больше и больше. Разбираться с ними однозначно стоит.
- КРАМ
- Друг Кота
- Сообщения: 25219
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Ассемблер KEIL
[uquote="SII",url="/forum/viewtopic.php?p=3794260#p3794260"]или там процессоров цифровой обработки сигналов[/uquote]
Кстати, у AD интересный ассемблер...
Сумма регистров так и записывается как R1=R2+R3
Кстати, у AD интересный ассемблер...
Сумма регистров так и записывается как R1=R2+R3
Re: Ассемблер KEIL
[uquote="protoder",url="/forum/viewtopic.php?p=3794212#p3794212"]Парни! Я работал на 8-ми разрядных контроллерах. Этот - 32-х. Работая на С, вы не почувствуете этого кайфа!
[/uquote]
Отличие stm32, если вы в пылу щенячьей радости не заметили , в мощной периферии.
И вот тут каГБы абсолютно нет никакого преимущества асмЪ...
Отличие stm32, если вы в пылу щенячьей радости не заметили , в мощной периферии.
И вот тут каГБы абсолютно нет никакого преимущества асмЪ...
Re: Ассемблер KEIL
[uquote="dosikus",url="/forum/viewtopic.php?p=3794398#p3794398"][uquote="protoder",url="/forum/viewtopic.php?p=3794212#p3794212"]Парни! Я работал на 8-ми разрядных контроллерах. Этот - 32-х. Работая на С, вы не почувствуете этого кайфа!
[/uquote]
Отличие stm32, если вы в пылу щенячьей радости не заметили , в мощной периферии.
И вот тут каГБы абсолютно нет никакого преимущества асмЪ...[/uquote]
Э... Вы вообще о чем? Я вроде давно уже не про преимущества асм. Или так не терпелось написать про "щенячью радость"?
Добавлено after 1 minute 45 seconds:
[uquote="КРАМ",url="/forum/viewtopic.php?p=3794359#p3794359"][uquote="SII",url="/forum/viewtopic.php?p=3794260#p3794260"]или там процессоров цифровой обработки сигналов[/uquote]
Кстати, у AD интересный ассемблер...
Сумма регистров так и записывается как R1=R2+R3
[/uquote]
AD? Analog Devices? Какие-нибудь сигнальные процессоры? Или они тоже свои микроконтроллеры делают? Я вроде не слышал.
Отличие stm32, если вы в пылу щенячьей радости не заметили , в мощной периферии.
И вот тут каГБы абсолютно нет никакого преимущества асмЪ...[/uquote]
Э... Вы вообще о чем? Я вроде давно уже не про преимущества асм. Или так не терпелось написать про "щенячью радость"?
Добавлено after 1 minute 45 seconds:
[uquote="КРАМ",url="/forum/viewtopic.php?p=3794359#p3794359"][uquote="SII",url="/forum/viewtopic.php?p=3794260#p3794260"]или там процессоров цифровой обработки сигналов[/uquote]
Кстати, у AD интересный ассемблер...
Сумма регистров так и записывается как R1=R2+R3
AD? Analog Devices? Какие-нибудь сигнальные процессоры? Или они тоже свои микроконтроллеры делают? Я вроде не слышал.
-
Кислородный
- Первый раз сказал Мяу!
- Сообщения: 27
- Зарегистрирован: Чт фев 13, 2020 07:41:02
Re: Ассемблер KEIL
[uquote="protoder",url="/forum/viewtopic.php?p=3794212#p3794212"]Все! Я наконец разобрался и пишу.
Кстати, я не соглашусь, что ассемблер для STM32 сложный. Как обычно, много трудностей с освоением синтаксиса. ые сложности - писать совсем не сложно. .[/uquote]
Ха-ра-шо, если хотите настоящего кайфа, тогда переходите сразу на Cortex M7 - полторы тыщщи инструкций, если считать все их варианты - это даст вам ни с чем не сравнимый кайф. Лишь бы голова не лопнула.
Да, а вы как пишите? Освоили уже условное исполнение и переходы, аль так, r0 + r1 - r4 только? Ну а как насчет вариативного второго операнда? Второй операнд может быть инструкцией сам по себе - ну как? Пост-инкремент операнда, сдвиг, и т.д. Флаги условий, суффиксы? Их 15 штук. Почти каждая инструкция может иметь до 15 вариантов.
Ну а пробовали ли строить какие-нибудь алгоритмы, циклы с условиями? таблички?
Кстати, я не соглашусь, что ассемблер для STM32 сложный. Как обычно, много трудностей с освоением синтаксиса. ые сложности - писать совсем не сложно. .[/uquote]
Ха-ра-шо, если хотите настоящего кайфа, тогда переходите сразу на Cortex M7 - полторы тыщщи инструкций, если считать все их варианты - это даст вам ни с чем не сравнимый кайф. Лишь бы голова не лопнула.
Да, а вы как пишите? Освоили уже условное исполнение и переходы, аль так, r0 + r1 - r4 только? Ну а как насчет вариативного второго операнда? Второй операнд может быть инструкцией сам по себе - ну как? Пост-инкремент операнда, сдвиг, и т.д. Флаги условий, суффиксы? Их 15 штук. Почти каждая инструкция может иметь до 15 вариантов.
Ну а пробовали ли строить какие-нибудь алгоритмы, циклы с условиями? таблички?
еавс!
Re: Ассемблер KEIL
Кстати, при всех "щенячьих восторгах" - а семейство мне несомненно нравится, - должен признать, что во многих случаях я с удивлением обнаружил, что... как бы это сказать... информационная среда создает вокруг STM32 завышенные ожидания. Так, я бы не сказал, что периферия stm32 так уж сильно отлична от периферии atxmega (на самом деле, вообще ощущение, что atxmega создавался для конкурирования с stm32. Местами отличия только в названии и разрядности регистров ). При чем, есть параметры, иногда важные, в которых atxmega впереди ( входной усилитель АЦП, настраиваемый в пределах полутора октав RC генератор, независимая схема тактировки usb, сеть событий). Из явных плюсов stm32 я пока нашел только более гибкую возможность настройки портов ввода - вывода. Наверное, по мере знакомства, будут и другие плюсы. Но чего-то принципиально нового я не жду.
Поэтому пока в качестве главного преимущества периферии stm 32 я бы назвал... знаете, прям даже боязно писать, типа, не сглазить бы... я бы назвал ее адекватную работу. Я пока поигрался еще не со всей периферией. Но с какой поигрался, еще ни разу не попал на ситуацию, когда ее поведение не соответствует даташиту.
У atxmega же, достаточно сказать, списки ошибок порою на несколько листов. При чем ошибок таких, что ставят под сомнение саму возможность использования данного узла на устройстве. А если учесть, что ошибки могут меняться от партии к партии, то - вообще беда...
Добавлено after 12 minutes 46 seconds:
[uquote="Кислородный",url="/forum/viewtopic.php?p=3794504#p3794504"][uquote="protoder",url="/forum/viewtopic.php?p=3794212#p3794212"]Все! Я наконец разобрался и пишу.
Кстати, я не соглашусь, что ассемблер для STM32 сложный. Как обычно, много трудностей с освоением синтаксиса. ые сложности - писать совсем не сложно. .[/uquote]
Ха-ра-шо, если хотите настоящего кайфа, тогда переходите сразу на Cortex M7 - полторы тыщщи инструкций, если считать все их варианты - это даст вам ни с чем не сравнимый кайф. Лишь бы голова не лопнула.
Да, а вы как пишите? Освоили уже условное исполнение и переходы, аль так, r0 + r1 - r4 только? Ну а как насчет вариативного второго операнда? Второй операнд может быть инструкцией сам по себе - ну как? Пост-инкремент операнда, сдвиг, и т.д. Флаги условий, суффиксы? Их 15 штук. Почти каждая инструкция может иметь до 15 вариантов.
Ну а пробовали ли строить какие-нибудь алгоритмы, циклы с условиями? таблички?[/uquote]
Cortex M0. Онли Cortex M0!
Но что-то мне подсказывает, что и дальнейшее знакомство ужаса не вызовет...
И да. Полагаю, на старших моделях выигрыш от ассемблера будет несколько меньше. Но на Cortex M0, в условиях острой нехватки регистров ( по сути, всего 8 независимых регистров, часть которых активно используется для служебных нужд, компенсируя урезанность системы команд) - программы на ассемблере способны дать очень сильный выигрыш по сравнению с С\С++. Например, для пользователей бесплатного Keil с его ограничением на 32 кБ. это наверняка может оказаться полезным.
Я сейчас делаю программку на С. Она будет не большой, поэтому по завершению тренировки ради и вообще планирую перевести ее на ассемблер. Как раз посмотрим, что это даст.
А. И еще знаете, что забавно... Я тут как-то, по-моему в другом форуме, пустил тему про то, что не плохо бы было, окажись для STM32 много хороших библиотек. И знаете? На меня кинулись с таким же рвением, как и при обсуждении ассемблера... Интересная такая особенность... То есть под stm32 надо писать только так. На С, обложившись документацией. И ни как иначе... Прям братство камня какое-то...
Поэтому пока в качестве главного преимущества периферии stm 32 я бы назвал... знаете, прям даже боязно писать, типа, не сглазить бы... я бы назвал ее адекватную работу. Я пока поигрался еще не со всей периферией. Но с какой поигрался, еще ни разу не попал на ситуацию, когда ее поведение не соответствует даташиту.
У atxmega же, достаточно сказать, списки ошибок порою на несколько листов. При чем ошибок таких, что ставят под сомнение саму возможность использования данного узла на устройстве. А если учесть, что ошибки могут меняться от партии к партии, то - вообще беда...
Добавлено after 12 minutes 46 seconds:
[uquote="Кислородный",url="/forum/viewtopic.php?p=3794504#p3794504"][uquote="protoder",url="/forum/viewtopic.php?p=3794212#p3794212"]Все! Я наконец разобрался и пишу.
Кстати, я не соглашусь, что ассемблер для STM32 сложный. Как обычно, много трудностей с освоением синтаксиса. ые сложности - писать совсем не сложно. .[/uquote]
Ха-ра-шо, если хотите настоящего кайфа, тогда переходите сразу на Cortex M7 - полторы тыщщи инструкций, если считать все их варианты - это даст вам ни с чем не сравнимый кайф. Лишь бы голова не лопнула.
Да, а вы как пишите? Освоили уже условное исполнение и переходы, аль так, r0 + r1 - r4 только? Ну а как насчет вариативного второго операнда? Второй операнд может быть инструкцией сам по себе - ну как? Пост-инкремент операнда, сдвиг, и т.д. Флаги условий, суффиксы? Их 15 штук. Почти каждая инструкция может иметь до 15 вариантов.
Ну а пробовали ли строить какие-нибудь алгоритмы, циклы с условиями? таблички?[/uquote]
Cortex M0. Онли Cortex M0!
Но что-то мне подсказывает, что и дальнейшее знакомство ужаса не вызовет...
И да. Полагаю, на старших моделях выигрыш от ассемблера будет несколько меньше. Но на Cortex M0, в условиях острой нехватки регистров ( по сути, всего 8 независимых регистров, часть которых активно используется для служебных нужд, компенсируя урезанность системы команд) - программы на ассемблере способны дать очень сильный выигрыш по сравнению с С\С++. Например, для пользователей бесплатного Keil с его ограничением на 32 кБ. это наверняка может оказаться полезным.
Я сейчас делаю программку на С. Она будет не большой, поэтому по завершению тренировки ради и вообще планирую перевести ее на ассемблер. Как раз посмотрим, что это даст.
А. И еще знаете, что забавно... Я тут как-то, по-моему в другом форуме, пустил тему про то, что не плохо бы было, окажись для STM32 много хороших библиотек. И знаете? На меня кинулись с таким же рвением, как и при обсуждении ассемблера... Интересная такая особенность... То есть под stm32 надо писать только так. На С, обложившись документацией. И ни как иначе... Прям братство камня какое-то...
- КРАМ
- Друг Кота
- Сообщения: 25219
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Ассемблер KEIL
[uquote="protoder",url="/forum/viewtopic.php?p=3794501#p3794501"]AD? Analog Devices? Какие-нибудь сигнальные процессоры? Или они тоже свои микроконтроллеры делают? Я вроде не слышал.[/uquote]
Процессоры, конечно.
Контроллеры ADuC сделаны на ядре ARM-Cortex.
Контроллер DSP будет всегда иметь скоростное ограничение связанное с программным флешем.
Процессоры, конечно.
Контроллеры ADuC сделаны на ядре ARM-Cortex.
Контроллер DSP будет всегда иметь скоростное ограничение связанное с программным флешем.
Re: Ассемблер KEIL
[uquote="КРАМ",url="/forum/viewtopic.php?p=3794523#p3794523"][uquote="protoder",url="/forum/viewtopic.php?p=3794501#p3794501"]AD? Analog Devices? Какие-нибудь сигнальные процессоры? Или они тоже свои микроконтроллеры делают? Я вроде не слышал.[/uquote]
Процессоры, конечно.
Контроллеры ADuC сделаны на ядре ARM-Cortex.
Контроллер DSP будет всегда иметь скоростное ограничение связанное с программным флешем.[/uquote]
ну, мне до них еще далеко. Ясно уже, что я застрял с STM32.
Процессоры, конечно.
Контроллеры ADuC сделаны на ядре ARM-Cortex.
Контроллер DSP будет всегда иметь скоростное ограничение связанное с программным флешем.[/uquote]
ну, мне до них еще далеко. Ясно уже, что я застрял с STM32.
- КРАМ
- Друг Кота
- Сообщения: 25219
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Ассемблер KEIL
[uquote="Кислородный",url="/forum/viewtopic.php?p=3794504#p3794504"]Cortex M7 - полторы тыщщи инструкций[/uquote]
Это не так уж и много, если помнить о том, что они делятся на группы по функционалу, а суффиксы ортогональны самим инструкциям. То есть все это создает реальные возможности решать задачу освоения по частям.
Это не так уж и много, если помнить о том, что они делятся на группы по функционалу, а суффиксы ортогональны самим инструкциям. То есть все это создает реальные возможности решать задачу освоения по частям.


