From 12d589786e91db6ac3886876dbf458908fe5b22b Mon Sep 17 00:00:00 2001 From: keithm-xmos <35048036+keithm-xmos@users.noreply.github.com> Date: Fri, 23 Sep 2022 14:58:49 -0400 Subject: [PATCH 1/8] added xscope_fileio submodule --- .gitmodules | 3 +++ modules/CMakeLists.txt | 1 + modules/xscope_fileio/xscope_fileio | 1 + modules/xscope_fileio/xscope_fileio.cmake | 16 ++++++++++++++++ 4 files changed, 21 insertions(+) create mode 160000 modules/xscope_fileio/xscope_fileio create mode 100644 modules/xscope_fileio/xscope_fileio.cmake diff --git a/.gitmodules b/.gitmodules index f79adf2c4..651b28cac 100644 --- a/.gitmodules +++ b/.gitmodules @@ -16,3 +16,6 @@ [submodule "frameworks/rtos"] path = modules/rtos url = git@github.com:xmos/fwk_rtos.git +[submodule "modules/xscope_fileio/xscope_fileio"] + path = modules/xscope_fileio/xscope_fileio + url = git@github.com:xmos/xscope_fileio.git diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt index 9192d7a08..cb476872e 100644 --- a/modules/CMakeLists.txt +++ b/modules/CMakeLists.txt @@ -7,3 +7,4 @@ add_subdirectory(voice) ## Add additional modules add_subdirectory(sample_rate_conversion) +add_subdirectory(xscope_fileio) diff --git a/modules/xscope_fileio/xscope_fileio b/modules/xscope_fileio/xscope_fileio new file mode 160000 index 000000000..2ad049711 --- /dev/null +++ b/modules/xscope_fileio/xscope_fileio @@ -0,0 +1 @@ +Subproject commit 2ad04971103f8ca4558d1d2fc903c2a6047b95ba diff --git a/modules/xscope_fileio/xscope_fileio.cmake b/modules/xscope_fileio/xscope_fileio.cmake new file mode 100644 index 000000000..0e189762c --- /dev/null +++ b/modules/xscope_fileio/xscope_fileio.cmake @@ -0,0 +1,16 @@ +add_library(xcore_sdk_modules_xscope_fileio INTERFACE) + +target_sources(xcore_sdk_modules_xscope_fileio + INTERFACE + ${CMAKE_CURRENT_LIST_DIR}/xscope_fileio/xscope_fileio/src/xscope_io_device.c) + +target_include_directories(xcore_sdk_modules_xscope_fileio + INTERFACE + ${CMAKE_CURRENT_LIST_DIR}/xscope_fileio/xscope_fileio + ${CMAKE_CURRENT_LIST_DIR}/xscope_fileio/xscope_fileio/api) + +target_compile_definitions(xcore_sdk_modules_xscope_fileio + INTERFACE + TEST_WAV_XSCOPE=1) + +add_library(sdk::xscope_fileio ALIAS xcore_sdk_modules_xscope_fileio) \ No newline at end of file From a2871d20ac1775c7fb4ae9d0b7ed249a233b02eb Mon Sep 17 00:00:00 2001 From: keithm-xmos <35048036+keithm-xmos@users.noreply.github.com> Date: Wed, 28 Sep 2022 14:18:59 -0400 Subject: [PATCH 2/8] added xscope_fileio example --- examples/examples.cmake | 14 ++ examples/freertos/xscope_fileio/README.rst | 120 +++++++++++ .../xscope_fileio/XCORE-AI-EXPLORER.xn | 109 ++++++++++ .../images/functional_diagram.png | Bin 0 -> 142096 bytes examples/freertos/xscope_fileio/in.wav | Bin 0 -> 192044 bytes .../xscope_fileio/src/FreeRTOSConfig.h | 123 ++++++++++++ .../freertos/xscope_fileio/src/app_conf.h | 28 +++ .../freertos/xscope_fileio/src/config.xscope | 31 +++ .../src/data_pipeline/api/data_pipeline.h | 31 +++ .../data_pipeline/src/data_pipeline_tile0.c | 83 ++++++++ .../data_pipeline/src/data_pipeline_tile1.c | 114 +++++++++++ .../src/fileio/xscope_fileio_task.c | 190 ++++++++++++++++++ .../src/fileio/xscope_fileio_task.h | 20 ++ examples/freertos/xscope_fileio/src/main.c | 127 ++++++++++++ .../xscope_fileio/src/wav/wav_utils.c | 139 +++++++++++++ .../xscope_fileio/src/wav/wav_utils.h | 48 +++++ .../xscope_fileio/xscope_fileio.cmake | 88 ++++++++ .../{xscope_fileio.cmake => CMakeLists.txt} | 2 +- tools/ci/build_host_apps.sh | 5 + tools/ci/build_rtos_core_examples.sh | 4 +- 20 files changed, 1274 insertions(+), 2 deletions(-) create mode 100644 examples/freertos/xscope_fileio/README.rst create mode 100644 examples/freertos/xscope_fileio/XCORE-AI-EXPLORER.xn create mode 100644 examples/freertos/xscope_fileio/images/functional_diagram.png create mode 100644 examples/freertos/xscope_fileio/in.wav create mode 100644 examples/freertos/xscope_fileio/src/FreeRTOSConfig.h create mode 100644 examples/freertos/xscope_fileio/src/app_conf.h create mode 100644 examples/freertos/xscope_fileio/src/config.xscope create mode 100644 examples/freertos/xscope_fileio/src/data_pipeline/api/data_pipeline.h create mode 100644 examples/freertos/xscope_fileio/src/data_pipeline/src/data_pipeline_tile0.c create mode 100644 examples/freertos/xscope_fileio/src/data_pipeline/src/data_pipeline_tile1.c create mode 100644 examples/freertos/xscope_fileio/src/fileio/xscope_fileio_task.c create mode 100644 examples/freertos/xscope_fileio/src/fileio/xscope_fileio_task.h create mode 100644 examples/freertos/xscope_fileio/src/main.c create mode 100644 examples/freertos/xscope_fileio/src/wav/wav_utils.c create mode 100644 examples/freertos/xscope_fileio/src/wav/wav_utils.h create mode 100644 examples/freertos/xscope_fileio/xscope_fileio.cmake rename modules/xscope_fileio/{xscope_fileio.cmake => CMakeLists.txt} (98%) diff --git a/examples/examples.cmake b/examples/examples.cmake index 24fff2048..43a73a636 100644 --- a/examples/examples.cmake +++ b/examples/examples.cmake @@ -12,6 +12,20 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL XCORE_XS3A) include(${CMAKE_CURRENT_LIST_DIR}/freertos/l2_cache/l2_cache.cmake) include(${CMAKE_CURRENT_LIST_DIR}/freertos/usb/usb.cmake) include(${CMAKE_CURRENT_LIST_DIR}/freertos/xlink/xlink.cmake) + include(${CMAKE_CURRENT_LIST_DIR}/freertos/xscope_fileio/xscope_fileio.cmake) else() + # Get the "version" value from the JSON element + file(READ settings.json JSON_STRING) + string(JSON SDK_VERSION GET ${JSON_STRING} ${IDX} version) + + # Determine OS, set up install dir + if(${CMAKE_SYSTEM_NAME} STREQUAL Windows) + set(HOST_INSTALL_DIR "$ENV{USERPROFILE}\\.xmos\\SDK\\${SDK_VERSION}\\bin") + else() + set(HOST_INSTALL_DIR "/opt/xmos/SDK/${SDK_VERSION}/bin") + endif() + add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/freertos/device_control/host) + add_subdirectory(modules/xscope_fileio/xscope_fileio/host) + install(TARGETS xscope_host_endpoint DESTINATION ${HOST_INSTALL_DIR}) endif() diff --git a/examples/freertos/xscope_fileio/README.rst b/examples/freertos/xscope_fileio/README.rst new file mode 100644 index 000000000..63543b7df --- /dev/null +++ b/examples/freertos/xscope_fileio/README.rst @@ -0,0 +1,120 @@ +################################ +FreeRTOS XSCOPE File I/O Example +################################ + +This FreeRTOS example application reads a file from the host over an XSCOPE server, propagates the data through multiple threads across both tiles, and then writes to a host file, also over an XSCOPE server. + +.. image:: images/functional_diagram.png + :align: left + +****************** +Supported Hardware +****************** + +This example is supported on the XCORE-AI-EXPLORER_2V0 board. + +********************* +Building the Firmware +********************* + +Run the following commands in the root folder to build the embedded application using the XTC Toolchain: + +.. tab:: Linux and Mac + + .. code-block:: console + + cmake -B build -DCMAKE_TOOLCHAIN_FILE=xmos_cmake_toolchain/xs3a.cmake + cd build + make example_freertos_xscope_fileio + +.. tab:: Windows + + Before building the embedded application, you may need to add the path to nmake to your PATH variable. + + .. code-block:: console + + set PATH=%PATH%; + + To build the embedded application: + + .. code-block:: console + + cmake -G "NMake Makefiles" -B build -DCMAKE_TOOLCHAIN_FILE=xmos_cmake_toolchain/xs3a.cmake + cd build + nmake example_freertos_xscope_fileio + +********************* +Building the Host App +********************* + +Run the following commands in the root folder to build the host application using your native x86 Toolchain: + +.. tab:: Linux and Mac + + .. code-block:: console + + cmake -B build_host + cd build_host + make xscope_host_endpoint + make install + +.. tab:: Windows + + Before building the host application, you will need to add the path to the XTC Tools to your environment. + + .. code-block:: console + + set "XMOS_TOOL_PATH=" + + Then build the host application: + + .. code-block:: console + + cmake -G "NMake Makefiles" -B build_host + cd build_host + nmake xscope_host_endpoint + nmake install + +Note: Permissions may be required to install the host applications. + +The host application, `xscope_host_endpoint`, will be installed at `applications/hark`, and may be moved if desired. + +******************** +Running the Firmware +******************** + +From the build folder run: + +.. tab:: Linux and Mac + + .. code-block:: console + + make run_example_freertos_xscope_fileio + +.. tab:: Windows + + .. code-block:: console + + nmake run_example_freertos_xscope_fileio + +In a second console, run the host xscope server: + +.. tab:: Linux and Mac + + .. code-block:: console + + ./xscope_host_endpoint 12345 + +.. tab:: Windows + + Before running the host application, you may need to add the location of the `xscope_endpoint.dll` to your PATH. + + .. code-block:: console + + set PATH=%PATH%; + + Then run the host application: + + .. code-block:: console + + xscope_host_endpoint.exe 12345 diff --git a/examples/freertos/xscope_fileio/XCORE-AI-EXPLORER.xn b/examples/freertos/xscope_fileio/XCORE-AI-EXPLORER.xn new file mode 100644 index 000000000..4dde19f84 --- /dev/null +++ b/examples/freertos/xscope_fileio/XCORE-AI-EXPLORER.xn @@ -0,0 +1,109 @@ + + + Board + xcore.ai Explorer Kit + + + tileref tile[2] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/freertos/xscope_fileio/images/functional_diagram.png b/examples/freertos/xscope_fileio/images/functional_diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..6635c3d19a99c919955fcf0c65f6edff67b11d67 GIT binary patch literal 142096 zcmb5W1yEgEvn?D51PiXg-7UeL-~@LG8r!T<#S3Ii{NEpEO!%TjXymvT2>>c9CJJYoO97AQ1}!2f1VT9DI!x1c{13@wP@#pG9N!C%gLnK=Koa;miO<|Eg& zpJ~PG@u<xnI%Q=hgbOQ#vBx`y()hV&n^0xB4|hSUXzKN3stW@&7989Sp6zHnnPl zbK?GZvf*aozZ;gN6z*CUyTKt!4{Q;CDcLCf$B3qZ4=SS|?mmVJp<=Q0bILy(KEVPc z$tJhSai9e)(j;dh{HqmcU=eyW7`T?s%WW{&X%A3yGeWE16LFqs=&ViXD`3$BalmZa z)^@`e6z#8JOk&GAn3OO;z?@93Paz9kS>xxtdWKXM@`{M3mH;7g#A2gLU{%qF5RS1eFuQ}i86J-ne z#k^rNHCXSD203mb3i>{Tv2;9OVAHD#|NJV4F6iy9`|{?|Z97&7(z!L7@zx$J?0vOh z#=KaeUY>q+aJD(Dd$b-7*975zpJoL7>K(FN?RGFn%3P&Bh00f1%_;*Z$E}fXW)TN~ z#Tc+bV=dX>D5A=S2DZSFI>BSuV+5@F-Xr@xUZz|pj%N!*s+Fq0M?Bd5S$qw-Poz`H zw_d2ZIchm3eLBS#@T|KMpn$!mQOM49KV5Ub+{3niOm1wLbQG6)YC-}F#u9Q$-Xo__DC(_Pqz2SK8jNyH6H*pb< zt~4z(VG-~ofYUOhB{B*l&>IL&$E1RCg17!vhk#7L8NAe~{!N)miY5wciAF9x7&zij zhrj9vGkIz`8~EQYlqgZiX7j&EqE|zlA`$${-@2%Ty97YJ5HH_@`D(nkpMqVRtIQ|! z+h0rPwb?8-?97znYB$;voxOj!C%G=?_e0ue= zFg~{hSzgA`5QW^C}m3(Yu{)|lUD(C5FP-U-XBUK}T z%Ifa=xbm^`!Hcdxhu;IkVXb$vKlzhiZy0+0u~(M;@vnM@{-`%Wm^AX{RFj4J0-hJF zhfMSpLIr;L7O^l=oy#yIBe)xja#?(CvtQkhR|Fn_En_V$6WRZwfkMK_1>1JzrX9S4 zbxU~J`CGd42pC{6t&_r++a z#>8cBdJ>YQU2BSbb+l}CL-znKldb3gPps7fF^C?Gl|lc6?|P&WGs7E@4jjt7T1Sl#&5cXjZWM0ey2KZ zp4d%J+q1o{bXE7(XU7{<<$jP`noqr9h9<2SSuj$<@1He-8sRPa&Hi_HdM=Z=%dHo` z<#fp}0TR8GB)wL5CCnPT)%NnXJj$G>tqi+38U^CRcGR51lixkR+DO(1V(0Fplynd` zET#%4nMaaI=6_Htl*uSPPJdGg!(mEi>C*LGwUd6M#U|(nc?csBYInU81VTeP5l;+1 z8B56Zr@jaaqaP|KXMq}8Zh8&C(YfD*`OP(L5mV}%q;)tL@oD&2Z%>t)ig zOkOPz3;DjL^R!-UkYm6-zt~kdT>Pd|Eb(}ESzp6;wsC)deO#~nw&+9B)Q9H5gl#76 zx(WF$*;Py> zpQ&WmGLfo90$|t~{@KWNt)Ri;`QIe!7W#` z48_2|L@AL^Cfr$RYjMS&>Y&zNjK!e(L9_a$2x;Tn&}{ift9oZ2&RaL-)_8Ihg6Cw8 zC+8pN)hT8|SM^=3)RJaylj=K=m9Kp@laUsy3}3!89?Z=$yXER?MC*DmKNY+QH6s2M)CR9ESYj>TI^XJG#T-R_`EveSV1Bk$X62O;mvd%|K zO~01$Yo=2k>~7Wa#SqGS_U9_=F<8%_m9_4MJE(<(0XU7a0asIPG|(SSz*UFAQWGT` zODw=@*bQ^2>NQuPTkUmit6HY1)Ka1*c&tVvNZX~Got%>2L@4RIvp-|(bCoUNWqG-{ zxvFB1da8hO9*b6BB#BW)1I2a@n;3Rg>qWQ zji#gN#M@m^fL%W$&z7gR$!qR;A|Z+e63B;G%@3WbkmakxMRXoVE<0Ca3AWfYw z0GcRR9z|zRXS7~vUAX^v7O0~2^YP*Ke8tUa@C!$cb2Qe;X80|g%2#(Gk~lCk%OVOU z_3I4+<+C6yj~{vv0!&_K^YY3RGzymGWS4b1Q0R?W+O1^RWHklCe1d=4ZJ9F2E1BoIQXm%sg*CNqKehpu; z+~$S5Ih-;VocdKRLnN6YE(J^_o2uBt&jJM6|3%hM&5W=Vu&!DtTa_JWLLRD%Lqzag#Xqa`~dDO9#C{5^@F#6bkKT+^?yJ9 z)z78k@K1zUS`Z)Ek4%bxKMcSto?PHrqKI{6S^X(to{^wD;1!GLi?%Nij~bBZXvF^1 zb_Udd51LMG&+GWM+#;1{5rW9vrNg} zO(c;=^4~fz7N`Pt-%b+_l0XAe;QUXdP_p0t&m|gxit@;{w}AlA)}hD`gy*pN*OMv@ zyh*#@;hZCx`|}R?f+qvKuIA4&hz@MQ%pc+T^5>g-)C*XJ*t{)a2pafqz2<)+MOYx; ze=Y&a0^&v^MZ@w7psvDImJj=5H=VM8{zePOtD7L8=aTY|nP~#Aqc?Y9tgx1{&`ieu ztM)Yl%2LnQ9B^l$FXl*6VE>rR|BDn@OHKc|#No3g6ICC+0=&B=&QauFjhjB>YiggE z(aQmje{D$^y8rn#qXLa)0r)7G)+y%SpC<;e=TD;&o;V>G5Cp{dKanCIJocYU*wO$# zbQosC1!yZW_+qUu5@i1ydMrmM)@(fc_uA&LJLHTiyTd&I_e|y?>uURadoYfN4dvjM zNqpL*+_Nd!GY4eep8cM#HVPx8LL`@ri5gTYu=JCN*N-PB^O!0GfG56kp;Q0>)X9O` zX)MGfFHOb1QL)N;hkh;xIcRT-PQd*{c$jTtjwjxU-}es7?RcrnDPE%$>o#OA=iRte z4iys0!P2g2taM_7>@9#P=i9uvVu*!e&P5D5Xi?6C zQ3!DKfACYt;Zxr3F;L<>^#>#4#&}4ug3grwQf!E@@I9o_ZUx+YljW^;a9tVZ^JH?m zEg26-iQ5sY5+UHXC7TwfKsX)G^CE)>u&s=qlJmTuNXx8;Ft z*TKyemOyBO;bg6)>D|3tZM5mRLng47vkt7qr4P0ik0h6jCzr}*&O#t|kotSy445GM zySfGhp^N)t?u!AE8|B1&I+bSj2ps09s5LD93^RbuxnQ)5*~$Q%SEDz_4-#&|pl;B} zJwbtbZH&t!;Tmr>D6}3{1N+Z@XDRKUW|;`FydXWF##x@Cm{68Cu|=dsnHJa*O73-kW%Ix&PX=M+?D#F#RuM6pPUbU~DMhhITJuj3^pA&u2s*;} z5%Y)Xf0gTLnX5dtNus}L(B=S`gYiK_bA}f{YG`5~q3pagqxL!PPj;D4iPRBAJS6GO zs4m){5v|^vK^Kz7IL}-g{5t~JQrW949X6UQytCG+dSTdm4A~QLucW?uD0{NycLfp< zTYZZ-P>DsI48)Rf#OvC6Z<-XF^!7KF-F)a*AYPWr`ucaS^u~xQUY(1SySckPkJnD5 zD<$JxQww=9u55Djkp_!@c_2ACh`RFr4}I*+Ln?^=#Goa3-SJZe6!6u&7P-H!dZwUidA(Z7sLh<;end6Hk{)dBw+Invazl9oepth4rWlYPE zEcE!>G)pl+zQ3WjPzb{W)>uoHj=8MoC%&t^UA99!`Wo8lhyo;KQsWw(kyuP>10XJ$ z&$n>VbJtEK_ z^Ss#1M!Un}DU>SYiP#T*!c}|FNWx3k{H0XxSpQaQml(7aE=Ikm3f<;hr2>hupj@YZ ztR)v{X9G9HBi=yYCx}lJF&_?JU+FD!@PwX(wf}-tX9Ua-YWXO>HRNc2?I>=Cs?8OF zSUH>En+u3!^S3N`lYlY(oRAKqP)p~ML_Tfd z`A}z0-z2F|DCU0)eGUu90KkfP8UGcEzGPEE=+QKM!t*}ZBZ7KVpjA5wDgZHo#tcRY(6pD%Gq zd^I|p!tHZHdKKyEOvh&0>wUVa0VIPM4l9V))(pc4F+ZL~t%+#fkEFJz6)O~g|LTJ= zbPJz1@5LzYdAB(l+51h|BL6;I!0QBjWut1ffI%b?D{%vl-g;k&BeegLfU7@cZE7fg zZOe_WVYSH>IU|L+FNn{LRrNtjOh;@8*dk4p$^$<#TCtusyhE|g{;YaV3>`$}gdLU- z?okNv5iiD&=b*1LSK$sB7uundZ}c0h(Z7N(3o+~R4!8{rNnz2w76ms98ij^E`o50e zmiaA!FEoPe7_DfJih)jYA_|o7tSQ0#qs$6viD+DcjTrgF1PJp1{!7As*|g|e2g?Ly zyZnB4(@ZqwtuWVeA`e%`NxSW9Sk3&=e74KH-YQ?CSaNcNJOV}De#%u&pxzNM>ZdtR zn{8woE9@vfU+mO(YbFx+rdoxj42z1haDLTwp7qd6xiE$Er}0prh2H~| z$J9#ckYIGMx!-j^av3H8F5LlOB1G`A2a_*9rZDxGS0g-8D-iR^4jDQ92cVtR$4U4q z+tn+bFd=hbbYs|lxo(m2hE@ND>&po4K}|jnsx)#wgLRM#dG$yoAMw5;=F`ViB{dkV;t!njv}{bo}x%r%qHQ`FH+sa2qd zoWp+eI8G|qS1a@L)6stAX+7Ftakxg^OUrVxp>&GHMx$z4t^|Hv-Up^FRT?YxI^uUQ z$RY5%jYIhJwc>O!2y5@~Z~1{!3Gr_=w}^AErBGS|;jw*!A-{3o?_qXw9^j{SZw{ij zX$C5%aW&;V0k_>LstYu@mtVqBZx$m~o2)5wF`%}P+6%h8-xtkD>tA5ttv0b$MAUri z>Fuhcl>V~AVKxi_0Q4L6M)`=q79{tS2!%&a#CW;vWTx9?H|7g41*HKKbk~A#C}vt5!gAI4~Vk%IZQC;Lv5ah6(BHoRrkOZk7I6{lxGG|(9Sfn&~OshM2)8E z`_1eP0#=X!Z>?D;#rOEmahg`uXt$75RH2JaO3b@68i*20@N>~$aU)i1G5dTiyX`v2 z49_-f3B$iilN!UMvfOO-dy^UOhqX;pk;;@cV8e~`hP||@x13d-Q%c}30NY}?BcaN4 z350>`cjwU!#ml#tAv$35-=Lo^7$@Swr9*i1Sl{6kE42W=&O~(sp!6JeSd~ok=K&6e zlUT^z|Hs<2SKf!D3AZsqyOtCHG1k8`li+d4vrvc^ZobQ8M~eePv}f&w>|fLr%3f$z zv;XF|2HCf7VWfgrRJ;wS^)nW!esta(ZvPw<%Ga}Omx@=c`Xv4uw|LitfMvx#9{1~K z6e8^wS~cJKxN=3ZLfn+1SEi9N(J%*M2C42XREe}y9P&#Joj9xjqpCw>iUGc3OYj}+ zw_W&(EE4G>r{MSDcgP62SG@n}vpP(Fcz4}!NJLtq;Zc65{Ok!KOz2(QuzmuH#IYGP z9Uxl1By|M{cU5dE2JJB3LzDd(BxVgk1?XgQAYPtfxe418-@tKw+89g+7$3SvIUNlA z5AYW?Ho8q1x_xxlR0FXTNwjlowL=$LGx>}mrQ<^oy+AKvi1A1k0Vb!dSmMs4 zkOw7eSDSBz4#;mGXI8fj-`JZz;-|@3w>l3?rK{}H?<#Tcd3&kEf+qVttmmd2yhv&a z2`4*t@$U}VEMBP=Z-1CFd9cQ5*Dq@&X3LNpEvbWIA}@8i z*33VQJd$9%F)~tC*GC@z3}b1tuSogg%JO)nwF|+adOv{aqoSma?XUNVjVFuH0>7E{ zqVIJR^A?!of84j;OjkxD}kX~7AW~mr`&uFlGZxA zQxPy(wKfPG)&|_#C~_#F65v_&Pmr^31ErDTdpx5$mjN>K(U&XUO#{Qum#+=r5$+J- zArEw*d&AiedY!Z|-79OKR5>y15d*;1xuT&6>-*i4;%ln2v1=s19rou$BldkW_z`lX zb(Ht^oND|OIhOd6Sz>+i`*%4V!mF{GeHuDpuC>;pljz#Kj38Y>QYivn{=Wq%g3o`g zb=PPU@q+J3{CbCc?%4yXjbGFsKyEg1opCr0U*4g0((Q+xI}-;$9^r$iAiHW zi5(CDWL}Z^hROE|!R-hzv(>lZ^u3NSWe#73L^x`Y{=>OKd4)Fsbl(Eqrxy;5OlpX5 zjkYseiM%S*hcF%dc^yiL1*gYY>17J~vP+kwR$#YHA5>E&qZliU02iPyHd<$Kqt<%Z zb;a`R#0dX5@r2PeI#tt3eDaQPmuG{=H?M9z8EolqH4!l{z@UFvQ|V^1P7JKjIzSumM^7Lgj`8|}dMkc^Ya6uVx4#$4KT zO6a3Dyow_$As5Vh(#ssX_7Kt2`@!4bWX72DPMmLnSphUmtpMU0Nq`gY4Rw6n9-k8w zJ6U+f0~Yz8?@QE5>pYLFDZ%W}xbis?rQIP8BCSMgE*(KX@oq9%U=?U2S09?39@9vI z{Q2YTroN(GPk7U;yf&tQDg}f;vFinn)Mj%^zW|;QPmpjfme}PWqZ}Z0w57+Y*WJ4w z`$sbdDLC6Rda2?jjrttrH+WPqPToH==jmGX@-DH~i|PzSDvI!9mAzD@!_;yjSPp?! z+1ymb6t31b>>4>pAMBreZXKO5Q=)EZ?BS?D9oQ~lKdhVy86^SRK$t;B=0Lg3cT^SO zk;5^EO9)z}6^=i@?r``tS8~*dEln}^xi8R|P3DK?P$KBHx#!I!3NbUQB-!=9)&a%s zN5BxufPXKy(9-Rpk>HR7_r>ClR}*gZ(z)~UK73Wk-XFg}yV>t-T=fZ^l1tB3&EmD> zm8z5?g@+!&O=UR=4TjmsDF4_O@?EAkh?kodsw`eI{_Y{D0Fx@&3{=zr6kt(-Y-%FZM660MMAf+_+2`UG?szL;7q|j z?a#lUr_>6oS!k&ydN_smhqM$IjyNJP8?m332I?cza?bsjeW|WT5H~uXCOnkUTxFx} z#tzRvKTIo|+XnIm#e$Z&3to!5A!Z}8$ijj8FN@{lOh&J)u^IB&hX+eAu{=foDwGZ2 z1L~c&*QUS9;jz?l(6B$##5L7U&Y585;X!BY6zVhMmTIK%**~l#3jlw8mP(Xj7+6HR z5`>Wc4ge58qwC#Ol1b%a2_~iQG132!mIuHeUuJ@ly{vvq(RxjLDlR^K4 zf!L2fj^lV`y4VUg=EvcIEGMD(IxYH~e9nBLjxPD}(QWW`74AQ0ryV^uHf9xZgM}IV&;{NCV#Q8tLFlX|HOs=W@)K6w< z6d*^;Za}S`!rZuHW8qJ$G42X98bG7*^*+x8|3lYM8bAl|%~cjS94&D>p5!7FwD?IO z9vzukH=E*F1FlfbGXqyvP z4tp&wlWcIk`*TOYDtYm}FYM!cGy2ebS_#z05X2A@K@QJ3RAg|)~RDeShvU5S*BeLf%iqj zDN41rx@8#kSPTCW)YD{&WERS0ceiGg@`+MJ#jh`d1B(M#E$HU~p#r02H9}?90;iAn zW_mts5jJzzu>B>JzYn}Bme*s_a55P%*V2%N1?#pLJY|GgT@KD>GLs*fuZ26cxp;Y0 zt=1Lr$8n-zY~cgGyTp@olR~l@j0(UO10~vK@_;naYRC?q#lZZ4R4RXy8QhlnA8BX< z7`Dd@18M6UG!ql*WPlPNMat8bxB+Wv(RIhaayaq5*6AziZH{seFW^lRQ^Upd4ZqP;@PsBq7l9G|8 zqt>+(r+7x!6BW82}k_#*k0i)xswDKTE;K!=bYoO>!_T_v9 ze{=V@J_0BpGw6q%Ns5ip9Fh(pcW@dM58@vaiV`Lx1Ca>2qXDE(ed=~jGXPu9$S!VR ztbyDGj56s*_WBH*Zxh1}J$Hcr)?AfJ4|vKy?Vt z>tE%RK!&1N-?V4gUOHm^v%xC7fKi#0PuE|lQUy&S`uK~%wzvLttWX~jj+n%wOEN$G z{8*#T1UoSW`>#Z~@MZc{FC^#6x(XfE13jnTtrmkV(i9h_lq!U-LtRQ~LpjtQj__L? z3hv?7;s2=45ZWdZTh!~6%q0LCmXROHpJs`PNKhrSF&fDfuKN?~ILTNG?DQ#dOehIB%ncUa zoCdd;h?=FZH=r#I$fx?>=ZWOafV;j1Y;^u3zc4fz4Qrm21|=H7X#>;8&r4zC0(9>5 z81SLZUBEh>#qtTStSWUy6U`@=_|VG##78-Jevcb8HI=WuImHSeT_v!Vmun?8vfpmLQF(9+9-Op4y+CO7 zxJ0z;bF$Nq6k2WV*U)lYADQ%l#}$O`77wFsCnxpp4U>xhZPn@tQT0OR)60hmOCW_> zi>P!D$E5fs^{HoJXHBf75($_Ai=tL!ceOrD^cqQh8_jvB;5Y=of0oBQ0vRZUK4_uV6*z!TNGFwf6L1Fke0Ufc#JrJfv2jc;h%%$3w z`kS<2ih12@k;ZT0NKIZ*%Em)EU>3orouXYddmZxI>Ty%G%dgKCsodQBW*Q@236JtX zA}s}JzBQ{3luF=HfoH5m0@5osyefKS26LJa$q=JA4HB#ZLmB)1-QeYR_B^v*4NOaK z=}DV7vfH!M`M{+5?W_;1P#UN~Kkm;-PL^pYwRyS>%LN3sY>JpR_ax&ieQdOgW!xMt zkX>&68dUg_(f}Kpq*q*jQN5x!d6U6@YaYQHhnG;H{7)E~SQHUzjw zI^l~@R6xtwuyG6u#Ij2b$OudihPhsY6Z8l$a{jlH6HzxX2;2dkGfvwlKD$%e2-2lM z`(8aV^%kP7Zr{OdDXsBc9l1lV>64(ir!X`QX_ajkwDqkAm22fa_Clma*BtEkh|074 z3QuDs_v6LBIhLID-WdJ9xetU`CgzB$B~fcLrTNZ>zmhYMh^V13ZW4tT#KNl}bNbKo zrJ5M1unIDtM>*x49^a7sxFp~-2<2X0vAr-~kN!!HFrWJ39F+hrMTH^&4Fhj3?_~r) zi+-W{5Ihmcv;0rX57_1LQa!_$&GFbDqv={{LOwK5jTqeZPprxE*`EdWH7InCz6|P= zMBIGen0-6S>g&8nPq^3sU3_gV28mEpDv(1e9MA51t-(zV95)n9vO;zg0UYY5n>eyp zn&+(uh}qd@W9Uy5K!fVRvP7*I<-7B4U~AEbH+Gpg(w(Njna?xkW}+bA$r^0`s@LQ* zgvJ@kvZ^w*qb+0V9pi@Y^9(KqB zTQtQj{4lH#GV1xZNfd&#-sp85#UX3;JWf3#1Z>M%+KJbe(xA^r5Y~;089pPup%4ra zU2PAGXC`XLtjw4>4}w-uvezJm$8qX%47>+gb@6O=dS&h23!h4M znGry-oq_QMtmXPbSY@-&Cg~TV!BR>~T&aDG9i9-ZebcL+BYo5SZ#PvHw%hVJ8Bohq zP-Yl$Pb(TYDVRsAwQ#@~R}B^nVs9r5=E&eD;g&A1Ng^6?apcm zLjHiY9B%=^~ zE{eqQFcl7x0E`MvDjfkGs-gqU@Vrr_Bj6=EormM}?$W~Fd!y=npx6j7f}lIP9$4r@ zpZ5|!Jw_AkEY}uOQA>9%V;Cy`kd{F>YP4IG_~y7-rT3s%6YsBrAiFn1kl}mxrrvWz z>^tLaR>b@3)^S3}%g9jn_Y2MSla2;{%U9+A4C@qt`OqI3YV)yyR6djY=uIcGI-Pqn z6un%tEI{L%sJ<7}Y*nRu{jv6yKBY9qMlHa19?1INhQ6INff&A))UJjLusW;wx;Inp zaHuUK8}>(C7)vy=nPDGE1an6x@;BT9+V$p!xoX$x`QTl>_Bvv2pw(ogJ_t-kldYCL ziXU{$OLcw&!U2fpY(!|OCrQ0rGS_>p_r_(0o)Q?s^Vp^XF_4gN64oVx^>XbEUt3D>-D>Uost$fR-nps8n*| z_j)zGCpaqolhdRkQY<_zwYvLv=$iz&H#tE-d3&Rf>-tqTmD`hjs#w7eK@7;}=+uk6 zz>u`8`Nw*TAi&h~Rm-*e@d~jqs?eaeNV1V|&QZs!x1{#a<5F02bQ)3C2V&I5d4!08 zFz|d)$NWu~&j`o?K82m`yXH=k<7U2GD5E5J@j}1AIiYJ%HMe!syYYL^07Nr-b?dTc z3RAM27xqpLx`Cp~`^?xI>$%eQ=GpzJnIuHm*R-f$maOu zD1{=28a*S1w*J}1(5O>)NIV^=?@7G>A;RFO?eEmL zZ>^V+#bStuug=w60u@MB#IN5WRG;5E1tXE@sd4S%B5;2e4k%G_c-T=Aiy_py0|b z#Vs3ot&ts?UttWME|{e{f(1lE5KVH`(x*hhk3z>2%znlPUia#;Z?34IFeao8szI{5 zL#uv9z)cfgrlt-)ScPl0EqEwQ@ZHZ2-XH2E{;mKcD50d040M#_0i*FmH-+Ts$?nA8 z!xJvnBmHc4?%GRYSmp|YN~U|he`iPyXa$#68AepSO!&-smk@_oeoh)DVjwa$8!3iD z`@mg3y@6`$Zs!O&$}&@C+PT9P!EcumVLraI36o}`L!HTbxmD|SSLr{F=VwHw(M(@t z81;vT>UjSw02JS_Hk$esHM{y79EbzKk6n$v%`fzZmW((ZVh>1yW zr(*%FVhVYS_wBC}*sZE3kOG(cUcx(nQ%AaOKMWV6W5Y9Ga;M(9vI}do+IqD>XEkYQ zF8E;f`g;~^b%#_$ash$eh|trGz!>qb&#b?@DQqg%N@jhr z$i+At3nNJAh3QI4xG21J1gspDwqU znBUz$5CAM(@j+Gp3I?=;B(^b5CtR023r8NJcYm8f3_am@{6pcfu)XfvTHGikqVS0E z-`?~9U3x*b;%h}cd;JzyriKWGW_OGDpDEvcwuKsGxLP4JoDp-omOm(Ck2Qk`wjuZI zx3fh;4hHL=qyhvS_C{6&`xMe89(2{BtW+@Gu2V_0k(lB$1DwDWUXZ0p|Kc1=e4_|O ztJgVVi(ghWC|o&r`#}_*h&qZcs`b?}yBmDIxJLk|C|t%K92^Z)F$NwPvl@N80N;;9 zx&n4+#Ox2D16N}XkGn{xz%2__;pzA+W<3Wp3aAzgAQ<}@bBz&wR>Snl9UjsB0Dm+k zvqj?iNVn1IjbWb2fcq+3c?uX%R>64<>t-TaP-gT4=_u&)>-Rgs2udAZZYE??Z!zHM z0$z4J#SHm;&Of|iBI7W0?=V`_F#1sZ!JOTm%rU8gsL+Q(0c4lX1zk#gDSXXyAII*4 zVsl{R_Yg>z#ZWK=rW#bLF^z+O?gJdkk@6l-AcN{vxh;$z|g z4#E532EA{szvm>{EwP!BgSN{@s*N!0)+1k7=EqW#qdMjoOV+R0#!5X>t_@l{!&>EE@aD}ybqKm9Ymq15J z9=A1+_+>KGwZfdEU_?Z6{R*hV(r8iJzs++~E-%kYR)T#uD|_&k%Sb=LD+#)#HK*s? zb20X|?c+|E9%vU1>vrp}uD1CEae7eXinTG9{IU(MG&8;WUX1wFbIvC@>GkQ&?a$6x=Y&D&u+9s0M4)%5+Ca_pdJyGCsFy5yE;1$d~zyKHqBnM&54TA6>*< zqaMiA9Pjq-idwV#95VQ?gxlGDxMz6PES4a3H_bSMVMl^e#josLLl#1KcdZp4w`q5{RD;o=km zUhO3rxn$(7FFbS9M586W>_QDxxXM@O-xh*EAHe`7z;C5Z6fy|(YJOl-j5LkDf>mhD zD>B4=4lgh0;w1ON=6*5M*~NOB4DYe^u2AOU0r=xRoR~?MuIKmz#SY#Xf)&O*WWREr z+XQiIG`su&7<~ELFtzPF+)v3Zxy=2sx5wy^;{GzsIwoC|g%9;&{oZ?2PM$E=xC+E; z_xaUI1?SvY-xkJj(=TgZ8C@o>;5A>-f9g|sKxh~)M*U>|m{~Gogovna^Lzikl;*ns zZXxKc^`nc@7`35P9KnjDBX5%nN`J*;pZy{`Fe;D68t`H0i{Y(;5SjEB${(Nd!QZUS z34h}Op2zxJg3EnI5ub&Iy?FD<4nr~O#d)m4Icf))vaY=uByS!Sd--itXP(U>Yo!87 z85+&9nhlT$qNAF9>6k#k^@umMy{Jp6^;R=fQsYvjsW34I^Woy_+en7M#I2X-mV-dx zJ*>mzM3_XtoW*hd3H+DBp|c_5BR#%Y68d71nJWsVd|Na9)ob40f)3XV!N??CY@|AP zCX--^lGP@JcbmxGW6Y^*6aZ7ljA5?-9ZP$rG_*T^BlCN7VDa~OhtK*tes^m+`OX&3 zxHJb-VZ)06R%Qmw?k2}iQ_emG^6sf>Sb=K$cS2`QD2kzKt?4|-HtWCQg|>YTxgK59 z!x`1DSo|VJVO|O7E~<(0J2$E1CUVEbvNu1EKfM1l3$Ro{?4cJ6_Pso&$aj|IRJG*5 z`&NT@^JfBVme;# z3w@HH=z-jGI~s`ekl$Ql-*f&FPH_h=vI0*6d-#p+pA*-Mcp>U<=? zefgN1C)vb;PGk7aIsGb>MX;v93n23*TxOX!LG@#pC@p%e!l_k;N$1fhz{nUv*~h9E zv9TnQDe_r~S;VjkCZg-`1Hd?82v05dg5c92dhhKTlF#S)3>YjjpvpUW=rKzzBL#wa znjh_1k2u$B3j5U2k{; zJ8Qxd?9J!&OD0Y7YtCmVK*Q3}7D{56vn`_wG-78rzxZR0ZW1;THnf0~bH@zlxHYITfTZW!IcdE&}^Cs6kM`YzyzV~p;dF2+bo);r8g{bOVP!azgFh*I{1ku`BSb?w~!x!7F{gJ_#j9+w79+GRp$+ zH%sHp-?%^!0Pe2C`A{Fv=Z(VyF?;8+O0nLPnH`jR|kj->=(PIr4;c+g%<-Dz3KtEhmR z<@a#if?~VJlW?DFrItXm6OmBtVeq-6n{?CUO37@DCn4XcC-OpXK&vJq+sNkl%N)886Kb z;{h$vJ8otBxq;ZW8S>5t(Q^L?8*2qQTw)cW?oNZe2_I@|J*;RQkKB z#8_H`R3{cR+Z}3WG{JFw!ix13`N{Bxo>VgbJN(N%i^^~ZPRd-;fZ_ZGqq(!qYO8x! z*tYvQD#Yv`pZn2co}nOcW7g+k{v*?KVG|J=zXDW!U#M-qJ^vjLM5SC*2@FMT`*BA3 zhH)WB7>D+o?m?cPI0&gC1_rgsQrSiLQyYwyKW+%8ePHB|mxHZ}XLILNU08ZtRu3%F zVEARg+3quS@2?KHJ#VVa;86O_vG{|aB4hF8{r43}lo5~aZmJu#0fQ;QMx|&ogcwrF z{ZbA9raZCpg-N0)bL+s_^e&dxAQvQHB=xQ1Se-cZSG1B03NHGFH=)LF9Mj$j!nu$H zAPrm_EMG9EHrh4bzsfTKuwry)q}jM4wV_BR=3g0yAILat4{HF%F#CU4RPUPvvg}HA z&*1G8Age^~rytYif{sLMREFV{KLf#E1MKt#gVF@(Kg}$3EVDz8KC=##6CZTGLXcSG zW@>2@SDtp$@a}60<5xI<+vqIsuQb8|qe{v*EMplFirSR6+5&E7+4{cT38;oilm~%+ zb8ybrnKB1-SAQyaI&%sm6i9B0v3Kr4;P-oY@mT5?QjU5=V4Lv@Xa@>X8O$IziBzk4 zJ{6u|(q)_@JJzCWsL@*KYWGCp$-^-{ujs_2Y z1MaRE9JYD@w;|4oG3(t-2qqhtlI0#6w=O$Fkd&HTZ4Nu`fvW_UYfpz)*Y!1962))s zMS5eirfDWBwdu>6oaLP^fLRh+EQ-%pt4e)2i^KwJs|i6xv!V?mA*?owoW~@s9uyL} z_DS?oU)~jA2t}zc$1y-1>(c;=q3a#`QlV%+hs(J|^7rZEZ!tx2VnXh(b(oHKqV=FL z7qR;@m!m56Vh$=_L6sgI(}7B>eN`_+c7r1c^srN8Pkiot`Vb#TdoLUT)+h_jCSNR; z*qefLrwfys6aLc+6)*zkeSb3BeM;xXN}GfDw5&oF9VUL{6K9K-i>NIp7s)z9+mlLI z0+ntaxPrxcMCjtw$gUnBJQNv-B|Li`dZg0pilF~ly2^9<;{9JsbKuI^xAFSzVJVvq zqAl4rcx7{70e9Gr5vo7u`xp(U-BMS%{iNQY)0%Q-1SHNtITC{V-%9+y*t@^l_4V_g zFA%W2%XRMVL#|AZ>{qLl2kzy(=5cDi10Cj+{+G$Wd8g4dwD*xI+O%|cqG(XBwYkGp z;Yd3)oal$e>VDe|9!Bxl|Hs~2M`hVTlS1C74Gj;3}e@q7ok7JohZc33Bo5=J~6VDNpct|b#Xte zp1BFhfSNXV2ub&vHc&nSqM{}jK&vB-e}t*#PG_2^vSV#s*avDC*FX=T$C<1mgP$x! zct0wO%ie^94;&~M^;xbVO}Y$RLsN0Dt2o}X0G&_yOBu0qIf@($U+Q*U<%Y*Vhz_7?p0* z^&}QAAx$hC1R-3vI3MGA`Hs2n0~YAA=R}K`->D`hJQ!Dh8id^yy=iMUoou<&gGC{B zZ=%+MdBnp}E(Ep*VQ2tKvOyh~i>urwz1`j}7jn)CG*$j{9Muh|Cgs7?-AMVqJbjGM z8A6ValIh)T^xBh87k)hZ!1}G#xoFL2Vm=v>L~a$3cJcJ9fV6Yg(t&}X<(Mf7SfDLC zaC(iL`-!o)CF;JPIs$QOD*~1r_w1a{aO^E;TgZJ>JX+iWKO6{X9p)@DA#Q;Z`W;4; z5P399nKS)N=3)2Wr9nUG5`h$0JC7dHqLC+!a@u}ksy`q7?0BU2o++NE;68?#CSIzO zn(o<`+q5M_^e~>1x2>7?f`@+`75bLySnUa~Jh7x2dcGc5i(x8Sh8p(ak+jmw^~ba- zi|-M~wkzhM_oWkQryuL1n#S|E%O!b>^;?a~e>=eJA{afxnQ+zQ#qVgb8cd{{?B%pL zYsJ6OYtZ>7$6iE#mJ#6ZS9C}STc`#|QSmA6M_O&;?_ z@2}|DXv+(1teAfl9XRG+J39YsM?1WYs1SkpLlpK^p4p&>SmethMVafc^}{{-r$(kpMwN(MVaru2EVhH$8?EsXBnEs`mW|kzIH5S zMJZ7sw;UK6@I91-ivNAox6IKG9WBnis~_v`$?B3vl{FR34`}KMV8B#mdsK#H>vi{zKq2?xNi}&_ z|HnqO{coxS>jaFqBO6{=&{zlTpFnuuDOa#2^0@?YIYM9il!3E;6G7=$d=Rcz*BrU3 z{u%=Ck5vQ+0+DPsDYJN~t8>z=UMSS11~=NNfFw|zc z8!GG-*TqaLvi-XXsvY-;5&~L9%PE~PCC(DSRF}l(7x{YfPU9B01AanQHaq5Kv-8a+ zor0!!=;iA9c9dWB>P)#v>qeWL?$W66X5m$IPkG{ME?XFw!q6Z&CkF$5B_qcjw}U1R z3AGxnLppv@`89>s^_R zIABm*nYCakQzvQSk7mFKE1qGGN%#mb)u(u$dU`)H^yxJqd7Lbs$Scws$BES7~esVKFVNYXoqA!8)XVEq8=TmdL>3J{{JM{yj z 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 literal 0 HcmV?d00001 diff --git a/examples/freertos/xscope_fileio/src/FreeRTOSConfig.h b/examples/freertos/xscope_fileio/src/FreeRTOSConfig.h new file mode 100644 index 000000000..0280c0320 --- /dev/null +++ b/examples/freertos/xscope_fileio/src/FreeRTOSConfig.h @@ -0,0 +1,123 @@ +#ifndef FREERTOS_CONFIG_H +#define FREERTOS_CONFIG_H + +/* Here is a good place to include header files that are required across +your application. */ +#include "platform.h" + +#define configUSE_PREEMPTION 1 +#define configUSE_PORT_OPTIMISED_TASK_SELECTION 0 +#define configUSE_TICKLESS_IDLE 0 +#define configCPU_CLOCK_HZ 100000000 + +#define configNUM_CORES 5 +#define configTICK_RATE_HZ 1000 +#define configMAX_PRIORITIES 32 +#define configRUN_MULTIPLE_PRIORITIES 1 +#define configUSE_TASK_PREEMPTION_DISABLE 1 +#define configUSE_CORE_AFFINITY 1 +#define configMINIMAL_STACK_SIZE ( configSTACK_DEPTH_TYPE ) 256 +#define configMAX_TASK_NAME_LEN 32 +#define configUSE_16_BIT_TICKS 0 +#define configIDLE_SHOULD_YIELD 1 +#define configUSE_TASK_NOTIFICATIONS 1 +#define configTASK_NOTIFICATION_ARRAY_ENTRIES 1 +#define configUSE_MUTEXES 1 +#define configUSE_RECURSIVE_MUTEXES 1 +#define configUSE_COUNTING_SEMAPHORES 1 +#define configQUEUE_REGISTRY_SIZE 10 +#define configUSE_QUEUE_SETS 0 +#define configUSE_TIME_SLICING 0 +#define configUSE_NEWLIB_REENTRANT 0 +#define configENABLE_BACKWARD_COMPATIBILITY 0 +#define configNUM_THREAD_LOCAL_STORAGE_POINTERS 0 +#define configSTACK_DEPTH_TYPE uint32_t +#define configMESSAGE_BUFFER_LENGTH_TYPE size_t + +/* Memory allocation related definitions. */ +#define configSUPPORT_STATIC_ALLOCATION 0 +#define configSUPPORT_DYNAMIC_ALLOCATION 1 +#if ON_TILE(0) +#define configTOTAL_HEAP_SIZE 128*1024 +#endif +#if ON_TILE(1) +#define configTOTAL_HEAP_SIZE 128*1024 +#endif +#define configAPPLICATION_ALLOCATED_HEAP 0 + +/* Hook function related definitions. */ +#define configUSE_IDLE_HOOK 0 +#define configUSE_MINIMAL_IDLE_HOOK 1 +#define configUSE_TICK_HOOK 0 +#define configCHECK_FOR_STACK_OVERFLOW 0 +#define configUSE_MALLOC_FAILED_HOOK 1 +#define configUSE_DAEMON_TASK_STARTUP_HOOK 0 +#define configUSE_CORE_INIT_HOOK 0 + +/* Run time and task stats gathering related definitions. */ +#define configGENERATE_RUN_TIME_STATS 0 +#if ENABLE_RTOS_XSCOPE_TRACE +#define configUSE_TRACE_FACILITY 1 +#else +#define configUSE_TRACE_FACILITY 0 +#endif +#define configUSE_STATS_FORMATTING_FUNCTIONS 2 /* Setting to 2 does not include in tasks.c */ + +/* Co-routine related definitions. */ +#define configUSE_CO_ROUTINES 0 +#define configMAX_CO_ROUTINE_PRIORITIES 1 + +/* Software timer related definitions. */ +#define configUSE_TIMERS 1 +#define configTIMER_TASK_PRIORITY ( configMAX_PRIORITIES - 1 ) +#define configTIMER_QUEUE_LENGTH 10 +#define configTIMER_TASK_STACK_DEPTH ( configMINIMAL_STACK_SIZE << 2 ) + +/* Define to trap errors during development. */ +#define configASSERT(x) xassert(x) + +/* Define to enable debug_printf() */ +#define configENABLE_DEBUG_PRINTF 1 + +/* Define to map sprintf and snprintf to the + * lite versions in lib_rtos_support */ + #include +#define configUSE_DEBUG_SPRINTF 1 + +/* Define to enable debug prints from tasks.c */ +#if ON_TILE(0) +#define configTASKS_DEBUG 0 +#endif +#if ON_TILE(1) +#define configTASKS_DEBUG 0 +#endif + +/* FreeRTOS MPU specific definitions. */ +#define configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS 0 + +/* Optional functions - most linkers will remove unused functions anyway. */ +#define INCLUDE_vTaskPrioritySet 1 +#define INCLUDE_uxTaskPriorityGet 1 +#define INCLUDE_vTaskDelete 1 +#define INCLUDE_vTaskSuspend 1 +#define INCLUDE_xResumeFromISR 1 +#define INCLUDE_vTaskDelayUntil 1 +#define INCLUDE_vTaskDelay 1 +#define INCLUDE_xTaskGetSchedulerState 1 +#define INCLUDE_xTaskGetCurrentTaskHandle 1 +#define INCLUDE_uxTaskGetStackHighWaterMark 1 +#define INCLUDE_xTaskGetIdleTaskHandle 1 +#define INCLUDE_eTaskGetState 1 +#define INCLUDE_xEventGroupSetBitFromISR 1 +#define INCLUDE_xTimerPendFunctionCall 1 +#define INCLUDE_xTaskAbortDelay 1 +#define INCLUDE_xTaskGetHandle 1 +#define INCLUDE_xTaskResumeFromISR 1 +#define INCLUDE_xQueueGetMutexHolder 1 + +/* A header file that defines trace macro can be included here. */ +#if ENABLE_RTOS_XSCOPE_TRACE +#include "xcore_trace.h" +#endif + +#endif /* FREERTOS_CONFIG_H */ diff --git a/examples/freertos/xscope_fileio/src/app_conf.h b/examples/freertos/xscope_fileio/src/app_conf.h new file mode 100644 index 000000000..b66f620bb --- /dev/null +++ b/examples/freertos/xscope_fileio/src/app_conf.h @@ -0,0 +1,28 @@ +// Copyright (c) 2022 XMOS LIMITED. This Software is subject to the terms of the +// XMOS Public License: Version 1 + +#ifndef APP_CONF_H_ +#define APP_CONF_H_ + +/* Intertile port settings */ +#define appconfEXAMPLE_DATA_PORT 16 + +/* Application tile specifiers */ +#include "platform/driver_instances.h" + +/* App configuration */ +#define appconfINPUT_FILENAME "in.wav" +#define appconfOUTPUT_FILENAME "out.wav" +#define appconfMAX_CHANNELS 1 +#define appconfFRAME_ADVANCE 240 +#define appconfFRAME_ELEMENT_SIZE sizeof(int32_t) +#define appconfDATA_FRAME_SIZE_BYTES (appconfFRAME_ADVANCE * appconfFRAME_ELEMENT_SIZE) + +#define appconfAPP_NOTIFY_FILEIO_DONE 0 + +/* Task Priorities */ +#define appconfSTARTUP_TASK_PRIORITY (configMAX_PRIORITIES - 2) +#define appconfXSCOPE_IO_TASK_PRIORITY (configMAX_PRIORITIES - 3) +#define appconfDATA_PIPELINE_TASK_PRIORITY (configMAX_PRIORITIES - 1) + +#endif /* APP_CONF_H_ */ diff --git a/examples/freertos/xscope_fileio/src/config.xscope b/examples/freertos/xscope_fileio/src/config.xscope new file mode 100644 index 000000000..71b449388 --- /dev/null +++ b/examples/freertos/xscope_fileio/src/config.xscope @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/freertos/xscope_fileio/src/data_pipeline/api/data_pipeline.h b/examples/freertos/xscope_fileio/src/data_pipeline/api/data_pipeline.h new file mode 100644 index 000000000..c80bc982f --- /dev/null +++ b/examples/freertos/xscope_fileio/src/data_pipeline/api/data_pipeline.h @@ -0,0 +1,31 @@ +// Copyright (c) 2022 XMOS LIMITED. This Software is subject to the terms of the +// XMOS Public License: Version 1 + +#ifndef DATA_PIPELINE_H_ +#define DATA_PIPELINE_H_ + +#include +#include "app_conf.h" + +#define DATA_PIPELINE_DONT_FREE_FRAME 0 +#define DATA_PIPELINE_FREE_FRAME 1 + +typedef struct { + int32_t data[appconfFRAME_ADVANCE]; +} frame_data_t; + +void data_pipeline_init( + void *input_app_data, + void *output_app_data); + +void data_pipeline_input( + void *input_app_data, + int8_t **input_data_frame, + size_t frame_count); + +int data_pipeline_output( + void *output_app_data, + int8_t **output_data_frame, + size_t frame_count); + +#endif /* DATA_PIPELINE_H_ */ diff --git a/examples/freertos/xscope_fileio/src/data_pipeline/src/data_pipeline_tile0.c b/examples/freertos/xscope_fileio/src/data_pipeline/src/data_pipeline_tile0.c new file mode 100644 index 000000000..c50627e7c --- /dev/null +++ b/examples/freertos/xscope_fileio/src/data_pipeline/src/data_pipeline_tile0.c @@ -0,0 +1,83 @@ +// Copyright (c) 2022 XMOS LIMITED. This Software is subject to the terms of the +// XMOS Public License: Version 1 + +/* STD headers */ +#include +#include +#include + +/* FreeRTOS headers */ +#include "FreeRTOS.h" +#include "task.h" +#include "queue.h" + +/* Library headers */ +#include "generic_pipeline.h" + +/* App headers */ +#include "app_conf.h" +#include "data_pipeline.h" + +#if ON_TILE(0) + +static void *data_pipeline_input_i(void *input_app_data) +{ + frame_data_t *frame_data; + + frame_data = pvPortMalloc(sizeof(frame_data_t)); + memset(frame_data, 0x00, sizeof(frame_data_t)); + + size_t bytes_received = 0; + bytes_received = rtos_intertile_rx_len( + intertile_ctx, + appconfEXAMPLE_DATA_PORT, + portMAX_DELAY); + + xassert(bytes_received == sizeof(frame_data_t)); + + rtos_intertile_rx_data( + intertile_ctx, + frame_data, + bytes_received); + + return frame_data; +} + +static int data_pipeline_output_i(frame_data_t *frame_data, + void *output_app_data) +{ + return data_pipeline_output(output_app_data, + (int8_t **)frame_data->data, + appconfDATA_FRAME_SIZE_BYTES); +} + +static void stage_3(frame_data_t *frame_data) +{ + /* Do nothing */ +} + +void data_pipeline_init( + void *input_app_data, + void *output_app_data) +{ + const int stage_count = 1; + + const pipeline_stage_t stages[] = { + (pipeline_stage_t) stage_3, + }; + + const configSTACK_DEPTH_TYPE stage_stack_sizes[] = { + configMINIMAL_STACK_SIZE + RTOS_THREAD_STACK_SIZE(stage_3) + RTOS_THREAD_STACK_SIZE(data_pipeline_input_i) + RTOS_THREAD_STACK_SIZE(data_pipeline_output_i), + }; + + generic_pipeline_init((pipeline_input_t)data_pipeline_input_i, + (pipeline_output_t)data_pipeline_output_i, + input_app_data, + output_app_data, + stages, + (const size_t*) stage_stack_sizes, + appconfDATA_PIPELINE_TASK_PRIORITY, + stage_count); +} + +#endif /* ON_TILE(0)*/ diff --git a/examples/freertos/xscope_fileio/src/data_pipeline/src/data_pipeline_tile1.c b/examples/freertos/xscope_fileio/src/data_pipeline/src/data_pipeline_tile1.c new file mode 100644 index 000000000..cc67ebfa0 --- /dev/null +++ b/examples/freertos/xscope_fileio/src/data_pipeline/src/data_pipeline_tile1.c @@ -0,0 +1,114 @@ +// Copyright (c) 2022 XMOS LIMITED. This Software is subject to the terms of the +// XMOS Public License: Version 1 + +/* STD headers */ +#include +#include +#include + +/* FreeRTOS headers */ +#include "FreeRTOS.h" +#include "task.h" +#include "queue.h" + +/* Library headers */ +#include "generic_pipeline.h" + +/* App headers */ +#include "app_conf.h" +#include "data_pipeline.h" + +#if ON_TILE(1) + +static void *data_pipeline_input_i(void *input_app_data) +{ + frame_data_t *frame_data; + + frame_data = pvPortMalloc(sizeof(frame_data_t)); + memset(frame_data, 0x00, sizeof(frame_data_t)); + + data_pipeline_input(input_app_data, + (int8_t **)frame_data->data, + appconfDATA_FRAME_SIZE_BYTES); + + return frame_data; +} + +static int data_pipeline_output_i(frame_data_t *frame_data, + void *output_app_data) +{ + rtos_intertile_tx(intertile_ctx, + appconfEXAMPLE_DATA_PORT, + frame_data, + sizeof(frame_data_t)); + return DATA_PIPELINE_FREE_FRAME; +} + +static void stage_preemption_disabled(frame_data_t *frame_data) +{ + uint32_t time_start, time_end; + + // Disable preemption around the performance critical code section that follows + uint32_t mask = rtos_interrupt_mask_all(); + { + time_start = get_reference_time(); + /* Apply a fixed gain to all samples */ + for (int i=0; idata[i] *= 2; + } + time_end = get_reference_time(); + } + rtos_interrupt_mask_set(mask); // Enable preemption + + rtos_printf("stage_preemption_disabled: %d (microseconds) \n", (time_end - time_start) / 100); +} + +static void stage_preemption_enabled(frame_data_t *frame_data) +{ + uint32_t time_start, time_end; + + // Preemption is not disabled around the code section that follows + // Instead, the code periodically yields to the RTOS kernel to + // emulate a task context switch. + + time_start = get_reference_time(); + /* Apply a fixed gain to all samples */ + for (int i=0; idata[i] *= 2; + if (i % 100 == 0) { + // Yield to the RTOS kernel here + taskYIELD(); + } + } + time_end = get_reference_time(); + + rtos_printf("stage_preemption_enabled: %d (microseconds) \n", (time_end - time_start) / 100); +} + +void data_pipeline_init( + void *input_app_data, + void *output_app_data) +{ + const int stage_count = 2; + + const pipeline_stage_t stages[] = { + (pipeline_stage_t)stage_preemption_disabled, + (pipeline_stage_t)stage_preemption_enabled, + }; + + const configSTACK_DEPTH_TYPE stage_stack_sizes[] = { + configMINIMAL_STACK_SIZE + RTOS_THREAD_STACK_SIZE(stage_preemption_disabled) + RTOS_THREAD_STACK_SIZE(data_pipeline_input_i), + configMINIMAL_STACK_SIZE + RTOS_THREAD_STACK_SIZE(stage_preemption_enabled) + RTOS_THREAD_STACK_SIZE(data_pipeline_output_i), + }; + + generic_pipeline_init((pipeline_input_t)data_pipeline_input_i, + (pipeline_output_t)data_pipeline_output_i, + input_app_data, + output_app_data, + stages, + (const size_t*) stage_stack_sizes, + appconfDATA_PIPELINE_TASK_PRIORITY, + stage_count); +} + +#endif /* ON_TILE(1)*/ diff --git a/examples/freertos/xscope_fileio/src/fileio/xscope_fileio_task.c b/examples/freertos/xscope_fileio/src/fileio/xscope_fileio_task.c new file mode 100644 index 000000000..452f2cfdb --- /dev/null +++ b/examples/freertos/xscope_fileio/src/fileio/xscope_fileio_task.c @@ -0,0 +1,190 @@ +// Copyright (c) 2022 XMOS LIMITED. This Software is subject to the terms of the +// XMOS Public License: Version 1 + +#include +#include +#include +#include + +#include "FreeRTOS.h" +#include "task.h" +#include "semphr.h" + +#include "soc_xscope_host.h" + +#include "app_conf.h" +#include "platform/driver_instances.h" +#include "fileio/xscope_fileio_task.h" +#include "xscope_io_device.h" +#include "wav_utils.h" + +static TaskHandle_t fileio_task_handle; +static xscope_file_t infile; +static xscope_file_t outfile; + +#if ON_TILE(XSCOPE_HOST_IO_TILE) +static SemaphoreHandle_t mutex_xscope_fileio; + +void xscope_fileio_lock_alloc(void) { + mutex_xscope_fileio = xSemaphoreCreateMutex(); + xassert(mutex_xscope_fileio); +} + +void xscope_fileio_lock_acquire(void) { + xSemaphoreTake(mutex_xscope_fileio, portMAX_DELAY); +} + +void xscope_fileio_lock_release(void) { + xSemaphoreGive(mutex_xscope_fileio); +} + +void init_xscope_host_data_user_cb(chanend_t c_host) { + xscope_io_init(c_host); +} +#endif + +size_t xscope_fileio_tx_to_host(uint8_t *buf, size_t len_bytes) { + size_t ret = 0; + // rtos_printf("Write outfile\n"); + + xscope_fwrite(&outfile, buf, len_bytes); + + return ret; +} + +size_t xscope_fileio_rx_from_host(void *input_app_data, int8_t **input_data_frame, size_t frame_count) { + + size_t bytes_received = 0; + bytes_received = rtos_intertile_rx_len( + intertile_ctx, + appconfEXAMPLE_DATA_PORT, + portMAX_DELAY); + + xassert(bytes_received == frame_count); + + rtos_intertile_rx_data( + intertile_ctx, + input_data_frame, + bytes_received); + + return bytes_received; +} + +void xscope_fileio_user_done(void) { + xTaskNotifyGive(fileio_task_handle); +} + +/* This task reads the input file in chunks and sends it through the data pipeline + * After reading the entire file, it will wait until the user has confirmed + * all writing is complete before closing files. + */ + /* NOTE: + * xscope fileio uses events. Only xscope_fread() currently, but wrapping + * all calls just in case */ +void xscope_fileio(void *arg) { + (void) arg; + int state = 0; + wav_header input_header_struct, output_header_struct; + unsigned input_header_size; + unsigned frame_count; + unsigned block_count; + + /* Wait until xscope_fileio is initialized */ + while(xscope_fileio_is_initialized() == 0) { + vTaskDelay(pdMS_TO_TICKS(1)); + } + + rtos_printf("Open test files\n"); + infile = xscope_open_file(appconfINPUT_FILENAME, "rb"); + outfile = xscope_open_file(appconfOUTPUT_FILENAME, "wb"); + uint32_t mask = rtos_interrupt_mask_all(); // Disable preemption around xscope_freads + { + // Validate input wav file + if(get_wav_header_details(&infile, &input_header_struct, &input_header_size) != 0){ + rtos_printf("Error: error in get_wav_header_details()\n"); + _Exit(1); + } + } + rtos_interrupt_mask_set(mask); // Re-enable preemption + + xscope_fseek(&infile, input_header_size, SEEK_SET); + // Ensure 32bit wav file + if(input_header_struct.bit_depth != 32) + { + rtos_printf("Error: unsupported wav bit depth (%d) for %s file. Only 32 supported\n", input_header_struct.bit_depth, appconfINPUT_FILENAME); + _Exit(1); + } + // Ensure input wav file contains correct number of channels + if(input_header_struct.num_channels != appconfMAX_CHANNELS){ + rtos_printf("Error: wav num channels(%d) does not match (%u)\n", input_header_struct.num_channels, appconfMAX_CHANNELS); + _Exit(1); + } + + // Calculate number of frames in the wav file + frame_count = wav_get_num_frames(&input_header_struct); + block_count = frame_count / appconfFRAME_ADVANCE; + + // Create output wav file + wav_form_header(&output_header_struct, + input_header_struct.audio_format, + appconfMAX_CHANNELS, + input_header_struct.sample_rate, + input_header_struct.bit_depth, + block_count*appconfFRAME_ADVANCE); + xscope_fwrite(&outfile, (uint8_t*)(&output_header_struct), WAV_HEADER_BYTES); + + uint8_t buf[appconfDATA_FRAME_SIZE_BYTES]; + size_t bytes_read = 0; + + // Iterate over frame blocks and send the data to the first pipeline stage on tile[1] + for(unsigned b=0; b + +void xscope_fileio_tasks_create(unsigned priority, void* app_data); + +/* Signal to fileio that the application is done and files can be closed */ +void xscope_fileio_user_done(void); + +/* Send len_bytes + * returns number of bytes sent */ +size_t xscope_fileio_tx_to_host(uint8_t *buf, size_t len_bytes); + +size_t xscope_fileio_rx_from_host(void *input_app_data, int8_t **input_data_frame, size_t frame_count); + +#endif /* XSCOPE_FILEIO_TASK_H_ */ diff --git a/examples/freertos/xscope_fileio/src/main.c b/examples/freertos/xscope_fileio/src/main.c new file mode 100644 index 000000000..60ffe8814 --- /dev/null +++ b/examples/freertos/xscope_fileio/src/main.c @@ -0,0 +1,127 @@ +// Copyright (c) 2020-2022 XMOS LIMITED. This Software is subject to the terms of the +// XMOS Public License: Version 1 + +#include +#include +#include + +/* FreeRTOS headers */ +#include "FreeRTOS.h" +#include "task.h" +#include "stream_buffer.h" +#include "queue.h" + +/* Library headers */ +#include "rtos_printf.h" + +/* App headers */ +#include "app_conf.h" +#include "platform/platform_init.h" +#include "platform/driver_instances.h" +#include "fileio/xscope_fileio_task.h" +#include "data_pipeline.h" + +void data_pipeline_input( + void *input_app_data, + int8_t **input_data_frame, + size_t frame_count) +{ + (void) input_app_data; + +#if (DATA_TRANSPORT_METHOD == XSCOPE_FILEIO) + xscope_fileio_rx_from_host(input_app_data, input_data_frame, frame_count); +#endif +} + +int data_pipeline_output( + void *output_app_data, + int8_t **output_data_frame, + size_t frame_count) +{ + (void) output_app_data; + +#if (DATA_TRANSPORT_METHOD == XSCOPE_FILEIO) + (void) xscope_fileio_tx_to_host((uint8_t*)output_data_frame, frame_count); +#endif + + return DATA_PIPELINE_FREE_FRAME; +} + +void vApplicationMallocFailedHook(void) +{ + rtos_printf("Malloc Failed on tile %d!\n", THIS_XCORE_TILE); + xassert(0); + for(;;); +} + +static void mem_analysis(void) +{ + for (;;) { + rtos_printf("Tile[%d]:\n\tMinimum heap free: %d\n\tCurrent heap free: %d\n", THIS_XCORE_TILE, xPortGetMinimumEverFreeHeapSize(), xPortGetFreeHeapSize()); + vTaskDelay(pdMS_TO_TICKS(5000)); + } +} + +void startup_task(void *arg) +{ + rtos_printf("Startup task running from tile %d on core %d\n", THIS_XCORE_TILE, portGET_CORE_ID()); + + platform_start(); + +#if (DATA_TRANSPORT_METHOD == XSCOPE_FILEIO) +#if ON_TILE(XSCOPE_HOST_IO_TILE) + xscope_fileio_tasks_create(appconfXSCOPE_IO_TASK_PRIORITY, NULL); +#endif +#endif + + data_pipeline_init(NULL, NULL); + + mem_analysis(); + /* + * TODO: Watchdog? + */ +} + +void vApplicationMinimalIdleHook(void) +{ + rtos_printf("idle hook on tile %d core %d\n", THIS_XCORE_TILE, rtos_core_id_get()); + asm volatile("waiteu"); +} + +static void tile_common_init(chanend_t c) +{ + platform_init(c); + chanend_free(c); + + xTaskCreate((TaskFunction_t) startup_task, + "startup_task", + RTOS_THREAD_STACK_SIZE(startup_task), + NULL, + appconfSTARTUP_TASK_PRIORITY, + NULL); + + rtos_printf("start scheduler on tile %d\n", THIS_XCORE_TILE); + vTaskStartScheduler(); +} + +#if ON_TILE(0) +void main_tile0(chanend_t c0, chanend_t c1, chanend_t c2, chanend_t c3) +{ + (void) c0; + (void) c2; + (void) c3; + + tile_common_init(c1); +} +#endif + +#if ON_TILE(1) +void main_tile1(chanend_t c0, chanend_t c1, chanend_t c2, chanend_t c3) +{ + (void) c1; + (void) c2; + (void) c3; + + tile_common_init(c0); +} +#endif diff --git a/examples/freertos/xscope_fileio/src/wav/wav_utils.c b/examples/freertos/xscope_fileio/src/wav/wav_utils.c new file mode 100644 index 000000000..9d48d6a16 --- /dev/null +++ b/examples/freertos/xscope_fileio/src/wav/wav_utils.c @@ -0,0 +1,139 @@ +// Copyright 2022 XMOS LIMITED. +// This Software is subject to the terms of the XMOS Public Licence: Version 1. +#include +#include +#include +#include +#include +#include + + +#include "FreeRTOS.h" + +#include "wav_utils.h" + + +#define RIFF_SECTION_SIZE (12) +#define FMT_SUBCHUNK_MIN_SIZE (24) +#define EXTENDED_FMT_GUID_SIZE (16) +static const char wav_default_header[WAV_HEADER_BYTES] = { + 0x52, 0x49, 0x46, 0x46, + 0x00, 0x00, 0x00, 0x00, + 0x57, 0x41, 0x56, 0x45, + 0x66, 0x6d, 0x74, 0x20, + 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x64, 0x61, 0x74, 0x61, + 0x00, 0x00, 0x00, 0x00, +}; + +int get_wav_header_details(xscope_file_t *input_file, wav_header *s, unsigned *header_size){ + //Assume file is already open here. First rewind. + xscope_fseek(input_file, 0, SEEK_SET); + //read riff header section (12 bytes) + xscope_fread(input_file, (uint8_t*)(&s->riff_header[0]), RIFF_SECTION_SIZE); + if(memcmp(s->riff_header, "RIFF", sizeof(s->riff_header)) != 0) + { + rtos_printf("Error: couldn't find RIFF: 0x%x, 0x%x, 0x%x, 0x%x\n", s->riff_header[0], s->riff_header[1], s->riff_header[2], s->riff_header[3]); + return 1; + } + + if(memcmp(s->wave_header, "WAVE", sizeof(s->wave_header)) != 0) + { + rtos_printf("Error: couldn't find WAVE:, 0x%x, 0x%x, 0x%x, 0x%x\n", s->wave_header[0], s->wave_header[1], s->wave_header[2], s->wave_header[3]); + return 1; + } + + xscope_fread(input_file, (uint8_t*)&s->fmt_header[0], FMT_SUBCHUNK_MIN_SIZE); + if(memcmp(s->fmt_header, "fmt ", sizeof(s->fmt_header)) != 0) + { + rtos_printf("Error: couldn't find fmt: 0x%x, 0x%x, 0x%x, 0x%x\n", s->fmt_header[0], s->fmt_header[1], s->fmt_header[2], s->fmt_header[3]); + return 1; + } + + unsigned fmt_subchunk_actual_size = s->fmt_chunk_size + sizeof(s->fmt_header) + sizeof(s->fmt_chunk_size); //fmt_chunk_size doesn't include the fmt_header(4) and size(4) bytes + unsigned fmt_subchunk_remaining_size = fmt_subchunk_actual_size - FMT_SUBCHUNK_MIN_SIZE; + + if(s->audio_format == (short)0xfffe) + { + //seek to the end of fmt subchunk and rewind 16bytes to the beginning of GUID + xscope_fseek(input_file, fmt_subchunk_remaining_size - EXTENDED_FMT_GUID_SIZE, SEEK_CUR); + //The first 2 bytes of GUID is the audio_format. + xscope_fread(input_file, (uint8_t *)&s->audio_format, sizeof(s->audio_format)); + //skip the rest of GUID + xscope_fseek(input_file, EXTENDED_FMT_GUID_SIZE - sizeof(s->audio_format), SEEK_CUR); + } + else + { + //go to the end of fmt subchunk + xscope_fseek(input_file, fmt_subchunk_remaining_size, SEEK_CUR); + } + if(s->audio_format != 1) + { + rtos_printf("Error: audio format(%d) is not PCM\n", s->audio_format); + return 1; + } + + //read header (4 bytes) for the next subchunk + xscope_fread(input_file, (uint8_t*)&s->data_header[0], sizeof(s->data_header)); + //if next subchunk is fact, read subchunk size and skip it + if(memcmp(s->data_header, "fact", sizeof(s->data_header)) == 0) + { + uint32_t chunksize; + xscope_fread(input_file, (uint8_t *)&chunksize, sizeof(s->data_bytes)); + xscope_fseek(input_file, chunksize, SEEK_CUR); + xscope_fread(input_file, (uint8_t*)(&s->data_header[0]), sizeof(s->data_header)); + } + //only thing expected at this point is the 'data' subchunk. Throw error if not found. + if(memcmp(s->data_header, "data", sizeof(s->data_header)) != 0) + { + rtos_printf("Error: couldn't find data: 0x%x, 0x%x, 0x%x, 0x%x\n", s->data_header[0], s->data_header[1], s->data_header[2], s->data_header[3]); + return 1; + } + //read data subchunk size. + xscope_fread(input_file, (uint8_t *)&s->data_bytes, sizeof(s->data_bytes)); + *header_size = xscope_ftell(input_file); //total file size should be header_size + data_bytes + //No need to close file - handled by caller + + return 0; +} + +int wav_form_header(wav_header *header, + short audio_format, + short num_channels, + int sample_rate, + short bit_depth, + int num_frames){ + memcpy((char*)header, wav_default_header, WAV_HEADER_BYTES); + + header->audio_format = audio_format; + header->num_channels = num_channels; + header->sample_rate = sample_rate; + header->bit_depth = bit_depth; + + header->byte_rate = sample_rate*bit_depth*num_channels/8; + + header->sample_alignment = num_channels* (bit_depth/8); + int data_bytes = num_frames * num_channels * (bit_depth/8); + header->data_bytes = data_bytes; + header->wav_size = data_bytes + WAV_HEADER_BYTES - 8; + + return 0; +} + +unsigned wav_get_num_bytes_per_frame(const wav_header *s){ + int bytes_per_sample = s->bit_depth/CHAR_BIT; + return (unsigned)(bytes_per_sample * s->num_channels); +} + +int wav_get_num_frames(const wav_header *s){ + unsigned bytes_per_frame = wav_get_num_bytes_per_frame(s); + return s->data_bytes / bytes_per_frame; +} + +long wav_get_frame_start(const wav_header *s, unsigned frame_number, uint32_t wavheader_size){ + return wavheader_size + frame_number * wav_get_num_bytes_per_frame(s); +} diff --git a/examples/freertos/xscope_fileio/src/wav/wav_utils.h b/examples/freertos/xscope_fileio/src/wav/wav_utils.h new file mode 100644 index 000000000..3da492831 --- /dev/null +++ b/examples/freertos/xscope_fileio/src/wav/wav_utils.h @@ -0,0 +1,48 @@ +// Copyright 2022 XMOS LIMITED. +// This Software is subject to the terms of the XMOS Public Licence: Version 1. +#ifndef WAV_UTILS_H +#define WAV_UTILS_H + +#include + +#include "xscope_io_device.h" + +#define WAV_HEADER_BYTES 44 + +typedef struct wav_header { + // RIFF Header + char riff_header[4]; // Should be "RIFF" + int wav_size; // File size - 8 = data_bytes + WAV_HEADER_BYTES - 8 + char wave_header[4]; // Should be "WAVE" + + // Format Subsection + char fmt_header[4]; // Should be "fmt " + int fmt_chunk_size; // Size of the rest of this subchunk + short audio_format; + short num_channels; + int sample_rate; + int byte_rate; // sample_rate * num_channels * (bit_depth/8) + short sample_alignment; // num_channels * (bit_depth/8) + short bit_depth; // bits per sample + + // Data Subsection + char data_header[4]; // Should be "data" + int data_bytes; // frame count * num_channels * (bit_depth/8) +} wav_header; + +int get_wav_header_details(xscope_file_t *input_file, wav_header *s, unsigned *header_size); + +int wav_form_header(wav_header *header, + short audio_format, + short num_channels, + int sample_rate, + short bit_depth, + int num_frames); + +unsigned wav_get_num_bytes_per_frame(const wav_header *s); + +int wav_get_num_frames(const wav_header *s); + +long wav_get_frame_start(const wav_header *s, unsigned frame_number, uint32_t wavheader_size); + +#endif // WAV_UTILS_H diff --git a/examples/freertos/xscope_fileio/xscope_fileio.cmake b/examples/freertos/xscope_fileio/xscope_fileio.cmake new file mode 100644 index 000000000..86072c57b --- /dev/null +++ b/examples/freertos/xscope_fileio/xscope_fileio.cmake @@ -0,0 +1,88 @@ +#********************** +# Gather Sources +#********************** +file(GLOB_RECURSE APP_SOURCES ${CMAKE_CURRENT_LIST_DIR}/src/*.c ) +set(APP_INCLUDES + ${CMAKE_CURRENT_LIST_DIR}/src + ${CMAKE_CURRENT_LIST_DIR}/src/wav + ${CMAKE_CURRENT_LIST_DIR}/src/data_pipeline/api +) + +#********************** +# Flags +#********************** +set(APP_COMPILER_FLAGS + -Os + -g + -report + -fxscope + -mcmodel=large + -Wno-xcore-fptrgroup + ${CMAKE_CURRENT_LIST_DIR}/src/config.xscope + ${CMAKE_CURRENT_LIST_DIR}/XCORE-AI-EXPLORER.xn +) + +set(APP_COMPILE_DEFINITIONS + DEBUG_PRINT_ENABLE=1 + PLATFORM_USES_TILE_0=1 + PLATFORM_USES_TILE_1=1 + XUD_CORE_CLOCK=600 + + DATA_TRANSPORT_METHOD=XSCOPE_FILEIO + XSCOPE_HOST_IO_ENABLED=1 + XSCOPE_HOST_IO_TILE=0 +) + +set(APP_LINK_OPTIONS + -lquadspi + -report + ${CMAKE_CURRENT_LIST_DIR}/src/config.xscope + ${CMAKE_CURRENT_LIST_DIR}/XCORE-AI-EXPLORER.xn +) + +set(APP_COMMON_LINK_LIBRARIES + sdk::xscope_fileio + rtos::bsp_config::xcore_ai_explorer +) + +#********************** +# Tile Targets +#********************** +set(TARGET_NAME tile0_example_freertos_xscope_fileio) +add_executable(${TARGET_NAME} EXCLUDE_FROM_ALL) +target_sources(${TARGET_NAME} PUBLIC ${APP_SOURCES}) +target_include_directories(${TARGET_NAME} PUBLIC ${APP_INCLUDES}) +target_compile_definitions(${TARGET_NAME} PUBLIC ${APP_COMPILE_DEFINITIONS} THIS_XCORE_TILE=0) +target_compile_options(${TARGET_NAME} PRIVATE ${APP_COMPILER_FLAGS}) +target_link_libraries(${TARGET_NAME} PUBLIC ${APP_COMMON_LINK_LIBRARIES}) +target_link_options(${TARGET_NAME} PRIVATE ${APP_LINK_OPTIONS}) +unset(TARGET_NAME) + +set(TARGET_NAME tile1_example_freertos_xscope_fileio) +add_executable(${TARGET_NAME} EXCLUDE_FROM_ALL) +target_sources(${TARGET_NAME} PUBLIC ${APP_SOURCES}) +target_include_directories(${TARGET_NAME} PUBLIC ${APP_INCLUDES}) +target_compile_definitions(${TARGET_NAME} PUBLIC ${APP_COMPILE_DEFINITIONS} THIS_XCORE_TILE=1) +target_compile_options(${TARGET_NAME} PRIVATE ${APP_COMPILER_FLAGS}) +target_link_libraries(${TARGET_NAME} PUBLIC ${APP_COMMON_LINK_LIBRARIES}) +target_link_options(${TARGET_NAME} PRIVATE ${APP_LINK_OPTIONS} ) +unset(TARGET_NAME) + +#********************** +# Merge binaries +#********************** +merge_binaries(example_freertos_xscope_fileio tile0_example_freertos_xscope_fileio tile1_example_freertos_xscope_fileio 1) + +#********************** +# Create run and debug targets +#********************** +add_custom_target(run_example_freertos_xscope_fileio + COMMAND xrun --xscope-realtime --xscope-port localhost:12345 example_freertos_xscope_fileio.xe + DEPENDS example_freertos_xscope_fileio + COMMENT + "Run application" + VERBATIM +) + +create_debug_target(example_freertos_xscope_fileio) +create_flash_app_target(example_freertos_xscope_fileio) diff --git a/modules/xscope_fileio/xscope_fileio.cmake b/modules/xscope_fileio/CMakeLists.txt similarity index 98% rename from modules/xscope_fileio/xscope_fileio.cmake rename to modules/xscope_fileio/CMakeLists.txt index 0e189762c..98aec0ae2 100644 --- a/modules/xscope_fileio/xscope_fileio.cmake +++ b/modules/xscope_fileio/CMakeLists.txt @@ -13,4 +13,4 @@ target_compile_definitions(xcore_sdk_modules_xscope_fileio INTERFACE TEST_WAV_XSCOPE=1) -add_library(sdk::xscope_fileio ALIAS xcore_sdk_modules_xscope_fileio) \ No newline at end of file +add_library(sdk::xscope_fileio ALIAS xcore_sdk_modules_xscope_fileio) diff --git a/tools/ci/build_host_apps.sh b/tools/ci/build_host_apps.sh index faa66dd10..5f2de0cc8 100755 --- a/tools/ci/build_host_apps.sh +++ b/tools/ci/build_host_apps.sh @@ -28,3 +28,8 @@ make_target=example_freertos_device_control_host name=fatfs/host make_target=fatfs_mkimage (cd ${path}/build_host; cp modules/rtos/modules/sw_services/${name}/${make_target} ${DIST_DIR}) + +# copy xscope_host_endpoint to dist +name=xscope_fileio/host +make_target=xscope_host_endpoint +(cd ${path}/build_host; cp modules/xscope_fileio/${name}/${make_target} ${DIST_DIR}) diff --git a/tools/ci/build_rtos_core_examples.sh b/tools/ci/build_rtos_core_examples.sh index 8a733e7f9..0593fa93c 100755 --- a/tools/ci/build_rtos_core_examples.sh +++ b/tools/ci/build_rtos_core_examples.sh @@ -22,7 +22,9 @@ applications=( "example_freertos_dispatcher No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" "example_freertos_explorer_board Yes No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" "example_freertos_getting_started No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" - "example_freertos_l2_cache No Yes XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" + "example_freertos_l2_cache No Yes XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" + "example_freertos_xlink No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" + "example_freertos_xscope_fileio No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" ) # perform builds From 6938c65442394d97fea5259600ee3816cab29c9f Mon Sep 17 00:00:00 2001 From: keithm-xmos <35048036+keithm-xmos@users.noreply.github.com> Date: Wed, 28 Sep 2022 14:49:07 -0400 Subject: [PATCH 3/8] fixed xlink example build --- examples/freertos/xlink/src/app_conf.h | 5 +++-- tools/ci/build_rtos_core_examples.sh | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/examples/freertos/xlink/src/app_conf.h b/examples/freertos/xlink/src/app_conf.h index 3227571d9..8cbfbd884 100644 --- a/examples/freertos/xlink/src/app_conf.h +++ b/examples/freertos/xlink/src/app_conf.h @@ -11,6 +11,7 @@ #define appconfINTER_DELAY 2 #define appconfINTRA_DELAY 3 + #define appconfRX_DIRECTION 0 #define appconfRX_NODE_ID 0x20 #define appconfRX_DEBUG_I2C_SLAVE_ADDR 0xc @@ -33,8 +34,8 @@ #define appconfI2C_INTERRUPT_CORE 0 /* Must be kept off I/O cores. */ /* I/O and interrupt cores for Tile 1 */ -#ifndef appconfXLINK_RX_IO_CORE 1 /* Must be kept off core 0 with the RTOS tick ISR */ -#ifndef appconfXLINK_TX_IO_CORE 1 /* Must be kept off core 0 with the RTOS tick ISR */ +#define appconfXLINK_RX_IO_CORE 1 /* Must be kept off core 0 with the RTOS tick ISR */ +#define appconfXLINK_TX_IO_CORE 1 /* Must be kept off core 0 with the RTOS tick ISR */ /* Task Priorities */ #define appconfSTARTUP_TASK_PRIORITY ( configMAX_PRIORITIES - 1 ) diff --git a/tools/ci/build_rtos_core_examples.sh b/tools/ci/build_rtos_core_examples.sh index 0593fa93c..d23a563a2 100755 --- a/tools/ci/build_rtos_core_examples.sh +++ b/tools/ci/build_rtos_core_examples.sh @@ -23,7 +23,7 @@ applications=( "example_freertos_explorer_board Yes No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" "example_freertos_getting_started No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" "example_freertos_l2_cache No Yes XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" - "example_freertos_xlink No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" + "example_freertos_xlink_both No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" "example_freertos_xscope_fileio No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" ) From 056d0b346949261d65544b40cbdb240696e7e0f4 Mon Sep 17 00:00:00 2001 From: keithm-xmos <35048036+keithm-xmos@users.noreply.github.com> Date: Wed, 28 Sep 2022 15:09:58 -0400 Subject: [PATCH 4/8] fixed xlink example CI build --- tools/ci/build_rtos_core_examples.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/ci/build_rtos_core_examples.sh b/tools/ci/build_rtos_core_examples.sh index d23a563a2..d3186fa5e 100755 --- a/tools/ci/build_rtos_core_examples.sh +++ b/tools/ci/build_rtos_core_examples.sh @@ -23,7 +23,8 @@ applications=( "example_freertos_explorer_board Yes No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" "example_freertos_getting_started No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" "example_freertos_l2_cache No Yes XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" - "example_freertos_xlink_both No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" + "example_freertos_xlink_0 No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" + "example_freertos_xlink_1 No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" "example_freertos_xscope_fileio No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" ) From 8a641cabde458c57047fe45e4e44d32a68e8d837 Mon Sep 17 00:00:00 2001 From: keithm-xmos <35048036+keithm-xmos@users.noreply.github.com> Date: Wed, 28 Sep 2022 16:21:31 -0400 Subject: [PATCH 5/8] xlink only build with XTC Tools 15.2 or newer --- examples/freertos/xlink/README.rst | 4 ++++ tools/ci/build_rtos_core_examples.sh | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/examples/freertos/xlink/README.rst b/examples/freertos/xlink/README.rst index b7b61df29..69deb262a 100644 --- a/examples/freertos/xlink/README.rst +++ b/examples/freertos/xlink/README.rst @@ -4,6 +4,10 @@ XLINK This example application demonstrates the `AN01024 `_ application note in FreeRTOS on XCORE AI. +.. note:: + + This example application required XTC Tools version 15.2.0 or newer. + ********************** Preparing the hardware ********************** diff --git a/tools/ci/build_rtos_core_examples.sh b/tools/ci/build_rtos_core_examples.sh index d3186fa5e..d2259837a 100755 --- a/tools/ci/build_rtos_core_examples.sh +++ b/tools/ci/build_rtos_core_examples.sh @@ -23,8 +23,8 @@ applications=( "example_freertos_explorer_board Yes No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" "example_freertos_getting_started No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" "example_freertos_l2_cache No Yes XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" - "example_freertos_xlink_0 No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" - "example_freertos_xlink_1 No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" + #"example_freertos_xlink_0 No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" + #"example_freertos_xlink_1 No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" "example_freertos_xscope_fileio No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" ) From 343937030579ba2b16cbdc14e04ce8bf50bcb07f Mon Sep 17 00:00:00 2001 From: keithm-xmos <35048036+keithm-xmos@users.noreply.github.com> Date: Wed, 28 Sep 2022 18:24:55 -0400 Subject: [PATCH 6/8] added tools version checks --- examples/freertos/xlink/README.rst | 5 +- examples/freertos/xlink/xlink.cmake | 30 +++++++++ examples/freertos/xscope_fileio/README.rst | 8 +-- tools/ci/build_rtos_core_examples.sh | 71 ++++++++++++---------- tools/ci/helper_functions.sh | 39 +++++++++++- 5 files changed, 113 insertions(+), 40 deletions(-) diff --git a/examples/freertos/xlink/README.rst b/examples/freertos/xlink/README.rst index 69deb262a..1e3937475 100644 --- a/examples/freertos/xlink/README.rst +++ b/examples/freertos/xlink/README.rst @@ -1,6 +1,6 @@ -############## +##### XLINK -############## +##### This example application demonstrates the `AN01024 `_ application note in FreeRTOS on XCORE AI. @@ -149,4 +149,5 @@ Payloads match to ID per the table below: - timeouts in the last second .. note:: + Data rates are highly dependant on the electrical characteristics of the physical connection. Refer to `xCONNECT Architecture `_ for more information. \ No newline at end of file diff --git a/examples/freertos/xlink/xlink.cmake b/examples/freertos/xlink/xlink.cmake index 32a12247b..d4937b14e 100644 --- a/examples/freertos/xlink/xlink.cmake +++ b/examples/freertos/xlink/xlink.cmake @@ -1,3 +1,33 @@ +function(check_tools_version) + # Run xcc --version + execute_process( + COMMAND xcc --version + OUTPUT_VARIABLE XCC_VERSION_OUTPUT_STRING + ) + # Split output into lines + string(REPLACE "\n" ";" XCC_VERSION_OUTPUT_LINES ${XCC_VERSION_OUTPUT_STRING}) + # Get second line + list(GET XCC_VERSION_OUTPUT_LINES 1 XCC_VERSION_LINE) + message(STATUS ${XCC_VERSION_LINE}) + # Parse version fields + string(SUBSTRING ${XCC_VERSION_LINE} 13 10 XCC_SEMVER) + string(REPLACE "." ";" XCC_SEMVER_FIELDS ${XCC_SEMVER}) + list(GET XCC_SEMVER_FIELDS 0 XCC_VERSION_MAJOR) + list(GET XCC_SEMVER_FIELDS 1 XCC_VERSION_MINOR) + list(GET XCC_SEMVER_FIELDS 2 XCC_VERSION_PATCH) + # Set XTC version env variables + set(XTC_VERSION_MAJOR ${XCC_VERSION_MAJOR} PARENT_SCOPE) + set(XTC_VERSION_MINOR ${XCC_VERSION_MINOR} PARENT_SCOPE) + set(XTC_VERSION_PATCH ${XCC_VERSION_PATCH} PARENT_SCOPE) +endfunction() + +check_tools_version() + +if ((XTC_VERSION_MAJOR LESS 15) OR (XTC_VERSION_MINOR LESS 2)) + message(WARNING "XTC Tools version 15.2.0 or newer required for FreeRTOS xlink example") + return() +endif() + #********************** # Gather Sources #********************** diff --git a/examples/freertos/xscope_fileio/README.rst b/examples/freertos/xscope_fileio/README.rst index 63543b7df..4a34769e2 100644 --- a/examples/freertos/xscope_fileio/README.rst +++ b/examples/freertos/xscope_fileio/README.rst @@ -1,6 +1,6 @@ -################################ -FreeRTOS XSCOPE File I/O Example -################################ +############### +XSCOPE File I/O +############### This FreeRTOS example application reads a file from the host over an XSCOPE server, propagates the data through multiple threads across both tiles, and then writes to a host file, also over an XSCOPE server. @@ -11,7 +11,7 @@ This FreeRTOS example application reads a file from the host over an XSCOPE serv Supported Hardware ****************** -This example is supported on the XCORE-AI-EXPLORER_2V0 board. +This example is supported on the XCORE-AI-EXPLORER board. ********************* Building the Firmware diff --git a/tools/ci/build_rtos_core_examples.sh b/tools/ci/build_rtos_core_examples.sh index d2259837a..fac9d3b3f 100755 --- a/tools/ci/build_rtos_core_examples.sh +++ b/tools/ci/build_rtos_core_examples.sh @@ -16,47 +16,52 @@ if [ -d "${DIST_HOST_DIR}" ]; then find ${DIST_HOST_DIR} -type f -exec chmod a+x {} + fi -# row format is: "name app_target run_fs_target run_swmem_target board toolchain" +# row format is: "name app_target min_tools_version run_fs_target run_swmem_target board toolchain" applications=( - "example_freertos_device_control No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" - "example_freertos_dispatcher No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" - "example_freertos_explorer_board Yes No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" - "example_freertos_getting_started No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" - "example_freertos_l2_cache No Yes XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" - #"example_freertos_xlink_0 No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" - #"example_freertos_xlink_1 No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" - "example_freertos_xscope_fileio No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" + "example_freertos_device_control 15.1.4 No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" + "example_freertos_dispatcher 15.1.4 No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" + "example_freertos_explorer_board 15.1.4 Yes No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" + "example_freertos_getting_started 15.1.4 No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" + "example_freertos_l2_cache 15.1.4 No Yes XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" + "example_freertos_xlink_0 15.2.0 No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" + "example_freertos_xlink_1 15.2.0 No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" + "example_freertos_xscope_fileio 15.1.4 No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" ) # perform builds for ((i = 0; i < ${#applications[@]}; i += 1)); do read -ra FIELDS <<< ${applications[i]} app_target="${FIELDS[0]}" - run_fs_target="${FIELDS[1]}" - run_swmem_target="${FIELDS[2]}" - board="${FIELDS[3]}" - toolchain_file="${XCORE_SDK_ROOT}/${FIELDS[4]}" + min_tools_version="${FIELDS[1]}" + run_fs_target="${FIELDS[2]}" + run_swmem_target="${FIELDS[3]}" + board="${FIELDS[4]}" + toolchain_file="${XCORE_SDK_ROOT}/${FIELDS[5]}" path="${XCORE_SDK_ROOT}" - echo '******************************************************' - echo '* Building' ${app_target} 'for' ${board} - echo '******************************************************' - (cd ${path}; rm -rf build_${board}) - (cd ${path}; mkdir -p build_${board}) - (cd ${path}/build_${board}; log_errors cmake ../ -DCMAKE_TOOLCHAIN_FILE=${toolchain_file} -DBOARD=${board}; log_errors make ${app_target} -j) - (cd ${path}/build_${board}; cp ${app_target}.xe ${DIST_DIR}) - if [ "$run_fs_target" = "Yes" ]; then - echo '======================================================' - echo '= Making filesystem for' ${app_target} - echo '======================================================' - (cd ${path}/build_${board}; log_errors make make_fs_${app_target} -j) - (cd ${path}/build_${board}; cp ${app_target}_fat.fs ${DIST_DIR}) - fi - if [ "$run_swmem_target" = "Yes" ]; then - echo '======================================================' - echo '= Making swmem for' ${app_target} - echo '======================================================' - (cd ${path}/build_${board}; log_errors make make_swmem_${app_target} -j) - (cd ${path}/build_${board}; cp ${app_target}.swmem ${DIST_DIR}) + if check_tools_version ${min_tools_version} + then + echo '******************************************************' + echo '* Building' ${app_target} 'for' ${board} + echo '******************************************************' + + (cd ${path}; rm -rf build_${board}) + (cd ${path}; mkdir -p build_${board}) + (cd ${path}/build_${board}; log_errors cmake ../ -DCMAKE_TOOLCHAIN_FILE=${toolchain_file} -DBOARD=${board}; log_errors make ${app_target} -j) + (cd ${path}/build_${board}; cp ${app_target}.xe ${DIST_DIR}) + if [ "$run_fs_target" = "Yes" ]; then + echo '======================================================' + echo '= Making filesystem for' ${app_target} + echo '======================================================' + (cd ${path}/build_${board}; log_errors make make_fs_${app_target} -j) + (cd ${path}/build_${board}; cp ${app_target}_fat.fs ${DIST_DIR}) + fi + if [ "$run_swmem_target" = "Yes" ]; then + echo '======================================================' + echo '= Making swmem for' ${app_target} + echo '======================================================' + (cd ${path}/build_${board}; log_errors make make_swmem_${app_target} -j) + (cd ${path}/build_${board}; cp ${app_target}.swmem ${DIST_DIR}) + fi fi done diff --git a/tools/ci/helper_functions.sh b/tools/ci/helper_functions.sh index 436a02b3e..98e7658bc 100644 --- a/tools/ci/helper_functions.sh +++ b/tools/ci/helper_functions.sh @@ -22,4 +22,41 @@ function get_timeout { elif [[ "$uname" == 'Darwin' ]]; then echo "gtimeout" fi -} \ No newline at end of file +} + +function check_tools_version { + # Get required version fields + IFS='.' read -ra FIELDS <<< "$@" + MIN_VERSION_MAJOR=${FIELDS[0]} + MIN_VERSION_MINOR=${FIELDS[1]} + MIN_VERSION_PATCH=${FIELDS[2]} + # Run xcc --version + xcc_version_output_string=`xcc --version` + # Find the semantic version substring + prefix=${xcc_version_output_string%%"XTC version:"*} + zero_index=${#prefix} + start_index=`expr $zero_index + 14` + prefix=${xcc_version_output_string%%"Copyright"*} + end_index=${#prefix} + xcc_semver_substring=`echo $xcc_version_output_string | cut -c$start_index-$end_index` + # Split semver substring into fields + IFS='.' read -ra FIELDS <<< "$xcc_semver_substring" + XTC_VERSION_MAJOR=${FIELDS[0]} + XTC_VERSION_MINOR=${FIELDS[1]} + XTC_VERSION_PATCH=${FIELDS[2]} + # Check version + if [ "$XTC_VERSION_MAJOR" -lt "$MIN_VERSION_MAJOR" ] + then + return 1 + else + if [ "$XTC_VERSION_MINOR" -lt "$MIN_VERSION_MINOR" ] + then + return 1 + else + if [ "$XTC_VERSION_PATCH" -lt "$MIN_VERSION_PATCH" ] + then + return 1 + fi + fi + fi +} From 4f8d9cf5e3880e9f0d071619a75c69ab29983788 Mon Sep 17 00:00:00 2001 From: keithm-xmos <35048036+keithm-xmos@users.noreply.github.com> Date: Wed, 28 Sep 2022 19:10:06 -0400 Subject: [PATCH 7/8] fixed to work with tools 15.1.0 --- examples/freertos/xlink/xlink.cmake | 23 ++++++++++++++------ tools/ci/build_rtos_core_examples.sh | 16 +++++++------- tools/ci/helper_functions.sh | 32 +++++++++++++++++----------- 3 files changed, 44 insertions(+), 27 deletions(-) diff --git a/examples/freertos/xlink/xlink.cmake b/examples/freertos/xlink/xlink.cmake index d4937b14e..18c9c602b 100644 --- a/examples/freertos/xlink/xlink.cmake +++ b/examples/freertos/xlink/xlink.cmake @@ -12,13 +12,22 @@ function(check_tools_version) # Parse version fields string(SUBSTRING ${XCC_VERSION_LINE} 13 10 XCC_SEMVER) string(REPLACE "." ";" XCC_SEMVER_FIELDS ${XCC_SEMVER}) - list(GET XCC_SEMVER_FIELDS 0 XCC_VERSION_MAJOR) - list(GET XCC_SEMVER_FIELDS 1 XCC_VERSION_MINOR) - list(GET XCC_SEMVER_FIELDS 2 XCC_VERSION_PATCH) - # Set XTC version env variables - set(XTC_VERSION_MAJOR ${XCC_VERSION_MAJOR} PARENT_SCOPE) - set(XTC_VERSION_MINOR ${XCC_VERSION_MINOR} PARENT_SCOPE) - set(XTC_VERSION_PATCH ${XCC_VERSION_PATCH} PARENT_SCOPE) + list(LENGTH XCC_SEMVER_FIELDS XCC_SEMVER_FIELDS_LENGTH) + if (${XCC_SEMVER_FIELDS_LENGTH} EQUAL "3") + list(GET XCC_SEMVER_FIELDS 0 XCC_VERSION_MAJOR) + list(GET XCC_SEMVER_FIELDS 1 XCC_VERSION_MINOR) + list(GET XCC_SEMVER_FIELDS 2 XCC_VERSION_PATCH) + # Set XTC version env variables + set(XTC_VERSION_MAJOR ${XCC_VERSION_MAJOR} PARENT_SCOPE) + set(XTC_VERSION_MINOR ${XCC_VERSION_MINOR} PARENT_SCOPE) + set(XTC_VERSION_PATCH ${XCC_VERSION_PATCH} PARENT_SCOPE) + else() + # Unable to determine the version. Return 15.1.0 and hope for the best + # Note, 15.1.0 had a bug where the version was missing + set(XTC_VERSION_MAJOR "15" PARENT_SCOPE) + set(XTC_VERSION_MINOR "1" PARENT_SCOPE) + set(XTC_VERSION_PATCH "0" PARENT_SCOPE) + endif() endfunction() check_tools_version() diff --git a/tools/ci/build_rtos_core_examples.sh b/tools/ci/build_rtos_core_examples.sh index fac9d3b3f..b42ea4aa4 100755 --- a/tools/ci/build_rtos_core_examples.sh +++ b/tools/ci/build_rtos_core_examples.sh @@ -18,14 +18,14 @@ fi # row format is: "name app_target min_tools_version run_fs_target run_swmem_target board toolchain" applications=( - "example_freertos_device_control 15.1.4 No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" - "example_freertos_dispatcher 15.1.4 No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" - "example_freertos_explorer_board 15.1.4 Yes No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" - "example_freertos_getting_started 15.1.4 No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" - "example_freertos_l2_cache 15.1.4 No Yes XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" - "example_freertos_xlink_0 15.2.0 No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" - "example_freertos_xlink_1 15.2.0 No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" - "example_freertos_xscope_fileio 15.1.4 No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" + "example_freertos_device_control 15.1.0 No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" + "example_freertos_dispatcher 15.1.0 No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" + "example_freertos_explorer_board 15.1.0 Yes No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" + "example_freertos_getting_started 15.1.0 No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" + "example_freertos_l2_cache 15.1.0 No Yes XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" + "example_freertos_xlink_0 15.2.0 No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" + "example_freertos_xlink_1 15.2.0 No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" + "example_freertos_xscope_fileio 15.1.0 No No XCORE-AI-EXPLORER xmos_cmake_toolchain/xs3a.cmake" ) # perform builds diff --git a/tools/ci/helper_functions.sh b/tools/ci/helper_functions.sh index 98e7658bc..12e95ce7b 100644 --- a/tools/ci/helper_functions.sh +++ b/tools/ci/helper_functions.sh @@ -32,18 +32,26 @@ function check_tools_version { MIN_VERSION_PATCH=${FIELDS[2]} # Run xcc --version xcc_version_output_string=`xcc --version` - # Find the semantic version substring - prefix=${xcc_version_output_string%%"XTC version:"*} - zero_index=${#prefix} - start_index=`expr $zero_index + 14` - prefix=${xcc_version_output_string%%"Copyright"*} - end_index=${#prefix} - xcc_semver_substring=`echo $xcc_version_output_string | cut -c$start_index-$end_index` - # Split semver substring into fields - IFS='.' read -ra FIELDS <<< "$xcc_semver_substring" - XTC_VERSION_MAJOR=${FIELDS[0]} - XTC_VERSION_MINOR=${FIELDS[1]} - XTC_VERSION_PATCH=${FIELDS[2]} + if [[ "$xcc_version_output_string" == *"XTC version:"* ]]; then + # Find the semantic version substring + prefix=${xcc_version_output_string%%"XTC version:"*} + zero_index=${#prefix} + start_index=`expr $zero_index + 14` + prefix=${xcc_version_output_string%%"Copyright"*} + end_index=${#prefix} + xcc_semver_substring=`echo $xcc_version_output_string | cut -c$start_index-$end_index` + # Split semver substring into fields + IFS='.' read -ra FIELDS <<< "$xcc_semver_substring" + XTC_VERSION_MAJOR=${FIELDS[0]} + XTC_VERSION_MINOR=${FIELDS[1]} + XTC_VERSION_PATCH=${FIELDS[2]} + else + # Unable to determine the version. Return 15.1.0 and hope for the best + # Note, 15.1.0 had a bug where the version was missing + XTC_VERSION_MAJOR="15" + XTC_VERSION_MINOR="1" + XTC_VERSION_PATCH="0" + fi # Check version if [ "$XTC_VERSION_MAJOR" -lt "$MIN_VERSION_MAJOR" ] then From 0a4b27c40fa0559ab28035c127df1bf4c2324d9c Mon Sep 17 00:00:00 2001 From: keithm-xmos <35048036+keithm-xmos@users.noreply.github.com> Date: Thu, 29 Sep 2022 13:57:33 -0400 Subject: [PATCH 8/8] updated docs --- .../xscope_fileio_functional_diagram.png | Bin doc/tutorials/freertos/examples/index.rst | 2 + doc/tutorials/freertos/examples/xlink.rst | 1 + .../freertos/examples/xscope_fileio.rst | 1 + examples/freertos/xscope_fileio/README.rst | 127 ++++++++++-------- .../diagrams/functional_diagram.drawio | 1 + .../xscope_fileio_functional_diagram.png | Bin 0 -> 142096 bytes .../xscope_fileio/xscope_fileio.cmake | 1 + tools/ci/build_rtos_core_examples.sh | 2 +- 9 files changed, 81 insertions(+), 54 deletions(-) rename examples/freertos/xscope_fileio/images/functional_diagram.png => doc/tutorials/freertos/examples/images/xscope_fileio_functional_diagram.png (100%) create mode 100644 doc/tutorials/freertos/examples/xlink.rst create mode 100644 doc/tutorials/freertos/examples/xscope_fileio.rst create mode 100644 examples/freertos/xscope_fileio/diagrams/functional_diagram.drawio create mode 100644 examples/freertos/xscope_fileio/images/xscope_fileio_functional_diagram.png diff --git a/examples/freertos/xscope_fileio/images/functional_diagram.png b/doc/tutorials/freertos/examples/images/xscope_fileio_functional_diagram.png similarity index 100% rename from examples/freertos/xscope_fileio/images/functional_diagram.png rename to doc/tutorials/freertos/examples/images/xscope_fileio_functional_diagram.png diff --git a/doc/tutorials/freertos/examples/index.rst b/doc/tutorials/freertos/examples/index.rst index e041ab0a4..05edb3141 100644 --- a/doc/tutorials/freertos/examples/index.rst +++ b/doc/tutorials/freertos/examples/index.rst @@ -11,7 +11,9 @@ Several FreeRTOS code examples are included to illustrate the fundamental tool f :includehidden: explorer_board.rst + xscope_fileio.rst device_control.rst dispatcher.rst l2_cache.rst iot.rst + xlink.rst diff --git a/doc/tutorials/freertos/examples/xlink.rst b/doc/tutorials/freertos/examples/xlink.rst new file mode 100644 index 000000000..b1a352da8 --- /dev/null +++ b/doc/tutorials/freertos/examples/xlink.rst @@ -0,0 +1 @@ +.. include:: ../../../../examples/freertos/xlink/README.rst diff --git a/doc/tutorials/freertos/examples/xscope_fileio.rst b/doc/tutorials/freertos/examples/xscope_fileio.rst new file mode 100644 index 000000000..2a785f249 --- /dev/null +++ b/doc/tutorials/freertos/examples/xscope_fileio.rst @@ -0,0 +1 @@ +.. include:: ../../../../examples/freertos/xscope_fileio/README.rst diff --git a/examples/freertos/xscope_fileio/README.rst b/examples/freertos/xscope_fileio/README.rst index 4a34769e2..717d7ef94 100644 --- a/examples/freertos/xscope_fileio/README.rst +++ b/examples/freertos/xscope_fileio/README.rst @@ -2,11 +2,25 @@ XSCOPE File I/O ############### -This FreeRTOS example application reads a file from the host over an XSCOPE server, propagates the data through multiple threads across both tiles, and then writes to a host file, also over an XSCOPE server. +This FreeRTOS example application reads a WAV file from the host over an XSCOPE server, propagates the data through multiple threads across both tiles, and then writes the output to a WAV file on the host PC, also over an XSCOPE server. -.. image:: images/functional_diagram.png +.. image:: images/xscope_fileio_functional_diagram.png :align: left +The 3-stage pipeline in the example covers both XCORE tiles. Stage #1 and Stage #2 run on tile[1], while Stage #3 runs on tile[0]. + +Stages #1 and #2 are implemented in the functions `stage_1` and `stage_2` which can be found in the file ``src\data_pipeline\src\data_pipeline_tile1.c``. In this example, both stages apply a fixed gain to the PCM audio samples. In `stage_1`, preemption is disabled with the `rtos_interrupt_mask_all()` function to insure the FreeRTOS kernel does not interrupt the task and perform a context switch during a performance critical code section. `stage_2` is a typical FreeRTOS task which can be preempted. However, this example is rather simple so, instead of leaving a context switch up to chance, the `stage_2` function periodically yields to the FreeRTOS kernel - emulating a context switch. + +Both the `stage_1` and `stage_2` functions have been instrumented with a stopwatch-like timer to measure the time spent applying the fixed gain. + +Stage #3 is implemented in the function `stage_3` which can be found in the file ``src\data_pipeline\src\data_pipeline_tile0.c``. In this example, Stage 3 does nothing. It is provided to demonstrate a multi-tile pipeline. + +The example application input file name is hard-coded to `in.wav` and the output file file name is hard-coded to `out.wav`. Running the application can be wrapped in a simple script if alternative file names are desired. Simply copy your file to `in.wav`, run the applications, then copy `out.wav` to you preferred output file name. + +The input file sample rate must be 16 KHz, 32 bits per sample. + +This example is already configured to link with the `XMOS vectorized math library `_. Users wishing to take advantage of the vector processing unit (VPU) on the XMOS XS3 architecture can use this example application as a starting point. + ****************** Supported Hardware ****************** @@ -19,29 +33,31 @@ Building the Firmware Run the following commands in the root folder to build the embedded application using the XTC Toolchain: -.. tab:: Linux and Mac +Linux or Mac +------------ - .. code-block:: console +.. code-block:: console - cmake -B build -DCMAKE_TOOLCHAIN_FILE=xmos_cmake_toolchain/xs3a.cmake - cd build - make example_freertos_xscope_fileio + cmake -B build -DCMAKE_TOOLCHAIN_FILE=xmos_cmake_toolchain/xs3a.cmake + cd build + make example_freertos_xscope_fileio -.. tab:: Windows +Windows +------- - Before building the embedded application, you may need to add the path to nmake to your PATH variable. +Before building the embedded application, you may need to add the path to nmake to your PATH variable. - .. code-block:: console +.. code-block:: console - set PATH=%PATH%; + set PATH=%PATH%; - To build the embedded application: +To build the embedded application: - .. code-block:: console +.. code-block:: console - cmake -G "NMake Makefiles" -B build -DCMAKE_TOOLCHAIN_FILE=xmos_cmake_toolchain/xs3a.cmake - cd build - nmake example_freertos_xscope_fileio + cmake -G "NMake Makefiles" -B build -DCMAKE_TOOLCHAIN_FILE=xmos_cmake_toolchain/xs3a.cmake + cd build + nmake example_freertos_xscope_fileio ********************* Building the Host App @@ -49,35 +65,41 @@ Building the Host App Run the following commands in the root folder to build the host application using your native x86 Toolchain: -.. tab:: Linux and Mac +.. note:: + + Permissions may be required to install the host applications. - .. code-block:: console +Linux or Mac +------------ - cmake -B build_host - cd build_host - make xscope_host_endpoint - make install +.. code-block:: console -.. tab:: Windows + cmake -B build_host + cd build_host + make xscope_host_endpoint + make install - Before building the host application, you will need to add the path to the XTC Tools to your environment. - - .. code-block:: console +The host application, `xscope_host_endpoint`, will be installed at `/opt/xmos/SDK//bin/`, and may be moved if desired. You may wish to add this directory to your `PATH` variable. + +Windows +------- - set "XMOS_TOOL_PATH=" +Before building the host application, you will need to add the path to the XTC Tools to your environment. - Then build the host application: +.. code-block:: console - .. code-block:: console + set "XMOS_TOOL_PATH=" - cmake -G "NMake Makefiles" -B build_host - cd build_host - nmake xscope_host_endpoint - nmake install +Then build the host application: -Note: Permissions may be required to install the host applications. +.. code-block:: console -The host application, `xscope_host_endpoint`, will be installed at `applications/hark`, and may be moved if desired. + cmake -G "NMake Makefiles" -B build_host + cd build_host + nmake xscope_host_endpoint + nmake install + +The host application, `xscope_host_endpoint.exe`, will be install at `\.xmos\SDK\\bin\`, and may be moved if desired. You may wish to add this directory to your `PATH` variable. ******************** Running the Firmware @@ -85,36 +107,35 @@ Running the Firmware From the build folder run: -.. tab:: Linux and Mac - - .. code-block:: console +Linux or Mac +------------ - make run_example_freertos_xscope_fileio +.. code-block:: console -.. tab:: Windows + make run_example_freertos_xscope_fileio - .. code-block:: console +In a second console, run the host xscope server: - nmake run_example_freertos_xscope_fileio +.. code-block:: console -In a second console, run the host xscope server: + ./xscope_host_endpoint 12345 -.. tab:: Linux and Mac +Windows +------- - .. code-block:: console +.. code-block:: console - ./xscope_host_endpoint 12345 + nmake run_example_freertos_xscope_fileio -.. tab:: Windows - Before running the host application, you may need to add the location of the `xscope_endpoint.dll` to your PATH. +Before running the host application, you may need to add the location of the `xscope_endpoint.dll` to your PATH. - .. code-block:: console +.. code-block:: console - set PATH=%PATH%; + set PATH=%PATH%; - Then run the host application: +In a second console, run the host xscope server: - .. code-block:: console +.. code-block:: console - xscope_host_endpoint.exe 12345 + xscope_host_endpoint.exe 12345 diff --git a/examples/freertos/xscope_fileio/diagrams/functional_diagram.drawio b/examples/freertos/xscope_fileio/diagrams/functional_diagram.drawio new file mode 100644 index 000000000..b711515b3 --- /dev/null +++ b/examples/freertos/xscope_fileio/diagrams/functional_diagram.drawio @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/examples/freertos/xscope_fileio/images/xscope_fileio_functional_diagram.png b/examples/freertos/xscope_fileio/images/xscope_fileio_functional_diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..6635c3d19a99c919955fcf0c65f6edff67b11d67 GIT binary patch literal 142096 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 z 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