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

 
 
20 страниц V  « < 8 9 10 11 12 > »   
Reply to this topicStart new topic
> STM32F103x, делимся впечатлениями
gregory812
сообщение May 9 2009, 23:21
Сообщение #136


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 23-11-06
Из: Odessa
Пользователь №: 22 646



Цитата(KRS @ May 9 2009, 23:42) *
Программа копирует себя в RAM, и оттуда шьет флеш.


Понятно, спасибо. Тогда интересно, STM32 всегда копираует часть кода в RAM для выполнения или если только его попросить об этом, и описан ли этот процесс где-то в документации или это можно увидеть только из примера программы DFU?
Go to the top of the page
 
+Quote Post
sergvks
сообщение May 18 2009, 10:12
Сообщение #137


Местный
***

Группа: Свой
Сообщений: 251
Регистрация: 26-07-05
Пользователь №: 7 117



Столкнулся с тем, что кейл не поддерживает inline ассемблеровские вставки в Thumb режиме. Как-нибудь это можно обойти ? Что бы избежать лишних переходов при использовании функций в которых всего-то пара команд.
Go to the top of the page
 
+Quote Post
sonycman
сообщение May 18 2009, 11:51
Сообщение #138


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

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



Цитата(sergvks @ May 18 2009, 15:12) *
Столкнулся с тем, что кейл не поддерживает inline ассемблеровские вставки в Thumb режиме. Как-нибудь это можно обойти ? Что бы избежать лишних переходов при использовании функций в которых всего-то пара команд.

На кортексе нет тамб или аэрэм режимов, у него всегда thumb-2.
Чем не устраивают inline функции?
Go to the top of the page
 
+Quote Post
sergvks
сообщение May 18 2009, 12:36
Сообщение #139


Местный
***

Группа: Свой
Сообщений: 251
Регистрация: 26-07-05
Пользователь №: 7 117



Цитата(sonycman @ May 18 2009, 15:51) *
На кортексе нет тамб или аэрэм режимов, у него всегда thumb-2.

Я писал не про кортекс, а про компилятор.

Цитата(sonycman @ May 18 2009, 15:51) *
Чем не устраивают inline функции?


Вы меня не поняли, поясню на конкретном примере.
Для arm можно было записать так:

static __inline int FASTABS(int x)
{
int t=0;
__asm {
eor t, x, x, asr #31
sub t, t, x, asr #31
}
return t;
}
А что делать для thumb чтобы получить тот же результат ?
Go to the top of the page
 
+Quote Post
KRS
сообщение May 18 2009, 15:23
Сообщение #140


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

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



Цитата(sergvks @ May 18 2009, 16:36) *
Я писал не про кортекс, а про компилятор.
А что делать для thumb чтобы получить тот же результат ?

Причем здесь компилятор?
Надо взять ARMv7-M Architecture Application Level Reference Manual
там есть все команды, которые поддерживаются в THUMB2
Go to the top of the page
 
+Quote Post
sergvks
сообщение May 19 2009, 06:26
Сообщение #141


Местный
***

Группа: Свой
Сообщений: 251
Регистрация: 26-07-05
Пользователь №: 7 117



Цитата(KRS @ May 18 2009, 19:23) *
Причем здесь компилятор?


А вы попробуйте откомпилировать приведённый мной код, тогда узнаете.

Цитата(KRS @ May 18 2009, 19:23) *
Надо взять ARMv7-M Architecture Application Level Reference Manual
там есть все команды, которые поддерживаются в THUMB2

cranky.gif А это здесь причём ???

Повторю вопрос: как заинлайнить выше приведённый код в кейле в случае компиляции под THUMB2 ?
Go to the top of the page
 
+Quote Post
KRS
сообщение May 19 2009, 08:20
Сообщение #142


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

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



Цитата(sergvks @ May 19 2009, 10:26) *
Повторю вопрос: как заинлайнить выше приведённый код в кейле в случае компиляции под THUMB2 ?

Не знаю как в KEIL, а полноценный RVCT от RVDS не умеет использовать inline asm для THUMB и THUMB2. Нужно использовать embedded asm примерно так.
Код
__asm int FASTABS(int x)
{
    eor r1, r0, r0, asr #31
    sub r0, r1, r0, asr #31
    bx lr
}

но тогда функция не будет inline.
Но вот если gcc использовать тут можно уже расширенный асм использовать.
Go to the top of the page
 
+Quote Post
asen
сообщение May 23 2009, 03:24
Сообщение #143


Знающий
****

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



ДОБРЫЙ ДЕНЬ !
Вот сейчас начал изучать STM32F103RET6 был очень рад наличию у него двух 12 битных АЦП но радость пропала когда узнал что в курпусе LQFP-64 не выведены пины под истоники опорного нпаряжения sad.gif Как спрашиваеться опираясь от общего питания АЦП (VDDA) пожно добиться путевой точности ?? И еще интересный факт как я не перерывал документацию я не нашел ток который потребляеть по выводу VDDA два АЦП и два ЦАПа вместе тоесть в попытке всетаки улудщить аналоговое питания посколько оно же и опорное напряжение есть удея поставить туда чтото типа REF3033 но вот не задача нигде не написано сколько это все будет кушать!! И не просядить ли источник опорного напряжения!! Зато сказано сколько потребляет от VREF мах 220мкА но а сколько остольное кушает кто нить знаеть ??? или может померить ???
Go to the top of the page
 
+Quote Post
Axel
сообщение May 24 2009, 14:32
Сообщение #144


Местный
***

Группа: Свой
Сообщений: 480
Регистрация: 21-11-04
Пользователь №: 1 188



asen

Страницы 52,53 даташита: DAC - 0.72mA, ADC1 - 1.9mA, ADC2,3 - 1.7mA.

Сообщение отредактировал IgorKossak - May 24 2009, 15:20
Причина редактирования: Бездумное цитирование
Go to the top of the page
 
+Quote Post
asen
сообщение May 25 2009, 01:16
Сообщение #145


Знающий
****

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



Спасиб чтото пропустил smile.gif
Go to the top of the page
 
+Quote Post
shreck
сообщение May 25 2009, 03:15
Сообщение #146


Местный
***

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



Цитата(asen @ May 23 2009, 11:24) *
Как спрашиваеться опираясь от общего питания АЦП (VDDA) пожно добиться путевой точности ??


Для этого есть внутренняя опора. Оттдельно измеряйте ее и корректируйте результат измерения внешнего канала.
Go to the top of the page
 
+Quote Post
klen
сообщение May 25 2009, 22:28
Сообщение #147


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

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



продолжаю делится впечатлениями....

доделал проект моста USB<->Arinc 429 RX/TX жужжыт на скорости 100кbs

порадовал время(стабильность) входа и выхода из прерываний, после LPC2148 просто глоток воздуха
порадовал bit-band, но както пока низнаю куда его применить.
до 120 мгц гонится и работает, дальге не помню что происходит.
сильно вперед продвинутый набор инструкций, если правильно писать на си уметь!! то асм непонадобится. получил код обработчика прерывания от компиллера в который руками некуда залесть! на каждую строку с-кода 1 2 или 3 инструкции. лепота.

так для смеха - проект написан абсалютно полностью на С, нистрочка асма( правда я еще не оптимизил biggrin.gif ). невидалый в контроллеростроении для меня случай.

огорчило что к тактовой USB нельзя присунуть делитель отличный от 1 и 1,5. так могли сделать только враги!!!
огорчили таймеры, 16 бит..... просто фашисты, всю малину обгадили

ктонит RS485 уже реализовывал?
Go to the top of the page
 
+Quote Post
sonycman
сообщение May 25 2009, 22:57
Сообщение #148


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

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



Цитата(klen @ May 26 2009, 02:28) *
огорчило что к тактовой USB нельзя присунуть делитель отличный от 1 и 1,5. так могли сделать только враги!!!

Радует хотя бы это. На SAM7S вообще кроме х1 ничего нет cranky.gif

Кстати, хотел спросить про макс. частоту SPI.
С какой бы это стати в мануале указана частота 18 МГц?
Что помешает SPI1, висящему на APB2, работать на частотах вплоть до 36 МГц?

Ведь делители такое позволяют? Никто не пробовал?
Go to the top of the page
 
+Quote Post
shreck
сообщение May 26 2009, 02:10
Сообщение #149


Местный
***

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



Цитата(klen @ May 26 2009, 06:28) *
ктонит RS485 уже реализовывал?


Я делал (по прерыванию, без DMA). Все достаточно просто и прямолинейно. Хотя маленькая ложка дегтя - отсутствие аппаратного управления направлением передачи.
Go to the top of the page
 
+Quote Post
klen
сообщение May 26 2009, 04:12
Сообщение #150


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

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



Цитата(shreck @ May 26 2009, 06:10) *
Я делал (по прерыванию, без DMA). Все достаточно просто и прямолинейно. Хотя маленькая ложка дегтя - отсутствие аппаратного управления направлением передачи.

я прально понимаю что прерывание tx complite используете для передергивания выводом порта 485-микруху в режим приема для отпускания шины? Если так то не сильно криминально.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 22:55
Рейтинг@Mail.ru


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