repstosw 18 23 июля, 2020 Опубликовано 23 июля, 2020 · Жалоба 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. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 231 23 июля, 2020 Опубликовано 23 июля, 2020 · Жалоба 12 минут назад, __inline__ сказал: Такой подход действительно более производителен. Но не сильно универсален, так как это потребует от загрузчика дифференцировать адреса по которым загружать секции. Сейчас у меня в упрощённом варианте - загрузчик валит весь бинарник в начало SDRAM. Так штатный загрузчик OMAP-L137 (тот что в ROM) изначально умеет грузить образ во множество несмежных регионов памяти. Естественно образ должен быть не .bin, а .ais. Так что - оно уже всё есть изначально, из коробки. И в C6745 тоже должен уметь, так как в OMAP-L137 стартует первым DSP-ядро, на нём и работает загрузчик. Значит он такой же, как в C6745. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 24 июля, 2020 Опубликовано 24 июля, 2020 (изменено) · Жалоба 13 hours ago, jcxz said: Так штатный загрузчик OMAP-L137 (тот что в ROM) изначально умеет грузить образ во множество несмежных регионов памяти. Естественно образ должен быть не .bin, а .ais. Так что - оно уже всё есть изначально, из коробки. И в C6745 тоже должен уметь, так как в OMAP-L137 стартует первым DSP-ядро, на нём и работает загрузчик. Значит он такой же, как в C6745. Это всё хорошо, покуда отладка. Когда приложения надо грузить из SD-карты, то в случае с C6745 встаёт вопрос изобретения велосипеда собственного загрузчика. У allwinner в этом плане гибче: не надо припаивать SPI-ПЗУ микросхему. Но загрузчик свой всёравно писать придётся (хотя и тут можно взять у-бут, но я захотел хардкора) И кстати, глянул свои программы, там кода(имеено - кода!) на сотни кБ, так что оптимальнее всего отдать внутреннюю память на L2 13 hours ago, __inline__ said: А где же у Вас был быстрый код? В кеше. Изменено 24 июля, 2020 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 231 24 июля, 2020 Опубликовано 24 июля, 2020 · Жалоба 24 минуты назад, __inline__ сказал: Это всё хорошо, покуда отладка. Я говорил не про отладку, а про штатную загрузку. Какое отношение имеет ROM-загрузчик к отладке? При отладке, по уму, приложение грузится через JTAG. 24 минуты назад, __inline__ сказал: Когда приложения надо грузить из SD-карты, то в случае с C6745 встаёт вопрос изобретения велосипеда собственного загрузчика. ROM-загрузчик (штатный) C6745 не умеет грузить с SD-карты? Да даже собственный загрузчик - там ничего сложного. Формат .ais хорошо расписан у TI в соответствующей доке и у меня в своё время не возникло никаких проблем при его разборе. 24 минуты назад, __inline__ сказал: И кстати, глянул свои программы, там кода(имеено - кода!) на сотни кБ, так что оптимальнее всего отдать внутреннюю память на L2 Ну так и у меня было не мало. На 2 ядра к тому же. Но я его разбил на две категории "быстрый код" и "медленный код". И распределил каждую категорию в свою область памяти. 30 минут назад, __inline__ сказал: В кеше. Если размер кеша меньше размера кода, то необходимо некоторое время чтоб он (код) туда попал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 24 июля, 2020 Опубликовано 24 июля, 2020 · Жалоба 6 hours ago, jcxz said: ROM-загрузчик (штатный) C6745 не умеет грузить с SD-карты? Не умеет. 6 hours ago, jcxz said: Да даже собственный загрузчик - там ничего сложного. Формат .ais хорошо расписан у TI в соответствующей доке и у меня в своё время не возникло никаких проблем при его разборе. Тот загрузчик что самописанный, грузящий с SD-карты - сидит в этой самой L2. Если туда ещё быстрый код грузить, то загрузчик сам себя перетрёт Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться