ashr 0 26 мая, 2009 Опубликовано 26 мая, 2009 · Жалоба я прально понимаю что прерывание tx complite используете для передергивания выводом порта 485-микруху в режим приема для отпускания шины? Если так то не сильно криминально. Да, правильно. Про ложку дегтя я написал только потому, что USART у STM'a поддерживает кучу режимов, а RS-485 нет. Как-будто его забыли. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
asen 0 26 мая, 2009 Опубликовано 26 мая, 2009 · Жалоба А что конкретно не порадовало в 16 битных таймерах ?? меня интересует больше PWM приложения ???? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 26 мая, 2009 Опубликовано 26 мая, 2009 · Жалоба А что конкретно не порадовало в 16 битных таймерах ?? меня интересует больше PWM приложения ???? ну че трудно было счетчик 32 бита сделать... хочу интебалы побольше считать с разрешением получше Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 28 мая, 2009 Опубликовано 28 мая, 2009 · Жалоба сериальный отладочный интерфейсс SWJ-DP ктонить пробывал это для отладки. всего два провода - выглядит удобно. что нада для того чтоб ЭТО работо? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 1 28 мая, 2009 Опубликовано 28 мая, 2009 · Жалоба сериальный отладочный интерфейсс SWJ-DP ктонить пробывал это для отладки. всего два провода - выглядит удобно. что нада для того чтоб ЭТО работо? Я пробовал, подцеплял к OpenOCD свою железку ( на FT232R) Удобно. По большому счету это всего лишь другой физический уровень. У codesourcery есть GdbServer который по SWD работатет через FT2232C Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 29 мая, 2009 Опубликовано 29 мая, 2009 · Жалоба Я пробовал, подцеплял к OpenOCD свою железку ( на FT232R) Удобно. По большому счету это всего лишь другой физический уровень. У codesourcery есть GdbServer который по SWD работатет через FT2232C интересненько.. значит OpenOCD умеет это делать. поидее GDB не знает как физически это происходит и он я думаю тут нипричем. Видимо OpenOCD можно както сказать о том чтоб использоать не 5 проводов JTAG а 2 SWD. Буду пытаться... с самим контроллером что нада сделать чтоб SWD заработало? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 1 29 мая, 2009 Опубликовано 29 мая, 2009 · Жалоба интересненько.. значит OpenOCD умеет это делать. поидее GDB не знает как физически это происходит и он я думаю тут нипричем. Видимо OpenOCD можно както сказать о том чтоб использоать не 5 проводов JTAG а 2 SWD. Буду пытаться... с самим контроллером что нада сделать чтоб SWD заработало? Просто так сказать не получися, если только новая версия не поддерживает SWD. Я просто сильно изменил исходники - переделал файл cortex_swjdp.c Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 29 мая, 2009 Опубликовано 29 мая, 2009 · Жалоба Чёрт, возникли проблемы с флагом Busy SPI контроллера в режиме мастера. Вроде считал, что, пока контроллер занят, этот флаг будет всегда установлен. А когда передача/приём закончена - сброшен. По ходу, это не так. Вот что озвучено в мануале: BUSY flag This flag indicates the state of the SPI communication layer. When it is set, it indicates that the SPI is busy communicating and/or there is a valid data byte in the Tx buffer waiting to be transmitted. The purpose of this flag is to indicate if there is any communication ongoing on the SPI bus or not. This flag is set as soon as: 1. Data is written in the SPI_DR register in master mode 2. The SCK clock is present in slave mode The BUSY flag is reset each time a byte is transmitted/received. This flag is set and cleared by hardware. It can be monitored to avoid write collision errors. Writing to this flag has no effect. The BUSY flag is meaningful only when the SPE bit is set. Я привык, опрашивая этот флаг, определять конец передачи данных. Но, на днях, снизив частоту SPI до пары сотен килогерц, обнаружил, что идёт потеря данных. Оказывается, это бит сбрасывается после передачи каждого байта! То есть, имея в буфере передатчика байт данных n+1, по окончании передачи из сдвигового регистра байта n, флаг busy на короткое время сбросится в ноль? Млин, спрашивается, какого ляду? Толку тогда от него? Эх... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 29 мая, 2009 Опубликовано 29 мая, 2009 · Жалоба Просто так сказать не получися, если только новая версия не поддерживает SWD. Я просто сильно изменил исходники - переделал файл cortex_swjdp.c результат в студию или лучше в svn репозиторий OpenOCD да?? планета должна звать своих героев. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 1 29 мая, 2009 Опубликовано 29 мая, 2009 · Жалоба результат в студию или лучше в svn репозиторий OpenOCD да?? планета должна звать своих героев. Да я просто раскурочил OpenOcd и прямо заменил функции swjdp ( JTAG access piont) что они напрямую лезут исключительно через мою железку ( и уже по SWD),частично игнорируя иерархию интерфейсов OpenOCD. Так что в SVN это точно не положить. К тому же я пользуюсь IAR, а в IAR, как я уже писал, протокол GDB server трактует не правильно, поэтому и с некоторыми версиями OpenOcd не работает. В итоге я написал свой Gdb Server, но для полноценной отладки Cortex в IAR все равно не годится( системные регистры не показывает) нужен RDI. Дописывать OpenOCD я точно не буду, мне не нравится их стиль кода - по идеологии С++, но написано на С, разломать и втиснуть свое я еще могу, но что бы самомуписать... К тому же там еще надо с автомейком разбираться... А вот если кто соберется RDI делать, готов поучаствовать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
КонстантинТ 0 31 мая, 2009 Опубликовано 31 мая, 2009 · Жалоба сериальный отладочный интерфейсс SWJ-DP ктонить пробывал это для отладки. всего два провода - выглядит удобно. что нада для того чтоб ЭТО работо? Под CW замечательно работает, работаю через JetLink. Скорость ниже, чем по JTAG, но особых неудобств не замечал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 31 мая, 2009 Опубликовано 31 мая, 2009 · Жалоба Хм, только сейчас обратил внимание, что кортексы могут без проблем читать невыровненные данные, как halfword (16 бит)? так и word (32 бита). Прикольно :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость MALLOY2 1 июня, 2009 Опубликовано 1 июня, 2009 · Жалоба Но команда при этом выполняется дольше! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 4 июня, 2009 Опубликовано 4 июня, 2009 · Жалоба А как сменить приоритет для прераваний без порядкового номера? К примеру, для SysTick - системного таймера? В таблице указано, что можно менять, но регистры Interrupt Priority Registers начинаются с номера 0, а это Window watchdog interrupt и ниже... Что-то непонятно как-то :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 1 4 июня, 2009 Опубликовано 4 июня, 2009 · Жалоба А как сменить приоритет для прераваний без порядкового номера? К примеру, для SysTick - системного таймера? Там еще есть System Handler Priority Registers 3 регистра Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться