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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Запуск кода из ram
quandr
сообщение Nov 10 2017, 14:36
Сообщение #16


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 4-09-10
Пользователь №: 59 282



Цитата(jcxz @ Nov 10 2017, 15:19) *
На F7 (да и пожалуй на любом из старших ARMов) в принципе не надо писать код, основанный на времени выполнения NOPов.

А как получить задержку 5 тактов на 200 МГц?

Цитата(Forger @ Nov 10 2017, 17:31) *
Лютое решение (((
Конечно, уже поздно переделывать железо, но почему решили все это чисто на MCU, а не поставили хотя бы FPGA в связке с практически любым МК?

В этом весь сок. Обойтись без плиски.
Go to the top of the page
 
+Quote Post
Forger
сообщение Nov 10 2017, 14:39
Сообщение #17


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

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(quandr @ Nov 10 2017, 17:36) *
В этом весь сок. Обойтись без плиски.

А в чем собственно проблема? Речь про некий академический тест (курсач)? wink.gif

Существуют плиски со встроенными ARM ядром, флэшью и ОЗУ, т. е. по сути обычный МК ARM, но с плюшками.
Такой вариант не подошел?



--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
scifi
сообщение Nov 10 2017, 14:49
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(quandr @ Nov 10 2017, 17:36) *
А как получить задержку 5 тактов на 200 МГц?

Никак.
Руки поотрывать тем, кто на такое закладывается laughing.gif
Go to the top of the page
 
+Quote Post
quandr
сообщение Nov 10 2017, 14:54
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 4-09-10
Пользователь №: 59 282



Цитата(Forger @ Nov 10 2017, 16:39) *
Каких ресурсов?


Разметите критический важный кусок кода внутри отдельных функций, размещенных в отдельном С/CPP файле, поместите весь файл в секцию RAM (как это сделать, см. мануал на Keil).
Тогда не придется городить загрузчик лишь для того, чтобы весь код засунуть в ОЗУ.

Вы действительно полагаете, что перемещение ВСЕГО кода в ОЗУ поможет решить эту проблему? wink.gif


Спасибо за идею.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Nov 10 2017, 19:39
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(quandr @ Nov 10 2017, 16:36) *
А как получить задержку 5 тактов на 200 МГц?

Ответ на этот вопрос начинается с ответа на вопрос: задержку между чем и чем?

PS: Я тоже в одном из проектов делал УЗ-прибор с резонансной частотой преобразователя до 7МГц.
Формировал сигнал управления возбуждением средствами МК. И оцифровывал эхо встроенным АЦП МК на clk = 80 MS/s.
Без каких-то проблем. Естественно не НОПами.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Nov 10 2017, 21:00
Сообщение #21


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(quandr @ Nov 10 2017, 15:36) *
А как получить задержку 5 тактов на 200 МГц?

у четвёрки флеш шире озу, а у семёрки ещё в два раза шире, поэтому никакое озу вам не увеличит скорость работы
а чтобы работа из флеша была детерминированной нужно уменьшать тактовую до 24 мгц
так что вы совершенно не в ту сторону копаете


Сообщение отредактировал Огурцов - Nov 10 2017, 21:01
Go to the top of the page
 
+Quote Post
AVI-crak
сообщение Nov 10 2017, 23:42
Сообщение #22


Частый гость
**

Группа: Участник
Сообщений: 182
Регистрация: 16-10-15
Пользователь №: 88 894



М7 может выполнять код из ITCM в режиме шины AXI. Это нулевая задержка. Памяти мало, может уместиться вектора, перемывания и критический код. Стек нужно натравить на DTCM, что не совсем очевидно(стек ниже данных). Там-же расположить критические данные. А всё остальное - на свободные банки памяти и флеша.

Задержка 5 тактов на 200 МГц вполне возможна, однако бессмысленна. Чип обладает развитой периферией, в которой эти задержки программируются в режиме инстала. Разная память, разные правила, настраивать регионы памяти - обязательно. http://forum.ixbt.com/topic.cgi?id=48:11266:2178#2178
Go to the top of the page
 
+Quote Post
quandr
сообщение Nov 11 2017, 09:43
Сообщение #23


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 4-09-10
Пользователь №: 59 282



Цитата(Forger @ Nov 10 2017, 16:39) *
Каких ресурсов?


Разметите критический важный кусок кода внутри отдельных функций, размещенных в отдельном С/CPP файле, поместите весь файл в секцию RAM (как это сделать, см. мануал на Keil).
Тогда не придется городить загрузчик лишь для того, чтобы весь код засунуть в ОЗУ.


Этот с/срр файл можно сделать в существующем проекте среди других с/срр файлов?
Go to the top of the page
 
+Quote Post
Forger
сообщение Nov 11 2017, 10:00
Сообщение #24


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

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(quandr @ Nov 11 2017, 12:43) *
Этот с/срр файл можно сделать в существующем проекте среди других с/срр файлов?

Именно так и нужно делать, изменяются лишь свойства этого нового файла (см. мой первый пост в этой теме).
Вообще, все это есть в мануале на Keil - см. RAM function. Не ленитесь читать ))


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 12th July 2025 - 14:04
Рейтинг@Mail.ru


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