![](https://electronix.ru/forum/uploads/set_resources_23/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
![](https://electronix.ru/forum/uploads/set_resources_23/84c1e40ea0e759e3f1505eb1788ddf3c_default_photo.png)
Flexz
-
Постов
252 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные Flexz
-
-
Опубликовано · Изменено пользователем Flexz · Пожаловаться
Готовых функций такого типа, насколько я знаю, нету.
Если решение "в лоб" - пройти по строке и скопировать в другую только нужные символы - не устраивает, копайте регулярные выражения (Regex.Replace).
-
Ну тогда уж наоборот - обращался и находил, но не ту которую вы ожидали (ваша обработка прерываний, видимо, в другом файле, так?). Сдается мне, что кто-то игнорирует ворнинги :)
-
DfuSe на 217 не испытывал, нужды не было пока. Но во-первых у f2xx и f105/f107 одинаковый модуль USB OTG FS (сам использую библиотеки от connectivity line для F217) а во-вторых описание DFU общее на всех. Так что не вижу препятствий.
-
-
Так работает же :) У меня платка от стартеркита, там идут семплы. Так вот я тоже удивился, когда увидел, что для USB используются сорсы из либы 10х серии. Дифф не делал, но "на глаз" правок не заметил. Пнул - завелось сразу, больше особо не разбирался - времени нету пока. И когда сравнил описание USB OTG FS для 105/7 и 2хх - на лицо обнаружился явных копипаст, как впрочем и в половине других разделов.
А вот USB-HS в 2хх действительно свой. Возможно допиливают и хотят выложить все сразу.
-
Примеры для USB HS? Просто USB FS в этих процах ровно такой же как и в 105/107.
А по поводу примеров - на их форуме модераторы говорили, что если оччень хочется получить либы раньше релиза - обращайтесь к региональным представителям. Так что ничего удивительного если в кейле они нарисуются раньше, чем на сайте ST.
-
В каком порядке ST нумерует ревизии чипов?
У меня stm32f217 rev Z, а в доках фигурирует только Y, кто из них новее?
-
Это ерата на 101C/D/E и 103C/D/E ревижн Z, старая правда - 2009 год.
Посмотрел свою функцию стирания - почти тоже самое, только включение режима стирания делается так
FLASH->CR |= CR_PER_Set;
соответственно, после опускания бита Busy стоит
FLASH->CR &= ~CR_PER_Set;
Помню похожие грабли, но вроде бы они решились втыканием нопов.
-
Из errat-ы про flash
"Read the BSY bit at least one cycle after setting the STRT bit."
-
Решение "в лоб" - использовать две разные фатовские библиотеки. Только самому что-то не очень нравится...
-
Предпочитаю дату компиляции, более наглядно получается. Если без SVN, то make перед компиляцией вызывает скрипт, который пишет в файл, например, date.h текущую дату, которую потом можно показать пользователю или считать как-то.
Если с SVN то см. svn:keywords. Про git не знаю, не довелось поюзать пока.
-
Зачем IWDG? используйте для таймаутов любой обычный таймер - TIMx. А собаке оставьте собачью работу - сбрасывать процессор, если всё повисло.
-
В даташите специальный раздел есть - 2.1 Full compatibility throughout the family. Там и указано как предусмотреть взаимозаменяемость F1 и F2, правда, предполагаю наличие баги либо в этом разделе либо в распиновке. Смотрим на корпус LQFP144, пин 30: для F103 там Vss, а для F205 - Vdd_12. А в разделе про совместимость можно понять что подключай куда хочешь...
PS С процессором не работал, только в планах.
-
А обязательно по PCLK синхронизироваться каждый раз? он же стабильный и кратный частоте проца.
Достаточно один раз поймать фронт HSYNC и молотить данные с порта пока они не кончатся, что-то вроде:
while(hsync) { *d++=v; }
Ну и естественно, нопами добить частоту чтения то частоты выдачи.
-
оценочно - минимум 40МИПС/40МФЛОПС
А вам точно ПЛИС нужна? Может лучше на процессоры посмотреть вот навскидку.
Но если все-таки ПЛИС, то видимо сюда RTAX-DSP
RT ProASIC3 существуют но пока только в CGA корпусах, CQFP обещали к осени. Со стойкими проАсиками вообще забавно - у них в результатах испытаний приведены комерческие(!) плисы, т.е. обычные A3P в пластиковых корпусах.
Кстати, время от запроса до получения рад-стойких компонетов (включая подачу запроса/получение разрешения) занимает порядка полугода, а то и больше, если "повезет".
-
Давненько я и IAR в руки не брал, но вот и гугл подсказывает, что ваша проблема решается так
#define RAMFUNC __ramfunc
а вообще, ваш исходник писался под GCC судя по __attribute__
-
ммм, а в чем проблема ручками считать? адрес есть, все 96 бит без дырок расположены, особых требований к чтению не предъявляется.
Сейчас специально проверил - побайтно считывается нормально.
Кстати, 2 регистра по 16 бит и 2 по 32, интересно есть ли в этом некий тайный смысл?)
-
Опубликовано · Изменено пользователем Flexz · Пожаловаться
в 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
-
Читайте даташит, про датчик температуры англицким по белому написано - не предназначен он для измерения температуры, а только для измерения колебаний:
The internal temperature sensor is more suited to applications that detect temperaturevariations instead of absolute temperatures. If accurate temperature readings are needed,
an external temperature sensor part should be used.
-
Если я ничего не напутал, когда зондировал инфу про этот проц, то полная версия отличается только возможностью получения обновлений и неких "дополнительных патчей". В плане лицензий разницы нет.
Вообще на официальном форуме можно найти много интересного.
-
Если в билдере этой либы нету, то имхо самое простое - сделать маленькую dll-ку в вижуале и дергать её.
Что до железа - часто ограничиваются VolumeID системного диска, но его подделать можно.
-
Там же, в root\CIMV2 есть класс Win32_ComputerSystemProduct из него можно надергать некоторые номера, в частности модель и вендора материнки. Еще есть класс Win32_PnPSignedDriver через него можно просмотреть все установленное железо, почти как в диспетчере устройств. Вообще я немного затрудняюсь с понятием "ID материнки" :) у них конечно есть заводские серийные номера, но не знаю - есть стандартный способ его получить.
-
На С++ пример есть тут. На вскидку - для получения 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); } } } }
-
через WMI
root\CIMV2\Win32_Processor\ProcessorId
http://msdn2.microsoft.com/library/default...2_Processor.asp
Вопросы по Eclipse, CDT, Zylin embedded CDT
в GNU/OpenSource средства разработки
Опубликовано · Пожаловаться
Аналогично, серьезных проблем не обнаружил, работаю без дебага. Разве что Code Analysis сносит башню от плюсового кода с активным использованием шаблонов и он заливает весь код ошибками.
Коллега настраивал отладку с gdb - были какие-то сложности, т.к. настройка отличалась от предыдущих версий, но я не сильно вникал, да и вроде бы все разрешилось в итоге.