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

Flexz

Свой
  • Постов

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

  • Посещение

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


  1. Готовых функций такого типа, насколько я знаю, нету. Если решение "в лоб" - пройти по строке и скопировать в другую только нужные символы - не устраивает, копайте регулярные выражения (Regex.Replace).
  2. Ну тогда уж наоборот - обращался и находил, но не ту которую вы ожидали (ваша обработка прерываний, видимо, в другом файле, так?). Сдается мне, что кто-то игнорирует ворнинги :)
  3. DfuSe на 217 не испытывал, нужды не было пока. Но во-первых у f2xx и f105/f107 одинаковый модуль USB OTG FS (сам использую библиотеки от connectivity line для F217) а во-вторых описание DFU общее на всех. Так что не вижу препятствий.
  4. DfuSe USB Device Firmware Upgrade STMicroelectronics Extension: Contains the Demo GUI, Debugging GUI, all sources files and the protocol layer
  5. Так работает же :) У меня платка от стартеркита, там идут семплы. Так вот я тоже удивился, когда увидел, что для USB используются сорсы из либы 10х серии. Дифф не делал, но "на глаз" правок не заметил. Пнул - завелось сразу, больше особо не разбирался - времени нету пока. И когда сравнил описание USB OTG FS для 105/7 и 2хх - на лицо обнаружился явных копипаст, как впрочем и в половине других разделов. А вот USB-HS в 2хх действительно свой. Возможно допиливают и хотят выложить все сразу.
  6. Примеры для USB HS? Просто USB FS в этих процах ровно такой же как и в 105/107. А по поводу примеров - на их форуме модераторы говорили, что если оччень хочется получить либы раньше релиза - обращайтесь к региональным представителям. Так что ничего удивительного если в кейле они нарисуются раньше, чем на сайте ST.
  7. В каком порядке ST нумерует ревизии чипов? У меня stm32f217 rev Z, а в доках фигурирует только Y, кто из них новее?
  8. Это ерата на 101C/D/E и 103C/D/E ревижн Z, старая правда - 2009 год. Посмотрел свою функцию стирания - почти тоже самое, только включение режима стирания делается так FLASH->CR |= CR_PER_Set; соответственно, после опускания бита Busy стоит FLASH->CR &= ~CR_PER_Set; Помню похожие грабли, но вроде бы они решились втыканием нопов.
  9. Из errat-ы про flash "Read the BSY bit at least one cycle after setting the STRT bit."
  10. Решение "в лоб" - использовать две разные фатовские библиотеки. Только самому что-то не очень нравится...
  11. Предпочитаю дату компиляции, более наглядно получается. Если без SVN, то make перед компиляцией вызывает скрипт, который пишет в файл, например, date.h текущую дату, которую потом можно показать пользователю или считать как-то. Если с SVN то см. svn:keywords. Про git не знаю, не довелось поюзать пока.
  12. Зачем IWDG? используйте для таймаутов любой обычный таймер - TIMx. А собаке оставьте собачью работу - сбрасывать процессор, если всё повисло.
  13. STM32F2

    В даташите специальный раздел есть - 2.1 Full compatibility throughout the family. Там и указано как предусмотреть взаимозаменяемость F1 и F2, правда, предполагаю наличие баги либо в этом разделе либо в распиновке. Смотрим на корпус LQFP144, пин 30: для F103 там Vss, а для F205 - Vdd_12. А в разделе про совместимость можно понять что подключай куда хочешь... PS С процессором не работал, только в планах.
  14. А обязательно по PCLK синхронизироваться каждый раз? он же стабильный и кратный частоте проца. Достаточно один раз поймать фронт HSYNC и молотить данные с порта пока они не кончатся, что-то вроде: while(hsync) { *d++=v; } Ну и естественно, нопами добить частоту чтения то частоты выдачи.
  15. А вам точно ПЛИС нужна? Может лучше на процессоры посмотреть вот навскидку. Но если все-таки ПЛИС, то видимо сюда RTAX-DSP RT ProASIC3 существуют но пока только в CGA корпусах, CQFP обещали к осени. Со стойкими проАсиками вообще забавно - у них в результатах испытаний приведены комерческие(!) плисы, т.е. обычные A3P в пластиковых корпусах. Кстати, время от запроса до получения рад-стойких компонетов (включая подачу запроса/получение разрешения) занимает порядка полугода, а то и больше, если "повезет".
  16. Давненько я и IAR в руки не брал, но вот и гугл подсказывает, что ваша проблема решается так #define RAMFUNC __ramfunc а вообще, ваш исходник писался под GCC судя по __attribute__
  17. ммм, а в чем проблема ручками считать? адрес есть, все 96 бит без дырок расположены, особых требований к чтению не предъявляется. Сейчас специально проверил - побайтно считывается нормально. Кстати, 2 регистра по 16 бит и 2 по 32, интересно есть ли в этом некий тайный смысл?)
  18. в Reference Manual - 28.2 Unique device ID register (96 bits) The 96-bit unique device identifier provides a reference number which is unique for any device and in any context. Кстати, а что это у вас CPUID делает в контроллере прерываний? :blink: upd: вы похоже смотрите ARMовскую документацию, а нуже STшный RM, тут например http://www.st.com/mcu/devicedocs-STM32F103RE-110.html
  19. STM32F103x

    Читайте даташит, про датчик температуры англицким по белому написано - не предназначен он для измерения температуры, а только для измерения колебаний:
  20. Если я ничего не напутал, когда зондировал инфу про этот проц, то полная версия отличается только возможностью получения обновлений и неких "дополнительных патчей". В плане лицензий разницы нет. Вообще на официальном форуме можно найти много интересного.
  21. Если в билдере этой либы нету, то имхо самое простое - сделать маленькую dll-ку в вижуале и дергать её. Что до железа - часто ограничиваются VolumeID системного диска, но его подделать можно.
  22. Там же, в root\CIMV2 есть класс Win32_ComputerSystemProduct из него можно надергать некоторые номера, в частности модель и вендора материнки. Еще есть класс Win32_PnPSignedDriver через него можно просмотреть все установленное железо, почти как в диспетчере устройств. Вообще я немного затрудняюсь с понятием "ID материнки" :) у них конечно есть заводские серийные номера, но не знаю - есть стандартный способ его получить.
  23. На С++ пример есть тут. На вскидку - для получения ProcessorID нужно будет в строчке "bstr_t("SELECT * FROM Win32_OperatingSystem")," Win32_OperatingSystem заменить на Win32_Processor, а в строчке "hr = pclsObj->Get(L"Name", 0, &vtProp, 0, 0);" заменить Name на ProcessorId. Если билдер об хидеры или либу не споткнется - должен схавать. На C# где-то в недрах мелкософта есть генерилка кода "WMI Code Creator" (кстати, полезно пощупать даже если шарпа не знаете, хотя бы что бы посмотреть что можно накопать через WMI), получается как-то так... using System; using System.Management; using System.Windows.Forms; namespace WMISample { public class MyWMIQuery { public static void Main() { try { ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_Processor"); foreach (ManagementObject queryObj in searcher.Get()) { Console.WriteLine("ProcessorId: {0}", queryObj["ProcessorId"]); } } catch (ManagementException e) { MessageBox.Show("An error occurred while querying for WMI data: " + e.Message); } } } }
  24. через WMI root\CIMV2\Win32_Processor\ProcessorId http://msdn2.microsoft.com/library/default...2_Processor.asp
  25. FreeRTOS просто, видимо, разные люди пишут :) У Страуструпа, кстати, там где int - постинкремент, а там где итератор - прединкремент
×
×
  • Создать...