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

Flexz

Свой
  • Постов

    252
  • Зарегистрирован

  • Посещение

Весь контент Flexz


  1. Судя по приведенному куску кода это C#, тогда BitConverter.ToSingle(mydata, 0);
  2. Cortex-M7

    Случайно набрел на сайте ST на новую чуду-юду Мануала пока не нашел, только даташит. Но и по нему уже выглядит интересно. Наконец-то 400МГц, целый мегабайт ОЗУ, по внутренним шинам и ДМА все капитально перетряхнули, аналоговую часть похоже от F3 взяли.
  3. Cortex-M7

    Сначала подумал, что "трудности перевода" потом посмотрел на фудзиллу, на которую ссылается oszone - так там та же лажа, 64 битный чип и двух-уровневый кеш. Ничего из этого в оригинальном пресс-релизе от ARM нет. Ядро 32-бита, 64-битная только шина (AXI), кеш одноуровневый, хотя и два - инструкций и данных. Там же кстати написано - 3 миллиарда чипов только за год! А тут какие-то 8 миллионов И где только журналюги берут исходные данные? сами выдумывают?
  4. Cortex-M7

    Пробовал. Двигателями и на AVR-ке можно управлять, а когда заказчик требует использовать отечественную элементную базу, так и вовсе не до жиру. И поясните, откуда рост производительности в три раза? M4 - 1.27 DMIPS/MHz, а M7 - 2.14. х1.7 в сухом остатке, даже х2 не выходит с учетом прироста частоты. С облаками не работаю, но раз ST SDRAM осилил, глядишь и до DDR дорастет. Так ли заметна разница DDR/SDR на практике? PS Откровенно говоря, мой скептицизм к новому ядру отчасти основан на "неинтересной" реализации его от ST, возможно, конкуренты сделают чипы повеселее.
  5. Cortex-M7

    Про скорость спорно, в каких-то приложениях может и уделает, но в целом скорее паритет будет. Причем i.MX только те, что на ARM9, старшие - уделовалка треснет. Софтпроцессоры это уже вы сами придумали, не знаю к чему. По-вашему это все это сейчас недоступно для чипов на Cortex-M4? То что вы описали это уже не грабли, это... в общем за такое убить мало :)
  6. Cortex-M7

    Tightly coupled memory. Блок памяти подключенный напрямую к ядру, минуя шины. Данные обычно доступны за 1 такт.
  7. Cortex-M7

    Посмотрел по-диагонали даташит на stm32f7, ничего особенного - старый проц на новом ядре. Из заметных изменений только QuadSPI, много оперативки и более совершенная организация шины. Мои любимые грабли (разместить данные в TCM, забыть об этом и натравить на них DMA) больше не будут бить по лбу :) В остальном от 42х/43х отличий минимум. DMA контроллер такой же печальный, FIFO на UARTе не появилось. Может хоть баги из ерраты поправят. По новому ядру.. если честно не очень понимаю зачем оно, узковатую нишу рисует воображение. Когда не хватает производительности M4, скорее всего нужен слон - DSP, А-серия, ПЛИС.
  8. Ничего подобного. GPIO_PinSource это число соответствующее номеру пина напрямую, т.е. GPIO_PinSource11 это 0xB, а не 0x800. См дефайны в stm32f2xx_gpio.h #define GPIO_PinSource0 ((uint8_t)0x00) #define GPIO_PinSource1 ((uint8_t)0x01) #define GPIO_PinSource2 ((uint8_t)0x02) #define GPIO_PinSource3 ((uint8_t)0x03) и т.д. Ненадо додумывать, что принимают те или иные функции у ST. Смотрите в примерах, как ими пользоваться. Благо примеров в достатке. PS между прочим, значения допустимые для параметра, о котором идет речь - описаны в коментарии прямо надо кодом, который вы привели.
  9. 12 тактов (на аппаратное восстановление регистров из стека) будет если нет запроса прерывания. А если новый запрос есть, или старый не успел сбросится - сработает правило Interrupt tail chaining и процессор сразу пойдет на исполнение запроса. Что бы не было повторной обработки прерывания используют барьеры - __DSB();
  10. У вас DMA2 еще что-то делает, помимо обслуживания камеры? В errata описана проблема при одновременной работы DMA2 с AHB и APB периферией.
  11. Из личного опыта, при тех же 3.3В 168Мгц процессор успешно работает на 3WS, на неделю, конечно, не оставлял, но несколько часов - вполне держит. Так же все процессоры, которые пробовал - разгонялись до 250МГц при 7WS, отдельные экземпляры гнались и выше. Так что параметры задержек в доках даны с запасом. Хотя помониторить питание, конечно, стоит. Если дело действительно в просадке питания, то не забываем, что в ОЗУ нужно располагать не только сами вектора, но и всю таблицу прерываний.
  12. Из даташита Т.е. если использовать второй USB в FS режиме, то можно обойтись без внешней физики.
  13. Ну вы же с какой-то целью функцию в ОЗУ разместили? Вот компилятор и предупреждает, что не вся она будет из ОЗУ выполняться. Опасно может быть например тем, что некоторые процессоры выполняют бутлоадер исключительно из ОЗУ (т.е. во время обновления прошивки код из флеш вообще не может исполняться).
  14. Согласно табличке Table 35. DMA1 request mapping в RM: UART2_TX это стрим 6, канал 4, а UART3_TX это стрим 3 канал 4. А у вас каналы/стримы какие-то левые.
  15. STM32 USB Device example

    А так можно? Получится 5 вольт на DP же. А по спекам там ЕМНИП 3.6 максимум допустимо.
  16. Нет, блок вычисления CRC есть, но полином там Ethernet-овский фиксирован. В линейке F3 можно задать размерность полинома (8-16-32).
  17. Учитывайте что у флешки в этих МК широкая шина и за один цикл обращения считывается ЕМНИП 128 бит, применительно к F103. Поэтому простой линейный код не страдает от расположения во фшелке. А вот с ветвящимся не так однозначно, с одной стороны при ветвлениях будет возникать задержка по обращению к флешу (если код во флешке), а с другой - ветвящийся код обычно активно работает с данными, поэтому задержка будет возникать и на шине данных (если код в озу), а если с оперативкой еще и DMA контроллер работает - будет только хуже. Так что пишите код во флешку и не заморачивайтесь.
  18. А какая кейлу разница? Функция есть и с APB1 и с APB2, передаете вы ей int, все честно. Для контроля аргументов есть C++ и enum.
  19. Поигрался сейчас еще с тулзой, так вот - считает она вроде бы верно. При 8МГц кварце получил такие параметры *----------------------------------------------------------------------------- * System Clock source | PLL (HSE) *----------------------------------------------------------------------------- * SYSCLK(Hz) | 168000000 *----------------------------------------------------------------------------- * HCLK(Hz) | 168000000 *----------------------------------------------------------------------------- * AHB Prescaler | 1 *----------------------------------------------------------------------------- * APB1 Prescaler | 4 *----------------------------------------------------------------------------- * APB2 Prescaler | 2 *----------------------------------------------------------------------------- * HSE Frequency(Hz) | 8000000 *----------------------------------------------------------------------------- * PLL_M | 8 *----------------------------------------------------------------------------- * PLL_N | 336 *----------------------------------------------------------------------------- * PLL_P | 2 *----------------------------------------------------------------------------- * PLL_Q | 7 *----------------------------------------------------------------------------- * PLLI2S_N | 271 *----------------------------------------------------------------------------- * PLLI2S_R | 6 *----------------------------------------------------------------------------- * I2S input clock(Hz) | 45000000 * | * To achieve the following I2S config: | * - Master clock output (MCKO): ON | * - Frame wide : 16bit | * - Audio sampling freq (KHz) : 44,1 | * - Error % : 0,0000 | * - Prescaler Odd factor (ODD): 0 | * - Linear prescaler (DIV) : 2 | *----------------------------------------------------------------------------- Так вот, если посмотреть внимательно на окно экселя и вывод в файл - видим что в файое I2S input clock(Hz) 45000000, однако в экселе - 45.1667МГц, да и если просто посчитать - 1Мгц * 271 / 6 = 45166666Гц и 45166666Гц/ (256 * 4) = 44108Гц, что довольно близко к искомым 44100.
  20. А вы пользовались Clock configuration tool для подбора частоты I2S? Самому со звуком поработать не довелось, но вот в тулзе сейчас легко получил 44.1кГц с ошибкой 0.0011%
  21. А как вы определяете, что не весь массив заполнен? Если через отладтчик, то может это косяк отладчика?
  22. Я же сказал в билиотеке, а не демке которая идет с платой. Примеров там 4, из них 3 примера чисто хост на разные классы, и 1 пример хост-девайс.
  23. Курите примеры из библиотеки, они проще. Качественная документация - не конек ST.
  24. То получится тоже самое :) Если регистры фиксированы, и задаются только на ресете - при синтезе они заменятся на комбинаторику.
×
×
  • Создать...