Причем DMA может работать не только с RAM но и с флеш, здесь естественно только чтение.
Буфер данных Stm32f103c8
- Сообщения: 3604
- Зарегистрирован: Пн июл 28, 2008 22:12:01
Нет не ткнет , следить за выходом за границы массива вам самим.
Причем DMA может работать не только с RAM но и с флеш, здесь естественно только чтение.
Причем DMA может работать не только с RAM но и с флеш, здесь естественно только чтение.
- Реклама
- Сообщения: 83
- Зарегистрирован: Ср июл 18, 2018 11:51:59
[uquote="dosikus",url="/forum/viewtopic.php?p=3434446#p3434446"]Нет не ткнет , следить за выходом за границы массива вам самим.[/uquote]
Хорошо, а по какому параметру DMA определяет, что надо переходит на начало массива, если сам массив ему нужен только как начало? Ведь его не интересует размер массива!
Это параметр number of data? После него начинается новый цикл записи с начала буфера?
Хорошо, а по какому параметру DMA определяет, что надо переходит на начало массива, если сам массив ему нужен только как начало? Ведь его не интересует размер массива!
Это параметр number of data? После него начинается новый цикл записи с начала буфера?
- Сообщения: 3604
- Зарегистрирован: Пн июл 28, 2008 22:12:01
Отделите мух от котлет.
DMA ничего не знает о массивах, структурах и прочего это просто контроллер периферии .
И начните читать .
К примеру Circular mode
После полного завершения тансфера - счетчик транзакций равен нулю, контроллер DMA перезагружает значения из регистров управления в свои внутренние регистры. И начинается заново.
При однократном режиме - все останавливается.
DMA ничего не знает о массивах, структурах и прочего это просто контроллер периферии .
И начните читать .
К примеру Circular mode
После полного завершения тансфера - счетчик транзакций равен нулю, контроллер DMA перезагружает значения из регистров управления в свои внутренние регистры. И начинается заново.
При однократном режиме - все останавливается.
- Сообщения: 83
- Зарегистрирован: Ср июл 18, 2018 11:51:59
- Сообщения: 3604
- Зарегистрирован: Пн июл 28, 2008 22:12:01
Спрашивай , скоро придет осознание и все заколосится...
Вот примерный план для изучения DMA .
1 Помигать светодиодом
2 Помигать светодиодом с помощью таймера ( в прерывании)
3 Помигать светодиодом выплевывая массив из флеш в порт через DMA пинаемого таймером
4 Запустить ADC
5 Заполнить массив в RAM значениями ADC с помощью DMA .
Вот примерный план для изучения DMA .
1 Помигать светодиодом
2 Помигать светодиодом с помощью таймера ( в прерывании)
3 Помигать светодиодом выплевывая массив из флеш в порт через DMA пинаемого таймером
4 Запустить ADC
5 Заполнить массив в RAM значениями ADC с помощью DMA .
- Реклама
- Сообщения: 3385
- Зарегистрирован: Пн окт 11, 2010 19:00:08
khch, посмотрите это. http://www.cyberforum.ru/blogs/204791/blog5169.html
http://www.cyberforum.ru/blogs/204791/blog5170.html
Не знаю, поймете что-то или нет.
http://www.cyberforum.ru/blogs/204791/blog5170.html
Не знаю, поймете что-то или нет.
- Сообщения: 83
- Зарегистрирован: Ср июл 18, 2018 11:51:59
[uquote="dosikus",url="/forum/viewtopic.php?p=3434462#p3434462"]
Возможно ли это со скоростью 2 МГц?
[/uquote]выплевывая массив из флеш в порт через DMA пинаемого таймером
Возможно ли это со скоростью 2 МГц?
- Сообщения: 3604
- Зарегистрирован: Пн июл 28, 2008 22:12:01
- Сообщения: 2567
- Зарегистрирован: Вт май 01, 2018 19:44:47
- Сообщения: 83
- Зарегистрирован: Ср июл 18, 2018 11:51:59
[uquote="dosikus",url="/forum/viewtopic.php?p=3434592#p3434592"]Вот и испытаешь.[/uquote]
Ок. Потом расскажу.
Добавлено after 1 minute 19 seconds:
[uquote="VladislavS",url="/forum/viewtopic.php?p=3434596#p3434596"]Скорость не измеряется в Гц.[/uquote]
Да, действительно, скорость измеряется в км/ч...
Я постараюсь быть точнее в определениях...
PS надо же как я сразу не заметил этой проблемы...
Добавлено after 45 minutes 25 seconds:
Я тут решил покопаться в дебаггере, понять все. Из знакомых понятий только "копаться" - я же могильщик...
Так вот обьясните пожалуйста, что такое я пометил двумя стрелками. С остальным, вроде как, разбираюсь. Распечатал вот кода асм..
И что подразумевает комментарий в первой строке?
Добавлено after 13 minutes 44 seconds:
хотя нет. Ни хрена не понимаю я кроме команды "загрузить - LDR"
Ок. Потом расскажу.
Добавлено after 1 minute 19 seconds:
[uquote="VladislavS",url="/forum/viewtopic.php?p=3434596#p3434596"]Скорость не измеряется в Гц.[/uquote]
Да, действительно, скорость измеряется в км/ч...
Я постараюсь быть точнее в определениях...
PS надо же как я сразу не заметил этой проблемы...
Добавлено after 45 minutes 25 seconds:
Я тут решил покопаться в дебаггере, понять все. Из знакомых понятий только "копаться" - я же могильщик...
Так вот обьясните пожалуйста, что такое я пометил двумя стрелками. С остальным, вроде как, разбираюсь. Распечатал вот кода асм..
И что подразумевает комментарий в первой строке?
Добавлено after 13 minutes 44 seconds:
хотя нет. Ни хрена не понимаю я кроме команды "загрузить - LDR"
- Вложения
-
- 555.jpg
- (231.12 КБ) 392 скачивания
левая стрелка - адрес команды в памяти, правая - опкод, грубо - представление команды в бинарном виде, как оно и есть там внутри процессора. Комментарий - что будет записано в регистр
khch, вы когда-нибудь пробовали 15-20 котят собрать в кучку? они же как ртуть - на вилку не наколешь!
ваши попытки решить сразу взятую задачу напоминают именно этот процесс: вы хватаете одного котенка - пятеро убегают. собираете этих пятерых - первый уже удрал, а еще трое бегут сразу в 4 стороны...
единственный способ справиться с этой задачей - ловить по одному и ФИКСИРОВАТЬ
то есть подступать шаг за шагом, не метаясь от заголовочников HAL к ассемблеру, от регистров DMA к скорости SPI... добрые люди вам даже наметили программу изучения - либо следуйте ей, либо откажитесь от этой затеи. ведь иначе, кроме усталости, такая работа ничего не даст - разбегутся котятки...
ваши попытки решить сразу взятую задачу напоминают именно этот процесс: вы хватаете одного котенка - пятеро убегают. собираете этих пятерых - первый уже удрал, а еще трое бегут сразу в 4 стороны...
единственный способ справиться с этой задачей - ловить по одному и ФИКСИРОВАТЬ
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 83
- Зарегистрирован: Ср июл 18, 2018 11:51:59
ARV
Есть такое... с котятами.
Но это я просто решил так отдохнуть. Поизучаю пока дебаггер - благо и там проблем не мало.
Вот например: Могу ли я в режиме дебага подавать на вход с кнопки сигнал. Ну или прерывание там... Чуть отойду, потом снова на штурм!!!!!
Есть такое... с котятами.
Но это я просто решил так отдохнуть. Поизучаю пока дебаггер - благо и там проблем не мало.
Вот например: Могу ли я в режиме дебага подавать на вход с кнопки сигнал. Ну или прерывание там... Чуть отойду, потом снова на штурм!!!!!
- Сообщения: 3604
- Зарегистрирован: Пн июл 28, 2008 22:12:01
[uquote="khch",url="/forum/viewtopic.php?p=3434666#p3434666"]Вот например: Могу ли я в режиме дебага подавать на вход с кнопки сигнал. Ну или прерывание там...[/uquote]
А в чем проблема?
Если речь о ловле события - ставим бряк на обработку события , пускаем дебаггер в RUN .
Одно но , периферия не тормозится дебаггером по дефолту.
Да и многие флаги сбрасываются просто чтением в том числе и считыванием дебаггером...
А в чем проблема?
Если речь о ловле события - ставим бряк на обработку события , пускаем дебаггер в RUN .
Одно но , периферия не тормозится дебаггером по дефолту.
Да и многие флаги сбрасываются просто чтением в том числе и считыванием дебаггером...
- Сообщения: 3385
- Зарегистрирован: Пн окт 11, 2010 19:00:08
Зачем начали копаться в коде загрузчика?khch писал(а):Я тут решил покопаться в дебаггере, понять все.
Как в него вообще попали?
С какой целью? Отлаживать нужно исходный код на Си, а не ассемблерный и тем более не код зашитого при производстве USART загрузчика.khch писал(а):Распечатал вот кода асм
- Сообщения: 83
- Зарегистрирован: Ср июл 18, 2018 11:51:59
Смотрите. Ведь тут же все написано понятно!!! Любой поймет!!! Кроме меня.
Вот к примеру.
In input mode (MODE[1:0]=00):
00: Analog mode
01: Floating input (reset state)
10: Input with pull-up / pull-down
11: Reserved
In output mode (MODE[1:0] > 00):
00: General purpose output push-pull
01: General purpose output Open-drain
10: Alternate function output Push-pull
11: Alternate function output Open-drain
Вот что это все значит??
MODE[1:0]=00
MODE[1:0] > 00
В какой части регистра запихали условие равенства или сравнения!!!!
Вот к примеру.
In input mode (MODE[1:0]=00):
00: Analog mode
01: Floating input (reset state)
10: Input with pull-up / pull-down
11: Reserved
In output mode (MODE[1:0] > 00):
00: General purpose output push-pull
01: General purpose output Open-drain
10: Alternate function output Push-pull
11: Alternate function output Open-drain
Вот что это все значит??
MODE[1:0]=00
MODE[1:0] > 00
В какой части регистра запихали условие равенства или сравнения!!!!
- Сообщения: 3385
- Зарегистрирован: Пн окт 11, 2010 19:00:08
khch писал(а):В какой части регистра запихали условие равенства или сравнения
Спойлер
- Сообщения: 6452
- Зарегистрирован: Пт сен 13, 2013 13:11:31
[uquote="VladislavS",url="/forum/viewtopic.php?p=3434596#p3434596"]Скорость не измеряется в Гц.[/uquote]
Вот не надо придираться к словам. Формально вы правы, но, например, в англоязычных источниках формулировка clock speed вполне обыденна и измеряется эта speed там в Герцах. Если сделать кальку в русский, что в хайтеке происходит на каждом шагу, то скорость в мегагерцах уже и не является чем-то сильно режущим глаз. Так, издержки перевода.
Вот не надо придираться к словам. Формально вы правы, но, например, в англоязычных источниках формулировка clock speed вполне обыденна и измеряется эта speed там в Герцах. Если сделать кальку в русский, что в хайтеке происходит на каждом шагу, то скорость в мегагерцах уже и не является чем-то сильно режущим глаз. Так, издержки перевода.
- Сообщения: 83
- Зарегистрирован: Ср июл 18, 2018 11:51:59
Мурик
Поразительно!!! Вы кинули мне скан именно того места, откуда я скопировал свой вопрос.
Просто я не смог вставить таблицу....
Так где это MODE [1:0] = 00 MODE [1:0] > 00 место???
Я не имею ввиду где это написано - это я сам вижу. Где должно выполняться это условие, чтобы
абсолютно одинаковые комбинации нулей и единиц давали, тем не менее, разный метод работы
пинов: на вход и на выход.
Поразительно!!! Вы кинули мне скан именно того места, откуда я скопировал свой вопрос.
Просто я не смог вставить таблицу....
Так где это MODE [1:0] = 00 MODE [1:0] > 00 место???
Я не имею ввиду где это написано - это я сам вижу. Где должно выполняться это условие, чтобы
абсолютно одинаковые комбинации нулей и единиц давали, тем не менее, разный метод работы
пинов: на вход и на выход.
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25



