Работаю с 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. И как это вообще все друг с другом связано?
|