FC2カウンター FPGAの部屋 2019年10月30日
FC2ブログ

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

FPGAの部屋

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

SDx 2019.1 のUltra96-V2 用プラットフォームを作る4(PetaLinux3)

SDx 2019.1 のUltra96-V2 用プラットフォームを作る3(PetaLinux2)”の続き。

前回は、カーネルの petalinux-config とRoot File System の petalinux-config を行って、プロジェクトをビルドした。今回は、boot, image ディレクトリを作り、boot.bif を作成し、mylib と mylib2 を作成する。

Ultra96V2_Platform1/images/linux に boot, image ディレクトリを生成した。

boot ディレクトリには、bl31.elf, pmufw.elf, u-boot.elf を上のディレクトリからコピーした。そして、zynqmp_fsbl.elf を fsbl.elf と名前を変えて boot ディレクトリにコピーした。

image ディレクトリには、上のディレクトリから、image.ub をコピーした。
SDx2019_1_platform_30_191028.png

PetaLinux/PetaL_Proj/Ultra96V2_Platform1/images/linux に boot.bif を生成した。
これはフルパスで書く必要があったので、フルパスで書いた。
SDx2019_1_platform_31_191028.png

tthe_ROM_image:
{
    [fsbl_config] a53_x64
    [bootloader] /media/masaaki/Ubuntu_Disk/tools/Xilinx/PetaLinux/PetaL_Proj/2019.1/Ultra96V2_Platform1/images/linux/boot/fsbl.elf
    [pmufw_image] /media/masaaki/Ubuntu_Disk/tools/Xilinx/PetaLinux/PetaL_Proj/2019.1/Ultra96V2_Platform1/images/linux/boot/pmufw.elf
    [destination_device=pl] /home/masaaki/HDL/Ultra96/SDx_platform/2019.1/Ultra96V2_Platform1/Ultra96V2_Platform1.runs/impl_1/Ultra96V2_Platform1_wrapper.bit
    [destination_cpu=a53-0, exception_level=el-3, trustzone] /media/masaaki/Ubuntu_Disk/tools/Xilinx/PetaLinux/PetaL_Proj/2019.1/Ultra96V2_Platform1/images/linux/boot/bl31.elf
    [destination_cpu=a53-0, exception_level=el-2] /media/masaaki/Ubuntu_Disk/tools/Xilinx/PetaLinux/PetaL_Proj/2019.1/Ultra96V2_Platform1/images/linux/boot/u-boot.elf
}


Linux user application を作成する。
petalinux-create -t apps --template install --name mylib --enable
SDx2019_1_platform_32_191028.png

Ultra96V2_Platform1/project-spec/meta-user/recipes-apps/mylib/files/ ディレクトリの mylib ファイルを削除した。
SDx2019_1_platform_35_191028.png

tools/Xilinx/SDx/2018.3/target/aarch64-linux/lib/libsds_lib.so を
SDx2019_1_platform_36_191028.png

Ultra96V2_Platform1/project-spec/meta-user/recipes-apps/mylib/files/ ディレクトリにコピーした。
SDx2019_1_platform_37_191028.png

PetaLinux/PetaL_Proj/Ultra96V2_Platform1/project-spec/meta-user/recipes-apps/mylib/mylib.bb を編集した。
SDx2019_1_platform_38_191028.png

mylib.bb の内容を示す。

#
# This file is the mylib recipe.
#

SUMMARY = "Simple mylib application"
SECTION = "PETALINUX/apps"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"

SRC_URI = "file://libsds_lib.so \
 "

S = "${WORKDIR}"
TARGET_CC_ARCH += "${LDFLAGS}"
do_install() {
      install -d ${D}/${bindir}
      install -m 0755 ${S}/libsds_lib.so ${D}/${bindir}
}
FILES_${PN} += "${libdir}"
FILES_SOLIBSDEV = ""


ROOT FSをビルドした。
petalinux-build -c rootfs
SDx2019_1_platform_39_191028.png

ログを示す。

(py27) masaaki@masaaki-H110M4-M01:/media/masaaki/Ubuntu_Disk/tools/Xilinx/PetaLinux/PetaL_Proj/2019.1/Ultra96V2_Platform1$ petalinux-build -c rootfs
[INFO] building rootfs
[INFO] sourcing bitbake
[INFO] generating user layers
INFO: bitbake petalinux-user-image -c do_image_complete
Loading cache: 100% |############################################| Time: 0:00:00
Loaded 3811 entries from dependency cache.
Parsing recipes: 100% |##########################################| Time: 0:00:03
Parsing of 2778 .bb files complete (2773 cached, 5 parsed). 3813 targets, 150 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |#######################################| Time: 0:00:01
Checking sstate mirror object availability: 100% |###############| Time: 0:00:06
Sstate summary: Wanted 132 Found 32 Missed 200 Current 704 (24% match, 88% complete)
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
WARNING: mylib-1.0-r0 do_package_qa: QA Issue: mylib-dbg: found library in wrong location: /usr/bin/.debug/libsds_lib.so
mylib: found library in wrong location: /usr/bin/libsds_lib.so [libdir]
NOTE: Tasks Summary: Attempted 2500 tasks of which 2477 didn't need to be rerun and all succeeded.

Summary: There was 1 WARNING message shown.
INFO: Copying Images from deploy to images
NOTE: Failed to copy built images to tftp dir:  /tftpboot
[INFO] successfully built rootfs


今回は、ワーニングが出ている。

libsds_lib_dbg.so についても手順を繰り返す。
petalinux-create -t apps --template install --name mylib2 --enable
SDx2019_1_platform_40_191028.png

Ultra96V2_Platform1/project-spec/meta-user/recipes-apps/mylib2/files/ ディレクトリの mylib2 ファイルを削除した。
tools/Xilinx/SDx/2018.3/target/aarch64-linux/lib/libsds_lib_dbg.so を Ultra96V2_Platform1/project-spec/meta-user/recipes-apps/mylib2/files/ ディレクトリにコピーした。
SDx2019_1_platform_41_191028.png

PetaLinux/PetaL_Proj/Ultra96V2_Platform1/project-spec/meta-user/recipes-apps/mylib2/mylib2.bb を編集した。

#
# This file is the mylib2 recipe.
#

SUMMARY = "Simple mylib2 application"
SECTION = "PETALINUX/apps"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"

SRC_URI = "file://libsds_lib_dbg.so \
 "

S = "${WORKDIR}"
TARGET_CC_ARCH += "${LDFLAGS}"
do_install() {
      install -d ${D}/${bindir}
      install -m 0755 ${S}/libsds_lib_dbg.so ${D}/${bindir}
}
FILES_${PN} += "${libdir}"
FILES_SOLIBSDEV = ""


petalinux-build -c rootfs
SDx2019_1_platform_42_191028.png

ログを示す。

(py27) masaaki@masaaki-H110M4-M01:/media/masaaki/Ubuntu_Disk/tools/Xilinx/PetaLinux/PetaL_Proj/2019.1/Ultra96V2_Platform1$ petalinux-build -c rootfs
[INFO] building rootfs
[INFO] sourcing bitbake
[INFO] generating user layers
INFO: bitbake petalinux-user-image -c do_image_complete
Loading cache: 100% |############################################| Time: 0:00:00
Loaded 3812 entries from dependency cache.
Parsing recipes: 100% |##########################################| Time: 0:00:03
Parsing of 2779 .bb files complete (2774 cached, 5 parsed). 3814 targets, 150 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |#######################################| Time: 0:00:01
Checking sstate mirror object availability: 100% |###############| Time: 0:00:05
Sstate summary: Wanted 116 Found 16 Missed 200 Current 725 (13% match, 88% complete)
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
WARNING: mylib2-1.0-r0 do_package_qa: QA Issue: mylib2: found library in wrong location: /usr/bin/libsds_lib_dbg.so
mylib2-dbg: found library in wrong location: /usr/bin/.debug/libsds_lib_dbg.so [libdir]
NOTE: Tasks Summary: Attempted 2512 tasks of which 2491 didn't need to be rerun and all succeeded.

Summary: There was 1 WARNING message shown.
INFO: Copying Images from deploy to images
NOTE: Failed to copy built images to tftp dir:  /tftpboot
[INFO] successfully built rootfs

  1. 2019年10月30日 04:47 |
  2. SDSoC
  3. | トラックバック:0
  4. | コメント:0