День добрый. В отличие от avr про arm информации очень мало. Даже не найти описание машинных команд и комманд работы с регистрами, прерываниями и с прочими ресурсами. Но это ещё не законченный разговор. Нашёл интересное описание: ansvet.ru/stm32f103-2_2/stm32f103-2_2.shtml Думаю повторить. Такой конролёр есть в протусе. Но нормальный проект с этим конролёром даже не создать. Сделал проект из одной схемы. Вставил туда прошивку. Эмуляцию запустить не удалось. Может модель неудачная. Выход здесь пока видится один: тупо повторять всё, как в этой статье. У меня вопрос: а кто нибудь это пробовал? Что нибудь получилось? Напишите пожалуйста.
Инфы очень мало? Да ну, вы что. Этой инфы, начиная примерно с 2012-го года - просто завались, тоннами валяются, на каждом углу. Хотя по непосредственно ассемблерным командам негусто, но есть. Во-первых, это Programming Manual PM0056 (для Cortex M3) на сайте st.com. А так же всю остальную инфу смотрите там же на том же сайте, вбив в поиск полное название вашего МК и перейдя на вкладку Documentation. До недавнего времени STM32 был самым популярным МК в среде "не-ардуинщиков", опередив все эти AVR за счет низкой цены и высокой производительности.
В Протеусе есть некоторые старые STM32 одних из первых серий. Насколько они полноценно там работают, не знаю, не пробовал. Когда есть "железный" МК с пошаговым отладчиком, симулятор практически и не нужен.
То есть, нас тут ждет много интересных "открытий" и "откровений", когда топикстартер всё же случайно найдет сайт st.com и раздел Documentations в нём
Всё, что нашёл, в сундук сейчас положил. Ассемблерных инструкций в них обнаружить не удаётся. Сводной таблицы по регистрам нет. Отдельно описания есть в даташите по линейке . В описаниях функциональных узлов. В протеусе именно на stm32f103c8 проект с компиляцией кода создать не удаётся. stm32cube делает только заготовки на C. Для компиляции наверное линукс придётся на виртуалку ставить. Embitz сейчас в сундуке попался. Буду пробовать.
Там как бы все есть, надо только пролистать. Да, объем инфы немалый. Полный список инструкций занимает несколько страниц, а список регистров и битов разделён на разделы. Просто потому, что их оооочень много, просто очень, по сравнению с каким-нить PIC16F84A
Там как бы все есть, надо только пролистать. Да, объем инфы немалый. Полный список инструкций занимает несколько страниц, а список регистров и битов разделён на разделы. Просто потому, что их оооочень много, просто очень, по сравнению с каким-нить PIC16F84A
Спасибо. Скачал. Но ассемблерных инструкций через поиск не нашёл. Дома на большом экране изучу получше. Можно прошивку и на бумажке карандашом составить. Но для этого нужно описание машинных команд.
Да, потому что настоящий осцилл должен делаться на ассемблере и на разогнанном до 120 МГц замученном несчастном STM32F103C8. При том, что уже в широком доступе есть такая же плата на F411CC с лучшими характеристиками.
Обычно люди как бы начинают изучение с мигания светиком, с семисегментного индикатора, с дисплея-двустрочника... Но никак уж не с целого осциллографа.
Кстати, прошивку осцилла на ассемблере карандашом на бумажке не составишь. Там же несколько ТЫСЯЧ строк будет, даже несколько десятков тысяч. Не говоря уже о том, что для начала нужно вообще руками и глазами посмотреть и понять, как это в железе работает
А разве F303 не круче в плане аналоговых входов и т.п.? Подумаешь, что частота меньше, зато АЦП у какое! И всякие предусилители и прочее есть. Правда, это вроде как есть и в F407. Я с ним на днях начал знакомство. Несколько часов потратил на "блинк". Благо, уже писал базовые настройки HSI/HSE под F303 (правда, это не сильно помогло с F407: у него немножко по-другому), а вот линкер-скрипт от F303 прямо-таки превосходно к F407 подходит (хоть я специальной областью ОЗУ и не пользуюсь: я вообще не представляю себе, как можно больше 20-30кБ ОЗУ занять, у меня и прошивки-то за 30кБ не вылезают, разве что шрифтов туда напихать). Теперь вот для отладки запилю UART, и буду USB переносить (но с OTG, чувствую, будет та еще жесть, особенно учитывая то, что у F407 еще и FS есть). Ну, если таки этим хотя бы по 2-3 часа на работе заниматься, авось, через полгода осилю написать весь необходимый набор сниппетов.
В общем, чем толще даташит, тем страшней и больше времени тратится ☺ В STM8 я въезжал куда быстрей, но там и с периферией попроще, да и нет всяких армовских заморочек (типа тех же стартапа и линкер-скрипта). А вот для того же STM32 первое мое приближение к USB я чуть ли не год писал!
Интересно, сколько времени убьет ТС, если будет на асме хоть тот же USB реализовывать. Особенно если двойную буферизацию задумает.
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
Ой, да уже через пару недель забросит, поняв что даже TFT-дисплей то запустить не получается, не говоря уже том, чтобы проводить математическую обработку захваченного аналогового сигнала с целью найти условие триггера и сформировать на дисплее все эти циферки и буковки. Автор, видимо, думает, что STM32 - это чето чуть больше PIC16F876 с его 35-ю командами и полусотней 8-битных регистров.
Да уж, с параллельным интерфейсом дисплея на 48-ногом F103 может возникнуть внезапный прикол: ТС просто не найдет свободного порта, чтобы ноги подряд шли - для передачи данных эмуляцией FSMC на DMA по таймеру через BSRR. И придется ему дрыгать ногами в прерывании таймера. А на обработку данных с АЦП времени и не останется ☺ Хотя, можно, конечно, просто сначала захватывать, а потом отображать - без псевдореального времени. В этом случае вообще можно дисплей на SPI или даже I2C взять. Но по-хорошему таки нужно брать чип с аппаратной поддержкой параллельного интерфейса. И дисплей желательно на 16-битной параллельной шине… И внезапно окажется, что у F103 нет FPU! И будет ТС частотный анализ пытаться делать в целых числах или с фиксированной запятой… В общем, странный выбор чипа для осциллографа, и уж тем более странно пытаться разработку на МК начать с осциллографа. Я со всем своим багажом сниппетов осциллограф не меньше года бы разрабатывал. И получилась бы какая-нибудь фигня на 20МГц…
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
Показанный в том проекте дисплей на ILI9341 может получать картинку как по параллельному 8-битному (так сделано в большинстве китайских модулей), либо по SPI, который можно разогнать до 32 - 36 МГц (я пробовал). Дисплеи по I2C имеют катастрофически низкую скорость передачи - 50'000 байт/с, это подходит только для монохромных OLED-ов.
Это единственное, чего не хватает, чтобы осцилл забабахать?
А вдруг не заработает? Платку можно будет использовать для испытания флюсов? Эту ветку создал, что бы узнать, а не пробовал ли это кто повторять? Если есть положительные результаты заказать и собрать точно по этой статье. Ни шагу влево. Ни шагу в право. Только входные цепи доработать. А стоит ли серьёзно изучать stm32 пока не определился. На avr уже неплохое рабочее место собрал. Свой вариант разводки популярной платки есть. Решу проблему с недотравом, попробую собрать. Получится, доработаю. Сейчас уже много по stm32 нашёл. Спасибо,что откликнулись на этом форуме. Уже можно заказывать и пробовать.
Обычно люди как бы начинают изучение с мигания светиком, с семисегментного индикатора, с дисплея-двустрочника... Но никак уж не с целого осциллографа.
Иронично. Кажется, у меня изучение шло какими-то зигзагами. Диодиками помигал, а потом на ассемблере написал осциллограв под ATMega8535. Ну не умел я тогда в Си =] Хотя осциллографом это можно было назвать с очень большой натяжкой, но показания АЦП он выводил довольно красиво на экранчик TIC-96. I2C, 128*32 (вроди бы). А только потом лапки мои добрались до сегментников и Си :\
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения