реклама на сайте
подробности

 
 
> CycloneV GIC baremetal пример, как загрузить проект из SD/MMC ?
Alligator75
сообщение May 12 2016, 08:26
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 174
Регистрация: 8-01-11
Из: Москва, СВАО
Пользователь №: 62 092



Всем привет, проведите ликбез плиз.

Собственно в чем вопрос - переношу пример из UNIVERSITY PROGRAM GIC_Example в DS-5. Все работает при условии, если выполняю последовательность (SD карта отсутствует в слоте):

1. Заливаю прошивку в FPGA.
2.
Код
quartus_hps --cable="DE-SoC [USB-1]" -o GDBSERVER --gdbport0=2827 --preloader=C:/altera/15.1/University_Program/Monitor_Program/arm_tools/u-boot-spl.srec --preloaderaddr=0xffff1398 --source=C:/altera/15.1/University_Program/Monitor_Program/blank.srec

3. Через DS-5 заливаю код. Код компилируется с настройками линкера:
Код
-T "C:\DS-5 Workspace\TestGCC\altera-socfpga-hosted-with-vectors.ld" -Wl,--defsym -Wl,arm_program_mem=0x40 -Wl,--defsym -Wl,arm_available_mem_size=0x3fffffbc -Wl,--defsym -Wl,__cs3_stack=0x3ffffffc -Wl,--section-start -Wl,.vectors=0x0


А как все это настроить на автоматический запуск из SD/MMC? - тупик. Стандартные приемы у меня не дали результата.

Прикрепленный файл  TestGCC.zip ( 50.24 килобайт ) Кол-во скачиваний: 34




--------------------
vk.com/ok.automation
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vadimuzzz
сообщение May 13 2016, 13:44
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



покажите выхлоп в консоль от предзагрузчика при запуске с карточки
Go to the top of the page
 
+Quote Post
Alligator75
сообщение May 13 2016, 16:13
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 174
Регистрация: 8-01-11
Из: Москва, СВАО
Пользователь №: 62 092



Это в консоли:
Код
U-Boot SPL 2013.01.01 (May 13 2016 - 19:00:50)
BOARD : Altera SOCFPGA Cyclone V Board
CLOCK: EOSC1 clock 25000 KHz
CLOCK: EOSC2 clock 25000 KHz
CLOCK: F2S_SDR_REF clock 0 KHz
CLOCK: F2S_PER_REF clock 0 KHz
CLOCK: MPU clock 925 MHz
CLOCK: DDR clock 400 MHz
CLOCK: UART clock 100000 KHz
CLOCK: MMC clock 50000 KHz
CLOCK: QSPI clock 3613 KHz
RESET: COLD
SDRAM: Initializing MMR registers
SDRAM: Calibrating PHY
SEQ.C: Preparing to start memory calibration
SEQ.C: CALIBRATION PASSED
SDRAM: 1024 MiB
ALTERA DWMMC: 0
reading u-boot.img
reading u-boot.img


U-Boot 2013.01.01 (May 13 2016 - 11:47:37)

CPU   : Altera SOCFPGA Platform
BOARD : Altera SOCFPGA Cyclone V Board
I2C:   ready
DRAM:  1 GiB
MMC:   ALTERA DWMMC: 0
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Skipped ethaddr assignment due to invalid EMAC address in EEPROM
Net:   mii0
Warning: failed to set MAC address

Hit any key to stop autoboot:  0
reading u-boot.scr
** Unable to read file u-boot.scr **
Optional boot script not found. Continuing to boot normally
reading zImage
** Unable to read file zImage **
reading socfpga.dtb
** Unable to read file socfpga.dtb **
Bad Linux ARM zImage magic!
SOCFPGA_CYCLONE5 # <INTERRUPT>
SOCFPGA_CYCLONE5 #


Это в DS-5:
Код
Stopping running target Altera - Cyclone V SoC (Dual Core) on TCP:localhost on connection
Connected to running target Altera - Cyclone V SoC (Dual Core) on TCP:localhost
Execution stopped at: S:0x3FF8D954
source /v "C:\altera\15.1\embedded\ds-5\sw\debugger\configdb\Scripts\altera_target_check.py"
S:0x3FF8D954   B        {pc}-0xc; 0x3ff8d948

No SYSID registers could be found. Has a peripheral description file been supplied?

loadfile "C:\DS-5 Workspace\TestGCC\Debug\TestGCC.axf"
Loaded section .vectors: S:0x00000000 ~ S:0x0000003F (size 0x40)
Loaded section .text: S:0x00000040 ~ S:0x000007FB (size 0x7BC)
Loaded section .eh_frame: S:0x000007FC ~ S:0x000007FF (size 0x4)
Loaded section .rodata: S:0x00000800 ~ S:0x00000857 (size 0x58)
Loaded section .data: S:0x00000858 ~ S:0x00000C97 (size 0x440)
Loaded section .bss: S:0x00000C98 ~ S:0x00000CB7 (size 0x20)
Entry point S:0x00000120
cd "C:\DS-5 Workspace"
Working directory "C:\DS-5 Workspace"
set debug-from main
start
Starting target with image C:\DS-5 Workspace\TestGCC\Debug\TestGCC.axf
Running from entry point
wait
Execution stopped at breakpoint 1: S:0x00000398
In interrupt_example.c
S:0x00000398   17,0   {
Deleted temporary breakpoint: 1
wait
continue


После старта программа вываливается в:
Код
void __attribute__ ((interrupt)) __cs3_reset (void)
{
    volatile int * LED_ptr = (int *) LED_BASE;
    *LED_ptr=0b10000000;

    while(1);
}


--------------------
vk.com/ok.automation
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 05:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.014 секунд с 7
ELECTRONIX ©2004-2016