1. Напишите программу, которая записывает символ z в порт UART JTAG. Предусмотрите в программе анализ поля WSPACE в регистре управления UART, отражающего наличие свободного места в буфере FIFO для записываемых символов. Реализуйте выход из программы, если свободного места нет.
2. Отладьте программу. По содержимому поля WSPACE определите размер буфера FIFO. Используйте для этого окно с содержимым регистров AMP. Измените символ z на другой символ.
3. Модифицируйте программу из предыдущего пункта таким образом, чтобы символы выводились многократно. Реализуйте программную задержку в цикле вывода. Подберите задержку таким образом, чтобы происходило следующее.
4. Программа завершалась по переполнению буфера FIFO, и при этом выводилось в терминальное окно AMP минимальное количество символов. Подсчитайте количество выведенных символов. Сравните со значением, полученным в пункте 2.
5. Буфер FIFO никогда не переполняется, и программа реализует бесконечный цикл.
6. Буфер FIFO успевает вывести некоторое количество символов до того, как он переполнится.
|
|
Запишите в отчет подобранные задержки.
7. Напишите программу, которая выводит в терминальное окно AMP некоторое сообщение. Сообщение поместите в сегменте данных программы. Для этого используйте директиву.ASCIIZ ассемблера. Программа должна анализировать выводимый байт, и если он равен нулю, то вывод должен прекращаться. Оформите эту программу в виде процедуры, которая в последующем может быть использована для вывода из NIOS II процессорной системы различных сообщений. Параметром, передаваемым этой процедуре, является адрес текстовой строки в сегменте данных. В качестве тестового примера выведите свою фамилию, имя и отчество.