Регулярно покупаем без посредников. Российскую фирму, скорее всего, пошлют, а если иметь представительство в ЮВА, то проблем никаких нет.КРАМ писал(а):Вы когда нибудь брали "напрямую у производителя"?![]()
Мелкие вопросы по МК и ПЛИС.
- coredumped
- Опытный кот
- Сообщения: 838
- Зарегистрирован: Вт апр 12, 2011 18:38:19
- Откуда: с Земли
Re: Мелкие вопросы по МК и ПЛИС.
Все будет только лучше, в крайнем случае - хуже.
- Реклама
-
Chettuser
Re: Мелкие вопросы по МК и ПЛИС.
Я STM32L151 давно щупал на отладке от STM. Даже побаловался и выкладывал на mycontroller.ru. Только тот сайтец загнулся по ряду причин. И всё равно для простых вещей возвращаюсь к тому, что попроще - PIC12 и PIC16. Вот и думаю - у меня есть самособранный PICkit 2, зачем я буду делать еще один под другие камни? Поэтому буду пока смотреть в сторону PIC24HJ и PIC32 (ох чую, щас лоток с кошачим калом в мою сторону полетит!). Тем более что сравнивать PIC32 и STM32 как бы неправильно - разные они.
- coredumped
- Опытный кот
- Сообщения: 838
- Зарегистрирован: Вт апр 12, 2011 18:38:19
- Откуда: с Земли
Re: Мелкие вопросы по МК и ПЛИС.
Щас Химера запьет икру шампанским
А мне как-то пофиг... Каждый выбирает свой путь сам
А мне как-то пофиг... Каждый выбирает свой путь сам
Все будет только лучше, в крайнем случае - хуже.
- coredumped
- Опытный кот
- Сообщения: 838
- Зарегистрирован: Вт апр 12, 2011 18:38:19
- Откуда: с Земли
Re: Мелкие вопросы по МК и ПЛИС.
А у Вас уже проект заработал? Когда заработает, при чем так, как задумано, а не как получилось, тогда можно будет сказать, что все правильно.Леонид Иванович писал(а):Что там еще есть необходимое для начальной настройки контроллера? Я посмотрел и ничего такого не обнаружил. Или я не прав?
Что же касается system_init, лично я считаю, что проще взять готовое и проверенное решение, предоставленное CMSIS, чем биться головой об клавиатуру. Лучше потратить силы на сам проект, чем на разборку стартапа. Я еще понял бы Вас, если бы Вы писали свою OS. В следующих камешках, заметьте, настройка клоков несколько сложнее, но есть экселевский файлик, который генерирует код за Вас. Не думаю, что Вы сможете сделать лучше.
Не понятно, какую Вы хотите информацию получить в ответ. Вы положили кусок какого-то кода, и просите ткнуть носом в ошибки. Причем неясно, чего Вы хотите добиться. Если хотите разобраться, то запускайте и отлаживайте. Или Вы хотите, чтоб мы разобрались за Вас? Укажите хоть исходные данные - кварц, внешний или внутренний генератор, желаемая тактовая частота.Леонид Иванович писал(а):А сделаю так, как посчитаю нужным, и именно с помощью той информации, которую хочу получить в ответ.
Все будет только лучше, в крайнем случае - хуже.
- coredumped
- Опытный кот
- Сообщения: 838
- Зарегистрирован: Вт апр 12, 2011 18:38:19
- Откуда: с Земли
Re: Мелкие вопросы по МК и ПЛИС.
Чтоб заработал (в первом приближении) Ваш проект - времени нужно... приблизительно часа 2. При условии, что есть собранный прототип.Леонид Иванович писал(а):Нет, проект не заработал. Чтобы он заработал, мне предстоит разобраться с каждым битиком, а на это нужно уйма времени.
Возьмите файл system_stm32f10x.c из CMSIS - там есть все необходимые для запуска операции. Файлик написан специалистами. Он 100% работающий. Что Вам еще нужно?Леонид Иванович писал(а):Смущает то, что видел в сети много примеров, где для аналогичных целей проделывается гораздо больше записей во всякие регистры. Я хочу, чтобы специалист по STM32 глянул на этот код и сказал, достаточно ли его для включения тактирования. Возможно, я что-то не учел.
Все будет только лучше, в крайнем случае - хуже.
- Реклама
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Да, плата полностью собрана. Работаю над ней где-то 2 месяца, пока только мигаю светодиодом, и то мне не нравится текст работы с портами. Как Вы описываете порты I/O? Я хочу добиться того, чтобы описание соответствия сигнал-пин было в одном месте программы, а сменить порт и пин было делом одной строчки. Пока решил использовать для каждого пина шаблонный класс с перегруженными операторами присваивания. Память немного расходуется, зато очень наглядно. Что касается двух часов, то это шапкозакидательство, которое почему-то чаще всего позволяют себе адепты ARM. И почему-то они в основной массе хамы. Не знаете, почему?coredumped писал(а):Чтоб заработал (в первом приближении) Ваш проект - времени нужно... приблизительно часа 2. При условии, что есть собранный прототип.
Мне нужно разобраться. Здесь утверждалось, что там есть что-то нужное кроме настройки тактирования. Почитал документацию на STM32, посмотрел внутренности этого файла (которые выглядят полным кошмаром), ничего нужного не нашел. Что имелось в виду?Леонид Иванович писал(а):Возьмите файл system_stm32f10x.c из CMSIS - там есть все необходимые для запуска операции. Файлик написан специалистами. Он 100% работающий. Что Вам еще нужно?
- coredumped
- Опытный кот
- Сообщения: 838
- Зарегистрирован: Вт апр 12, 2011 18:38:19
- Откуда: с Земли
Re: Мелкие вопросы по МК и ПЛИС.
В этом файле, помимо настройки клоков, устанавливается таблица векторов прерываний, больше ничего.
Для быстрой смены пинов, удобно использовать макросы.
Вот, для примера (Cortex-M0):
Для быстрой смены пинов, удобно использовать макросы.
Вот, для примера (Cortex-M0):
Код: Выделить всё
#define PA_IN GPIOA->MODER = 0x002A0000
#define PA_OUT GPIOA->MODER = 0x002A5555
#define IORD_PIN GPIO_Pin_10
#define IOWR_PIN GPIO_Pin_11
#define IORD_LO GPIOB->BRR = IORD_PIN
#define IORD_HI GPIOB->BSRR = IORD_PIN
#define IOWR_LO GPIOB->BRR = IOWR_PIN
#define IOWR_HI GPIOB->BSRR = IOWR_PIN
#define A0_PIN GPIO_Pin_13
#define A1_PIN GPIO_Pin_14
#define A2_PIN GPIO_Pin_15
#define SET_ADDR_0 GPIOB->BRR = 0x0000E000
#define SET_ADDR_1 GPIOB->BSRR = 0xC0002000
#define SET_ADDR_2 GPIOB->BSRR = 0xA0004000
Все будет только лучше, в крайнем случае - хуже.
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Таблица векторов прерываний находится в другом файле - startup_stm32f10x_md_vl.s. Но как это использовать? Например, сейчас я пишу класс Wake-порта, где нужно задействовать прерывания UART. Сделать обработчик прерывания методом класса, насколько я знаю, невозможно (так как любому методу неявно передается указатель this, а обработчик прерывания не может иметь параметров). Как лучше поступить в такой ситуации?coredumped писал(а):В этом файле, помимо настройки клоков, устанавливается таблица векторов прерываний
Плохой пример. Магические числа, которые нужно вычислять в уме, очень много работы при переносе сигнала на другой пин и порт. Я хочу сделать, чтобы объявление пина выглядело так:coredumped писал(а):Для быстрой смены пинов, удобно использовать макросы. Вот, для примера
Код: Выделить всё
Gpio<PORTC, PIN9> Pin_Led;
Pin_Led.mode(Mode::OUTPUT_2MHz);
Код: Выделить всё
Pin_Led = 1;
- coredumped
- Опытный кот
- Сообщения: 838
- Зарегистрирован: Вт апр 12, 2011 18:38:19
- Откуда: с Земли
Re: Мелкие вопросы по МК и ПЛИС.
Обратите внимание на такой операторЛеонид Иванович писал(а):Таблица векторов прерываний находится в другом файле - startup_stm32f10x_md_vl.s. Но как это использовать?
SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET;
или его аналог
NVIC_SetVectorTable( NVIC_VectTab_FLASH, 0x0 );
Что же касается С++, то я противник применения этого монстра во встроенных системах, поэтому не применяю. Разбираться с особенностями написания ISR в плюсах Вам прийдется самому. Или погуглите на буржуйских форумах, там извращенцев хватает.
Все будет только лучше, в крайнем случае - хуже.
- coredumped
- Опытный кот
- Сообщения: 838
- Зарегистрирован: Вт апр 12, 2011 18:38:19
- Откуда: с Земли
Re: Мелкие вопросы по МК и ПЛИС.
И фчём прикол? Очередная мормышка от ST. Очень правильная политика - делать девборды и продавать по цене почти равной себестоимости.Chettuser писал(а):Подкину корм тролям: 32F429IDISCOVERY
Я еще дарил бы эти платки ВУЗ-ам (может они так и делают?).
Все будет только лучше, в крайнем случае - хуже.
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Спасибо, но это не совсем то. Переместить всю таблицу векторов нужно, например, при написании бутлодера, но сделать обработчик прерывания членом класса это не поможет.coredumped писал(а):Обратите внимание на такой оператор SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET;
Единственная радость от появления дешевых STM32 - это то, что для встроенных систем теперь тоже можно писать на C++. Лишняя производительность процессора и оверхед друг друга скомпенсируют. Структура программы, написанной на C++ намного красивее. Что касается оверхеда, то не так он велик, как про него обычно думают.coredumped писал(а):Что же касается С++, то я противник применения этого монстра во встроенных системах
Почему извращенцев? Вот Вам самому не противно общаться в таком стиле?coredumped писал(а):Или погуглите на буржуйских форумах, там извращенцев хватает.
А у Вас верх хамства. Как это никакой информации? Сразу понятно, что на выводе светодиода устанавливается уровень логической единицы. При желании можно определить константы LED_ON, LED_OFF.HHIMERA писал(а):Верх идиотизма... никакой информации...
-
Chettuser
Re: Мелкие вопросы по МК и ПЛИС.
Там еще новинок много появилось. Они меняют железо на отладках - к чему бы это? Серии остаются те же M0, M3, M4.
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мелкие вопросы по МК и ПЛИС.
Зачем покупать - спаять можно тоже и проще чем Pickit2 и 3:Chettuser писал(а): а с STM32 разбираться и дорогущие средства покупать - это невыгодно ИМХО
Спойлер

Re: Мелкие вопросы по МК и ПЛИС.
Да и до этого можно было писать на Си++, лишь бы компилятор поддерживал. Есть проектик, тоже на АРМ, но стареньком ARM7TDMI работающем на 50 МГц, так вот там несколько мегабайт отменного говно-кода на Си++, и ничего - работает. Так что считаю, что на оверхед плюсов обращать внимание вообще не стоит.Леонид Иванович писал(а): Единственная радость от появления дешевых STM32 - это то, что для встроенных систем теперь тоже можно писать на C++. Лишняя производительность процессора и оверхед друг друга скомпенсируют. Структура программы, написанной на C++ намного красивее. Что касается оверхеда, то не так он велик, как про него обычно думают.
А вот в остальном Си++ терпеть не могу. По сравнению с простым и лаконичным Си (хотя, недавно мое отношение к нему пошатнулось), Си++ представляет собой какую-то свалку различных механизмов и подходов, как говорится пытаясь и рыбку съесть и на хер сесть. Хотя, я бы не отказался от чего-нибудь типа С# для embedded применения, только без слишком уж "сахарных" конструкций.
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мелкие вопросы по МК и ПЛИС.
имхо, скорее всего за С++ для микроконтроллеров будущее - по аналогии с PC где сейчас никто практически не пишет на чистом Си (разве что драйвера и пр. системное). Периферия микроконтроллеров становится все сложнее - фирме производящей микроконтроллеры остается написать библиотеку классов под свое железо и толпы программистов-ардуинщиков заполонят... И только истинные джедаи будут юзать чистый Си.
p.s. это так - бредовые фантазии
на авр уже народ Си++ пользуется: https://sites.google.com/site/vanyambau ... eka-ve_avr
p.s. это так - бредовые фантазии
на авр уже народ Си++ пользуется: https://sites.google.com/site/vanyambau ... eka-ve_avr
- КРАМ
- Друг Кота
- Сообщения: 25385
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Мелкие вопросы по МК и ПЛИС.
В аппаратурных приложениях написание "драйверов" и есть ОСНОВНАЯ ЗАДАЧА. Все остальное - тривиальный сервис и украшалки.oleg110592 писал(а):по аналогии с PC где сейчас никто практически не пишет на чистом Си (разве что драйвера и пр. системное)
Ключевые параметры изделия обеспечиваются именно на уровне ядра РТОС.
Как бы не совершенствовались МК и не уменьшалась их цена, в конкурентной борьбе у эмбеддеров выиграет тот, кто сумеет выжать из МК по максимуму, обеспечив тем самым уникальность ТТХ конечного изделия.
Пользователи библиотек плюсов и шарпа будут лишь одними из толпы...
- coredumped
- Опытный кот
- Сообщения: 838
- Зарегистрирован: Вт апр 12, 2011 18:38:19
- Откуда: с Земли
Re: Мелкие вопросы по МК и ПЛИС.
К радости хомячков даже в ядре Linux появилась возможность писать дрова на плюсах. Мир сошел с ума, похоже
На плюсах, как я считаю, удобно писать всякие UI/GUI под ОС, особенно многооконные - тут ООП очень даже помогает.
Но делать классы для работы GPIO - это извращение. Опять же либы, нацарапанные на плюсах прячут механизмы работы с железом, что приводит к увеличению армии быдлокодеров. Это похлеще даже чем бездумное использование SPL для STM32. А потом народ недоумевает, почему на ARM с тактовой частотой 160МГц все работает не быстрее, чем на AVR
На плюсах, как я считаю, удобно писать всякие UI/GUI под ОС, особенно многооконные - тут ООП очень даже помогает.
Но делать классы для работы GPIO - это извращение. Опять же либы, нацарапанные на плюсах прячут механизмы работы с железом, что приводит к увеличению армии быдлокодеров. Это похлеще даже чем бездумное использование SPL для STM32. А потом народ недоумевает, почему на ARM с тактовой частотой 160МГц все работает не быстрее, чем на AVR
Все будет только лучше, в крайнем случае - хуже.
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Аргументируйте. Читаемость кода улучшается, а если не перегружать операторы, то оверхеда нет вообще - экземпляр класса создавать не нужно, а статические методы инлайнятся.coredumped писал(а):Но делать классы для работы GPIO - это извращение.
-
Chettuser
Re: Мелкие вопросы по МК и ПЛИС.
Вот вопрос в новой для меня области - для FPGA существует так называемая конфигурационная память. Как я понял она имеет протокол SPI. В связи с этим вопрос - почему применяется именно дорогущая память от производителя FPGA, а не любая доступная с SPI?


