рдирд┐рд░рдкреЗрдХреНрд╖ рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП рдЗрдВрдЯреЗрд▓ рд╕рд╛рдЗрдХреНрд▓реЛрди рд╡реА рдкрд░ рдПрдХ рдирдВрдЧреЗ-рдзрд╛рддреБ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛ рдирд┐рд░реНрдорд╛рдг

рдбрдмрд▓-рдХреЛрд░ ARM Cortex A9 рдХреЗ рд╕рд╛рде SocKit рдЬреИрд╕реЗ рд╡рд┐рдХрд╛рд╕ рдмреЛрд░реНрдб рдкрд░ рд▓рд┐рдирдХреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд░реЙрдХреЗрдЯ рд╕рд╛рдЗрдВрд╕ рдирд╣реАрдВ рд╣реИред рдмреЛрд░реНрдб рдХрд╛ рдПрдХ рдирд┐рд░реНрдорд╛рддрд╛ рд░реЗрдбреА-рдЯреВ-рдпреВрдЬрд╝ рдЗрдореЗрдЬ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдПрд╕рдбреА рдХрд╛рд░реНрдб рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдореАрдбрд┐рдпрд╛ рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдЖрдк рдирдВрдЧреЗ рдзрд╛рддреБ рдХреЛ рдЫреВрдиреЗ рдХреЗ рд▓рд┐рдП рддрд░рд╕ рд░рд╣реЗ рд╣реИрдВ, рдПрдХ рдХреЛрдб рдХреА рдЧрд░реНрджрди-рдмреНрд░реЗрдХрд┐рдВрдЧ рдЧрддрд┐ рдПрдХ рдУрдПрд╕ рдХреЛрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рд╣реИ? рдЦреИрд░, рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрддрдирд╛ рдЖрд╕рд╛рди рдФрд░ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рд▓рдШреБ рдирд┐рдмрдВрдз рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рдЪрд░рдг-рджрд░-рдЪрд░рдг рдирд┐рд░реНрджреЗрд╢ рджреВрдВрдЧрд╛, рдХрд┐ рдХреИрд╕реЗ рдЖрдк рдЪрдХреНрд░рд╡рд╛рдд V SoC рдкрд░ рдкрд╣рд▓реА рдмрд╛рд░ рдирдВрдЧреЗ-рдзрд╛рддреБ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЙрд╕реЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ SoC рдХреЗ HPS рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХреЗ ARM Cortex A9 рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдЖрдкрдХреЛ Intel (Altera) Cyclone V SoC рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд╛рд╕ рдмреЛрд░реНрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВрдиреЗ SoCKit рдмреЛрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛:



рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕рднреА рдЪреАрдЬреЗрдВ рдбреЗрдмрд┐рдпрди рдЬреЗрд╕реА рдореЗрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЖрдк рдЗрд╕реА рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде рдЕрдиреНрдп рд▓рд┐рдирдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдпрд╛ рд╡рд┐рдВрдбреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдФрд░ рдЖрдкрдХреЛ DS-5 IDE рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдФрд░, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореБрдлреНрдд рд╕рдВрд╕реНрдХрд░рдг рдЖрдкрдХреЛ рдирдВрдЧреЗ-рдзрд╛рддреБ рдХреЛрдб рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рдЖрдкрдХреЛ рдкреВрд░реНрдг рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

1. рддреИрдпрд╛рд░реА

рдЖрдкрдХреЗ рдкрд╛рд╕ DS-5 рдХрд╛ рдкреВрд░реНрдг рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдЖрдкрдХреЛ рдореБрдлреНрдд DS-5 Altera рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рджреЛрдиреЛрдВ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ sudo рдореЛрдб рдореЗрдВ, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: / home / user / IntelFPGA рдХреЗ рд▓рд┐рдП DS-5 Altera рд╕рдВрд╕реНрдХрд░рдг, рдФрд░ / home / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / DS-5 рдХреЗ рдкреВрд░реНрдг рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдкрдХреЛ рд╕реНрдерд╛рдкрдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рд╣рд╛рде рд╕реЗ рдкрде рджрд░реНрдЬ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

2. рдЖрдИрдбреАрдИ рд░рдирд┐рдВрдЧ

2.1ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ /home/user/intelFPGA/16.1/embedded/embedded_command_shell.sh рдЪрд▓рд╛рдПрдВ, рдлрд┐рд░ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ / рдШрд░ / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / DS-5 / рдмрд┐рди рдореЗрдВ рдмрджрд▓реЗрдВ рдФрд░ IDE рдЪрд▓рд╛рдПрдВ

$ ./eclipse & 


рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдЬрдм рд╕рд┐рд╕реНрдЯрдо рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдЪрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓ /home/user/.profile рдореЗрдВ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП:

 QUARTUS_ROOTDIR=/home/user/intelFPGA/16.1/qprogrammer export PATH=$PATH:/usr/local/gcc-arm-none-eabi-5_4-2016q3/bin/:/home/user/intelFPGA/16.1/embedded/host_tools/mentor/gnu/arm/baremetal/bin/ 


рдпрджрд┐ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рддреЛ otter рдЖрд╡рд╢реНрдпрдХ рдЪрд░ рдЬреИрд╕реЗ QSYS_ROOTDIR рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рди рд░реЗрдЦрд╛ рдЬреЛрдбрд╝реЗрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рдХреНрд╡рд╛рд░реНрдЯрд╕ рдкреНрд░рд╛рдЗрдо рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдЗрдП рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рдХрд┐ рдХреНрд╡рд╛рд░реНрдЯрд╕ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ /home/user/intelFPGA/16.1/quartus/ рд╣реИред

Run Quartus Prime, рдЬреЛ /home/user/intelFPGA/16.1/quartus/bin/quartus рдкрд░ рд╕реНрдерд┐рдд рд╣реИ, рдФрд░ рдпрд╣ JTAG рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реИ, рдЬреЛ /home/user/intelpPGA/16.1/qprogrammer/bin/quartus_pgmw рдкрд░ рд╕реНрдерд┐рдд рд╣реИред

3. SoCkit рдХрдиреЗрдХреНрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИ

3.1ред SoCkit рдмреЛрд░реНрдб рдХреЛ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред "USB рдмреНрд▓рд╛рд╕реНрдЯрд░ (JTAG)" рдФрд░ "USB to UART" рдирд╛рдо рдХреЗ рдмреЛрд░реНрдб рдХреЗ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдкрд░ рдорд╛рдЗрдХреНрд░реЛрдпреВрдПрд╕рдмреА рдХреЗрдмрд▓ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред

3.2ред рдмреЛрд░реНрдб рдХреЛ рдЪрд╛рд▓реВ рдХрд░реЗрдВ рдФрд░ рджрд░реНрдЬ рдХрд░реЗрдВ:

 $ ls /dev/bus/usb/001 001 002 003 


рдЕрдВрддрд┐рдо рд╕рдВрдЦреНрдпрд╛ (003) рдПрдХ JTAG рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИред рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд╕реЗрдЯ рдХрд░реЗрдВ:

  $ sudo chmod 666 /dev/bus/usb/001/003 


рдЖрдкрдХреЛ рдЗрд╕реЗ рдмреЛрд░реНрдб рдкрд░ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд░ рдмрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

3.3ред TTY рдЯрд░реНрдорд┐рдирд▓ рдХреА рд╕реЗрдЯрд┐рдВрдЧ

рдЖрдк рдЗрд╕ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
 screen /dev/ttyUSB0 115200 


4. рдкреНрд░реАрд▓реЛрдбрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг (рдпреВ-рдмреВрдЯ-рд╕реНрдкреНрд▓)

4.1ред рдлрд╝рд╛рдЗрд▓ sockit_ghrd_16.0.tar.gz рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдЕрдирдкреИрдХ рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ / рдШрд░ / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / ghrd-16 / sockit_ghrd рдкрд░ рдЕрдирдкреИрдХ рдХрд░реЗрдВ ред

4.2ред рдХреНрд╡рд╛рд░реНрдЯрд╕ рдкреНрд░рд╛рдЗрдо рдЪрд▓рд╛рдПрдВ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ /home/user/ghrd-16/sockit_ghrd/soc_system.qpfред

4.3ред Qsys (рдЙрдкрдХрд░рдг / Qsys) рдЪрд▓рд╛рдПрдБред рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ /home/user/ghrd-16/sockit_ghrd/soc_system.qsysред рдПрдЪрдбреАрдПрд▓ рдЙрддреНрдкрдиреНрди / рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ рдФрд░ рдХреНрдпреВрдПрд╕ рдЫреЛрдбрд╝ рджреЗрдВред

4.4ред рдХреНрд╡рд╛рд░реНрдЯрд╕ рдкреНрд░рд╛рдЗрдо рдореЗрдВ рдЕрд╕реЗрдВрдмрд▓рд░ рдЪрд▓рд╛рдПрдВред

4.5ред рднрд╛рдЧреЛ bsp- рд╕рдВрдкрд╛рджрдХ: / home / user / intelFPGA / 16.1 / embedded / host_tools / altera / preloadergen /bsp-editorред рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ: рдлрд╝рд╛рдЗрд▓ / рдирдпрд╛ рдПрдЪрдкреАрдПрд╕ рдмреАрдПрд╕рдкреАред рдлрд╝реАрд▓реНрдб рдореЗрдВ " рдкреНрд░реАрд▓реЛрдбрд░ рд╕реЗрдЯрд┐рдВрдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ " "рд▓рд┐рдЦрдирд╛" / рдШрд░ / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / ghrd-16 / sockit_ghrd / hps_isw_handoff / soc_system_hps_0ред "

4.6ред рдкреНрд░реАрд▓реЛрдбрд░ рд╕реЗрдЯ рдХрд░реЗрдВред рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ рдЙрдиреНрдирддред Watchdog_enable рдХреЛ рдмрдВрдж рдХрд░реЗрдВред рдпрджрд┐ рдЖрдк JTAG рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд┐рдмрдЧ рд╕рдВрджреЗрд╢ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕реЗрдореАрд╣реЙрд╕реНрдЯрд┐рдВрдЧ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрд╛рдж Generate рдФрд░ press рдХреЛ рджрдмрд╛рдПрдБред

4.7ред рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдВрджреЗрд╢ рдХреЛ рдмрджрд▓рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ / spl_bsp / uboot-socfpga / board / altera / socfpga / socfpga_cyclone5.c рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ " BOARD: Altera SOCFPGA рдЪрдХреНрд░рд╡рд╛рдд V рдмреЛрд░реНрдб " рдХреЛ рджреВрд╕рд░реЗ рдкрд░ рдмрджрд▓реЗрдВ :
 /* * Print Board information */ int checkboard(void) { #ifdef CONFIG_SOCFPGA_VIRTUAL_TARGET puts("BOARD : Altera VTDEV5XS1 Virtual Board\n"); #else //puts("BOARD : Altera SOCFPGA Cyclone V Board\n"); puts("ARM preloader build by 32-bit.me\n"); #endif return 0; } 


4.8ред рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ SOCEDS_DEST_ROOT рдХреЛ /home/user/intelFPGA/16.1/embedded рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
 export SOCEDS_DEST_ROOT=/home/user/intelFPGA/16.1/embedded 

рдЕрдм рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдЬрд╛рдПрдВ
 /home/user/ghrd-16/sockit_ghrd/software/spl_bsp 
рдФрд░ рдмрдирд╛рддреЗ рд╣реИрдВ ред рдПрдХ рддреНрд░реБрдЯрд┐ "рдореЗрдХ: mppimage: рдХрдорд╛рдВрдб рдирд╣реАрдВ рдорд┐рд▓реА" рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдпреВ-рдмреВрдЯ-рд╕реНрдкреНрд▓ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрде / рдШрд░ / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / ghrd-16 / sockit_ghrd / software / spl_app / uboot-socfpga / spl рдореЗрдВ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП / рдпреВ-рдмреВрдЯ-рд╕реНрдкреНрд▓ ред

4.9ред рдкреНрд░реАрд▓реЛрдбрд░ рдХрд╛ рдкрд░реАрдХреНрд╖рдг

4.9.1ред рдЖрдкрдХреЛ рдкреНрд░реАрд▓реЛрдбрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП FPGA рдЫрд╡рд┐ (рдЬрд┐рд╕рдореЗрдВ ".sof" рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реИ) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдбреАрдПрд╕ -5 рдЪрд▓рд╛рдПрдВ, рдФрд░ "рд░рди / рдбрд┐рдмрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди" рдЦреЛрд▓реЗрдВред

4.9.2ред рдлрд╝реАрд▓реНрдб рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рдХреЛ CV SoCKit 1-1 рд╡рд┐рдХрд▓реНрдк рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ "рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░реЗрдВ" рдмрдЯрди рджрдмрд╛рдПрдВ рдФрд░ рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╕реЗрдЯ рдХрд░реЗрдВред рдпрджрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ, рддреЛ 3.1-3.2 рдХрд░реЗрдВред

4.9.3ред рдлрд╝рд╛рдЗрд▓ рдЯреИрдм рдкрд░ рдлрд╝рд╛рдЗрд▓ рдпреВ-рдмреВрдЯ-рд╕реНрдкреНрд▓ рд╕реЗрдЯ рдХрд░реЗрдВ, "рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрд╕реНрдЯ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди" рдлрд╝реАрд▓реНрдб рдореЗрдВ: / рд╣реЛрдо / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / ghrd-16 / sockit_ghrd / рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ / spl_bsp / uboot-socfpga / spl / u-boot-spl ред рдзреНрд╡рдЬ "рд▓реЛрдб рдкреНрд░рддреАрдХреЛрдВ" рд╕реЗрдЯ рдХрд░реЗрдВред "рдлрд╝рд╛рдЗрд▓реЗрдВ" рдлрд╝реАрд▓реНрдб рдЦрд╛рд▓реА рд░рд╣реЗрдВред

4.9.4ред рдбрд┐рдмрдЧрд┐рдВрдЧ рдЯреИрдм рдкрд░ рд▓реЙрдиреНрдЪ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдмрдВрдж рдХрд░реЗрдВред

4.9.5ред рдЯрд░реНрдорд┐рдирд▓ рдЙрдкрдпреЛрдЧрд┐рддрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдХреНрд░реАрди ) рдЪрд▓рд╛рдПрдВ рдФрд░ "рдбреАрдмрдЧ" рдмрдЯрди рджрдмрд╛рдПрдВред рдкреНрд░реАрд▓реЛрдбрд░ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдбрд┐рдмрдЧрд░ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред "рдЬрд╛рд░реА рд░рдЦреЗрдВ" рдмрдЯрди (рдпрд╛ F8) рджрдмрд╛рдПрдВ рдФрд░ рд╕рдВрджреЗрд╢ рджреЗрдЦреЗрдВ:

 U-Boot SPL 2013.01.01 (Jun 24 2017 - 19:49:33) ARM preloader build by 32-bit.me 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 370000 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 Card did not respond to voltage select! spl: mmc init failed: err - -17 ### ERROR ### Please RESET the board ### 


рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкреНрд░реАрд▓реЛрдбрд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╢реБрд░реВ рд╣реБрдЖред

4.9.6ред рд╕рддреНрд░ рдкреНрд░реЗрд╕ рдмрдЯрди рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж "рд▓рдХреНрд╖реНрдп рд╕реЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ" рдФрд░ "рдХрдиреЗрдХреНрд╢рди рдирд┐рдХрд╛рд▓реЗрдВ"ред

5. рдирдВрдЧреЗ-рдзрд╛рддреБ рдореЛрдб рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб рд▓рд┐рдЦреЗрдВред

5.1ред рдкреНрд░реЛрдЬреЗрдХреНрдЯ ArrowSocKit_BareMetal_GNU.zip рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред 2.1 рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░реЗрдВред рдбреАрдПрд╕ -5 рдЪрд▓рд╛рдПрдБ, рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЖрдпрд╛рдд рдХрд░реЗрдВ ( рдлрд╝рд╛рдЗрд▓ / рдЖрдпрд╛рдд / рдореМрдЬреВрджрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдореЗрдВ , рддреАрд░рдВрджрд╛рдЬреА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ )ред рдЕрдирдкреИрдХреНрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА / рд╣реЛрдо / рдпреВрдЬрд░ / рдбреАрдПрд╕-5-рд╡рд░реНрдХрд╕реНрдкреЗрд╕ / рдмрд░реЗрдореЗрдЯрд▓рдмреВрдЯ-рдЬреАрдПрдирдпреВ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред

5.2ред рдЖрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ make , рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рддрдХ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдХрд╛рд░реНрдп рдХрд░реЗрдВред

5.3ред рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ /home/user/intelFPGA/16.1/embedded/ip/altera/hps/altera_hps/hwlib рдХреЛ / home / user / DS-5-Workspace / рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВред рдпрд╣рд╛рдБ рдлрд╝реЛрд▓реНрдбрд░ src рдФрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ , рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ social_cv_av рдФрд░ soc_a10 рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдВ рд╣реИрдВред рдЖрдк soc_a10 рдирд╛рдо рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрд╕рдХреЗ рдмрд╛рдж libcs3.a, libcs3arm.a, libcs3unhosted.a рдХреЛ /home/user/intelFPGA/16.1/embedded/host_tools/mentor/gnu/arm-baremetal/arm-altera-eabi/lib рд╕реЗ рдХреЙрдкреА рдХрд░реЗрдВ ред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (/ рдШрд░ / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / DS-5-рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ / BareMetalBoot-GNU) рдХреЗ рд▓рд┐рдПред рдлрд╝рд╛рдЗрд▓ arm-names.inc рдХреЛ /home/user/intelFPGA/16.1/embedded/host_tools/mentor/gnu/arm/baremetal/arm-altera-eabi-lib/cortex-a9/ рд╕реЗ / home / user / DS- рд╕реЗ рдХреЙрдкреА рдХрд░реЗрдВред 5-рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ / рдмрд░реЗрдореЗрдЯрд▓рдмреВрдЯ-рдЬреАрдПрдирдпреВ / ред

5.4ред Makefile рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдореЗрдВ "CROSS_COMPILE: = arm-none-eabi-" рдХреЛ "CROSS_COMPILE: = arm-altera-eabi-"ред hlib рдХрд╛ рдорд╛рд░реНрдЧ рднреА рдмрджрд▓реЗрдВ: HWLIBS_ROOT: = / home / user / DS-5-Workspace / hllib

5.5ред рдЕрдм make рд░рдиред рдФрд░ рд╕рднреА рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдкрдврд╝реЗрдВред рдЕрдЧрд░ рдХреБрдЫ рдкреНрд░рддреАрдХ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ hwlib / src / soc_cv_av рдФрд░ hwlib / / / soc_cv_av рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ hwlib / src рдФрд░ hllib рдореЗрдВ рдПрдХ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕реА рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬрдм рдЖрдк рд╕рднреА рдлрд╝реНрдпреВрдЬрд╝ рдвреВрдВрдв рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ "mkimage: not found" рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рдХреЗрд╡рд▓ test.axf рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

5.6ред рдПрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЪрд▓ рд░рд╣рд╛ рд╣реИ

5.6.1ред рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ FPGA рдЫрд╡рд┐ (.sof рдлрд╝рд╛рдЗрд▓) рдХреЛ рд▓реЛрдб рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдкреНрд░реАрд▓реЛрдбрд░ рдмрдирд╛рддреЗ рд╕рдордп рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдерд╛ред рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдЪрд▓рд╛рдПрдВ рдЬреИрд╕рд╛ рд╣рдордиреЗ 2.1 рдореЗрдВ рдХрд┐рдпрд╛ рдерд╛ред рдиреАрдЪреЗ "рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реЗрдЯрдЕрдк" рдХреЗ рджрд╛рдИрдВ рдУрд░ "рд╕реАрд╡реА SoCKit [1-1]" рдкрд╛рда рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдкрдХреЛ JTAG рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд┐рдд рдЕрдиреБрдорддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП (рдКрдкрд░ рджреЗрдЦреЗрдВ) рдФрд░рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реЗрдЯрдЕрдк рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред

5.6.2ред "рдСрдЯреЛ рдбрд┐рдЯреЗрдХреНрдЯ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд╕реВрдЪреА рд╕реЗ рдПрдХ рдордирдорд╛рдирд╛ рд╡рд┐рдХрд▓реНрдк рдЪреБрдиреЗрдВред рдЖрдкрдХреЛ рджреЛ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ: рдПрдХ рд╡рд╣ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рдЪреБрдирд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 5CSEBA6) рдФрд░ рджреВрд╕рд░рд╛ рд╣реИ SOCVHPSред рдкрд╣рд▓рд╛ рдбрд┐рд╡рд╛рдЗрд╕ рдирд┐рдХрд╛рд▓реЗрдВ: рдЗрд╕реЗ рдЪреБрдиреЗрдВ рдФрд░ рдбрд┐рд▓реАрдЯ рджрдмрд╛рдПрдВред "рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ" рджрдмрд╛рдПрдВ рдФрд░ рдЫрд╡рд┐ рдлрд╝рд╛рдЗрд▓ (/home/user/ghrd-16/sockit_ghrd/output_files/soc_system.sof) рдЦреЛрд▓реЗрдВред SOCVHPS рдХреЗ рджрд╛рдИрдВ рдУрд░ рдПрдХ рдирдпрд╛ рдЙрдкрдХрд░рдг рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред рдЗрд╕реЗ рдорд╛рдЙрд╕ рдХреЗ рд╕рд╛рде рдЪреЗрди рдореЗрдВ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рд▓реЗ рдЬрд╛рдПрдВред рдЗрд╕рдХреЗ рдмрд╛рдж, рд╕реНрдЯрд╛рд░реНрдЯ рдХреЛ рджрдмрд╛рдПрдВ рдФрд░ рдЫрд╡рд┐ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВред

5.6.3ред рдбреАрдПрд╕ -5 рдореЗрдВ "рдлрд╛рдЗрд▓реЗрдВ" рдЯреИрдм рдкрд░ "рдбрд┐рдмрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди" рдЦреЛрд▓реЗрдВред "рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрд╕реНрдЯ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди" рд▓рд╛рдЗрди рдкрд░ рдлрд╝рд╛рдЗрд▓ рдпреВ-рдмреВрдЯ-рд╕реНрдкреНрд▓ рд╕реЗрдЯ рдХрд░реЗрдВред "рд▓реЛрдб рдкреНрд░рддреАрдХ" рдкрд░ рдПрдХ рдЪрд┐рд╣реНрди рдирд┐рдХрд╛рд▓реЗрдВред рдлрд╝рд╛рдЗрд▓ "test.axf" рдХреЛ "рдлрд╛рдЗрд▓" рд▓рд╛рдЗрди рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред рдбреАрдмрдЧрд░ рдЯреИрдм рдкрд░ "рд░рди рд▓рдХреНрд╖реНрдп рдЖрд░рдВрднреАрдХрд░рдг рдбрд┐рдмрдЧрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдПрдБ" рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдФрд░ рд╡реЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рд╕реНрдерд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ "рдбреАрдмрдЧ-рдЕрдирд╣реЙрд╕реНрдЯреЗрдб .ds" рд╕реЗрдЯ рдХрд░реЗрдВред рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реАрд▓реЛрдбрд░ рдХреЗ рд▓рд┐рдП рдкрде рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
# Load the SPL preloader into memory.
#
loadfile "/home/user/ghrd-16/sockit_ghrd/software/spl_bsp/uboot-socfpga/spl/u-boot-spl" 0x0


TTY рдЯрд░реНрдорд┐рдирд▓ рд╕реНрдХреНрд░реАрди рдЪрд▓рд╛рдПрдБ рдФрд░ рдбреАрдмрдЧ рджрдмрд╛рдПрдБред рдлрд┐рд░ рдкреНрд░реАрд▓реЛрдбрд░ рд╢реБрд░реВ рд╣реЛрдЧрд╛, рдПрдХ рдЖрд╡реЗрджрди рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдПрдХ рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рдкрд░ рдПрдХ рдбрд┐рдмрдЧрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред "рдЬрд╛рд░реА рд░рдЦреЗрдВ" рдмрдЯрди рджрдмрд╛рдПрдВред рдЯрд░реНрдорд┐рдирд▓ рдХреА рдПрдХ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЖрдкрдХреЛ рдкреНрд░реАрд▓реЛрдбрд░ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдлрд┐рд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВ:

 Disabled interrupts because preloader enabled ECC interrupts. Global Timer value at startup = 0x000000005A10B609 CPU frequency is 925000000 hertz. DDR frequency is 400000000 hertz. MPU peripheral frequency is 231250000 hertz. MB ZERO remapped to SDRAM. L3 interconnect remapped as inaccessible and SDRAM. Interrupt controller system API initialized. MMU initialized and enabled. L1 and L2 cache system initialized and enabled. GIC interrupts enabled. PIT started. PIT interrupt registered and enabled. GPIOs initialized. UART0 initialized. L3 interconnect remapped as accessible and SDRAM. Bridges initialized. Boot completed. Boot milestones: New buffer !ESTONE : GT TICKCOUNT : INCREMENTAL : CUMULATIVE initial GT : 0x000000005A10B609 : 0.000us : 0.000us frequency capture : 0x000000005A119D58 : 256.065us : 256.065us initial remapping : 0x000000005A11C936 : 48.562us : 304.627us interrupt sys init : 0x000000005A139FED : 521.094us : 825.721us mmu init : 0x000000005A62D774 : 22449.985us : 23275.706us cache init : 0x000000005A65CF96 : 841.488us : 24117.194us interrupts enabled : 0x000000005A65D0D7 : 1.388us : 24118.582us pit start : 0x000000005A65DD2E : 13.661us : 24132.242us pit enabled : 0x000000005A65DF67 : 2.461us : 24134.703us gpio init : 0x000000005A65FC12 : 31.736us : 24166.439us uart0 init : 0x000000005A66084D : 13.539us : 24179.978us fpga config : 0x0000000000000000 : 79769704095969360.000us : 79769704095993552.000us last remapping : 0x000000005A660981 : 6558428.303us : 24181.310us bridge init : 0x000000005A6611B6 : 9.085us : 24190.396us complete : 0x000000005A661222 : 0.467us : 24190.863us Hello world, 32bit-me! 


рдмрдзрд╛рдИ! рдЖрдкрдиреЗ рдХреЙрд░реНрдЯреЗрдХреНрд╕-рдП 9 рдХреЛрд░ рдкрд░ рд╕рд┐рд░реНрдл рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдирдВрдЧреЗ-рдзрд╛рддреБ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЪрд▓рд╛рдпрд╛ рд╣реИред

Source: https://habr.com/ru/post/hi463717/


All Articles