FC2カウンター FPGAの部屋 2023年02月
fc2ブログ

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

FPGAの部屋

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

昨日、3年ぶりにハンターマウンテン塩原にスキーに行ってきました

新型コロナウイルスが出てきてからスキーに行ってなかったのですが、昨日は 3 年ぶりにスキーに行ってきました。
とても天気がよく快晴で雪も良くて最高のコンディションでした。
土曜日に仕事だったので、月曜日は振替休日でお休みです。
HunterM_1_230228.jpg
HunterM_2_230228.jpg

もう、60 歳台なので、余り長く滑れないので、午前中リフトを 6 回乗って終了としました。3年ぶりですが、滑り方は体が覚えていたので、問題なく滑れました。
やはり、一年に一度はスキーに行って、雪山を見たいです。健康なうちは行こうと思っています。

6 本滑ってから天気も良いし、外でケバブを買って食べました。美味しかったです。。。
HunterM_3_230228.jpg
HunterM_4_230228.jpg
HunterM_5_230228.jpg

午後からは、塩原の温泉(あかつきの湯)に行ってきました。
粘度の高い温泉でしたね。とろっとした感じのお湯で、珍しいお湯でした。露天風呂にゆっくり入ってきました。
  1. 2023年02月28日 03:48 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

kr260_gpio 用の Vitis アクセラレーション・プラットホームをテストする

kr260_gpio 用の Vitis アクセラレーション・プラットホームを作成する3”の続き。

前回は、kr260_vadd で生成された Vitis HLS 2022.1 のプロジェクトと Vivado 2022.1 のプロジェクトを見たが、4 個の GPIO が実装されていて安心した。今回は、”kr260_gpio 用の Vitis アクセラレーション・プラットホームを作成する2”で作成した。vadd アクセラレーション・アプリケーションを KR260 に転送して、動作させたところ成功した。しかも /sys/class/gpio に axi gpio も実装されていた。

最初に KR260/kr260_custom_platform/kr260_custom_platform/gpio_vadd_file_transfer を作成する。
mkdir gpio_vadd_file_transfer
KR260_271_230226.png

KR260/kr260_custom_platform/kr260_custom_platform/dtg_kr260_v0/dtg_kr260_v0/kr260_custom/psu_cortexa53_0/device_tree_domain/bsp/pl.dtbo を gpio_vadd_file_transfer ディレクトリにコピーした。
KR260_272_230226.png

KR260/kr260_custom_platform/kr260_custom_platform/kr260_vadd_system/Hardware/binary_container_1.xclbin を gpio_vadd_file_transfer にコピーした。
KR260_273_230226.png

shell.json は以前作成したファイルがある。
gpio_file_transfer ディレクトリからコピーした。
KR260_274_230226.png

KR260/kr260_custom_platform/kr260_custom_platform/kr260_vadd/Hardware/kr260_vadd を gpio_vadd_file_transfer ディレクトリにコピーした。
KR260_275_230226.png

現在の gpio_vadd_file_transfer ディレクトリの状況を示す。
KR260_276_230226.png

KR260 で””RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をやってみる3”のPetalinux 2022.1 を起動した。
ホーム・ディレクトリに kr260_gpio_vadd ディレクトリを作成し、移動した。
mkdir kr260_gpio_vadd
cd kr260_gpio_vadd


FileZilla を起動して、KR260 の Petalinux 2022.1 へ SFTP で mkdri gpio_vadd_file_transfer ディレクトリのファイルを kr260_gpio_vadd ディレクトリに転送した。
KR260_277_230226.png

/lib/firmware/xilinx/kr260_gpio_vadd ディレクトリを作成した。
sudo mkdir /lib/firmware/xilinx/kr260_gpio_vadd

binary_container_1.xclbin の名前を binary_container_1.bin に変更する。こうしないと、XRT は FPGA ビットストリームを抽出して Kria のプログラマブル ロジックをコンフィグレーションすることができないそうだ。
mv binary_container_1.xclbin binary_container_1.bin

pl.dtbo binary_container_1.bin shell.json ファイルを /lib/firmware/xilinx/kr260_gpio_vadd ディレクトリにコピーした。
sudo cp pl.dtbo binary_container_1.bin shell.json /lib/firmware/xilinx//kr260_gpio_vadd

現在、ロードされているアクセラレーション・アプリケーションをアンロードして、kr260_gpio_vadd をロードする。
sudo xmutil unloadapp
sudo xmutil loadapp kr260_gpio_vadd

KR260_278_230226.png

kr260_vadd を実行したところ、”TEST PASSED”が表示されて、成功した。
./kr260_vadd binary_container_1.bin
KR260_279_230226.png

/sys/class/gpio ディレクトリを見たところ、””RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をやってみる6”と同様の gpio ディレクトリが見えた。
KR260_280_230226.png

blink_led アプリケーションを動作させても、LED が点滅して正常に動作した。

sudo xmutil unloadapp で kr260_gpio_vadd をアンロードしたところ、ロードした gpio が削除されている。
KR260_281_230226.png
  1. 2023年02月26日 20:36 |
  2. KR260
  3. | トラックバック:0
  4. | コメント:0

kr260_gpio 用の Vitis アクセラレーション・プラットホームを作成する3

kr260_gpio 用の Vitis アクセラレーション・プラットホームを作成する2”の続き。

”RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をやってみる1”用の Vitis アクセラレーション・プラットホームを作成してみたいということで、前回は、”KR260 で Vitis アクセラレーション・プラットフォームを作成する7”で作成した kr260_custom アクセラレーション・プラットホームを更新し、”KR260 で Vitis アクセラレーション・プラットフォームを作成する8”で作成した kr260_vadd アプリケーション・プロジェクトを再ビルドを行った。今回は、kr260_vadd で生成された Vitis HLS 2022.1 のプロジェクトと Vivado 2022.1 のプロジェクトを見ていこう。

Vitis HLS 2022.1 の krnl_vadd は KR260/kr260_custom_platform/kr260_custom_platform/kr260_vadd_kernels/Hardware/build/krnl_vadd/krnl_vadd/krnl_vadd ディレクトリにあった。
KR260_264_230225.png
KR260_265_230225.png

これは前回と同じだと思う。

Vivado 2022.1 の prj プロジェクトは KR260/kr260_custom_platform/kr260_custom_platform/kr260_vadd_system_hw_link/Hardware/binary_container_1.build/link/vivado/vpl/prj にあった。
KR260_266_230225.png

k260_bd プロック・デザインを示す。
KR260_267_230225.png
KR260_268_230225.png

4 個の axi gpio が実装されている。良かった。

Address Editor 画面を示す。
KR260_269_230225.png

Project Summary を示す。
KR260_270_230225.png
  1. 2023年02月25日 04:05 |
  2. KR260
  3. | トラックバック:0
  4. | コメント:0

kr260_gpio 用の Vitis アクセラレーション・プラットホームを作成する2

kr260_gpio 用の Vitis アクセラレーション・プラットホームを作成する1”の続き。

”RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をやってみる1”用の Vitis アクセラレーション・プラットホームを作成してみたいということで、前回は、sdk.sh と BOOT.bin を作成する。また、pfm/boot ディレクトリを更新し、sdk.sh を起動して、sysroot を更新した。今回は、”KR260 で Vitis アクセラレーション・プラットフォームを作成する7”で作成した kr260_custom アクセラレーション・プラットホームを更新し、”KR260 で Vitis アクセラレーション・プラットフォームを作成する8”で作成した kr260_vadd アプリケーション・プロジェクトを再ビルドを行った。

Vitis 2022.1 の settings64.sh を起動した。
source /media/masaaki/Ubuntu_Disk/tools/Xilinx/Vitis/2022.1/settings64.sh

Vitis 2022.1 を起動した。
vitis &

Vitis IDE Launcher ダイアログが表示された。
Workspace に KR260/kr260_custom_platform/kr260_custom_platform を指定した。
Launch ボタンをクリックした。
KR260_257_230223.png

Vitis 2022.1 が立ち上がった。
KR260 で Vitis アクセラレーション・プラットフォームを作成する7”で作成した kr260_custom アクセラレーション・プラットホームを更新する。
KR260_258_230223.png

Explorer の kr260_custom を右クリックし、右クリックメニューから Update Hardware Specification を選択する。
KR260_259_230223.png

Update Hardware Specification ダイアログが表示された。
Browse... ボタンをクリックして、 KR260/kr260_custom_platform/kr260_custom_platform/kr260_custom/kr260_custom.xsa ファイルを指定した。(デフォルトでは、このファイルが指定されているはずだが。。。)
KR260_260_230223.png

アップデート済みのダイアログが表示された。
KR260_261_230223.png

これで、kr260_custom アクセラレーション・プラットホームが更新された。kr260_custom アクセラレーション・プラットホームはビルドされていない状態に戻っている。
続いて、kr260_custom アクセラレーション・プラットホームを使用する kr260_vadd アプリケーション・プロジェクトを再ビルドする。
kr260_vadd アプリケーション・プロジェクトは、”KR260 で Vitis アクセラレーション・プラットフォームを作成する8”で作成されている。
Explorer で kr260_vadd_system を選択し、Active build configuration: で Hardware を選択してあることを確認し、トンカチ・ボタンをクリックしてビルドを行った。
KR260_262_230223.png

ビルドが成功した。
KR260_263_230223.png
  1. 2023年02月24日 05:27 |
  2. KR260
  3. | トラックバック:0
  4. | コメント:0

kr260_gpio 用の Vitis アクセラレーション・プラットホームを作成する1

”RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をやってみる1”用の Vitis アクセラレーション・プラットホームを作成してみたいということで、今回は、sdk.sh と BOOT.bin を作成する。また、pfm/boot ディレクトリを更新し、sdk.sh を起動して、sysroot を更新した。

Sysroot(SDK)をビルドする。
petalinux-build --sdk
KR260_249_230222.png

sdk.sh が再生成された。
KR260_250_230222.png

BOOT.BIN を生成する。
petalinux-package --boot --u-boot --force
KR260_251_230222.png

BOOT.BIN が再生成された。
KR260_252_230222.png

KR260/kr260_custorm_platform/kr260_custorm_platform/pfm/boot ディレクトリのファイルを削除した。

KR260/kr260_custorm_platform/linux_os/images/linux ディレクトリの bl31.elf, pmufw.elf, system-zynqmp-sck-kr-g-revB.dtb, u-boot.elf, zynqmp_fsbl.elf のファイルを
KR260_253_230222.png

KR260/kr260_custorm_platform/kr260_custorm_platform/pfm/boot ディレクトリにコピーした。
system-zynqmp-sck-kr-g-revB.dtb は system.dtb に名前を変更した。
KR260_254_230222.png


KR260/kr260_custorm_platform/kr260_custorm_platform/sysroot ディレクトリを削除した。

KR260/kr260_custorm_platform/linux_os/images/linux ディレクトリで sysroots ディレクトリを KR260/kr260_custorm_platform/kr260_custorm_platform ディレクトリに展開した。
./sdk.sh -d ../../../kr260_custom_platform/
KR260_255_230222.png

KR260/kr260_custorm_platform/kr260_custorm_platform/sysroots ディレクトリが生成され、その下に cortexa72-cortexa53-xilinx-linux, x86_64-petalinux-linux ディレクトリが生成された。
KR260_256_230222.png
  1. 2023年02月23日 18:54 |
  2. KR260
  3. | トラックバック:0
  4. | コメント:0

”RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をベースにプログラムで Lチカしてみる

”RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をやってみる6”を使用して、LED を点滅させるアプリケーション・ソフトウェアの blink_led.c を作成し、コンパイルし、動作させた。

Xilinx の Petalinux イメージの KR260 に gcc をインストールする”で gcc は使える。そこで、~/kr260_gpio ディレクトリに blink_led.c を作成した。
作成に当たっては、”【Raspberry Pi】プログラムでGPIOを操作する方法”を参考にした。
blink_led.c を示す。

// blink_led.c
// 2023/02/19 by marsee

#include <stdio.h>
#include <stdint.h>
#include <fcntl.h>
#include <unistd.h>

int main(){
    int fd = open("/sys/class/gpio/export", O_WRONLY);
    write(fd, "492", 3);
    close(fd);
    
    usleep(100000);
    fd = open("/sys/class/gpio/gpio492/direction", O_WRONLY);
    write(fd, "out", 3);
    close(fd);
    
    fd = open("/sys/class/gpio/gpio492/value", O_WRONLY);
    
    for(int i=0; i<10; i++){
        write(fd, "1", 1);  
        usleep(500000);
        write(fd, "0", 1);
        usleep(500000);
    }
    close(fd);
    
    fd = open("/sys/class/gpio/unexport", O_WRONLY);
    write(fd, "492", 3);
    close(fd);
}


KR260_245_230220.png

KR260_246_230220.png

blink_led.c をコンパイルした。
gcc -o blink_led blink_led.c
KR260_247_230220.png

デフォルトのアプリケーションをアンロードし、kr260_gpio をロードする。
sudo xmutil listapps
sudo xmutil unloadapp
sudo xmutil loadapp kr260_gpio


blink_led を起動すると、LED が点滅した。
sudo ./blink_led
KR260_248_230220.png

GPIO に接続された LED をアプリケーション・ソフトウェアから制御することができた。
  1. 2023年02月21日 04:14 |
  2. KR260
  3. | トラックバック:0
  4. | コメント:0

Xilinx の Petalinux イメージの KR260 に gcc をインストールする

”RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をやってみる3”で作成したXilinx の Petalinux 2022.1 イメージの KR260 に gcc をインストールしよう。

”RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をやってみる3”で作成したXilinx の Petalinux 2022.1 イメージの KR260 上で gcc のパッケージをインストールする。

Xilinx の Petalinux イメージの KV260 に gcc をインストールする”を参考にしながらやってみることにする。

sudo dnf install gcc.cortexa72_cortexa53
KR260_240_230220.png

sudo dnf install gcc-dev.cortexa72_cortexa53
KR260_241_230220.png

sudo dnf install gcc-doc.cortexa72_cortexa53
KR260_242_230220.png

sudo dnf install gcc-lic.cortexa72_cortexa53
KR260_243_230220.png

ここまでインストールしても gcc が実行できない。

sudo dnf install gcc-plugins.cortexa72_cortexa53
sudo dnf install gcc-runtime-dbg.cortexa72_cortexa53
sudo dnf install gcc-runtime-lic.cortexa72_cortexa53
sudo dnf install gcc-src.cortexa72_cortexa53

を実行してもまだ gcc が実行できない。

結局 gcc-symlinks.cortexa72_cortexa53 をインストールすると gcc が実行できるようになった。
sudo dnf install gcc-symlinks.cortexa72_cortexa53

結局、gcc-dev.cortexa72_cortexa53 と gcc-symlinks.cortexa72_cortexa53 をインストールすれば良さそうだ。

gcc
gcc --version

KR260_244_230220.png

ついでに g++ もインストールした。
sudo dnf install g++.cortexa72_cortexa53
sudo dnf g++-symlinks.cortexa72_cortexa53
  1. 2023年02月20日 05:06 |
  2. KR260
  3. | トラックバック:0
  4. | コメント:0

ZYBO Z7-20 の Debian Linux で gettimeofday() と axi_timer の値を比べる

ZYBO Z7 の Debian LInux からパソコンへ TCP/IP で 3.333 ms 毎にデータを送る”で、ZYBO Z7-20 の Debian Linux の gettimeofday() の精度はどのくらいなのだろう?ということで、axi_timer_0 の Timer2 をイネーブルして、axi timer の値と比較してみた。

ikwzm さんの Debian Linux 上で axi timer の割り込みを試す”で作成した Vivado 2022.2 プロジェクトの timer_test の timer_test ブロック・デザインの axi_timer_0 をダブルクリックして、Enable Timer2 のチェックボックスにチェックを入れた。
TCPsoft_11_230219.png

セーブして、論理合成、インプリメンテーション、ビットストリームの生成を行った。
Project Summary を示す。
TCPsoft_12_230219.png

timer_test/timer_test.runs/impl_1/timer_test_wrapper.bit が再生成されていた。
timer_test_wrapper.bit を ZYBO Z7-20 上に SFTP で転送した。
fpga-bit-to-bin.py も転送して bit ファイルを bin ファイルに転送した。
python3 fpga-bit-to-bin.py --flip timer_test_wrapper.bit timer_test.bin

timer_test.bin を /lib/firmware ディレクトリにコピーする。
sudo cp timer_test.bin /lib/firmware

device_tree.dts は”ikwzm さんの Debian Linux 上で axi timer の割り込みを試す”のdevice_tree.dts がそのまま使用できる。

dtgocfg.rb でデバイスツリーやビットストリームをロードする。
sudo dtbocfg.rb -i --dts devicetree.dts timer test

uio の権限を 666 に変更してユーザーもオープンできるようにする。
sudo chmod 666 /dev/uio*

tcp_timer_test.c に Timer2 の記述を追加した。

// tcp_timer_test.c
// 2023/02/14 by marsee
// Reference URL:https://github.com/ikwzm/ZYBO_UIO_IRQ_SAMPLE/blob/master/c-sample/sample1.c
// 何回もクライアントと接続できるサーバ例(エラー処理付)のコードを引用した。
// https://www.geekpage.jp/programming/linux-network/tcp-3.php
//
// 2023/02/17 : axi timerのTimer2の記述を追加した

#include        <stdio.h>
#include        <stdint.h>
#include        <stdlib.h>
#include        <fcntl.h>
#include        <string.h>
#include        <time.h>
#include        <sys/time.h>
#include        <poll.h>
#include        <sys/types.h>
#include        <sys/mman.h>
#include        <sys/socket.h>
#include        <netinet/in.h>
#include        <string.h>


#define ENABLE_ALL_TIMERS               (0x1<<10)
#define ENABLE_PULSE_WIDTH_MODULATION   (0x1<<9)
#define TIMER_INTERRUPT                 (0x1<<8)
#define ENABLE_TIMER                    (0x1<<7)
#define ENABLE_INTERRUPT                (0x1<<6)
#define LOAD_TIMER                      (0x1<<5)
#define AUTO_RELOAD_HOLD_TIMER          (0x1<<4)
#define ENABLE_EXT_CAPTURE_TRIG         (0x1<<3)
#define ENABLE_EXT_GENERATE_SIG         (0x1<<2)
#define DOWN_UP_COUNT_TIMER             (0x1<<1)
#define TIMER_MODE_CAP_GENE             (0x1)

int uio_irq_on(int uio_fd)
{
    unsigned int  irq_on = 1;
    write(uio_fd, &irq_on, sizeof(irq_on));
}

int uio_wait_irq(int uio_fd)
{
    unsigned int  count = 0;
    return read(uio_fd, &count,  sizeof(count));
}

void main()
{
    int            uio0_fd, uio1_fd;
    uint32_t    *axi_gpio, *axi_timer;
    static uint32_t led_stat = 0;
    int sock0;
    struct sockaddr_in addr;
    struct sockaddr_in client;
    int len;
    int sock;
    int n;
    struct tm *time_st;
    struct timeval myTime;
    char buf[500];
    uint32_t timer_data;


    if((uio0_fd = open("/dev/uio0", O_RDWR)) == -1) {
        printf("Can not open /dev/uio0\n");
        exit(1);
    }
    axi_gpio = (uint32_t*)mmap(NULL, 0x10000, PROT_READ|PROT_WRITE, MAP_SHARED, uio0_fd, 0);
    
    if((uio1_fd = open("/dev/uio1", O_RDWR)) == -1) {
        printf("Can not open /dev/uio1\n");
        exit(1);
    }
    axi_timer = (uint32_t*)mmap(NULL, 0x10000, PROT_READ|PROT_WRITE, MAP_SHARED, uio1_fd, 0);
    
    // axi_timer_0 -> Timer0
    axi_timer[1] = 333333; // TLR0, 100 MHz = 3.33333 ms
    axi_timer[0] = LOAD_TIMER; // TCR0, ENALL and LOAD0 = 1
    axi_timer[0] = TIMER_INTERRUPT | ENABLE_TIMER | ENABLE_INTERRUPT | AUTO_RELOAD_HOLD_TIMER | DOWN_UP_COUNT_TIMER; // timer interrupt clear
    axi_timer[5] = 0; // TLR1
    axi_timer[4] = ENABLE_TIMER | AUTO_RELOAD_HOLD_TIMER; // UP Counter
    
    // network settings
    sock0 = socket(AF_INET, SOCK_STREAM, 0);
    if (sock0 < 0) {
     perror("socket");
     return 1;
    }

    addr.sin_family = AF_INET;
    addr.sin_port = htons(12345);
    addr.sin_addr.s_addr = INADDR_ANY;

    if (bind(sock0, (struct sockaddr *)&addr, sizeof(addr)) != 0) {
     perror("bind");
     return 1;
    }

    if (listen(sock0, 5) != 0) {
     perror("listen");
     return 1;
    }
    
    len = sizeof(client);
    sock = accept(sock0, (struct sockaddr *)&client, &len);
    if (sock < 0) {
        perror("accept");
    }
    for(int i=0; i<10000; i++){
        if(uio_irq_on(uio1_fd) == -1){
            fprintf(stderr, "uio_irq_on error\n");
            break;
        }
        if(uio_wait_irq(uio1_fd) == -1){
            fprintf(stderr, "uio_wait_irq error\n");
            break;
        }
        
        axi_timer[0] = TIMER_INTERRUPT | ENABLE_TIMER | ENABLE_INTERRUPT | AUTO_RELOAD_HOLD_TIMER | DOWN_UP_COUNT_TIMER; // timer interrupt clear
        
        gettimeofday(&myTime, NULL);
        uint32_t count = axi_timer[6];
        sprintf(buf, "36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,%07.3f,%010u,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a\n", (float)myTime.tv_usec/1000.0, count);
        n = write(sock, buf, strlen(buf));
        if (n < 1) {
            perror("write");
            break;
        }
        usleep(1000); // wait 1 ms
    }
    close(uio0_fd);
    close(uio1_fd);
    close(sock);
    close(sock0);
}


ZYBO Z7-20 上の Debian Linux で tcp_timer_test.c をコンパイルした。
gcc -o tcp_timer_test tcp_timer_test.c

データ転送量が増えたので、tcp_client.c は tcp_client2.c として変更した。

// tcp_client.c
// 2023/02/02 by marsee
// TCPを使うの単純なTCPクライアントを引用した。
// https://www.geekpage.jp/programming/linux-network/tcp-1.php
// 2023/02/17 : 受信バイト数を234バイトに変更

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>

int
main()
{
     struct sockaddr_in server;
     int sock;
     char buf[500];
     int n;

     /* ソケットの作成 */
     sock = socket(AF_INET, SOCK_STREAM, 0);

     /* 接続先指定用構造体の準備 */
     server.sin_family = AF_INET;
     server.sin_port = htons(12345);
     server.sin_addr.s_addr = inet_addr("192.168.11.12");

     /* サーバに接続 */
     connect(sock, (struct sockaddr *)&server, sizeof(server));

     for(int i=0; i<10000; i++){
         /* サーバからデータを受信 */
         memset(buf, 0, 234);
         n = read(sock, buf, 234);

         printf("%s", buf);
     }

     /* socketの終了 */
     close(sock);

 return 0;
}


tcp_client2.c をコンパイルした。
gcc -o tcp_client2 tcp_client2.c

ZYBO Z7-20 上の Debian Linux でサーバー側ソフトウェアの tcp_timer_test を実行する。
./tcp_timer_test

パソコンの Windows 10 の WSL2 でクライアント側のソフトウェアを実行する。その際に temp.txt に転送されたデータをセーブした。
./tcp_client2 > temp.txt

1 万個のデータが送られてきたので、Excel で集計を行った。
TCPsoft_8_230217.png

AU 列が gettimeofday() での時刻の差分、AV 列が axi timer でのカウント値を ms オーダーに直した値の差分、AW 列が AU 列と AV 列の差分の絶対値を示す(それぞれ、単位は ms)。
AW 列に示す gettimeofday() の差分と axi timer の差分の差分の絶対値は小さいと見ることができると思う。最大で 1.32 us となっている。gettimeofday() は正確のようだ。

また、もう 1 万個のデータをとってみて Excel で集計してみた(それぞれ、単位は ms)。
TCPsoft_9_230217.png

今度は、AW 列に示す gettimeofday() の差分と axi timer の差分の差分の絶対値も増大していたし、AU 列が gettimeofday() での時刻の差分、AV 列が axi timer でのカウント値を ms オーダーに直した値の差分も最大値と最小値の差が大きくなっていた。
どこで、最大値と最小値の差が大きくなったか調べると、7873 番目と 7874 番目の時刻が最大値と最小値になっている。
TCPsoft_10_230217.png

7873 番目に CPU の負荷が重くて遅れてしまったので、7874 番目の割り込みの時刻の間隔が短くなったのだろう?
これが許容できない場合は、Debian Linux で割り込みでデータを取得するのではなく、他の方法を探ることにする。
  1. 2023年02月19日 05:39 |
  2. FPGAを使用したシステム
  3. | トラックバック:0
  4. | コメント:0

ZYBO Z7 の Debian LInux からパソコンへ TCP/IP で 3.333 ms 毎にデータを送る

ZYBO Z7 の Debian LInux からパソコンへ TCP/IP でデータを送る”と”ikwzm さんの Debian Linux 上で axi timer の割り込みを試す”を組み合わせて、ZYBO Z7 の Debian LInux からパソコンへ TCP/IP で 3.333 ms 毎にデータを送ってみよう。

サーバー側のアプリケーション・ソフトウェアを tcp_timer_test.c として新規作成した。

// tcp_timer_test.c
// 2023/02/14 by marsee
// Reference URL:https://github.com/ikwzm/ZYBO_UIO_IRQ_SAMPLE/blob/master/c-sample/sample1.c
// 何回もクライアントと接続できるサーバ例(エラー処理付)のコードを引用した。
// https://www.geekpage.jp/programming/linux-network/tcp-3.php

#include        <stdio.h>
#include        <stdint.h>
#include        <stdlib.h>
#include        <fcntl.h>
#include        <string.h>
#include        <time.h>
#include        <sys/time.h>
#include        <poll.h>
#include        <sys/types.h>
#include        <sys/mman.h>
#include        <sys/socket.h>
#include        <netinet/in.h>
#include        <string.h>


#define ENABLE_ALL_TIMERS               (0x1<<10)
#define ENABLE_PULSE_WIDTH_MODULATION   (0x1<<9)
#define TIMER_INTERRUPT                 (0x1<<8)
#define ENABLE_TIMER                    (0x1<<7)
#define ENABLE_INTERRUPT                (0x1<<6)
#define LOAD_TIMER                      (0x1<<5)
#define AUTO_RELOAD_HOLD_TIMER          (0x1<<4)
#define ENABLE_EXT_CAPTURE_TRIG         (0x1<<3)
#define ENABLE_EXT_GENERATE_SIG         (0x1<<2)
#define DOWN_UP_COUNT_TIMER             (0x1<<1)
#define TIMER_MODE_CAP_GENE             (0x1)

int uio_irq_on(int uio_fd)
{
    unsigned int  irq_on = 1;
    write(uio_fd, &irq_on, sizeof(irq_on));
}

int uio_wait_irq(int uio_fd)
{
    unsigned int  count = 0;
    return read(uio_fd, &count,  sizeof(count));
}

void main()
{
    int            uio0_fd, uio1_fd;
    uint32_t    *axi_gpio, *axi_timer;
    static uint32_t led_stat = 0;
    int sock0;
    struct sockaddr_in addr;
    struct sockaddr_in client;
    int len;
    int sock;
    int n;
    struct tm *time_st;
    struct timeval myTime;
    char buf[500];


    if((uio0_fd = open("/dev/uio0", O_RDWR)) == -1) {
        printf("Can not open /dev/uio0\n");
        exit(1);
    }
    axi_gpio = (uint32_t*)mmap(NULL, 0x10000, PROT_READ|PROT_WRITE, MAP_SHARED, uio0_fd, 0);
    
    if((uio1_fd = open("/dev/uio1", O_RDWR)) == -1) {
        printf("Can not open /dev/uio1\n");
        exit(1);
    }
    axi_timer = (uint32_t*)mmap(NULL, 0x10000, PROT_READ|PROT_WRITE, MAP_SHARED, uio1_fd, 0);
    
    // axi_timer_0 -> Timer0
    axi_timer[1] = 333333; // TLR0, 100 MHz = 3.33333 ms
    axi_timer[0] = LOAD_TIMER; // TCR0, ENALL and LOAD0 = 1
    axi_timer[0] = TIMER_INTERRUPT | ENABLE_TIMER | ENABLE_INTERRUPT | AUTO_RELOAD_HOLD_TIMER | DOWN_UP_COUNT_TIMER; // timer interrupt clear
    
    // network settings
    sock0 = socket(AF_INET, SOCK_STREAM, 0);
    if (sock0 < 0) {
     perror("socket");
     return 1;
    }

    addr.sin_family = AF_INET;
    addr.sin_port = htons(12345);
    addr.sin_addr.s_addr = INADDR_ANY;

    if (bind(sock0, (struct sockaddr *)&addr, sizeof(addr)) != 0) {
     perror("bind");
     return 1;
    }

    if (listen(sock0, 5) != 0) {
     perror("listen");
     return 1;
    }
    
    len = sizeof(client);
    sock = accept(sock0, (struct sockaddr *)&client, &len);
    if (sock < 0) {
        perror("accept");
    }
    for(int i=0; i<100; i++){
        if(uio_irq_on(uio1_fd) == -1){
            fprintf(stderr, "uio_irq_on error\n");
            break;
        }
        if(uio_wait_irq(uio1_fd) == -1){
            fprintf(stderr, "uio_wait_irq error\n");
            break;
        }
        
        axi_timer[0] = TIMER_INTERRUPT | ENABLE_TIMER | ENABLE_INTERRUPT | AUTO_RELOAD_HOLD_TIMER | DOWN_UP_COUNT_TIMER; // timer interrupt clear
        
        gettimeofday(&myTime, NULL);
        sprintf(buf, "36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,%07.3f,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a\n", (float)myTime.tv_usec/1000.0);
        n = write(sock, buf, strlen(buf));
        if (n < 1) {
            perror("write");
            break;
        }
        usleep(1000); // wait 1 ms
    }
    close(uio0_fd);
    close(uio1_fd);
    close(sock);
    close(sock0);
}


アプリケーション側の tcp_client.c はそのまま使用する。

tcp_timer_test.c をコンパイルした。
gcc -o tcp_timer_test tcp_timer_test.c
tcp_timer_test 実行形式ファイルが生成された。

デバイスツリーは”ikwzm さんの Debian Linux 上で axi timer の割り込みを試す”のデバイスツリーがそのまま使用できる。
ZYBO Z7-20 上の Debian Linux で ~/examples/timer_test ディレクトリに移動して、timer_test をロードする。
sudo dtbocfg.rb -i --dts devicetree.dts timer test

uio の権限を 666 に変更してユーザーもオープンできるようにする。
sudo chmod 666 /dev/uio*

ZYBO Z7-20 上の Debian Linux でサーバー側ソフトウェアの tcp_timer_test を実行する。
./tcp_timer_test
TCPsoft_3_230214.png

パソコンの Windows 10 の WSL2 でクライアント側のソフトウェアを実行する。
./tcp_client
するとサーバー側から受信したデータが表示された。
TCPsoft_5_230214.png

大体、3.33 ms に間隔になっている。
  1. 2023年02月18日 04:22 |
  2. FPGAを使用したシステム
  3. | トラックバック:0
  4. | コメント:0

”RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をやってみる6

”RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をやってみる5”の続き。

RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をやってみようということで、前回は、PL デザインのデバイスツリー・オーバレイを生成して、KR260 の Petalinux に転送するファイルを集めて転送した。今回は、/lib/firmware ディレクトリにファイルをコピーし、PL デザインやデバイスツリー・オーバレイをロードした。/sys/class/gpio を確認し、また操作して、PMOD1 の 1 番ピンの LED を点灯させることができた。

/lib/firmware/xilinx/kr260_gpio を作成し、kr260_gpio.dtbo, kr260_gpio.bit.bin, shell.json をそこに転送する。
sudo mkdir /lib/firmware/xilinx/kr260_gpio
sudo cp kr260_gpio.dtbo kr260_gpio.bin shell.json /lib/firmware/xilinx/kr260_gpio


デフォルトのアプリケーションをアンロードし、kr260_gpio をロードする。
sudo xmutil listapps
sudo xmutil unloadapp
sudo xmutil loadapp kr260_gpio

KR260_235_230216.png

kr260_gpio ロード時にターミナルに表示されたメッセージを示す。
KR260_237_230216.png

GPIO をテストする。
/sys/class/gpio の gpio のラベルを確認すると、
axi_gpio の PMOD0 が gpiochip492
axi_gpio の PMOD1 が gpiochip484
axi_gpio の PMOD2 が gpiochip476
axi_gpio の PMOD3 が gpiochip460
ということがわかった。
PMOD1 コネクタは Vivado のブロック・デザインで PMOD1_tri_io[0] が PMOD1 の 1 番ピンに接続されている。
よって、下に示すように GPIO のピンが gpiochip にアサインされている。
gpiochip492 → PMOD1_tri_io[0]
gpiochip493 → PMOD1_tri_io[1]
gpiochip494 → PMOD1_tri_io[2]
gpiochip495 → PMOD1_tri_io[3]
gpiochip496 → PMOD1_tri_io[4]
gpiochip497 → PMOD1_tri_io[5]
gpiochip498 → PMOD1_tri_io[6]
gpiochip499 → PMOD1_tri_io[7]
参照した情報は、”GPIOのアクセス方法”、”Raspberry PiのGPIO制御方法を確認する(GPIO制御編その1)
ls /sys/class/gpio/
cat /sys/class/gpio/gpiochip468/label
cat /sys/class/gpio/gpiochip484/label
cat /sys/class/gpio/gpiochip500/label
cat /sys/class/gpio/gpiochip0/label
cat /sys/class/gpio/gpiochip476/label
cat /sys/class/gpio/gpiochip492/label
cat /sys/class/gpio/gpiochip508/label

KR260_236_230216.png

LED を PMOD1 の 1 番ピンと GND の間に接続した。
gpiochip492 を out モードに設定して、1 を書くと LED が点灯し、0 を書くと消灯した。比較のため LED は接続されていないが、gpiochip499 もやってみた。
echo 492 | sudo tee /sys/class/gpio/export
echo out | sudo tee /sys/class/gpio/gpio492/direction
echo 499 | sudo tee /sys/class/gpio/export
echo out | sudo tee /sys/class/gpio/gpio499/direction
echo 1 | sudo tee /sys/class/gpio/gpio492/value
echo 1 | sudo tee /sys/class/gpio/gpio499/value
echo 0 | sudo tee /sys/class/gpio/gpio492/value

KR260_238_230216.png

仮想ファイル/sys/class/gpio/exportにポート番号を書き込むと/sys/class/gpio内に"gpio"にポート番号が付いた仮想ディレクトリが作成されるそうだ。(、”GPIOのアクセス方法”から引用)
その仮想ディレクトリが gpio492 と gpio499 の様だ。(マークの位置が左にずれていて申し訳ない)
KR260_239_230216.png

KR260 の PMOD1 の 1 番ピンと GND の間に LED を挿して点灯している様子を示す。
KR260_240_230216.jpg
  1. 2023年02月17日 04:37 |
  2. KR260
  3. | トラックバック:0
  4. | コメント:0

ikwzm さんの Debian Linux 上で axi timer の割り込みを試す

axi timer の割り込みで axi gpio に接続された LED の点滅をすることで、Debian Linux 上での割り込みを試してみたい。
ikwzm さんの FPGA-SoC-Linux を ZYBO Z7-20 で起動して、その Debian Linux 上で axi timer と axi gpio の PL デザインを動作させて、axi timer の割り込みで LED を点滅させる。

UIO(User space IO)の割り込みの使い方の例”と”ZYBOの割り込みで時間管理してみた”を参考にした。

最初に Vivado 2022.2 で timer_test プロジェクトを作成した。
timer_test_1_230213.png

timer_test ブロック・デザインを作成した。
led_4bits ポートは ZYBO Z7-20 の LD 4 個に接続されている。
timer_test_2_230213.png

axi_gpio_0 の設定を示す。
timer_test_8_230213.png

axi_timer_0 の設定を示す。
timer_test_7_230213.png

Address Editor を示す。
timer_test_3_230213.png

制約ファイルはボードのパラメータを使用しているので、Vivado GUI 上で見える形では無い。
論理合成、インプリメンテーション、ビットストリームの生成を行って成功した。
Project Summary を示す。
timer_test_4_230213.png

timer_test/timer_test.runs/impl_1/timer_test_wrapper.bit が生成されていた。
timer_test_wrapper.bit を ZYBO Z7-20 上に SFTP で転送した。
fpga-bit-to-bin.py も転送して bit ファイルを bin ファイルに転送した。
python3 fpga-bit-to-bin.py --flip timer_test_wrapper.bit timer_test.bin

また、bin ファイルを Vivado で直接生成させても良いと思う。””RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をやってみる1”参照。(追記)やってみたらだめでした。fpga-bit-to-bin.py でやった方が良さそうです。

timer_test.bin を /lib/firmware ディレクトリにコピーする。
sudo cp timer_test.bin /lib/firmware

device_tree.dts を作成する。

/dts-v1/;/plugin/;
/ {
    fragment@0 {
        target-path = "/amba/fpga-region0";
        #address-cells = <0x1>;
        #size-cells = <0x1>;

        __overlay__ {
            #address-cells = <0x1>;
            #size-cells = <0x1>;

            firmware-name = "timer_test.bin";

            axi_gpio_0@41200000 {
                compatible = "generic-uio";
                reg = <0x41200000 0x10000>;
            };

            axi_timer_0@42800000 {
                compatible = "generic-uio";
                reg = <0x42800000 0x10000>;
                interrupt-parent = <&intc>;
                interrupts = <0 29 4>;
            };
            
            fclk0 {
                compatible  = "ikwzm,fclkcfg-0.10.a";
                clocks      = <&clkc 15>, <&clkc 2>;
                insert-rate = "100000000";
                insert-enable = <1>;
            };
        };
    } ;
} ;


dtgocfg.rb でデバイスツリーやビットストリームをロードする。
sudo dtbocfg.rb -i --dts devicetree.dts timer test

timer_test.bin やクロック設定がロードされている。
timer_test_6_230213.png

timer_test.c を作成した。
timer_test.c のコードは”axi_timer を使う 3 (割り込みを使用する)”に貼ってある。
timer_test.c をコンパイルした。
gcc -o timer_test timer_test.c

timer_test 実行ファイルが生成された。

uio の権限を 666 に変更してユーザーもオープンできるようにする。
sudo chmod 666 /dev/uio*

timer_test を実行したところ、0.5 秒毎に LED が点滅し、正常に動作した。
./timer_test
timer_test_5_230213.png

最後にロードされた bin ファイルや /dev/uio*、クロックなどを外すには、
sudo dtbocfg.rb -r timer_test
  1. 2023年02月16日 05:31 |
  2. FPGAを使用したシステム
  3. | トラックバック:0
  4. | コメント:0

”RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をやってみる5

”RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をやってみる4”の続き。

RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をやってみようということで、前回は、KR260 の Petalinux 2022.1 に必要なパッケージをインストールした。今回は、PL デザインのデバイスツリー・オーバレイを生成して、KR260 の Petalinux に転送するファイルを集めて転送した。

xsct を使って、AXI GPIO デザイン用にオーバレイ・ノードを含むデバイスツリー・ソースコードを用意する。
cd ../kr260_custom_platform/
xsct
hsi::open_hw_design ../kr260_custom/kr260_custom.xsa
createdts -hw ../kr260_custom/kr260_custom.xsa -zocl -platform-name kr260_custom -git-branch xlnx_rel_v2022.1 -overlay -compile -out ./dtg_kr260_v0
exit

KR260_229_230213.png

作成された dtg_kr260_v0 ディレクトリを示す。
KR260_230_230213.png

デバイスツリー・オーバレイを dtc でコンパイルする。
dtc -@ -O dtb -o ./dtg_kr260_v0/dtg_kr260_v0/kr260_custom/psu_cortexa53_0/device_tree_domain/bsp/pl.dtbo ./dtg_kr260_v0/dtg_kr260_v0/kr260_custom/psu_cortexa53_0/device_tree_domain/bsp/pl.dtsi
KR260_231_230213.png

pl.dtbo が生成された。
KR260_232_230213.png

gpio_file_transfer ディレクトリを作成して、必要なファイルを集める。
shell.json は以前作成したファイルがあるので、それをコピーする。
mkdir -p gpio_file_transfer
cd gpio_file_transfer/
cp ../vadd_file_transfer/shell.json ./


pl.dtbo と kr260_bd_wrapper.bin をコピーして、それぞれ名前を kr260_gpio.dtbo と kr260_gpio.bin に変更する。
cp ../dtg_kr260_v0/dtg_kr260_v0/kr260_custom/psu_cortexa53_0/device_tree_domain/bsp/pl.dtbo ./kr260_gpio.dtbo
cp ../../kr260_custom/kr260_custom.runs/impl_1/kr260_bd_wrapper.bin ./kr260_gpio.bin


gpio_file_transfer ディレクトリのファイルを KR260 の Petalinux に FileZilla で転送する。
最初に KR260 の /home/petalinux に kr260_gpio ディレクトリを作成した。
kr260_gpio ディレクトリに FileZilla でファイルを転送した。
KR260_234_230213.png
  1. 2023年02月15日 04:33 |
  2. KR260
  3. | トラックバック:0
  4. | コメント:0

axi_timer を使う 3 (割り込みを使用する)

ikwzm さんの FPGA-SoC-Linux を ZYBO Z7-20 で起動して、axi_timer を使用したビットストリームを使用して、axi_timer を割り込みで使用したが、”axi_timerを使う2(割り込みを使用した)”のコードを参考に Debian Linux 上でアプリケーションを作成してもうまく行かなかった。

なお、axi timer については、”PG079 - AXI Timer v2.0 Product Guide (PG079) (v2.0)”を参照した。

どのような現象だったかと言うと、どんどん割り込みが掛かってしまった。割り込みした後の axi timer での割り込み信号の解除ができていなかった。System ILA で見ると、最初の設定からTCSR0の”T0INT”を 1 にしておかないと、最初からタイマー割込みが入ってしまう。

解決策は、”PG079 - AXI Timer v2.0 Product Guide (PG079) (v2.0)”の 13 ページの”Control/Status Register 0 (TCSR0)”の”T0INT”を 1 にしていなかったためだった。
割り込みの度に”Control/Status Register 0 (TCSR0)”の”T0INT”を 1 にして割り込みを解除する必要があった。
GPIO を使用して 0.5 秒ことに LED の点灯/消灯を繰り返すソフトウェアを示す。

// timer_test.c
// 2023/02/08 by marsee
// Reference URL:https://github.com/ikwzm/ZYBO_UIO_IRQ_SAMPLE/blob/master/c-sample/sample1.c

#include        <stdio.h>
#include        <stdint.h>
#include        <stdlib.h>
#include        <fcntl.h>
#include        <string.h>
#include        <time.h>
#include        <sys/time.h>
#include        <poll.h>
#include        <sys/types.h>
#include        <sys/mman.h>

#define ENABLE_ALL_TIMERS                (0x1<<10)
#define ENABLE_PULSE_WIDTH_MODULATION    (0x1<<9)
#define TIMER_INTERRUPT                    (0x1<<8)
#define ENABLE_TIMER                    (0x1<<7)
#define ENABLE_INTERRUPT                (0x1<<6)
#define LOAD_TIMER                        (0x1<<5)
#define AUTO_RELOAD_HOLD_TIMER            (0x1<<4)
#define ENABLE_EXT_CAPTURE_TRIG            (0x1<<3)
#define ENABLE_EXT_GENERATE_SIG            (0x1<<2)
#define DOWN_UP_COUNT_TIMER                (0x1<<1)
#define TIMER_MODE_CAP_GENE                (0x1)

int uio_irq_on(int uio_fd)
{
    unsigned int  irq_on = 1;
    write(uio_fd, &irq_on, sizeof(irq_on));
}

int uio_wait_irq(int uio_fd)
{
    unsigned int  count = 0;
    return read(uio_fd, &count,  sizeof(count));
}

void main()
{
    int            uio0_fd, uio1_fd;
    uint32_t    *axi_gpio, *axi_timer;
    static uint32_t led_stat = 0;

    if((uio0_fd = open("/dev/uio0", O_RDWR)) == -1) {
        printf("Can not open /dev/uio0\n");
        exit(1);
    }
    axi_gpio = (uint32_t*)mmap(NULL, 0x10000, PROT_READ|PROT_WRITE, MAP_SHARED, uio0_fd, 0);
    
    if((uio1_fd = open("/dev/uio1", O_RDWR)) == -1) {
        printf("Can not open /dev/uio1\n");
        exit(1);
    }
    axi_timer = (uint32_t*)mmap(NULL, 0x10000, PROT_READ|PROT_WRITE, MAP_SHARED, uio1_fd, 0);
    
    // axi_timer_0 -> Timer0
    axi_timer[1] = 0x02FAF080; // TLR0, Decimal = 50,000,000, 100 MHz = 0.5sec
    axi_timer[0] = LOAD_TIMER; // TCR0, ENALL and LOAD0 = 1
    axi_timer[0] = TIMER_INTERRUPT | ENABLE_TIMER | ENABLE_INTERRUPT | AUTO_RELOAD_HOLD_TIMER | DOWN_UP_COUNT_TIMER; // timer interrupt clear
    
    for(int i=0; i<100; i++){
        if(uio_irq_on(uio1_fd) == -1){
            fprintf(stderr, "uio_irq_on error\n");
            break;
        }
        if(uio_wait_irq(uio1_fd) == -1){
            fprintf(stderr, "uio_wait_irq error\n");
            break;
        }
        
        axi_timer[0] = TIMER_INTERRUPT | ENABLE_TIMER | ENABLE_INTERRUPT | AUTO_RELOAD_HOLD_TIMER | DOWN_UP_COUNT_TIMER; // timer interrupt clear
        
        led_stat ^= 0xf;
        axi_gpio[0] = led_stat;
    }
    close(uio0_fd);
    close(uio1_fd);
}

  1. 2023年02月14日 04:15 |
  2. IP
  3. | トラックバック:0
  4. | コメント:0

”RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をやってみる4

”RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をやってみる3”の続き。

RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をやってみようということで、前回は、wic イメージ・ファイルを balenaEtcher を使用して MicroSD カードに書き込み、KR260 に挿入して Petalinux 2022.1 を起動した。今回は、KR260 の Petalinux 2022.1 に必要なパッケージをインストールした。

まずはファイル・マネージャーから。pcmafm をインストールする。
sudo dnf install pcmanfm.cortexa72_cortexa53
KR260_221_230212.png

pcmanfm & で起動できた。
KR260_222_230212.png

packagegroup-petalinux-opencv-dbg をインストールした。
sudo dnf install packagegroup-petalinux-opencv-dbg
KR260_223_230212.png

openssh-sftp-server をインストールした。
sudo dnf install openssh-sftp-server.cortexa72_cortexa53
KR260_224_230212.png

テキスト・エディタの l3afpad をインストールした。
sudo dnf install l3afpad.cortexa72_cortexa53
KR260_225_230212.png

l3afpad & で起動した。
KR260_226_230212.png

gtk-play をインストールする。
gst-examples をインストールした。
sudo dnf install gst-examples.cortexa72_cortexa53
KR260_227_230212.png

pcmanfm から gtk-play を起動できるようにした。
IMG_20191030_051740.jpg ファイルをダブルクリックで開くと、Choose Application ダイアログが開く。
Custom Command Line タブをクリックして、Command line to execute: に gtk-play %f と入力し、”Set selected application as default action for this file type”のチェックボックスにチェックを入れた。
KR260_111_230126.png

IMG_20191030_051740.jpg を表示できた。
KR260_228_230212.jpg
  1. 2023年02月14日 03:56 |
  2. KR260
  3. | トラックバック:0
  4. | コメント:0

”RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をやってみる3

”RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をやってみる2”の続き。

RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をやってみようということで、前回は、Petalinux 2022.1 の linux_os プロジェクトに XSA ファイルをインポートし、ビルドを行って成功した。wic イメージ・ファイルを作成した。今回は、wic イメージ・ファイルを balenaEtcher を使用して MicroSD カードに書き込み、KR260 に挿入して Petalinux 2022.1 を起動した。

前回作成した petalinux-sdimage.wic ファイルを balenaEtcher を使用して MicroSD カードに書き込んだ。
KR260_216_230212.png

書き込み後に MicroSD カードに boot パーティションと root パーティションが生成された。
KR260_217_230212.png

KR260_218_230212.png

MicroSD カードを KV260 に挿入して電源 ON したところ、Petalinux 2022.1 が起動した。
KR260_219_230212.png

ID に petalinux を入力したところ、新しいパスワードを聞かれたので、入力した。
ifconfig をすると、KR260 の Petalinux 2022.1 に 192.168.3.28 の IP アドレスが割り当てられているのが分かった。
KR260_220_230212.png

Petalinux 2022.1 の起動ログを貼っておく。

Xilinx Zynq MP First Stage Boot Loader 
Release 2022.1   Sep 16 2022  -  04:56:15
MultiBootOffset: 0x1F0
Reset Mode  :   System Reset
Platform: Silicon (4.0), Running on A53-0 (64-bit) Processor, Device Name: XCZUUNKNEG
QSPI 32 bit Boot Mode 
FlashID=0x20 0xBB 0x20
Pr�NOTICE:  BL31: v2.6(release):0897efd
NOTICE:  BL31: Built : 04:58:29, Sep 16 2022


U-Boot 2022.01-g91ad7924-dirty (Sep 15 2022 - 23:00:49 -0600), Build: jenkins-BUILDS-2022.1-som_qspi_generation-131

CPU:   ZynqMP
Silicon: v3
Detected name: zynqmp-smk-k26-xcl2g-rev1-sck-kr-g-rev1
Model: ZynqMP SMK-K26 Rev1/B/A
Board: Xilinx ZynqMP
DRAM:  4 GiB
PMUFW:  v1.1
Xilinx I2C FRU format at nvmem0:
 Manufacturer Name: XILINX
 Product Name: SMK-K26-XCL2G
 Serial No: XFL1CYY0C2I3
 Part Number: 5057-04
 File ID: 0x0
 Revision Number: 1
Xilinx I2C FRU format at nvmem1:
 Manufacturer Name: XILINX
 Product Name: SCK-KR-G
 Serial No: XFL1V0BJCWOF
 Part Number: 5100-01
 File ID: 0x0
 Revision Number: 1
EL Level:   EL2
Chip ID:    xck26
NAND:  0 MiB
MMC:   
Loading Environment from nowhere... OK
In:    serial
Out:   serial
Err:   serial
Bootmode: QSPI_MODE
Reset reason:   SOFT 
Net:   
ZYNQ GEM: ff0b0000, mdio bus ff0c0000, phyaddr 4, interface sgmii
eth0: ethernet@ff0b0000
ZYNQ GEM: ff0c0000, mdio bus ff0c0000, phyaddr 8, interface rgmii-id
, eth1: ethernet@ff0c0000
starting USB...
Bus usb@fe200000: Register 2000440 NbrPorts 2
Starting the controller
USB XHCI 1.00
Bus usb@fe300000: Register 2000440 NbrPorts 2
Starting the controller
USB XHCI 1.00
scanning bus usb@fe200000 for devices... 5 USB Device(s) found
scanning bus usb@fe300000 for devices... 4 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
Hit any key to stop autoboot:  0 
model=SMK-K26-XCL2G

Device 0: Vendor: Generic  Rev: 1.98 Prod: Ultra HS-COMBO
            Type: Removable Hard Disk
            Capacity: 29554.0 MB = 28.8 GB (60526592 x 512)
... is now current device
Scanning usb 0:1...
Found U-Boot script /boot.scr
2777 bytes read in 1 ms (2.6 MiB/s)
## Executing script at 20000000
Trying to load boot images from usb0
22401536 bytes read in 1489 ms (14.3 MiB/s)
46929 bytes read in 6 ms (7.5 MiB/s)
23216992 bytes read in 1541 ms (14.4 MiB/s)
## Loading init Ramdisk from Legacy Image at 04000000 ...
   Image Name:   petalinux-initramfs-image-xilinx
   Created:      2011-04-05  23:00:00 UTC
   Image Type:   AArch64 Linux RAMDisk Image (uncompressed)
   Data Size:    23216928 Bytes = 22.1 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 00100000
   Booting using the fdt blob at 0x100000
   Loading Ramdisk to 779db000, end 78fff320 ... OK
   Loading Device Tree to 000000000fff1000, end 000000000ffff750 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.15.19-xilinx-v2022.1 (oe-user@oe-host) (aarch64-xilinx-linux-gcc (GCC) 11.2.0, GNU ld (GNU Binutils) 2.37.20210721) #1 SMP Thu May 12 09:05:30 UTC 2022
[    0.000000] Machine model: ZynqMP SMK-K26 Rev1/B/A
[    0.000000] earlycon: cdns0 at MMIO 0x00000000ff010000 (options '115200n8')
[    0.000000] printk: bootconsole [cdns0] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] Zone ranges:
[    0.000000]   DMA32    [mem 0x0000000000000000-0x00000000ffffffff]
[    0.000000]   Normal   [mem 0x0000000100000000-0x000000087fffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000003ecfffff]
[    0.000000]   node   0: [mem 0x000000003ed00000-0x000000003ee47fff]
[    0.000000]   node   0: [mem 0x000000003ee48000-0x000000007fefffff]
[    0.000000]   node   0: [mem 0x0000000800000000-0x000000087fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000087fffffff]
[    0.000000] On node 0, zone Normal: 256 pages in unavailable ranges
[    0.000000] cma: Reserved 900 MiB at 0x000000003f400000
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.2
[    0.000000] percpu: Embedded 18 pages/cpu s34776 r8192 d30760 u73728
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1031940
[    0.000000] Kernel command line: earlycon console=ttyPS1,115200 clk_ignore_unused xilinx_tsn_ep.st_pcp=4 init_fatal_sh=1 cma=900M 
[    0.000000] Unknown kernel command line parameters "init_fatal_sh=1", will be passed to user space.
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: mapped [mem 0x000000007bf00000-0x000000007ff00000] (64MB)
[    0.000000] Memory: 3078456K/4193280K available (14528K kernel code, 1012K rwdata, 4056K rodata, 2176K init, 571K bss, 193224K reserved, 921600K cma-reserved)
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GIC: Adjusting CPU interface base to 0x00000000f902f000
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] random: get_random_bytes called from start_kernel+0x474/0x6d4 with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 99.99MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x171015c90f, max_idle_ns: 440795203080 ns
[    0.000000] sched_clock: 56 bits at 99MHz, resolution 10ns, wraps every 4398046511101ns
[    0.008304] Console: colour dummy device 80x25
[    0.012397] Calibrating delay loop (skipped), value calculated using timer frequency.. 199.99 BogoMIPS (lpj=399996)
[    0.022752] pid_max: default: 32768 minimum: 301
[    0.027508] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.034699] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.043439] rcu: Hierarchical SRCU implementation.
[    0.047499] EFI services will not be available.
[    0.051863] smp: Bringing up secondary CPUs ...
[    0.056572] Detected VIPT I-cache on CPU1
[    0.056612] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.056982] Detected VIPT I-cache on CPU2
[    0.057005] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.057344] Detected VIPT I-cache on CPU3
[    0.057364] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.057404] smp: Brought up 1 node, 4 CPUs
[    0.091692] SMP: Total of 4 processors activated.
[    0.096364] CPU features: detected: 32-bit EL0 Support
[    0.101468] CPU features: detected: CRC32 instructions
[    0.106605] CPU: All CPU(s) started at EL2
[    0.110648] alternatives: patching kernel code
[    0.116060] devtmpfs: initialized
[    0.124019] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.128120] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.160092] pinctrl core: initialized pinctrl subsystem
[    0.160567] DMI not present or invalid.
[    0.163728] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.170327] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations
[    0.176458] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.184281] audit: initializing netlink subsys (disabled)
[    0.189688] audit: type=2000 audit(0.132:1): state=initialized audit_enabled=0 res=1
[    0.190034] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.204108] ASID allocator initialised with 65536 entries
[    0.209513] Serial: AMBA PL011 UART driver
[    0.231379] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[    0.232436] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[    0.239107] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.245765] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[    1.214970] cryptd: max_cpu_qlen set to 1000
[    1.237395] DRBG: Continuing without Jitter RNG
[    1.337095] raid6: neonx8   gen()  2375 MB/s
[    1.405141] raid6: neonx8   xor()  1760 MB/s
[    1.473199] raid6: neonx4   gen()  2420 MB/s
[    1.541253] raid6: neonx4   xor()  1723 MB/s
[    1.609313] raid6: neonx2   gen()  2292 MB/s
[    1.677364] raid6: neonx2   xor()  1581 MB/s
[    1.745422] raid6: neonx1   gen()  1955 MB/s
[    1.813470] raid6: neonx1   xor()  1348 MB/s
[    1.881522] raid6: int64x8  gen()  1518 MB/s
[    1.949581] raid6: int64x8  xor()   859 MB/s
[    2.017643] raid6: int64x4  gen()  1775 MB/s
[    2.085693] raid6: int64x4  xor()   947 MB/s
[    2.153753] raid6: int64x2  gen()  1552 MB/s
[    2.221806] raid6: int64x2  xor()   832 MB/s
[    2.289883] raid6: int64x1  gen()  1146 MB/s
[    2.357935] raid6: int64x1  xor()   575 MB/s
[    2.357972] raid6: using algorithm neonx4 gen() 2420 MB/s
[    2.361925] raid6: .... xor() 1723 MB/s, rmw enabled
[    2.366856] raid6: using neon recovery algorithm
[    2.371904] iommu: Default domain type: Translated 
[    2.376287] iommu: DMA domain TLB invalidation policy: strict mode 
[    2.382710] SCSI subsystem initialized
[    2.386358] usbcore: registered new interface driver usbfs
[    2.391706] usbcore: registered new interface driver hub
[    2.396980] usbcore: registered new device driver usb
[    2.402024] mc: Linux media interface: v0.10
[    2.406228] videodev: Linux video capture interface: v2.00
[    2.411693] pps_core: LinuxPPS API ver. 1 registered
[    2.416594] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    2.425685] PTP clock support registered
[    2.429585] EDAC MC: Ver: 3.0.0
[    2.432954] zynqmp-ipi-mbox mailbox@ff990400: Registered ZynqMP IPI mbox with TX/RX channels.
[    2.441344] zynqmp-ipi-mbox mailbox@ff990600: Registered ZynqMP IPI mbox with TX/RX channels.
[    2.449743] FPGA manager framework
[    2.453098] Advanced Linux Sound Architecture Driver Initialized.
[    2.459359] Bluetooth: Core ver 2.22
[    2.462622] NET: Registered PF_BLUETOOTH protocol family
[    2.467890] Bluetooth: HCI device and connection manager initialized
[    2.474207] Bluetooth: HCI socket layer initialized
[    2.479051] Bluetooth: L2CAP socket layer initialized
[    2.484071] Bluetooth: SCO socket layer initialized
[    2.489232] clocksource: Switched to clocksource arch_sys_counter
[    2.495075] VFS: Disk quotas dquot_6.6.0
[    2.498891] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    2.509701] NET: Registered PF_INET protocol family
[    2.510651] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    2.519311] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
[    2.526405] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    2.534417] TCP bind hash table entries: 32768 (order: 7, 524288 bytes, linear)
[    2.541856] TCP: Hash tables configured (established 32768 bind 32768)
[    2.548057] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    2.554716] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    2.561868] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    2.567658] RPC: Registered named UNIX socket transport module.
[    2.573259] RPC: Registered udp transport module.
[    2.577922] RPC: Registered tcp transport module.
[    2.582589] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    2.589550] PCI: CLS 0 bytes, default 64
[    2.593027] Trying to unpack rootfs image as initramfs...
[    2.598919] armv8-pmu pmu: hw perfevents: no interrupt-affinity property, guessing.
[    2.606303] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[    3.591431] Freeing initrd memory: 22672K
[    3.622555] Initialise system trusted keyrings
[    3.622684] workingset: timestamp_bits=46 max_order=20 bucket_order=0
[    3.628466] NFS: Registering the id_resolver key type
[    3.632801] Key type id_resolver registered
[    3.636986] Key type id_legacy registered
[    3.640934] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    3.647580] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    3.654943] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    3.694367] NET: Registered PF_ALG protocol family
[    3.694413] xor: measuring software checksum speed
[    3.702036]    8regs           :  2626 MB/sec
[    3.705764]    32regs          :  3110 MB/sec
[    3.710761]    arm64_neon      :  2564 MB/sec
[    3.711248] xor: using function: 32regs (3110 MB/sec)
[    3.716273] Key type asymmetric registered
[    3.720336] Asymmetric key parser 'x509' registered
[    3.725215] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 244)
[    3.732533] io scheduler mq-deadline registered
[    3.737030] io scheduler kyber registered
[    3.766545] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    3.768269] Serial: AMBA driver
[    3.771154] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    3.780346] brd: module loaded
[    3.783583] loop: module loaded
[    3.784428] mtdoops: mtd device (mtddev=name/number) must be supplied
[    3.791556] tun: Universal TUN/TAP device driver, 1.6
[    3.794070] CAN device driver interface
[    3.798393] SPI driver wl1271_spi has no spi_device_id for ti,wl1271
[    3.804113] SPI driver wl1271_spi has no spi_device_id for ti,wl1273
[    3.810425] SPI driver wl1271_spi has no spi_device_id for ti,wl1281
[    3.816739] SPI driver wl1271_spi has no spi_device_id for ti,wl1283
[    3.823054] SPI driver wl1271_spi has no spi_device_id for ti,wl1285
[    3.829368] SPI driver wl1271_spi has no spi_device_id for ti,wl1801
[    3.835683] SPI driver wl1271_spi has no spi_device_id for ti,wl1805
[    3.841998] SPI driver wl1271_spi has no spi_device_id for ti,wl1807
[    3.848312] SPI driver wl1271_spi has no spi_device_id for ti,wl1831
[    3.854627] SPI driver wl1271_spi has no spi_device_id for ti,wl1835
[    3.860941] SPI driver wl1271_spi has no spi_device_id for ti,wl1837
[    3.867349] usbcore: registered new interface driver asix
[    3.872660] usbcore: registered new interface driver ax88179_178a
[    3.878692] usbcore: registered new interface driver cdc_ether
[    3.884487] usbcore: registered new interface driver net1080
[    3.890110] usbcore: registered new interface driver cdc_subset
[    3.895993] usbcore: registered new interface driver zaurus
[    3.901543] usbcore: registered new interface driver cdc_ncm
[    3.907803] usbcore: registered new interface driver uas
[    3.912443] usbcore: registered new interface driver usb-storage
[    3.918985] rtc_zynqmp ffa60000.rtc: registered as rtc0
[    3.923581] rtc_zynqmp ffa60000.rtc: setting system clock to 1970-01-01T00:00:09 UTC (9)
[    3.931661] i2c_dev: i2c /dev entries driver
[    3.937358] usbcore: registered new interface driver uvcvideo
[    3.942282] Bluetooth: HCI UART driver ver 2.3
[    3.945980] Bluetooth: HCI UART protocol H4 registered
[    3.951078] Bluetooth: HCI UART protocol BCSP registered
[    3.956367] Bluetooth: HCI UART protocol LL registered
[    3.961456] Bluetooth: HCI UART protocol ATH3K registered
[    3.966831] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    3.973077] Bluetooth: HCI UART protocol Intel registered
[    3.978422] Bluetooth: HCI UART protocol QCA registered
[    3.983625] usbcore: registered new interface driver bcm203x
[    3.989246] usbcore: registered new interface driver bpa10x
[    3.994780] usbcore: registered new interface driver bfusb
[    4.000229] usbcore: registered new interface driver btusb
[    4.005691] usbcore: registered new interface driver ath3k
[    4.011182] EDAC MC: ECC not enabled
[    4.014771] EDAC DEVICE0: Giving out device to module edac controller cache_err: DEV edac (POLLED)
[    4.023710] EDAC DEVICE1: Giving out device to module zynqmp-ocm-edac controller zynqmp_ocm: DEV ff960000.memory-controller (INTERRUPT)
[    4.036030] sdhci: Secure Digital Host Controller Interface driver
[    4.041817] sdhci: Copyright(c) Pierre Ossman
[    4.046141] sdhci-pltfm: SDHCI platform and OF driver helper
[    4.052084] ledtrig-cpu: registered to indicate activity on CPUs
[    4.057831] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
[    4.064198] zynqmp_firmware_probe Platform Management API v1.1
[    4.069932] zynqmp_firmware_probe Trustzone version v1.0
[    4.103388] securefw securefw: securefw probed
[    4.103695] alg: No test for xilinx-zynqmp-aes (zynqmp-aes)
[    4.107864] zynqmp_aes firmware:zynqmp-firmware:zynqmp-aes: AES Successfully Registered
[    4.115962] alg: No test for xilinx-keccak-384 (zynqmp-keccak-384)
[    4.122100] alg: No test for xilinx-zynqmp-rsa (zynqmp-rsa)
[    4.127603] usbcore: registered new interface driver usbhid
[    4.133000] usbhid: USB HID core driver
[    4.139597] ARM CCI_400_r1 PMU driver probed
[    4.140182] fpga_manager fpga0: Xilinx ZynqMP FPGA Manager registered
[    4.147823] usbcore: registered new interface driver snd-usb-audio
[    4.154330] pktgen: Packet Generator for packet performance testing. Version: 2.75
[    4.161836] Initializing XFRM netlink socket
[    4.165417] NET: Registered PF_INET6 protocol family
[    4.170750] Segment Routing with IPv6
[    4.173930] In-situ OAM (IOAM) with IPv6
[    4.177866] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    4.183994] NET: Registered PF_PACKET protocol family
[    4.188721] NET: Registered PF_KEY protocol family
[    4.193473] can: controller area network core
[    4.197810] NET: Registered PF_CAN protocol family
[    4.202544] can: raw protocol
[    4.205486] can: broadcast manager protocol
[    4.209639] can: netlink gateway - max_hops=1
[    4.214040] Bluetooth: RFCOMM TTY layer initialized
[    4.218813] Bluetooth: RFCOMM socket layer initialized
[    4.223924] Bluetooth: RFCOMM ver 1.11
[    4.227633] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    4.232906] Bluetooth: BNEP filters: protocol multicast
[    4.238097] Bluetooth: BNEP socket layer initialized
[    4.243025] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    4.248910] Bluetooth: HIDP socket layer initialized
[    4.253863] 8021q: 802.1Q VLAN Support v1.8
[    4.258109] 9pnet: Installing 9P2000 support
[    4.262244] Key type dns_resolver registered
[    4.266593] registered taskstats version 1
[    4.270537] Loading compiled-in X.509 certificates
[    4.276304] Btrfs loaded, crc32c=crc32c-generic, zoned=no, fsverity=no
[    4.290338] ff010000.serial: ttyPS1 at MMIO 0xff010000 (irq = 48, base_baud = 6249999) is a xuartps
[    4.299370] printk: console [ttyPS1] enabled
[    4.299370] printk: console [ttyPS1] enabled
[    4.303670] printk: bootconsole [cdns0] disabled
[    4.303670] printk: bootconsole [cdns0] disabled
[    4.312933] of-fpga-region fpga-full: FPGA Region probed
[    4.323078] xilinx-zynqmp-dma fd500000.dma-controller: ZynqMP DMA driver Probe success
[    4.331150] xilinx-zynqmp-dma fd510000.dma-controller: ZynqMP DMA driver Probe success
[    4.339224] xilinx-zynqmp-dma fd520000.dma-controller: ZynqMP DMA driver Probe success
[    4.347285] xilinx-zynqmp-dma fd530000.dma-controller: ZynqMP DMA driver Probe success
[    4.355360] xilinx-zynqmp-dma fd540000.dma-controller: ZynqMP DMA driver Probe success
[    4.363421] xilinx-zynqmp-dma fd550000.dma-controller: ZynqMP DMA driver Probe success
[    4.371501] xilinx-zynqmp-dma fd560000.dma-controller: ZynqMP DMA driver Probe success
[    4.379556] xilinx-zynqmp-dma fd570000.dma-controller: ZynqMP DMA driver Probe success
[    4.387684] xilinx-zynqmp-dma ffa80000.dma-controller: ZynqMP DMA driver Probe success
[    4.395752] xilinx-zynqmp-dma ffa90000.dma-controller: ZynqMP DMA driver Probe success
[    4.403815] xilinx-zynqmp-dma ffaa0000.dma-controller: ZynqMP DMA driver Probe success
[    4.411881] xilinx-zynqmp-dma ffab0000.dma-controller: ZynqMP DMA driver Probe success
[    4.419954] xilinx-zynqmp-dma ffac0000.dma-controller: ZynqMP DMA driver Probe success
[    4.428024] xilinx-zynqmp-dma ffad0000.dma-controller: ZynqMP DMA driver Probe success
[    4.436088] xilinx-zynqmp-dma ffae0000.dma-controller: ZynqMP DMA driver Probe success
[    4.444150] xilinx-zynqmp-dma ffaf0000.dma-controller: ZynqMP DMA driver Probe success
[    4.452523] xilinx-zynqmp-dpdma fd4c0000.dma-controller: Xilinx DPDMA engine is probed
[    4.463617] zynqmp-display fd4a0000.display: vtc bridge property not present
[    4.473512] xilinx-dp-snd-codec fd4a0000.display:zynqmp_dp_snd_codec0: Xilinx DisplayPort Sound Codec probed
[    4.483565] xilinx-dp-snd-pcm zynqmp_dp_snd_pcm0: Xilinx DisplayPort Sound PCM probed
[    4.491596] xilinx-dp-snd-pcm zynqmp_dp_snd_pcm1: Xilinx DisplayPort Sound PCM probed
[    4.500416] xilinx-dp-snd-card fd4a0000.display:zynqmp_dp_snd_card: Xilinx DisplayPort Sound Card probed
[    4.509975] OF: graph: no port node found in /axi/display@fd4a0000
[    4.516320] zynqmp_pll_disable() clock disable failed for dpll_int, ret = -13
[    4.523620] xlnx-drm xlnx-drm.0: bound fd4a0000.display (ops 0xffff800008f030e0)
[    4.694938] Console: switching to colour frame buffer device 240x67
[    4.717846] zynqmp-display fd4a0000.display: [drm] fb0: xlnxdrmfb frame buffer device
[    4.725882] [drm] Initialized xlnx 1.0.0 20130509 for fd4a0000.display on minor 0
[    4.733384] zynqmp-display fd4a0000.display: ZynqMP DisplayPort Subsystem driver probed
[    4.743534] spi-nor spi0.0: mt25qu512a (65536 Kbytes)
[    4.748638] 16 fixed-partitions partitions found on MTD device spi0.0
[    4.750216] tpm_tis_spi spi2.0: 2.0 TPM (device-id 0x1B, rev-id 22)
[    4.755071] Creating 16 MTD partitions on "spi0.0":
[    4.755076] 0x000000000000-0x000000080000 : "Image Selector"
[    4.763723] tpm tpm0: A TPM error (256) occurred attempting the self test
[    4.766995] 0x000000080000-0x000000100000 : "Image Selector Golden"
[    4.771850] tpm tpm0: starting up the TPM manually
[    4.774831] random: fast init done
[    4.793694] 0x000000100000-0x000000120000 : "Persistent Register"
[    4.800440] 0x000000120000-0x000000140000 : "Persistent Register Backup"
[    4.807804] 0x000000140000-0x000000200000 : "Open_1"
[    4.813420] 0x000000200000-0x000000f00000 : "Image A (FSBL, PMU, ATF, U-Boot)"
[    4.821290] 0x000000f00000-0x000000f80000 : "ImgSel Image A Catch"
[    4.828106] 0x000000f80000-0x000001c80000 : "Image B (FSBL, PMU, ATF, U-Boot)"
[    4.835975] 0x000001c80000-0x000001d00000 : "ImgSel Image B Catch"
[    4.842801] 0x000001d00000-0x000001e00000 : "Open_2"
[    4.848406] 0x000001e00000-0x000002000000 : "Recovery Image"
[    4.854719] 0x000002000000-0x000002200000 : "Recovery Image Backup"
[    4.861639] 0x000002200000-0x000002220000 : "U-Boot storage variables"
[    4.868815] 0x000002220000-0x000002240000 : "U-Boot storage variables backup"
[    4.876588] 0x000002240000-0x000002250000 : "SHA256"
[    4.882216] 0x000002250000-0x000004000000 : "User"
[    4.888155] macb ff0b0000.ethernet: Not enabling partial store and forward
[    4.920425] macb ff0b0000.ethernet eth0: Cadence GEM rev 0x50070106 at 0xff0b0000 irq 38 (00:0a:35:0f:2b:0e)
[    4.931982] macb ff0c0000.ethernet: Not enabling partial store and forward
[    4.974198] xilinx-axipmon ffa00000.perf-monitor: Probed Xilinx APM
[    4.980730] xilinx-axipmon fd0b0000.perf-monitor: Probed Xilinx APM
[    4.987206] xilinx-axipmon fd490000.perf-monitor: Probed Xilinx APM
[    4.993670] xilinx-axipmon ffa10000.perf-monitor: Probed Xilinx APM
[    5.001319] i2c i2c-1: Added multiplexed i2c bus 3
[    5.006216] i2c i2c-1: Added multiplexed i2c bus 4
[    5.011118] i2c i2c-1: Added multiplexed i2c bus 5
[    5.016001] i2c i2c-1: Added multiplexed i2c bus 6
[    5.020790] pca954x 1-0074: registered 4 multiplexed busses for I2C switch pca9546
[    5.029322] at24 1-0050: supply vcc not found, using dummy regulator
[    5.035974] at24 1-0050: 8192 byte 24c64 EEPROM, writable, 1 bytes/write
[    5.042802] at24 1-0051: supply vcc not found, using dummy regulator
[    5.049436] at24 1-0051: 8192 byte 24c64 EEPROM, writable, 1 bytes/write
[    5.056327] cdns-i2c ff030000.i2c: 400 kHz mmio ff030000 irq 41
[    5.063633] cdns-wdt fd4d0000.watchdog: Xilinx Watchdog Timer with timeout 60s
[    5.071062] cdns-wdt ff150000.watchdog: Xilinx Watchdog Timer with timeout 10s
[    5.080469] macb ff0c0000.ethernet: Not enabling partial store and forward
[    5.087376] macb ff0c0000.ethernet: invalid hw address, using random
[    5.101127] macb ff0c0000.ethernet eth1: Cadence GEM rev 0x50070106 at 0xff0c0000 irq 39 (96:70:13:78:a5:99)
[    5.134991] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    5.140490] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 1
[    5.148236] xhci-hcd xhci-hcd.1.auto: hcc params 0x0238f625 hci version 0x100 quirks 0x0000000002010810
[    5.157652] xhci-hcd xhci-hcd.1.auto: irq 55, io mem 0xfe200000
[    5.163755] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.15
[    5.172015] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    5.179237] usb usb1: Product: xHCI Host Controller
[    5.184113] usb usb1: Manufacturer: Linux 5.15.19-xilinx-v2022.1 xhci-hcd
[    5.190890] usb usb1: SerialNumber: xhci-hcd.1.auto
[    5.196210] hub 1-0:1.0: USB hub found
[    5.199978] hub 1-0:1.0: 1 port detected
[    5.204080] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    5.209571] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 2
[    5.217230] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed
[    5.223863] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.15
[    5.232125] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    5.239345] usb usb2: Product: xHCI Host Controller
[    5.244212] usb usb2: Manufacturer: Linux 5.15.19-xilinx-v2022.1 xhci-hcd
[    5.250990] usb usb2: SerialNumber: xhci-hcd.1.auto
[    5.256124] hub 2-0:1.0: USB hub found
[    5.259904] hub 2-0:1.0: 1 port detected
[    5.280165] xhci-hcd xhci-hcd.2.auto: xHCI Host Controller
[    5.285668] xhci-hcd xhci-hcd.2.auto: new USB bus registered, assigned bus number 3
[    5.293411] xhci-hcd xhci-hcd.2.auto: hcc params 0x0238f625 hci version 0x100 quirks 0x0000000002010810
[    5.302840] xhci-hcd xhci-hcd.2.auto: irq 58, io mem 0xfe300000
[    5.308947] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.15
[    5.317215] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    5.324451] usb usb3: Product: xHCI Host Controller
[    5.329324] usb usb3: Manufacturer: Linux 5.15.19-xilinx-v2022.1 xhci-hcd
[    5.336114] usb usb3: SerialNumber: xhci-hcd.2.auto
[    5.341258] hub 3-0:1.0: USB hub found
[    5.345015] hub 3-0:1.0: 1 port detected
[    5.349115] xhci-hcd xhci-hcd.2.auto: xHCI Host Controller
[    5.354604] xhci-hcd xhci-hcd.2.auto: new USB bus registered, assigned bus number 4
[    5.362258] xhci-hcd xhci-hcd.2.auto: Host supports USB 3.0 SuperSpeed
[    5.368881] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.15
[    5.377143] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    5.384362] usb usb4: Product: xHCI Host Controller
[    5.389231] usb usb4: Manufacturer: Linux 5.15.19-xilinx-v2022.1 xhci-hcd
[    5.396010] usb usb4: SerialNumber: xhci-hcd.2.auto
[    5.401113] hub 4-0:1.0: USB hub found
[    5.404877] hub 4-0:1.0: 1 port detected
[    5.411875] gpio-keys gpio-keys: Button without keycode
[    5.417112] gpio-keys: probe of gpio-keys failed with error -22
[    5.423109] of_cfs_init
[    5.425569] of_cfs_init: OK
[    5.428486] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    5.485242] usb 1-1: new high-speed USB device number 2 using xhci-hcd
[    5.554381] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    5.560912] clk: Not disabling unused clocks
[    5.565447] ALSA device list:
[    5.568399]   #0: DisplayPort monitor
[    5.572313] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    5.580930] cfg80211: failed to load regulatory.db
[    5.586212] Freeing unused kernel memory: 2176K
[    5.605276] Run /init as init process
[    5.637784] usb 1-1: New USB device found, idVendor=0424, idProduct=2744, bcdDevice= 2.21
[    5.645281] usb 3-1: new high-speed USB device number 2 using xhci-hcd
[    5.646000] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    5.659613] usb 1-1: Product: USB2744
[    5.663273] usb 1-1: Manufacturer: Microchip Tech
[    5.681769] random: python3: uninitialized urandom read (24 bytes read)
[    5.704022] hub 1-1:1.0: USB hub found
[    5.707896] hub 1-1:1.0: 4 ports detected
[    5.767821] usb 2-1: new SuperSpeed USB device number 2 using xhci-hcd
[    5.793665] usb 2-1: New USB device found, idVendor=0424, idProduct=5744, bcdDevice= 2.21
[    5.801882] usb 2-1: New USB device strings: Mfr=2, Product=3, SerialNumber=0
[    5.809047] usb 2-1: Product: USB5744
[    5.812734] usb 2-1: Manufacturer: Microchip Tech
[    5.817965] usb 3-1: New USB device found, idVendor=0424, idProduct=2744, bcdDevice= 2.21
[    5.826149] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    5.833277] usb 3-1: Product: USB2744
[    5.836926] usb 3-1: Manufacturer: Microchip Tech
[    5.879889] hub 2-1:1.0: USB hub found
[    5.883758] hub 3-1:1.0: USB hub found
[    5.883784] hub 2-1:1.0: 3 ports detected
[    5.891555] hub 3-1:1.0: 3 ports detected
[    5.945374] usb 4-1: new SuperSpeed USB device number 2 using xhci-hcd
[    5.969628] usb 4-1: New USB device found, idVendor=0424, idProduct=5744, bcdDevice= 2.21
[    5.977818] usb 4-1: New USB device strings: Mfr=2, Product=3, SerialNumber=0
[    5.984954] usb 4-1: Product: USB5744
[    5.988616] usb 4-1: Manufacturer: Microchip Tech
[    6.057024] hub 4-1:1.0: USB hub found
[    6.060953] hub 4-1:1.0: 2 ports detected
[    6.065247] usb 1-1.1: new high-speed USB device number 3 using xhci-hcd
[    6.175547] usb 1-1.1: New USB device found, idVendor=0424, idProduct=2240, bcdDevice= 1.98
[    6.183894] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    6.191194] usb 1-1.1: Product: Ultra Fast Media 
[    6.195888] usb 1-1.1: Manufacturer: Generic
[    6.200149] usb 1-1.1: SerialNumber: 000000225001
[    6.205426] usb-storage 1-1.1:1.0: USB Mass Storage device detected
[    6.211951] scsi host0: usb-storage 1-1.1:1.0
[    6.229239] usb 3-1.3: new high-speed USB device number 3 using xhci-hcd
[    6.293281] usb 1-1.4: new high-speed USB device number 4 using xhci-hcd
[    6.335941] macb ff0c0000.ethernet eth1: PHY [ff0c0000.ethernet-ffffffff:08] driver [TI DP83867] (irq=POLL)
[    6.338005] usb 3-1.3: New USB device found, idVendor=0424, idProduct=2740, bcdDevice= 2.00
[    6.345698] macb ff0c0000.ethernet eth1: configuring for phy/rgmii-id link mode
[    6.354030] usb 3-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    6.354036] usb 3-1.3: Product: Hub Controller
[    6.361907] pps pps0: new PPS source ptp0
[    6.368629] usb 3-1.3: Manufacturer: Microchip Tech
[    6.382030] macb ff0c0000.ethernet: gem-ptp-timer ptp clock registered.
MAC address for eth1 is updated to 00:0a:35:0f:40:0f
[    6.396858] random: python3: uninitialized urandom read (24 bytes read)
[    6.404175] usb 1-1.4: New USB device found, idVendor=0424, idProduct=2740, bcdDevice= 2.00
[    6.412558] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    6.419878] usb 1-1.4: Product: Hub Controller
[    6.424330] usb 1-1.4: Manufacturer: Microchip Tech
[    7.001176] macb ff0b0000.ethernet eth0: PHY [ff0c0000.ethernet-ffffffff:04] driver [TI DP83867] (irq=POLL)
[    7.010934] macb ff0b0000.ethernet eth0: configuring for phy/sgmii link mode
[    7.018185] pps pps1: new PPS source ptp1
[    7.022304] macb ff0b0000.ethernet: gem-ptp-timer ptp clock registered.
MAC address for eth0 is updated to 00:0a:35:0f:2b:0e
[    7.226053] scsi 0:0:0:0: Direct-Access     Generic  Ultra HS-COMBO   1.98 PQ: 0 ANSI: 0
[    7.235313] sd 0:0:0:0: [sda] 60526592 512-byte logical blocks: (31.0 GB/28.9 GiB)
[    7.243473] sd 0:0:0:0: [sda] Write Protect is off
[    7.248904] sd 0:0:0:0: [sda] No Caching mode page found
[    7.254220] sd 0:0:0:0: [sda] Assuming drive cache: write through
[    7.263901]  sda: sda1 sda2
[    7.268522] sd 0:0:0:0: [sda] Attached SCSI removable disk
root: clean, 70496/524288 files, 419772/1048576 blocks
[    8.675599] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
[    9.379461] systemd[1]: System time before build time, advancing clock.
[    9.430380] systemd[1]: systemd 249.7+ running in system mode (+PAM -AUDIT -SELINUX -APPARMOR +IMA -SMACK +SECCOMP -GCRYPT -GNUTLS -OPENSSL +ACL +BLKID -CURL -ELFUTILS -FIDO2 -IDN2 -IDN -IPTC +KMOD -LIBCRYPTSETUP +LIBFDISK -PCRE2 -PWQUALITY -P11KIT -QRENCODE -BZIP2 -LZ4 -XZ -ZLIB +ZSTD +XKBCOMMON +UTMP +SYSVINIT default-hierarchy=hybrid)
[    9.460897] systemd[1]: Detected architecture arm64.

Welcome to PetaLinux 2022.1_update1_05131710 (honister)!

[    9.510218] systemd[1]: Hostname set to <xilinx-kr260-starterkit-20221>.
[    9.531840] random: systemd: uninitialized urandom read (16 bytes read)
[    9.538479] systemd[1]: Initializing machine ID from random generator.
[    9.674368] systemd-sysv-generator[504]: SysV service '/etc/init.d/watchdog-init' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    9.698783] systemd-sysv-generator[504]: SysV service '/etc/init.d/dropbear' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    9.724284] systemd-sysv-generator[504]: SysV service '/etc/init.d/save-rtc.sh' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    9.758945] systemd-sysv-generator[504]: SysV service '/etc/init.d/reboot' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    9.782768] systemd-sysv-generator[504]: SysV service '/etc/init.d/urandom' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    9.807761] systemd-sysv-generator[504]: SysV service '/etc/init.d/single' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    9.832300] systemd-sysv-generator[504]: SysV service '/etc/init.d/sendsigs' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    9.856230] systemd-sysv-generator[504]: SysV service '/etc/init.d/halt' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    9.881988] systemd-sysv-generator[504]: SysV service '/etc/init.d/umountfs' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    9.906947] systemd-sysv-generator[504]: SysV service '/etc/init.d/umountnfs.sh' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    9.931361] systemd-sysv-generator[504]: SysV service '/etc/init.d/inetd.busybox' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[   10.077517] macb ff0b0000.ethernet eth0: unable to generate target frequency: 125000000 Hz
[   10.086901] macb ff0b0000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
[   10.094578] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   10.324823] systemd[1]: Queued start job for default target Graphical Interface.
[   10.333112] random: systemd: uninitialized urandom read (16 bytes read)
[   10.367076] systemd[1]: Created slice Slice /system/getty.
[  OK  ] Created slice Slice /system/getty.
[   10.389352] random: systemd: uninitialized urandom read (16 bytes read)
[   10.397208] systemd[1]: Created slice Slice /system/modprobe.
[  OK  ] Created slice Slice /system/modprobe.
[   10.418527] systemd[1]: Created slice Slice /system/serial-getty.
[  OK  ] Created slice Slice /system/serial-getty.
[   10.442260] systemd[1]: Created slice User and Session Slice.
[  OK  ] Created slice User and Session Slice.
[   10.465480] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[  OK  ] Started Dispatch Password …ts to Console Directory Watch.
[   10.489631] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[  OK  ] Started Forward Password R…uests to Wall Directory Watch.
[   10.513541] systemd[1]: Reached target Path Units.
[  OK  ] Reached target Path Units.
[   10.529333] systemd[1]: Reached target Remote File Systems.
[  OK  ] Reached target Remote File Systems.
[   10.549324] systemd[1]: Reached target Slice Units.
[  OK  ] Reached target Slice Units.
[   10.565331] systemd[1]: Reached target Swaps.
[  OK  ] Reached target Swaps.
[   10.582698] systemd[1]: Listening on RPCbind Server Activation Socket.
[  OK  ] Listening on RPCbind Server Activation Socket.
[   10.605318] systemd[1]: Reached target RPC Port Mapper.
[  OK  ] Reached target RPC Port Mapper.
[   10.625544] systemd[1]: Listening on Syslog Socket.
[  OK  ] Listening on Syslog Socket.
[   10.641475] systemd[1]: Listening on initctl Compatibility Named Pipe.
[  OK  ] Listening on initctl Compatibility Named Pipe.
[   10.665758] systemd[1]: Listening on Journal Audit Socket.
[  OK  ] Listening on Journal Audit Socket.
[   10.685500] systemd[1]: Listening on Journal Socket (/dev/log).
[  OK  ] Listening on Journal Socket (/dev/log).
[   10.705574] systemd[1]: Listening on Journal Socket.
[  OK  ] Listening on Journal Socket.
[   10.721746] systemd[1]: Listening on Network Service Netlink Socket.
[  OK  ] Listening on Network Service Netlink Socket.
[   10.746572] systemd[1]: Listening on udev Control Socket.
[  OK  ] Listening on udev Control Socket.
[   10.769517] systemd[1]: Listening on udev Kernel Socket.
[  OK  ] Listening on udev Kernel Socket.
[   10.789519] systemd[1]: Listening on User Database Manager Socket.
[  OK  ] Listening on User Database Manager Socket.
[   10.815752] systemd[1]: Mounting Huge Pages File System...
         Mounting Huge Pages File System...
[   10.835802] systemd[1]: Mounting POSIX Message Queue File System...
         Mounting POSIX Message Queue File System...
[   10.859881] systemd[1]: Mounting Kernel Debug File System...
         Mounting Kernel Debug File System...
[   10.877650] systemd[1]: Condition check resulted in Kernel Trace File System being skipped.
[   10.889666] systemd[1]: Mounting Temporary Directory /tmp...
         Mounting Temporary Directory /tmp...
[   10.906967] systemd[1]: Condition check resulted in Create List of Static Device Nodes being skipped.
[   10.919174] systemd[1]: Starting Load Kernel Module configfs...
         Starting Load Kernel Module configfs...
[   10.940699] systemd[1]: Starting Load Kernel Module drm...
         Starting Load Kernel Module drm...
[   10.960247] systemd[1]: Starting Load Kernel Module fuse...
         Starting Load Kernel Module fuse...
[   10.984210] systemd[1]: Starting RPC Bind...
         Starting RPC Bind...
[   10.997497] systemd[1]: Condition check resulted in File System Check on Root Device being skipped.
[   11.025110] systemd[1]: Starting Load Kernel Modules...
         Starting Load Kernel Modules...
[   11.048290] systemd[1]: Starting Remount Root and Kernel File Systems...
         Starting Remount Root and Kernel File Systems...
[   11.069459] EXT4-fs (sda2): re-mounted. Opts: (null). Quota mode: none.
[   11.069518] dmaproxy: loading out-of-tree module taints kernel.
[   11.072303] systemd[1]: Starting Coldplug All udev Devices...
         Starting Coldplug All udev Devices...
[   11.102860] systemd[1]: Started RPC Bind.
[  OK  ] Started RPC Bind.
[   11.117862] systemd[1]: Mounted Huge Pages File System.
[  OK  ] Mounted Huge Pages File System.
[   11.137770] systemd[1]: Mounted POSIX Message Queue File System.
[  OK  ] Mounted POSIX Message Queue File System.
[   11.161592] systemd[1]: Mounted Kernel Debug File System.
[  OK  ] Mounted Kernel Debug File System.
[   11.181654] systemd[1]: Mounted Temporary Directory /tmp.
[  OK  ] Mounted Temporary Directory /tmp.
[   11.202207] systemd[1]: modprobe@configfs.service: Deactivated successfully.
[   11.210503] systemd[1]: Finished Load Kernel Module configfs.
[  OK  ] Finished Load Kernel Module configfs.
[   11.234295] systemd[1]: modprobe@drm.service: Deactivated successfully.
[   11.242201] systemd[1]: Finished Load Kernel Module drm.
[  OK  ] Finished Load Kernel Module drm.
[   11.266207] systemd[1]: modprobe@fuse.service: Deactivated successfully.
[   11.274141] systemd[1]: Finished Load Kernel Module fuse.
[  OK  ] Finished Load Kernel Module fuse.
[   11.299095] systemd[1]: Finished Load Kernel Modules.
[  OK  ] Finished Load Kernel Modules.
[   11.314640] systemd[1]: Finished Remount Root and Kernel File Systems.
[  OK  ] Finished Remount Root and Kernel File Systems.
[   11.342169] systemd[1]: Mounting NFSD configuration filesystem...
         Mounting NFSD configuration filesystem...
[   11.361761] systemd[1]: Condition check resulted in FUSE Control File System being skipped.
[   11.372839] systemd[1]: Mounting Kernel Configuration File System...
         Mounting Kernel Configuration File System...
[   11.394213] random: crng init done
[   11.397623] random: 5 urandom warning(s) missed due to ratelimiting
[   11.404878] systemd[1]: Condition check resulted in Rebuild Hardware Database being skipped.
[   11.413506] systemd[1]: Condition check resulted in Platform Persistent Storage Archival being skipped.
[   11.425801] systemd[1]: Starting Apply Kernel Variables...
         Starting Apply Kernel Variables...
         Starting Create System Users...
[   11.466985] systemd[1]: Failed to mount NFSD configuration filesystem.
[FAILED] Failed to mount NFSD configuration filesystem.
See 'systemctl status proc-fs-nfsd.mount' for details.
[DEPEND] Dependency failed for NFS Mount Daemon.
[DEPEND] Dependency failed for NFS server and services.
[  OK  ] Mounted Kernel Configuration File System.
[  OK  ] Finished Apply Kernel Variables.
[  OK  ] Finished Create System Users.
         Starting Create Static Device Nodes in /dev...
[  OK  ] Finished Create Static Device Nodes in /dev.
[  OK  ] Reached target Preparation for Local File Systems.
         Mounting /var/volatile...
[  OK  ] Started Entropy Daemon based on the HAVEGE algorithm.
         Starting Journal Service...
         Starting Rule-based Manage…for Device Events and Files...
[  OK  ] Finished Coldplug All udev Devices.
[  OK  ] Mounted /var/volatile.
         Starting Load/Save Random Seed...
[  OK  ] Finished Load/Save Random Seed.
[  OK  ] Started Journal Service.
         Starting Flush Journal to Persistent Storage...
[  OK  ] Started Rule-based Manager for Device Events and Files.
[  OK  ] Finished Flush Journal to Persistent Storage.
[  OK  ] Reached target Sound Card.
[  OK  ] Listening on Load/Save RF …itch Status /dev/rfkill Watch.
[  OK  ] Found device Ultra_HS-COMBO boot.
         Mounting /boot...
[  OK  ] Mounted /boot.
[  OK  ] Reached target Local File Systems.
         Starting Rebuild Dynamic Linker Cache...
         Starting Create Volatile Files and Directories...
[  OK  ] Finished Create Volatile Files and Directories.
         Starting Run pending postinsts...
         Starting Rebuild Journal Catalog...
         Starting Network Time Synchronization...
         Starting Record System Boot/Shutdown in UTMP...
[  OK  ] Finished Record System Boot/Shutdown in UTMP.
[  OK  ] Finished Rebuild Journal Catalog.
[  OK  ] Started Network Time Synchronization.
[  OK  ] Reached target System Time Set.
[  OK  ] Finished Rebuild Dynamic Linker Cache.
         Starting Update is Completed...
[  OK  ] Finished Update is Completed.
[  OK  ] Finished Run pending postinsts.
[  OK  ] Reached target System Initialization.
[  OK  ] Started Daily rotation of log files.
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Reached target Timer Units.
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Listening on dropbear.socket.
[  OK  ] Reached target Socket Units.
[  OK  ] Reached target Basic System.
[  OK  ] Started archconfig.
[  OK  ] Started Job spooling tools.
[  OK  ] Started Periodic Command Scheduler.
[  OK  ] Started D-Bus System Message Bus.
[  OK  ] Started dfx-mgrd Dynamic Function eXchange.
[  OK  ] Started Start fan control, if configured.
         Starting inetd.busybox.service...
         Starting IPv6 Packet Filtering Framework...
         Starting IPv4 Packet Filtering Framework...
[  OK  ] Started System Logging Service.
         Starting User Login Management...
Nov 19 09:19:18 xilinx-kr260-starterkit-20221 kernel: GIC: Adjusting CPU interface base to 0x00000000f902f000
Nov 19 09:19:20 xilinx-kr260-starterkit-20221 kernel: armv8-pmu pmu: hw perfevents: no interrupt-affinity property, guessing.
Nov 19 09:19:21 xilinx-kr260-starterkit-20221 kernel: cacheinfo: Unable to detect cache hierarchy for CPU 0
Nov 19 09:19:21 xilinx-kr260-starterkit-20221 kernel: mtdoops: mtd device (mtddev=name/number) must be supplied
Nov 19 09:19:21 xilinx-kr260-starterkit-20221 kernel: SPI driver wl1271_spi has no spi_device_id for ti,wl1271
Nov 19 09:19:21 xilinx-kr260-starterkit-20221 kernel: SPI driver wl1271_spi has no spi_device_id for ti,wl1273
Nov 19 09:19:21 xilinx-kr260-starterkit-20221 kernel: SPI driver wl1271_spi has no spi_device_id for ti,wl1281
Nov 19 09:19:21 xilinx-kr260-starterkit-20221 kernel: SPI driver wl1271_spi has no spi_device_id for ti,wl1283
Nov 19 09:19:21 xilinx-kr260-starterkit-20221 kernel: SPI driver wl1271_spi has no spi_device_id for ti,wl1285
Nov 19 09:19:21 xilinx-kr260-starterkit-20221 kernel: SPI driver wl1271_spi has no spi_device_id for ti,wl1801
Nov 19 09:19:21 xilinx-kr260-starterkit-20221 kernel: SPI driver wl1271_spi has no spi_device_id for ti,wl1805
Nov 19 09:19:21 xilinx-kr260-starterkit-20221 kernel: SPI driver wl1271_spi has no spi_device_id for ti,wl1807
Nov 19 09:19:21 xilinx-kr260-starterkit-20221 kernel: SPI driver wl1271_spi has no spi_device_id for ti,wl1831
Nov 19 09:19:21 xilinx-kr260-starterkit-20221 kernel: SPI driver wl1271_spi has no spi_device_id for ti,wl1835
Nov 19 09:19:21 xilinx-kr260-starterkit-20221 kernel: SPI driver wl1271_spi has no spi_device_id for ti,wl1837
[  OK  ] Started Xserver startup without a display manager.
Nov 19 09:19:22 xilinx-kr260-starterkit-20221 kernel: OF: graph: no port node found in /axi/display@fd4a0000
Nov 19 09:19:22 xilinx-kr260-starterkit-20221 kernel: zynqmp_pll_disable() clock disable failed for dpll_int, ret = -13
Nov 19 09:19:22 xilinx-kr260-starterkit-20221 kernel: tpm tpm0: A TPM error (256) occurred attempting the self test
Nov 19 09:19:23 xilinx-kr260-starterkit-20221 kernel: at24 1-0050: supply vcc not found, using dummy regulator
[  OK  ] Finished IPv6 Packet Filtering Framework.
Nov 19 09:19:23 xilinx-kr260-starterkit-20221 kernel: at24 1-0051: supply vcc not found, using dummy regulator
[  OK  ] Finished IPv4 Packet Filtering Framework.
[  OK  ] Reached target Preparation for Network.
Nov 19 09:19:23 xilinx-kr260-starterkit-20221 kernel: gpio-keys gpio-keys: Button without keycode
Nov 19 09:19:23 xilinx-kr260-starterkit-20221 kernel: gpio-keys: probe of gpio-keys failed with error -22
Nov 19 09:19:23 xilinx-kr260-starterkit-20221 kernel: clk: Not disabling unused clocks
Nov 19 09:19:23 xilinx-kr260-starterkit-20221 kernel: platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
Nov 19 09:19:25 xilinx-kr260-starterkit-20221 kernel: sd 0:0:0:0: [sda] No Caching mode page found
Nov 19 09:19:25 xilinx-kr260-starterkit-20221 kernel: sd 0:0:0:0: [sda] Assuming drive cache: write through
         Starting Network Configuration...
Nov 19 09:19:28 xilinx-kr260-starterkit-20221 kernel: macb ff0b0000.ethernet eth0: unable to generate target frequency: 125000000 Hz
Nov 19 09:19:29 xilinx-kr260-starterkit-20221 kernel: dmaproxy: loading out-of-tree module taints kernel.
[  OK  ] Started inetd.busybox.service.
[  OK  ] Started User Login Management.
[  OK  ] Started Network Configuration.
         Starting Wait for Network to be Configured...
         Starting Network Name Resolution...
[  OK  ] Finished Wait for Network to be Configured.
Nov 19 09:19:38 xilinx-kr260-starterkit-20221 kernel: OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/firmware-name
Nov 19 09:19:38 xilinx-kr260-starterkit-20221 kernel: OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/resets
[  OK  ] Started Network Name Resolution.
[  OK  ] Reached target Network.
[  OK  ] Reached target Network is Online.
[  OK  ] Reached target Host and Network Name Lookups.
         Starting DNS forwarder and DHCP server...
[  OK  ] Started NFS status monitor for NFSv2/3 locking..
[  OK  ] Started Respond to IPv6 Node Information Queries.
         Starting Network Time Service...
[  OK  ] Started Network Router Discovery Daemon.
[  OK  ] Started som-dashboard-init.
         Starting Permit User Sessions...
         Starting Target Communication Framework agent...
[  OK  ] Finished Permit User Sessions.
[  OK  ] Started Getty on tty1.
[  OK  ] Started Serial Getty on ttyPS1.
[  OK  ] Reached target Login Prompts.
[  OK  ] Started DNS forwarder and DHCP server.
[  OK  ] Started Target Communication Framework agent.
[  OK  ] Started Network Time Service.
[  OK  ] Reached target Multi-User System.
[  OK  ] Reached target Graphical Interface.
         Starting Record Runlevel Change in UTMP...
[  OK  ] Finished Record Runlevel Change in U[   20.916953] som-dashboard.sh[1246]: SOM Dashboard will be running at http://192.168.3.28:5006/som-dashboard

PetaLinux 2022.1_update1_05131710 xilinx-kr260-starterkit-20221 ttyPS1

xilinx-kr260-starterkit-20221 login: [   30.047719] som-dashboard.sh[1277]: 2021-11-19 09:19:48,798 Starting Bokeh server version 2.4.2 (running on Tornado 6.1)
[   30.055285] som-dashboard.sh[1277]: 2021-11-19 09:19:48,806 User authentication hooks NOT provided (default user enabled)
[   30.079563] som-dashboard.sh[1277]: 2021-11-19 09:19:48,830 Bokeh app running at: http://localhost:5006/som-dashboard
[   30.079911] som-dashboard.sh[1277]: 2021-11-19 09:19:48,831 Starting Bokeh server with process id: 1277
 

  1. 2023年02月13日 05:17 |
  2. KR260
  3. | トラックバック:0
  4. | コメント:0

”RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をやってみる2

”RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をやってみる1”の続き。

RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をやってみようということで、前回は、”KR260 で Vitis アクセラレーション・プラットフォームを作成する2”のブロック・デザインに axi_gpio を 4 個追加して、論理合成、インプリメンテーション、ビットストリームの生成を行った。そして、ハードウェアをエクスポートした。今回は、Petalinux 2022.1 の linux_os プロジェクトに XSA ファイルをインポートし、ビルドを行って成功した。wic イメージ・ファイルを作成した。

KR260 で Vitis アクセラレーション・プラットフォームを作成する4”で作成した Petalinux 2022.1 の linux_os プロジェクトを使用する。
最初に linux_os に axi_gpio を 4 個追加した Vivado プロジェクトの XSA ファイルをインポートする。
cd /media/masaaki/Ubuntu_Disk/KR260/kr260_custom_platform/linux_os
petalinux-config --get-hw-description ../kr260_custom

設定画面はデフォルトのまま exit した。
KR260_211_230211.png

KR260_212_230211.png

すでに設定済みなので、そのままビルドする。
petalinux-build
KR260_213_230211.png

ビルドに成功した。

wic イメージ・ファイルを作成する。
petalinux-package --wic --images-dir images/linux/ --bootfiles "ramdisk.cpio.gz.u-boot,boot.scr,Image,system.dtb,system-zynqmp-sck-kr-g-revB.dtb" --disk-name "sda"
KR260_214_230211.png

petalinux-sdimage.wic ファイルが再生成された。
KR260_215_230211.png
  1. 2023年02月12日 04:00 |
  2. KR260
  3. | トラックバック:0
  4. | コメント:0

”RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をやってみる1

RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”をやってみようということで、今回は、”KR260 で Vitis アクセラレーション・プラットフォームを作成する2”のブロック・デザインに axi_gpio を 4 個追加して、論理合成、インプリメンテーション、ビットストリームの生成を行った。そして、ハードウェアをエクスポートした。

KR260 で Vitis アクセラレーション・プラットフォームを作成する2”で作成した Vivado 2022.1 の kr260_custom プロジェクトを編集する。
kr260_bd ブロック・デザインに axi_gpio を 4 個追加した。
KR260_204_230210.png

axi_gpio の設定を示す。ビット幅を 8 ビットにした。
KR260_210_230210.png

Address Editor を示す。
KR260_205_230210.png

制約ファイルの kr260_custom.xdc に axi_gpio のポートの制約を追加した。

set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design]

#Fan Speed Enable
set_property PACKAGE_PIN A12 [get_ports {fan_enb_b[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {fan_enb_b[0]}]
set_property SLEW SLOW [get_ports {fan_enb_b[0]}]
set_property DRIVE 4 [get_ports {fan_enb_b[0]}]

set_property IOSTANDARD LVCMOS33 [get_ports {PMOD1_tri_io[7]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD1_tri_io[6]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD1_tri_io[5]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD1_tri_io[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD1_tri_io[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD1_tri_io[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD1_tri_io[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD1_tri_io[0]}]
set_property PACKAGE_PIN H12 [get_ports {PMOD1_tri_io[0]}]
set_property PACKAGE_PIN B10 [get_ports {PMOD1_tri_io[1]}]
set_property PACKAGE_PIN E10 [get_ports {PMOD1_tri_io[2]}]
set_property PACKAGE_PIN E12 [get_ports {PMOD1_tri_io[3]}]
set_property PACKAGE_PIN D10 [get_ports {PMOD1_tri_io[4]}]
set_property PACKAGE_PIN D11 [get_ports {PMOD1_tri_io[5]}]
set_property PACKAGE_PIN C11 [get_ports {PMOD1_tri_io[6]}]
set_property PACKAGE_PIN B11 [get_ports {PMOD1_tri_io[7]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD4_tri_io[7]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD4_tri_io[6]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD4_tri_io[5]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD4_tri_io[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD4_tri_io[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD4_tri_io[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD4_tri_io[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD4_tri_io[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD2_tri_io[7]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD2_tri_io[6]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD2_tri_io[5]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD2_tri_io[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD2_tri_io[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD2_tri_io[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD2_tri_io[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD2_tri_io[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD3_tri_io[7]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD3_tri_io[6]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD3_tri_io[5]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD3_tri_io[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD3_tri_io[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD3_tri_io[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD3_tri_io[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {PMOD3_tri_io[0]}]
set_property PACKAGE_PIN J11 [get_ports {PMOD4_tri_io[0]}]
set_property PACKAGE_PIN H11 [get_ports {PMOD4_tri_io[1]}]
set_property PACKAGE_PIN J10 [get_ports {PMOD4_tri_io[2]}]
set_property PACKAGE_PIN G10 [get_ports {PMOD4_tri_io[3]}]
set_property PACKAGE_PIN K13 [get_ports {PMOD4_tri_io[4]}]
set_property PACKAGE_PIN F12 [get_ports {PMOD4_tri_io[5]}]
set_property PACKAGE_PIN K12 [get_ports {PMOD4_tri_io[6]}]
set_property PACKAGE_PIN F11 [get_ports {PMOD4_tri_io[7]}]
set_property PACKAGE_PIN AE12 [get_ports {PMOD2_tri_io[0]}]
set_property PACKAGE_PIN AF11 [get_ports {PMOD2_tri_io[1]}]
set_property PACKAGE_PIN AF12 [get_ports {PMOD2_tri_io[2]}]
set_property PACKAGE_PIN AG11 [get_ports {PMOD2_tri_io[3]}]
set_property PACKAGE_PIN AG10 [get_ports {PMOD2_tri_io[4]}]
set_property PACKAGE_PIN AH12 [get_ports {PMOD2_tri_io[5]}]
set_property PACKAGE_PIN AH10 [get_ports {PMOD2_tri_io[6]}]
set_property PACKAGE_PIN AH11 [get_ports {PMOD2_tri_io[7]}]
set_property PACKAGE_PIN AC12 [get_ports {PMOD3_tri_io[0]}]
set_property PACKAGE_PIN AD11 [get_ports {PMOD3_tri_io[1]}]
set_property PACKAGE_PIN AD12 [get_ports {PMOD3_tri_io[2]}]
set_property PACKAGE_PIN AD10 [get_ports {PMOD3_tri_io[3]}]
set_property PACKAGE_PIN AE10 [get_ports {PMOD3_tri_io[4]}]
set_property PACKAGE_PIN AA11 [get_ports {PMOD3_tri_io[5]}]
set_property PACKAGE_PIN AF10 [get_ports {PMOD3_tri_io[6]}]
set_property PACKAGE_PIN AA10 [get_ports {PMOD3_tri_io[7]}]


Flow Navigator の Settings をクリックした。
Settings ダイアログが表示された。
bin ファイルを生成するために Project Settings の Bitstream をクリックして、 Write Bitstream の -bin_file のチェックボックスにチェックを入れた。
KR260_206_230210.png

論理合成、インプリメンテーション、ビットストリームの生成を行った。
Project Summary を示す。
KR260_207_230210.png

KR260/kr260_custom_platform/kr260_custom/kr260_custom.runs/impl_1 ディレクトリに kr260_bd_wrapper.bin と kr260_bd_wrapper.bit が生成された。
KR260_208_230210.png

KR260 で Vitis アクセラレーション・プラットフォームを作成する3”に書いてあるようにハードウェアをエクスポートした。

File メニューから Export -> Export Platform... を選択する。
Export Hardware Platform ダイアログが開く。
Next > ボタンをクリックする。

Platform Type 画面では、Hardware ラジオボタンをクリックしてあることを確認した。
Next > ボタンをクリックする。

Platform State 画面では Pre-synthesis のラジオボタンがクリックされていることを確認し、Include bitstream のチェックボックスをチェックする。

Platform Properties 画面では、Name に kr260_custom_platform と入力されていることを確認した。
Next > ボタンをクリックする。

Output File 画面では、XSA file name に kr260_custom と入力した。
Next > ボタンをクリックする。

kr260_custom.xsa ファイルが再生成された。
KR260_209_230210.png

( 2023/03/17 :追記)
xdc ファイルの PMOD でのピン・アサインが間違っています。
PMOD4 が PMOD2 のピン・アサインになっていて、PMOD3 が PMOD4 、PMOD3 が PMOD4 のピン・アサインになっていました。
教えていただいて、ありがとうございます。
  1. 2023年02月11日 04:19 |
  2. KR260
  3. | トラックバック:0
  4. | コメント:1

KR260 の PMOD ピン番号表

KR260 の PMOD のピン番号表を作ってみた。

KR260 には 4 個の PMOD が付いている。ここにいろいろとデバイスを付けて遊んでみたいと思っている。とりあえずは、Lチカしてみたい。

KR260 の PMOD のピン番号表は”RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”に書いてある。
なお、”RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”はとっても興味深いので、やってみようと思っている。

RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260”の PMOD のピン番号表はとってもありがたいが、自分で見やすいようにこれを引用して表を作った。
KR260_203_230210.png

KR260のPMODピン番号,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,
PMOD1,,,,,PMOD2,,,,,PMOD3,,,,,PMOD4,,,
PMOD,ZYNQ,PMOD,ZYNQ,,PMOD,ZYNQ,PMOD,ZYNQ,,PMOD,ZYNQ,PMOD,ZYNQ,,PMOD,ZYNQ,PMOD,ZYNQ
1,H12,2,B10,,1,J11,2,H11,,1,AE12,2,AF11,,1,AC12,2,AD11
3,E10,4,E12,,3,J10,4,G10,,3,AF12,4,AG11,,3,AD12,4,AD10
5,D10,6,D11,,5,K13,6,F12,,5,AG10,6,AH12,,5,AE10,6,AA11
7,C11,8,B11,,7,K12,8,F11,,7,AH10,8,AH11,,7,AF10,8,AA10
9,GND,10,GND,,9,GND,10,GND,,9,GND,10,GND,,9,GND,10,GND
11,+3.3V,12,+3.3V,,11,+3.3V,12,+3.3V,,11,+3.3V,12,+3.3V,,11,+3.3V,12,+3.3V

  1. 2023年02月10日 08:56 |
  2. KR260
  3. | トラックバック:0
  4. | コメント:0

KR260 で Kria-PYNQ をやってみる4(dpu_mnist_classifier.ipynb)

KR260 で Kria-PYNQ をやってみようということで、前回は、PL を使用した resizer_pl.ipynb をやって成功した。今回は、pynq-dpu ディレクトリの中の dpu_mnist_classifier.ipynb をやってみよう。

今回は、/home/root/jupyter_notebooks/pynq-dpu ディレクトリの中から dpu_mnist_classifier.ipynb をやってみよう。dpu_mnist_classifier.ipynb の画面を引用する。
DNN の HelloWorld とも言える MNIST をやってみよう。
dpu.bit を KR260 にダウンロードして、数字を識別する。
KR260_197_230209.png
KR260_198_230209.png
KR260_199_230209.png
KR260_200_230209.png
KR260_201_230209.png
KR260_202_230209.png

数字が識別できた。
  1. 2023年02月09日 04:28 |
  2. KR260
  3. | トラックバック:0
  4. | コメント:0

KR260 で Kria-PYNQ をやってみる3(resizer_pl.ipynb)

KR260 で Kria-PYNQ をやってみようということで、前回は、resizer_ps.ipynb をやってみて成功した。今回は、PL を使用した resizer_pl.ipynb をやってみよう。

今回は、/home/root/jupyter_notebooks/pynq-helloworld/resizer_pl.ipynb をやってみることにする。resizer_pl.ipynb の画面を引用する。

resizer_pl.ipynb はサイズを変更する場合は KR260 の PL に実装された resize 回路を使用し、その他のソフトウェアは KR260 の ARM プロセッサの Cortex-A53 を使用して、画像のサイズを変換する。具体的には、 3840 x 2160 ピクセルの画像を 1920 x 1080 ピクセルに変換する。

resizer_pl.ipynb を実行しよう。
KR260_188_230207.png
KR260_190_230207.png
KR260_189_230207.png
KR260_191_230207.png
KR260_192_230207.png
KR260_193_230207.png
KR260_194_230207.png
KR260_195_230207.png
KR260_196_230207.png

問題なく実行することができた。
  1. 2023年02月08日 04:08 |
  2. KR260
  3. | トラックバック:0
  4. | コメント:0

KR260 で Kria-PYNQ をやってみる2(resizer_ps.ipynb)

KR260 で Kria-PYNQ をやってみようということで、前回は、Kria-PYNQ のインストールを行った。今回は、resizer_ps.ipynb をやってみよう。

前回、Jupyter Notebook にログインした。
今回は、/home/root/jupyter_notebooks/pynq-helloworld/resizer_ps.ipynb をやってみることにする。resizer_ps.ipynb の画面を引用する。

resizer_ps.ipynb は KR260 の ARM プロセッサの Cortex-A53 を使用して、画像のサイズを変換するソフトウェアとなっている。具体的には、 3840 x 2160 ピクセルの画像を 1920 x 1080 ピクセルに変換する。
早速やってみよう。
KR260_183n_230206.png
KR260_185n_230206.png
KR260_184n_230206.png
KR260_186n_230206.png
KR260_187n_230206.png
うまくいった様だ。
  1. 2023年02月07日 05:06 |
  2. KR260
  3. | トラックバック:0
  4. | コメント:0

KR260 で Kria-PYNQ をやってみる1(インストール)

再度 KR260 で Ubuntu 22.04 LTS を起動した”で安定的に KR260 で Ubuntu 22.04 が動作したので、Kria-PYNQ をやってみよう。
今回は、Kria-PYNQ のインストールを行った。

最初に、Ubuntu 22.04 の update と upgrade を行った。
sudo apt update
KR260_177_230205.png

sudo apt upgrade
KR260_178_230205.png

Kria-PYNQ の githubから git clone した。
git clone https://github.com/Xilinx/Kria-PYNQ.git
KR260_179_230205.png

Kria-PYNQ ディレクトリに移動して Kria-PYNQ をインストールした。
cd Kria-PYNQ
sudo bash install.sh -b KR260

KR260_180_230205.png

KR260_181_230205.png

Kria-PYNQ のインストールが成功した。
Chrome で <IPアドレス>:9090/lab を開いた。
ログイン画面が出た。パスワードは xilinx と入力した。
Launcher 画面が表示された。
KR260_182_230205.png
  1. 2023年02月06日 04:30 |
  2. KR260
  3. | トラックバック:0
  4. | コメント:0

再度 KR260 で Ubuntu 22.04 LTS を起動した

”Kria KR260 ロボティクス スターター キットで 設計開始”をやってみた2”で KR260 で Ubuntu 22.04 LTS を起動したが、USB ケーブルを差し込んだ状態でのブートに問題があって、USB ケーブルを抜くと動作するという状態だった。また、SSH でログインすると不安定で使い物にならない状態だった。
KR260 のブートファームウェアを更新した”で KR260 のブートファームウェアを更新したので、もう一度、KR260 で Ubuntu 22.04 LTS を試してみたが、問題なく使用できている。

”Kria KR260 ロボティクス スターター キットで 設計開始”をやってみた1”で作成した Ubuntu 22.04 の MicroSD カードを KR260 に挿入して電源 ON でブートした。
USB ケーブルを抜かなくても Ubuntu 22.04 がブートした。
KR260_174_230204.png

SSH でログインする。
ssh 192.168.3.28 -X -l ubuntu
ログインできた。問題無さそうだ。
KR260_175_230204.png

nautilus & でファイルマネージャーを起動した。
問題ない。
KR260_176_230204.png

やはり Ubuntu 22.04 を安定的に起動するには、KR260 のファームウエアのアップデートが必要のようだ。

起動ログを貼っておく。

Xilinx Zynq MP First Stage Boot Loader 
Release 2022.1   Sep 16 2022  -  04:56:15
MultiBootOffset: 0x1F0
Reset Mode  :   System Reset
Platform: Silicon (4.0), Running on A53-0 (64-bit) Processor, Device Name: XCZUUNKNEG
QSPI 32 bit Boot Mode 
FlashID=0x20 0xBB 0x20
Pr�NOTICE:  BL31: v2.6(release):0897efd
NOTICE:  BL31: Built : 04:58:29, Sep 16 2022


U-Boot 2022.01-g91ad7924-dirty (Sep 15 2022 - 23:00:49 -0600), Build: jenkins-BUILDS-2022.1-som_qspi_generation-131

CPU:   ZynqMP
Silicon: v3
Detected name: zynqmp-smk-k26-xcl2g-rev1-sck-kr-g-rev1
Model: ZynqMP SMK-K26 Rev1/B/A
Board: Xilinx ZynqMP
DRAM:  4 GiB
PMUFW:  v1.1
Xilinx I2C FRU format at nvmem0:
 Manufacturer Name: XILINX
 Product Name: SMK-K26-XCL2G
 Serial No: XFL1CYY0C2I3
 Part Number: 5057-04
 File ID: 0x0
 Revision Number: 1
Xilinx I2C FRU format at nvmem1:
 Manufacturer Name: XILINX
 Product Name: SCK-KR-G
 Serial No: XFL1V0BJCWOF
 Part Number: 5100-01
 File ID: 0x0
 Revision Number: 1
EL Level:   EL2
Chip ID:    xck26
NAND:  0 MiB
MMC:   
Loading Environment from nowhere... OK
In:    serial
Out:   serial
Err:   serial
Bootmode: QSPI_MODE
Reset reason:   SOFT 
Net:   
ZYNQ GEM: ff0b0000, mdio bus ff0c0000, phyaddr 4, interface sgmii
eth0: ethernet@ff0b0000
ZYNQ GEM: ff0c0000, mdio bus ff0c0000, phyaddr 8, interface rgmii-id
, eth1: ethernet@ff0c0000
starting USB...
Bus usb@fe200000: Register 2000440 NbrPorts 2
Starting the controller
USB XHCI 1.00
Bus usb@fe300000: Register 2000440 NbrPorts 2
Starting the controller
USB XHCI 1.00
scanning bus usb@fe200000 for devices... 5 USB Device(s) found
scanning bus usb@fe300000 for devices... 4 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
Hit any key to stop autoboot:  0 
model=SMK-K26-XCL2G

Device 0: Vendor: Generic  Rev: 1.98 Prod: Ultra HS-COMBO
            Type: Removable Hard Disk
            Capacity: 15193.5 MB = 14.8 GB (31116288 x 512)
... is now current device
Scanning usb 0:1...
Found U-Boot script /boot.scr.uimg
5980 bytes read in 2 ms (2.9 MiB/s)
## Executing script at 20000000
Selecting DT for Kria boards
Kria DT: #conf-smk-k26-revA-sck-kr-g-revB
Configuring the cma value based on the board type
cma=1000M
Loading image.fit
74448580 bytes read in 5115 ms (13.9 MiB/s)
## Loading kernel from FIT Image at 10000000 ...
   Using 'conf-smk-k26-revA-sck-kr-g-revB' configuration
   Trying 'kernel-1' kernel subimage
     Description:  Ubuntu kernel
     Created:      2022-06-14  11:00:09 UTC
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x100000ec
     Data Size:    19160045 Bytes = 18.3 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x00200000
     Entry Point:  0x00200000
     Hash algo:    sha1
     Hash value:   10f900494ab6c08729a1c5d2b1bb8f8b13c67e30
   Verifying Hash Integrity ... sha1+ OK
## Loading ramdisk from FIT Image at 10000000 ...
   Using 'conf-smk-k26-revA-sck-kr-g-revB' configuration
   Trying 'ramdisk-1' ramdisk subimage
     Description:  Ubuntu ramdisk
     Created:      2022-06-14  11:00:09 UTC
     Type:         RAMDisk Image
     Compression:  uncompressed
     Data Start:   0x11245dcc
     Data Size:    55075360 Bytes = 52.5 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: unavailable
     Entry Point:  unavailable
     Hash algo:    sha1
     Hash value:   0d688311fae323e3751e1f3a2e9c2fcc35f5be97
   Verifying Hash Integrity ... sha1+ OK
## Loading fdt from FIT Image at 10000000 ...
   Using 'conf-smk-k26-revA-sck-kr-g-revB' configuration
   Trying 'fdt-smk-k26-revA-sck-kr-g-revB.dtb' fdt subimage
     Description:  Flattened device tree blob - smk-k26-revA-sck-kr-g-revB
     Created:      2022-06-14  11:00:09 UTC
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x146ea7f0
     Data Size:    43088 Bytes = 42.1 KiB
     Architecture: AArch64
     Load Address: 0x44000000
     Hash algo:    sha1
     Hash value:   6b8f4e9f0548c17b5df813e42750117763d2ebb5
   Verifying Hash Integrity ... sha1+ OK
   Loading fdt from 0x146ea7f0 to 0x44000000
   Booting using the fdt blob at 0x44000000
   Uncompressing Kernel Image
   Loading Ramdisk to 75b79000, end 78fff220 ... OK
   Loading Device Tree to 000000000fff2000, end 000000000ffff84f ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.15.0-1010-xilinx-zynqmp (buildd@bos02-arm64-012) (gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #11-Ubuntu SMP Tue Jun 7 15:25:24 UTC 2022 (Ubuntu 5.15.0-1010.11-xilinx-zynqmp 5.15.30)
[    0.000000] Machine model: ZynqMP SMK-K26 Rev1/B/A
[    0.000000] efi: UEFI not found.
[    0.000000] earlycon: cdns0 at MMIO 0x00000000ff010000 (options '115200n8')
[    0.000000] printk: bootconsole [cdns0] enabled
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem 0x0000000000000000-0x000000087fffffff]
[    0.000000] NUMA: NODE_DATA [mem 0x87f7caf80-0x87f7cffff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000000000-0x00000000ffffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   [mem 0x0000000100000000-0x000000087fffffff]
[    0.000000]   Device   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000007fffffff]
[    0.000000]   node   0: [mem 0x0000000800000000-0x000000087fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000087fffffff]
[    0.000000] cma: Reserved 1008 MiB at 0x0000000036000000
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.2
[    0.000000] percpu: Embedded 30 pages/cpu s83416 r8192 d31272 u122880
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1032192
[    0.000000] Policy zone: Normal
[    0.000000] Kernel command line:  earlycon root=LABEL=writable rootwait console=ttyPS1,115200 console=tty1 clk_ignore_unused uio_pdrv_genirq.of_id=generic-uio xilinx_tsn_ep.st_pcp=4 cma=1000M 
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:on, heap free:off
[    0.000000] software IO TLB: mapped [mem 0x000000007c000000-0x0000000080000000] (64MB)
[    0.000000] Memory: 2904508K/4194304K available (22464K kernel code, 4508K rwdata, 18444K rodata, 9920K init, 1365K bss, 257604K reserved, 1032192K cma-reserved)
[    0.000000] random: get_random_u64 called from kmem_cache_open+0x30/0x350 with crng_init=0
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] ftrace: allocating 72553 entries in 284 pages
[    0.000000] ftrace: allocated 284 pages with 4 groups
[    0.000000] trace event string verifier disabled
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000]  Rude variant of Tasks RCU enabled.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GIC: Adjusting CPU interface base to 0x00000000f902f000
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] arch_timer: cp15 timer(s) running at 99.99MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x171015c90f, max_idle_ns: 440795203080 ns
[    0.000000] sched_clock: 56 bits at 99MHz, resolution 10ns, wraps every 4398046511101ns
[    0.008675] Console: colour dummy device 80x25
[    0.012369] printk: console [tty1] enabled
[    0.016438] printk: bootconsole [cdns0] disabled
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.15.0-1010-xilinx-zynqmp (buildd@bos02-arm64-012) (gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #11-Ubuntu SMP Tue Jun 7 15:25:24 UTC 2022 (Ubuntu 5.15.0-1010.11-xilinx-zynqmp 5.15.30)
[    0.000000] Machine model: ZynqMP SMK-K26 Rev1/B/A
[    0.000000] efi: UEFI not found.
[    0.000000] earlycon: cdns0 at MMIO 0x00000000ff010000 (options '115200n8')
[    0.000000] printk: bootconsole [cdns0] enabled
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem 0x0000000000000000-0x000000087fffffff]
[    0.000000] NUMA: NODE_DATA [mem 0x87f7caf80-0x87f7cffff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000000000-0x00000000ffffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   [mem 0x0000000100000000-0x000000087fffffff]
[    0.000000]   Device   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000007fffffff]
[    0.000000]   node   0: [mem 0x0000000800000000-0x000000087fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000087fffffff]
[    0.000000] cma: Reserved 1008 MiB at 0x0000000036000000
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.2
[    0.000000] percpu: Embedded 30 pages/cpu s83416 r8192 d31272 u122880
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1032192
[    0.000000] Policy zone: Normal
[    0.000000] Kernel command line:  earlycon root=LABEL=writable rootwait console=ttyPS1,115200 console=tty1 clk_ignore_unused uio_pdrv_genirq.of_id=generic-uio xilinx_tsn_ep.st_pcp=4 cma=1000M 
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:on, heap free:off
[    0.000000] software IO TLB: mapped [mem 0x000000007c000000-0x0000000080000000] (64MB)
[    0.000000] Memory: 2904508K/4194304K available (22464K kernel code, 4508K rwdata, 18444K rodata, 9920K init, 1365K bss, 257604K reserved, 1032192K cma-reserved)
[    0.000000] random: get_random_u64 called from kmem_cache_open+0x30/0x350 with crng_init=0
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] ftrace: allocating 72553 entries in 284 pages
[    0.000000] ftrace: allocated 284 pages with 4 groups
[    0.000000] trace event string verifier disabled
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000]  Rude variant of Tasks RCU enabled.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GIC: Adjusting CPU interface base to 0x00000000f902f000
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] arch_timer: cp15 timer(s) running at 99.99MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x171015c90f, max_idle_ns: 440795203080 ns
[    0.000000] sched_clock: 56 bits at 99MHz, resolution 10ns, wraps every 4398046511101ns
[    0.008675] Console: colour dummy device 80x25
[    0.012369] printk: console [tty1] enabled
[    0.016438] printk: bootconsole [cdns0] disabled
[    0.021098] Calibrating delay loop (skipped), value calculated using timer frequency.. 199.99 BogoMIPS (lpj=399996)
[    0.021116] pid_max: default: 32768 minimum: 301
[    0.021205] LSM: Security Framework initializing
[    0.021236] landlock: Up and running.
[    0.021243] Yama: becoming mindful.
[    0.021323] AppArmor: AppArmor initialized
[    0.021413] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.021436] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.022928] rcu: Hierarchical SRCU implementation.
[    0.025618] EFI services will not be available.
[    0.025996] smp: Bringing up secondary CPUs ...
[    0.026522] Detected VIPT I-cache on CPU1
[    0.026572] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.027132] Detected VIPT I-cache on CPU2
[    0.027157] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.027662] Detected VIPT I-cache on CPU3
[    0.027686] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.027747] smp: Brought up 1 node, 4 CPUs
[    0.027785] SMP: Total of 4 processors activated.
[    0.027793] CPU features: detected: 32-bit EL0 Support
[    0.027802] CPU features: detected: 32-bit EL1 Support
[    0.027812] CPU features: detected: CRC32 instructions
[    0.027867] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching
[    0.040425] CPU: All CPU(s) started at EL2
[    0.040475] alternatives: patching kernel code
[    0.042087] devtmpfs: initialized
[    0.049809] Registered cp15_barrier emulation handler
[    0.049832] Registered setend emulation handler
[    0.049845] KASLR disabled due to lack of seed
[    0.049989] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.050021] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.081459] pinctrl core: initialized pinctrl subsystem
[    0.082143] DMI not present or invalid.
[    0.082546] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.087065] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations
[    0.087291] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.087613] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.087657] audit: initializing netlink subsys (disabled)
[    0.087768] audit: type=2000 audit(0.076:1): state=initialized audit_enabled=0 res=1
[    0.088791] thermal_sys: Registered thermal governor 'fair_share'
[    0.088796] thermal_sys: Registered thermal governor 'bang_bang'
[    0.088807] thermal_sys: Registered thermal governor 'step_wise'
[    0.088816] thermal_sys: Registered thermal governor 'user_space'
[    0.088826] thermal_sys: Registered thermal governor 'power_allocator'
[    0.088938] cpuidle: using governor ladder
[    0.088967] cpuidle: using governor menu
[    0.089262] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.089366] ASID allocator initialised with 65536 entries
[    0.090384] Serial: AMBA PL011 UART driver
[    0.116931] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[    0.116961] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[    0.116972] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.116983] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[    0.189471] raid6: neonx8   gen()  2381 MB/s
[    0.257526] raid6: neonx8   xor()  1767 MB/s
[    0.325583] raid6: neonx4   gen()  2442 MB/s
[    0.393639] raid6: neonx4   xor()  1729 MB/s
[    0.461694] raid6: neonx2   gen()  2312 MB/s
[    0.529750] raid6: neonx2   xor()  1580 MB/s
[    0.597802] raid6: neonx1   gen()  1989 MB/s
[    0.665855] raid6: neonx1   xor()  1351 MB/s
[    0.733909] raid6: int64x8  gen()  1518 MB/s
[    0.801972] raid6: int64x8  xor()   860 MB/s
[    0.870027] raid6: int64x4  gen()  1779 MB/s
[    0.938092] raid6: int64x4  xor()   939 MB/s
[    1.006142] raid6: int64x2  gen()  1555 MB/s
[    1.074209] raid6: int64x2  xor()   833 MB/s
[    1.142278] raid6: int64x1  gen()  1149 MB/s
[    1.210334] raid6: int64x1  xor()   575 MB/s
[    1.210343] raid6: using algorithm neonx4 gen() 2442 MB/s
[    1.210353] raid6: .... xor() 1729 MB/s, rmw enabled
[    1.210361] raid6: using neon recovery algorithm
[    1.211176] fbcon: Taking over console
[    1.211205] ACPI: Interpreter disabled.
[    1.212274] iommu: Default domain type: Translated 
[    1.212286] iommu: DMA domain TLB invalidation policy: strict mode 
[    1.213154] SCSI subsystem initialized
[    1.213419] vgaarb: loaded
[    1.213548] usbcore: registered new interface driver usbfs
[    1.213586] usbcore: registered new interface driver hub
[    1.213615] usbcore: registered new device driver usb
[    1.213834] mc: Linux media interface: v0.10
[    1.213860] videodev: Linux video capture interface: v2.00
[    1.213937] pps_core: LinuxPPS API ver. 1 registered
[    1.213947] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    1.213967] PTP clock support registered
[    1.214109] EDAC MC: Ver: 3.0.0
[    1.214950] zynqmp-ipi-mbox mailbox@ff990400: Registered ZynqMP IPI mbox with TX/RX channels.
[    1.215333] FPGA manager framework
[    1.215470] Advanced Linux Sound Architecture Driver Initialized.
[    1.216030] NetLabel: Initializing
[    1.216040] NetLabel:  domain hash size = 128
[    1.216048] NetLabel:  protocols = UNLABELED CIPSOv4 CALIPSO
[    1.216108] NetLabel:  unlabeled traffic allowed by default
[    1.216749] clocksource: Switched to clocksource arch_sys_counter
[    1.279994] VFS: Disk quotas dquot_6.6.0
[    1.280069] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    1.280592] AppArmor: AppArmor Filesystem Enabled
[    1.280661] pnp: PnP ACPI: disabled
[    1.286656] NET: Registered PF_INET protocol family
[    1.286796] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    1.288282] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
[    1.288366] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    1.288624] TCP bind hash table entries: 32768 (order: 7, 524288 bytes, linear)
[    1.289005] TCP: Hash tables configured (established 32768 bind 32768)
[    1.289169] MPTCP token hash table entries: 4096 (order: 4, 98304 bytes, linear)
[    1.289277] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    1.289362] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    1.289542] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    1.289956] RPC: Registered named UNIX socket transport module.
[    1.289967] RPC: Registered udp transport module.
[    1.289976] RPC: Registered tcp transport module.
[    1.289984] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.289995] NET: Registered PF_XDP protocol family
[    1.290010] PCI: CLS 0 bytes, default 64
[    1.290204] Trying to unpack rootfs image as initramfs...
[    1.913142] armv8-pmu pmu: hw perfevents: no interrupt-affinity property, guessing.
[    1.917448] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[    1.918026] kvm [1]: IPA Size Limit: 40 bits
[    1.921406] kvm [1]: vgic interrupt IRQ9
[    1.921567] kvm [1]: Hyp mode initialized successfully
[    1.923834] Initialise system trusted keyrings
[    1.923898] Key type blacklist registered
[    1.924036] workingset: timestamp_bits=40 max_order=20 bucket_order=0
[    1.929016] zbud: loaded
[    1.930243] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    1.931439] NFS: Registering the id_resolver key type
[    1.931481] Key type id_resolver registered
[    1.931491] Key type id_legacy registered
[    1.931567] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    1.931585] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    1.931611] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    1.931944] fuse: init (API version 7.34)
[    1.932509] integrity: Platform Keyring initialized
[    1.965176] NET: Registered PF_ALG protocol family
[    1.965223] xor: measuring software checksum speed
[    1.969039]    8regs           :  2625 MB/sec
[    1.972236]    32regs          :  3108 MB/sec
[    1.976078]    arm64_neon      :  2596 MB/sec
[    1.976107] xor: using function: 32regs (3108 MB/sec)
[    1.976124] Key type asymmetric registered
[    1.976134] Asymmetric key parser 'x509' registered
[    1.976247] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 238)
[    1.976534] io scheduler mq-deadline registered
[    1.976549] io scheduler kyber registered
[    1.983913] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[    2.035127] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    2.037300] Serial: AMBA driver
[    2.037830] msm_serial: driver initialized
[    2.039323] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    2.046826] brd: module loaded
[    2.052335] loop: module loaded
[    2.053608] SPI driver altr_a10sr has no spi_device_id for altr,a10sr
[    2.056473] mtdoops: mtd device (mtddev=name/number) must be supplied
[    2.059248] tun: Universal TUN/TAP device driver, 1.6
[    2.060734] PPP generic driver version 2.4.2
[    2.061040] usbcore: registered new interface driver asix
[    2.061113] usbcore: registered new interface driver ax88179_178a
[    2.061146] usbcore: registered new interface driver cdc_ether
[    2.061177] usbcore: registered new interface driver net1080
[    2.061208] usbcore: registered new interface driver cdc_subset
[    2.061238] usbcore: registered new interface driver zaurus
[    2.061292] usbcore: registered new interface driver cdc_ncm
[    2.062066] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    2.062095] ehci-pci: EHCI PCI platform driver
[    2.062132] ehci-orion: EHCI orion driver
[    2.062222] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    2.062239] ohci-pci: OHCI PCI platform driver
[    2.062273] uhci_hcd: USB Universal Host Controller Interface driver
[    2.062736] usbcore: registered new interface driver uas
[    2.062781] usbcore: registered new interface driver usb-storage
[    2.063123] mousedev: PS/2 mouse device common for all mice
[    2.063715] i2c_dev: i2c /dev entries driver
[    2.065598] usbcore: registered new interface driver uvcvideo
[    2.067541] device-mapper: core: CONFIG_IMA_DISABLE_HTABLE is disabled. Duplicate IMA measurements will not be recorded in the IMA log.
[    2.067696] device-mapper: uevent: version 1.0.3
[    2.067974] device-mapper: ioctl: 4.45.0-ioctl (2021-03-22) initialised: dm-devel@redhat.com
[    2.068431] EDAC MC: ECC not enabled
[    2.068625] EDAC DEVICE0: Giving out device to module zynqmp-ocm-edac controller zynqmp_ocm: DEV ff960000.memory-controller (INTERRUPT)
[    2.070149] sdhci: Secure Digital Host Controller Interface driver
[    2.070179] sdhci: Copyright(c) Pierre Ossman
[    2.070187] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.071438] ledtrig-cpu: registered to indicate activity on CPUs
[    2.072431] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
[    2.072637] zynqmp_firmware_probe Platform Management API v1.1
[    2.072652] zynqmp_firmware_probe Trustzone version v1.0
[    2.111103] securefw securefw: securefw probed
[    2.111544] zynqmp-aes firmware:zynqmp-firmware:zynqmp-aes: will run requests pump with realtime priority
[    2.112414] hid: raw HID events driver (C) Jiri Kosina
[    2.118147] fpga_manager fpga0: Xilinx ZynqMP FPGA Manager registered
[    2.118941] usbcore: registered new interface driver snd-usb-audio
[    2.120440] pktgen: Packet Generator for packet performance testing. Version: 2.75
[    2.121079] drop_monitor: Initializing network drop monitor service
[    2.121249] Initializing XFRM netlink socket
[    2.121701] NET: Registered PF_INET6 protocol family
[    3.140299] Freeing initrd memory: 53784K
[    3.164137] Segment Routing with IPv6
[    3.164208] In-situ OAM (IOAM) with IPv6
[    3.164282] NET: Registered PF_PACKET protocol family
[    3.164424] 8021q: 802.1Q VLAN Support v1.8
[    3.164794] Key type dns_resolver registered
[    3.165560] registered taskstats version 1
[    3.165720] Loading compiled-in X.509 certificates
[    3.168311] Loaded X.509 cert 'Build time autogenerated kernel key: ca7c283d7277384bde595c4d3cf06f120c16ccb3'
[    3.170673] Loaded X.509 cert 'Canonical Ltd. Live Patch Signing: 14df34d1a87cf37625abec039ef2bf521249b969'
[    3.173018] Loaded X.509 cert 'Canonical Ltd. Kernel Module Signing: 88f752e560a1e0737e31163a466ad7b70a850c19'
[    3.173034] blacklist: Loading compiled-in revocation X.509 certificates
[    3.173091] Loaded X.509 cert 'Canonical Ltd. Secure Boot Signing: 61482aa2830d0ab2ad5af10b7250da9033ddcef0'
[    3.173392] zswap: loaded using pool lzo/zbud
[    3.173806] Key type ._fscrypt registered
[    3.173817] Key type .fscrypt registered
[    3.173825] Key type fscrypt-provisioning registered
[    3.175918] Btrfs loaded, crc32c=crc32c-generic, zoned=yes, fsverity=yes
[    3.275103] cryptd: max_cpu_qlen set to 1000
[    3.303059] Key type encrypted registered
[    3.303100] AppArmor: AppArmor sha1 policy hashing enabled
[    3.303137] ima: No TPM chip found, activating TPM-bypass!
[    3.303160] Loading compiled-in module X.509 certificates
[    3.305564] Loaded X.509 cert 'Build time autogenerated kernel key: ca7c283d7277384bde595c4d3cf06f120c16ccb3'
[    3.305584] ima: Allocated hash algorithm: sha1
[    3.305619] ima: No architecture policies found
[    3.305665] evm: Initialising EVM extended attributes:
[    3.305675] evm: security.selinux
[    3.305683] evm: security.SMACK64
[    3.305690] evm: security.SMACK64EXEC
[    3.305697] evm: security.SMACK64TRANSMUTE
[    3.305704] evm: security.SMACK64MMAP
[    3.305711] evm: security.apparmor
[    3.305718] evm: security.ima
[    3.305725] evm: security.capability
[    3.305732] evm: HMAC attrs: 0x1
[    3.317720] ff010000.serial: ttyPS1 at MMIO 0xff010000 (irq = 51, base_baud = 6249999) is a xuartps
[    4.911202] printk: console [ttyPS1] enabled
[    4.916216] of-fpga-region fpga-full: FPGA Region probed
[    4.923343] xilinx-zynqmp-dma fd500000.dma-controller: ZynqMP DMA driver Probe success
[    4.931717] xilinx-zynqmp-dma fd510000.dma-controller: ZynqMP DMA driver Probe success
[    4.940074] xilinx-zynqmp-dma fd520000.dma-controller: ZynqMP DMA driver Probe success
[    4.948416] xilinx-zynqmp-dma fd530000.dma-controller: ZynqMP DMA driver Probe success
[    4.956753] xilinx-zynqmp-dma fd540000.dma-controller: ZynqMP DMA driver Probe success
[    4.965097] xilinx-zynqmp-dma fd550000.dma-controller: ZynqMP DMA driver Probe success
[    4.973431] xilinx-zynqmp-dma fd560000.dma-controller: ZynqMP DMA driver Probe success
[    4.981752] xilinx-zynqmp-dma fd570000.dma-controller: ZynqMP DMA driver Probe success
[    4.990183] xilinx-zynqmp-dma ffa80000.dma-controller: ZynqMP DMA driver Probe success
[    4.998506] xilinx-zynqmp-dma ffa90000.dma-controller: ZynqMP DMA driver Probe success
[    5.006844] xilinx-zynqmp-dma ffaa0000.dma-controller: ZynqMP DMA driver Probe success
[    5.015174] xilinx-zynqmp-dma ffab0000.dma-controller: ZynqMP DMA driver Probe success
[    5.023498] xilinx-zynqmp-dma ffac0000.dma-controller: ZynqMP DMA driver Probe success
[    5.031838] xilinx-zynqmp-dma ffad0000.dma-controller: ZynqMP DMA driver Probe success
[    5.040178] xilinx-zynqmp-dma ffae0000.dma-controller: ZynqMP DMA driver Probe success
[    5.048534] xilinx-zynqmp-dma ffaf0000.dma-controller: ZynqMP DMA driver Probe success
[    5.057277] xilinx-zynqmp-dpdma fd4c0000.dma-controller: Xilinx DPDMA engine is probed
[    5.067045] macb ff0b0000.ethernet: Not enabling partial store and forward
[    5.090241] zynqmp_pll_disable() clock disable failed for dpll_int, ret = -13
[    5.261286] macb ff0b0000.ethernet eth0: Cadence GEM rev 0x50070106 at 0xff0b0000 irq 37 (00:0a:35:0f:2b:0e)
[    5.273685] macb ff0c0000.ethernet: Not enabling partial store and forward
[    5.322598] xilinx-axipmon ffa00000.perf-monitor: Probed Xilinx APM
[    5.329639] xilinx-axipmon fd0b0000.perf-monitor: Probed Xilinx APM
[    5.336478] xilinx-axipmon fd490000.perf-monitor: Probed Xilinx APM
[    5.343290] xilinx-axipmon ffa10000.perf-monitor: Probed Xilinx APM
[    5.353483] cdns-wdt fd4d0000.watchdog: Xilinx Watchdog Timer with timeout 60s
[    5.361330] cdns-wdt ff150000.watchdog: Xilinx Watchdog Timer with timeout 10s
[    5.371991] macb ff0c0000.ethernet: Not enabling partial store and forward
[    5.378937] macb ff0c0000.ethernet: invalid hw address, using random
[    5.429594] macb ff0c0000.ethernet: Not enabling partial store and forward
[    5.436564] macb ff0c0000.ethernet: invalid hw address, using random
[    5.475256] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[    5.482786] of_cfs_init
[    5.484705] macb ff0c0000.ethernet: Not enabling partial store and forward
[    5.485269] of_cfs_init: OK
[    5.492180] macb ff0c0000.ethernet: invalid hw address, using random
[    5.495108] clk: Not disabling unused clocks
[    5.505800] ALSA device list:
[    5.508790]   No soundcards found.
[    5.520674] Freeing unused kernel memory: 9920K
[    5.603829] Checked W+X mappings: passed, no W+X pages found
[    5.609560] Run /init as init process
[    6.371506] zynqmp-display fd4a0000.display: vtc bridge property not present
[    6.384591] xilinx-dp-snd-codec fd4a0000.display:zynqmp_dp_snd_codec0: Xilinx DisplayPort Sound Codec probed
[    6.396861] xilinx-dp-snd-pcm zynqmp_dp_snd_pcm0: Xilinx DisplayPort Sound PCM probed
[    6.398112] macb ff0c0000.ethernet: Not enabling partial store and forward
[    6.408987] xilinx-dp-snd-pcm zynqmp_dp_snd_pcm1: Xilinx DisplayPort Sound PCM probed
[    6.416809] macb ff0c0000.ethernet: invalid hw address, using random
[    6.430272] at24 1-0050: supply vcc not found, using dummy regulator
[    6.437581] at24 1-0050: 8192 byte 24c64 EEPROM, writable, 1 bytes/write
[    6.444199] macb ff0c0000.ethernet eth1: Cadence GEM rev 0x50070106 at 0xff0c0000 irq 38 (26:47:fd:7e:82:24)
[    6.445604] xilinx-dp-snd-card fd4a0000.display:zynqmp_dp_snd_card: Xilinx DisplayPort Sound Card probed
[    6.464364] spi-nor spi0.0: mt25qu512a (65536 Kbytes)
[    6.466861] OF: graph: no port node found in /axi/display@fd4a0000
[    6.469511] 16 fixed-partitions partitions found on MTD device spi0.0
[    6.476969] xlnx-drm xlnx-drm.0: bound fd4a0000.display (ops zynqmp_dpsub_component_ops [zynqmp_dpsub])
[    6.482125] Creating 16 MTD partitions on "spi0.0":
[    6.496404] 0x000000000000-0x000000080000 : "Image Selector"
[    6.508304] at24 1-0051: supply vcc not found, using dummy regulator
[    6.522225] at24 1-0051: 8192 byte 24c64 EEPROM, writable, 1 bytes/write
[    6.523435] 0x000000080000-0x000000100000 : "Image Selector Golden"
[    6.536539] rtc_zynqmp ffa60000.rtc: registered as rtc0
[    6.536628] cdns-i2c ff030000.i2c: 400 kHz mmio ff030000 irq 40
[    6.536918] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    6.536937] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 1
[    6.537058] xhci-hcd xhci-hcd.1.auto: hcc params 0x0238f625 hci version 0x100 quirks 0x0000000002010810
[    6.537104] xhci-hcd xhci-hcd.1.auto: irq 58, io mem 0xfe200000
[    6.537416] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.15
[    6.537424] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    6.537430] usb usb1: Product: xHCI Host Controller
[    6.537434] usb usb1: Manufacturer: Linux 5.15.0-1010-xilinx-zynqmp xhci-hcd
[    6.537439] usb usb1: SerialNumber: xhci-hcd.1.auto
[    6.541979] rtc_zynqmp ffa60000.rtc: setting system clock to 1970-01-01T00:01:07 UTC (67)
[    6.627563] 0x000000100000-0x000000120000 : "Persistent Register"
[    6.629583] hub 1-0:1.0: USB hub found
[    6.637549] hub 1-0:1.0: 1 port detected
[    6.642250] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    6.642273] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 2
[    6.642288] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed
[    6.642464] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.15
[    6.642473] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    6.642479] usb usb2: Product: xHCI Host Controller
[    6.642483] usb usb2: Manufacturer: Linux 5.15.0-1010-xilinx-zynqmp xhci-hcd
[    6.642488] usb usb2: SerialNumber: xhci-hcd.1.auto
[    6.642998] hub 2-0:1.0: USB hub found
[    6.643026] hub 2-0:1.0: 1 port detected
[    6.692824] xhci-hcd xhci-hcd.2.auto: xHCI Host Controller
[    6.692859] xhci-hcd xhci-hcd.2.auto: new USB bus registered, assigned bus number 3
[    6.693002] xhci-hcd xhci-hcd.2.auto: hcc params 0x0238f625 hci version 0x100 quirks 0x0000000002010810
[    6.693056] xhci-hcd xhci-hcd.2.auto: irq 61, io mem 0xfe300000
[    6.693394] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.15
[    6.693405] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    6.693410] usb usb3: Product: xHCI Host Controller
[    6.693415] usb usb3: Manufacturer: Linux 5.15.0-1010-xilinx-zynqmp xhci-hcd
[    6.693420] usb usb3: SerialNumber: xhci-hcd.2.auto
[    6.694028] hub 3-0:1.0: USB hub found
[    6.694060] hub 3-0:1.0: 1 port detected
[    6.694437] xhci-hcd xhci-hcd.2.auto: xHCI Host Controller
[    6.694451] xhci-hcd xhci-hcd.2.auto: new USB bus registered, assigned bus number 4
[    6.694465] xhci-hcd xhci-hcd.2.auto: Host supports USB 3.0 SuperSpeed
[    6.694630] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.15
[    6.694638] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    6.694643] usb usb4: Product: xHCI Host Controller
[    6.694648] usb usb4: Manufacturer: Linux 5.15.0-1010-xilinx-zynqmp xhci-hcd
[    6.694653] usb usb4: SerialNumber: xhci-hcd.2.auto
[    6.695235] hub 4-0:1.0: USB hub found
[    6.695263] hub 4-0:1.0: 1 port detected
[    6.770645] Console: switching to colour frame buffer device 240x67
[    6.808859] 0x000000120000-0x000000140000 : "Persistent Register Backup"
[    6.814943] zynqmp-display fd4a0000.display: [drm] fb0: xlnxdrmfb frame buffer device
[    6.842387] 0x000000140000-0x000000200000 : "Open_1"
[    6.992847] usb 2-1: new SuperSpeed USB device number 2 using xhci-hcd
[    7.002464] 0x000000200000-0x000000f00000 : "Image A (FSBL, PMU, ATF, U-Boot)"
[    7.021361] usb 2-1: New USB device found, idVendor=0424, idProduct=5744, bcdDevice= 2.21
[    7.032290] [drm] Initialized xlnx 1.0.0 20130509 for fd4a0000.display on minor 0
[    7.033234] 0x000000f00000-0x000000f80000 : "ImgSel Image A Catch"
[    7.034389] 0x000000f80000-0x000001c80000 : "Image B (FSBL, PMU, ATF, U-Boot)"
[    7.039637] usb 2-1: New USB device strings: Mfr=2, Product=3, SerialNumber=0
[    7.045590] 0x000001c80000-0x000001d00000 : "ImgSel Image B Catch"
[    7.046819] 0x000001d00000-0x000001e00000 : "Open_2"
[    7.048068] zynqmp-display fd4a0000.display: ZynqMP DisplayPort Subsystem driver probed
[    7.053409] usb 2-1: Product: USB5744
[    7.054701] 0x000001e00000-0x000002000000 : "Recovery Image"
[    7.057886] 0x000002000000-0x000002200000 : "Recovery Image Backup"
[    7.063129] 0x000002200000-0x000002220000 : "U-Boot storage variables"
[    7.070785] usb 2-1: Manufacturer: Microchip Tech
[    7.086310] 0x000002220000-0x000002240000 : "U-Boot storage variables backup"
[    7.148789] usb 1-1: new high-speed USB device number 2 using xhci-hcd
[    7.149583] usb 3-1: new high-speed USB device number 2 using xhci-hcd
[    7.159381] hub 2-1:1.0: USB hub found
[    7.175520] 0x000002240000-0x000002250000 : "SHA256"
[    7.177300] hub 2-1:1.0: 3 ports detected
[    7.199166] i2c i2c-1: Added multiplexed i2c bus 3
[    7.207131] i2c i2c-1: Added multiplexed i2c bus 4
[    7.217790] 0x000002250000-0x000004000000 : "User"
[    7.218087] i2c i2c-1: Added multiplexed i2c bus 5
[    7.233285] da9121 1-0033: Device detected (device-ID: 0x05, var-ID: 0x21, DA9131)
[    7.240536] i2c i2c-1: Added multiplexed i2c bus 6
[    7.243942] random: fast init done
[    7.257468] pca954x 1-0074: registered 4 multiplexed busses for I2C switch pca9546
[    7.270517] da9121 1-0032: Device detected (device-ID: 0x05, var-ID: 0x20, DA9130)
[    7.313411] usb 1-1: New USB device found, idVendor=0424, idProduct=2744, bcdDevice= 2.21
[    7.324456] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    7.334413] usb 1-1: Product: USB2744
[    7.340917] usb 1-1: Manufacturer: Microchip Tech
[    7.349556] usb 3-1: New USB device found, idVendor=0424, idProduct=2744, bcdDevice= 2.21
[    7.360494] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    7.370341] usb 3-1: Product: USB2744
[    7.376672] usb 3-1: Manufacturer: Microchip Tech
[    7.410718] hub 1-1:1.0: USB hub found
[    7.417439] hub 1-1:1.0: 4 ports detected
[    7.430738] hub 3-1:1.0: USB hub found
[    7.437190] hub 3-1:1.0: 3 ports detected
[    7.494641] usb 4-1: new SuperSpeed USB device number 2 using xhci-hcd
[    7.525373] usb 4-1: New USB device found, idVendor=0424, idProduct=5744, bcdDevice= 2.21
[    7.536260] usb 4-1: New USB device strings: Mfr=2, Product=3, SerialNumber=0
[    7.546063] usb 4-1: Product: USB5744
[    7.552298] usb 4-1: Manufacturer: Microchip Tech
[    7.622813] hub 4-1:1.0: USB hub found
[    7.629435] hub 4-1:1.0: 2 ports detected
[    7.632353] random: crng init done
[    7.768767] usb 1-1.1: new high-speed USB device number 3 using xhci-hcd
[    7.788786] usb 3-1.3: new high-speed USB device number 3 using xhci-hcd
[    7.883272] usb 1-1.1: New USB device found, idVendor=0424, idProduct=2240, bcdDevice= 1.98
[    7.894234] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    7.901713] usb 3-1.3: New USB device found, idVendor=0424, idProduct=2740, bcdDevice= 2.00
[    7.904109] usb 1-1.1: Product: Ultra Fast Media 
[    7.904115] usb 1-1.1: Manufacturer: Generic
[    7.904119] usb 1-1.1: SerialNumber: 000000225001
[    7.936413] usb 3-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    7.946279] usb 3-1.3: Product: Hub Controller
[    7.953275] usb 3-1.3: Manufacturer: Microchip Tech
[    7.953476] usb-storage 1-1.1:1.0: USB Mass Storage device detected
[    7.970012] scsi host0: usb-storage 1-1.1:1.0
[    8.056772] usb 1-1.4: new high-speed USB device number 4 using xhci-hcd
[    8.165835] usb 1-1.4: New USB device found, idVendor=0424, idProduct=2740, bcdDevice= 2.00
[    8.176819] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    8.186682] usb 1-1.4: Product: Hub Controller
[    8.193642] usb 1-1.4: Manufacturer: Microchip Tech
[    8.356835] async_tx: api initialized (async)
[    9.005658] scsi 0:0:0:0: Direct-Access     Generic  Ultra HS-COMBO   1.98 PQ: 0 ANSI: 0
[    9.017174] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    9.022379] sd 0:0:0:0: [sda] 31116288 512-byte logical blocks: (15.9 GB/14.8 GiB)
[    9.035942] sd 0:0:0:0: [sda] Write Protect is off
[    9.044002] sd 0:0:0:0: [sda] No Caching mode page found
[    9.051914] sd 0:0:0:0: [sda] Assuming drive cache: write through
[    9.068972]  sda: sda1 sda2
[    9.076648] sd 0:0:0:0: [sda] Attached SCSI removable disk
[    9.609727] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
[   10.772077] systemd[1]: System time before build time, advancing clock.
[   10.886238] systemd[1]: Inserted module 'autofs4'
[   11.031955] systemd[1]: systemd 249.11-0ubuntu3.1 running in system mode (+PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT +GNUTLS -OPENSSL +ACL +BLKID +CURL +ELFUTILS -FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP -LIBFDISK +PCRE2 -PWQUALITY -P11KIT -QRENCODE +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)
[   11.069305] systemd[1]: Detected architecture arm64.
[   11.096726] systemd[1]: Hostname set to <kria>.
[   13.584074] systemd[1]: Queued start job for default target Graphical Interface.
[   13.598991] systemd[1]: Created slice Slice /system/modprobe.
[   13.612791] systemd[1]: Created slice Slice /system/serial-getty.
[   13.626818] systemd[1]: Created slice Slice /system/systemd-fsck.
[   13.640043] systemd[1]: Created slice User and Session Slice.
[   13.652465] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[   13.667090] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[   13.682094] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
[   13.698386] systemd[1]: Reached target Local Encrypted Volumes.
[   13.711310] systemd[1]: Reached target Slice Units.
[   13.723013] systemd[1]: Reached target Swaps.
[   13.734236] systemd[1]: Reached target Local Verity Protected Volumes.
[   13.748010] systemd[1]: Listening on Device-mapper event daemon FIFOs.
[   13.761926] systemd[1]: Listening on LVM2 poll daemon socket.
[   13.775046] systemd[1]: Listening on multipathd control socket.
[   13.801341] systemd[1]: Listening on RPCbind Server Activation Socket.
[   13.815951] systemd[1]: Listening on Syslog Socket.
[   13.828339] systemd[1]: Listening on fsck to fsckd communication Socket.
[   13.842377] systemd[1]: Listening on initctl Compatibility Named Pipe.
[   13.856854] systemd[1]: Listening on Journal Audit Socket.
[   13.869857] systemd[1]: Listening on Journal Socket (/dev/log).
[   13.883444] systemd[1]: Listening on Journal Socket.
[   13.896223] systemd[1]: Listening on Network Service Netlink Socket.
[   13.914357] systemd[1]: Listening on udev Control Socket.
[   13.927253] systemd[1]: Listening on udev Kernel Socket.
[   13.942779] systemd[1]: Mounting Huge Pages File System...
[   13.958749] systemd[1]: Mounting POSIX Message Queue File System...
[   13.975677] systemd[1]: Mounting Kernel Debug File System...
[   13.992272] systemd[1]: Mounting Kernel Trace File System...
[   14.011643] systemd[1]: Starting Journal Service...
[   14.024283] systemd[1]: Condition check resulted in Kernel Module supporting RPCSEC_GSS being skipped.
[   14.041270] systemd[1]: Starting Set the console keyboard layout...
[   14.058871] systemd[1]: Starting Create List of Static Device Nodes...
[   14.076323] systemd[1]: Starting Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling...
[   14.094022] systemd[1]: Condition check resulted in LXD - agent being skipped.
[   14.108654] systemd[1]: Starting Load Kernel Module configfs...
[   14.125908] systemd[1]: Starting Load Kernel Module drm...
[   14.147324] systemd[1]: Starting Load Kernel Module fuse...
[   14.162227] systemd[1]: Condition check resulted in OpenVSwitch configuration for cleanup being skipped.
[   14.179500] systemd[1]: Starting File System Check on Root Device...
[   14.203300] systemd[1]: Starting Load Kernel Modules...
[   14.220212] systemd[1]: Starting Coldplug All udev Devices...
[   14.239983] systemd[1]: Mounted Huge Pages File System.
[   14.252818] systemd[1]: Mounted POSIX Message Queue File System.
[   14.266115] systemd[1]: Started Journal Service.
[   14.342128] IPMI message handler: version 39.2
[   14.372176] ipmi device interface
[   14.452658] EXT4-fs (sda2): re-mounted. Opts: discard,errors=remount-ro. Quota mode: none.
[   14.542297] alua: device handler registered
[   14.552838] emc: device handler registered
[   14.559218] systemd-journald[558]: Received client request to flush runtime journal.
[   14.577335] rdac: device handler registered
[   14.669777] systemd-journald[558]: File /var/log/journal/c66ee14a4df64c369e771e7b719c47e7/system.journal corrupted or uncleanly shut down, renaming and replacing.
[   16.695227] tpm tpm0: A TPM error (256) occurred attempting the self test
[   33.903580] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/firmware-name
[   33.916199] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/resets

Ubuntu 22.04 LTS kria ttyPS1

kria login: ubuntu

  1. 2023年02月05日 07:07 |
  2. KR260
  3. | トラックバック:0
  4. | コメント:0

KR260 のブートファームウェアを更新した

KV260 のブートファームウェアを更新した”を参考にして、Petalinux 2022.1 上で KR260 のブートファームウエアを BOOT_xilinx-k26-starterkit-v2022.1-09152304_update3.BIN に更新した。

Petalinux 2022.1 での KR260 のブートファームウエアは

Xilinx Zynq MP First Stage Boot Loader
Release 2022.1 Mar 22 2022 - 19:51:22

だったので、BOOT_xilinx-k26-starterkit-v2022.1-09152304_update3.BIN に更新しよう。
BOOT_xilinx-k26-starterkit-v2022.1-09152304_update3.BIN は”KV260 のブートファームウェアを更新した”でダウンロードしてあるので、それを使用する。

FilleZilla で KR260 の Petalinux 2022.1 に BOOT_xilinx-k26-starterkit-v2022.1-09152304_update3.BIN を SFTP でアップロードした。
KR260_169_230204.png

KR260 を電源 ON して Petalinux 2022.1 にログインする。
image_update コマンドの -p オプションで現在の状況を確認した。
sudo image_update -p
Requested Boot Image と Last Boot Image が Image A になっていた。

Image A の内容をファイル(boot_ok.bin)にバックアップした。
sudo dd if=/dev/mtd5 of=boot_ok.bin bs=1024
KR260_170_230204.png

sudo image_update -i コマンドで BOOT_xilinx-k26-starterkit-v2022.1-09152304_update3.BIN をブートファームウェアとして書き込んだ。
sudo image_update -i BOOT_xilinx-k26-starterkit-v2022.1-09152304_update3.BIN

もう一度、image_update コマンドの -p オプションで現在の状況を確認した。
sudo image_update -p
ImageB の方が XilinxSOM_BootFW_20220915 に更新されていた。
KR260_171_230204.png

sudo halt で KV260 をシャットダウンして、電源を OFF した。
もう一度、電源を ON して、KV260 で Petalinux 2021.1 を起動した。

image_update コマンドの -p オプションで現在の状況を確認した。
Image B は Non Bootable だったが、Requested Boot Image と Last Boot Image が Image B になっていた。
sudo image_update -p

image_update コマンドの -v オプションを使って、Last Booted Image(今回の場合は Image B) を Bootable に変更した。
sudo image_update -v

sudo image_update -p で確認すると、Image B がBootable に変更された。
KR260_172_230204.png

Petalinux 2021.1 の起動メッセージを見ると、

Xilinx Zynq MP First Stage Boot Loader
Release 2022.1 Sep 16 2022 - 04:56:15


だった。ブートファームウェアの更新に成功したようだ。
KR260_173_230204.png
  1. 2023年02月04日 05:06 |
  2. KR260
  3. | トラックバック:0
  4. | コメント:0

ZYBO Z7 の Debian LInux からパソコンへ TCP/IP でデータを送る

ZYBO Z7-20 に ikwzm さんの FPGA-SoC-Linux を走らせているが、ZYBO Z7-20 の Debian Linux からパソコンに TCP/IP でデータを送信して、パソコンで受信したいということでやってみた。なお、パソコンは、Windows 10 の WSL2 上の Ubuntu 22.04 LTS を使用した。

TCP/IP での通信については、”Linuxネットワークプログラミング”を参考にさせていただいた。

ZYBO Z7-20 の Debian Linux を TCP/IP サーバーとした。作成した tcp_server2.c を示す。
なお、”何回もクライアントと接続できるサーバ例(エラー処理付)”のコードを引用している。

// tcp_server2.c
// 2023/02/02 by marsee
// 何回もクライアントと接続できるサーバ例(エラー処理付)のコードを引用した。
// https://www.geekpage.jp/programming/linux-network/tcp-3.php

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <time.h>
#include <sys/time.h>
#include <string.h>

int
main()
{
    int sock0;
    struct sockaddr_in addr;
    struct sockaddr_in client;
    int len;
    int sock;
    int n;
    struct tm *time_st;
    struct timeval myTime;
    char buf[500];

    sock0 = socket(AF_INET, SOCK_STREAM, 0);
    if (sock0 < 0) {
     perror("socket");
     return 1;
    }

    addr.sin_family = AF_INET;
    addr.sin_port = htons(12345);
    addr.sin_addr.s_addr = INADDR_ANY;

    if (bind(sock0, (struct sockaddr *)&addr, sizeof(addr)) != 0) {
     perror("bind");
     return 1;
    }

    if (listen(sock0, 5) != 0) {
     perror("listen");
     return 1;
    }
    
    len = sizeof(client);
    sock = accept(sock0, (struct sockaddr *)&client, &len);
    if (sock < 0) {
        perror("accept");
    }

    for(int i=0; i<100; i++) {
        gettimeofday(&myTime, NULL);
        sprintf(buf, "36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,%07.3f,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a\n", (float)myTime.tv_usec/1000.0);
        n = write(sock, buf, strlen(buf));
        if (n < 1) {
            perror("write");
            break;
        }
        //usleep(3300);
    }

    close(sock);

    close(sock0);

    return 0;
}


長い文字列を 100 回送る。送る時刻は、ms オーダーで gettimeofday() を使用して取得する。これで送信間隔を見ることができる。

次に、Windows 10 の WSL2 上の Ubuntu 22.04 LTS 上に走らせる tcp_client.c を示す。
これは、”TCPを使う”の単純なTCPクライアントのコードを引用した。

// tcp_client.c
// 2023/02/02 by marsee
// TCPを使うの単純なTCPクライアントを引用した。
// https://www.geekpage.jp/programming/linux-network/tcp-1.php

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>

int
main()
{
     struct sockaddr_in server;
     int sock;
     char buf[500];
     int n;

     /* ソケットの作成 */
     sock = socket(AF_INET, SOCK_STREAM, 0);

     /* 接続先指定用構造体の準備 */
     server.sin_family = AF_INET;
     server.sin_port = htons(12345);
     server.sin_addr.s_addr = inet_addr("192.168.11.12");

     /* サーバに接続 */
     connect(sock, (struct sockaddr *)&server, sizeof(server));

     for(int i=0; i<100; i++){
         /* サーバからデータを受信 */
         memset(buf, 0, 224);
         n = read(sock, buf, 224);

         printf("%s", buf);
     }

     /* socketの終了 */
     close(sock);

 return 0;
}


tcp_sever2.c と tcp_client.c をコンパイルして、それぞれ tcp_server2 と tcp_client の実行ファイルを作成した。

ZYBO Z7-20 の Debian Linux で tcp_server2 を起動した。
./tcp_server2
TCPsoft_1_230202.png

Windows 10 の WSL2 上の Ubuntu 22.04 LTS 上で tcp_client を走らせると文字列を受信することができた。
./tcp_client
TCPsoft_2_230202.png

受信した文字列を示す。

36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,579.908,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,580.259,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,580.294,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,580.315,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,580.332,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,580.350,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,580.366,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,580.383,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,580.442,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,580.476,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,580.496,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,580.514,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,580.531,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,580.548,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,580.564,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,580.620,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,580.652,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,580.671,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,580.688,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,580.705,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,580.722,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,580.776,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,580.807,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,580.826,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,580.843,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,580.956,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,580.993,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.012,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.030,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.047,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.063,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.080,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.134,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.166,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.284,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.313,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.333,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.351,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.368,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.385,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.402,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.456,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.488,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.618,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.646,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.665,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.683,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.700,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.716,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.733,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.787,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.819,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.839,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,581.959,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.035,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.056,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.074,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.091,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.108,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.125,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.181,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.213,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.233,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.251,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.268,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.285,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.301,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.355,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.387,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.406,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.424,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.442,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.460,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.514,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.545,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.565,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.583,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.600,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.616,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.633,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.687,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.717,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.737,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.754,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.771,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.787,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.842,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.874,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.892,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.909,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.926,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.942,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.959,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.977,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,582.994,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,583.011,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,583.029,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,583.046,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,583.063,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a
36066078,140059917,54448,1,19,-51,0,1,-36,-57,0,1,583.080,ffdee,fd2fe,f526,fe4df,ffa01,f7a8,ffe09,ffcd8,f8d6,ffee1,ffdd6,f8ec,e6b,ff0eb,f8e3,fee1a,1e19,f8ac,ff3a4,fcf05,f464,bd3,ffe69,f8d4,967,ff841,f7e2,9658,178f,f4c8,0,a


Windows 10 で受信した文字列を表計算ソフトで解析しよう。
送信された文字列の gettimeofday() の時刻の差分をみると、最大値(MAX)は、0.351 ms だったが、これは最初の差分が大きいからなので、最初を除いた時刻の差分の最大値(MAX2)は 0.13 ms つまり 130 us となった。時刻の差分の最小値(MIN)は 0.016 ms つまり 16 us だった。
TCPsoft_3_230202.png

なお、ZYBO Z7-20 と Windows 10 は同じネットワーク・スイッチに接続されている。
  1. 2023年02月03日 04:01 |
  2. FPGAを使用したシステム
  3. | トラックバック:0
  4. | コメント:0

KR260 の Vitis アクセラレーション・プラットフォームで DPU サンプルを実行してみよう1

KR260 で Vitis アクセラレーション・プラットフォームを作成する7”で作成された kr260_custom プラットフォームを使用して、”KR260 で Vitis アクセラレーション・プラットフォームを作成する9”で Vector Addtion サンプル・アプリケーションを実行することができた。サンプル・アプリケーションをもう 1 個やってみよう。DPU Kernel をやってみることにする。

Vitis 2022.1 でアプリケーション・プロジェクトを作成する。
Vitis 2022.1 で File メニューから New -> Application Project... を選択してアプリケーション・プロジェクトを新規作成する。
New Application Project ダイアログの Create a New Application Project 画面が開く。
Next > ボタンをクリックする。
KR260_161_230202.png

Platform 画面
kr260_custom プラットフォームを選択する。
Next > ボタンをクリックする。
KR260_162_230202.png

Application Project Details 画面
Application project name: に DPU_test と入力する。
Next > ボタンをクリックする。
KR260_163_230202.png

Domain 画面
Application settings を入力する。
Sysroot paht: に /media/masaaki/Ubuntu_Disk/KR260/kr260_custom_platform/kr260_custom_platform/sysroots/cortexa72-cortexa53-xilinx-linux を入力する。
Root FS: に /media/masaaki/Ubuntu_Disk/KR260/kr260_custom_platform/linux_os/images/linux/rootfs.ext4 を入力する。
Kernel Image: に /media/masaaki/Ubuntu_Disk/KR260/kr260_custom_platform/linux_os/images/linux/Image を入力する。
Next > ボタンをクリックする。
KR260_164_230202.png

Template 画面
DPU Kernel(RTL Kernel) を選択する。
Finish ボタンをクリックする。
KR260_166_230202.png

DPU_test アプリケーション・プロジェクトが生成された。
Explorer から DPU_test_system -> DPU_test_system.prj を指定して、Active build configuration で Hardware を選択した。
KR260_167_230202.png

Explorer で DPU_test_system を選択し、Active build configuration: で Hardware を選択して、トンカチ・ボタンをクリックしてビルドを行った。
ビルドに失敗した。
KR260_168_230202.png

DPU のサンプル・デザインをやるには手順がいるのだった。
  1. 2023年02月02日 05:26 |
  2. KR260
  3. | トラックバック:0
  4. | コメント:0

KR260 で Vitis アクセラレーション・プラットフォームを作成する10

KR260 で Vitis アクセラレーション・プラットフォームを作成する9”の続き。

KR260 で Vitis アクセラレーション・プラットフォームを作成してみようということで、前回は、KR260 にファイルを転送して kr260_vadd を実行したところ成功した。今回は、Vitis のビルド時に作成された Vitis HLS プロジェクトと Vivado プロジェクトを見てみよう。

Vitis HLS プロジェクトは KR260/kr260_custom_platform/kr260_custom_platform/kr260_vadd_kernels/Hardware/build/krnl_vadd/krnl_vadd/krnl_vadd ディレクトリに作成されていた。
KR260_159_230131.png

Vitis HLS 2022.1 を起動して、プロジェクトを読み込んだ。
KR260_152_230131.png

Target 5.00 ns に対して、Estimated は 3.650 ns 、Uncertainty は 1.35 ns だった。

合成レポートを示す。
KR260_153_230131.png
KR260_154_230131.png

Latency は 4243 クロックで、リソース使用量は FF が 3158 個、LUT が 5872 個だった。
AXI マスタ・ポートは m_axi_gmem0, m_axi_gmem1 の 2ポートで、AXI-Lite ポートは s_axi_control の 1 ポートだった。


Vivado プロジェクトは KR260/kr260_custom_platform/kr260_custom_platform/kr260_vadd_system_hw_link/Hardware/binary_container_1.build/link/vivado/vpl/prj に作成されていた。
KR260_160_230131.png

Vivado 2022.1 を起動して、プロジェクトを読み込んだ。
KR260_155_230131.png

ブロック・デザインを示す。
KR260_156_230131.png

Vitis HLS で作成された krnl_vadd が実装されている。

Address Editor 画面を示す。
KR260_157_230131.png

Project Summary を示す。
Timing の Worst Negative Slack (WNS) は 1.103 ns だった。
KR260_158_230131.png
  1. 2023年02月01日 03:56 |
  2. KR260
  3. | トラックバック:0
  4. | コメント:0