Xenia 42 12 ноября, 2013 Опубликовано 12 ноября, 2013 · Жалоба Ситуацию поняла, всем спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kernel 0 14 ноября, 2013 Опубликовано 14 ноября, 2013 · Жалоба Вот и пришла ко мне сегодня эта платка :) И сразу же возник вопрос - с внешней USB Mass Storage в изначально залитом демонстрационном приложении девайс не должен работать? Пока еще только-только начинаю вникать, но вот что-то уже в плане работы USB Host меня засмущал кварц 8 Мгц (разве USB Host на ней должен работать?). Ну и естест-но вопрос и задаю потому, что плеер в этой демо вместе с просмоторщиком картинок не видит флэшку (да и сама флешка не моргает). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 14 ноября, 2013 Опубликовано 14 ноября, 2013 · Жалоба Вот и пришла ко мне сегодня эта платка :) И сразу же возник вопрос - с внешней USB Mass Storage в изначально залитом демонстрационном приложении девайс не должен работать? Пока еще только-только начинаю вникать, но вот что-то уже в плане работы USB Host меня засмущал кварц 8 Мгц (разве USB Host на ней должен работать?). Ну и естест-но вопрос и задаю потому, что плеер в этой демо вместе с просмоторщиком картинок не видит флэшку (да и сама флешка не моргает). Вы, видимо, не всю ветку читали. В сообщении 83, 85 я про это уже писал)) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kernel 0 14 ноября, 2013 Опубликовано 14 ноября, 2013 (изменено) · Жалоба adnega, нет, ветку-то прочитал и даже сообщения эти видел. Но так и не понял из этих сообщений, это у всех так должно быть? Что нужно сделать, кварц заменить? Извиняюсь за дилетантизм в своих вопросах, просто STM32 в глаза сегодня впервые увидел. А попробовать USB Mass Storage уже "руки чешутся"... :) Изменено 14 ноября, 2013 пользователем kernel Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 14 ноября, 2013 Опубликовано 14 ноября, 2013 · Жалоба adnega, нет, ветку-то прочитал и даже сообщения эти видел. Но так и не понял из этих сообщений, это у всех так должно быть? Что нужно сделать, кварц заменить? Извиняюсь за дилетантизм в своих вопросах, просто STM32 в глаза сегодня впервые увидел. А попробовать USB Mass Storage уже "руки чешутся"... :) Итого: "из коробки" у меня не заработало. Отбросил SB18 (перемычка на плате) и подал на плату внешний клок ~7.46МГц. После этого флешка начала определятся и заработали примеры роликов. Сделать свой ролик, та еще работенка - нужен спец конвертер, с преобразованием видео к 320х240@15fps (в итоге сделал, но тормозит). Из исходников проект не собирал - пока нет времени( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 42 14 ноября, 2013 Опубликовано 14 ноября, 2013 · Жалоба Итого: "из коробки" у меня не заработало. Отбросил SB18 (перемычка на плате) и подал на плату внешний клок ~7.46МГц. После этого флешка начала определятся и заработали примеры роликов. Сделать свой ролик, та еще работенка - нужен спец конвертер, с преобразованием видео к 320х240@15fps (в итоге сделал, но тормозит). Из исходников проект не собирал - пока нет времени( Я про это уже писала: Ларчик просто открывался - для нормальной работы USB_OTG годятся только частоты, кратные 24 МГц, например: 168 или 192. А 180 МГц на 24 нацело не делится. Исправьте в проекте множитель частоты, переключив плату с 180 МГц на 168 МГц и все наладится. Ибо тогда такое переключение будет эквивалентно уменьшению частоты кварца на том же множителе до: 8*168/180=7.466..., что вы и доказали экспериментально. "Пересобирание проекта" ничего вам не даст. А замена кварца вместо замены множителя, мне кажется крывым путем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 14 ноября, 2013 Опубликовано 14 ноября, 2013 · Жалоба Я про это уже писала: Исправьте в проекте множитель частоты, переключив плату с 180 МГц на 168 МГц и все наладится. Ибо тогда такое переключение будет эквивалентно уменьшению частоты кварца на том же множителе до: 8*168/180=7.466..., что вы и доказали экспериментально. "Пересобирание проекта" ничего вам не даст. А замена кварца вместо замены множителя, мне кажется крывым путем. Может я не корректно выразился, но для меня "исправьте в проекте множитель" и "пересобирание проекта (разумеется с поправлеными честотами)" вещи эквивалентные. Встречный вопрос: а могли бы Вы выложить hex или bin с поправленным множителем (до 168МГц)? У многих бы вопросы сразу отпали)) PS. Ваш пост читал и полностью с ним согласен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 42 14 ноября, 2013 Опубликовано 14 ноября, 2013 · Жалоба Может я не корректно выразился, но для меня "исправьте в проекте множитель" и "пересобирание проекта (разумеется с поправлеными честотами)" вещи эквивалентные. Встречный вопрос: а могли бы Вы выложить hex или bin с поправленным множителем (до 168МГц)? У многих бы вопросы сразу отпали)). В файле system_stm32f4xx.c переправьте константу PLL_N с 360 на 336, после чего рабочая частота уменьшится со 180 МГц до 168 МГц. Это всё, что надо сделать! А частота USB уменьшится сама, т.к. она производная от рабочей частоты, и там коэффицент деления установлен правильно. P.S. Если за фразой "пересобирание проекта" вы понимаете необходимость перекомпиляции проекта, то тогда верно - перекомпиляция здесь необходима, т.к. PLL_N не переменная (место которой можно было бы найти в бинарнике и переправить), а константа, с помощью которой вычисляются многие другие величины. P.P.S. EWARM 6.60 компилирует правильно, но глючит при отладке (для STM32F429), тогда как в последней версии 6.70 с этим, кажется, всё в порядке. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lagman 1 15 ноября, 2013 Опубликовано 15 ноября, 2013 · Жалоба Сегодня с матами-перематами запихнул три родных примера (графика) в Eclipse Kepler + ARM GCC 4.7.1 - 2013q3. Поправил несколько мелких ошибок в исходниках, ... Пытаюсь под windows7 наладить работу этой связки Eclipse Kepler + Eclipse CDT Extension for GNU ARM Toolchains + GNU Tools for ARM Embedded Processors Настраивал по http://gnuarmeclipse.livius.net/blog/install/ Простые примеры собираются без проблем, а вот пример для "stm32f4xx StdPeriph Lib 1.2 C Project" из темплейта CDT Extension for GNU ARM Toolchains не собирается. Вот такие сообщения вылезают: **** Incremental Build of configuration Debug for project test_f4 **** make all 'Building file: ../libs/StdPeriph/src/stm32f4xx_fsmc.c' 'Invoking: Cross ARM C Compiler' arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -Wall -g3 -DSTM32F429_439xx -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -DDEBUG -I"../include" -I"../libs/CMSIS/include" -I"../libs/StdPeriph/include" -I"../libs/misc/include" -MMD -MP -MF"libs/StdPeriph/src/stm32f4xx_fsmc.d" -MT"libs/StdPeriph/src/stm32f4xx_fsmc.d" -c -o "libs/StdPeriph/src/stm32f4xx_fsmc.o" "../libs/StdPeriph/src/stm32f4xx_fsmc.c" ../libs/StdPeriph/src/stm32f4xx_fsmc.c: In function 'FSMC_NORSRAMDeInit': ../libs/StdPeriph/src/stm32f4xx_fsmc.c:129:5: error: 'FSMC_Bank1' undeclared (first use in this function) ../libs/StdPeriph/src/stm32f4xx_fsmc.c:129:5: note: each undeclared identifier is reported only once for each function it appears in ../libs/StdPeriph/src/stm32f4xx_fsmc.c:137:3: error: 'FSMC_Bank1E' undeclared (first use in this function) ../libs/StdPeriph/src/stm32f4xx_fsmc.c: In function 'FSMC_NORSRAMInit': ../libs/StdPeriph/src/stm32f4xx_fsmc.c:173:3: error: 'FSMC_Bank1' undeclared (first use in this function) ../libs/StdPeriph/src/stm32f4xx_fsmc.c:210:5: error: 'FSMC_Bank1E' undeclared (first use in this function) ../libs/StdPeriph/src/stm32f4xx_fsmc.c: In function 'FSMC_NORSRAMCmd': ../libs/StdPeriph/src/stm32f4xx_fsmc.c:281:5: error: 'FSMC_Bank1' undeclared (first use in this function) ../libs/StdPeriph/src/stm32f4xx_fsmc.c: In function 'FSMC_NANDDeInit': ../libs/StdPeriph/src/stm32f4xx_fsmc.c:354:5: error: 'FSMC_Bank2' undeclared (first use in this function) ../libs/StdPeriph/src/stm32f4xx_fsmc.c:363:5: error: 'FSMC_Bank3' undeclared (first use in this function) ../libs/StdPeriph/src/stm32f4xx_fsmc.c: In function 'FSMC_NANDInit': ../libs/StdPeriph/src/stm32f4xx_fsmc.c:422:5: error: 'FSMC_Bank2' undeclared (first use in this function) ../libs/StdPeriph/src/stm32f4xx_fsmc.c:429:5: error: 'FSMC_Bank3' undeclared (first use in this function) ../libs/StdPeriph/src/stm32f4xx_fsmc.c: In function 'FSMC_NANDCmd': .........Еще много строк про FSMC_Bank .......... make: *** [libs/StdPeriph/src/stm32f4xx_fsmc.o] Ошибка 1 01:23:02 Build Finished (took 5s.921ms) Как это победить, вроде все FSMC_Bank объявлены в stm32f4xx.h который лежит в CMSIS\include. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 134 16 ноября, 2013 Опубликовано 16 ноября, 2013 · Жалоба вроде все FSMC_Bank объявлены в stm32f4xx.hА включен ли этот файл в исходник? Если включен, то не обрамлены ли эти определения каким-нибудь #ifdef не опеределенного в вашем проекте символа? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lagman 1 16 ноября, 2013 Опубликовано 16 ноября, 2013 · Жалоба А включен ли этот файл в исходник? Если включен, то не обрамлены ли эти определения каким-нибудь #ifdef не опеределенного в вашем проекте символа? Я тестовый проект создавал по этому описанию http://gnuarmeclipse.livius.net/blog/test-project/ Для "stm32f10x StdPeriph Lib 3.5 C Project" и "stm32f3xx StdPeriph Lib 1.0 C Project" сборка проекта происходит без ошибок, а для "stm32f4xx StdPeriph Lib 1.2 C Project" лезут ошибки как для stm32f401xx так и для stm32f429_439xx , я не думаю что они не проверяли на сборку тестовый проект. Но у меня чего то не хватает, а вот чего, найти не могу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aner 5 16 ноября, 2013 Опубликовано 16 ноября, 2013 · Жалоба Проверьте участки с адресацией к памяти и тп, различия в DMA, поскольку в 4xx все переколбасили. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sherr 0 16 ноября, 2013 Опубликовано 16 ноября, 2013 · Жалоба Я тестовый проект создавал по этому описанию http://gnuarmeclipse.livius.net/blog/test-project/ Для "stm32f10x StdPeriph Lib 3.5 C Project" и "stm32f3xx StdPeriph Lib 1.0 C Project" сборка проекта происходит без ошибок, а для "stm32f4xx StdPeriph Lib 1.2 C Project" лезут ошибки как для stm32f401xx так и для stm32f429_439xx , я не думаю что они не проверяли на сборку тестовый проект. Но у меня чего то не хватает, а вот чего, найти не могу. 1. я файл ,,,stm32f4xx_fsmc.c просто удалил из проекта до лучших времён... 2. Какой версией плагина пользуетесь - если последней 1,15 - то там вообще тихий ужас с вынесением стартапа в три С-файла, причем с ошибками, предпоследняя работает адекватнее, только надо перенести в проект папку STM32F429I-Discovery из софта идущего к данной плате, а для сборки более сложных проектов взять оттуда же .ld скрипт и поправить кое-что в .s файле ... Короче вот демопроект рисования на тачскрине, который собирается F429_ts.zip Eclipse Kepler SP1 + GnuARM toolchain - 4.7.1 -2013q3 (OS - Linux Debian 6 , но это не важно). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lagman 1 16 ноября, 2013 Опубликовано 16 ноября, 2013 · Жалоба 1. я файл ,,,stm32f4xx_fsmc.c просто удалил из проекта до лучших времён... 2. Какой версией плагина пользуетесь - если последней 1,15 - то там вообще тихий ужас с вынесением стартапа в три С-файла, причем с ошибками, предпоследняя работает адекватнее, только надо перенести в проект папку STM32F429I-Discovery из софта идущего к данной плате, а для сборки более сложных проектов взять оттуда же .ld скрипт и поправить кое-что в .s файле ... Короче вот демопроект рисования на тачскрине, который собирается F429_ts.zip Eclipse Kepler SP1 + GnuARM toolchain - 4.7.1 -2013q3 (OS - Linux Debian 6 , но это не важно). Ага, stm32f4xx_fsmc.c тоже убрал из проекта (посмотрел в IARe что он не участвует в сборке проекта). Но сейчас другая ошибка вылезла 'Building file: ../libs/CMSIS/src/vectors_stm32f4xx.c' 'Invoking: Cross ARM C Compiler' arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -Wall -g3 -DSTM32F429_439xx -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -DDEBUG -I"../include" -I"../libs/CMSIS/include" -I"../libs/StdPeriph/inc" -I"../libs/misc/include" -MMD -MP -MF"libs/CMSIS/src/vectors_stm32f4xx.d" -MT"libs/CMSIS/src/vectors_stm32f4xx.d" -c -o "libs/CMSIS/src/vectors_stm32f4xx.o" "../libs/CMSIS/src/vectors_stm32f4xx.c" ../libs/CMSIS/src/vectors_stm32f4xx.c:411:5: error: expected '}' before 'UART7_IRQHandler' make: *** [libs/CMSIS/src/vectors_stm32f4xx.o] Error 1 Спасибо за проект. Еще покопаюсь и если не получится попробую ваш проект. Использую последний eclipse + последняя версия плагина. P.S. Скомпилировал и прошил проект от sherr, все работает. Значит CMSIS (стартап файлы) из плагина для эклипса у меня неверно компилируются, попробую по старым рекомендациям. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sherr 0 16 ноября, 2013 Опубликовано 16 ноября, 2013 (изменено) · Жалоба Ага, stm32f4xx_fsmc.c тоже убрал из проекта (посмотрел в IARe что он не участвует в сборке проекта). Но сейчас другая ошибка вылезла 'Building file: ../libs/CMSIS/src/vectors_stm32f4xx.c' 'Invoking: Cross ARM C Compiler' arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -Wall -g3 -DSTM32F429_439xx -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -DDEBUG -I"../include" -I"../libs/CMSIS/include" -I"../libs/StdPeriph/inc" -I"../libs/misc/include" -MMD -MP -MF"libs/CMSIS/src/vectors_stm32f4xx.d" -MT"libs/CMSIS/src/vectors_stm32f4xx.d" -c -o "libs/CMSIS/src/vectors_stm32f4xx.o" "../libs/CMSIS/src/vectors_stm32f4xx.c" ../libs/CMSIS/src/vectors_stm32f4xx.c:411:5: error: expected '}' before 'UART7_IRQHandler' make: *** [libs/CMSIS/src/vectors_stm32f4xx.o] Error 1 В файле vectors_stm32f4xx.c генерируемого плагином не хватает кучи запятых, первая - там, где говорит компилятор, далее - по аналогии ,,, но даже когда вы это устраните, будет ругаться на неопределённый символ end в одном из .ld файлов, а в них я пока слаб :rolleyes: Проект с просмотром BMP c USB-flash вообще собрать под GCC не смог ( Кейл 4,73 собирает нормально) Поэтому присматриваюсь к немецкому проекту F429 - там всё попроще, и собрал пару примеров, взяв недостающие файлы из проекта, выложенного чуть выше ( в оригинале там под CooCox)F429_De19.zip показывает картинки из внутренней флеш и даже с jpeg - декодером на борту . Изменено 16 ноября, 2013 пользователем sherr Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться