FC2カウンター FPGAの部屋 AXI4 Master IP にAXI4 Lite Slave を追加5(Linuxを起動)
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

AXI4 Master IP にAXI4 Lite Slave を追加5(Linuxを起動)

このブログ記事のトップは、”AXI4 Master IP にAXI4 Lite Slave を追加1(インプリメント)”
前の記事は、”AXI4 Master IP にAXI4 Lite Slave を追加4(FSBLとBOOT.binの生成)

SDカードにdevicetree_ramdisk.dtb と BOOT.bin が書けたので、SDカードをZedBoard に挿入して電源をONしてLinux を起動してみた。
Linuxが立ち上がった。ペンギン2頭を表示するフレームバッファのアドレスは下に示す通りに、0x19000000 にアサインされている。フレームバッファのアサインも問題ない。

[ 0.990000] fbi->fix.smem_start = 0x19000000


ちなみに、この表示部分は、”ZedBoard用Digilent Linuxの解析1(フレームバッファの領域確保)”で自分で、printk() でカーネルを書き換えて表示させた。

次に、Sysfs を確認した。
/sys/devices/axi.0 ディレクトリを ls してみたところ、”46000000.mt9d111-inf-axi-master”と”47000000.bitmap-disp-cntrler-axi-master”が表示されていた。2つのIP の AXI4 Lite Slave インターフェースは、正常に認識されているようだ。
AXI4M_and_Lite_Slave_49_130412.png

ちなみに、2つのIP の AXI4 Lite Slave インターフェースを増やす前の/sys/devices/axi.0 ディレクトリの内容は、”XPSプロジェクトにカスタムAX Slave Lite IPを追加してSysfsを見る”を参照のこと。

次は、2つのIP の AXI4 Lite Slave インターフェースが動作するかどうか?を確かめる。
最後に、ZedBoard Linuxの起動メッセージを下に貼っておく。

U-Boot 2012.04.01-00297-gc319bf9-dirty (Sep 13 2012 - 09:30:49)

DRAM: 512 MiB
WARNING: Caches not enabled
MMC: SDHCI: 0
Using default environment

In: serial
Out: serial
Err: serial
Net: zynq_gem
Hit any key to stop autoboot: 0
Copying Linux from SD to RAM...
Device: SDHCI
Manufacturer ID: 73
OEM: 4247
Name: NCard
Tran Speed: 25000000
Rd Block Len: 512
SD version 1.0
High Capacity: Yes
Capacity: 7.5 GiB
Bus Width: 1-bit
reading zImage

2450208 bytes read
reading devicetree_ramdisk.dtb

6578 bytes read
reading ramdisk8M.image.gz

3699284 bytes read
## Starting application at 0x00008000 ...
Uncompressing Linux... done, booting the kernel.
[ 0.000000] Booting Linux on physical CPU 0
[ 0.000000] Linux version 3.6.0-digilent-13.01 (masaaki@masaaki-VirtualBox) (gcc version 4.6.3 (Sourcery CodeBench Lite 2012.03-79) ) #6 SMP PREEMPT Fri Mar 8 19:52:15 JST 2013
[ 0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine: Xilinx Zynq Platform, model: Xilinx Zynq ZED
[ 0.000000] bootconsole [earlycon0] enabled
[ 0.000000] Memory policy: ECC disabled, Data cache writealloc
[ 0.000000] BUG: mapping for 0xe0001000 at 0xfe001000 out of vmalloc space
[ 0.000000] PERCPU: Embedded 7 pages/cpu @c1408000 s6976 r8192 d13504 u32768
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
[ 0.000000] Kernel command line: console=ttyPS0,115200 root=/dev/ram rw initrd=0x800000,8M earlyprintk rootfstype=ext4 rootwait devtmpfs.mount=0
[ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Memory: 512MB = 512MB total
[ 0.000000] Memory: 506768k/506768k available, 17520k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xe0800000 - 0xfd000000 ( 456 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc0423984 (4207 kB)
[ 0.000000] .init : 0xc0424000 - 0xc0449b40 ( 151 kB)
[ 0.000000] .data : 0xc044a000 - 0xc04828e0 ( 227 kB)
[ 0.000000] .bss : 0xc0482904 - 0xc04990b0 ( 90 kB)
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] Dump stacks of tasks blocking RCU-preempt GP.
[ 0.000000] RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[ 0.000000] NR_IRQS:512
[ 0.000000] Zynq clock init
[ 0.000000] xlnx,ps7-ttc-1.00.a #0 at 0xe0800000, irq=43
[ 0.000000] ------------[ cut here ]------------
[ 0.000000] WARNING: at arch/arm/kernel/smp_twd.c:389 time_init+0x20/0x30()
[ 0.000000] twd_local_timer_of_register failed (-19)
[ 0.000000] Modules linked in:
[ 0.000000] [] (unwind_backtrace+0x0/0xe0) from [] (warn_slowpath_common+0x4c/0x64)
[ 0.000000] [] (warn_slowpath_common+0x4c/0x64) from [] (warn_slowpath_fmt+0x2c/0x3c)
[ 0.000000] [] (warn_slowpath_fmt+0x2c/0x3c) from [] (time_init+0x20/0x30)
[ 0.000000] [] (time_init+0x20/0x30) from [] (start_kernel+0x1ac/0x2f0)
[ 0.000000] [] (start_kernel+0x1ac/0x2f0) from [<00008044>] (0x8044)
[ 0.000000] ---[ end trace 1b75b31a2719ed1c ]---
[ 0.000000] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 4294967286ms
[ 0.000000] Console: colour dummy device 80x30
[ 0.020000] Calibrating delay loop... 1332.01 BogoMIPS (lpj=6660096)
[ 0.110000] pid_max: default: 32768 minimum: 301
[ 0.110000] Mount-cache hash table entries: 512
[ 0.110000] CPU: Testing write buffer coherency: ok
[ 0.120000] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.120000] hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
[ 0.120000] Setting up static identity map for 0x2ed340 - 0x2ed374
[ 0.130000] L310 cache controller enabled
[ 0.130000] l2x0: 8 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x72360000, Cache size: 524288 B
[ 0.200000] Map SLCR registers
[ 0.200000] CPU1: Booted secondary processor
[ 0.290000] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[ 0.290000] Brought up 2 CPUs
[ 0.290000] SMP: Total of 2 processors activated (2664.03 BogoMIPS).
[ 0.300000] devtmpfs: initialized
[ 0.300000] NET: Registered protocol family 16
[ 0.310000] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.320000] xgpiops e000a000.gpio: gpio at 0xe000a000 mapped to 0xe084a000
[ 0.320000] registering platform device 'pl330' id 0
[ 0.330000] registering platform device 'arm-pmu' id 0
[ 0.330000] registering platform device 'zynq-dvfs' id 0
[ 0.340000]
[ 0.340000] ###############################################
[ 0.340000] # #
[ 0.350000] # Board ZED Init #
[ 0.350000] # #
[ 0.360000] ###############################################
[ 0.360000]
[ 0.370000] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[ 0.380000] hw-breakpoint: maximum watchpoint size is 4 bytes.
[ 0.400000] xslcr xslcr.0: at 0xF8000000 mapped to 0xF8000000
[ 0.420000] bio: create slab at 0
[ 0.420000] SCSI subsystem initialized
[ 0.420000] usbcore: registered new interface driver usbfs
[ 0.420000] usbcore: registered new interface driver hub
[ 0.430000] usbcore: registered new device driver usb
[ 0.440000] Advanced Linux Sound Architecture Driver Version 1.0.25.
[ 0.440000] Switching to clocksource xttcpss_timer1
[ 0.460000] Clockevents: could not switch to one-shot mode:
[ 0.460000] Clockevents: could not switch to one-shot mode: dummy_timer is not functional.
[ 0.460000] Could not switch to high resolution mode on CPU 1
[ 0.460000] dummy_timer is not functional.
[ 0.470000] Could not switch to high resolution mode on CPU 0
[ 0.490000] NET: Registered protocol family 2
[ 0.490000] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
[ 0.490000] TCP bind hash table entries: 16384 (order: 5, 131072 bytes)
[ 0.500000] TCP: Hash tables configured (established 16384 bind 16384)
[ 0.510000] TCP: reno registered
[ 0.510000] UDP hash table entries: 256 (order: 1, 8192 bytes)
[ 0.510000] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[ 0.520000] NET: Registered protocol family 1
[ 0.530000] Trying to unpack rootfs image as initramfs...
[ 0.530000] rootfs image is not initramfs (no cpio magic); looks like an initrd
[ 0.570000] Freeing initrd memory: 8192K
[ 0.570000] pl330 dev 0 probe success
[ 0.580000] msgmni has been set to 1005
[ 0.580000] io scheduler noop registered
[ 0.580000] io scheduler deadline registered
[ 0.590000] io scheduler cfq registered (default)
[ 0.590000] xuartps e0001000.uart: failed to get alias id, errno -19
[ 0.600000] e00rイconsole [ttyPS0] enabled, bootconsole disabled
[ 0.600000] console [ttyPS0] enabled, bootconsole disabled
[ 0.610000] xdevcfg f8007000.devcfg: ioremap f8007000 to e0852000 with size 1000
[ 0.620000] [drm] Initialized drm 1.1.0 20060810
[ 0.640000] brd: module loaded
[ 0.650000] loop: module loaded
[ 0.650000] xqspips e000d000.qspi: master is unqueued, this is deprecated
[ 0.660000] xqspips e000d000.qspi: at 0xE000D000 mapped to 0xE0854000, irq=51
[ 0.670000] libphy: XEMACPS mii bus: probed
[ 0.670000] xemacps e000b000.eth: Could not find MAC address in device tree, use default
[ 0.680000] xemacps e000b000.eth: pdev->id -1, baseaddr 0xe000b000, irq 54
[ 0.690000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.690000] xusbps-ehci xusbps-ehci.0: Xilinx PS USB EHCI Host Controller
[ 0.700000] xusbps-ehci xusbps-ehci.0: new USB bus registered, assigned bus number 1
[ 0.740000] xusbps-ehci xusbps-ehci.0: irq 53, io mem 0x00000000
[ 0.760000] xusbps-ehci xusbps-ehci.0: USB 2.0 started, EHCI 1.00
[ 0.760000] hub 1-0:1.0: USB hub found
[ 0.770000] hub 1-0:1.0: 1 port detected
[ 0.770000] Initializing USB Mass Storage driver...
[ 0.770000] usbcore: registered new interface driver usb-storage
[ 0.780000] USB Mass Storage support registered.
[ 0.790000] mousedev: PS/2 mouse device common for all mice
[ 0.790000] xwdtps f8005000.swdt: Xilinx Watchdog Timer at 0xe085c000 with timeout 10s
[ 0.800000] sdhci: Secure Digital Host Controller Interface driver
[ 0.810000] sdhci: Copyright(c) Pierre Ossman
[ 0.810000] sdhci-pltfm: SDHCI platform and OF driver helper
[ 0.820000] mmc0: Invalid maximum block size, assuming 512 bytes
[ 0.870000] mmc0: SDHCI controller on e0100000.sdhci [e0100000.sdhci] using ADMA
[ 0.880000] usbcore: registered new interface driver usbhid
[ 0.880000] usbhid: USB HID core driver
[ 0.900000] adv7511-hdmi-snd adv7511_hdmi_snd.2: CODEC adv7511.2-0039 not registered
[ 0.900000] platform adv7511_hdmi_snd.2: Driver adv7511-hdmi-snd requests probe deferral
[ 0.910000] TCP: cubic registered
[ 0.920000] NET: Registered protocol family 17
[ 0.920000] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[ 0.930000] Registering SWP/SWPB emulation handler
[ 0.930000] registered taskstats version 1
[ 0.940000] adv7511-hdmi-snd adv7511_hdmi_snd.2: CODEC adv7511.2-0039 not registered
[ 0.950000] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[ 0.950000] platform adv7511_hdmi_snd.2: Driver adv7511-hdmi-snd requests probe deferral
[ 0.960000] ALSA device list:
[ 0.960000] No soundcards found.
[ 0.970000] new mode: 1920x1080 2200x1125 148500
[ 0.970000] new mode: 720x480 858x525 27000
[ 0.970000] new mode: 1280x720 1650x750 74250
[ 0.970000] new mode: 720x576 864x625 27000
[ 0.970000] new mode: 1680x1050 1840x1080 119000
[ 0.970000] new mode: 1280x1024 1728x1067 132840
[ 0.970000] new mode: 1280x1024 1728x1066 128946
[ 0.970000] new mode: 1280x1024 1688x1066 108000
[ 0.970000] new mode: 1280x960 1800x1000 108000
[ 0.970000] new mode: 1280x800 1440x823 71000
[ 0.970000] new mode: 800x600 1056x628 40000
[ 0.970000] new mode: 800x600 1024x625 36000
[ 0.970000] new mode: 640x480 840x500 31500
[ 0.970000] new mode: 640x480 832x520 31500
[ 0.970000] new mode: 640x480 864x525 30240
[ 0.970000] new mode: 640x480 800x525 25200
[ 0.970000] new mode: 720x400 900x449 28320
[ 0.970000] new mode: 1280x1024 1688x1066 135000
[ 0.970000] new mode: 1024x768 1312x800 78800
[ 0.970000] new mode: 1024x768 1328x806 75000
[ 0.970000] new mode: 1024x768 1344x806 65000
[ 0.970000] new mode: 832x624 1152x667 57284
[ 0.970000] new mode: 800x600 1056x625 49500
[ 0.970000] new mode: 800x600 1040x666 50000
[ 0.970000] new mode: 848x480 1088x517 33750
[ 0.970000] new mode: 1152x864 1600x900 108000
[ 0.970000] new mode: 1280x768 1440x790 68250
[ 0.970000] new mode: 1280x768 1696x805 102250
[ 0.970000] new mode: 1280x800 1696x838 106500
[ 0.970000] new mode: 1360x768 1792x795 85500
[ 0.970000] new mode: 1400x1050 1560x1080 101000
[ 0.970000] new mode: 1400x1050 1896x1099 156000
[ 0.970000] new mode: 1440x900 1600x926 88750
[ 0.970000] new mode: 1440x900 1936x942 136750
[ 0.970000] new mode: 1024x576 1312x597 46970
[ 0.970000] new mode: 1366x768 1800x795 85885
[ 0.970000] new mode: 1600x900 2128x932 118963
[ 0.970000] new mode: 1680x945 2240x978 131481
[ 0.970000] new mode: 640x480 800x525 25175
[ 0.970000] new mode: 720x480 858x525 27000
[ 0.970000] new mode: 720x480 858x525 27000
[ 0.970000] new mode: 1280x720 1650x750 74250
[ 0.970000] new mode: 1920x1080 2200x1125 74250
[ 0.970000] new mode: 1920x1080 2200x1125 148500
[ 0.970000] new mode: 720x576 864x625 27000
[ 0.970000] new mode: 720x576 864x625 27000
[ 0.970000] new mode: 1280x720 1980x750 74250
[ 0.970000] new mode: 1920x1080 2640x1125 74250
[ 0.970000] new mode: 1440x576 1728x625 54000
[ 0.970000] new mode: 1920x1080 2640x1125 148500
[ 0.970000] new mode: 1920x1080 2200x1125 148500
[ 0.970000] new mode: 720x480 858x525 27000
[ 0.970000] new mode: 1280x720 1650x750 74250
[ 0.970000] new mode: 720x576 864x625 27000
[ 0.970000] new mode: 800x600 1056x628 40000
[ 0.970000] new mode: 800x600 1024x625 36000
[ 0.970000] new mode: 640x480 840x500 31500
[ 0.970000] new mode: 640x480 832x520 31500
[ 0.970000] new mode: 640x480 864x525 30240
[ 0.970000] new mode: 640x480 800x525 25200
[ 0.970000] new mode: 720x400 900x449 28320
[ 0.970000] new mode: 1280x1024 1688x1066 135000
[ 0.970000] new mode: 1024x768 1312x800 78800
[ 0.970000] new mode: 1024x768 1328x806 75000
[ 0.970000] new mode: 1024x768 1344x806 65000
[ 0.970000] new mode: 832x624 1152x667 57284
[ 0.970000] new mode: 800x600 1056x625 49500
[ 0.970000] new mode: 800x600 1040x666 50000
[ 0.970000] new mode: 640x480 800x525 25175
[ 0.970000] new mode: 720x480 858x525 27000
[ 0.970000] new mode: 720x480 858x525 27000
[ 0.970000] new mode: 1280x720 1650x750 74250
[ 0.970000] new mode: 1920x1080 2200x1125 74250
[ 0.970000] new mode: 1920x1080 2200x1125 148500
[ 0.970000] new mode: 720x576 864x625 27000
[ 0.970000] new mode: 720x576 864x625 27000
[ 0.970000] new mode: 1280x720 1980x750 74250
[ 0.970000] new mode: 1920x1080 2640x1125 74250
[ 0.970000] new mode: 1440x576 1728x625 54000
[ 0.970000] new mode: 1920x1080 2640x1125 148500
[ 0.980000] mmc0: new high speed SDHC card at address b368
[ 0.990000] fbi->screen_base = 0xe08d1000
[ 0.990000] fbi->fix.smem_start = 0x19000000
[ 0.990000] fbi->screen_size = 0x7e9000
[ 0.990000] mmcblk0: mmc0:b368 NCard 7.48 GiB
[ 0.990000] mmcblk0: p1
[ 1.000000] adv7511-hdmi-snd adv7511_hdmi_snd.2: CODEC adv7511.2-0039 not registered
[ 1.000000] platform adv7511_hdmi_snd.2: Driver adv7511-hdmi-snd requests probe deferral
[ 1.360000] RAMDISK: gzip image found at block 0
[ 1.360000] setting clock to: 148500
[ 1.360000] raw_edid: d8c03c80 7
[ 1.360000] Using YCbCr output
[ 1.400000] Console: switching to colour frame buffer device 240x67
[ 1.450000] fb0: frame buffer device
[ 1.450000] drm: registered panic notifier
[ 1.460000] [drm] Initialized analog_drm 1.0.0 20110530 on minor 0
[ 1.670000] EXT4-fs (ram0): warning: mounting unchecked fs, running e2fsck is recommended
[ 1.680000] EXT4-fs (ram0): mounted filesystem without journal. Opts: (null)
[ 1.690000] VFS: Mounted root (ext4 filesystem) on device 1:0.
[ 1.690000] Freeing init memory: 148K
Starting rcS...
++ Mounting filesystem
++ Setting up mdev
++ Configure static IP 192.168.3.130
++ Starting telnet daemon
++ Starting http daemon
++ Starting ftp daemon
++ Starting dropbear (ssh) daemon
++ Starting OLED Display
insmod: can't read '/lib/modules/3.6.0-digilent-13.01/pmodoled-gpio.ko': No such file or directory
++ Exporting LEDs & SWs
rcS Complete
zynq> [ 4.930000] xemacps e000b000.eth: Set clk to 24999999 Hz
[ 4.930000] xemacps e000b000.eth: link up (100/FULL)


次のブログ記事は、”AXI4 Master IP にAXI4 Lite Slave を追加6(Cテストプログラム)
  1. 2013年04月13日 04:27 |
  2. 複数のAXI4 バスを持つIPの作製
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog.fc2.com/tb.php/2436-68703182
この記事にトラックバックする(FC2ブログユーザー)