Цитата(nmurzin @ Jun 8 2017, 23:00)

Преобразовал файл 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 адрес загрузки и -е точка входа,
чувствую что ошибка где-то здесь, а в чем не могу понять.
Приветствую.
Я использую немного другой синтаксис для mkimage :
Код
mkimage -A arm -T standalone -C none -a 0x100000 -e 0 -n "baremetal image" -d app_binary.bin app.img
Попробуйте.
Цитата
В свойствах проекта 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
}
Использую компилятор ARM, файл линкера такой:
Код
SDRAM 0x00100000 0x40000000
{
VECTORS +0
{
* (VECTORS, +FIRST)
}
APP_CODE +0
{
* (+RO, +RW, +ZI)
}
; Application heap and stack
ARM_LIB_STACKHEAP +0 ALIGN 16 EMPTY 0x4000; Application heap and stack
{
}
}
OCRAM 0xFFFF0000 0xFFFFF000
{
TLB +0 ALIGN 16384 UNINIT 0x4000
{
*(tlb_table)
}
}
Область OCRAM используется для расположения таблицы MMU, всё остальное - в DDR SDRAM.
Смещение в 64 байта не делаю, нафиг не нужно оказалось.
Вообще, неплохо для начала использовать дебаггер, в нём видно будет весь процесс.
А в слепую тяжеловато ковыряться.
Прелоадер какую информацию по UART выдаёт?
Лог загрузки (в случае MPL загрузчика) обычно такой:
Код
INIT: MPL build: May 7 2017 20:11:53
INIT: Initializing board.
INIT: MPU clock = 800 MHz
INIT: DDR clock = 400 MHz
INIT: Initializing successful.
MPL: SDRAM Size is 1048576KB.
MPL: Booting from FAT.
FAT: Mounting FAT.
FAT: Read image [app.img] header.
FAT: Read remaining image data.
FAT: Image loaded to memory.
FAT: Read FPGA [fpga.img] header.
FAT: Read remaining FPGA data.
FAT: FPGA loaded to memory.
MPL: FPGA configured.
MPL: Launching next stage.