-
Постов
4 034 -
Зарегистрирован
-
Посещение
-
Победитель дней
5
Сообщения, опубликованные x893
-
-
6 hours ago, uriy said:
Массово применяем AT32F415CCT7.
BOOT0 у меня заведен на землю через резистор 4.7К и также выведен на разъем для программирования.
На разъеме для программирования есть SWD и UART чтобы можно было залить bootloader через оба эти интерфейса.
По факту производство заливает bootloader через китайские J-Link, купленные на али за 1000 рублей.
Последующие обновления прошивки через другой интерфейс UART, который имеет выход во внешний мир.
Что у вас означает фраза "виснет" при вызове прерывания?
Аналогично. Только и первая прошивка тоже через USB
-
2 minutes ago, paskal said:
Для работы BOOT0=0, а для программирования BOOT0=1. То что вы предлагаете, это мне при каждой перезаписи программы надо лезть в схему и переключать BOOT0. А раньше я это делал программно. Командой jump из бутлодера запускал программу во флеши. А с этим глюком я не могу запускать программу без перекоммутации ножек.
Нияего не понял. Я на F415 програмно вызываю system bootloader без boot0 (всегда в 0).
-
34 minutes ago, EdgeAligned said:
до 2019 года был отдельный кодогенератор CubeMX
Как был - так и остался.
34 minutes ago, EdgeAligned said:К сожалению, в CubeIDE (если не ошибаюсь) так и не удосужились внедрить инструментарий юнит-тестов.
Это только продвинутым менеджерам нужно. Поэтому они и несчастливы.
41 minutes ago, Pjotar said:который в случае ошибки вызывает функцию HandleErorr() без аргументов. Вызывает из двадцати мест, без указания там кода ошибки. И я такой секундочку, я хочу передать в эту функию код ошибки и как-то там ножкой просигналить. Ну вот необходимость нагенерированный код переписать.
Error_Handler. И можно сделать её как угодно. Всё в руках создателя.
-
1 hour ago, EdgeAligned said:
Возможно, топикстартера не устраивает стиль оформления текста, способ компоновки файлов. Например, меня тоже оное вообще не устраивает, поэтому я вообще не пользуюсь Кубом. Потому как начинал с STM еще задолго до того, как появился Куб вообще.
Шашечки, или ехать. Каждый решает сам.
-
2 hours ago, Pjotar said:
Добрый день!
Хотелось бы узнать, как поступаете с кодом, который генерирует CubeIDE. Работаете в рамках, заданных генератором, сохраняете возможность перегенерировать? Генератор очень удобный для старта проекта, но у меня возникает желание создать чистый проект без зависимости от код-генератора и туда уже ручками всё переносить и допиливать.
Код генерируется, добавляю что мне нужно. Потом поправляю в кубе и по циклу.
/* USER CODE ...*/ -
22 minutes ago, Spider said:
А можно что-то более по делу? Без индикации какой у вас интеллект?
- 1
-
52 minutes ago, Spider said:
Что я не так делаю?
Открыть рукодство по изготовлению одноканального шлюза и сделать всё по шагам (первые 5 ссылок в гугле)
- 1
-
5 hours ago, C2000 said:
За 40тыр Вам максимум вымоют полы в офисе в Москве.
Не вымоют, а только подметут.
-
Так установите BOOT0 = 0 для номальной работы. Никаких проблем вообще нет.
Ещё есть BOOT1. Есть схема от START-F415, там всё нарисовано в деталях.
-
2 hours ago, nanorobot said:
Имею пару клонов JLink от starterkit.ru, использую для отладки T113-s3 и f1c100s. Такая странность, в f1c100s скорость заливки выше раза в два, или даже более. Размер "прошивки" для T113-S3 уже достиг 1.5 М, поэтому процесс происходит медленно и печально. Частотой клока для JLink игрался, результата нет. Как то можно увеличить скорость, с использованием китайских клонов, или залить другую firmware в мои клоны, у меня сейчас такой..
Firmware: J-Link ARM V8 compiled Nov 28 2014 13:44:46 Hardware: V8.00
Купить за 400 тыр фирменный JLink-Pro - жаба не позволяет ... Есть ли китайцы с более старшей версией hardware? Что можете посоветовать?
v9, v10, v11
Всё на Али в огромных количествах -
8 hours ago, BSACPLD said:
Заказ будет сорван по срокам.
Мой руководитель люлей получит, а я скорее всего уволюсь 😞
Устал уже объяснять им азбучные истины...
Сил моих просто нет...
Ну и хрен на них. Ума нет - пиши пропало. Работу найти сейчас не проблема.
-
Если не найдётся за 3 недели, то что произойдёт ?
-
36 minutes ago, mantech said:
Не совсем, еммс- это 8и битная шина, что быстрее заметно, тут обычная шина сд карты... Тут больше сравнимо с q-spi.
emmc и по 4 битам есть
-
Кому надо откроет описание и прочитает.
-
Лора есть и на 2.4GHz, да не лора есть на 2.4
Делаете прототип на столе и меряете что нужно.Никто не скажет как будет в реальности.
-
11 minutes ago, EdgeAligned said:
эти "сотни" легко улетают под буфер дисплея
Если 10 Msps ADC собирается, то памяти мало не будет.
-
И зачем это нужно курьеру по доставке пиццы ? Менять 150 на 80 ?
-
7 hours ago, makc said:
Очень удобно, пользовался как раз для реализации FSM и кооперативной многозадачности. Особенно удобно в gcc, где можно взять адрес метки.
Не только gcc имеет псевдо-переменную __LINE__
-
1 hour ago, Arlleex said:
А Вам самому удобно ими пользоваться? Я когда-то попробовал, фишку понял, но не оценил.
Их при описании стейтмашин еще можно как-то приплести, но как по мне, проще уж реально кооперативный режим ОС использовать и не мудрить.
Я не пользуюсь. Вернее чем удобно, тем и пользуюсь.
-
https://dunkels.com/adam/pt/examples.html
18 лет тому назад
The example shows two protothreads, one for the sender and one for the receiver. #include "pt.h" PT_THREAD(sender(struct pt *pt)) { PT_BEGIN(pt); do { send_packet(); /* Wait until an ackowledgement has been received, or until the timer expires. If the timer expires, we should send the packet again. */ timer_set(&timer, TIMEOUT); PT_WAIT_UNTIL(pt, acknowledgment_received() || timer_expired(&timer)); } while(timer_expired(&timer)); PT_END(pt); } PT_THREAD(receiver(struct pt *pt)) { PT_BEGIN(pt); /* Wait until a packet has been received, and send an acknowledgment. */ PT_WAIT_UNTIL(pt, packet_received()); send_acknowledgement(); PT_END(pt); }
-
25 minutes ago, jcxz said:
упёртые суперлуперы.
Толерантнее будет- гуру программирования.
-
17 minutes ago, Ruslan1 said:
Да пожалуйста:
Задача1: раз в какое-то время запускать опрос датчика
Задача2: просыпается по прерыванию, которое посылает сюда сообщение из датчика (принятое, например, по ПДП или побайтово). Обработка и отсылка сообщения в задачу, собирающую данные со всех датчиков для формирования из них нужного пакета (например, передача 20 показаний датчика за раз, или десяти опрошенных датчиков).
задача3: работа с внешним интерфейсом (запросы-ответы от линии связи, передача всех запрошенных данных)
задача4: работа с внешним интерфейсом (периодические отсылки, например измеренные данные)
задача5: локальный интерфейс (лампочки-кнопочки-дисплейчики)
задача6: локальный отладочный терминал (обычно UART с системой команд и/или отладочным логом)
задача7: опрос набортных сенсоров (ну например напряжение питания и состояние батареи).
задача6: вотчдог, контролирующий все задачи: принимает сообщения от всех задач и ребутит систему или отдельные задачи если ему чего-то не нравится.
А еще очень помогают приоритеты, чего суперлупом не сделать. Например, когда длинные вычисления делаются в задаче с малым приоритетом в фоне, а подача в нее новых данных (буферизация) идет средствами RTOS (очередь сообщений). Понятно, что природу не обмануть и суммарное время нужно считать (чтобы все вычисления успевались до переполнения очереди), но для особо настырных есть многоядерные камни (начиная с народного ЕСП32)- и задачи запросто могут быть разделены между ядрами. У меня есть проект, где одно ядро ЕСП32 только DSP вычислениями загружено по такой схеме.
И что значит "расчехлять"? оно такое страшное? Первый раз, конечно, нужно документацию прочитать, чтобы сконфигурировать ну и вообще понять что это и как. Но даже тут сэкономить можно: просто найти на используемый камень пример в Интернете с морганием светодиодом, и использовать как опору. И читать документацию, смотря на этот пример.
Не, так глубоко я не заплывал. К сожалению. Или к счастью, это сейчас спорный вопрос. 🙂
Не понятно из-за чего сыр-бор идёт.
Можно с РТОС, можно без.
Кому как удобнее, так и делает. -
1 hour ago, jcxz said:
Похоже x893 можно поздравить с профитом.
Вообще не в курсе про профиты.
-
1 minute ago, auric said:
не думаю что он
Думать не надо. Просто выключить.
1 minute ago, auric said:Есть ли какая-то практическая статистика?
Когда она кому-нибудь понадобится, то при помощи DWT это делается минут за 10
STM32H7, LTDC, FIFO underrun
в STM
Опубликовано · Пожаловаться
Проверил на H747 с внешней SRAM, панель RGB 800х480, 16 бит, клок на панель 40МГц
Работает отлично