mantech 48 31 марта, 2015 Опубликовано 31 марта, 2015 · Жалоба Хорошие RTOS-ы (MQX) имеют спец опции для управления объемом сохраняемого контекста. Не забываем про поддержку очень старого оборудования. Например в RTOS NuttX штатно идет эмулятор команд Z80. А причем здесь ртос?? Это задача компилятора... "Не забываем про поддержку очень старого оборудования. " - можно тупой вопрос, все-таки зачем это ?? В те времена и на тех процах писалось довольно примитивное по нынешним меркам ПО, зачем его "гонять" на новых процах в эмуляторах?? Проще переписать заново, даже, если нет исходников. Сам так делал, когда переписывал ЧПУшки с 80186 на СТМ32. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 42 31 марта, 2015 Опубликовано 31 марта, 2015 · Жалоба Только что на сайте Atmel появился интереснейший документик: Migrating from the SAM4E to SAM E70 Microcontroller А интересен он тем, что очень наглядно демонстрирует отличия M7 (SAM E70) от своего предшественика M4 (SAM4E), с которым они совместимы по цоколевке. Т.е. с упором на то, чтобы проапгрейдить платы, ранее уже разработанные для SAM4E, новым контроллером. А что для этого надо поправить в программе, как раз и сообщается в этом документе. P.S. Впрочем, кое-какие минорные различия в назначении выводов я в этом документе уже углядела, но сходу не соображу, мешает это замене один в один, или же потребует каких-то изменений в монтаже. Тогда как ранее компания обещала, что такая замена будет возможна. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SapegoAL 0 1 апреля, 2015 Опубликовано 1 апреля, 2015 · Жалоба Это вялое разжигание указанных войн Нет. Я не указал свою позицию в этих войнах. но неплохой вброс для следующей. простите не задумался об этом ... У меня больше времени уходит на архитектуру. А при хорошей архитектуре отладка занимает мизерное время. Дольше тратиться на написание стандартных тестов, проверки функциональности устройства. Из всего этого мне ни разу не удобнее на АСМе потому что дольше, и текст хуже читаем. Ошибки которые не учитывает архитектура - это системные, то есть функционал который не был учтен, а такие ошибки опять же легче править при нормальном удобно написанном проекте... Я поддерживаю. Пишу медленно. Долго осмысливаю - строю приложение. Опыт позволяет, поэтому осмысливаю и предусматриваю почти всё. Пишу определённым образом. Я называю это кубиками. В принципе подсмотрел на ПЛК. (Писал пару крупных линий на сименсе). При разработке архитектуры, главное - архитектура данных, а не программ. Обмен осуществляю через данные. Так пишу даже если нет РТОС. К сожалению, на крупных проектах не удаётся полностью идеально выстроить архитектуру. Устранение ошибок такого рода приводит к переписыванию "базового функционала", а это ведёт к значительному объёму тестирования. Тестирование занимает очень большое время. Я его перепоручаю другим людям ... )))) Ошибок делаю очень мало и их устранение занимает небольшое время. Как правило ничего не задевает, если это не ошибки архитектуры, о которых писал выше. Тогда наоборот - задевает значительную часть. Для меня это чп. )) То есть всё примерно тоже что и у Вас. )) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RabidRabbit 0 1 апреля, 2015 Опубликовано 1 апреля, 2015 · Жалоба P.S. Впрочем, кое-какие минорные различия в назначении выводов я в этом документе уже углядела, но сходу не соображу, мешает это замене один в один, или же потребует каких-то изменений в монтаже. Тогда как ранее компания обещала, что такая замена будет возможна. Я думаю, что счастья ждать не стоит: Table 3-3. LQFP100 Pinout Differences Pin SAM4E__ SAM E70 39_ PD23___ VDDCORE 76_ PD29___ VDDCORE 81_ PA6____ VDDIO 86_ VDDCORE VDDPLL 90_ PA29___ VDDPLLUSB 93_ VDDIO__ VDDUTMII 94_ PB10___ HSDM 95_ PB11___ HSDP 96_ VDDPLL_ VDDUTMIC 97_ PB14___ VBG Часть PIO занята под питание... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SapegoAL 0 1 апреля, 2015 Опубликовано 1 апреля, 2015 · Жалоба P.S. Впрочем, кое-какие минорные различия ... Обратил внимание, что bitbanding порезали благополучно ... )) Привет всем которые пользуются "расширенными возможностями" камней. В очередной раз... Я вроде как тоже хотел, потом решил не заморачиваться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LWW 0 1 апреля, 2015 Опубликовано 1 апреля, 2015 · Жалоба Интересно.. интересно.... Битбандинг во всех кортексах порезали или только в атмеловских? Он вроде не является частью ядра.. На самом деле, тема asm это не off. Потому что как только доходит до понимания того, что ты делаешь, до знания архитектуры и принципов работы камня, эффективности и скорости кода, его чистоты и устойчивости, так слово ASM, произнесённое в любой ветке, вызывает бурю эмоций. Потому что если программист знает архитектуру и любит камушек, ему и в голову не придёт писать на чём-то ещё, кроме ASM. А это значит, что сразу начинают лететь стулья в любителей ассемблера. Чем плохи суррогатные языки - вообще непонятно, что и когда делает камень, что там внутри происходит? Это всё за гранью понимания даже для тех, кто эти языки придумывает. Кстати, и сами кристаллы так же разрабатываются. Никто их на уровне межтарнзисторных соединений не проектирует, к сожалению..... Xenia На самом деле, у атмела кортексы невкусные.. Это авр-ки у них вкусные. Да что и говорить, многие ждут возможностей класса А в младших кортексах. Хоть бы графику какую-нить приделали, как в Vybrid. Да документацию ей открытую дали. А ещё память DDR. И побольше мигагерцев :) Неужели STM так и оставит в серии эту каракатицу? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 1 апреля, 2015 Опубликовано 1 апреля, 2015 · Жалоба Потому что если программист знает архитектуру и любит камушек, ему и в голову не придёт писать на чём-то ещё, кроме ASM. Это к вопросу у вреде любви к камням? :laugh: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 42 1 апреля, 2015 Опубликовано 1 апреля, 2015 · Жалоба Xenia На самом деле, у атмела кортексы невкусные.. Это авр-ки у них вкусные. Да что и говорить, многие ждут возможностей класса А в младших кортексах. Хоть бы графику какую-нить приделали, как в Vybrid. Да документацию ей открытую дали. А ещё память DDR. И побольше мигагерцев :) Неужели STM так и оставит в серии эту каракатицу? А у кого же они вкусные? :) Atmel забраковали, STM назвали каракатицей. А альтернатива-то им вам видится какая? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LWW 0 2 апреля, 2015 Опубликовано 2 апреля, 2015 · Жалоба STM делает отличные ARM. Но сейчас под видом M7 лежит какая-то каракатица Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 2 апреля, 2015 Опубликовано 2 апреля, 2015 (изменено) · Жалоба На самом деле, тема asm это не off. Потому что как только доходит до понимания того, что ты делаешь, до знания архитектуры и принципов работы камня, эффективности и скорости кода, его чистоты и устойчивости, так слово ASM, произнесённое в любой ветке, вызывает бурю эмоций. Потому что если программист знает архитектуру и любит камушек, ему и в голову не придёт писать на чём-то ещё, кроме ASM. А это значит, что сразу начинают лететь стулья в любителей ассемблера. Любить асм и писать на нем - две разные вещи, еще раз уточню, на арме как правило пишутся гораздо более серьезные проекты, чем на 8-и битках, поэтому заказчик не будет ждать годами, пока вы будете писать на асме, вставки - понятно, есть критические процедуры, но весь код - это олько для маньяков. Причем еще не забывайте, есть проекты, которые пишутся не одним человеком, и кроме асмового маньяка есть люди, которые пишут на си, совмещать это все дело очень неблагодарное... STM делает отличные ARM. Но сейчас под видом M7 лежит какая-то каракатица Конечно, хотелось бы видеть что-то поболее, чем просто смена ядра... Да что и говорить, многие ждут возможностей класса А в младших кортексах. Хоть бы графику какую-нить приделали, как в Vybrid. Да документацию ей открытую дали. А ещё память DDR. Графика в вибриде открытая, правда мало там чего аппаратного, копирование да альфа, вот в мх6, там да, все уперли в виванту, которая х.з. где описана... К тому же убивает этот RGB, давно уже пора lvds вводить везде. Изменено 2 апреля, 2015 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 2 апреля, 2015 Опубликовано 2 апреля, 2015 · Жалоба Думаю беда с LVDS - что он пока не стандарт, по факту да у всех почти одно и тоже, но пока не стандарт. Но кроме LVDS уже и MIPI или как там его появился, на большие экраны и опять все по новой... Пока кто-то не возьмет на себя труд описать стандарт с возможностью расширения аля USB все будет RGB... и доп чипы преобразования... ИМХО Потому что как только доходит до понимания того, что ты делаешь, до знания архитектуры и принципов работы камня, эффективности и скорости кода, его чистоты и устойчивости, так слово ASM... Повторяю свой вопрос, зачем вам ASM? почему вы не пишите в машинных кодах? Вы что недостаточно любите камень? Вы не хотите проникнуть прямо в его сердце и душу говоря не то что на его языке, а прямо на языке его крови? Менять так сказать его гены!? Блин я вот сейчас смотрю на нашу 6 осевую программируемую синхронную систему, которую мы за 3 месяца сделали прототип и через 7 месяцев были первые пред серийные образцы. А в ходе своей жизни за 2 года она претерпела уже 3 ревизии с наращение функционала и нашла отклики в других продуктах в виде реюзинга ее кода. В ней АРМ и ПЛИС, для плис мне тоже предлагали луты руками расставлять и соединять - это аля ассемблер или даже ближе к машинным кодам. И думаю, пошел бы я по этому пути, учитывая объем кода и функционала я бы наверное первые прототипы сделал месяцев через 10, до серии мы бы ее довели месяцев через 30. А когда поступила бы идея все переделать для другого функционала я бы просто застрелился бы, наверное.... То есть на одной чаще весов недостаточная любовь к камню и 4.5 продукта за 2 года на другой пред серийный образец за примерно то же время, зато наполненный лубовью к камню... И я даже не говорю о том что у нас перед этим был другой проц, вообще другого семейства, и мы от него отказались перейдя на кортекс. А код которые там был написан я частично перенес, потому что он был правильно модульно организован на платформонезависимом языке. И куда бы я пошел с ассемблером в этом раскладе? Ассемблер - долго, непереносимо, трудно поддерживаем, и вызывает метание стульев остальных членов команды, БЛИН как надо любить камень чтобы это все терпеть? Может уже пора подумать, может не зря в вас кидают камни:)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SapegoAL 0 2 апреля, 2015 Опубликовано 2 апреля, 2015 · Жалоба На самом деле, тема asm это не off. Потому что как только доходит до понимания того, что ты делаешь, до знания архитектуры и принципов работы камня, эффективности и скорости кода, его чистоты и устойчивости, так слово ASM, произнесённое в любой ветке, вызывает бурю эмоций. Можно взглянуть на это с разных точек зрения. И соответственно получить в плечи кучу возражений. Можно рассматривать программирование как ремесло и как искусство. Давайте начнём с ремесла. В этом случае надо выбрать критерии оценки своей деятельности. Как правило это: скорость написания проекта, стабильность работы, возможность развития. Стабильность работы не противоречит написанию на Си. По остальным критериям Си явно выигрывает. Рассмотрим программирование, как искусство. Здесь вообще критериев нет. Индивидуальность подхода - вот главный критерий. Можно красиво написать на ассемблере. Можно красиво написать на Си. Можно на плюсах. И этому есть масса примеров. И у каждого будет масса поклонников. Но искусство сложно сделать ремеслом. Нельзя поставить картины на поток. Как только проект будет содержать несколько тысяч строк - красоту оценят единицы. Точнее вру. Да никто не оценит. Остаётся только самолюбование. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 2 апреля, 2015 Опубликовано 2 апреля, 2015 · Жалоба Интересно.. интересно.... Битбандинг во всех кортексах порезали или только в атмеловских? Он вроде не является частью ядра.. Попробуйте почитать документацию, не только в части ассемблерных команд. Я вам уже советовал изучить прекрасную архитектуру Cortex-M. Bit-banding - это часть ядра. По сути, это несколько фиксированных регионов памяти. Другой вопрос, что он реализован не во всех ядрах. Под "порезали" иногда стоит понимать, что некая периферия (например, GPIO в новых STM) на находится в соответствующих регионах памяти. На самом деле, тема asm это не off. Потому что как только доходит до понимания того, что ты делаешь, до знания архитектуры и принципов работы камня, эффективности и скорости кода, его чистоты и устойчивости, так слово ASM, произнесённое в любой ветке, вызывает бурю эмоций. Потому что если программист знает архитектуру и любит камушек, ему и в голову не придёт писать на чём-то ещё, кроме ASM. А это значит, что сразу начинают лететь стулья в любителей ассемблера. Не пытайтесь убедить людей, что знание asm автоматически гарантирует описанное выше превосходное знание предмета. Писать "светодиодные мигалки" с использованием asm-инструкций, не доказывает чью-либо "крутость" и "маньячность", а скорее наоборот, показывает непрофессионализм: для мигалки светодиодом есть 555-таймер, архитектура Cortex выбрана с огромным избытком, использование asm ничем не обосновано, ни увеличения быстродействия, ни уменьшения вероятности недостатка памяти нет. У вас на сейте есть простейших проект на asm, как раз мигалка. Стоило ли писать на asm, чтобы потом делать ожидание в цикле? Это наглядная иллюстрация того, что ничего кроме факта asm-инструкций в той и большинстве аналогичных asm-программ нет. Если есть "маньяки", которые профессионально кодят на asm, то они: - используют архитектурные особенности и периферийные модули в МК; - продумывают архитектуру и модульность программы; - не используют "магический чисел" в коде; - и т.п. И самое главное: если программисту нужно кушать и кормить семью, он будет писать на том, за что будут платить денежку. Мега крутой код на asm не нужен заказчику, заказчику важны функционал, разумные сроки, сопровождаемость. Профессиональному программисту нужен код, который может быть использован многократно в разных проектах. Грубо говоря: один раз написал - сто раз продал. Asm в сравнении с C тут не инструмент. Чем плохи суррогатные языки - вообще непонятно, что и когда делает камень, что там внутри происходит? Это всё за гранью понимания даже для тех, кто эти языки придумывает. Чтоб помигать светодиодом нужно так углубляться? Программисту важно что будет сделано, а не как это будет сделано. У меня есть жена, которая готовит в семье. Если я буду вникать в ее кухню, диктовать меню, контролировать закупки продуктов, их приготовление, участвовать в поджигании огня под кастрюлей и в закладывании картошки, то толку от этого мало. У меня умная и заботливая жена, которая в фоне делает так, чтобы все были сыты и счастливы, а я в это время мог заниматься другой деятельностью. В этой аналогии жена - современный компилятор С. Мне не важно КАК она готовит, мне важен результат - все сыты и здоровы, и наличие ключей компиляции "неплохо бы рыбки откушать", "борщика бы". Кстати, и сами кристаллы так же разрабатываются. Никто их на уровне межтарнзисторных соединений не проектирует, к сожалению..... Дык, зачем жалеть: есть много проектов, в который сейчас делают АЛУ и целые компы на транзисторах. Советую погуглить, может для вас 4-битный проц со своей системой команд были бы верхом наслаждения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 2 апреля, 2015 Опубликовано 2 апреля, 2015 · Жалоба "Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." © Писать "светодиодные мигалки" с использованием asm-инструкций, не доказывает чью-либо "крутость" и "маньячность", а скорее наоборот, показывает непрофессионализм Просто вы видимо не в курсе специфики многих применений микроконтроллеров и asm-а. Поинтересуйтесь enea ose® epsilon Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 2 апреля, 2015 Опубликовано 2 апреля, 2015 · Жалоба "Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." © Просто вы видимо не в курсе специфики многих применений микроконтроллеров и asm-а. Поинтересуйтесь enea ose® epsilon[/url] А же никого не отговариваю. Есть задачи, где C лучше; есть задачи, где без asm сложно. Но конкретно с фразой ему и в голову не придёт писать на чём-то ещё, кроме ASM не соглашусь. Автор фразы погорячился, а примеры применения asm на его сайте не доказывают преимуществ применения asm именно в той задаче. Вероятно, если бы пример был интересным, вопрос стоил бы обсуждения. Иллюстрация //--------------------------------------------- // fpu_iir //--------------------------------------------- .thumb .thumb_func .global fpu_iir .type fpu_iir, %function fpu_iir: .cfi_startproc cbnz r1, fpu_iir_load bx lr fpu_iir_load: push {r0-r4, lr} VPUSH {s0-s7} // load f VLDR.F32 s1, [r3, #0] // G VLDR.F32 s2, [r3, #4] // a1 VLDR.F32 s3, [r3, #8] // a2 VLDR.F32 s4, [r3, #12] // b VLDR.F32 s5, [r3, #16] // tn-1 VLDR.F32 s6, [r3, #20] // tn-2 fpu_iir_loop: // load ldr r4, [r0], #4 // s0 <- x VMOV.F32 s0, r4 // calc tn VMUL.F32 s7, s1, s0 // G * x VFMS.F32 s7, s2, s5 // -a1 * tn-1 VFMS.F32 s7, s3, s6 // -a2 * tn-2 // calc y VADD.F32 s0, s7, s6 // tn-2 VFMA.F32 s0, s4, s5 // b * tn-1 // save t VMOV.F32 s6, s5 // tn-2 VMOV.F32 s5, s7 // tn-1 // y -> r0 VMOV.F32 r4, s0 // store str r4, [r2], #4 subs r1, #1 bne fpu_iir_loop VSTR.F32 s5, [r3, #16] // tn-1 VSTR.F32 s6, [r3, #20] // tn-2 VPOP {s0-s7} pop {r0-r4, pc} .size fpu_iir, .-fpu_iir .cfi_endproc Цифровой фильтр на asm с использованием FPU. Попробуйте переделать на С. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться