At this stage, clik tests (examples) have been successfully built, including the kernels, which have been cross-compiled to the RISC-V architecture. However, attempting to run an example will fail:
$ bin/copy_buffer
Unable to create a clik device.
This is because the skeleton RefSi HAL provided for this tutorial contains stubs (empty functions) for all of the operations which are required to be implemented by the HAL, including the operation used to create a new HAL device which is used by clik. How to implement these operations will be described in the following sections.
Before starting to implement the HAL, we will briefly explain how to run all clik tests as a suite and obtain the number of passed and failed tests
$ ninja check
[100 %] [11:0:0/11] FAIL concatenate_dma
******************** concatenate_dma FAIL in 0:00:00.006947 ********************
Unable to create a clik device.
********************************************************************************
Failed tests:
blur
concatenate_dma
copy_buffer
copy_buffer_async
hello
hello_async
matrix_multiply
ternary_async
vector_add
vector_add_async
vector_add_wfv
Passed: 0 ( 0.0 %)
Failed: 11 (100.0 %)
Timeouts: 0 ( 0.0 %)
As can be seen above, all clik tests are currently failing. This is to be
expected when the RefSi HAL is still at the skeleton stage. Nevertheless, it is
useful to run ninja check
periodically while developing the HAL, to confirm
that a particular operation has been implemented correctly or that a new change
to the source code has not caused any regression.