реклама на сайте
подробности

 
 
20 страниц V  « < 9 10 11 12 13 > »   
Reply to this topicStart new topic
> STM32F103x, делимся впечатлениями
shreck
сообщение May 26 2009, 06:29
Сообщение #151


Местный
***

Группа: Свой
Сообщений: 327
Регистрация: 24-06-06
Из: Томск
Пользователь №: 18 328



Цитата(klen @ May 26 2009, 12:12) *
я прально понимаю что прерывание tx complite используете для передергивания выводом порта 485-микруху в режим приема для отпускания шины? Если так то не сильно криминально.

Да, правильно. Про ложку дегтя я написал только потому, что USART у STM'a поддерживает кучу режимов, а RS-485 нет. Как-будто его забыли.
Go to the top of the page
 
+Quote Post
asen
сообщение May 26 2009, 06:40
Сообщение #152


Знающий
****

Группа: Свой
Сообщений: 513
Регистрация: 5-09-05
Из: Барнаул
Пользователь №: 8 220



А что конкретно не порадовало в 16 битных таймерах ?? меня интересует больше PWM приложения ????
Go to the top of the page
 
+Quote Post
klen
сообщение May 26 2009, 17:04
Сообщение #153


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(asen @ May 26 2009, 10:40) *
А что конкретно не порадовало в 16 битных таймерах ?? меня интересует больше PWM приложения ????

ну че трудно было счетчик 32 бита сделать... хочу интебалы побольше считать с разрешением получше
Go to the top of the page
 
+Quote Post
klen
сообщение May 28 2009, 09:27
Сообщение #154


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



сериальный отладочный интерфейсс SWJ-DP

ктонить пробывал это для отладки. всего два провода - выглядит удобно.
что нада для того чтоб ЭТО работо?
Go to the top of the page
 
+Quote Post
KRS
сообщение May 28 2009, 11:42
Сообщение #155


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(klen @ May 28 2009, 13:27) *
сериальный отладочный интерфейсс SWJ-DP

ктонить пробывал это для отладки. всего два провода - выглядит удобно.
что нада для того чтоб ЭТО работо?

Я пробовал, подцеплял к OpenOCD свою железку ( на FT232R)
Удобно. По большому счету это всего лишь другой физический уровень.

У codesourcery есть GdbServer который по SWD работатет через FT2232C
Go to the top of the page
 
+Quote Post
klen
сообщение May 29 2009, 10:57
Сообщение #156


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(KRS @ May 28 2009, 15:42) *
Я пробовал, подцеплял к OpenOCD свою железку ( на FT232R)
Удобно. По большому счету это всего лишь другой физический уровень.

У codesourcery есть GdbServer который по SWD работатет через FT2232C


интересненько.. значит OpenOCD умеет это делать. поидее GDB не знает как физически это происходит и он я думаю тут нипричем. Видимо OpenOCD можно както сказать о том чтоб использоать не 5 проводов JTAG а 2 SWD. Буду пытаться...
с самим контроллером что нада сделать чтоб SWD заработало?
Go to the top of the page
 
+Quote Post
KRS
сообщение May 29 2009, 11:15
Сообщение #157


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(klen @ May 29 2009, 14:57) *
интересненько.. значит OpenOCD умеет это делать. поидее GDB не знает как физически это происходит и он я думаю тут нипричем. Видимо OpenOCD можно както сказать о том чтоб использоать не 5 проводов JTAG а 2 SWD. Буду пытаться...
с самим контроллером что нада сделать чтоб SWD заработало?

Просто так сказать не получися, если только новая версия не поддерживает SWD.
Я просто сильно изменил исходники - переделал файл cortex_swjdp.c
Go to the top of the page
 
+Quote Post
sonycman
сообщение May 29 2009, 19:17
Сообщение #158


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Чёрт, возникли проблемы с флагом 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 на короткое время сбросится в ноль?
Млин, спрашивается, какого ляду? Толку тогда от него? Эх...
Go to the top of the page
 
+Quote Post
klen
сообщение May 29 2009, 19:23
Сообщение #159


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(KRS @ May 29 2009, 15:15) *
Просто так сказать не получися, если только новая версия не поддерживает SWD.
Я просто сильно изменил исходники - переделал файл cortex_swjdp.c


результат в студию или лучше в svn репозиторий OpenOCD
да??
планета должна звать своих героев.
Go to the top of the page
 
+Quote Post
KRS
сообщение May 29 2009, 21:00
Сообщение #160


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(klen @ May 29 2009, 23:23) *
результат в студию или лучше в svn репозиторий OpenOCD
да??
планета должна звать своих героев.

Да я просто раскурочил OpenOcd и прямо заменил функции swjdp ( JTAG access piont) что они напрямую лезут исключительно через мою железку ( и уже по SWD),частично игнорируя иерархию интерфейсов OpenOCD.
Так что в SVN это точно не положить.

К тому же я пользуюсь IAR, а в IAR, как я уже писал, протокол GDB server трактует не правильно, поэтому и с некоторыми версиями OpenOcd не работает. В итоге я написал свой Gdb Server, но для полноценной отладки Cortex в IAR все равно не годится( системные регистры не показывает) нужен RDI.

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

А вот если кто соберется RDI делать, готов поучаствовать.
Go to the top of the page
 
+Quote Post
KostyantynT
сообщение May 31 2009, 07:02
Сообщение #161


Местный
***

Группа: Свой
Сообщений: 290
Регистрация: 27-06-05
Из: Киев
Пользователь №: 6 345



Цитата(klen @ May 28 2009, 12:27) *
сериальный отладочный интерфейсс SWJ-DP

ктонить пробывал это для отладки. всего два провода - выглядит удобно.
что нада для того чтоб ЭТО работо?

Под CW замечательно работает, работаю через JetLink. Скорость ниже, чем по JTAG, но особых неудобств не замечал.


--------------------
Если в сердце дверь закрыта - надо в печень постучать..
Go to the top of the page
 
+Quote Post
sonycman
сообщение May 31 2009, 09:03
Сообщение #162


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Хм, только сейчас обратил внимание, что кортексы могут без проблем читать невыровненные данные, как halfword (16 бит)? так и word (32 бита).
Прикольно laughing.gif
Go to the top of the page
 
+Quote Post
MALLOY2
сообщение Jun 1 2009, 05:05
Сообщение #163


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Но команда при этом выполняется дольше!
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 4 2009, 18:44
Сообщение #164


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



А как сменить приоритет для прераваний без порядкового номера?
К примеру, для SysTick - системного таймера? В таблице указано, что можно менять, но регистры Interrupt Priority Registers начинаются с номера 0, а это Window watchdog interrupt и ниже...
Что-то непонятно как-то sad.gif
Go to the top of the page
 
+Quote Post
KRS
сообщение Jun 4 2009, 18:57
Сообщение #165


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(sonycman @ Jun 4 2009, 22:44) *
А как сменить приоритет для прераваний без порядкового номера?
К примеру, для SysTick - системного таймера?

Там еще есть
System Handler Priority Registers
3 регистра
Go to the top of the page
 
+Quote Post

20 страниц V  « < 9 10 11 12 13 > » 
Reply to this topicStart new topic
6 чел. читают эту тему (гостей: 6, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 16:19
Рейтинг@Mail.ru


Страница сгенерированна за 0.01481 секунд с 7
ELECTRONIX ©2004-2016