Issue with RAH protocol on Vaaman

I have been facing some issues getting RAH protocol to work. I followed the github repo as closely as i could GitHub - vicharak-in/rah-bit: // rah communication protocol developed for cpu-fpga link for vaaman rtl part · GitHub.

My test was a simple module that would just write back whatever it received like an echo. The CPU side code is also rather simple just taking input from user and writing it to RAH and then waiting for the echo. My process get’s stuck in the first step itself at rah_write like this:

vicharak@vicharak:~$ sudo ./rah_test_cpu_exe
Message to be send to FPGA: hello

this is my cpu side code:

#include<stdio.h>
#include<rah.h>

#define Test_id 1


int main(){



        char message[6];
        char message2[6];


        printf("Message to be send to FPGA: ");
        scanf("%5s", message);


        rah_write(Test_id, message, sizeof(message));
        printf("Message sent to FPGA: %s", message);

        rah_read(Test_id, message2, 6);
        printf("Message received from FPGA: %s", message2);



        return 0;
}

My verilog top module:


`include "rah_var_defs.vh"
module top (
/* Clocks of MIPI TX and RX parallel interfaces */
    input                       rx_pixel_clk,
    input                       tx_pixel_clk,
    input                       tx_vga_clk,
/* Signals used by the MIPI RX Interface Designer instance */
    input                       my_mipi_rx_VALID,
    input [3:0]                 my_mipi_rx_HSYNC,
    input [3:0]                 my_mipi_rx_VSYNC,
    input [63:0]                my_mipi_rx_DATA,
    input [5:0]                 my_mipi_rx_TYPE,
    input [1:0]                 my_mipi_rx_VC,
    input [3:0]                 my_mipi_rx_CNT,
    input [17:0]                my_mipi_rx_ERROR,
    input                       my_mipi_rx_ULPS_CLK,
    input [3:0]                 my_mipi_rx_ULPS,
    output                      my_mipi_rx_DPHY_RSTN,
    output                      my_mipi_rx_RSTN,
    output                      my_mipi_rx_CLEAR,
    output [1:0]                my_mipi_rx_LANES,
    output [3:0]                my_mipi_rx_VC_ENA,
/* Signals used by the MIPI TX Interface Designer instance */
    output                      my_mipi_tx_DPHY_RSTN,
    output                      my_mipi_tx_RSTN,
    output                      my_mipi_tx_VALID,
    output                      my_mipi_tx_HSYNC,
    output                      my_mipi_tx_VSYNC,
    output [63:0]               my_mipi_tx_DATA,
    output [5:0]                my_mipi_tx_TYPE,
    output [1:0]                my_mipi_tx_LANES,
    output                      my_mipi_tx_FRAME_MODE,
    output [15:0]               my_mipi_tx_HRES,
    output [1:0]                my_mipi_tx_VC,
    output [3:0]                my_mipi_tx_ULPS_ENTER,
    output [3:0]                my_mipi_tx_ULPS_EXIT,
    output                      my_mipi_tx_ULPS_CLK_ENTER,
    output                      my_mipi_tx_ULPS_CLK_EXIT,
/* Connections to the GPIOs */
    input                       uart_rx_pin,
    output                      uart_tx_pin
);
    parameter RAH_PACKET_WIDTH = 48;
    parameter ACTIVE_VID_WIDTH = 1280;
    parameter ACTIVE_VID_HEIGHT = 1024;
    parameter TOTAL_APPS = `TOTAL_APPS + 1;
    /* Rah Decoder definition for multiple Apps */
    assign my_mipi_rx_DPHY_RSTN = 1'b1;
    assign my_mipi_rx_RSTN = 1'b1;
    assign my_mipi_rx_CLEAR = 1'b0;
    assign my_mipi_rx_LANES = 2'b11;
    assign my_mipi_rx_VC_ENA = 4'b0001;
    wire [TOTAL_APPS-1:0] rd_clk;
    wire [TOTAL_APPS-1:0] request_data;
    wire [TOTAL_APPS-1:0] data_queue_empty;
    wire [TOTAL_APPS-1:0] data_queue_almost_empty;
    wire [TOTAL_APPS-1:0] rd_error;
    wire [(TOTAL_APPS*RAH_PACKET_WIDTH)-1:0] rd_data;
    wire [RAH_PACKET_WIDTH-1:0] aligned_data;
    wire end_of_packet;
    /* Align the data for the decoding process */
    data_aligner #(
        .DATA_WIDTH(RAH_PACKET_WIDTH)
    ) da (
        .clk            (rx_pixel_clk),
        .mipi_data      (my_mipi_rx_DATA),
        .end_of_packet  (end_of_packet),
        .rx_valid       (my_mipi_rx_VALID),
        .aligned_data   (aligned_data)
    );
    /* Depacketizing the recevied data */
    rah_decoder #(
        .TOTAL_APPS(TOTAL_APPS),
        .DATA_WIDTH(RAH_PACKET_WIDTH)
    ) rd (
        /* rah raw input variables */
        .clk                        (rx_pixel_clk),
        .mipi_data                  (aligned_data),
        .mipi_rx_valid              (my_mipi_rx_VALID),
        .rd_clk                     (rd_clk),
        .request_data               (request_data),
        .end_of_packet              (end_of_packet),
        .data_queue_empty           (data_queue_empty),
        .data_queue_almost_empty    (data_queue_almost_empty),
        .rd_data                    (rd_data),
        .error                      (rd_error)
    );
    assign rd_clk[0] = rx_pixel_clk;
    assign wr_clk[0] = rx_pixel_clk;
    /* Rah Version verifier */
    rah_version_check #(
        .RAH_PACKET_WIDTH(RAH_PACKET_WIDTH)
    ) rvc (
        .clk            (rx_pixel_clk),
        .in_data        (`GET_DATA_RAH(0)),
        .q_empty        (data_queue_empty[0]),
        .request_data   (request_data[0]),
        .w_en           (write_apps_data[0]),
        .out_data       (`SET_DATA_RAH(0))
    );
    wire [TOTAL_APPS-1:0] wr_clk;
    wire [(TOTAL_APPS*RAH_PACKET_WIDTH)-1:0] wr_data;
    wire [TOTAL_APPS-1:0] write_apps_data;
    wire [TOTAL_APPS-1:0] wr_fifo_full;
    wire [TOTAL_APPS-1:0] wr_almost_fifo_full;
    wire [TOTAL_APPS-1:0] wr_prog_fifo_full;
    wire vid_gen_clk;
    assign vid_gen_clk = tx_vga_clk;
    wire mipi_out_rst;
    wire mipi_valid;
    wire [RAH_PACKET_WIDTH-1:0] mipi_out_data;
    wire hsync;
    wire vsync;
    rah_encoder #(
        .TOTAL_APPS(TOTAL_APPS),
        .WIDTH(ACTIVE_VID_WIDTH),
        .HEIGHT(ACTIVE_VID_HEIGHT),
        .DATA_WIDTH(RAH_PACKET_WIDTH)
    ) re (
        .clk                    (tx_pixel_clk),
        .vid_gen_clk            (vid_gen_clk),
        .send_data              (write_apps_data),
        .wr_clk                 (wr_clk),
        .wr_data                (wr_data),
        .wr_fifo_full           (wr_fifo_full),
        .wr_almost_fifo_full    (wr_almost_fifo_full),
        .wr_prog_fifo_full      (wr_prog_fifo_full),
        .mipi_rst               (mipi_out_rst),
        .mipi_valid             (mipi_valid),
        .mipi_data              (mipi_out_data),
        .hsync_patgen           (hsync),
        .vsync_patgen           (vsync)
    );
    //ADD new modules here: 

    assign rd_clk[`TEST] = rx_pixel_clk;
    assign wr_clk[`TEST] = rx_pixel_clk;
    rah_echo #(
        .RAH_PACKET_WIDTH(RAH_PACKET_WIDTH)
    ) echo_t (
        .clk            (rx_pixel_clk),
        .inp              (`GET_DATA_RAH(`TEST)),
        .empty          (data_queue_empty[`TEST]),
        .out              (`SET_DATA_RAH(`TEST)),
        .read_en           (request_data[`TEST]),
        .write_en           (write_apps_data[`TEST])
    );



    assign my_mipi_tx_DPHY_RSTN = ~mipi_out_rst;
    assign my_mipi_tx_RSTN = ~mipi_out_rst;
    assign my_mipi_tx_VALID = mipi_valid;
    assign my_mipi_tx_HSYNC = hsync;
    assign my_mipi_tx_VSYNC = vsync;
    assign my_mipi_tx_DATA = mipi_out_data;
    assign my_mipi_tx_TYPE = 6'h24;
    assign my_mipi_tx_LANES = 2'b11;
    assign my_mipi_tx_FRAME_MODE = 1'b0;
    assign my_mipi_tx_HRES = ACTIVE_VID_WIDTH;
    assign my_mipi_tx_VC = 2'b00;
    assign my_mipi_tx_ULPS_ENTER = 4'b0000;
    assign my_mipi_tx_ULPS_EXIT = 4'b0000;
    assign my_mipi_tx_ULPS_CLK_ENTER = 1'b0;
    assign my_mipi_tx_ULPS_CLK_EXIT = 1'b0;
endmodule

My test module:

module rah_echo (
    input                               clk,
    input [RAH_PACKET_WIDTH-1:0]        inp,
    input                               empty,

    output reg [RAH_PACKET_WIDTH-1:0]   out = 0,
    output reg                          read_en = 0,
    output reg                          write_en = 0
);

    parameter RAH_PACKET_WIDTH = 48;

    localparam IDLE = 3'b000;
    localparam WAIT = 3'b001;
    localparam READ = 3'b010;
    localparam WRITE = 3'b011;
    localparam Rst_Rtn = 3'b100;

    reg [2:0] STATE = IDLE;
    reg [RAH_PACKET_WIDTH -1 : 0] message = 0;

    always @(posedge clk) begin

        case(STATE)

            IDLE: begin

                write_en <= 0;
                read_en <= 0;

                if(~empty) begin

                    read_en <= 1;
                    STATE <= WAIT;  

                end
                     
            end

            WAIT: begin

                read_en <=0;
                STATE <= READ;

            end

            READ: begin

                message <= inp;
                STATE <= WRITE;

            end

            WRITE: begin

                write_en <= 1;
                out <= message;
                STATE <= Rst_Rtn;
            
            end

            Rst_Rtn: begin

                write_en <= 0;
                read_en <= 0;
                STATE <= IDLE;
            
            end

            default: begin

                write_en <= 0;
                read_en <= 0;
                STATE <= IDLE;

            end


        endcase


    end





endmodule

The header file:

`define TOTAL_APPS 1

`define TEST 1

`define VERSION "1.3.0"

`define GET_DATA_RAH(a) rd_data[a * RAH_PACKET_WIDTH +: RAH_PACKET_WIDTH]
`define SET_DATA_RAH(a) wr_data[a * RAH_PACKET_WIDTH +: RAH_PACKET_WIDTH]

I did some diagnostics on my own:

  1. Tried running a strace in the cpu side to identify the system calls:

sudo strace -p $(pgrep rah_service) -e trace=read,write,ioctl 2>&1 & sudo ./rah_test_cpu_exe

vicharak@vicharak:~$ sudo ./rah_test_cpu_exe
Message to be send to FPGA: hello
ioctl(3, DRM_IOCTL_MODE_PAGE_FLIP, 0x7fe4327b90) = 0
read(3, "\2\0\0\0 \0\0\0 \307\37sU\0\0\0N\1\0\0\232\r\6\0P\6\0\0F\0\0\0", 1024) = 32
ioctl(3, DRM_IOCTL_MODE_PAGE_FLIP, 0x7fe4327b90) = 0
read(3, "\2\0\0\0 \0\0\0 \307\37sU\0\0\0N\1\0\0\237N\6\0Q\6\0\0F\0\0\0", 1024) = 32

I couldn’t make much of that.

  1. I thought that perhaps the async_fifo and synchronous_fifo IPs were the problem since they were updated by efinity when i added them to the project but when i ran the toolchain on the old 5.1 version as in the github repo it made no difference.

  2. I also made sure rah library was updated before doing all this.

  3. My doubt is in the first step in the gitbuh repo where it was talking about CPU overlays, when i went into that setting I couldn’t find anything regarding CPU FPGA link.

Any help is much appreciated and I’ll also upload my whole efinity project here.
Rah_Prtcl_Test.zip (2.6 MB)

Your project looks old make sure you sync every rah rtl file with the GitHub - vicharak-in/rah-bit: // rah communication protocol developed for cpu-fpga link for vaaman rtl part · GitHub

Send us output of,

apt policy rah-service

oh hey, yeah, the vid height and width were different in my module compared to the one in rtl because i was following the template from the README.md file in the repo. I have now updated all those and re-ran the toolchain and flashed the bitstream, unfortunately there was no change, it still got stuck right after i gave the user input.

vicharak@vicharak:~$ sudo vaaman-ctl -i "Rah_Prtcl_Test.hex"
Reprogrammed bitsream successfully!
vicharak@vicharak:~$ sudo ./rah_test_cpu_exe
Message to be send to FPGA: hello

The output for the command:

vicharak@vicharak:~$ apt policy rah-service
rah-service:
  Installed: 1.2.1
  Candidate: 1.2.1
  Version table:
 *** 1.2.1 500
        500 http://apt.vicharak.in stable-vaaman/vaaman arm64 Packages
        100 /var/lib/dpkg/status
vicharak@vicharak:~$

The updated project:
Rah_Prtcl_Test.zip (2.6 MB)

In your RTL code, you have RAH version of 1.3.0 and your software side has 1.2.1 version, Please update the rah version in software side and synchronise the version on both sides. Then it will going to work.

Just do :
sudo apt update and then sudo apt install rah-service

Yup, i just did that and nothing was upgraded from the looks of it. This was the output:


Fetched 16.9 MB in 47min 59s (5863 B/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
331 packages can be upgraded. Run 'apt list --upgradable' to see them.
W: Failed to fetch http://apt.vicharak.in/dists/stable/InRelease  Could not wait                                                                              for server fd - select (11: Resource temporarily unavailable) [IP: 172.67.162.1                                                                             25 443]
W: Failed to fetch http://apt.vicharak.in/dists/stable-vaaman/InRelease  Could n                                                                             ot handshake: Error in the pull function. [IP: 172.67.162.125 443]
W: Some index files failed to download. They have been ignored, or old ones used                                                                              instead.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
rah-service is already the newest version (1.2.1).
0 upgraded, 0 newly installed, 0 to remove and 331 not upgraded.
vicharak@vicharak:~$ apt policy rah-service
rah-service:
  Installed: 1.2.1
  Candidate: 1.2.1
  Version table:
 *** 1.2.1 500
        500 http://apt.vicharak.in stable-vaaman/vaaman arm64 Packages
        100 /var/lib/dpkg/status

But regardless i changed my verilog header file to version 1.2.1 and re-ran the toolchain and got the bitstream, i also recompiled my .c file in the cpu side of things and it didn’t make any difference unfortunately. This is the output and it also includes everything i did after i ran the update command and got the new .hex file from efinity:

vicharak@vicharak:~$ lsblk
NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda            8:0    1 57.3G  0 disk
└─sda1         8:1    1   32G  0 part /media/vicharak/SANDISK-USB
mmcblk0      179:0    0 29.1G  0 disk
├─mmcblk0p1  179:1    0    4M  0 part
├─mmcblk0p2  179:2    0    4M  0 part
├─mmcblk0p3  179:3    0    4M  0 part
├─mmcblk0p4  179:4    0  512M  0 part /boot
├─mmcblk0p5  179:5    0  128M  0 part
├─mmcblk0p6  179:6    0   32M  0 part
├─mmcblk0p7  179:7    0  256M  0 part /userdata
└─mmcblk0p8  179:8    0 28.1G  0 part /
mmcblk0boot0 179:32   0    4M  1 disk
mmcblk0boot1 179:64   0    4M  1 disk
zram0        254:0    0    0B  0 disk
vicharak@vicharak:~$ sudo mkdir -p /mnt/usb
sudo mount /dev/sda1 /mnt/usb
vicharak@vicharak:~$ ls /mnt/usb
 Rah_Prtcl_Test.hex  'System Volume Information'
vicharak@vicharak:~$ ls -lh
total 72M
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Desktop
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Documents
drwxr-xr-x 2 vicharak vicharak 4.0K Dec 11 09:48 Downloads
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink_2.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Music
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Pictures
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Public
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Rah_Protocol_test.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Rah_Prtcl_Test.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Sample_LED_Blink_T120.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 SandBox_V1.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Templates
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Videos
-rw-rw-r-- 1 vicharak vicharak  241 Jun  4  2025 lvs_can_config.json
-rw-r--r-- 1 vicharak vicharak  11M May 23 21:30 rah.hex
-rw-rw-r-- 1 vicharak vicharak  374 May 23 21:33 rah_test_cpu.c
-rwxrwxr-x 1 vicharak vicharak 8.9K May 23 21:34 rah_test_cpu_exe
vicharak@vicharak:~$ rm Rah_Prtcl_Test.hex
vicharak@vicharak:~$ ls -lh
total 62M
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Desktop
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Documents
drwxr-xr-x 2 vicharak vicharak 4.0K Dec 11 09:48 Downloads
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink_2.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Music
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Pictures
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Public
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Rah_Protocol_test.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Sample_LED_Blink_T120.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 SandBox_V1.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Templates
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Videos
-rw-rw-r-- 1 vicharak vicharak  241 Jun  4  2025 lvs_can_config.json
-rw-r--r-- 1 vicharak vicharak  11M May 23 21:30 rah.hex
-rw-rw-r-- 1 vicharak vicharak  374 May 23 21:33 rah_test_cpu.c
-rwxrwxr-x 1 vicharak vicharak 8.9K May 23 21:34 rah_test_cpu_exe
vicharak@vicharak:~$ cp "/mnt/usb/Rah_Prtcl_Test.hex" ~/
vicharak@vicharak:~$ ls -lh
total 72M
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Desktop
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Documents
drwxr-xr-x 2 vicharak vicharak 4.0K Dec 11 09:48 Downloads
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink_2.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Music
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Pictures
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Public
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Rah_Protocol_test.hex
-rw-r--r-- 1 vicharak vicharak  11M May 26 16:19 Rah_Prtcl_Test.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Sample_LED_Blink_T120.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 SandBox_V1.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Templates
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Videos
-rw-rw-r-- 1 vicharak vicharak  241 Jun  4  2025 lvs_can_config.json
-rw-r--r-- 1 vicharak vicharak  11M May 23 21:30 rah.hex
-rw-rw-r-- 1 vicharak vicharak  374 May 23 21:33 rah_test_cpu.c
-rwxrwxr-x 1 vicharak vicharak 8.9K May 23 21:34 rah_test_cpu_exe
vicharak@vicharak:~$ sudo vaaman-ctl -i "Rah_Prtcl_Test.hex"
Reprogrammed bitsream successfully!
vicharak@vicharak:~$ sudo ./rah_test_cpu_exe
Message to be send to FPGA: hello
^C                                                                                                   sudo strace -p $(pgrep rah_service) -e trace=read,write,ioctl 2>&1 & sudo ./rah_test_cpu_exe$(pgrep rah_service) -e trace=read,write,ioctl 2>&1 & sudo ./rah_test_cpu_exe
[1] 3921
Message to be send to FPGA: strace: Process 1347 attached
hello
ioctl(3, DRM_IOCTL_MODE_PAGE_FLIP, 0x7fd2578e60) = 0
read(3, "\2\0\0\0 \0\0\0 G\213\260U\0\0\0\250\16\0\0'\245\6\0\30\4\0\0F\0\0\0", 1024) = 32
ioctl(3, DRM_IOCTL_MODE_PAGE_FLIP, 0x7fd2578e60) = 0
read(3, "\2\0\0\0 \0\0\0 G\213\260U\0\0\0\250\16\0\0(\346\6\0\31\4\0\0F\0\0\0", 1024) = 32
ioctl(3, DRM_IOCTL_MODE_PAGE_FLIP, 0x7fd2578e60) = 0
read(3, "\2\0\0\0 \0\0\0 G\213\260U\0\0\0\250\16\0\0B'\7\0\32\4\0\0F\0\0\0", 1024) = 32
^C
vicharak@vicharak:~$ ls -lh
total 72M
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Desktop
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Documents
drwxr-xr-x 2 vicharak vicharak 4.0K Dec 11 09:48 Downloads
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink_2.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Music
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Pictures
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Public
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Rah_Protocol_test.hex
-rw-r--r-- 1 vicharak vicharak  11M May 26 16:19 Rah_Prtcl_Test.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Sample_LED_Blink_T120.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 SandBox_V1.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Templates
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Videos
-rw-rw-r-- 1 vicharak vicharak  241 Jun  4  2025 lvs_can_config.json
-rw-r--r-- 1 vicharak vicharak  11M May 23 21:30 rah.hex
-rw-rw-r-- 1 vicharak vicharak  374 May 23 21:33 rah_test_cpu.c
-rwxrwxr-x 1 vicharak vicharak 8.9K May 23 21:34 rah_test_cpu_exe
vicharak@vicharak:~$ rm rah_test_cpu_exe
vicharak@vicharak:~$ ls -lh
total 72M
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Desktop
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Documents
drwxr-xr-x 2 vicharak vicharak 4.0K Dec 11 09:48 Downloads
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink_2.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Music
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Pictures
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Public
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Rah_Protocol_test.hex
-rw-r--r-- 1 vicharak vicharak  11M May 26 16:19 Rah_Prtcl_Test.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Sample_LED_Blink_T120.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 SandBox_V1.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Templates
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Videos
-rw-rw-r-- 1 vicharak vicharak  241 Jun  4  2025 lvs_can_config.json
-rw-r--r-- 1 vicharak vicharak  11M May 23 21:30 rah.hex
-rw-rw-r-- 1 vicharak vicharak  374 May 23 21:33 rah_test_cpu.c
vicharak@vicharak:~$ gcc rah_test_cpu.c -lrah -o rah_test_cpu_exe
vicharak@vicharak:~$ ls -lh
total 72M
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Desktop
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Documents
drwxr-xr-x 2 vicharak vicharak 4.0K Dec 11 09:48 Downloads
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink_2.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Music
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Pictures
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Public
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Rah_Protocol_test.hex
-rw-r--r-- 1 vicharak vicharak  11M May 26 16:19 Rah_Prtcl_Test.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Sample_LED_Blink_T120.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 SandBox_V1.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Templates
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Videos
-rw-rw-r-- 1 vicharak vicharak  241 Jun  4  2025 lvs_can_config.json
-rw-r--r-- 1 vicharak vicharak  11M May 23 21:30 rah.hex
-rw-rw-r-- 1 vicharak vicharak  374 May 23 21:33 rah_test_cpu.c
-rwxrwxr-x 1 vicharak vicharak 8.9K May 26 16:23 rah_test_cpu_exe
vicharak@vicharak:~$ rah_test_cpu_exe
-bash: rah_test_cpu_exe: command not found
vicharak@vicharak:~$ sudo ./rah_test_cpu_exe
Message to be send to FPGA: hello
ioctl(3, DRM_IOCTL_MODE_PAGE_FLIP, 0x7fd2578e60) = 0
read(3, "\2\0\0\0 \0\0\0 G\213\260U\0\0\0@\17\0\0\210\367\6\0J\5\0\0F\0\0\0", 1024) = 32
ioctl(3, DRM_IOCTL_MODE_PAGE_FLIP, 0x7fd2578e60) = 0
read(3, "\2\0\0\0 \0\0\0 G\213\260U\0\0\0@\17\0\0\3218\7\0K\5\0\0F\0\0\0", 1024) = 32
^C
vicharak@vicharak:~$ sudo ./rah_test_cpu_exe
Message to be send to FPGA: hello
ioctl(3, DRM_IOCTL_MODE_PAGE_FLIP, 0x7fd2578e60) = 0
read(3, "\2\0\0\0 \0\0\0 G\213\260U\0\0\0R\22\0\0x#\v\0\251\7\0\0F\0\0\0", 1024) = 32
ioctl(3, DRM_IOCTL_MODE_PAGE_FLIP, 0x7fd2578e60) = 0
read(3, "\2\0\0\0 \0\0\0 G\213\260U\0\0\0R\22\0\0{d\v\0\252\7\0\0F\0\0\0", 1024) = 32
ioctl(3, DRM_IOCTL_MODE_PAGE_FLIP, 0x7fd2578e60) = 0
read(3, "\2\0\0\0 \0\0\0 G\213\260U\0\0\0R\22\0\0\223\245\v\0\253\7\0\0F\0\0\0", 1024) = 32



This is the new header file:

`define TOTAL_APPS 1

`define TEST 1

`define VERSION "1.2.1"

`define GET_DATA_RAH(a) rd_data[a * RAH_PACKET_WIDTH +: RAH_PACKET_WIDTH]
`define SET_DATA_RAH(a) wr_data[a * RAH_PACKET_WIDTH +: RAH_PACKET_WIDTH]

Newly compiled project:
Rah_Prtcl_Test.zip (2.6 MB)

sudo apt update
sudo apt upgrade
sudo apt install rah-service

you forgot to do apt upgrade

Oh okay yeah. Now it has updated to the newer version but still the same issue persists. I changed my header file back to 1.3.0 and re ran the tool chain and flashed the bitstream it made no difference unfortunately. This was the output:

vicharak@vicharak:~$ apt policy rah-service
rah-service:
  Installed: 1.3.0
  Candidate: 1.3.0
  Version table:
 *** 1.3.0 500
        500 https://pkg.vicharak.in stable-rk3399-vaaman-main/stable-rockchip/rk3399/vaaman/main arm64 Packages
        100 /var/lib/dpkg/status
vicharak@vicharak:~$

It get’s stuck like before:

vicharak@vicharak:~$ rm rah_test_cpu_exe
vicharak@vicharak:~$ ls -lh
total 72M
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Desktop
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Documents
drwxr-xr-x 2 vicharak vicharak 4.0K Dec 11 09:48 Downloads
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink_2.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Music
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Pictures
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Public
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Rah_Protocol_test.hex
-rw-r--r-- 1 vicharak vicharak  11M May 27 19:16 Rah_Prtcl_Test.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Sample_LED_Blink_T120.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 SandBox_V1.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Templates
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Videos
-rw-rw-r-- 1 vicharak vicharak  241 Jun  4  2025 lvs_can_config.json
-rw-r--r-- 1 vicharak vicharak  11M May 27 19:35 rah.hex
-rw-rw-r-- 1 vicharak vicharak  374 May 23 21:33 rah_test_cpu.c
vicharak@vicharak:~$ gcc rah_test_cpu.c -lrah -o rah_test_cpu_exe
vicharak@vicharak:~$ ls -lh
total 72M
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Desktop
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Documents
drwxr-xr-x 2 vicharak vicharak 4.0K Dec 11 09:48 Downloads
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink_2.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Music
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Pictures
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Public
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Rah_Protocol_test.hex
-rw-r--r-- 1 vicharak vicharak  11M May 27 19:16 Rah_Prtcl_Test.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Sample_LED_Blink_T120.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 SandBox_V1.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Templates
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Videos
-rw-rw-r-- 1 vicharak vicharak  241 Jun  4  2025 lvs_can_config.json
-rw-r--r-- 1 vicharak vicharak  11M May 27 19:35 rah.hex
-rw-rw-r-- 1 vicharak vicharak  374 May 23 21:33 rah_test_cpu.c
-rwxrwxr-x 1 vicharak vicharak 8.9K May 27 19:37 rah_test_cpu_exe

vicharak@vicharak:~$ sudo vaaman-ctl -i "Rah_Prtcl_Test.hex"
Reprogrammed bitsream successfully!
vicharak@vicharak:~$ sudo ./rah_test_cpu_exe
Message to be send to FPGA: hello

My new header file:

`define TOTAL_APPS 1

`define TEST 1

`define VERSION "1.3.0"

`define GET_DATA_RAH(a) rd_data[a * RAH_PACKET_WIDTH +: RAH_PACKET_WIDTH]
`define SET_DATA_RAH(a) wr_data[a * RAH_PACKET_WIDTH +: RAH_PACKET_WIDTH]

My doubt is that there could be something wrong with my FSM in the way I’m reading or writing or perhaps something in the way I instantiate the module.

Newly compiled project:

Rah_Prtcl_Test.zip (2.6 MB)

Just changing the header, does not change the version! You need to use latest rtl files, it won’t work otherwise!

For reference you can take default project i.e. cloned project without any modifications, generate bitstream for that, flash that bitstream and check using below C program,

#include <stdio.h>

#include <rah.h>

int main(void) {
    printf("compatible with bitstream: %d\n", rah_check_version_compatible());
}

rah_compatible_check.c

Make a C file of this, compile it

gcc -o rah_compatible_check rah_compatible_check.c -lrah

Then run that,

sudo ./rah_compatible_chek

If it returns the result it means, the entire rah pipeline is working.

Oh damn, it worked. My module also worked, basically the mistake i made was removing example_recv and example_trans from the top file. This time i just made a second application called Test and ran it.
Thanks for the help.

If you remove the example design then also it should work, try to remove that once and let us know the results.

Oh okay yeah. I tried that and that also worked maybe i did something else incorrectly before. But i noticed something else that was interesting. After leaving the board on for a while the rah protocol hangs in rah_read for some reason.

First i have 4 files:
rah.hex - it’s the original repo, no change.
rah2.hex - original repo with my module added with ID as 2.
rah3.hex - same as rah2 but example modules are commented out
rah4.hex - same as rah3 but the IDs are switched, my test ID is now 1.

Initially i flashed each of them and all of them worked as seen here:

E▒▒▒▒▒▒x▒▒▒▒▒0▒▒DDR Version 1.30 20230417
In
channel 0
CS = 0
MR0=0x18
MR4=0x1
MR5=0x1
MR8=0x10
MR12=0x72
MR14=0x72
MR18=0x0
MR19=0x0
MR24=0x8
MR25=0x0
channel 1
CS = 0
MR0=0x0
MR4=0x0
MR5=0x0
MR8=0x0
MR12=0x0
MR14=0x0
MR18=0x0
MR19=0x0
MR24=0x0
MR25=0x0
channel 0 training pass!
channel 1 training failed!
change freq to 416MHz 0,1
Channel 0: LPDDR4,416MHz
Bus Width=32 Col=10 Bank=8 Row=16 CS=1 Die Bus-Width=16 Size=2048MB
no stride
channel 0
CS = 0
MR0=0x18
MR4=0x1
MR5=0x1
MR8=0x10
MR12=0x72
MR14=0x72
MR18=0x0
MR19=0x0
MR24=0x8
MR25=0x0
channel 0 training pass!
channel 0, cs 0, advanced training done
change freq to 856MHz 1,0
ch 0 ddrconfig = 0x101, ddrsize = 0x40
pmugrf_os_reg[2] = 0x1000E2C1, stride = 0x17
ddr_set_rate to 328MHZ
ddr_set_rate to 666MHZ
ddr_set_rate to 928MHZ
channel 0, cs 0, advanced training done
ddr_set_rate to 416MHZ, ctl_index 0
ddr_set_rate to 856MHZ, ctl_index 1
support 416 856 328 666 928 MHz, current 856MHz
OUT
Boot1 Release Time: May 26 2022 18:14:35, version: 1.30
CPUId = 0x0
ChipType = 0x10, 325
mmc_set_bus_width: 1
EmmcClk: 375KHZ
mmc_switch index:183, value:0x2
mmc_switch index:185, value:0x2
EmmcClk: 375KHZ
mmc_set_bus_width: 8
EmmcClk: 200000KHZ
SdmmcInit=2 0
BootCapSize=100000
UserCapSize=29820MB
FwPartOffset=2000 , 100000
NeedKHz=200KHz, Clock=12000KHz
NeedKHz=200KHz, Clock=12000KHz
NeedKHz=200KHz, Clock=12000KHz
mmc0:cmd8,20
mmc0:cmd5,20
mmc0:cmd55,20
mmc0:cmd1,20
NeedKHz=200KHz, Clock=12000KHz
NeedKHz=200KHz, Clock=12000KHz
mmc0:cmd8,20
mmc0:cmd5,20
mmc0:cmd55,20
mmc0:cmd1,20
NeedKHz=200KHz, Clock=12000KHz
NeedKHz=200KHz, Clock=12000KHz
mmc0:cmd8,20
mmc0:cmd5,20
mmc0:cmd55,20
mmc0:cmd1,20
NeedKHz=200KHz, Clock=12000KHz
SdmmcInit=0 1
StorageInit ok = 78549
SecureMode = 1
SecureInit read PBA: 0x4
SecureInit read PBA: 0x404
atags_set_pub_key: ret:(0)
SecureInit ret = 0, SecureMode = 1
atags_set_bootdev: ret:(0)
GPT part:  0, name:            uboot, start:0x4000, size:0x2000
GPT part:  1, name:            trust, start:0x6000, size:0x2000
GPT part:  2, name:             misc, start:0x8000, size:0x2000
GPT part:  3, name:             boot, start:0xa000, size:0x100000
GPT part:  4, name:         recovery, start:0x10a000, size:0x40000
GPT part:  5, name:           backup, start:0x14a000, size:0x10000
GPT part:  6, name:         userdata, start:0x18a000, size:0x80000
GPT part:  7, name:           rootfs, start:0x20a000, size:0x3833fdf
find part:uboot OK. first_lba:0x4000.
find part:trust OK. first_lba:0x6000.
LoadTrust Addr:0x6000
No find bl30.bin
Load uboot, ReadLba = 4000
Load OK, addr=0x200000, size=0x13c7e0
RunBL31 0x40000 @ 136462 us
NOTICE:  BL31: v1.3(release):8f40012ab
NOTICE:  BL31: Built : 14:20:53, Feb 16 2023
NOTICE:  BL31: Rockchip release version: v1.1
INFO:    GICv3 with legacy support detected. ARM GICV3 driver initialized in EL3
INFO:    Using opteed sec cpu_context!
INFO:    boot cpu mask: 0
INFO:    plat_rockchip_pmu_init(1203): pd status 3e
INFO:    BL31: Initializing runtime services
INFO:    BL31: Initializing BL32
INF [0x0] TEE-CORE:init_primary_helper:337: Initializing (1.1.0-286-g44e25f04e #hisping.lin #10 Fri Jul 28 06:18:14 UTC 2023 aarch64)

INF [0x0] TEE-CORE:init_primary_helper:338: Release version: 1.2

INF [0x0] TEE-CORE:init_teecore:83: teecore inits done
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0x200000
INFO:    SPSR = 0x3c9


U-Boot 2017.09-gd50ecafb083-230928-dirty #vicharak (Jul 23 2025 - 13:19:13 +0000)

Model: Vicharak RK3399 VAAMAN VO.3
MPIDR: 0x80000000
PreSerial: 2, raw, 0xff1a0000
DRAM:  2 GiB
Sysmem: init
Relocation Offset: 7d321000
Relocation fdt: 7b513f18 - 7b517cd3
CR: M/C/I
DM: v1
dwmmc@fe320000: 1, sdhci@fe330000: 0
Bootdev(atags): mmc 0
MMC0: HS400, 150Mhz
PartType: EFI
=================begin===================
104709 bytes read in 3 ms (33.3 MiB/s)
DTB(Distro): rk3399-vaaman-linux.dtb
boot mode: None
Error binding driver 'gpio_led': -22
Some drivers failed to bind
I2c0 speed: 400000Hz
PMIC:  RK808
vdd_center 900000 uV
vdd_cpu_l 900000 uV
vdd_log 1100000 uV
io-domain: OK
Card did not respond to voltage select!
mmc_init: -95, time 9 card not detected!
*** Warning - No block device, using default environment

Could not find baseparameter partition
Model: Vicharak RK3399 VAAMAN VO.3 LINUX
MPIDR: 0x80000000
request gpio 124 failed
No resource file: logo.bmp
=================begin===================
512 bytes read in 63 ms (7.8 KiB/s)
rockchip_read_distro_logo: Load logo.bmp from 0:4
=================begin===================
188054 bytes read in 64 ms (2.8 MiB/s)
rockchip_read_distro_logo: Load logo.bmp from 0:4
Rockchip UBOOT DRM driver version: v1.0.1
hdmi@ff940000 disconnected
CLK: (uboot. arml: enter 816000 KHz, init 816000 KHz, kernel 0N/A)
CLK: (uboot. armb: enter 816000 KHz, init 816000 KHz, kernel 0N/A)
  aplll 816000 KHz
  apllb 816000 KHz
  dpll 856000 KHz
  cpll 24000 KHz
  gpll 800000 KHz
  npll 600000 KHz
  vpll 24000 KHz
  aclk_perihp 133333 KHz
  hclk_perihp 66666 KHz
  pclk_perihp 33333 KHz
  aclk_perilp0 266666 KHz
  hclk_perilp0 88888 KHz
  pclk_perilp0 44444 KHz
  hclk_perilp1 100000 KHz
  pclk_perilp1 50000 KHz
request gpio 124 failed
Net:   eth0: ethernet@fe300000
Hit key to stop autoboot('CTRL+C'):  0
ANDROID: reboot reason: "(none)"
No valid android hdr
Android image load failed
Android boot failed, error -1.
Unknown command 'boot_fit' - try 'help'

## Booting Rockchip Format Image
Could not find kernel partition, ret=-1

Device 0: unknown device
Card did not respond to voltage select!
mmc_init: -95, time 67 card not detected!
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:4...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
=================begin===================
1067 bytes read in 64 ms (15.6 KiB/s)
hdmi@ff940000 disconnected

  *** U-Boot menu ***

   1:   Vicharak Linux Kernel 5.10.238-vaaman
   2:   Vicharak Linux Kernel 5.10.233-vaaman

Enter choice:
   1:   Vicharak Linux Kernel 5.10.238-vaaman
Retrieving file: /initrd.img-5.10.238-vaaman
=================begin===================
17420709 bytes read in 143 ms (116.2 MiB/s)
Retrieving file: /Image-5.10.238-vaaman
=================begin===================
40753664 bytes read in 248 ms (156.7 MiB/s)
append: audit=0 earlycon=uart8250,mmio32,0xff1a0000 console=ttyFIQ0 irqchip.gicv3_pseudo_nmi=0 loglevel=4 earlyprintk plymouth.ignore-serial-consoles quiet root=PARTUUID=614e0000-0000-4b53-8000-1d28000054a9 rootwait rw splash coherent_pool=1m
Retrieving file: /rk3399-vaaman-linux-5.10.238-vaaman.dtb
=================begin===================
105029 bytes read in 66 ms (1.5 MiB/s)
Fdt Ramdisk skip relocation
## Flattened Device Tree blob at 0x08300000
   Booting using the fdt blob at 0x08300000
   Using Device Tree in place at 0000000008300000, end 000000000831ca44
## reserved-memory:
  drm-logo@00000000: addr=7dfe9000 size=5c000
  ramoops@110000: addr=110000 size=f0000
Adding bank: 0x00200000 - 0x08400000 (size: 0x08200000)
Adding bank: 0x0a200000 - 0x80000000 (size: 0x75e00000)
== DO RELOCATE == Kernel from 0x00280000 to 0x00400000
Total: 11559.613/11591.924 ms

Starting kernel ...

[   14.065400] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[   14.065434] Linux version 5.10.238-vaaman (vicharak@vicharak) (aarch64-linux-gnu-gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2) #vaaman SMP Sat Mar 28 12:32:10 IST 2026
[   14.072348] Machine model: Vicharak RK3399 VAAMAN VO.3 LINUX
[   14.147739] earlycon: uart8250 at MMIO32 0x00000000ff1a0000 (options '')
[   14.151046] printk: bootconsole [uart8250] enabled
[   18.599166] periplex_bus_init: Failed to find periplex node
[   18.599188] periplex_bus: Failed to initialize bus
[   18.629158] no ATF memory for init
[   18.641372] no ATF memory for init
[   18.935050] rk-multicodecs es8316-sound: ASoC: Property 'rockchip,audio-routing' does not exist or its length is not even
[   19.134475] rockchip-dmc dmc: could not find power_model node
[   19.134933] rockchip-dp ff970000.edp: no DP phy configured
[   19.139292] dwhdmi-rockchip ff940000.hdmi: IRQ index 1 not found
[   19.141447] rockchip-drm display-subsystem: route-hdmi: failed to get logo,offset
[   19.141494] rockchip-drm display-subsystem: failed to show kernel logo
[   20.499651] rockchip-pcie f8000000.pcie: PCIe link training gen1 timeout!
[   20.499759] rockchip-pcie f8000000.pcie: deferred probe failed

Ubuntu 22.04.5 LTS vicharak ttyFIQ0

vicharak login: vicharak
Password:
Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.10.238-vaaman aarch64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 m    m   "           #                           #
 "m  m" mmm     mmm   # mm    mmm    m mm   mmm   #   m
  #  #    #    #"  "  #"  #  "   #   #"  " "   #  # m"
  "mm"    #    #      #   #  m"""#   #     m"""#  #"#
   ##   mm#mm  "#mm"  #   #  "mm"#   #     "mm"#  #  "m



Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.10.238-vaaman aarch64)

System load:     30%                    Up time:       0 min

Memory usage:    14%  of 1.90G          IP:           192.168.1.66
Usage of /:      23%  of 28G
CPU temp:        38.1°C                 GPU temp:        37.5°C
RX today:        0 B


Expanded Security Maintenance for Applications is not enabled.

1 update can be applied immediately.
To see these additional updates run: apt list --upgradable

39 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


13 updates could not be installed automatically. For more details,
see /var/log/unattended-upgrades/unattended-upgrades.log
Last login: Tue Mar 24 19:23:30 IST 2026 on ttyFIQ0
vicharak@vicharak:~$ sensors
tcpm_source_psy_4_0022-i2c-4-22
Adapter: rk3x-i2c
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)

cpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +46.2°C  (crit = +115.0°C)

gpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +41.7°C

vicharak@vicharak:~$ ls -lh
total 102M
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Desktop
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Documents
drwxr-xr-x 2 vicharak vicharak 4.0K Dec 11 09:48 Downloads
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink_2.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Music
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Pictures
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Public
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Rah_Protocol_test.hex
-rw-r--r-- 1 vicharak vicharak  11M May 27  2026 Rah_Prtcl_Test.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Sample_LED_Blink_T120.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 SandBox_V1.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Templates
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Videos
-rw-rw-r-- 1 vicharak vicharak  241 Jun  4  2025 lvs_can_config.json
-rw-r--r-- 1 vicharak vicharak  11M May 28  2026 rah.hex
-rw-r--r-- 1 vicharak vicharak  11M May 28  2026 rah2.hex
-rw-r--r-- 1 vicharak vicharak  11M May 28  2026 rah3.hex
-rw-r--r-- 1 vicharak vicharak  11M May 28  2026 rah4.hex
-rwxrwxr-x 1 vicharak vicharak 8.8K May 28  2026 rah_compatible_check
-rw-rw-r-- 1 vicharak vicharak  140 May 28  2026 rah_compatible_check.c
-rwxrwxr-x 1 vicharak vicharak 8.9K May 28  2026 rah_test_cpu
-rw-rw-r-- 1 vicharak vicharak  420 May 28  2026 rah_test_cpu.c
vicharak@vicharak:~$ sudo ./rah_test_cpu
Message to be send to FPGA: HELLO!
Message sent to FPGA: HELLO
Message received from FPGA: HELLO
vicharak@vicharak:~$ sudo vaaman-ctl -i "rah.hex"
Reprogrammed bitsream successfully!
vicharak@vicharak:~$ sudo ./rah_compatible_check
compatible with bitstream: 1
vicharak@vicharak:~$ sudo vaaman-ctl -i "rah3.hex"
Reprogrammed bitsream successfully!
vicharak@vicharak:~$ sudo ./rah_test_cpu
Message to be send to FPGA: hello
Message sent to FPGA: hello
Message received from FPGA: hello
vicharak@vicharak:~$ sudo vim rah_test_cpu.c
#include<stdio.h>
#include<rah.h>

#define Test_id 2


int main(){


           char message[6];
           char message2[6];


         printf("Message to be send to FPGA: ");
           scanf("%5s", message);

     rah_write(Test_id, message, sizeof(message));
       printf("Message sent to FPGA: %s\n", message);

       rah_read(Test_id, message2, 6);
   printf("Message received from FPGA: %s\n", message2);




   return 0;
}

vicharak@vicharak:~$ vim rah_test_cpu.c
#include<stdio.h>
#include<rah.h>

#define Test_id 2


int main(){


           char message[6];
           char message2[6];


         printf("Message to be send to FPGA: ");
           scanf("%5s", message);

     rah_write(Test_id, message, sizeof(message));
       printf("Message sent to FPGA: %s\n", message);

       rah_read(Test_id, message2, 6);
   printf("Message received from FPGA: %s\n", message2);


vicharak@vicharak:~$ vim rah_test_cpu2
#include<stdio.h>
#include<rah.h>

#define Test_id 1


int main(){


           char message[6];
           char message2[6];


         printf("Message to be send to FPGA: ");
           scanf("%5s", message);

     rah_write(Test_id, message, sizeof(message));
       printf("Message sent to FPGA: %s\n", message);

       rah_read(Test_id, message2, 6);
   printf("Message received from FPGA: %s\n", message2);


"rah_test_cpu2" [New] 28L, 434B written
vicharak@vicharak:~$ gcc rah_test_cpu2 -lrah -o rah_test_cpu2
gcc: fatal error: input file ‘rah_test_cpu2’ is the same as output file
compilation terminated.
vicharak@vicharak:~$ ls -lh
total 102M
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Desktop
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Documents
drwxr-xr-x 2 vicharak vicharak 4.0K Dec 11 09:48 Downloads
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink_2.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Music
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Pictures
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Public
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Rah_Protocol_test.hex
-rw-r--r-- 1 vicharak vicharak  11M May 27 19:16 Rah_Prtcl_Test.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Sample_LED_Blink_T120.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 SandBox_V1.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Templates
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Videos
-rw-rw-r-- 1 vicharak vicharak  241 Jun  4  2025 lvs_can_config.json
-rw-r--r-- 1 vicharak vicharak  11M May 28 19:09 rah.hex
-rw-r--r-- 1 vicharak vicharak  11M May 28 19:32 rah2.hex
-rw-r--r-- 1 vicharak vicharak  11M May 28 21:05 rah3.hex
-rw-r--r-- 1 vicharak vicharak  11M May 28 21:06 rah4.hex
-rwxrwxr-x 1 vicharak vicharak 8.8K May 28 19:13 rah_compatible_check
-rw-rw-r-- 1 vicharak vicharak  140 May 28 19:13 rah_compatible_check.c
-rwxrwxr-x 1 vicharak vicharak 8.9K May 28 19:34 rah_test_cpu
-rw-rw-r-- 1 vicharak vicharak  420 May 28 19:34 rah_test_cpu.c
-rw-rw-r-- 1 vicharak vicharak  434 May 28 21:28 rah_test_cpu2
vicharak@vicharak:~$ rm rah_test_cpu2
vicharak@vicharak:~$ ls -lh
total 102M
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Desktop
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Documents
drwxr-xr-x 2 vicharak vicharak 4.0K Dec 11 09:48 Downloads
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink_2.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Music
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Pictures
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Public
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Rah_Protocol_test.hex
-rw-r--r-- 1 vicharak vicharak  11M May 27 19:16 Rah_Prtcl_Test.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Sample_LED_Blink_T120.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 SandBox_V1.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Templates
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Videos
-rw-rw-r-- 1 vicharak vicharak  241 Jun  4  2025 lvs_can_config.json
-rw-r--r-- 1 vicharak vicharak  11M May 28 19:09 rah.hex
-rw-r--r-- 1 vicharak vicharak  11M May 28 19:32 rah2.hex
-rw-r--r-- 1 vicharak vicharak  11M May 28 21:05 rah3.hex
-rw-r--r-- 1 vicharak vicharak  11M May 28 21:06 rah4.hex
-rwxrwxr-x 1 vicharak vicharak 8.8K May 28 19:13 rah_compatible_check
-rw-rw-r-- 1 vicharak vicharak  140 May 28 19:13 rah_compatible_check.c
-rwxrwxr-x 1 vicharak vicharak 8.9K May 28 19:34 rah_test_cpu
-rw-rw-r-- 1 vicharak vicharak  420 May 28 19:34 rah_test_cpu.c
vicharak@vicharak:~$ vim rah_test_cpu2.c
#include<stdio.h>
#include<rah.h>

#define Test_id 1


int main(){


                   char message[6];
#include<stdio.h>
#include<rah.h>

#define Test_id 1


int main(){


                   char message[6];
                              char message2[6];


                                       printf("Message to be send to FPGA: ");
                                                  scanf("%5s", message);

                                                       rah_write(Test_id, messagg
e, sizeof(message));
                                                              printf("Message see
nt to FPGA: %s\n", message);

                                                                     rah_read(Tee
st_id, message2, 6);
                                                                        printf(""
Message received from FPGA: %s\n", message2);




                                                                   return 0;
}

"rah_test_cpu2.c" [New] 28L, 515B written
vicharak@vicharak:~$ gcc rah_test_cpu2.c -lrah -o rah_test_cpu2
vicharak@vicharak:~$ ls -lh
total 102M
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Desktop
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Documents
drwxr-xr-x 2 vicharak vicharak 4.0K Dec 11 09:48 Downloads
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink_2.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Music
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Pictures
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Public
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Rah_Protocol_test.hex
-rw-r--r-- 1 vicharak vicharak  11M May 27 19:16 Rah_Prtcl_Test.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Sample_LED_Blink_T120.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 SandBox_V1.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Templates
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Videos
-rw-rw-r-- 1 vicharak vicharak  241 Jun  4  2025 lvs_can_config.json
-rw-r--r-- 1 vicharak vicharak  11M May 28 19:09 rah.hex
-rw-r--r-- 1 vicharak vicharak  11M May 28 19:32 rah2.hex
-rw-r--r-- 1 vicharak vicharak  11M May 28 21:05 rah3.hex
-rw-r--r-- 1 vicharak vicharak  11M May 28 21:06 rah4.hex
-rwxrwxr-x 1 vicharak vicharak 8.8K May 28 19:13 rah_compatible_check
-rw-rw-r-- 1 vicharak vicharak  140 May 28 19:13 rah_compatible_check.c
-rwxrwxr-x 1 vicharak vicharak 8.9K May 28 19:34 rah_test_cpu
-rw-rw-r-- 1 vicharak vicharak  420 May 28 19:34 rah_test_cpu.c
-rwxrwxr-x 1 vicharak vicharak 8.9K May 28 21:30 rah_test_cpu2
-rw-rw-r-- 1 vicharak vicharak  515 May 28 21:30 rah_test_cpu2.c
vicharak@vicharak:~$ sudo ./rah_test_cpu
Message to be send to FPGA: hello
Message sent to FPGA: hello
Message received from FPGA: hello
vicharak@vicharak:~$ sudo vaaman-ctl -i "rah4.hex"
Reprogrammed bitsream successfully!
vicharak@vicharak:~$ sudo ./rah_test_cpu2
Message to be send to FPGA: hello
Message sent to FPGA: hello
Message received from FPGA: hello
vicharak@vicharak:~$ sensors
tcpm_source_psy_4_0022-i2c-4-22
Adapter: rk3x-i2c
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)

cpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +50.6°C  (crit = +115.0°C)

gpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +50.6°C

vicharak@vicharak:~$

NOTE: I didn’t flash the bitstream initially because i have a service running that will flash the bitstream upon startup and that is coded to flash rah2.hex.

Then after leaving it on for like 20 mins and a reboot later this happened:

Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.10.238-vaaman aarch64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 m    m   "           #                           #
 "m  m" mmm     mmm   # mm    mmm    m mm   mmm   #   m
  #  #    #    #"  "  #"  #  "   #   #"  " "   #  # m"
  "mm"    #    #      #   #  m"""#   #     m"""#  #"#
   ##   mm#mm  "#mm"  #   #  "mm"#   #     "mm"#  #  "m



Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.10.238-vaaman aarch64)

System load:     28%                    Up time:       0 min

Memory usage:    13%  of 1.90G          IP:           192.168.1.66
Usage of /:      23%  of 28G
CPU temp:        68.3°C                 GPU temp:        65.6°C
RX today:        0 B


Expanded Security Maintenance for Applications is not enabled.

1 update can be applied immediately.
To see these additional updates run: apt list --upgradable

39 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


13 updates could not be installed automatically. For more details,
see /var/log/unattended-upgrades/unattended-upgrades.log
Last login: Tue Mar 24 19:22:43 IST 2026 on ttyFIQ0
vicharak@vicharak:~$ sensors
tcpm_source_psy_4_0022-i2c-4-22
Adapter: rk3x-i2c
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)

cpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +74.4°C  (crit = +115.0°C)

gpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +69.4°C

vicharak@vicharak:~$ sudo ./rah_test_cpu
Message to be send to FPGA: hello
Message sent to FPGA: hello
^C
vicharak@vicharak:~$ ls -lh
total 102M
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Desktop
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Documents
drwxr-xr-x 2 vicharak vicharak 4.0K Dec 11 09:48 Downloads
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink_2.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Music
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Pictures
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Public
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Rah_Protocol_test.hex
-rw-r--r-- 1 vicharak vicharak  11M May 27 19:16 Rah_Prtcl_Test.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Sample_LED_Blink_T120.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 SandBox_V1.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Templates
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Videos
-rw-rw-r-- 1 vicharak vicharak  241 Jun  4  2025 lvs_can_config.json
-rw-r--r-- 1 vicharak vicharak  11M May 28 19:09 rah.hex
-rw-r--r-- 1 vicharak vicharak  11M May 28 19:32 rah2.hex
-rw-r--r-- 1 vicharak vicharak  11M May 28 21:05 rah3.hex
-rw-r--r-- 1 vicharak vicharak  11M May 28 21:06 rah4.hex
-rwxrwxr-x 1 vicharak vicharak 8.8K May 28 19:13 rah_compatible_check
-rw-rw-r-- 1 vicharak vicharak  140 May 28 19:13 rah_compatible_check.c
-rwxrwxr-x 1 vicharak vicharak 8.9K May 28 19:34 rah_test_cpu
-rw-rw-r-- 1 vicharak vicharak  420 May 28 19:34 rah_test_cpu.c
-rwxrwxr-x 1 vicharak vicharak 8.9K May 28 21:30 rah_test_cpu2
-rw-rw-r-- 1 vicharak vicharak  515 May 28 21:30 rah_test_cpu2.c
vicharak@vicharak:~$ sudo vaaman-ctl -i "rah.hex"
Reprogrammed bitsream successfully!
vicharak@vicharak:~$ sudo ./rah_compatible_check
^C
vicharak@vicharak:~$ sudo vaaman-ctl -i "rah2.hex"
Reprogrammed bitsream successfully!
vicharak@vicharak:~$ sudo ./rah_test_cpu
Message to be send to FPGA: hello
Message sent to FPGA: hello
^C
vicharak@vicharak:~$ sudo vaaman-ctl -i "rah3.hex"
Reprogrammed bitsream successfully!
vicharak@vicharak:~$ sudo ./rah_test_cpu
Message to be send to FPGA: hello
Message sent to FPGA: hello
^C
vicharak@vicharak:~$ sudo vaaman-ctl -i "rah4.hex"
Reprogrammed bitsream successfully!
vicharak@vicharak:~$ sudo ./rah_test_cpu2
Message to be send to FPGA: hello
Message sent to FPGA: hello
^C
vicharak@vicharak:~$ sensors
tcpm_source_psy_4_0022-i2c-4-22
Adapter: rk3x-i2c
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)

cpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +60.6°C  (crit = +115.0°C)

gpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +61.2°C

vicharak@vicharak:~$ ls -lh
total 102M
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Desktop
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Documents
drwxr-xr-x 2 vicharak vicharak 4.0K Dec 11 09:48 Downloads
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink_2.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Music
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Pictures
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Public
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Rah_Protocol_test.hex
-rw-r--r-- 1 vicharak vicharak  11M May 27 19:16 Rah_Prtcl_Test.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Sample_LED_Blink_T120.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 SandBox_V1.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Templates
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Videos
-rw-rw-r-- 1 vicharak vicharak  241 Jun  4  2025 lvs_can_config.json
-rw-r--r-- 1 vicharak vicharak  11M May 28 19:09 rah.hex
-rw-r--r-- 1 vicharak vicharak  11M May 28 19:32 rah2.hex
-rw-r--r-- 1 vicharak vicharak  11M May 28 21:05 rah3.hex
-rw-r--r-- 1 vicharak vicharak  11M May 28 21:06 rah4.hex
-rwxrwxr-x 1 vicharak vicharak 8.8K May 28 19:13 rah_compatible_check
-rw-rw-r-- 1 vicharak vicharak  140 May 28 19:13 rah_compatible_check.c
-rwxrwxr-x 1 vicharak vicharak 8.9K May 28 19:34 rah_test_cpu
-rw-rw-r-- 1 vicharak vicharak  420 May 28 19:34 rah_test_cpu.c
-rwxrwxr-x 1 vicharak vicharak 8.9K May 28 21:30 rah_test_cpu2
-rw-rw-r-- 1 vicharak vicharak  515 May 28 21:30 rah_test_cpu2.c
vicharak@vicharak:~$ sudo vaaman-ctl -i "Sample_LED_Blink_T120.hex"
Reprogrammed bitsream successfully!
vicharak@vicharak:~$ sensors
tcpm_source_psy_4_0022-i2c-4-22
Adapter: rk3x-i2c
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)

cpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +60.6°C  (crit = +115.0°C)

gpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +61.2°C

vicharak@vicharak:~$

The program was not ending and I had to abort every time.

I’m not sure if this has to do with the temperature or because it was left on idle for long but the FPGA seems fine because when i flashed a blink file back on it worked as expected.

After leaving it powered off for sometime and letting it cool, when i re run it, it appears to work fine.

Okay then let’s debug it one by one, whenever this happens can you try to run previously given program?

Let us know the results, if the program works after 20 mins as you are telling then it might be problem with your rtl side, if that program hangs it means, there is something wrong with the bitstream itself.

So today i was able to recreate the same issues again. I did a few tests before hand to rule out the possibilities of the reboot and time being the issue, so that i could possibly conclude on temperature.

So first i kept the cpu between 30 and 35 degrees mostly for about 25 mins and ran my program multiple times to ensure it was working and it worked as the output here suggests and then after that i did a reboot again to make sure nothing was going wrong in the reboot, then again waited 10 mins and did the tests again before rebooting once more. The output for those:


vicharak login: vicharak
Password:
Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.10.238-vaaman aarch64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 m    m   "           #                           #
 "m  m" mmm     mmm   # mm    mmm    m mm   mmm   #   m
  #  #    #    #"  "  #"  #  "   #   #"  " "   #  # m"
  "mm"    #    #      #   #  m"""#   #     m"""#  #"#
   ##   mm#mm  "#mm"  #   #  "mm"#   #     "mm"#  #  "m



Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.10.238-vaaman aarch64)

System load:     34%                    Up time:       0 min

Memory usage:    14%  of 1.90G          IP:           192.168.1.66
Usage of /:      23%  of 28G
CPU temp:        37.5°C                 GPU temp:        35.6°C
RX today:        0 B


Expanded Security Maintenance for Applications is not enabled.

1 update can be applied immediately.
To see these additional updates run: apt list --upgradable

39 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


13 updates could not be installed automatically. For more details,
see /var/log/unattended-upgrades/unattended-upgrades.log
Last login: Mon Jun  1 18:49:22 IST 2026 on ttyFIQ0
vicharak@vicharak:~$ sudo ./rah_test_cpu
Message to be send to FPGA: hello
Message sent to FPGA: hello
Message received from FPGA: hello
vicharak@vicharak:~$ ls -lh
total 112M
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Desktop
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Documents
drwxr-xr-x 2 vicharak vicharak 4.0K Dec 11 09:48 Downloads
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink_2.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Music
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Pictures
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Public
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Rah_Protocol_test.hex
-rw-r--r-- 1 vicharak vicharak  11M May 27  2026 Rah_Prtcl_Test.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  1  2026 Rah_T1.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Sample_LED_Blink_T120.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 SandBox_V1.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Templates
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Videos
-rw-rw-r-- 1 vicharak vicharak  241 Jun  4  2025 lvs_can_config.json
-rw-r--r-- 1 vicharak vicharak  11M May 28  2026 rah.hex
-rw-r--r-- 1 vicharak vicharak  11M May 28  2026 rah2.hex
-rw-r--r-- 1 vicharak vicharak  11M May 28  2026 rah3.hex
-rw-r--r-- 1 vicharak vicharak  11M May 28  2026 rah4.hex
-rwxrwxr-x 1 vicharak vicharak 8.8K May 28  2026 rah_compatible_check
-rw-rw-r-- 1 vicharak vicharak  140 May 28  2026 rah_compatible_check.c
-rwxrwxr-x 1 vicharak vicharak 8.9K May 28  2026 rah_test_cpu
-rw-rw-r-- 1 vicharak vicharak  420 May 28  2026 rah_test_cpu.c
-rwxrwxr-x 1 vicharak vicharak 8.9K May 28  2026 rah_test_cpu2
-rw-rw-r-- 1 vicharak vicharak  515 May 28  2026 rah_test_cpu2.c
vicharak@vicharak:~$ sudo ./Rah_T1.hex
sudo: ./Rah_T1.hex: command not found
vicharak@vicharak:~$ sudo vaaman-ctl -i "Rah_T1.hex"
Reprogrammed bitsream successfully!
vicharak@vicharak:~$ sudo ./rah_test_cpu
Message to be send to FPGA: HELLO!!!
Message sent to FPGA: HELLO
Message received from FPGA: HELLO
vicharak@vicharak:~$ sudo reboot

vicharak login: vicharak
Password:
Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.10.238-vaaman aarch64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 m    m   "           #                           #
 "m  m" mmm     mmm   # mm    mmm    m mm   mmm   #   m
  #  #    #    #"  "  #"  #  "   #   #"  " "   #  # m"
  "mm"    #    #      #   #  m"""#   #     m"""#  #"#
   ##   mm#mm  "#mm"  #   #  "mm"#   #     "mm"#  #  "m



Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.10.238-vaaman aarch64)

System load:     31%                    Up time:       0 min

Memory usage:    15%  of 1.90G          IP:           192.168.1.66
Usage of /:      23%  of 28G
CPU temp:        42.2°C                 GPU temp:        40.0°C
RX today:        0 B


Expanded Security Maintenance for Applications is not enabled.

1 update can be applied immediately.
To see these additional updates run: apt list --upgradable

39 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


13 updates could not be installed automatically. For more details,
see /var/log/unattended-upgrades/unattended-upgrades.log
Last login: Tue Mar 24 19:22:42 IST 2026 on ttyFIQ0
vicharak@vicharak:~$ sensors
tcpm_source_psy_4_0022-i2c-4-22
Adapter: rk3x-i2c
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)

cpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +39.4°C  (crit = +115.0°C)

gpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +39.4°C

vicharak@vicharak:~$ sudo ./rah_test_cpu
Message to be send to FPGA: hello
Message sent to FPGA: hello
Message received from FPGA: hello
vicharak@vicharak:~$ sudo vaaman-ctl -i "Rah_T1.hex"
Reprogrammed bitsream successfully!
vicharak@vicharak:~$ sudo ./rah_test_cpu
Message to be send to FPGA: HEY!
Message sent to FPGA: HEY!
Message received from FPGA: HEY!
vicharak@vicharak:~$ time

real    0m0.000s
user    0m0.000s
sys     0m0.000s
vicharak@vicharak:~$ sensors
tcpm_source_psy_4_0022-i2c-4-22
Adapter: rk3x-i2c
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)

cpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +35.0°C  (crit = +115.0°C)

gpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +35.0°C

vicharak@vicharak:~$ sensors
tcpm_source_psy_4_0022-i2c-4-22
Adapter: rk3x-i2c
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)

cpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +31.7°C  (crit = +115.0°C)

gpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +31.7°C

vicharak@vicharak:~$ sudo ./rah_test_cpu
Message to be send to FPGA: HEY!!
Message sent to FPGA: HEY!!
Message received from FPGA: HEY!!
vicharak@vicharak:~$ sensors
tcpm_source_psy_4_0022-i2c-4-22
Adapter: rk3x-i2c
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)

cpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +31.1°C  (crit = +115.0°C)

gpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +31.1°C

vicharak@vicharak:~$ sensors
tcpm_source_psy_4_0022-i2c-4-22
Adapter: rk3x-i2c
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)

cpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +30.6°C  (crit = +115.0°C)

gpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +31.1°C

vicharak@vicharak:~$ sudo ./rah_test_cpu
Message to be send to FPGA: Hiii!
Message sent to FPGA: Hiii!
Message received from FPGA: Hiii!
vicharak@vicharak:~$ sensors
tcpm_source_psy_4_0022-i2c-4-22
Adapter: rk3x-i2c
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)

cpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +31.1°C  (crit = +115.0°C)

gpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +31.7°C

vicharak@vicharak:~$ sudo reboot

Ubuntu 22.04.5 LTS vicharak ttyFIQ0

vicharak login: vicharak
Password:
Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.10.238-vaaman aarch64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 m    m   "           #                           #
 "m  m" mmm     mmm   # mm    mmm    m mm   mmm   #   m
  #  #    #    #"  "  #"  #  "   #   #"  " "   #  # m"
  "mm"    #    #      #   #  m"""#   #     m"""#  #"#
   ##   mm#mm  "#mm"  #   #  "mm"#   #     "mm"#  #  "m



Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.10.238-vaaman aarch64)

System load:     32%                    Up time:       0 min

Memory usage:    14%  of 1.90G          IP:           192.168.1.66
Usage of /:      23%  of 28G
CPU temp:        37.5°C                 GPU temp:        35.0°C
RX today:        0 B


Expanded Security Maintenance for Applications is not enabled.

1 update can be applied immediately.
To see these additional updates run: apt list --upgradable

39 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


13 updates could not be installed automatically. For more details,
see /var/log/unattended-upgrades/unattended-upgrades.log
Last login: Tue Mar 24 19:25:02 IST 2026 on ttyFIQ0
vicharak@vicharak:~$ sensors
tcpm_source_psy_4_0022-i2c-4-22
Adapter: rk3x-i2c
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)

cpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +43.9°C  (crit = +115.0°C)

gpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +38.8°C

vicharak@vicharak:~$ sudo ./rah_test_cpu
Message to be send to FPGA: hello
Message sent to FPGA: hello
Message received from FPGA: hello
vicharak@vicharak:~$ sensors
tcpm_source_psy_4_0022-i2c-4-22
Adapter: rk3x-i2c
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)

cpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +33.9°C  (crit = +115.0°C)

gpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +34.4°C

vicharak@vicharak:~$ sensors
tcpm_source_psy_4_0022-i2c-4-22
Adapter: rk3x-i2c
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)

cpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +32.2°C  (crit = +115.0°C)

gpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +32.2°C

vicharak@vicharak:~$ sudo ./rah_test_cpu
Message to be send to FPGA: apple
Message sent to FPGA: apple
Message received from FPGA: apple
vicharak@vicharak:~$ sensors
tcpm_source_psy_4_0022-i2c-4-22
Adapter: rk3x-i2c
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)

cpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +31.7°C  (crit = +115.0°C)

gpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +32.2°C



vicharak@vicharak:~$ sudo reboot

Ubuntu 22.04.5 LTS vicharak ttyFIQ0

vicharak login: vicharak
Password:
Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.10.238-vaaman aarch64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 m    m   "           #                           #
 "m  m" mmm     mmm   # mm    mmm    m mm   mmm   #   m
  #  #    #    #"  "  #"  #  "   #   #"  " "   #  # m"
  "mm"    #    #      #   #  m"""#   #     m"""#  #"#
   ##   mm#mm  "#mm"  #   #  "mm"#   #     "mm"#  #  "m



Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.10.238-vaaman aarch64)

System load:     26%                    Up time:       0 min

Memory usage:    13%  of 1.90G          IP:           192.168.1.66
Usage of /:      23%  of 28G
CPU temp:        42.8°C                 GPU temp:        41.7°C
RX today:        0 B


Expanded Security Maintenance for Applications is not enabled.

1 update can be applied immediately.
To see these additional updates run: apt list --upgradable

39 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


13 updates could not be installed automatically. For more details,
see /var/log/unattended-upgrades/unattended-upgrades.log
Last login: Mon Jun  1 20:14:06 IST 2026 on ttyFIQ0
vicharak@vicharak:~$ sudo./rah_test_cpu
-bash: sudo./rah_test_cpu: No such file or directory
vicharak@vicharak:~$ sudo ./rah_test_cpu
Message to be send to FPGA: hello
Message sent to FPGA: hello
Message received from FPGA: hello
vicharak@vicharak:~$ sensors
tcpm_source_psy_4_0022-i2c-4-22
Adapter: rk3x-i2c
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)

cpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +43.9°C  (crit = +115.0°C)

gpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +43.9°C

vicharak@vicharak:~$ sudo reboot


Ubuntu 22.04.5 LTS vicharak ttyFIQ0

vicharak login: vicharak
Password:
Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.10.238-vaaman aarch64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 m    m   "           #                           #
 "m  m" mmm     mmm   # mm    mmm    m mm   mmm   #   m
  #  #    #    #"mm"    #    "mm"    #    "mm"    #    "mm"   #  #      #   #  #      #   #  #      #   #  #      #   #  #      #   #  #      #   #  m;35;95mm;35;95mm;35;95mm"""#   #     m"""#  #"#
   ##   mm#mm  "#mm"  #   #  "mm"#   #     "mm"#  #  "m



Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.10.238-vaaman aarch64)

System load:     28%                    Up time:       1 min

Memory usage:    29%  of 1.90G          IP:           192.168.1.66
Usage of /:      23%  of 28G
CPU temp:        50.0°C                 GPU temp:        50.0°C
RX today:        0 B


Expanded Security Maintenance for Applications is not enabled.

1 update can be applied immediately.
To see these additional updates run: apt list --upgradable

39 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


13 updates could not be installed automatically. For more details,
see /var/log/unattended-upgrades/unattended-upgrades.log
Last login: Mon Jun  1 20:22:30 IST 2026 on ttyFIQ0
vicharak@vicharak:~$ sudo ./rah_test_cpu
Message to be send to FPGA: hello
Message sent to FPGA: hello
Message received from FPGA: hello
vicharak@vicharak:~$ sensors
tcpm_source_psy_4_0022-i2c-4-22
Adapter: rk3x-i2c
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)

cpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +48.8°C  (crit = +115.0°C)

gpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +49.4°C

vicharak@vicharak:~$

Then finally i turned the fan off which was blowing air over the heat sinks of the cpu and turned the heat sinks to face down on to the table to build up temperature and as i assumed, soon as the temps went above 50 the instability came back, the program started hanging in rah_read():

vicharak@vicharak:~$ sensors
tcpm_source_psy_4_0022-i2c-4-22
Adapter: rk3x-i2c
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)

cpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +55.6°C  (crit = +115.0°C)

gpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +55.6°C

vicharak@vicharak:~$ sudo ./rah_test_cpu
Message to be send to FPGA: hello
Message sent to FPGA: hello
Message received from FPGA: hello
vicharak@vicharak:~$ sudo reboot


Ubuntu 22.04.5 LTS vicharak ttyFIQ0

vicharak login: vicharak
Password:
Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.10.238-vaaman aarch64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 m    m   "           #                           #
 "m  m" mmm     mmm   # mm    mmm    m mm   mmm   #   m
  #  #    #    #"  "  #"  #  "   #   #"  " "   #  # m"
  "mm"    #    #      #   #  m"""#   #     m"""#  #"#
   ##   mm#mm  "#mm"  #   #  "mm"#   #     "mm"#  #  "m



Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.10.238-vaaman aarch64)

System load:     26%                    Up time:       0 min

Memory usage:    14%  of 1.90G          IP:           192.168.1.66
Usage of /:      23%  of 28G
CPU temp:        66.1°C                 GPU temp:        60.6°C
RX today:        0 B


Expanded Security Maintenance for Applications is not enabled.

1 update can be applied immediately.
To see these additional updates run: apt list --upgradable

39 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm


13 updates could not be installed automatically. For more details,
see /var/log/unattended-upgrades/unattended-upgrades.log
Last login: Mon Jun  1 20:25:05 IST 2026 on ttyFIQ0
vicharak@vicharak:~$ sensors
tcpm_source_psy_4_0022-i2c-4-22
Adapter: rk3x-i2c
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)

cpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +70.0°C  (crit = +115.0°C)

gpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +63.8°C

vicharak@vicharak:~$ sudo ./rah_test_cpu
Message to be send to FPGA: hello
Message sent to FPGA: hello
^C
vicharak@vicharak:~$ ls -lh
total 112M
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Desktop
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Documents
drwxr-xr-x 2 vicharak vicharak 4.0K Dec 11 09:48 Downloads
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 LED_Blink_2.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Music
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Pictures
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Public
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Rah_Protocol_test.hex
-rw-r--r-- 1 vicharak vicharak  11M May 27 19:16 Rah_Prtcl_Test.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  1 18:22 Rah_T1.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 Sample_LED_Blink_T120.hex
-rw-r--r-- 1 vicharak vicharak  11M Jun  4  2025 SandBox_V1.hex
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Templates
drwxr-xr-x 2 vicharak vicharak 4.0K Jun  4  2025 Videos
-rw-rw-r-- 1 vicharak vicharak  241 Jun  4  2025 lvs_can_config.json
-rw-r--r-- 1 vicharak vicharak  11M May 28 19:09 rah.hex
-rw-r--r-- 1 vicharak vicharak  11M May 28 19:32 rah2.hex
-rw-r--r-- 1 vicharak vicharak  11M May 28 21:05 rah3.hex
-rw-r--r-- 1 vicharak vicharak  11M May 28 21:06 rah4.hex
-rwxrwxr-x 1 vicharak vicharak 8.8K May 28 19:13 rah_compatible_check
-rw-rw-r-- 1 vicharak vicharak  140 May 28 19:13 rah_compatible_check.c
-rwxrwxr-x 1 vicharak vicharak 8.9K May 28 19:34 rah_test_cpu
-rw-rw-r-- 1 vicharak vicharak  420 May 28 19:34 rah_test_cpu.c
-rwxrwxr-x 1 vicharak vicharak 8.9K May 28 21:30 rah_test_cpu2
-rw-rw-r-- 1 vicharak vicharak  515 May 28 21:30 rah_test_cpu2.c
vicharak@vicharak:~$ sudo vaaman-ctl -i "rah.hex"
Reprogrammed bitsream successfully!
vicharak@vicharak:~$ sudo./rah_compatible_check
-bash: sudo./rah_compatible_check: No such file or directory
vicharak@vicharak:~$ sudo ./rah_compatible_check
^C
vicharak@vicharak:~$ sudo vaaman-ctl -i "rah2.hex"
Reprogrammed bitsream successfully!
vicharak@vicharak:~$ sudo ./rah_test_cpu
Message to be send to FPGA: hello
Message sent to FPGA: hello


It looks like it is not coming from the processor side, it from FPGA side, FPGA is getting hot and it is rebooting! Do one thing without turning fans on, once you face the same problem, just re-upload the bitstream and check again without rebooting.

If this works it is surely FPGA’s problem.

Yeah, it’s fine. I tried tried that, it didn’t make any change but my team is working on a cooling solution for this, I just wanted to know if there was any software fix.

Thanks for the help.