Перейти к содержанию
    

DMA в Allwinner V3s - всё так плохо, или я не понял?

35 minutes ago, jcxz said:

А где же у Вас был быстрый код? Неужто весь в SDRAM? Поместить его в L2-RAM не пробовали?

В C6745 был L3? Или оно только в OMAP-е? не помню уж... 

 

Для мелких эмуляторов это делать смысла нет - они и так летают хорошо, что притормаживать приходится.  А большие эмуляторы занимают несколько сотен килобайт кода. Но для нативных игр надо попробовать, предварительно глянув размер секции TEXT.

В C6745 нет L3.  Только L 1,2.

 

37 minutes ago, jcxz said:

На OMAP-L137 я L2-RAM использовал как ОЗУ (быстрый код + быстрые данные), а не как кеш. Так получалось эффективнее. Потому как если пробовал переносить в SDRAM те данные и код, что были в L2-RAM и включать L2 на полную как кеш, то результат получался хуже. Хотя и не сильно. В моём проекте L1P + L1D вполне хватало для кеширования SDRAM (в которой находился только медленный код).

  

Такой подход действительно более производителен. Но не сильно универсален, так как это потребует от загрузчика дифференцировать адреса по которым загружать секции. Сейчас у меня в упрощённом варианте - загрузчик валит весь бинарник в начало SDRAM.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 минут назад, __inline__ сказал:

Такой подход действительно более производителен. Но не сильно универсален, так как это потребует от загрузчика дифференцировать адреса по которым загружать секции. Сейчас у меня в упрощённом варианте - загрузчик валит весь бинарник в начало SDRAM.

Так штатный загрузчик OMAP-L137 (тот что в ROM) изначально умеет грузить образ во множество несмежных регионов памяти. Естественно образ должен быть не .bin, а .ais. Так что - оно уже всё есть изначально, из коробки. И в C6745 тоже должен уметь, так как в OMAP-L137 стартует первым DSP-ядро, на нём и работает загрузчик. Значит он такой же, как в C6745.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 hours ago, jcxz said:

Так штатный загрузчик OMAP-L137 (тот что в ROM) изначально умеет грузить образ во множество несмежных регионов памяти. Естественно образ должен быть не .bin, а .ais. Так что - оно уже всё есть изначально, из коробки. И в C6745 тоже должен уметь, так как в OMAP-L137 стартует первым DSP-ядро, на нём и работает загрузчик. Значит он такой же, как в C6745.

 

Это всё хорошо, покуда отладка.

Когда приложения надо грузить из SD-карты, то в случае с C6745 встаёт вопрос изобретения велосипеда собственного загрузчика.

У allwinner в этом плане гибче: не надо припаивать SPI-ПЗУ микросхему. Но загрузчик свой всёравно писать придётся (хотя и тут можно взять у-бут, но я захотел хардкора)

 

И кстати, глянул свои программы, там кода(имеено - кода!) на сотни кБ, так что оптимальнее всего отдать внутреннюю память на L2 :biggrin:

 

 

13 hours ago, __inline__ said:

А где же у Вас был быстрый код?

 

В кеше. :bye:

Изменено пользователем repstosw

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

24 минуты назад, __inline__ сказал:

Это всё хорошо, покуда отладка.

Я говорил не про отладку, а про штатную загрузку. Какое отношение имеет ROM-загрузчик к отладке? При отладке, по уму, приложение грузится через JTAG.

24 минуты назад, __inline__ сказал:

Когда приложения надо грузить из SD-карты, то в случае с C6745 встаёт вопрос изобретения велосипеда собственного загрузчика.

ROM-загрузчик (штатный) C6745 не умеет грузить с SD-карты?

Да даже собственный загрузчик - там ничего сложного. Формат .ais хорошо расписан у TI в соответствующей доке и у меня в своё время не возникло никаких проблем при его разборе.

24 минуты назад, __inline__ сказал:

И кстати, глянул свои программы, там кода(имеено - кода!) на сотни кБ, так что оптимальнее всего отдать внутреннюю память на L2 :biggrin:

Ну так и у меня было не мало. На 2 ядра к тому же. Но я его разбил на две категории "быстрый код" и "медленный код". И распределил каждую категорию в свою область памяти.

30 минут назад, __inline__ сказал:

В кеше. :bye:

Если размер кеша меньше размера кода, то необходимо некоторое время чтоб он (код) туда попал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 hours ago, jcxz said:

ROM-загрузчик (штатный) C6745 не умеет грузить с SD-карты?

 

Не умеет.

 

6 hours ago, jcxz said:

Да даже собственный загрузчик - там ничего сложного. Формат .ais хорошо расписан у TI в соответствующей доке и у меня в своё время не возникло никаких проблем при его разборе.

 

Тот загрузчик что самописанный, грузящий с SD-карты - сидит в этой самой L2.

Если туда ещё быстрый код грузить, то загрузчик сам себя перетрёт :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...