Я делаю голый металлический проект на Cyclone V, и сейчас я пытаюсь сделать голое металлическое приложение на C. Однако у меня есть некоторые проблемы с включением исходного файла.
Например, я использую функцию alt_fpga_state_get()
из alt_fpga_manager.h
, но она выдает мне сообщение об ошибке
"неопределенная ссылка на 'atl_fpga_state_get ()'
Зная, что ему нужен исходный файл, содержащий функцию, я импортирую исходный файл без проблем. Однако, здесь есть еще одна вещь, которая внутри alt_fpga_manager.c
также выдает сообщение об ошибке
"неопределенная ссылка на 'alt_clock_is_enable'
Затем мне нужно импортировать исходный файл для alt_clock_manager.h
, и проблема будет продолжаться до тех пор, пока я не закончу импортировать всю папку src. После этого все проблемы с «неопределенной ссылкой» были решены, но пришла другая проблема, сообщающая, что мой OCRAM переполнен (я думаю, из-за добавления большого количества исходного файла).
Я хотел бы знать, есть ли какое-то решение для этого, потому что продолжать импортировать исходный файл не очень удобно. Я посмотрел на некоторые примеры и обнаружил, что в их makefile
есть эта строка
HWLIBS_SRC := alt_reset_manager.c alt_clock_manager.c alt_spi.c alt_globaltmr.c alt_timers.c alt_watchdog.c
Я думаю, что они включают исходный файл, но я не уверен. Надеюсь, кто-нибудь может дать мне подсказку, чтобы решить эту проблему.
Спасибо!