Jump to content

    

aido

Участник
  • Content Count

    7
  • Joined

  • Last visited

Community Reputation

0 Обычный
  1. Здравствуйте! Может кто уже сталкивался - как включить watchdog на Xilinx Zynq в uboot? Думаю пока в 2 направлениях: 1) взять исходники из SDK и загнать их как-то в uboot 2) найти способ, как включить прерывания аппаратного вотчдога. С чего лучше здесь начинать?
  2. POST Tests in Uboot on the ARM

    Добрый день! Встала задача включить POST-тесты в Uboot для ARM-based системы. День поискав в инете, ничего не нашел дельного. В официальном репозитории весь код относится вроде как к PowerPC. Может кто сталкивался с подобным - подскажете, где можно хоть какую-то заготовку под армы взять?
  3. Доброго времени суток! Может кто сталкивался с работой со SRIO под Zynq? Просто я уже вдоль и поперек прочитал pg007 на srio, но яснее не стало, как хотя бы CAR-регистры прочитать у него в Linux, а не Standalone. Там общая структура разложена, но примеров кода нету, так что опереться не на что. Вдобавок ко всему, несмотря на несколько лет поддержки SRIO в ZYNQ, до сих пор нет на него драйвера в ядре линукса. То есть пока что документация на SRIO мне видится как "вода" без конкретики. Не подскажете, где можно найти примеры кода на Си приложений/драйверов Linux с использованием SRIO?
  4. Доброго времени суток! Изменил проект, добавил в Vivado поддержку SRIO, сгенерировал ядро и система перестала делать пробинг axidma. Вот секция devicetree, отвечающая за axidma: Кодaxi_dma_0: dma@40400000 {             #dma-cells = <1>;             compatible = "xlnx,axi-dma";             interrupt-parent = <&intc>;             interrupts = <0 29 4 0 30 4>;             reg = <0x40400000 0x10000>;             dma-channel@40400000 {                 compatible = "xlnx,axi-dma-mm2s-channel";                 interrupts = <0 29 4>;                 xlnx,datawidth = <0x40>;                 xlnx,device-id = <0x0>;             };             dma-channel@40400030 {                 compatible = "xlnx,axi-dma-s2mm-channel";                 interrupts = <0 30 4>;                 xlnx,datawidth = <0x40>;                 xlnx,device-id = <0x0>;             };         }; Она ничем не отличается от предыдущей рабочей версии. Вот то, что происходит: Код# dmesg | grep dma dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330 dma-pl330 f8003000.dmac:        DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16 Вот кусок конфига ядра: Код$ cat .config | grep DMA CONFIG_NEED_DMA_MAP_STATE=y CONFIG_HAVE_DMA_ATTRS=y CONFIG_HAVE_DMA_CONTIGUOUS=y CONFIG_HAVE_DMA_API_DEBUG=y CONFIG_HAVE_GENERIC_DMA_COHERENT=y CONFIG_ARM_DMA_MEM_BUFFERABLE=y CONFIG_ZONE_DMA_FLAG=0 CONFIG_DMA_SHARED_BUFFER=y CONFIG_DMA_CMA=y CONFIG_SCSI_DMA=y CONFIG_VIDEOBUF2_DMA_CONTIG=y CONFIG_SND_DMAENGINE_PCM=y CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y CONFIG_DMADEVICES=y CONFIG_DMADEVICES_DEBUG=y # CONFIG_DMADEVICES_VDEBUG is not set # DMA Devices # CONFIG_DW_DMAC_CORE is not set # CONFIG_DW_DMAC is not set # CONFIG_DW_DMAC_PCI is not set CONFIG_PL330_DMA=y # CONFIG_FSL_EDMA is not set CONFIG_XILINX_DMA_ENGINES=y CONFIG_XILINX_AXIDMA=y CONFIG_XILINX_DMATEST=y # CONFIG_XILINX_VDMATEST is not set CONFIG_XILINX_AXICDMA=y # CONFIG_XILINX_CDMATEST is not set # CONFIG_XILINX_DPDMA is not set CONFIG_XILINX_VDMA=y # CONFIG_XILINX_ZYNQMP_DMA is not set # CONFIG_NBPFAXI_DMA is not set CONFIG_DMA_ENGINE=y CONFIG_DMA_OF=y # DMA Clients # CONFIG_ASYNC_TX_DMA is not set CONFIG_DMATEST=y # CONFIG_DMA_API_DEBUG is not set CONFIG_HAS_DMA=y Как сделать так, чтобы появилась заветная строчка Кодxilinx-dma 40400000.axidma: Probing xilinx axi dma engine ? При загрузке PL подсистемы, uboot пишет следующее: Код  design filename = "base_zynq_design_wrapper;UserID=0XFFFFFFFF;Version=2015.4.1 "   part number = "7z045ffg900"   date = "2016/01/22"   time = "12:21:22"   bytes in bitstream = 13321404 zynq_align_dma_buffer: Align buffer at 400007a to 4000000(swap 1)
  5. Доброго времени суток! Пытаюсь сгенерировать device tree по вики-мануалам xilinx, вроде все получается (генерирует, блоб компилируется), но до последнего момента. Когда я прошиваю плату и загружаю линукс с нее, то выдает Kernel panic. При создании devicetree из OpenEmbedded линукс грузится нормально. Может какие-то опции забыл указать? Код[    2.804366] VFS: Mounted root (ext2 filesystem) on device 1:0. [    2.810668] VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6 [    2.818133] Please append a correct "root=" boot option; here are the available partitions: [    2.826429] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) [    2.834650] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.19.0-xilinx #1 [    2.841153] Hardware name: Xilinx Zynq Platform [    2.845701] [<c0014c08>] (unwind_backtrace) from [<c0011878>] (show_stack+0x10/0x14) [    2.853404] [<c0011878>] (show_stack) from [<c043fd24>] (dump_stack+0x88/0xc8) [    2.860613] [<c043fd24>] (dump_stack) from [<c043de90>] (panic+0xa0/0x1f8) [    2.867474] [<c043de90>] (panic) from [<c05c5210>] (mount_block_root+0x194/0x230) [    2.874930] [<c05c5210>] (mount_block_root) from [<c05c54a0>] (mount_root+0x108/0x110) [    2.882826] [<c05c54a0>] (mount_root) from [<c05c6050>] (initrd_load+0x224/0x314) [    2.890291] [<c05c6050>] (initrd_load) from [<c05c5590>] (prepare_namespace+0xe8/0x1d8) [    2.898278] [<c05c5590>] (prepare_namespace) from [<c05c4e4c>] (kernel_init_freeable+0x1d4/0x1e4) [    2.907132] [<c05c4e4c>] (kernel_init_freeable) from [<c043c724>] (kernel_init+0x8/0xe8) [    2.915203] [<c043c724>] (kernel_init) from [<c000e680>] (ret_from_fork+0x14/0x34) [    2.922752] CPU0: stopping [    2.925442] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.19.0-xilinx #1 [    2.931946] Hardware name: Xilinx Zynq Platform [    2.936478] [<c0014c08>] (unwind_backtrace) from [<c0011878>] (show_stack+0x10/0x14) [    2.944195] [<c0011878>] (show_stack) from [<c043fd24>] (dump_stack+0x88/0xc8) [    2.951396] [<c043fd24>] (dump_stack) from [<c0013498>] (ipi_cpu_stop+0x58/0x68) [    2.958774] [<c0013498>] (ipi_cpu_stop) from [<c0013b10>] (handle_IPI+0x88/0xb0) [    2.966152] [<c0013b10>] (handle_IPI) from [<c000865c>] (gic_handle_irq+0x58/0x5c) [    2.973706] [<c000865c>] (gic_handle_irq) from [<c0012380>] (__irq_svc+0x40/0x74) [    2.981163] Exception stack(0xc05fbf28 to 0xc05fbf70) [    2.986201] bf20:                   ae190bf5 00000000 ae190bf5 00000000 eefd9cc8 c062d6ec [    2.994361] bf40: ae0c44f3 00000000 00000000 c0446ed8 c06024f0 c05f9600 00000018 c05fbf70 [    3.002517] bf60: 03000001 c034493c 90000113 ffffffff [    3.007562] [<c0012380>] (__irq_svc) from [<c034493c>] (cpuidle_enter_state+0x50/0xd0) [    3.015460] [<c034493c>] (cpuidle_enter_state) from [<c00514f0>] (cpu_startup_entry+0x294/0x2e0) [    3.024228] [<c00514f0>] (cpu_startup_entry) from [<c05c4c6c>] (start_kernel+0x39c/0x3a8) [    3.032382] [<c05c4c6c>] (start_kernel) from [<00008074>] (0x8074) [    3.038544] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
  6. Цитата(dm.pogrebnoy @ Jan 16 2016, 12:40) Пробуйте через HSM/HSI. Недавно генерировал, все получалось. У меня так тоже все получалось. но все же хотелось бы знать, какие требования предъявляются к проекту, чтобы можно было не из терминала все генерить. или наоборот - перенести всю работу в терминал.
  7. Доброго времени суток! Пробую сгенерировать devicetree по инструкциям, которые написаны на сайте и получаю ошибку, что не может найти xparameters.h. Ладно бы среда давала полный путь до файла, где он ищется, тогда можно было бы догадаться, что пошло не так, а тут такие логи, что без бубна не разобраться. Ребят, кто сталкивался, что делать-то с этим? Код17:18:35 ERROR    : (XSDB Server)ERROR: [Hsi 55-1395] axi_dma is not Valid Driver for axi_dma_0 17:18:35 ERROR    : (SwPlatform) Failed to call setDriver Reason: ERROR: [Common 17-39] 'set_property' failed due to earlier errors. 17:18:43 ERROR    : (XSDB Server)ERROR: [Hsi 55-1545] Problem running tcl command ::sw_axidma_v9_0::generate : couldn't open "../../include/xparameters.h": no such file or directory     while executing "open $filename a"     (procedure "::hsi::utils::open_include_file" line 3)     invoked from within "::hsi::utils::open_include_file $file_name"     (procedure "::hsi::utils::define_include_file" line 4)     invoked from within "::hsi::utils::define_include_file $drv_handle "xparameters.h" "XAxiDma" "NUM_INSTANCES" "DEVICE_ID" "C_BASEADDR" "C_HIGHADDR" "C_SG_INCLUDE_STSCNTRL_S..."     (procedure "::sw_axidma_v9_0::generate" line 2)     invoked from within "::sw_axidma_v9_0::generate axi_dma_0" 17:18:43 ERROR    : (XSDB Server)ERROR: [Hsi 55-1442] Error(s) while running TCL procedure generate() 17:18:43 ERROR    : (XSDB Server)ERROR: [Hsi 55-1450] Error: running generate_bsp. 17:18:43 ERROR    : Error generating bsp sources: Failed in generating sources 17:18:43 ERROR    : Failed to regenerate sources for BSP project device_tree_bsp org.eclipse.core.runtime.CoreException: Internal error occurred while generating bsp sources. Please check the SDK Log view for further details.     at com.xilinx.sdk.sw.ui.handlers.RegenBspSourcesHandler.internalGenerateBsp(RegenBspSourcesHandler.java:178)     at com.xilinx.sdk.sw.ui.handlers.RegenBspSourcesHandler.access$2(RegenBspSourcesHandler.java:163)     at com.xilinx.sdk.sw.ui.handlers.RegenBspSourcesHandler$1$1.run(RegenBspSourcesHandler.java:131)     at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2345)     at com.xilinx.sdk.sw.ui.handlers.RegenBspSourcesHandler$1.run(RegenBspSourcesHandler.java:135)     at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)