Работаю с Quartus 17.0 + SoC EDS.
Тренируюсь на KIT для Cyclon V.
На SD карточке зашивка ПЛИС и baremetal программка.
При включении Preloader грузит зашивку ПЛИС, я вижу что она работает.
А вот baremetal программа не работает(светодиоды не мигают).
Чувствую что ошибка где-то при переходе от файла axf к файлу img.
Я получил файл img следующим образом.
Преобразовал файл axf в bin командой
arm-altera-eabi-objcopy\
-O binary altera_gcc_hps_led.axf\
altera_gcc_hps_led.bin
Преобразовал файл bin в img командой
mkimage\
-A arm\
-O u-boot\
-T standalone\
-C none\
-a 0x100040\
-e 0x100040\
-n "baremetal image"\
-d altera_gcc_hps_led.bin\
altera_gcc_hps_led.img
Я не понимаю какой смысл несут параметры
-a адрес загрузки и -е точка входа,
чувствую что ошибка где-то здесь, а в чем не могу понять.
В свойствах проекта DS-5 линкеру указывается файл cycloneV-dk-ram.ld
На просторах интернета видел вот такой совет.
Будто бы файл для линкера cycloneV-dk-ram.ld надо поправить руками,
а конкретно на строке 24 должно быть так
MEMORY
{
boot_rom (rx) : ORIGIN = 0xfffd0000, LENGTH = 64K
oc_ram (rwx) : ORIGIN = 0xffff0000, LENGTH = 64K
/* Need to have 64bytes available before start of program, to store the mkimage header */
ram (rwx) : ORIGIN = 0x100000 + 0x40, LENGTH = 1023M - 0x40
}
Я это пока не пробовал и не понимаю зачем это.
Кто нибудь пролейте свет по этому вопросу?
Зачем руками править файл cycloneV-dk-ram.ld
И какой смысл несут параметры -a адрес загрузки и -е точка входа команды mkimage.
И как это вообще все друг с другом связано?