Перейти к содержанию
    

Вот и пришла ко мне сегодня эта платка :)

И сразу же возник вопрос - с внешней USB Mass Storage в изначально залитом демонстрационном приложении девайс не должен работать? Пока еще только-только начинаю вникать, но вот что-то уже в плане работы USB Host меня засмущал кварц 8 Мгц (разве USB Host на ней должен работать?). Ну и естест-но вопрос и задаю потому, что плеер в этой демо вместе с просмоторщиком картинок не видит флэшку (да и сама флешка не моргает).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот и пришла ко мне сегодня эта платка :)

И сразу же возник вопрос - с внешней USB Mass Storage в изначально залитом демонстрационном приложении девайс не должен работать? Пока еще только-только начинаю вникать, но вот что-то уже в плане работы USB Host меня засмущал кварц 8 Мгц (разве USB Host на ней должен работать?). Ну и естест-но вопрос и задаю потому, что плеер в этой демо вместе с просмоторщиком картинок не видит флэшку (да и сама флешка не моргает).

Вы, видимо, не всю ветку читали.

В сообщении 83, 85 я про это уже писал))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

adnega, нет, ветку-то прочитал и даже сообщения эти видел. Но так и не понял из этих сообщений, это у всех так должно быть? Что нужно сделать, кварц заменить? Извиняюсь за дилетантизм в своих вопросах, просто STM32 в глаза сегодня впервые увидел. А попробовать USB Mass Storage уже "руки чешутся"... :)
Изменено пользователем kernel

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

adnega, нет, ветку-то прочитал и даже сообщения эти видел. Но так и не понял из этих сообщений, это у всех так должно быть? Что нужно сделать, кварц заменить? Извиняюсь за дилетантизм в своих вопросах, просто STM32 в глаза сегодня впервые увидел. А попробовать USB Mass Storage уже "руки чешутся"... :)

Итого: "из коробки" у меня не заработало. Отбросил SB18 (перемычка на плате) и подал на плату внешний клок ~7.46МГц. После этого флешка

начала определятся и заработали примеры роликов. Сделать свой ролик, та еще работенка - нужен спец конвертер, с преобразованием видео к

320х240@15fps (в итоге сделал, но тормозит). Из исходников проект не собирал - пока нет времени(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Итого: "из коробки" у меня не заработало. Отбросил SB18 (перемычка на плате) и подал на плату внешний клок ~7.46МГц. После этого флешка

начала определятся и заработали примеры роликов. Сделать свой ролик, та еще работенка - нужен спец конвертер, с преобразованием видео к

320х240@15fps (в итоге сделал, но тормозит). Из исходников проект не собирал - пока нет времени(

Я про это уже писала:

Ларчик просто открывался - для нормальной работы USB_OTG годятся только частоты, кратные 24 МГц, например: 168 или 192. А 180 МГц на 24 нацело не делится.

Исправьте в проекте множитель частоты, переключив плату с 180 МГц на 168 МГц и все наладится.

Ибо тогда такое переключение будет эквивалентно уменьшению частоты кварца на том же множителе до:

8*168/180=7.466...,

что вы и доказали экспериментально.

"Пересобирание проекта" ничего вам не даст. А замена кварца вместо замены множителя, мне кажется крывым путем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я про это уже писала:

 

Исправьте в проекте множитель частоты, переключив плату с 180 МГц на 168 МГц и все наладится.

Ибо тогда такое переключение будет эквивалентно уменьшению частоты кварца на том же множителе до:

8*168/180=7.466...,

что вы и доказали экспериментально.

"Пересобирание проекта" ничего вам не даст. А замена кварца вместо замены множителя, мне кажется крывым путем.

Может я не корректно выразился, но для меня "исправьте в проекте множитель" и "пересобирание проекта (разумеется с поправлеными честотами)"

вещи эквивалентные. Встречный вопрос: а могли бы Вы выложить hex или bin с поправленным множителем (до 168МГц)? У многих бы вопросы сразу отпали))

PS. Ваш пост читал и полностью с ним согласен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может я не корректно выразился, но для меня "исправьте в проекте множитель" и "пересобирание проекта (разумеется с поправлеными честотами)"

вещи эквивалентные. Встречный вопрос: а могли бы Вы выложить 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 с этим, кажется, всё в порядке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сегодня с матами-перематами запихнул три родных примера (графика) в 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.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вроде все FSMC_Bank объявлены в stm32f4xx.h
А включен ли этот файл в исходник? Если включен, то не обрамлены ли эти определения каким-нибудь #ifdef не опеределенного в вашем проекте символа?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А включен ли этот файл в исходник? Если включен, то не обрамлены ли эти определения каким-нибудь #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 , я не думаю что они не проверяли на сборку тестовый проект. Но у меня чего то не хватает, а вот чего, найти не могу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проверьте участки с адресацией к памяти и тп, различия в DMA, поскольку в 4xx все переколбасили.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я тестовый проект создавал по этому описанию 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 , но это не важно).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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 (стартап файлы) из плагина для эклипса у меня неверно компилируются, попробую по старым рекомендациям.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ага, 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 - декодером на борту .

Изменено пользователем sherr

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...