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

Flexz

Свой
  • Постов

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

  • Посещение

Сообщения, опубликованные Flexz


  1. Аналогично, серьезных проблем не обнаружил, работаю без дебага. Разве что Code Analysis сносит башню от плюсового кода с активным использованием шаблонов и он заливает весь код ошибками.

    Коллега настраивал отладку с gdb - были какие-то сложности, т.к. настройка отличалась от предыдущих версий, но я не сильно вникал, да и вроде бы все разрешилось в итоге.

  2. Готовых функций такого типа, насколько я знаю, нету.

    Если решение "в лоб" - пройти по строке и скопировать в другую только нужные символы - не устраивает, копайте регулярные выражения (Regex.Replace).

  3. DfuSe на 217 не испытывал, нужды не было пока. Но во-первых у f2xx и f105/f107 одинаковый модуль USB OTG FS (сам использую библиотеки от connectivity line для F217) а во-вторых описание DFU общее на всех. Так что не вижу препятствий.

  4. Так работает же :) У меня платка от стартеркита, там идут семплы. Так вот я тоже удивился, когда увидел, что для USB используются сорсы из либы 10х серии. Дифф не делал, но "на глаз" правок не заметил. Пнул - завелось сразу, больше особо не разбирался - времени нету пока. И когда сравнил описание USB OTG FS для 105/7 и 2хх - на лицо обнаружился явных копипаст, как впрочем и в половине других разделов.

     

    А вот USB-HS в 2хх действительно свой. Возможно допиливают и хотят выложить все сразу.

  5. Примеры для USB HS? Просто USB FS в этих процах ровно такой же как и в 105/107.

     

    А по поводу примеров - на их форуме модераторы говорили, что если оччень хочется получить либы раньше релиза - обращайтесь к региональным представителям. Так что ничего удивительного если в кейле они нарисуются раньше, чем на сайте ST.

  6. Это ерата на 101C/D/E и 103C/D/E ревижн Z, старая правда - 2009 год.

    Посмотрел свою функцию стирания - почти тоже самое, только включение режима стирания делается так

    FLASH->CR |= CR_PER_Set;

    соответственно, после опускания бита Busy стоит

    FLASH->CR &= ~CR_PER_Set;

     

    Помню похожие грабли, но вроде бы они решились втыканием нопов.

  7. Предпочитаю дату компиляции, более наглядно получается. Если без SVN, то make перед компиляцией вызывает скрипт, который пишет в файл, например, date.h текущую дату, которую потом можно показать пользователю или считать как-то.

    Если с SVN то см. svn:keywords. Про git не знаю, не довелось поюзать пока.

     

  8. В даташите специальный раздел есть - 2.1 Full compatibility throughout the family. Там и указано как предусмотреть взаимозаменяемость F1 и F2, правда, предполагаю наличие баги либо в этом разделе либо в распиновке. Смотрим на корпус LQFP144, пин 30: для F103 там Vss, а для F205 - Vdd_12. А в разделе про совместимость можно понять что подключай куда хочешь...

    PS С процессором не работал, только в планах.

  9. А обязательно по PCLK синхронизироваться каждый раз? он же стабильный и кратный частоте проца.

    Достаточно один раз поймать фронт HSYNC и молотить данные с порта пока они не кончатся, что-то вроде:

    while(hsync)
    {
    *d++=v;
    }

    Ну и естественно, нопами добить частоту чтения то частоты выдачи.

  10. оценочно - минимум 40МИПС/40МФЛОПС

    А вам точно ПЛИС нужна? Может лучше на процессоры посмотреть вот навскидку.

    Но если все-таки ПЛИС, то видимо сюда RTAX-DSP

    RT ProASIC3 существуют но пока только в CGA корпусах, CQFP обещали к осени. Со стойкими проАсиками вообще забавно - у них в результатах испытаний приведены комерческие(!) плисы, т.е. обычные A3P в пластиковых корпусах.

     

    Кстати, время от запроса до получения рад-стойких компонетов (включая подачу запроса/получение разрешения) занимает порядка полугода, а то и больше, если "повезет".

  11. ммм, а в чем проблема ручками считать? адрес есть, все 96 бит без дырок расположены, особых требований к чтению не предъявляется.

    Сейчас специально проверил - побайтно считывается нормально.

    Кстати, 2 регистра по 16 бит и 2 по 32, интересно есть ли в этом некий тайный смысл?)

  12. в 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

  13. Читайте даташит, про датчик температуры англицким по белому написано - не предназначен он для измерения температуры, а только для измерения колебаний:

    The internal temperature sensor is more suited to applications that detect temperature

    variations instead of absolute temperatures. If accurate temperature readings are needed,

    an external temperature sensor part should be used.

  14. Если я ничего не напутал, когда зондировал инфу про этот проц, то полная версия отличается только возможностью получения обновлений и неких "дополнительных патчей". В плане лицензий разницы нет.

    Вообще на официальном форуме можно найти много интересного.

  15. Если в билдере этой либы нету, то имхо самое простое - сделать маленькую dll-ку в вижуале и дергать её.

    Что до железа - часто ограничиваются VolumeID системного диска, но его подделать можно.

  16. Там же, в root\CIMV2 есть класс Win32_ComputerSystemProduct из него можно надергать некоторые номера, в частности модель и вендора материнки. Еще есть класс Win32_PnPSignedDriver через него можно просмотреть все установленное железо, почти как в диспетчере устройств. Вообще я немного затрудняюсь с понятием "ID материнки" :) у них конечно есть заводские серийные номера, но не знаю - есть стандартный способ его получить.

  17. На С++ пример есть тут. На вскидку - для получения 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);
                }
            }
        }
    }

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