В дополнение к ответу, опубликованному TWang, я также хочу отметить, что способность пользователя назначать диапазон адресов зависит от начального адреса, так что конечный адрес не будет пересекаться (или, другими словами, не переноситься) на следующий бит.
Как видно, если вы назначите адрес смещения как 0x40020000, вы можете установить диапазон равным 128K, что означает от 0x40020000 до 0x4003FFFF.
Я полагаю, что это способ управления памятью, чтобы не происходило сумасшедшего поведения.
Я не уверен, является ли это намерением разработки Xilinx или спецификацией архитектуры процессора ARM.
Мой привилегированный метод для того, чтобы сделать это смотрит что-то как:
<xsl:stylesheet>
<xsl:output method='text'/>
<xsl:variable name='newline'><xsl:text>
</xsl:text></xsl:variable>
<!-- note that the layout there is deliberate -->
...
</xsl:stylesheet>
Затем каждый раз, когда Вы хотите произвести новую строку (возможно, в csv), можно произвести что-то как следующее:
<xsl:value-of select="concat(elem1,elem2,elem3,$newline)" />
Я использовал эту технику при выводе sql от входа xml. На самом деле я склонен создавать переменные для запятых, кавычек и новых строк.
Включайте Метод атрибута =, "текст" на xsl:output отмечает и включает новые строки в Ваше литеральное содержание в XSL в соответствующих точках. Если Вы предпочитаете сохранять исходный код опрятного использования своего XSL объектом
где Вы хотите новую строку.
Следующий код XSL будет создавать newline (перевод строки):
<xsl:text>
</xsl:text>
Для возврата каретки используйте:
<xsl:text>
</xsl:text>