Tinyriscv — простой и понятный, исходный документ автора превосходен. Здесь tinyriscv переносится на платформу разработки на основе отечественного FPGA (Anlogic Tang). Эта компиляция объединит цепочку инструментов RISC-V, компилятор Windows x86 TCC (разработка инструментов для стороны Windows), среду моделирования Iverilog и т. д. Эта цепочка инструментов поддерживает только Windows.
Tinyriscv: https://gitee.com/liangkangnan/tinyriscv
Anlogic Tang введение и ресурсы: https://wiki.sipeed.com/hardware/tang/zh/
Руководство Anlogic Tang: http://tang.lichee.pro/
Iverilog/GTKwave версия для Windows: http://bleyer.org/icarus/
Ресурсы tinyriscv на плате Tang могут работать с максимальной памятью 48M (выше 48M, ядро может работать с кодом, но JTAG может нормально обращаться к RAM и периферийным устройствам).
В среде TD разработка всего RTL-компиляции занимает около 8 минут.
sdk — содержит среду Tinyriscv sdk.
fpga — каталог, содержащий соответствующий код Verilog, проект TD, а также код и сценарии моделирования. Каталог sim содержит код моделирования, каталог test содержит соответствующий тестовый код C, каталог tb содержит тестовые скрипты Verilog (согласуется с tinyriscv).
tools — каталог, в котором хранятся инструменты и цепочки инструментов.
Плата разработки Anlogic Tang FPGA.
Имитатор cmsis-dap (имитатор поставляется с USB-преобразователем последовательного порта) или имитатор jlink (jlink не может напрямую использовать команду jlink или ozone для отладки RV, необходимо настроить jlink как openocd, который можно вызывать, см. эту статью для настройки https://blog.csdn.net/qingwufeiyang12346/article/details/45954595).
USB-последовательный порт (отладочный последовательный порт).
Запустите cmd.bat, откройте командное окно и запустите скрипт sdk.bat для компиляции библиотеки. После завершения компиляции запустите make test для компиляции тестового проекта. По завершении компиляции в корневом каталоге будет создана папка out, и выходные файлы elf, bin, dump и другие будут помещены в соответствующие папки в папке out.
Запустите cmd.bat, откройте окно командной строки, перейдите в каталог fpga/sim и при необходимости отдельно скомпилируйте, запустив команду compile_rtl.py .. для запуска компиляции Iverilog RTL. (Примечание: по умолчанию PLL включён, компиляция не пройдёт, необходимо удалить связанный с PLL код для моделирования, как показано на рисунке ниже, часть, связанная с clk, должна быть изменена).
Запустите sim_new_nowave.py ../tests/example/simple/simple.bin inst.data для создания файла inst.data (необходимо сначала перейти в каталог tests/example/simple и запустить make для компиляции), а затем запустить компиляцию.
Запустите fpga/sim/sim.bat, чтобы автоматически открыть инструмент GTKWave для просмотра формы сигнала моделирования. Как показано на рисунке ниже.
halt - приостановить работу процессора
reset - сбросить целевую плату
resume - возобновить выполнение
resume 0x123456 - возобновить выполнение с адреса 0x123456
reg <register> - вывести значение регистра
load_image <File Name> <Addr> - записать двоичный файл по указанному адресу
пример: load_image image.bin 0x4000000 - записать image.bin по адресу 0x4000000
dump_image <File Name> <Addr> <Size>
verify_image <File Name> <Addr> [bin|ihex|elf]
step [Addr] - без адреса: выполнить один шаг с текущего местоположения; с адресом: выполнить один шаг с адреса Addr
poll - запросить состояние целевой платы
bp <Addr> <Length> [hw] - установить точку останова по адресу Addr, длина инструкции равна Length, hw представляет собой аппаратную точку останова
rbp <Addr> - удалить точку останова в адресе Addr
mdw <Addr> [Count] - отобразить Count (по умолчанию 1) слов (4 байта) из физического адреса Addr
mdh <Addr> [Count] - отобразить Count (по умолчанию 1) полуслов (2 байта) из физического адреса Addr
mdb <Addr> [Count] - отобразить Count (по умолчанию 1) байт из физического адреса Addr
mww <Addr> <Value> - записать Value в физический адрес Addr, размер: одно слово (4 байта)
mwh <Addr> <Value> - записать Value в физический адрес Addr, размер: половина слова (2 байта)
mwb <Addr> <Value> - записать Value в физический адрес Addr, размер: один байт
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )