Используя Ionic 2 beta 6, я решил простую задачу. Я сбросил свои изображения в app/assets/images
(этот путь совершенно произвольный). Затем я добавил следующую задачу в gulpfile.js
:
gulp.task("assets", function() {
return gulp.src(["app/assets/images/*"])
.pipe(gulp.dest("www/build/images"));
});
Вам также необходимо обновить задачи watch
и build
, чтобы включить новую задачу assets
в их вызовы runSequence()
. Я не верю, что порядок задач в последовательности имеет значение, в этом случае:
gulp.task("build", ["clean"], function(done) {
runSequence(
["sass", "html", "fonts", "assets", "scripts"],
function() {
buildBrowserify().on("end", done);
}
);
});
Если вы выводите свои изображения по тому же пути, что и я, то вы бы ссылались на свои изображения в CSS из ../images/image-name.png
и в <img>
тегах из build/images/image-name.png
. Я подтвердил, что эти изображения видны как из браузера, так и с устройства Android. Я не думаю, что для iOS все должно быть иначе.
ARM9 обеспечивает манипулирование кешем и тестовые регистры, которые позволяют вам проверять состояние кеша. Вот разумная отправная точка:
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0151c/Chdcfejb.html
ICache и DCache поддерживаются с использованием MCR и инструкции MRC для регистров 7 и 9 CP15, определенные моделью программиста ARM v4T. Дополнительные операции доступны с использованием MCR и MRC для регистра CP15 15. Эти операции объединены с операциями, использующими регистры 7 и 9, чтобы обеспечить тестирование кешей полностью программно.
Это привилегированные инструкции, поэтому они могут быть недоступны на вашей цели. платформа.
Я бы начал с простой программы, которая выгружает состояние всех строк кэша.
Я не решаюсь написать это невозможно, поэтому я пишу это очень сложно. Вероятно, нет общего ответа. учитывая, что кэш ЦП работает прозрачно, невозможно прочитать его содержимое с подключенного ЦП без изменения содержимого кеша. Кеши ЦП обычно реализуются как CAM (память с адресацией по содержимому, ассоциативная память), если ЦП пытается получить доступ к данным, выполняется поиск кеша, если данных нет, они извлекаются из памяти, но я боюсь, что этот процесс прозрачен для ЦП .
Можно использовать своего рода модуль наблюдения за аппаратным обеспечением и анализатор данных на системной шине, который соединяет кеш-память с ОЗУ. Если запрос данных появится на шине, значит, запрошенные данные не были в кеше.
надеюсь, что кто-то с более глубокими знаниями HW прольет свет.
в википедии есть запись, посвященная кэшированию ЦП: http://en.wikipedia.org/wiki/CPU_cache
По определению, все, что вам нужно сделать для чтения содержимого кеша, - это загрузить ячейку памяти, которая хранится в кэше. Если кэш работает правильно, он извлечет содержимое из кеша.
Однако, если вы пытаетесь прочитать содержимое I-кеша, это зависит от архитектуры. Кроме того, вам нужно будет учитывать условия гонки. Инструкция для чтения содержимого кеша может непреднамеренно перезаписать само содержимое кеша.
Как указано в этот поток , простое использование ЦП может привести к изменению содержимого кеша. Поскольку (большинство) реализаций кеша намеренно полностью прозрачны для ЦП, вы не сможете просматривать содержимое кеша непосредственно из программного обеспечения, работающего на традиционных ЦП.
Чтобы сделать что-то подобное, потребовалось бы либо поддерживающее кэширование CPU (со специальными инструкциями для управления кешем; я понятия не имею, существуют ли они на самом деле), или вам потребуется установить отдельный HW-модуль для просмотра кеша. Вот 2 идеи, которые у меня есть для этого:
Замените исходный контроллер кеша на тот, который имеет дополнительные функции управления и может быть подключен к системной шине для чтения данных. Этот контроллер находится «между» процессором и кешем.
Разместите вторичный модуль параллельно с исходным кешем с доступом только для чтения. Используя специальную линию прерывания (или аналогичный аппаратный -NOT- программный сигнал), ЦП мог затем запустить дамп кеша в память этого модуля, а затем прочитать его (по шине) позже. Этот контроллер не повлияет на работу вашего кеша; это просто позволит вам делать снимки в любой момент времени.