topkin 0 14 февраля, 2011 Опубликовано 14 февраля, 2011 · Жалоба Привет всем, столкнулся с такой проблемой в STM32F100RB, проблема решена на данный момент, но думаю будет полезно осваивающим. В проекте используются 3 канала АЦП, проводится преобразование входных сигналов с максимальной частотой - 1.2мкс по очереди и данные передаются через DMA в память, далее обработка и тому подобное, пользую IAR EW. Создал проект, в режиме дебага все отлаживается, проверил работоспособность программы, завершаю дебаг, далее вношу еще изменения в проект, пытаюсь снова войти в режим отладки и все... IAR ругается что невозможно соединиться с платой, первоначавльно думал что проц сгорел. Хотя фирмаваре внутри камня крутится и нормально работает! Зашил эту же программу в STM32VLDiscovery и ситуация полностью повторилась. Долго чесал затылок, в итоге попробовал приконнектиться к плате с помощью софтины ST-Link Utility и на тебе, микроконтроллер виден! Очистил прошивку, передернул питание, далее снова в IAR EW, проблема исчезает, но стоит 1 раз прошить и ситуация повторяется с точностью. Вдоль и поперек занимался любовью с DMA и АЦП, не помогло, но выяснил, что перед тем как нажать кнопку дебага или перепрошивки в софтине, необходимо нажать кнопку ресета на плате и вуалля, шьется как ни в чем не бывало! Далее собрал проект под uVision, там такая проблема не повторилась. Соответственно все подозрения пали на IAR EW. В итоге воспользовался техподдержкой ST, ребята 2 дня думали и написали ответ, что это косяк IAR EW. В кратце, при прошивке IAR EW сбрасывает только ядро, далее грузится в ОЗУ алгоритм загрузки кода flash, но в это время DMA передает данные с каналов АЦП в память, соответственно происходит конфликт и микроконтроллер зависает. В итоге они мне прислали исправленный файл ххх.mac, который необходимо скормить IAR EW по адресу по пути - вашадиректория\Embedded Workbench 6.0\arm\config\flashloader\ST\. Так и сделал, проблема исчезла. В общем, теперь остановка DMA происходит, файл прикрепил, необходимо его распаковать. P.S. Всем удачи в нашем нелегком труде! В следующем релизе IAR обещали исправить эту проблему:-) FlashSTM32F10xxx.zip Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rafael 0 18 февраля, 2011 Опубликовано 18 февраля, 2011 · Жалоба Вернувшись к проекту через год неожиданно наткнулся на проблему с драйвером STM Virtual COM Port. С тех пор OS рабочем компе сменилась с XP на Win7. Использовал демонстрационный проект Virtual_COM_Port из STM32_USB-FS-Device_Lib_V3.1.0. Проблема в следующем: при подключении прибора к USB порту устройство STMicroelectronics Virtual COM Port появляется, но не может запуститься: Запуск этого устройства невозможен. (Код 10). Отчасти проблема решается установкой буфера приема = 64 байта (VIRTUAL_COM_PORT_DATA_SIZE), но работа порта неустойчива, прием идет со сбоями Пробовал VCPDriver: v1.1, v1.2, v1.3 На XP все работало без глюков, с любым размером буфера Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
akimych 0 19 февраля, 2011 Опубликовано 19 февраля, 2011 · Жалоба Пробовал VCPDriver: v1.1, v1.2, v1.3 Интересно, чем они отличаются. Учитывая, что это и не драйвер по сути, просто inf файл. Драйвер родной виндовый usbser, который в разных версиях винды может отличаться. Глянуть бы каким-нибудь usblyzer-ом что там происходит. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Danis 0 20 февраля, 2011 Опубликовано 20 февраля, 2011 · Жалоба Привет спецы, интересует STM32F2XX: интерфейс подключения камеры. Планирую заложить в новый проект. Кто нить использовал уже опытные образцы? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
InsolentS 0 1 марта, 2011 Опубликовано 1 марта, 2011 · Жалоба Не пойму, нужно ли выводить ресет на разьем SWD? Или достаточно SWCLK и SWDIO ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
e-serg 0 1 марта, 2011 Опубликовано 1 марта, 2011 · Жалоба Не пойму, нужно ли выводить ресет на разьем SWD? Или достаточно SWCLK и SWDIO ? Достаточно, на мелких платах только их и использую. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
InsolentS 0 1 марта, 2011 Опубликовано 1 марта, 2011 · Жалоба Достаточно, на мелких платах только их и использую. Спасибо. А на крупных платах как поступаете? Разводите JTAG? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 1 марта, 2011 Опубликовано 1 марта, 2011 · Жалоба Тоже вывожу только SWCLK и SWDIO. Выводить JTAG смысла не вижу: разве JTAG даёт какое-нибудь преимущество над SWD при отладке? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
InsolentS 0 1 марта, 2011 Опубликовано 1 марта, 2011 · Жалоба Тоже вывожу только SWCLK и SWDIO. Выводить JTAG смысла не вижу: разве JTAG даёт какое-нибудь преимущество над SWD при отладке? Вроде скорость заливки во FLASH выше. Я правильно понимаю, что в любой момент времени, если на пинах SWCLK и SWDIO появится определённая последовательность данных, проц перейдёт в режим отладки? Получается потенциально опасная ситуация Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 1 марта, 2011 Опубликовано 1 марта, 2011 · Жалоба Я правильно понимаю, что в любой момент времени, если на пинах SWCLK и SWDIO появится определённая последовательность данных, проц перейдёт в режим отладки? Получается потенциально опасная ситуация Вот что сказано в руководстве по STM32: If the debugger host wants to switch to the SW-DP, it must provide a dedicated JTAG sequence on TMS/TCK (respectively mapped to SWDIO and SWCLK) which disables the JTAG-DP and enables the SW-DP. This way it is possible to activate the SWDP using only the SWCLK and SWDIO pins. This sequence is: 1. Send more than 50 TCK cycles with TMS (SWDIO) =1 2. Send the 16-bit sequence on TMS (SWDIO) = 0111100111100111 (MSB transmitted first) 3. Send more than 50 TCK cycles with TMS (SWDIO) =1 Я так понимаю, этот танец с бубном сделан таким для того, чтобы он никак не мог произойти при нормальном использовании JTAG. Поэтому можно спать спокойно. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
akimych 0 2 марта, 2011 Опубликовано 2 марта, 2011 · Жалоба если на пинах SWCLK и SWDIO появится определённая последовательность данных, проц перейдёт в режим отладки? Получается потенциально опасная ситуация Не проц перейдет в режим отладки, а JTAG переключится в режим SWD. Резет теоретически может пригодиться на случай, если прошивка переводит мк в режим, когда отладчик не может подключиться. Но я бы на этот случай подключал boot0 на землю через резистор, чтобы в крайнем случае можно было запустить бутлоадер и потом отладчик. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yakuzaa 0 2 марта, 2011 Опубликовано 2 марта, 2011 (изменено) · Жалоба привет всем! Хочу использовать одновременно IWDG и STOP режим. Как-то это можно обыграть? Я так понимаю, если я войду в спячку, то вачдог сбросит МК. Изменено 2 марта, 2011 пользователем Ivan Kuznetzov Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Murka 0 2 марта, 2011 Опубликовано 2 марта, 2011 (изменено) · Жалоба Ivan Kuznetzov Дауж врятли, скорее всего вместе с контроллером уснёт и вачдог. У Renesas_a такое есть. Изменено 2 марта, 2011 пользователем Murk Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yakuzaa 0 2 марта, 2011 Опубликовано 2 марта, 2011 · Жалоба Проверил: если проц перевести в STOP при включенном IWDG, то последний сбросит МК. Т.е. надо вачдог как-то обновлять во время спячки Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
InsolentS 0 3 марта, 2011 Опубликовано 3 марта, 2011 · Жалоба Кто-нибудь пробовал применить встроенный CEC интерфейс для чего-нибудь полезного? Например, в качестве дополнительного UART или I-wire (если это вообще возможно) ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться