€cdocutils.nodes document q)�q}q(U nametypesq}q(X$demo-rtos-template-application-labelqˆXbig data ipc exampleqNXknown issues and limitationsqNXsoftware and tools setupq NXresultsq NXhow to build the demoq NX running-pdk-led_test.bin-exampleq ˆX*how-to-build-the-cmb-library-and-unit-testq ˆXlinux-kernel-modificationsqˆXam437xqˆXhow to run the exampleqNXusing makefileqNX&setup environment variables in windowsqNXtrouble shootingqNXmemory-reservationqˆXhardware setupqNX*run-time reconfiguration (in windows only)qNXbuilding the demoqNXhost applicationsqNX(how to read the input/output audio filesqNXterminal screenshotqNX k2g-evm-1qˆX known issuesqNX5task 4 - loading and running the template applicationqNXbuildqˆXdemo-simplelink-wifi-demo-labelqˆX cmb addonq NXarm cortex-a53q!NX/import raw audio data file using adobe auditionq"NXfrontq#NXjailhouse hypervisorq$NXbuild-environment-setupq%ˆXframework for multicoreq&NXrunning the applicationq'NXload and run pre-built binariesq(NXrtos-pdk-inmatesq)ˆXarm9q*NXjailhouse-performance-on-am5728q+ˆXjailhouse-internalsq,ˆX am437x evmq-ˆXDhow to build the simplelink wifi plugin demo using makefile on linuxq.NXc6678 evm or c6657 evmq/NX arm cortex-a9q0NX source filesq1NXadditional informationq2NX gic-interrupt-inputs-reservationq3ˆXam57xq4ˆXdisplay outputq5NXno os (bare metal) exampleq6NXsupported platformsq7NX can to ethq8NXsoftware dependenciesq9NXbackq:NXsoftware designq;NX$benchmark app output on uart consoleqNXdirectory structureq?NXknown issues & limitationsq@NX+task 5 - examining the template applicationqANXprocessor-sdk rtosqBNXhow to run the benchmarksqCNXsimplelink wifi demoqDNXtoolsqENXtask 3 - hardware setupqFNXhow to run the demoqGNXsoftware featuresqHNXam65xqIˆXam572x gp evm (using sbl)qJNXrunning-bare-metal-ti-app.binqKˆXinterrupt latency benchmarkqLNXfile based demoqMNX$setup environment variables in linuxqNNXusing ccs projectsqONXarchitecture updates for linuxqPNX(memory placement of instruction and dataqQNXti-rtos kernel exampleqRNXthe app.c fileqSNXdsp c66xqTNXarchitecture overviewqUNXposix-smp demoqVNXrtos-bios-examplesqWˆX.task 1 - installing the processor sdk into ccsqXNXmemory layout detailsqYNXrecommended training videosqZNXadditional resourcesq[NXk2g evm (boot from sd card)q\NX arm cortex-a8q]NXhow to build the benchmarksq^NX0using sd card (supported only on am57xx and k2g)q_NX omap-l137-evmq`ˆXterminal screen-shotqaNXperformance audio demoqbNXcomponents usedqcNXsupportqdNXsoftwareqeNXoverviewqfˆX6how to build the simplelink wifi plugin demo using ccsqgNXomap-l137 evm (using ccs)qhNXk2g evmqiNXsupported hardwareqjNXtemplate application overviewqkNX linux-hostqlˆXgravity simulator demoqmNXk2h, k2k, k2l, k2e boardsqnNXhost linux exampleqoNXthe main.c fileqpNXrunning-the-demo-on-am572x-evmqqˆXsecondary bootloader (sbl)qrNXaudio benchmark starterkitqsNX am654x evmqtˆX8single-precision-fir-dspf_sp_fir_cplx-complex-fir-filterquˆX introductionqvˆX6cache configuration for code/data sections in sram/ddrqwNXsercos iii softmasterqxNX8task 2 - importing and building the template applicationqyNXhardware-modules-reservationqzˆXframework-for-unit-testq{ˆXset upq|NXFhow to build the simplelink wifi plugin demo using makefile on windowsq}NXk2g evm (using ccs)q~NXversion detailsqNXuseful referencesq€NXam65x evm/idk board set upq�NX,building-and-running-the-ethercat-slave-demoq‚ˆXarm cortex-a15qƒNXconnecting to the targetq„NXimage processing demoq…NXsoftware-designq†ˆXomap-l137-evm-1q‡ˆXporting to a custom boardqˆNX usage notesq‰NX using ccsqŠNXdelete the code you don't needq‹NXconfiguring device clocksqŒNXcan-eth gatway demoq�NXoptional setup for hdmiqŽNXk2g-evmq�ˆXpre-built-componentsq�ˆX"framework for audio pre-processingq‘NXam572x gp evm (using ccs)q’NX*benchmarking using dsp tsch/tscl registersq“NX am572x evmq”ˆX omap-l137 evmq•NX4how to run the simplelink wifi plugin demo using ccsq–NXrebuild the demoq—NX windows-hostq˜ˆX procedureq™ˆX c6678 evmqšNX'simple buffer example: program sequenceq›NXbuilding-jailhouse-from-sourcesqœˆXhow to re-build the exampleq�NXgeneral-porting-notesqžˆX arm cortex-r5qŸNXdemoq ˆXbare-metal-inmate-exampleq¡ˆXhardwareq¢NXk2g audio dc addonq£NXcompiler optimization flagsq¤NXbenchmark resultsq¥NXrtos-bios-porting-notesq¦ˆXrunning the demoq§NXbenchmark loggingq¨NX requirementsq©ˆXquickstart with how-to-videoqªNX dsp c674xq«NX:how to run the simplelink wifi plugin demo using uart bootq¬NXbare-metal-exampleq­ˆX#benchmark starterkit implementationq®NXhost rtos exampleq¯NXcircular microphone board demoq°NXhow to rebuild the demoq±NXam57xx & k2g boardsq²NXadd new application codeq³NX c6657 evmq´NXtemplate application workshopqµNX dhrystoneq¶NXlabq·NXroot-cell-configurationq¸ˆX soc integration and optimizationq¹NX#add support for additional featuresqºNX am335x evmq»ˆX next stepsq¼NXrunning-the-demo-on-am572x-idkq½ˆXcsingle-precision-iir-tisigcascadebiquadsp_2c_3s_kernel-cascade-biquad-filter-for-multichannel-inputq¾ˆXhow-to-run-the-unit-testq¿ˆX eth to canqÀNXbefore and after comparisonqÁNXaudio pre-processing demoqÂNXprocessor-sdk linuxqÃNX prerequisitesqÄNXam335xqňXk2h evmqÆNX more about processing algorithmsqÇNXccsqÈNXpcan tool set upqÉNXpre-requisitesqʈXsource-files-1qˈX=single-precision-fft-dspf_sp_fftspxsp-mixed-radix-forward-fftq̈X0task 6 - modifying the rtos template applicationqÍNXuseful resourcesqÎNX arm cortex-m4qÏNX.signal-processing-functions-used-in-starterkitqЈXload and run the demoqÑNXhow-to-build-the-unit-testqÒˆuUsubstitution_defsqÓ}qÔ(X terminateqÕcdocutils.nodes substitution_definition qÖ)�q×}qØ(U rawsourceqÙX6.. |terminate| image:: ../images/terminate-button.png UparentqÚcdocutils.nodes section qÛ)�qÜ}qÝ(hÙUhÚhÛ)�qÞ}qß(hÙUhÚhÛ)�qà}qá(hÙUhÚhÛ)�qâ}qã(hÙUhÚhUsourceqäXS/home/gtbldadm/nightlybuilds/processor-sdk-doc/source/rtos/index_examples_demos.rstqåUtagnameqæUsectionqçU attributesqè}qé(Udupnamesqê]Uclassesqë]Ubackrefsqì]Uidsqí]qîUtemplate-application-workshopqïaUnamesqð]qñhµauUlineqòKUdocumentqóhUchildrenqô]qõ(cdocutils.nodes title qö)�q÷}qø(hÙXTemplate Application WorkshopqùhÚhâhähåhæUtitleqúhè}qû(hê]hë]hì]hí]hð]uhòKhóhhô]qücdocutils.nodes Text qýXTemplate Application Workshopqþ…�qÿ}r(hÙhùhÚh÷ubaubcdocutils.nodes target r)�r}r(hÙX).. _Demo-RTOS-Template-Application-label:hÚhâhähåhæUtargetrhè}r(hê]hë]hì]hí]rU$demo-rtos-template-application-labelrahð]rhauhòKhóhhô]ubcdocutils.nodes comment r )�r }r (hÙXGhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Template_ApphÚhâhäcdocutils.nodes reprunicode r XAsource/rtos/Examples_and_Demonstrations/RTOS_Template_App.rst.incr …�r}rbhæUcommentrhè}r(U xml:spacerUpreserverhí]hì]hê]hë]hð]uhòKhóhhô]rhýXGhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Template_Appr…�r}r(hÙUhÚj ubaubhÛ)�r}r(hÙUU referencedrKhÚhâhäjhæhçhè}r(hê]rX introductionrahë]hì]hí]rU introductionrahð]uhòKhóhhô]r (hö)�r!}r"(hÙX Introductionr#hÚjhäjhæhúhè}r$(hê]hë]hì]hí]hð]uhòKhóhhô]r%hýX Introductionr&…�r'}r((hÙj#hÚj!ubaubcdocutils.nodes note r))�r*}r+(hÙXŠThis workshop duplicates information found elsewhere in the RTOS Software Developer Guide for the purpose of creating a cohesive document.hÚjhäjhæUnoter,hè}r-(hê]hë]hì]hí]hð]uhòNhóhhô]r.cdocutils.nodes paragraph r/)�r0}r1(hÙXŠThis workshop duplicates information found elsewhere in the RTOS Software Developer Guide for the purpose of creating a cohesive document.r2hÚj*häjhæU paragraphr3hè}r4(hê]hë]hì]hí]hð]uhòKhô]r5hýXŠThis workshop duplicates information found elsewhere in the RTOS Software Developer Guide for the purpose of creating a cohesive document.r6…�r7}r8(hÙj2hÚj0ubaubaubj/)�r9}r:(hÙXðThis workshop is a simple introduction for software development using Processor SDK RTOS. The goal of this workshop is to get you familiarized with Processor SDK RTOS and introduce you to using Sitara Evaluation Modules (EVMs) and TI tools.r;hÚjhäjhæj3hè}r<(hê]hë]hì]hí]hð]uhòK hóhhô]r=hýXðThis workshop is a simple introduction for software development using Processor SDK RTOS. The goal of this workshop is to get you familiarized with Processor SDK RTOS and introduce you to using Sitara Evaluation Modules (EVMs) and TI tools.r>…�r?}r@(hÙj;hÚj9ubaubj/)�rA}rB(hÙXìTo accomplish this goal, we will work through an interactive lab using the RTOS/Bare-metal Template Application. This application will introduce key concepts of the SDK and serves as the starting point for creating your own application.rChÚjhäjhæj3hè}rD(hê]hë]hì]hí]hð]uhòKhóhhô]rEhýXìTo accomplish this goal, we will work through an interactive lab using the RTOS/Bare-metal Template Application. This application will introduce key concepts of the SDK and serves as the starting point for creating your own application.rF…�rG}rH(hÙjChÚjAubaubj/)�rI}rJ(hÙX6Here's what we will learn over the course of this lab:rKhÚjhäjhæj3hè}rL(hê]hë]hì]hí]hð]uhòKhóhhô]rMhýX6Here's what we will learn over the course of this lab:rN…�rO}rP(hÙjKhÚjIubaubcdocutils.nodes bullet_list rQ)�rR}rS(hÙUhÚjhäjhæU bullet_listrThè}rU(UbulletrVX-hí]hì]hê]hë]hð]uhòKhóhhô]rW(cdocutils.nodes list_item rX)�rY}rZ(hÙXVBasic usage of Code Composer Studio (CCS) - Importing - Editing - Building - FlashinghÚjRhäNhæU list_itemr[hè}r\(hê]hë]hì]hí]hð]uhòNhóhhô]r](j/)�r^}r_(hÙX)Basic usage of Code Composer Studio (CCS)r`hÚjYhäjhæj3hè}ra(hê]hë]hì]hí]hð]uhòKhô]rbhýX)Basic usage of Code Composer Studio (CCS)rc…�rd}re(hÙj`hÚj^ubaubjQ)�rf}rg(hÙUhè}rh(jVX-hí]hì]hê]hë]hð]uhÚjYhô]ri(jX)�rj}rk(hÙX Importingrlhè}rm(hê]hë]hì]hí]hð]uhÚjfhô]rnj/)�ro}rp(hÙjlhÚjjhäjhæj3hè}rq(hê]hë]hì]hí]hð]uhòKhô]rrhýX Importingrs…�rt}ru(hÙjlhÚjoubaubahæj[ubjX)�rv}rw(hÙXEditingrxhè}ry(hê]hë]hì]hí]hð]uhÚjfhô]rzj/)�r{}r|(hÙjxhÚjvhäjhæj3hè}r}(hê]hë]hì]hí]hð]uhòKhô]r~hýXEditingr…�r€}r�(hÙjxhÚj{ubaubahæj[ubjX)�r‚}rƒ(hÙXBuildingr„hè}r…(hê]hë]hì]hí]hð]uhÚjfhô]r†j/)�r‡}rˆ(hÙj„hÚj‚häjhæj3hè}r‰(hê]hë]hì]hí]hð]uhòKhô]rŠhýXBuildingr‹…�rŒ}r�(hÙj„hÚj‡ubaubahæj[ubjX)�rŽ}r�(hÙXFlashingr�hè}r‘(hê]hë]hì]hí]hð]uhÚjfhô]r’j/)�r“}r”(hÙj�hÚjŽhäjhæj3hè}r•(hê]hë]hì]hí]hð]uhòKhô]r–hýXFlashingr—…�r˜}r™(hÙj�hÚj“ubaubahæj[ubehæjTubeubjX)�rš}r›(hÙX�Processor SDK RTOS Software - Low level drivers (LLDs) such as UART, GPIO, etc. - Operating System Abstraction Layer (OSAL) - Board library hÚjRhäNhæj[hè}rœ(hê]hë]hì]hí]hð]uhòNhóhhô]r�(j/)�rž}rŸ(hÙXProcessor SDK RTOS Softwarer hÚjšhäjhæj3hè}r¡(hê]hë]hì]hí]hð]uhòKhô]r¢hýXProcessor SDK RTOS Softwarer£…�r¤}r¥(hÙj hÚjžubaubjQ)�r¦}r§(hÙUhè}r¨(jVX-hí]hì]hê]hë]hð]uhÚjšhô]r©(jX)�rª}r«(hÙX1Low level drivers (LLDs) such as UART, GPIO, etc.r¬hè}r­(hê]hë]hì]hí]hð]uhÚj¦hô]r®j/)�r¯}r°(hÙj¬hÚjªhäjhæj3hè}r±(hê]hë]hì]hí]hð]uhòKhô]r²hýX1Low level drivers (LLDs) such as UART, GPIO, etc.r³…�r´}rµ(hÙj¬hÚj¯ubaubahæj[ubjX)�r¶}r·(hÙX)Operating System Abstraction Layer (OSAL)r¸hè}r¹(hê]hë]hì]hí]hð]uhÚj¦hô]rºj/)�r»}r¼(hÙj¸hÚj¶häjhæj3hè}r½(hê]hë]hì]hí]hð]uhòKhô]r¾hýX)Operating System Abstraction Layer (OSAL)r¿…�rÀ}rÁ(hÙj¸hÚj»ubaubahæj[ubjX)�rÂ}rÃ(hÙXBoard library hè}rÄ(hê]hë]hì]hí]hð]uhÚj¦hô]rÅj/)�rÆ}rÇ(hÙX Board libraryrÈhÚjÂhäjhæj3hè}rÉ(hê]hë]hì]hí]hð]uhòKhô]rÊhýX Board libraryrË…�rÌ}rÍ(hÙjÈhÚjÆubaubahæj[ubehæjTubeubeubcdocutils.nodes line_block rÎ)�rÏ}rÐ(hÙUhÚjhäjhæU line_blockrÑhè}rÒ(hê]hë]hì]hí]hð]uhòK hóhhô]rÓcdocutils.nodes line rÔ)�rÕ}rÖ(hÙUUindentr×KhÚjÏhäjhæhòhè}rØ(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubhÛ)�rÙ}rÚ(hÙUhÚhâhäjhæhçhè}rÛ(hê]hë]hì]hí]rÜU prerequisitesrÝahð]rÞhÄauhòK#hóhhô]rß(hö)�rà}rá(hÙX PrerequisitesrâhÚjÙhäjhæhúhè}rã(hê]hë]hì]hí]hð]uhòK#hóhhô]rähýX Prerequisitesrå…�ræ}rç(hÙjâhÚjàubaubhÛ)�rè}ré(hÙUhÚjÙhäjhæhçhè}rê(hê]hë]hì]hí]rëUsoftwarerìahð]ríheauhòK&hóhhô]rî(hö)�rï}rð(hÙXSoftwarerñhÚjèhäjhæhúhè}rò(hê]hë]hì]hí]hð]uhòK&hóhhô]róhýXSoftwarerô…�rõ}rö(hÙjñhÚjïubaubjQ)�r÷}rø(hÙUhÚjèhäjhæjThè}rù(jVX-hí]hì]hê]hë]hð]uhòK'hóhhô]rú(jX)�rû}rü(hÙX Processor SDK RTOS for your platform - `AM335x `_ - `AM437x `_ - `AM57x `_ - `AM65x `_ hÚj÷häNhæj[hè}rý(hê]hë]hì]hí]hð]uhòNhóhhô]rþ(j/)�rÿ}r(hÙX$Processor SDK RTOS for your platformrhÚjûhäjhæj3hè}r(hê]hë]hì]hí]hð]uhòK'hô]rhýX$Processor SDK RTOS for your platformr…�r}r(hÙjhÚjÿubaubjQ)�r}r(hÙUhè}r (jVX-hí]hì]hê]hë]hð]uhÚjûhô]r (jX)�r }r (hÙX7`AM335x `_r hè}r(hê]hë]hì]hí]hð]uhÚjhô]rj/)�r}r(hÙj hÚj häjhæj3hè}r(hê]hë]hì]hí]hð]uhòK)hô]r(cdocutils.nodes reference r)�r}r(hÙj hè}r(UnameXAM335xUrefurirX+http://www.ti.com/tool/PROCESSOR-SDK-AM335Xrhí]hì]hê]hë]hð]uhÚjhô]rhýXAM335xr…�r}r(hÙUhÚjubahæU referencerubj)�r}r (hÙX. jKhÚjhæjhè}r!(Urefurijhí]r"Uam335xr#ahì]hê]hë]hð]r$hÅauhô]ubeubahæj[ubjX)�r%}r&(hÙX7`AM437x `_r'hè}r((hê]hë]hì]hí]hð]uhÚjhô]r)j/)�r*}r+(hÙj'hÚj%häjhæj3hè}r,(hê]hë]hì]hí]hð]uhòK*hô]r-(j)�r.}r/(hÙj'hè}r0(UnameXAM437xjX+http://www.ti.com/tool/PROCESSOR-SDK-AM437Xr1hí]hì]hê]hë]hð]uhÚj*hô]r2hýXAM437xr3…�r4}r5(hÙUhÚj.ubahæjubj)�r6}r7(hÙX. jKhÚj*hæjhè}r8(Urefurij1hí]r9Uam437xr:ahì]hê]hë]hð]r;hauhô]ubeubahæj[ubjX)�r<}r=(hÙX5`AM57x `_r>hè}r?(hê]hë]hì]hí]hð]uhÚjhô]r@j/)�rA}rB(hÙj>hÚj<häjhæj3hè}rC(hê]hë]hì]hí]hð]uhòK+hô]rD(j)�rE}rF(hÙj>hè}rG(UnameXAM57xjX*http://www.ti.com/tool/PROCESSOR-SDK-AM57XrHhí]hì]hê]hë]hð]uhÚjAhô]rIhýXAM57xrJ…�rK}rL(hÙUhÚjEubahæjubj)�rM}rN(hÙX- jKhÚjAhæjhè}rO(UrefurijHhí]rPUam57xrQahì]hê]hë]hð]rRh4auhô]ubeubahæj[ubjX)�rS}rT(hÙX6`AM65x `_ hè}rU(hê]hë]hì]hí]hð]uhÚjhô]rVj/)�rW}rX(hÙX5`AM65x `_rYhÚjShäjhæj3hè}rZ(hê]hë]hì]hí]hð]uhòK,hô]r[(j)�r\}r](hÙjYhè}r^(UnameXAM65xjX*http://www.ti.com/tool/PROCESSOR-SDK-AM65Xr_hí]hì]hê]hë]hð]uhÚjWhô]r`hýXAM65xra…�rb}rc(hÙUhÚj\ubahæjubj)�rd}re(hÙX- jKhÚjWhæjhè}rf(Urefurij_hí]rgUam65xrhahì]hê]hë]hð]rihIauhô]ubeubahæj[ubehæjTubeubjX)�rj}rk(hÙXyCCS Version associated with your SDK Release - A download link for CCS is located on the same page as the SDK download. hÚj÷häNhæj[hè}rl(hê]hë]hì]hí]hð]uhòNhóhhô]rm(j/)�rn}ro(hÙX,CCS Version associated with your SDK ReleaserphÚjjhäjhæj3hè}rq(hê]hë]hì]hí]hð]uhòK.hô]rrhýX,CCS Version associated with your SDK Releasers…�rt}ru(hÙjphÚjnubaubjQ)�rv}rw(hÙUhè}rx(jVX-hí]hì]hê]hë]hð]uhÚjjhô]ryjX)�rz}r{(hÙXIA download link for CCS is located on the same page as the SDK download. hè}r|(hê]hë]hì]hí]hð]uhÚjvhô]r}j/)�r~}r(hÙXHA download link for CCS is located on the same page as the SDK download.r€hÚjzhäjhæj3hè}r�(hê]hë]hì]hí]hð]uhòK0hô]r‚hýXHA download link for CCS is located on the same page as the SDK download.rƒ…�r„}r…(hÙj€hÚj~ubaubahæj[ubahæjTubeubeubj))�r†}r‡(hÙX³If you are using AM65x, you will also need to install latest TI Emulators and Sitara device support packages into CCS. This can be done through CCS --> Help --> Check for Updates.hÚjèhäjhæj,hè}rˆ(hê]hë]hì]hí]hð]uhòNhóhhô]r‰j/)�rŠ}r‹(hÙX³If you are using AM65x, you will also need to install latest TI Emulators and Sitara device support packages into CCS. This can be done through CCS --> Help --> Check for Updates.rŒhÚj†häjhæj3hè}r�(hê]hë]hì]hí]hð]uhòK3hô]rŽhýX³If you are using AM65x, you will also need to install latest TI Emulators and Sitara device support packages into CCS. This can be done through CCS --> Help --> Check for Updates.r�…�r�}r‘(hÙjŒhÚjŠubaubaubeubhÛ)�r’}r“(hÙUhÚjÙhäjhæhçhè}r”(hê]hë]hì]hí]r•Uhardwarer–ahð]r—h¢auhòK8hóhhô]r˜(hö)�r™}rš(hÙXHardwarer›hÚj’häjhæhúhè}rœ(hê]hë]hì]hí]hð]uhòK8hóhhô]r�hýXHardwarerž…�rŸ}r (hÙj›hÚj™ubaubjQ)�r¡}r¢(hÙUhÚj’häjhæjThè}r£(jVX-hí]hì]hê]hë]hð]uhòK9hóhhô]r¤(jX)�r¥}r¦(hÙXüA supported Sitara Evaluation Module - `AM335x EVM `_ - `AM437x EVM `_ - `AM572x EVM `_ - `AM654x EVM `_ hÚj¡häNhæj[hè}r§(hê]hë]hì]hí]hð]uhòNhóhhô]r¨(j/)�r©}rª(hÙX$A supported Sitara Evaluation Moduler«hÚj¥häjhæj3hè}r¬(hê]hë]hì]hí]hð]uhòK9hô]r­hýX$A supported Sitara Evaluation Moduler®…�r¯}r°(hÙj«hÚj©ubaubjQ)�r±}r²(hÙUhè}r³(jVX-hí]hì]hê]hë]hð]uhÚj¥hô]r´(jX)�rµ}r¶(hÙX2`AM335x EVM `_r·hè}r¸(hê]hë]hì]hí]hð]uhÚj±hô]r¹j/)�rº}r»(hÙj·hÚjµhäjhæj3hè}r¼(hê]hë]hì]hí]hð]uhòK;hô]r½(j)�r¾}r¿(hÙj·hè}rÀ(UnameX AM335x EVMjX"http://www.ti.com/tool/TMDXEVM3358rÁhí]hì]hê]hë]hð]uhÚjºhô]rÂhýX AM335x EVMrÃ…�rÄ}rÅ(hÙUhÚj¾ubahæjubj)�rÆ}rÇ(hÙX% jKhÚjºhæjhè}rÈ(UrefurijÁhí]rÉU am335x-evmrÊahì]hê]hë]hð]rËh»auhô]ubeubahæj[ubjX)�rÌ}rÍ(hÙX2`AM437x EVM `_rÎhè}rÏ(hê]hë]hì]hí]hð]uhÚj±hô]rÐj/)�rÑ}rÒ(hÙjÎhÚjÌhäjhæj3hè}rÓ(hê]hë]hì]hí]hð]uhòKjKhÚjÑhæjhè}rß(UrefurijØhí]ràU am437x-evmráahì]hê]hë]hð]râh-auhô]ubeubahæj[ubjX)�rã}rä(hÙX2`AM572x EVM `_råhè}ræ(hê]hë]hì]hí]hð]uhÚj±hô]rçj/)�rè}ré(hÙjåhÚjãhäjhæj3hè}rê(hê]hë]hì]hí]hð]uhòK=hô]rë(j)�rì}rí(hÙjåhè}rî(UnameX AM572x EVMjX"http://www.ti.com/tool/TMDSEVM572Xrïhí]hì]hê]hë]hð]uhÚjèhô]rðhýX AM572x EVMrñ…�rò}ró(hÙUhÚjìubahæjubj)�rô}rõ(hÙX% jKhÚjèhæjhè}rö(Urefurijïhí]r÷U am572x-evmrøahì]hê]hë]hð]rùh”auhô]ubeubahæj[ubjX)�rú}rû(hÙX5`AM654x EVM `_ hè}rü(hê]hë]hì]hí]hð]uhÚj±hô]rýj/)�rþ}rÿ(hÙX4`AM654x EVM `_rhÚjúhäjhæj3hè}r(hê]hë]hì]hí]hð]uhòK>hô]r(j)�r}r(hÙjhè}r(UnameX AM654x EVMjX$http://www.ti.com/tool/TMDX654IDKEVMrhí]hì]hê]hë]hð]uhÚjþhô]rhýX AM654x EVMr…�r }r (hÙUhÚjubahæjubj)�r }r (hÙX' jKhÚjþhæjhè}r (Urefurijhí]rU am654x-evmrahì]hê]hë]hð]rhtauhô]ubeubahæj[ubehæjTubeubjX)�r}r(hÙXïJTAG Debug Probe if using AM572x EVM - XDS100-class JTAG debug probes - Low cost, low performance - XDS100v1 is not supported. - XDS200-class JTAG debug probes - Recommended - XDS560v2-class JTAG debug probes - High performancehÚj¡häNhæj[hè}r(hê]hë]hì]hí]hð]uhòNhóhhô]r(j/)�r}r(hÙX$JTAG Debug Probe if using AM572x EVMrhÚjhäjhæj3hè}r(hê]hë]hì]hí]hð]uhòK@hô]rhýX$JTAG Debug Probe if using AM572x EVMr…�r}r(hÙjhÚjubaubjQ)�r}r(hÙUhè}r(jVX-hí]hì]hê]hë]hð]uhÚjhô]r (jX)�r!}r"(hÙXXXDS100-class JTAG debug probes - Low cost, low performance - XDS100v1 is not supported.hè}r#(hê]hë]hì]hí]hð]uhÚjhô]r$(j/)�r%}r&(hÙXXDS100-class JTAG debug probesr'hÚj!häjhæj3hè}r((hê]hë]hì]hí]hð]uhòKBhô]r)hýXXDS100-class JTAG debug probesr*…�r+}r,(hÙj'hÚj%ubaubjQ)�r-}r.(hÙUhè}r/(jVX-hí]hì]hê]hë]hð]uhÚj!hô]r0(jX)�r1}r2(hÙXLow cost, low performancer3hè}r4(hê]hë]hì]hí]hð]uhÚj-hô]r5j/)�r6}r7(hÙj3hÚj1häjhæj3hè}r8(hê]hë]hì]hí]hð]uhòKDhô]r9hýXLow cost, low performancer:…�r;}r<(hÙj3hÚj6ubaubahæj[ubjX)�r=}r>(hÙXXDS100v1 is not supported.r?hè}r@(hê]hë]hì]hí]hð]uhÚj-hô]rAj/)�rB}rC(hÙj?hÚj=häjhæj3hè}rD(hê]hë]hì]hí]hð]uhòKEhô]rEhýXXDS100v1 is not supported.rF…�rG}rH(hÙj?hÚjBubaubahæj[ubehæjTubehæj[ubjX)�rI}rJ(hÙX-XDS200-class JTAG debug probes - Recommendedhè}rK(hê]hë]hì]hí]hð]uhÚjhô]rL(j/)�rM}rN(hÙXXDS200-class JTAG debug probesrOhÚjIhäjhæj3hè}rP(hê]hë]hì]hí]hð]uhòKFhô]rQhýXXDS200-class JTAG debug probesrR…�rS}rT(hÙjOhÚjMubaubjQ)�rU}rV(hÙUhè}rW(jVX-hí]hì]hê]hë]hð]uhÚjIhô]rXjX)�rY}rZ(hÙX Recommendedr[hè}r\(hê]hë]hì]hí]hð]uhÚjUhô]r]j/)�r^}r_(hÙj[hÚjYhäjhæj3hè}r`(hê]hë]hì]hí]hð]uhòKHhô]rahýX Recommendedrb…�rc}rd(hÙj[hÚj^ubaubahæj[ubahæjTubehæj[ubjX)�re}rf(hÙX4XDS560v2-class JTAG debug probes - High performancehè}rg(hê]hë]hì]hí]hð]uhÚjhô]rh(j/)�ri}rj(hÙX XDS560v2-class JTAG debug probesrkhÚjehäjhæj3hè}rl(hê]hë]hì]hí]hð]uhòKIhô]rmhýX XDS560v2-class JTAG debug probesrn…�ro}rp(hÙjkhÚjiubaubjQ)�rq}rr(hÙUhè}rs(jVX-hí]hì]hê]hë]hð]uhÚjehô]rtjX)�ru}rv(hÙXHigh performancerwhè}rx(hê]hë]hì]hí]hð]uhÚjqhô]ryj/)�rz}r{(hÙjwhÚjuhäjhæj3hè}r|(hê]hë]hì]hí]hð]uhòKKhô]r}hýXHigh performancer~…�r}r€(hÙjwhÚjzubaubahæj[ubahæjTubehæj[ubehæjTubeubjX)�r�}r‚(hÙX*Serial UART cable provided in the EVM kit hÚj¡häjhæj[hè}rƒ(hê]hë]hì]hí]hð]uhòNhóhhô]r„j/)�r…}r†(hÙX)Serial UART cable provided in the EVM kitr‡hÚj�häjhæj3hè}rˆ(hê]hë]hì]hí]hð]uhòKLhô]r‰hýX)Serial UART cable provided in the EVM kitrŠ…�r‹}rŒ(hÙj‡hÚj…ubaubaubeubeubhÛ)�r�}rŽ(hÙUhÚjÙhäjhæhçhè}r�(hê]hë]hì]hí]r�Urecommended-training-videosr‘ahð]r’hZauhòKOhóhhô]r“(hö)�r”}r•(hÙXRecommended Training Videosr–hÚj�häjhæhúhè}r—(hê]hë]hì]hí]hð]uhòKOhóhhô]r˜hýXRecommended Training Videosr™…�rš}r›(hÙj–hÚj”ubaubjQ)�rœ}r�(hÙUhÚj�häjhæjThè}rž(jVX-hí]hì]hê]hë]hð]uhòKPhóhhô]rŸ(jX)�r }r¡(hÙXú`Processor SDK Training Series`__ - Introduction to the Processor SDK Training Series - Processor SDK Overview - Introduction to Processor SDK RTOS Part 1 - Introduction to Processor SDK RTOS Part 2 - Application Development Using Processor SDK RTOShÚjœhäNhæj[hè}r¢(hê]hë]hì]hí]hð]uhòNhóhhô]r£(j/)�r¤}r¥(hÙX!`Processor SDK Training Series`__r¦hÚj häjhæj3hè}r§(hê]hë]hì]hí]hð]uhòKPhô]r¨j)�r©}rª(hÙj¦Uresolvedr«KhÚj¤hæjhè}r¬(UnameXProcessor SDK Training SeriesjX5https://training.ti.com/processor-sdk-training-seriesr­hí]hì]hê]hë]hð]U anonymousr®Kuhô]r¯hýXProcessor SDK Training Seriesr°…�r±}r²(hÙUhÚj©ubaubaubjQ)�r³}r´(hÙUhè}rµ(jVX-hí]hì]hê]hë]hð]uhÚj hô]r¶(jX)�r·}r¸(hÙX1Introduction to the Processor SDK Training Seriesr¹hè}rº(hê]hë]hì]hí]hð]uhÚj³hô]r»j/)�r¼}r½(hÙj¹hÚj·häjhæj3hè}r¾(hê]hë]hì]hí]hð]uhòKRhô]r¿hýX1Introduction to the Processor SDK Training SeriesrÀ…�rÁ}rÂ(hÙj¹hÚj¼ubaubahæj[ubjX)�rÃ}rÄ(hÙXProcessor SDK OverviewrÅhè}rÆ(hê]hë]hì]hí]hð]uhÚj³hô]rÇj/)�rÈ}rÉ(hÙjÅhÚjÃhäjhæj3hè}rÊ(hê]hë]hì]hí]hð]uhòKShô]rËhýXProcessor SDK OverviewrÌ…�rÍ}rÎ(hÙjÅhÚjÈubaubahæj[ubjX)�rÏ}rÐ(hÙX)Introduction to Processor SDK RTOS Part 1rÑhè}rÒ(hê]hë]hì]hí]hð]uhÚj³hô]rÓj/)�rÔ}rÕ(hÙjÑhÚjÏhäjhæj3hè}rÖ(hê]hë]hì]hí]hð]uhòKThô]r×hýX)Introduction to Processor SDK RTOS Part 1rØ…�rÙ}rÚ(hÙjÑhÚjÔubaubahæj[ubjX)�rÛ}rÜ(hÙX)Introduction to Processor SDK RTOS Part 2rÝhè}rÞ(hê]hë]hì]hí]hð]uhÚj³hô]rßj/)�rà}rá(hÙjÝhÚjÛhäjhæj3hè}râ(hê]hë]hì]hí]hð]uhòKUhô]rãhýX)Introduction to Processor SDK RTOS Part 2rä…�rå}ræ(hÙjÝhÚjàubaubahæj[ubjX)�rç}rè(hÙX0Application Development Using Processor SDK RTOSréhè}rê(hê]hë]hì]hí]hð]uhÚj³hô]rëj/)�rì}rí(hÙjéhÚjçhäjhæj3hè}rî(hê]hë]hì]hí]hð]uhòKVhô]rïhýX0Application Development Using Processor SDK RTOSrð…�rñ}rò(hÙjéhÚjìubaubahæj[ubehæjTubeubjX)�ró}rô(hÙX,`AM437x Sitara Processors Training Series`__rõhÚjœhäjhæj[hè}rö(hê]hë]hì]hí]hð]uhòNhóhhô]r÷j/)�rø}rù(hÙjõhÚjóhäjhæj3hè}rú(hê]hë]hì]hí]hð]uhòKWhô]rûj)�rü}rý(hÙjõj«KhÚjøhæjhè}rþ(UnameX(AM437x Sitara Processors Training SeriesjX@https://training.ti.com/am437x-sitara-processors-training-seriesrÿhí]hì]hê]hë]hð]j®Kuhô]rhýX(AM437x Sitara Processors Training Seriesr…�r}r(hÙUhÚjüubaubaubaubjX)�r}r(hÙX+`AM57x Sitara Processors Training Series`__rhÚjœhäjhæj[hè}r(hê]hë]hì]hí]hð]uhòNhóhhô]rj/)�r }r (hÙjhÚjhäjhæj3hè}r (hê]hë]hì]hí]hð]uhòKXhô]r j)�r }r(hÙjj«KhÚj hæjhè}r(UnameX'AM57x Sitara Processors Training SeriesjX?https://training.ti.com/am57x-sitara-processors-training-seriesrhí]hì]hê]hë]hð]j®Kuhô]rhýX'AM57x Sitara Processors Training Seriesr…�r}r(hÙUhÚj ubaubaubaubjX)�r}r(hÙX,`AM65x Sitara Processors Training Series`__ hÚjœhäjhæj[hè}r(hê]hë]hì]hí]hð]uhòNhóhhô]rj/)�r}r(hÙX+`AM65x Sitara Processors Training Series`__rhÚjhäjhæj3hè}r(hê]hë]hì]hí]hð]uhòKYhô]rj)�r}r(hÙjj«KhÚjhæjhè}r (UnameX'AM65x Sitara Processors Training SeriesjXhttps://training.ti.com/am6xr!hí]hì]hê]hë]hð]j®Kuhô]r"hýX'AM65x Sitara Processors Training Seriesr#…�r$}r%(hÙUhÚjubaubaubaubeubj)�r&}r'(hÙX8__ https://training.ti.com/processor-sdk-training-seriesjKhÚj�häjhæjhè}r((jj­hí]r)Uid1r*ahì]hê]hë]hð]j®KuhòKbhóhhô]ubj)�r+}r,(hÙXC__ https://training.ti.com/am437x-sitara-processors-training-seriesjKhÚj�häjhæjhè}r-(jjÿhí]r.Uid2r/ahì]hê]hë]hð]j®KuhòKchóhhô]ubj)�r0}r1(hÙXB__ https://training.ti.com/am57x-sitara-processors-training-seriesjKhÚj�häjhæjhè}r2(jjhí]r3Uid3r4ahì]hê]hë]hð]j®KuhòKdhóhhô]ubj)�r5}r6(hÙX__ https://training.ti.com/am6xjKhÚj�häjhæjhè}r7(jj!hí]r8Uid4r9ahì]hê]hë]hð]j®KuhòKehóhhô]ubjÎ)�r:}r;(hÙUhÚj�häjhæjÑhè}r<(hê]hë]hì]hí]hð]uhòK`hóhhô]r=jÔ)�r>}r?(hÙUj×KhÚj:häjhæhòhè}r@(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubeubhÛ)�rA}rB(hÙUhÚhâhäjhæhçhè}rC(hê]hë]hì]hí]rDUtemplate-application-overviewrEahð]rFhkauhòKchóhhô]rG(hö)�rH}rI(hÙXTemplate Application OverviewrJhÚjAhäjhæhúhè}rK(hê]hë]hì]hí]hð]uhòKchóhhô]rLhýXTemplate Application OverviewrM…�rN}rO(hÙjJhÚjHubaubj/)�rP}rQ(hÙXõThe Template Application is intended for customers to use as a starting point during software development using Processor SDK RTOS software. The Template Application can be quickly brought up by importing the included Code Composer Studio (CCS) project into the CCS development environment. The application currently includes the typical low level drivers such as UART, GPIO, and I2C, the OSAL layer, and Board Library. For additional details refer to the **README.txt** file in the installed package.hÚjAhäjhæj3hè}rR(hê]hë]hì]hí]hð]uhòKdhóhhô]rS(hýXÈThe Template Application is intended for customers to use as a starting point during software development using Processor SDK RTOS software. The Template Application can be quickly brought up by importing the included Code Composer Studio (CCS) project into the CCS development environment. The application currently includes the typical low level drivers such as UART, GPIO, and I2C, the OSAL layer, and Board Library. For additional details refer to the rT…�rU}rV(hÙXÈThe Template Application is intended for customers to use as a starting point during software development using Processor SDK RTOS software. The Template Application can be quickly brought up by importing the included Code Composer Studio (CCS) project into the CCS development environment. The application currently includes the typical low level drivers such as UART, GPIO, and I2C, the OSAL layer, and Board Library. For additional details refer to the hÚjPubcdocutils.nodes strong rW)�rX}rY(hÙX**README.txt**hè}rZ(hê]hë]hì]hí]hð]uhÚjPhô]r[hýX README.txtr\…�r]}r^(hÙUhÚjXubahæUstrongr_ubhýX file in the installed package.r`…�ra}rb(hÙX file in the installed package.hÚjPubeubhÛ)�rc}rd(hÙUjKhÚjAhäjhæhçhè}re(hê]rfXcomponents usedrgahë]hì]hí]rhUcomponents-usedriahð]uhòKnhóhhô]rj(hö)�rk}rl(hÙXComponents UsedrmhÚjchäjhæhúhè}rn(hê]hë]hì]hí]hð]uhòKnhóhhô]rohýXComponents Usedrp…�rq}rr(hÙjmhÚjkubaubjQ)�rs}rt(hÙUhÚjchäjhæjThè}ru(jVX-hí]hì]hê]hë]hð]uhòKphóhhô]rv(jX)�rw}rx(hÙXSYS/BIOS (RTOS only)ryhÚjshäjhæj[hè}rz(hê]hë]hì]hí]hð]uhòNhóhhô]r{j/)�r|}r}(hÙjyhÚjwhäjhæj3hè}r~(hê]hë]hì]hí]hð]uhòKphô]rhýXSYS/BIOS (RTOS only)r€…�r�}r‚(hÙjyhÚj|ubaubaubjX)�rƒ}r„(hÙXXDCTools (RTOS only)r…hÚjshäjhæj[hè}r†(hê]hë]hì]hí]hð]uhòNhóhhô]r‡j/)�rˆ}r‰(hÙj…hÚjƒhäjhæj3hè}rŠ(hê]hë]hì]hí]hð]uhòKqhô]r‹hýXXDCTools (RTOS only)rŒ…�r�}rŽ(hÙj…hÚjˆubaubaubjX)�r�}r�(hÙX.Processor SDK RTOS PDK - Drivers, OSAL, etc. hÚjshäNhæj[hè}r‘(hê]hë]hì]hí]hð]uhòNhóhhô]r’(j/)�r“}r”(hÙXProcessor SDK RTOS PDKr•hÚj�häjhæj3hè}r–(hê]hë]hì]hí]hð]uhòKrhô]r—hýXProcessor SDK RTOS PDKr˜…�r™}rš(hÙj•hÚj“ubaubjQ)�r›}rœ(hÙUhè}r�(jVX-hí]hì]hê]hë]hð]uhÚj�hô]ržjX)�rŸ}r (hÙXDrivers, OSAL, etc. hè}r¡(hê]hë]hì]hí]hð]uhÚj›hô]r¢j/)�r£}r¤(hÙXDrivers, OSAL, etc.r¥hÚjŸhäjhæj3hè}r¦(hê]hë]hì]hí]hð]uhòKthô]r§hýXDrivers, OSAL, etc.r¨…�r©}rª(hÙj¥hÚj£ubaubahæj[ubahæjTubeubeubeubhÛ)�r«}r¬(hÙUjKhÚjAhäjhæhçhè}r­(hê]r®Xsoftware designr¯ahë]hì]hí]r°Usoftware-designr±ahð]uhòKwhóhhô]r²(hö)�r³}r´(hÙXSoftware DesignrµhÚj«häjhæhúhè}r¶(hê]hë]hì]hí]hð]uhòKwhóhhô]r·hýXSoftware Designr¸…�r¹}rº(hÙjµhÚj³ubaubj/)�r»}r¼(hÙXsThe Template Application is designed to provide a foundational project with a clean separation of the application-specific submodule from the startup and initialization code. This gives users the ability to focus on application-specific code and quickly get it up and running. This separation is achieved by splitting the "main" and "app" submodules into different files.r½hÚj«häjhæj3hè}r¾(hê]hë]hì]hí]hð]uhòKyhóhhô]r¿hýXsThe Template Application is designed to provide a foundational project with a clean separation of the application-specific submodule from the startup and initialization code. This gives users the ability to focus on application-specific code and quickly get it up and running. This separation is achieved by splitting the "main" and "app" submodules into different files.rÀ…�rÁ}rÂ(hÙj½hÚj»ubaubj/)�rÃ}rÄ(hÙX+The source files are organized as follows::rÅhÚj«häjhæj3hè}rÆ(hê]hë]hì]hí]hð]uhòKhóhhô]rÇhýX*The source files are organized as follows:rÈ…�rÉ}rÊ(hÙX*The source files are organized as follows:hÚjÃubaubcdocutils.nodes literal_block rË)�rÌ}rÍ(hÙXÔ└── template_app ├── baremetal │   ├── app.c --> Application tasks are here │   ├── app.h --> Application header file │   ├── baremetal_template_app_am572x_a15_evmAM572X.projectspec --> Project spec file | ├── main.c --> Main file which has board and driver init code │   ├── lnk_a15.cmd --> Linker command file. ├── GPIO_board.h --> Gpio board header ├── GPIO_evmAM572x_board.c --> Gpio board configuration └── rtos ├── app.c --> Application tasks are here ├── app.cfg --> Application specific config file ├── app.defs --> Definitions (Currently empty) ├── app.h --> Application header file ├── main.c --> Main file which has board and driver init cod ├── main.cfg --> Main BIOS config file └── rtos_template_app_am572x_a15_evmAM572X.projectspec --> Project spec filehÚj«häjhæU literal_blockrÎhè}rÏ(jjhí]hì]hê]hë]hð]uhòKˆhóhhô]rÐhýXÔ└── template_app ├── baremetal │   ├── app.c --> Application tasks are here │   ├── app.h --> Application header file │   ├── baremetal_template_app_am572x_a15_evmAM572X.projectspec --> Project spec file | ├── main.c --> Main file which has board and driver init code │   ├── lnk_a15.cmd --> Linker command file. ├── GPIO_board.h --> Gpio board header ├── GPIO_evmAM572x_board.c --> Gpio board configuration └── rtos ├── app.c --> Application tasks are here ├── app.cfg --> Application specific config file ├── app.defs --> Definitions (Currently empty) ├── app.h --> Application header file ├── main.c --> Main file which has board and driver init cod ├── main.cfg --> Main BIOS config file └── rtos_template_app_am572x_a15_evmAM572X.projectspec --> Project spec filerÑ…�rÒ}rÓ(hÙUhÚjÌubaubj/)�rÔ}rÕ(hÙXdIn general, to write a new application **app.c** and **app.h** can be modified, recompiled, and run.hÚj«häjhæj3hè}rÖ(hê]hë]hì]hí]hð]uhòK“hóhhô]r×(hýX'In general, to write a new application rØ…�rÙ}rÚ(hÙX'In general, to write a new application hÚjÔubjW)�rÛ}rÜ(hÙX **app.c**hè}rÝ(hê]hë]hì]hí]hð]uhÚjÔhô]rÞhýXapp.crß…�rà}rá(hÙUhÚjÛubahæj_ubhýX and râ…�rã}rä(hÙX and hÚjÔubjW)�rå}ræ(hÙX **app.h**hè}rç(hê]hë]hì]hí]hð]uhÚjÔhô]rèhýXapp.hré…�rê}rë(hÙUhÚjåubahæj_ubhýX& can be modified, recompiled, and run.rì…�rí}rî(hÙX& can be modified, recompiled, and run.hÚjÔubeubjÎ)�rï}rð(hÙUhÚj«häjhæjÑhè}rñ(hê]hë]hì]hí]hð]uhòK–hóhhô]ròjÔ)�ró}rô(hÙUj×KhÚjïhäjhæhòhè}rõ(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubeubhàhÛ)�rö}r÷(hÙUhÚhâhäjhæhçhè}rø(hê]hë]hì]hí]rùUadditional-informationrúahð]rûh2auhòM¿hóhhô]rü(hö)�rý}rþ(hÙXAdditional InformationrÿhÚjöhäjhæhúhè}r(hê]hë]hì]hí]hð]uhòM¿hóhhô]rhýXAdditional Informationr…�r}r(hÙjÿhÚjýubaubhÛ)�r}r(hÙUhÚjöhäjhæhçhè}r(hê]hë]hì]hí]rUporting-to-a-custom-boardr ahð]r hˆauhòMÁhóhhô]r (hö)�r }r (hÙXPorting to a Custom BoardrhÚjhäjhæhúhè}r(hê]hë]hì]hí]hð]uhòMÁhóhhô]rhýXPorting to a Custom Boardr…�r}r(hÙjhÚj ubaubj/)�r}r(hÙXÍThe Template Application can be easily modified to run on a custom board. The major change required is to link in a new Board Library. Modifying the Template Application for your custom Board can be achieved by simply removing the ``ti.board`` library and PATH from the project and replacing with your specific board libraty and PATH under the linker build options in CCS by right clicking on the project and selecting *Properties --> GNU Linker --> Libraries*.hÚjhäjhæj3hè}r(hê]hë]hì]hí]hð]uhòMÂhóhhô]r(hýXçThe Template Application can be easily modified to run on a custom board. The major change required is to link in a new Board Library. Modifying the Template Application for your custom Board can be achieved by simply removing the r…�r}r(hÙXçThe Template Application can be easily modified to run on a custom board. The major change required is to link in a new Board Library. Modifying the Template Application for your custom Board can be achieved by simply removing the hÚjubcdocutils.nodes literal r)�r}r(hÙX ``ti.board``hè}r(hê]hë]hì]hí]hð]uhÚjhô]rhýXti.boardr …�r!}r"(hÙUhÚjubahæUliteralr#ubhýX° library and PATH from the project and replacing with your specific board libraty and PATH under the linker build options in CCS by right clicking on the project and selecting r$…�r%}r&(hÙX° library and PATH from the project and replacing with your specific board libraty and PATH under the linker build options in CCS by right clicking on the project and selecting hÚjubcdocutils.nodes emphasis r')�r(}r)(hÙX)*Properties --> GNU Linker --> Libraries*hè}r*(hê]hë]hì]hí]hð]uhÚjhô]r+hýX'Properties --> GNU Linker --> Librariesr,…�r-}r.(hÙUhÚj(ubahæUemphasisr/ubhýX.…�r0}r1(hÙX.hÚjubeubj/)�r2}r3(hÙXkFor example, currently the library linked for AM572x is specified in the **.projectspec** file as follows::hÚjhäjhæj3hè}r4(hê]hë]hì]hí]hð]uhòMÊhóhhô]r5(hýXIFor example, currently the library linked for AM572x is specified in the r6…�r7}r8(hÙXIFor example, currently the library linked for AM572x is specified in the hÚj2ubjW)�r9}r:(hÙX**.projectspec**hè}r;(hê]hë]hì]hí]hð]uhÚj2hô]r<hýX .projectspecr=…�r>}r?(hÙUhÚj9ubahæj_ubhýX file as follows:r@…�rA}rB(hÙX file as follows:hÚj2ubeubjË)�rC}rD(hÙXslinkerBuildOptions= -L${TI_PDK_INSTALL_DIR}/packages/ti/board/lib/evmAM572x/a15/release/ -l:ti.board.aa15fghÚjhäjhæjÎhè}rE(jjhí]hì]hê]hë]hð]uhòMÔhóhhô]rFhýXslinkerBuildOptions= -L${TI_PDK_INSTALL_DIR}/packages/ti/board/lib/evmAM572x/a15/release/ -l:ti.board.aa15fgrG…�rH}rI(hÙUhÚjCubaubj))�rJ}rK(hÙX¤Currently for AM572x EVM there is also a dependemcy on the **GPIO_evmAM572x_board.c** and **GPIO_board.h** files. These files can be modified for your custom board.hÚjhäjhæj,hè}rL(hê]hë]hì]hí]hð]uhòNhóhhô]rMj/)�rN}rO(hÙX¤Currently for AM572x EVM there is also a dependemcy on the **GPIO_evmAM572x_board.c** and **GPIO_board.h** files. These files can be modified for your custom board.hÚjJhäjhæj3hè}rP(hê]hë]hì]hí]hð]uhòMÒhô]rQ(hýX;Currently for AM572x EVM there is also a dependemcy on the rR…�rS}rT(hÙX;Currently for AM572x EVM there is also a dependemcy on the hÚjNubjW)�rU}rV(hÙX**GPIO_evmAM572x_board.c**hè}rW(hê]hë]hì]hí]hð]uhÚjNhô]rXhýXGPIO_evmAM572x_board.crY…�rZ}r[(hÙUhÚjUubahæj_ubhýX and r\…�r]}r^(hÙX and hÚjNubjW)�r_}r`(hÙX**GPIO_board.h**hè}ra(hê]hë]hì]hí]hð]uhÚjNhô]rbhýX GPIO_board.hrc…�rd}re(hÙUhÚj_ubahæj_ubhýX: files. These files can be modified for your custom board.rf…�rg}rh(hÙX: files. These files can be modified for your custom board.hÚjNubeubaubeubeubhÛ)�ri}rj(hÙUhÚhâhäjhæhçhè}rk(hê]hë]hì]hí]rlU next-stepsrmahð]rnh¼auhòM×hóhhô]ro(hö)�rp}rq(hÙX Next StepsrrhÚjihäjhæhúhè}rs(hê]hë]hì]hí]hð]uhòM×hóhhô]rthýX Next Stepsru…�rv}rw(hÙjrhÚjpubaubj/)�rx}ry(hÙX3Thanks for taking the time to read through this getting started workshop. At this point you should be comfortable with the basic structure of the SDK, know how to import, build, modify, and run applications on the target, and know where to find various documentation in the SDK and Software Developer Guide.rzhÚjihäjhæj3hè}r{(hê]hë]hì]hí]hð]uhòMØhóhhô]r|hýX3Thanks for taking the time to read through this getting started workshop. At this point you should be comfortable with the basic structure of the SDK, know how to import, build, modify, and run applications on the target, and know where to find various documentation in the SDK and Software Developer Guide.r}…�r~}r(hÙjzhÚjxubaubj/)�r€}r�(hÙXÑNext, you can check out our various video training series in the `TI training portal`__, check out our `Examples and Demonstrations `__, and get started writing your own application!hÚjihäjhæj3hè}r‚(hê]hë]hì]hí]hð]uhòMÝhóhhô]rƒ(hýXANext, you can check out our various video training series in the r„…�r…}r†(hÙXANext, you can check out our various video training series in the hÚj€ubj)�r‡}rˆ(hÙX`TI training portal`__j«KhÚj€hæjhè}r‰(UnameXTI training portaljXhttps://training.ti.com/rŠhí]hì]hê]hë]hð]j®Kuhô]r‹hýXTI training portalrŒ…�r�}rŽ(hÙUhÚj‡ubaubhýX, check out our r�…�r�}r‘(hÙX, check out our hÚj€ubj)�r’}r“(hÙX;`Examples and Demonstrations `__hè}r”(UnameXExamples and DemonstrationsjXindex_examples_demos.htmlhí]hì]hê]hë]hð]uhÚj€hô]r•hýXExamples and Demonstrationsr–…�r—}r˜(hÙUhÚj’ubahæjubhýX/, and get started writing your own application!r™…�rš}r›(hÙX/, and get started writing your own application!hÚj€ubeubj)�rœ}r�(hÙX__ https://training.ti.com/jKhÚjihäjhæjhè}rž(jjŠhí]rŸUid12r ahì]hê]hë]hð]j®KuhòMéhóhhô]ubj/)�r¡}r¢(hÙX‘If you have any questions along the way please remember to read the `FAQ `__ or reach out to our engineers on the `E2E forums`__.hÚjihäjhæj3hè}r£(hê]hë]hì]hí]hð]uhòMähóhhô]r¤(hýXDIf you have any questions along the way please remember to read the r¥…�r¦}r§(hÙXDIf you have any questions along the way please remember to read the hÚj¡ubj)�r¨}r©(hÙX`FAQ `__hè}rª(UnameXFAQjXindex_faq.htmlhí]hì]hê]hë]hð]uhÚj¡hô]r«hýXFAQr¬…�r­}r®(hÙUhÚj¨ubahæjubhýX& or reach out to our engineers on the r¯…�r°}r±(hÙX& or reach out to our engineers on the hÚj¡ubj)�r²}r³(hÙX`E2E forums`__j«KhÚj¡hæjhè}r´(UnameX E2E forumsjXhttp://e2e.ti.com/rµhí]hì]hê]hë]hð]j®Kuhô]r¶hýX E2E forumsr·…�r¸}r¹(hÙUhÚj²ubaubhýX.…�rº}r»(hÙX.hÚj¡ubeubj)�r¼}r½(hÙX__ http://e2e.ti.com/jKhÚjihäjhæjhè}r¾(jjµhí]r¿Uid13rÀahì]hê]hë]hð]j®KuhòMîhóhhô]ubeubeubhäjhæhçhè}rÁ(hê]hë]hì]hí]rÂUlabrÃahð]rÄh·auhòK™hóhhô]rÅ(hö)�rÆ}rÇ(hÙXLabrÈhÚhàhäjhæhúhè}rÉ(hê]hë]hì]hí]hð]uhòK™hóhhô]rÊhýXLabrË…�rÌ}rÍ(hÙjÈhÚjÆubaubj/)�rÎ}rÏ(hÙXjNow that the introductory material is out of the way, it is time to get our hands dirty and begin the lab.rÐhÚhàhäjhæj3hè}rÑ(hê]hë]hì]hí]hð]uhòKšhóhhô]rÒhýXjNow that the introductory material is out of the way, it is time to get our hands dirty and begin the lab.rÓ…�rÔ}rÕ(hÙjÐhÚjÎubaubj))�rÖ}r×(hÙX«The AM572x EVM was used for the creation of this lab material, but the same instructions apply for the other supported platforms -- AM335x EVM, AM437x EVM, and AM654x EVM.hÚhàhäjhæj,hè}rØ(hê]hë]hì]hí]hð]uhòNhóhhô]rÙj/)�rÚ}rÛ(hÙX«The AM572x EVM was used for the creation of this lab material, but the same instructions apply for the other supported platforms -- AM335x EVM, AM437x EVM, and AM654x EVM.rÜhÚjÖhäjhæj3hè}rÝ(hê]hë]hì]hí]hð]uhòKžhô]rÞhýX«The AM572x EVM was used for the creation of this lab material, but the same instructions apply for the other supported platforms -- AM335x EVM, AM437x EVM, and AM654x EVM.rß…�rà}rá(hÙjÜhÚjÚubaubaubhÛ)�râ}rã(hÙUhÚhàhäjhæhçhè}rä(hê]hë]hì]hí]råU,task-1-installing-the-processor-sdk-into-ccsræahð]rçhXauhòK£hóhhô]rè(hö)�ré}rê(hÙX.Task 1 - Installing the Processor SDK into CCSrëhÚjâhäjhæhúhè}rì(hê]hë]hì]hí]hð]uhòK£hóhhô]ríhýX.Task 1 - Installing the Processor SDK into CCSrî…�rï}rð(hÙjëhÚjéubaubj/)�rñ}rò(hÙXNBefore using the Processor SDK, we must install its components into Code Composer Studio (CCS). Typically -- if you chose to install the Software Development Kit (SDK) into the default **$HOME/ti** or **C:\\ti** location -- CCS will automatically detect the new products the next time it is opened and prompt you to install them. If you are not prompted to install the new products, you can do so manually through the *Window --> Preferences --> Code Composer Studio --> Products* menu. This menu will allow you define product discovery paths and rediscover, install, and unistall products.hÚjâhäjhæj3hè}ró(hê]hë]hì]hí]hð]uhòK¤hóhhô]rô(hýX¹Before using the Processor SDK, we must install its components into Code Composer Studio (CCS). Typically -- if you chose to install the Software Development Kit (SDK) into the default rõ…�rö}r÷(hÙX¹Before using the Processor SDK, we must install its components into Code Composer Studio (CCS). Typically -- if you chose to install the Software Development Kit (SDK) into the default hÚjñubjW)�rø}rù(hÙX **$HOME/ti**hè}rú(hê]hë]hì]hí]hð]uhÚjñhô]rûhýX$HOME/tirü…�rý}rþ(hÙUhÚjøubahæj_ubhýX or rÿ…�r}r(hÙX or hÚjñubjW)�r}r(hÙX **C:\\ti**hè}r(hê]hë]hì]hí]hð]uhÚjñhô]rhýXC:\tir…�r}r(hÙUhÚjubahæj_ubhýXÏ location -- CCS will automatically detect the new products the next time it is opened and prompt you to install them. If you are not prompted to install the new products, you can do so manually through the r …�r }r (hÙXÏ location -- CCS will automatically detect the new products the next time it is opened and prompt you to install them. If you are not prompted to install the new products, you can do so manually through the hÚjñubj')�r }r (hÙX>*Window --> Preferences --> Code Composer Studio --> Products*hè}r(hê]hë]hì]hí]hð]uhÚjñhô]rhýX<Window --> Preferences --> Code Composer Studio --> Productsr…�r}r(hÙUhÚj ubahæj/ubhýXn menu. This menu will allow you define product discovery paths and rediscover, install, and unistall products.r…�r}r(hÙXn menu. This menu will allow you define product discovery paths and rediscover, install, and unistall products.hÚjñubeubcdocutils.nodes image r)�r}r(hÙXE.. image:: ../images/install-discovered-products.png :scale: 70 % hÚjâhäjhæUimagerhè}r(UscaleKFUuriX.rtos/../images/install-discovered-products.pngrhí]hì]hê]hë]U candidatesr}rU*jshð]uhòNhóhhô]ubj/)�r}r(hÙX±For more info on setting up CCS. Check out `Setup CCS for EVM and Processor-SDK RTOS `__ in the How To Guides.hÚjâhäjhæj3hè}r (hê]hë]hì]hí]hð]uhòK±hóhhô]r!(hýX+For more info on setting up CCS. Check out r"…�r#}r$(hÙX+For more info on setting up CCS. Check out hÚjubj)�r%}r&(hÙXp`Setup CCS for EVM and Processor-SDK RTOS `__hè}r'(UnameX(Setup CCS for EVM and Processor-SDK RTOSjXAindex_how_to_guides.html#setup-ccs-for-evm-and-processor-sdk-rtoshí]hì]hê]hë]hð]uhÚjhô]r(hýX(Setup CCS for EVM and Processor-SDK RTOSr)…�r*}r+(hÙUhÚj%ubahæjubhýX in the How To Guides.r,…�r-}r.(hÙX in the How To Guides.hÚjubeubeubhÛ)�r/}r0(hÙUhÚhàhäjhæhçhè}r1(hê]hë]hì]hí]r2U6task-2-importing-and-building-the-template-applicationr3ahð]r4hyauhòK¶hóhhô]r5(hö)�r6}r7(hÙX9Task 2 - Importing and Building the Template Applicationr8hÚj/häjhæhúhè}r9(hê]hë]hì]hí]hð]uhòK¶hóhhô]r:hýX9Task 2 - Importing and Building the Template Applicationr;…�r<}r=(hÙj8hÚj6ubaubj/)�r>}r?(hÙXWe begin the lab by importing the RTOS or Bare-metal Template Application into CCS. The Template Application is delivered as a preconfigured CCS Project, making this process very simple. We will also use this as an opportunity to briefly dive into the structure of the SDK.r@hÚj/häjhæj3hè}rA(hê]hë]hì]hí]hð]uhòK·hóhhô]rBhýXWe begin the lab by importing the RTOS or Bare-metal Template Application into CCS. The Template Application is delivered as a preconfigured CCS Project, making this process very simple. We will also use this as an opportunity to briefly dive into the structure of the SDK.rC…�rD}rE(hÙj@hÚj>ubaubj/)�rF}rG(hÙXLTo import a project into CCS, go to the *Project --> Import CCS Projects...* menu. Typically, you will import SDK projects from either the **pdk__** or **processor_sdk_rtos__** directories. The **pdk__** directory contains Chip Support Library (CSL), Low Level Drivers (LLDs), Boot, Diagnostics, and other functions. It is also where LLD example projects are created. The **processor_sdk_rtos__** directory contains demos (including the Template App), documentation, and resources for creating bootable SD cards.hÚj/häjhæj3hè}rH(hê]hë]hì]hí]hð]uhòK¼hóhhô]rI(hýX(To import a project into CCS, go to the rJ…�rK}rL(hÙX(To import a project into CCS, go to the hÚjFubj')�rM}rN(hÙX$*Project --> Import CCS Projects...*hè}rO(hê]hë]hì]hí]hð]uhÚjFhô]rPhýX"Project --> Import CCS Projects...rQ…�rR}rS(hÙUhÚjMubahæj/ubhýX? menu. Typically, you will import SDK projects from either the rT…�rU}rV(hÙX? menu. Typically, you will import SDK projects from either the hÚjFubjW)�rW}rX(hÙX**pdk__**hè}rY(hê]hë]hì]hí]hð]uhÚjFhô]rZhýXpdk__r[…�r\}r](hÙUhÚjWubahæj_ubhýX or r^…�r_}r`(hÙX or hÚjFubjW)�ra}rb(hÙX+**processor_sdk_rtos__**hè}rc(hê]hë]hì]hí]hð]uhÚjFhô]rdhýX'processor_sdk_rtos__re…�rf}rg(hÙUhÚjaubahæj_ubhýX directories. The rh…�ri}rj(hÙX directories. The hÚjFubjW)�rk}rl(hÙX**pdk__**hè}rm(hê]hë]hì]hí]hð]uhÚjFhô]rnhýXpdk__ro…�rp}rq(hÙUhÚjkubahæj_ubhýX© directory contains Chip Support Library (CSL), Low Level Drivers (LLDs), Boot, Diagnostics, and other functions. It is also where LLD example projects are created. The rr…�rs}rt(hÙX© directory contains Chip Support Library (CSL), Low Level Drivers (LLDs), Boot, Diagnostics, and other functions. It is also where LLD example projects are created. The hÚjFubjW)�ru}rv(hÙX+**processor_sdk_rtos__**hè}rw(hê]hë]hì]hí]hð]uhÚjFhô]rxhýX'processor_sdk_rtos__ry…�rz}r{(hÙUhÚjuubahæj_ubhýXt directory contains demos (including the Template App), documentation, and resources for creating bootable SD cards.r|…�r}}r~(hÙXt directory contains demos (including the Template App), documentation, and resources for creating bootable SD cards.hÚjFubeubj/)�r}r€(hÙXnNow that you have an understanding of these directories, let us move on to importing the Template Application.r�hÚj/häjhæj3hè}r‚(hê]hë]hì]hí]hð]uhòKÆhóhhô]rƒhýXnNow that you have an understanding of these directories, let us move on to importing the Template Application.r„…�r…}r†(hÙj�hÚjubaubj/)�r‡}rˆ(hÙX>To import a project into CCS open the *Project --> Import CCS Projects...* menu. Then click *Browse...* to locate the template app which can be found at: **processor_sdk_rtos__/demos/rtos_template_app///**. This will create a copy of the project in your CCS workspace.hÚj/häjhæj3hè}r‰(hê]hë]hì]hí]hð]uhòKÉhóhhô]rŠ(hýX&To import a project into CCS open the r‹…�rŒ}r�(hÙX&To import a project into CCS open the hÚj‡ubj')�rŽ}r�(hÙX$*Project --> Import CCS Projects...*hè}r�(hê]hë]hì]hí]hð]uhÚj‡hô]r‘hýX"Project --> Import CCS Projects...r’…�r“}r”(hÙUhÚjŽubahæj/ubhýX menu. Then click r•…�r–}r—(hÙX menu. Then click hÚj‡ubj')�r˜}r™(hÙX *Browse...*hè}rš(hê]hë]hì]hí]hð]uhÚj‡hô]r›hýX Browse...rœ…�r�}rž(hÙUhÚj˜ubahæj/ubhýX3 to locate the template app which can be found at: rŸ…�r }r¡(hÙX3 to locate the template app which can be found at: hÚj‡ubjW)�r¢}r£(hÙXe**processor_sdk_rtos__/demos/rtos_template_app///**hè}r¤(hê]hë]hì]hí]hð]uhÚj‡hô]r¥hýXaprocessor_sdk_rtos__/demos/rtos_template_app///r¦…�r§}r¨(hÙUhÚj¢ubahæj_ubhýX?. This will create a copy of the project in your CCS workspace.r©…�rª}r«(hÙX?. This will create a copy of the project in your CCS workspace.hÚj‡ubeubj)�r¬}r­(hÙX<.. image:: ../images/import-ccs-project.png :scale: 70 % hÚj/häjhæjhè}r®(UscaleKFUuriX%rtos/../images/import-ccs-project.pngr¯hí]hì]hê]hë]j}r°U*j¯shð]uhòNhóhhô]ubj/)�r±}r²(hÙX After project import is complete you will see the Template Application under the *Project Explorer* on the left side of CCS. Next, right click on the project and select *Build Project*. You should get a message that says ``**** Build Finished ****`` in the CCS Console.hÚj/häjhæj3hè}r³(hê]hë]hì]hí]hð]uhòKÑhóhhô]r´(hýXQAfter project import is complete you will see the Template Application under the rµ…�r¶}r·(hÙXQAfter project import is complete you will see the Template Application under the hÚj±ubj')�r¸}r¹(hÙX*Project Explorer*hè}rº(hê]hë]hì]hí]hð]uhÚj±hô]r»hýXProject Explorerr¼…�r½}r¾(hÙUhÚj¸ubahæj/ubhýXF on the left side of CCS. Next, right click on the project and select r¿…�rÀ}rÁ(hÙXF on the left side of CCS. Next, right click on the project and select hÚj±ubj')�rÂ}rÃ(hÙX*Build Project*hè}rÄ(hê]hë]hì]hí]hð]uhÚj±hô]rÅhýX Build ProjectrÆ…�rÇ}rÈ(hÙUhÚjÂubahæj/ubhýX%. You should get a message that says rÉ…�rÊ}rË(hÙX%. You should get a message that says hÚj±ubj)�rÌ}rÍ(hÙX``**** Build Finished ****``hè}rÎ(hê]hë]hì]hí]hð]uhÚj±hô]rÏhýX**** Build Finished ****rÐ…�rÑ}rÒ(hÙUhÚjÌubahæj#ubhýX in the CCS Console.rÓ…�rÔ}rÕ(hÙX in the CCS Console.hÚj±ubeubeubhÛ)�rÖ}r×(hÙUhÚhàhäjhæhçhè}rØ(hê]hë]hì]hí]rÙUtask-3-hardware-setuprÚahð]rÛhFauhòK×hóhhô]rÜ(hö)�rÝ}rÞ(hÙXTask 3 - Hardware SetuprßhÚjÖhäjhæhúhè}rà(hê]hë]hì]hí]hð]uhòK×hóhhô]ráhýXTask 3 - Hardware Setuprâ…�rã}rä(hÙjßhÚjÝubaubcdocutils.nodes warning rå)�ræ}rç(hÙXÒThe EVM board is sensitive to electrostatic discharges (ESD). Use a grounding strap or other device to prevent damaging the board. Be sure to connect communication cables before applying power to any equipment.hÚjÖhäjhæUwarningrèhè}ré(hê]hë]hì]hí]hð]uhòNhóhhô]rêj/)�rë}rì(hÙXÒThe EVM board is sensitive to electrostatic discharges (ESD). Use a grounding strap or other device to prevent damaging the board. Be sure to connect communication cables before applying power to any equipment.ríhÚjæhäjhæj3hè}rî(hê]hë]hì]hí]hð]uhòKÚhô]rïhýXÒThe EVM board is sensitive to electrostatic discharges (ESD). Use a grounding strap or other device to prevent damaging the board. Be sure to connect communication cables before applying power to any equipment.rð…�rñ}rò(hÙjíhÚjëubaubaubj/)�ró}rô(hÙXÓHardware setup will vary depending on which EVM you are using. Generally, you need to make sure that the boot switches are set correctly and that serial, a JTAG debug probe, and power are connected to the board.rõhÚjÖhäjhæj3hè}rö(hê]hë]hì]hí]hð]uhòKßhóhhô]r÷hýXÓHardware setup will vary depending on which EVM you are using. Generally, you need to make sure that the boot switches are set correctly and that serial, a JTAG debug probe, and power are connected to the board.rø…�rù}rú(hÙjõhÚjóubaubj/)�rû}rü(hÙX„Refer to the Quick Start Guide that came with your board and the Hardware User's Guide for more detailed hardware setup information.rýhÚjÖhäjhæj3hè}rþ(hê]hë]hì]hí]hð]uhòKãhóhhô]rÿhýX„Refer to the Quick Start Guide that came with your board and the Hardware User's Guide for more detailed hardware setup information.r…�r}r(hÙjýhÚjûubaubjQ)�r}r(hÙUhÚjÖhäjhæjThè}r(jVX-hí]hì]hê]hë]hð]uhòKæhóhhô]r(jX)�r}r(hÙX:AM335x EVM: - `Quick Start Guide`__ - `HW User's Guide`__hÚjhäNhæj[hè}r (hê]hë]hì]hí]hð]uhòNhóhhô]r (j/)�r }r (hÙX AM335x EVM:r hÚjhäjhæj3hè}r(hê]hë]hì]hí]hð]uhòKæhô]rhýX AM335x EVM:r…�r}r(hÙj hÚj ubaubjQ)�r}r(hÙUhè}r(jVX-hí]hì]hê]hë]hð]uhÚjhô]r(jX)�r}r(hÙX`Quick Start Guide`__rhè}r(hê]hë]hì]hí]hð]uhÚjhô]rj/)�r}r(hÙjhÚjhäjhæj3hè}r(hê]hë]hì]hí]hð]uhòKèhô]rj)�r }r!(hÙjj«KhÚjhæjhè}r"(UnameXQuick Start GuidejX.http://www.ti.com/lit/ml/sprw225d/sprw225d.pdfr#hí]hì]hê]hë]hð]j®Kuhô]r$hýXQuick Start Guider%…�r&}r'(hÙUhÚj ubaubaubahæj[ubjX)�r(}r)(hÙX`HW User's Guide`__r*hè}r+(hê]hë]hì]hí]hð]uhÚjhô]r,j/)�r-}r.(hÙj*hÚj(häjhæj3hè}r/(hê]hë]hì]hí]hð]uhòKéhô]r0j)�r1}r2(hÙj*j«KhÚj-hæjhè}r3(UnameXHW User's GuidejXPhttp://processors.wiki.ti.com/index.php/AM335x_General_Purpose_EVM_HW_User_Guider4hí]hì]hê]hë]hð]j®Kuhô]r5hýXHW User's Guider6…�r7}r8(hÙUhÚj1ubaubaubahæj[ubehæjTubeubjX)�r9}r:(hÙX:AM437x EVM: - `Quick Start Guide`__ - `HW User's Guide`__hÚjhäNhæj[hè}r;(hê]hë]hì]hí]hð]uhòNhóhhô]r<(j/)�r=}r>(hÙX AM437x EVM:r?hÚj9häjhæj3hè}r@(hê]hë]hì]hí]hð]uhòKêhô]rAhýX AM437x EVM:rB…�rC}rD(hÙj?hÚj=ubaubjQ)�rE}rF(hÙUhè}rG(jVX-hí]hì]hê]hë]hð]uhÚj9hô]rH(jX)�rI}rJ(hÙX`Quick Start Guide`__rKhè}rL(hê]hë]hì]hí]hð]uhÚjEhô]rMj/)�rN}rO(hÙjKhÚjIhäjhæj3hè}rP(hê]hë]hì]hí]hð]uhòKìhô]rQj)�rR}rS(hÙjKj«KhÚjNhæjhè}rT(UnameXQuick Start GuidejX,http://www.ti.com/lit/ml/sprw256/sprw256.pdfrUhí]hì]hê]hë]hð]j®Kuhô]rVhýXQuick Start GuiderW…�rX}rY(hÙUhÚjRubaubaubahæj[ubjX)�rZ}r[(hÙX`HW User's Guide`__r\hè}r](hê]hë]hì]hí]hð]uhÚjEhô]r^j/)�r_}r`(hÙj\hÚjZhäjhæj3hè}ra(hê]hë]hì]hí]hð]uhòKíhô]rbj)�rc}rd(hÙj\j«KhÚj_hæjhè}re(UnameXHW User's GuidejXPhttp://processors.wiki.ti.com/index.php/AM437x_General_Purpose_EVM_HW_User_Guiderfhí]hì]hê]hë]hð]j®Kuhô]rghýXHW User's Guiderh…�ri}rj(hÙUhÚjcubaubaubahæj[ubehæjTubeubjX)�rk}rl(hÙX:AM572x EVM: - `Quick Start Guide`__ - `HW User's Guide`__hÚjhäNhæj[hè}rm(hê]hë]hì]hí]hð]uhòNhóhhô]rn(j/)�ro}rp(hÙX AM572x EVM:rqhÚjkhäjhæj3hè}rr(hê]hë]hì]hí]hð]uhòKîhô]rshýX AM572x EVM:rt…�ru}rv(hÙjqhÚjoubaubjQ)�rw}rx(hÙUhè}ry(jVX-hí]hì]hê]hë]hð]uhÚjkhô]rz(jX)�r{}r|(hÙX`Quick Start Guide`__r}hè}r~(hê]hë]hì]hí]hð]uhÚjwhô]rj/)�r€}r�(hÙj}hÚj{häjhæj3hè}r‚(hê]hë]hì]hí]hð]uhòKðhô]rƒj)�r„}r…(hÙj}j«KhÚj€hæjhè}r†(UnameXQuick Start GuidejX,http://www.ti.com/lit/ug/sprw275/sprw275.pdfr‡hí]hì]hê]hë]hð]j®Kuhô]rˆhýXQuick Start Guider‰…�rŠ}r‹(hÙUhÚj„ubaubaubahæj[ubjX)�rŒ}r�(hÙX`HW User's Guide`__rŽhè}r�(hê]hë]hì]hí]hð]uhÚjwhô]r�j/)�r‘}r’(hÙjŽhÚjŒhäjhæj3hè}r“(hê]hë]hì]hí]hð]uhòKñhô]r”j)�r•}r–(hÙjŽj«KhÚj‘hæjhè}r—(UnameXHW User's GuidejX!http://www.ti.com/lit/pdf/spruig1r˜hí]hì]hê]hë]hð]j®Kuhô]r™hýXHW User's Guiderš…�r›}rœ(hÙUhÚj•ubaubaubahæj[ubehæjTubeubjX)�r�}rž(hÙX#AM654x EVM - `Quick Start Guide`__ hÚjhäjhæj[hè}rŸ(hê]hë]hì]hí]hð]uhòNhóhhô]r j/)�r¡}r¢(hÙX"AM654x EVM - `Quick Start Guide`__hÚj�häjhæj3hè}r£(hê]hë]hì]hí]hð]uhòKòhô]r¤(hýX AM654x EVM - r¥…�r¦}r§(hÙX AM654x EVM - hÚj¡ubj)�r¨}r©(hÙX`Quick Start Guide`__j«KhÚj¡hæjhè}rª(UnameXQuick Start GuidejX!http://www.ti.com/lit/pdf/sprw323r«hí]hì]hê]hë]hð]j®Kuhô]r¬hýXQuick Start Guider­…�r®}r¯(hÙUhÚj¨ubaubeubaubeubj)�r°}r±(hÙX1__ http://www.ti.com/lit/ml/sprw225d/sprw225d.pdfjKhÚjÖhäjhæjhè}r²(jj#hí]r³Uid5r´ahì]hê]hë]hð]j®KuhòKühóhhô]ubj)�rµ}r¶(hÙXS__ http://processors.wiki.ti.com/index.php/AM335x_General_Purpose_EVM_HW_User_GuidejKhÚjÖhäjhæjhè}r·(jj4hí]r¸Uid6r¹ahì]hê]hë]hð]j®KuhòKýhóhhô]ubj)�rº}r»(hÙX/__ http://www.ti.com/lit/ml/sprw256/sprw256.pdfjKhÚjÖhäjhæjhè}r¼(jjUhí]r½Uid7r¾ahì]hê]hë]hð]j®KuhòKþhóhhô]ubj)�r¿}rÀ(hÙXS__ http://processors.wiki.ti.com/index.php/AM437x_General_Purpose_EVM_HW_User_GuidejKhÚjÖhäjhæjhè}rÁ(jjfhí]rÂUid8rÃahì]hê]hë]hð]j®KuhòKÿhóhhô]ubj)�rÄ}rÅ(hÙX/__ http://www.ti.com/lit/ug/sprw275/sprw275.pdfjKhÚjÖhäjhæjhè}rÆ(jj‡hí]rÇUid9rÈahì]hê]hë]hð]j®KuhòMhóhhô]ubj)�rÉ}rÊ(hÙX$__ http://www.ti.com/lit/pdf/spruig1jKhÚjÖhäjhæjhè}rË(jj˜hí]rÌUid10rÍahì]hê]hë]hð]j®KuhòMhóhhô]ubj)�rÎ}rÏ(hÙX$__ http://www.ti.com/lit/pdf/sprw323jKhÚjÖhäjhæjhè}rÐ(jj«hí]rÑUid11rÒahì]hê]hë]hð]j®KuhòMhóhhô]ubj/)�rÓ}rÔ(hÙX:Example connections for the AM572x EVM are provided below:rÕhÚjÖhäjhæj3hè}rÖ(hê]hë]hì]hí]hð]uhòKýhóhhô]r×hýX:Example connections for the AM572x EVM are provided below:rØ…�rÙ}rÚ(hÙjÕhÚjÓubaubhÛ)�rÛ}rÜ(hÙUhÚjÖhäjhæhçhè}rÝ(hê]hë]hì]hí]rÞUfrontrßahð]ràh#auhòMhóhhô]rá(hö)�râ}rã(hÙXFronträhÚjÛhäjhæhúhè}rå(hê]hë]hì]hí]hð]uhòMhóhhô]ræhýXFrontrç…�rè}ré(hÙjähÚjâubaubj)�rê}rë(hÙXC.. image:: ../images/am572x-evm-hw-setup-front.jpg :scale: 50 % hÚjÛhäjhæjhè}rì(UscaleK2UuriX,rtos/../images/am572x-evm-hw-setup-front.jpgríhí]hì]hê]hë]j}rîU*jíshð]uhòNhóhhô]ubeubhÛ)�rï}rð(hÙUhÚjÖhäjhæhçhè}rñ(hê]hë]hì]hí]ròUbackróahð]rôh:auhòMhóhhô]rõ(hö)�rö}r÷(hÙXBackrøhÚjïhäjhæhúhè}rù(hê]hë]hì]hí]hð]uhòMhóhhô]rúhýXBackrû…�rü}rý(hÙjøhÚjöubaubj)�rþ}rÿ(hÙXB.. image:: ../images/am572x-evm-hw-setup-back.jpg :scale: 44 % hÚjïhäjhæjhè}r(UscaleK,UuriX+rtos/../images/am572x-evm-hw-setup-back.jpgrhí]hì]hê]hë]j}rU*jshð]uhòNhóhhô]ubeubeubhÞhÛ)�r}r(hÙUhÚhàhäjhæhçhè}r(hê]hë]hì]hí]rU)task-5-examining-the-template-applicationrahð]rhAauhòM–hóhhô]r (hö)�r }r (hÙX+Task 5 - Examining the Template Applicationr hÚjhäjhæhúhè}r (hê]hë]hì]hí]hð]uhòM–hóhhô]rhýX+Task 5 - Examining the Template Applicationr…�r}r(hÙj hÚj ubaubj/)�r}r(hÙXpNow that you're familiar with using the Template Application, let us look into the code to see how it all works.rhÚjhäjhæj3hè}r(hê]hë]hì]hí]hð]uhòM—hóhhô]rhýXpNow that you're familiar with using the Template Application, let us look into the code to see how it all works.r…�r}r(hÙjhÚjubaubhÛ)�r}r(hÙUhÚjhäjhæhçhè}r(hê]hë]hì]hí]rUthe-main-c-filerahð]rhpauhòM›hóhhô]r (hö)�r!}r"(hÙXThe main.c Filer#hÚjhäjhæhúhè}r$(hê]hë]hì]hí]hð]uhòM›hóhhô]r%hýXThe main.c Filer&…�r'}r((hÙj#hÚj!ubaubj/)�r)}r*(hÙXÂBegin by opening the **main.c** file. At the top of this file, after the copyright header, there are a series of ``#include`` statements gathering the necessary header files for the application:hÚjhäjhæj3hè}r+(hê]hë]hì]hí]hð]uhòMœhóhhô]r,(hýXBegin by opening the r-…�r.}r/(hÙXBegin by opening the hÚj)ubjW)�r0}r1(hÙX **main.c**hè}r2(hê]hë]hì]hí]hð]uhÚj)hô]r3hýXmain.cr4…�r5}r6(hÙUhÚj0ubahæj_ubhýXR file. At the top of this file, after the copyright header, there are a series of r7…�r8}r9(hÙXR file. At the top of this file, after the copyright header, there are a series of hÚj)ubj)�r:}r;(hÙX ``#include``hè}r<(hê]hë]hì]hí]hð]uhÚj)hô]r=hýX#includer>…�r?}r@(hÙUhÚj:ubahæj#ubhýXE statements gathering the necessary header files for the application:rA…�rB}rC(hÙXE statements gathering the necessary header files for the application:hÚj)ubeubjË)�rD}rE(hÙX—/* Standard header files */ #include /* XDCtools Header files (RTOS only) */ #include #include #include #include /* BIOS Header files (RTOS only) */ #include #include /* Board header file */ #include /* Local template app header file */ #include "app.h"hÚjhäjhæjÎhè}rF(UlinenosrG‰UlanguagerHXcjjhí]hì]hê]Uhighlight_argsrI}hë]hð]uhòM hóhhô]rJhýX—/* Standard header files */ #include /* XDCtools Header files (RTOS only) */ #include #include #include #include /* BIOS Header files (RTOS only) */ #include #include /* Board header file */ #include /* Local template app header file */ #include "app.h"rK…�rL}rM(hÙUhÚjDubaubjQ)�rN}rO(hÙUhÚjhäjhæjThè}rP(jVX-hí]hì]hê]hë]hð]uhòMµhóhhô]rQ(jX)�rR}rS(hÙX¼(RTOS only) XDCtools provides configuration tools to create and build a static configuration as part of your application. These headers are necessary for the ``*.cfg`` configuration files.hÚjNhäjhæj[hè}rT(hê]hë]hì]hí]hð]uhòNhóhhô]rUj/)�rV}rW(hÙX¼(RTOS only) XDCtools provides configuration tools to create and build a static configuration as part of your application. These headers are necessary for the ``*.cfg`` configuration files.hÚjRhäjhæj3hè}rX(hê]hë]hì]hí]hð]uhòMµhô]rY(hýXž(RTOS only) XDCtools provides configuration tools to create and build a static configuration as part of your application. These headers are necessary for the rZ…�r[}r\(hÙXž(RTOS only) XDCtools provides configuration tools to create and build a static configuration as part of your application. These headers are necessary for the hÚjVubj)�r]}r^(hÙX ``*.cfg``hè}r_(hê]hë]hì]hí]hð]uhÚjVhô]r`hýX*.cfgra…�rb}rc(hÙUhÚj]ubahæj#ubhýX configuration files.rd…�re}rf(hÙX configuration files.hÚjVubeubaubjX)�rg}rh(hÙXx(RTOS only) BIOS is a synonym for TI-RTOS. These headers are necessary for accessing common RTOS features such as tasks.hÚjNhäjhæj[hè}ri(hê]hë]hì]hí]hð]uhòNhóhhô]rjj/)�rk}rl(hÙXx(RTOS only) BIOS is a synonym for TI-RTOS. These headers are necessary for accessing common RTOS features such as tasks.rmhÚjghäjhæj3hè}rn(hê]hë]hì]hí]hð]uhòM¸hô]rohýXx(RTOS only) BIOS is a synonym for TI-RTOS. These headers are necessary for accessing common RTOS features such as tasks.rp…�rq}rr(hÙjmhÚjkubaubaubjX)�rs}rt(hÙX/The Board Library is a thin utility layer on top of CSL and other board utilities. It provides uniform Application Programming Interfaces (APIs) for all supported boards. It aims to assist the user to quickly write portable applications for supported boards by hiding board level details from the user.hÚjNhäjhæj[hè}ru(hê]hë]hì]hí]hð]uhòNhóhhô]rvj/)�rw}rx(hÙX/The Board Library is a thin utility layer on top of CSL and other board utilities. It provides uniform Application Programming Interfaces (APIs) for all supported boards. It aims to assist the user to quickly write portable applications for supported boards by hiding board level details from the user.ryhÚjshäjhæj3hè}rz(hê]hë]hì]hí]hð]uhòMºhô]r{hýX/The Board Library is a thin utility layer on top of CSL and other board utilities. It provides uniform Application Programming Interfaces (APIs) for all supported boards. It aims to assist the user to quickly write portable applications for supported boards by hiding board level details from the user.r|…�r}}r~(hÙjyhÚjwubaubaubjX)�r}r€(hÙXThe ``app.h`` header file includes header files for drivers used in the application code as well as macros and function prototypes. Specifically, ``app.h`` includes headers for the following LLDs which are used by the application: .. code-block:: c /* Low level driver header files */ #include #include #include #include #include #include hÚjNhäjhæj[hè}r�(hê]hë]hì]hí]hð]uhòNhóhhô]r‚(j/)�rƒ}r„(hÙXæThe ``app.h`` header file includes header files for drivers used in the application code as well as macros and function prototypes. Specifically, ``app.h`` includes headers for the following LLDs which are used by the application:hÚjhäjhæj3hè}r…(hê]hë]hì]hí]hð]uhòMÀhô]r†(hýXThe r‡…�rˆ}r‰(hÙXThe hÚjƒubj)�rŠ}r‹(hÙX ``app.h``hè}rŒ(hê]hë]hì]hí]hð]uhÚjƒhô]r�hýXapp.hrŽ…�r�}r�(hÙUhÚjŠubahæj#ubhýX… header file includes header files for drivers used in the application code as well as macros and function prototypes. Specifically, r‘…�r’}r“(hÙX… header file includes header files for drivers used in the application code as well as macros and function prototypes. Specifically, hÚjƒubj)�r”}r•(hÙX ``app.h``hè}r–(hê]hë]hì]hí]hð]uhÚjƒhô]r—hýXapp.hr˜…�r™}rš(hÙUhÚj”ubahæj#ubhýXK includes headers for the following LLDs which are used by the application:r›…�rœ}r�(hÙXK includes headers for the following LLDs which are used by the application:hÚjƒubeubcdocutils.nodes block_quote rž)�rŸ}r (hÙUhè}r¡(hê]hë]hì]hí]hð]uhÚjhô]r¢jË)�r£}r¤(hÙXê/* Low level driver header files */ #include #include #include #include #include #include hÚjŸhäjhæjÎhè}r¥(jG‰jHXcjjhí]hì]hê]jI}hë]hð]uhòMÅhô]r¦hýXê/* Low level driver header files */ #include #include #include #include #include #include r§…�r¨}r©(hÙUhÚj£ubaubahæU block_quoterªubeubeubj/)�r«}r¬(hÙXåNext, we come across the ``main()`` function which demonstrates the common procedure for initializing an RTOS or bare-metal application. You can read the comments in the code for further clarification. Let's break down the steps:hÚjhäjhæj3hè}r­(hê]hë]hì]hí]hð]uhòMÏhóhhô]r®(hýXNext, we come across the r¯…�r°}r±(hÙXNext, we come across the hÚj«ubj)�r²}r³(hÙX ``main()``hè}r´(hê]hë]hì]hí]hð]uhÚj«hô]rµhýXmain()r¶…�r·}r¸(hÙUhÚj²ubahæj#ubhýX function which demonstrates the common procedure for initializing an RTOS or bare-metal application. You can read the comments in the code for further clarification. Let's break down the steps:r¹…�rº}r»(hÙX function which demonstrates the common procedure for initializing an RTOS or bare-metal application. You can read the comments in the code for further clarification. Let's break down the steps:hÚj«ubeubcdocutils.nodes enumerated_list r¼)�r½}r¾(hÙUhÚjhäjhæUenumerated_listr¿hè}rÀ(UsuffixrÁU)hí]hì]hê]UprefixrÂUhë]hð]UenumtyperÃUarabicrÄuhòMÓhóhhô]rÅ(jX)�rÆ}rÇ(hÙX¯Initialize the board:: Board_initCfg boardCfg; boardCfg = BOARD_INIT_PINMUX_CONFIG | BOARD_INIT_MODULE_CLOCK | BOARD_INIT_UART_STDIO; Board_init(boardCfg); hÚj½häjhæj[hè}rÈ(hê]hë]hì]hí]hð]uhòNhóhhô]rÉ(j/)�rÊ}rË(hÙXInitialize the board::hÚjÆhäjhæj3hè}rÌ(hê]hë]hì]hí]hð]uhòMÓhô]rÍhýXInitialize the board:rÎ…�rÏ}rÐ(hÙXInitialize the board:hÚjÊubaubjË)�rÑ}rÒ(hÙX�Board_initCfg boardCfg; boardCfg = BOARD_INIT_PINMUX_CONFIG | BOARD_INIT_MODULE_CLOCK | BOARD_INIT_UART_STDIO; Board_init(boardCfg);hÚjÆhæjÎhè}rÓ(jjhí]hì]hê]hë]hð]uhòMÜhô]rÔhýX�Board_initCfg boardCfg; boardCfg = BOARD_INIT_PINMUX_CONFIG | BOARD_INIT_MODULE_CLOCK | BOARD_INIT_UART_STDIO; Board_init(boardCfg);rÕ…�rÖ}r×(hÙUhÚjÑubaubeubjX)�rØ}rÙ(hÙXUIntialize the peripherals:: UART_init(); I2C_init(); GPIO_init(); MCSPI_init(); hÚj½häjhæj[hè}rÚ(hê]hë]hì]hí]hð]uhòNhóhhô]rÛ(j/)�rÜ}rÝ(hÙXIntialize the peripherals::hÚjØhäjhæj3hè}rÞ(hê]hë]hì]hí]hð]uhòMÜhô]rßhýXIntialize the peripherals:rà…�rá}râ(hÙXIntialize the peripherals:hÚjÜubaubjË)�rã}rä(hÙX3UART_init(); I2C_init(); GPIO_init(); MCSPI_init();hÚjØhæjÎhè}rå(jjhí]hì]hê]hë]hð]uhòMåhô]ræhýX3UART_init(); I2C_init(); GPIO_init(); MCSPI_init();rç…�rè}ré(hÙUhÚjãubaubeubjX)�rê}rë(hÙXs(RTOS only) Create the application tasks. We will discuss this further in the section covering the ``app.c`` file. hÚj½häjhæj[hè}rì(hê]hë]hì]hí]hð]uhòNhóhhô]ríj/)�rî}rï(hÙXr(RTOS only) Create the application tasks. We will discuss this further in the section covering the ``app.c`` file.hÚjêhäjhæj3hè}rð(hê]hë]hì]hí]hð]uhòMãhô]rñ(hýXc(RTOS only) Create the application tasks. We will discuss this further in the section covering the rò…�ró}rô(hÙXc(RTOS only) Create the application tasks. We will discuss this further in the section covering the hÚjîubj)�rõ}rö(hÙX ``app.c``hè}r÷(hê]hë]hì]hí]hð]uhÚjîhô]røhýXapp.crù…�rú}rû(hÙUhÚjõubahæj#ubhýX file.rü…�rý}rþ(hÙX file.hÚjîubeubaubjX)�rÿ}r (hÙXoStart BIOS (RTOS) or start the application tasks directly (Bare-metal):: BIOS_start(); or appRunTasks(); hÚj½häjhæj[hè}r (hê]hë]hì]hí]hð]uhòNhóhhô]r (j/)�r }r (hÙXHStart BIOS (RTOS) or start the application tasks directly (Bare-metal)::hÚjÿhäjhæj3hè}r (hê]hë]hì]hí]hð]uhòMæhô]r hýXGStart BIOS (RTOS) or start the application tasks directly (Bare-metal):r …�r }r (hÙXGStart BIOS (RTOS) or start the application tasks directly (Bare-metal):hÚj ubaubjË)�r }r (hÙX!BIOS_start(); or appRunTasks();hÚjÿhæjÎhè}r (jjhí]hì]hê]hë]hð]uhòMïhô]r hýX!BIOS_start(); or appRunTasks();r …�r }r (hÙUhÚj ubaubeubeubeubhÛ)�r }r (hÙUhÚjhäjhæhçhè}r (hê]hë]hì]hí]r Uthe-app-c-filer ahð]r hSauhòMïhóhhô]r (hö)�r }r (hÙXThe app.c Filer hÚj häjhæhúhè}r (hê]hë]hì]hí]hð]uhòMïhóhhô]r hýXThe app.c Filer …�r }r (hÙj hÚj ubaubj/)�r }r! (hÙX**RTOS**r" hÚj häjhæj3hè}r# (hê]hë]hì]hí]hð]uhòMñhóhhô]r$ jW)�r% }r& (hÙj" hè}r' (hê]hë]hì]hí]hð]uhÚj hô]r( hýXRTOSr) …�r* }r+ (hÙUhÚj% ubahæj_ubaubj/)�r, }r- (hÙX·Open the **app.c** file and take a look at the ``appTasksCreate()`` function. You should recall that this function was called in step three of ``main()``. Inside of ``appTasksCreate()`` there are ``biosTaskCreate()`` function calls for each peripheral task. ``biosTaskCreate()`` just wraps the common task creation procudure into an easy-to-use function call. Navigate to the bottom of the **app.c** file to check out ``biosTaskCreate()``.hÚj häjhæj3hè}r. (hê]hë]hì]hí]hð]uhòMóhóhhô]r/ (hýX Open the r0 …�r1 }r2 (hÙX Open the hÚj, ubjW)�r3 }r4 (hÙX **app.c**hè}r5 (hê]hë]hì]hí]hð]uhÚj, hô]r6 hýXapp.cr7 …�r8 }r9 (hÙUhÚj3 ubahæj_ubhýX file and take a look at the r: …�r; }r< (hÙX file and take a look at the hÚj, ubj)�r= }r> (hÙX``appTasksCreate()``hè}r? (hê]hë]hì]hí]hð]uhÚj, hô]r@ hýXappTasksCreate()rA …�rB }rC (hÙUhÚj= ubahæj#ubhýXL function. You should recall that this function was called in step three of rD …�rE }rF (hÙXL function. You should recall that this function was called in step three of hÚj, ubj)�rG }rH (hÙX ``main()``hè}rI (hê]hë]hì]hí]hð]uhÚj, hô]rJ hýXmain()rK …�rL }rM (hÙUhÚjG ubahæj#ubhýX . Inside of rN …�rO }rP (hÙX . Inside of hÚj, ubj)�rQ }rR (hÙX``appTasksCreate()``hè}rS (hê]hë]hì]hí]hð]uhÚj, hô]rT hýXappTasksCreate()rU …�rV }rW (hÙUhÚjQ ubahæj#ubhýX there are rX …�rY }rZ (hÙX there are hÚj, ubj)�r[ }r\ (hÙX``biosTaskCreate()``hè}r] (hê]hë]hì]hí]hð]uhÚj, hô]r^ hýXbiosTaskCreate()r_ …�r` }ra (hÙUhÚj[ ubahæj#ubhýX* function calls for each peripheral task. rb …�rc }rd (hÙX* function calls for each peripheral task. hÚj, ubj)�re }rf (hÙX``biosTaskCreate()``hè}rg (hê]hë]hì]hí]hð]uhÚj, hô]rh hýXbiosTaskCreate()ri …�rj }rk (hÙUhÚje ubahæj#ubhýXp just wraps the common task creation procudure into an easy-to-use function call. Navigate to the bottom of the rl …�rm }rn (hÙXp just wraps the common task creation procudure into an easy-to-use function call. Navigate to the bottom of the hÚj, ubjW)�ro }rp (hÙX **app.c**hè}rq (hê]hë]hì]hí]hð]uhÚj, hô]rr hýXapp.crs …�rt }ru (hÙUhÚjo ubahæj_ubhýX file to check out rv …�rw }rx (hÙX file to check out hÚj, ubj)�ry }rz (hÙX``biosTaskCreate()``hè}r{ (hê]hë]hì]hí]hð]uhÚj, hô]r| hýXbiosTaskCreate()r} …�r~ }r (hÙUhÚjy ubahæj#ubhýX.…�r€ }r� (hÙX.hÚj, ubeubj/)�r‚ }rƒ (hÙX*The task creation procudure is as follows:r„ hÚj häjhæj3hè}r… (hê]hë]hì]hí]hð]uhòMúhóhhô]r† hýX*The task creation procudure is as follows:r‡ …�rˆ }r‰ (hÙj„ hÚj‚ ubaubj¼)�rŠ }r‹ (hÙUhÚj häjhæj¿hè}rŒ (jÁU)hí]hì]hê]jÂUhë]hð]jÃjÄuhòMühóhhô]r� (jX)�rŽ }r� (hÙX€Create task variables .. code-block:: c Task_Params taskParams; Error_Block eb; Task_Handle task; hÚjŠ häjhæj[hè}r� (hê]hë]hì]hí]hð]uhòNhóhhô]r‘ (j/)�r’ }r“ (hÙXCreate task variablesr” hÚjŽ häjhæj3hè}r• (hê]hë]hì]hí]hð]uhòMühô]r– hýXCreate task variablesr— …�r˜ }r™ (hÙj” hÚj’ ubaubjž)�rš }r› (hÙUhè}rœ (hê]hë]hì]hí]hð]uhÚjŽ hô]r� jË)�rž }rŸ (hÙX9Task_Params taskParams; Error_Block eb; Task_Handle task;hÚjš häjhæjÎhè}r  (jG‰jHXcjjhí]hì]hê]jI}hë]hð]uhòMþhô]r¡ hýX9Task_Params taskParams; Error_Block eb; Task_Handle task;r¢ …�r£ }r¤ (hÙUhÚjž ubaubahæjªubeubjX)�r¥ }r¦ (hÙX–Initialize ``Error_Block`` and ``Task_Params`` to their default values .. code-block:: c Error_init(&eb); Task_Params_init(&taskParams); hÚjŠ häjhæj[hè}r§ (hê]hë]hì]hí]hð]uhòNhóhhô]r¨ (j/)�r© }rª (hÙXFInitialize ``Error_Block`` and ``Task_Params`` to their default valueshÚj¥ häjhæj3hè}r« (hê]hë]hì]hí]hð]uhòMhô]r¬ (hýX Initialize r­ …�r® }r¯ (hÙX Initialize hÚj© ubj)�r° }r± (hÙX``Error_Block``hè}r² (hê]hë]hì]hí]hð]uhÚj© hô]r³ hýX Error_Blockr´ …�rµ }r¶ (hÙUhÚj° ubahæj#ubhýX and r· …�r¸ }r¹ (hÙX and hÚj© ubj)�rº }r» (hÙX``Task_Params``hè}r¼ (hê]hë]hì]hí]hð]uhÚj© hô]r½ hýX Task_Paramsr¾ …�r¿ }rÀ (hÙUhÚjº ubahæj#ubhýX to their default valuesrÁ …�r }rà (hÙX to their default valueshÚj© ubeubjž)�rÄ }rÅ (hÙUhè}rÆ (hê]hë]hì]hí]hð]uhÚj¥ hô]rÇ jË)�rÈ }rÉ (hÙX/Error_init(&eb); Task_Params_init(&taskParams);hÚjÄ häjhæjÎhè}rÊ (jG‰jHXcjjhí]hì]hê]jI}hë]hð]uhòMhô]rË hýX/Error_init(&eb); Task_Params_init(&taskParams);rÌ …�rÍ }rÎ (hÙUhÚjÈ ubaubahæjªubeubjX)�rÏ }rÐ (hÙXÚApply user arguments for stack name, priority, and stack size .. code-block:: c taskParams.instance->name = taskName; taskParams.priority = taskPriority; taskParams.stackSize = stackSize; hÚjŠ häjhæj[hè}rÑ (hê]hë]hì]hí]hð]uhòNhóhhô]rÒ (j/)�rÓ }rÔ (hÙX=Apply user arguments for stack name, priority, and stack sizerÕ hÚjÏ häjhæj3hè}rÖ (hê]hë]hì]hí]hð]uhòM hô]r× hýX=Apply user arguments for stack name, priority, and stack sizerØ …�rÙ }rÚ (hÙjÕ hÚjÓ ubaubjž)�rÛ }rÜ (hÙUhè}rÝ (hê]hë]hì]hí]hð]uhÚjÏ hô]rÞ jË)�rß }rà (hÙXktaskParams.instance->name = taskName; taskParams.priority = taskPriority; taskParams.stackSize = stackSize;hÚjÛ häjhæjÎhè}rá (jG‰jHXcjjhí]hì]hê]jI}hë]hð]uhòM hô]râ hýXktaskParams.instance->name = taskName; taskParams.priority = taskPriority; taskParams.stackSize = stackSize;rã …�rä }rå (hÙUhÚjß ubaubahæjªubeubjX)�ræ }rç (hÙXaCreate the task .. code-block:: c task = Task_create(taskFunctionPtr, &taskParams, &eb); hÚjŠ häjhæj[hè}rè (hê]hë]hì]hí]hð]uhòNhóhhô]ré (j/)�rê }rë (hÙXCreate the taskrì hÚjæ häjhæj3hè}rí (hê]hë]hì]hí]hð]uhòMhô]rî hýXCreate the taskrï …�rð }rñ (hÙjì hÚjê ubaubjž)�rò }ró (hÙUhè}rô (hê]hë]hì]hí]hð]uhÚjæ hô]rõ jË)�rö }r÷ (hÙX6task = Task_create(taskFunctionPtr, &taskParams, &eb);hÚjò häjhæjÎhè}rø (jG‰jHXcjjhí]hì]hê]jI}hë]hð]uhòMhô]rù hýX6task = Task_create(taskFunctionPtr, &taskParams, &eb);rú …�rû }rü (hÙUhÚjö ubaubahæjªubeubeubj/)�rý }rþ (hÙXRThe tasks themselves are simply functions in your code following the format below:rÿ hÚj häjhæj3hè}r (hê]hë]hì]hí]hð]uhòMhóhhô]r hýXRThe tasks themselves are simply functions in your code following the format below:r …�r }r (hÙjÿ hÚjý ubaubjË)�r }r (hÙX%void myTaskFunc(UArg arg0, UArg arg1)hÚj häjhæjÎhè}r (jG‰jHXcjjhí]hì]hê]jI}hë]hð]uhòMhóhhô]r hýX%void myTaskFunc(UArg arg0, UArg arg1)r …�r }r (hÙUhÚj ubaubj/)�r }r (hÙX**Bare-metal**r hÚj häjhæj3hè}r (hê]hë]hì]hí]hð]uhòM hóhhô]r jW)�r }r (hÙj hè}r (hê]hë]hì]hí]hð]uhÚj hô]r hýX Bare-metalr …�r }r (hÙUhÚj ubahæj_ubaubj/)�r }r (hÙXôOpen the **app.c** file and take a look at the ``appRunTasks()`` function. Inside of ``appRunTasks()`` there are function calls for each peripheral task. This file also contains setup code for a timer interrupt that controls the LED blink task.hÚj häjhæj3hè}r (hê]hë]hì]hí]hð]uhòM"hóhhô]r (hýX Open the r …�r }r (hÙX Open the hÚj ubjW)�r }r (hÙX **app.c**hè}r! (hê]hë]hì]hí]hð]uhÚj hô]r" hýXapp.cr# …�r$ }r% (hÙUhÚj ubahæj_ubhýX file and take a look at the r& …�r' }r( (hÙX file and take a look at the hÚj ubj)�r) }r* (hÙX``appRunTasks()``hè}r+ (hê]hë]hì]hí]hð]uhÚj hô]r, hýX appRunTasks()r- …�r. }r/ (hÙUhÚj) ubahæj#ubhýX function. Inside of r0 …�r1 }r2 (hÙX function. Inside of hÚj ubj)�r3 }r4 (hÙX``appRunTasks()``hè}r5 (hê]hë]hì]hí]hð]uhÚj hô]r6 hýX appRunTasks()r7 …�r8 }r9 (hÙUhÚj3 ubahæj#ubhýXŽ there are function calls for each peripheral task. This file also contains setup code for a timer interrupt that controls the LED blink task.r: …�r; }r< (hÙXŽ there are function calls for each peripheral task. This file also contains setup code for a timer interrupt that controls the LED blink task.hÚj ubeubj))�r= }r> (hÙX�The application functions are called "tasks" for naming consistency with the RTOS template application, but they are not actual SYS/BIOS tasks.hÚj häjhæj,hè}r? (hê]hë]hì]hí]hð]uhòNhóhhô]r@ j/)�rA }rB (hÙX�The application functions are called "tasks" for naming consistency with the RTOS template application, but they are not actual SYS/BIOS tasks.rC hÚj= häjhæj3hè}rD (hê]hë]hì]hí]hð]uhòM(hô]rE hýX�The application functions are called "tasks" for naming consistency with the RTOS template application, but they are not actual SYS/BIOS tasks.rF …�rG }rH (hÙjC hÚjA ubaubaubj/)�rI }rJ (hÙX¤Next, let's take a look at ``i2c_eeprom_read_and_display_task()`` to see how to use TI Drivers. The procedure for opening a TI Driver generally follows these steps:hÚj häjhæj3hè}rK (hê]hë]hì]hí]hð]uhòM,hóhhô]rL (hýXNext, let's take a look at rM …�rN }rO (hÙXNext, let's take a look at hÚjI ubj)�rP }rQ (hÙX&``i2c_eeprom_read_and_display_task()``hè}rR (hê]hë]hì]hí]hð]uhÚjI hô]rS hýX"i2c_eeprom_read_and_display_task()rT …�rU }rV (hÙUhÚjP ubahæj#ubhýXc to see how to use TI Drivers. The procedure for opening a TI Driver generally follows these steps:rW …�rX }rY (hÙXc to see how to use TI Drivers. The procedure for opening a TI Driver generally follows these steps:hÚjI ubeubj¼)�rZ }r[ (hÙUhÚj häjhæj¿hè}r\ (jÁU)hí]hì]hê]jÂUhë]hð]jÃjÄuhòM0hóhhô]r] (jX)�r^ }r_ (hÙXyCreate driver handle and params structure .. code-block:: c I2C_Handle handle; I2C_Params params; hÚjZ häjhæj[hè}r` (hê]hë]hì]hí]hð]uhòNhóhhô]ra (j/)�rb }rc (hÙX)Create driver handle and params structurerd hÚj^ häjhæj3hè}re (hê]hë]hì]hí]hð]uhòM0hô]rf hýX)Create driver handle and params structurerg …�rh }ri (hÙjd hÚjb ubaubjž)�rj }rk (hÙUhè}rl (hê]hë]hì]hí]hð]uhÚj^ hô]rm jË)�rn }ro (hÙX/I2C_Handle handle; I2C_Params params;hÚjj häjhæjÎhè}rp (jG‰jHXcjjhí]hì]hê]jI}hë]hð]uhòM2hô]rq hýX/I2C_Handle handle; I2C_Params params;rr …�rs }rt (hÙUhÚjn ubaubahæjªubeubjX)�ru }rv (hÙXÖInitialize and set the driver parameters .. code-block:: c I2C_Params_init(¶ms); params.transferMode = I2C_MODE_CALLBACK; params.transferCallbackFxn = someI2CCallbackFunction; // etc... hÚjZ häjhæj[hè}rw (hê]hë]hì]hí]hð]uhòNhóhhô]rx (j/)�ry }rz (hÙX(Initialize and set the driver parametersr{ hÚju häjhæj3hè}r| (hê]hë]hì]hí]hð]uhòM7hô]r} hýX(Initialize and set the driver parametersr~ …�r }r€ (hÙj{ hÚjy ubaubjž)�r� }r‚ (hÙUhè}rƒ (hê]hë]hì]hí]hð]uhÚju hô]r„ jË)�r… }r† (hÙXƒI2C_Params_init(¶ms); params.transferMode = I2C_MODE_CALLBACK; params.transferCallbackFxn = someI2CCallbackFunction; // etc...hÚj� häjhæjÎhè}r‡ (jG‰jHXcjjhí]hì]hê]jI}hë]hð]uhòM9hô]rˆ hýXƒI2C_Params_init(¶ms); params.transferMode = I2C_MODE_CALLBACK; params.transferCallbackFxn = someI2CCallbackFunction; // etc...r‰ …�rŠ }r‹ (hÙUhÚj… ubaubahæjªubeubjX)�rŒ }r� (hÙX§Open the driver .. code-block:: c handle = I2C_open(someI2C_configIndexValue, ¶ms); if (!handle) { System_printf("I2C did not open"); } hÚjZ häjhæj[hè}rŽ (hê]hë]hì]hí]hð]uhòNhóhhô]r� (j/)�r� }r‘ (hÙXOpen the driverr’ hÚjŒ häjhæj3hè}r“ (hê]hë]hì]hí]hð]uhòM@hô]r” hýXOpen the driverr• …�r– }r— (hÙj’ hÚj� ubaubjž)�r˜ }r™ (hÙUhè}rš (hê]hë]hì]hí]hð]uhÚjŒ hô]r› jË)�rœ }r� (hÙXmhandle = I2C_open(someI2C_configIndexValue, ¶ms); if (!handle) { System_printf("I2C did not open"); }hÚj˜ häjhæjÎhè}rž (jG‰jHXcjjhí]hì]hê]jI}hë]hð]uhòMBhô]rŸ hýXmhandle = I2C_open(someI2C_configIndexValue, ¶ms); if (!handle) { System_printf("I2C did not open"); }r  …�r¡ }r¢ (hÙUhÚjœ ubaubahæjªubeubeubj/)�r£ }r¤ (hÙX—For more information on TI Drivers, check out the included documentation for each driver at **pdk__/packages/ti/drv//docs**.hÚj häjhæj3hè}r¥ (hê]hë]hì]hí]hð]uhòMIhóhhô]r¦ (hýX\For more information on TI Drivers, check out the included documentation for each driver at r§ …�r¨ }r© (hÙX\For more information on TI Drivers, check out the included documentation for each driver at hÚj£ ubjW)�rª }r« (hÙX:**pdk__/packages/ti/drv//docs**hè}r¬ (hê]hë]hì]hí]hð]uhÚj£ hô]r­ hýX6pdk__/packages/ti/drv//docsr® …�r¯ }r° (hÙUhÚjª ubahæj_ubhýX.…�r± }r² (hÙX.hÚj£ ubeubj/)�r³ }r´ (hÙXVFor more infomation on SYS/BIOS, check out the User Guide at **bios_/docs**.hÚj häjhæj3hè}rµ (hê]hë]hì]hí]hð]uhòMLhóhhô]r¶ (hýX>For more infomation on SYS/BIOS, check out the User Guide at r· …�r¸ }r¹ (hÙX>For more infomation on SYS/BIOS, check out the User Guide at hÚj³ ubjW)�rº }r» (hÙX**bios_/docs**hè}r¼ (hê]hë]hì]hí]hð]uhÚj³ hô]r½ hýXbios_/docsr¾ …�r¿ }rÀ (hÙUhÚjº ubahæj_ubhýX.…�rÁ }r (hÙX.hÚj³ ubeubeubeubhÛ)�rà }rÄ (hÙUhÚhàhäjhæhçhè}rÅ (hê]hë]hì]hí]rÆ U.task-6-modifying-the-rtos-template-applicationrÇ ahð]rÈ hÍauhòMPhóhhô]rÉ (hö)�rÊ }rË (hÙX0Task 6 - Modifying the RTOS Template ApplicationrÌ hÚjà häjhæhúhè}rÍ (hê]hë]hì]hí]hð]uhòMPhóhhô]rÎ hýX0Task 6 - Modifying the RTOS Template ApplicationrÏ …�rÐ }rÑ (hÙjÌ hÚjÊ ubaubj))�rÒ }rÓ (hÙXCThe instructions below apply to the RTOS Template Application only.rÔ hÚjà häjhæj,hè}rÕ (hê]hë]hì]hí]hð]uhòNhóhhô]rÖ j/)�r× }rØ (hÙjÔ hÚjÒ häjhæj3hè}rÙ (hê]hë]hì]hí]hð]uhòMRhô]rÚ hýXCThe instructions below apply to the RTOS Template Application only.rÛ …�rÜ }rÝ (hÙjÔ hÚj× ubaubaubj/)�rÞ }rß (hÙX˜Now that you have an understanding of how to use the drivers and create RTOS tasks, let us make some simple modifications to create our own application.rà hÚjà häjhæj3hè}rá (hê]hë]hì]hí]hð]uhòMThóhhô]râ hýX˜Now that you have an understanding of how to use the drivers and create RTOS tasks, let us make some simple modifications to create our own application.rã …�rä }rå (hÙjà hÚjÞ ubaubj/)�ræ }rç (hÙXêWe will create a simple application which allows the user to control the LED blink rate over the UART terminal. The user should be able to enter an LED blink period (between 0 and 5 seconds) and the user LED should blink at that rate.rè hÚjà häjhæj3hè}ré (hê]hë]hì]hí]hð]uhòMWhóhhô]rê hýXêWe will create a simple application which allows the user to control the LED blink rate over the UART terminal. The user should be able to enter an LED blink period (between 0 and 5 seconds) and the user LED should blink at that rate.rë …�rì }rí (hÙjè hÚjæ ubaubj/)�rî }rï (hÙXFThis part of the lab is broken down into several sections. In each section, you will be given general instructions for modifications to make to the source files. After you make your own modifications they will be verified against provided code examples. Try to make the modifications on your own before looking at the answers!rð hÚjà häjhæj3hè}rñ (hê]hë]hì]hí]hð]uhòM\hóhhô]rò hýXFThis part of the lab is broken down into several sections. In each section, you will be given general instructions for modifications to make to the source files. After you make your own modifications they will be verified against provided code examples. Try to make the modifications on your own before looking at the answers!ró …�rô }rõ (hÙjð hÚjî ubaubhÛ)�rö }r÷ (hÙUhÚjà häjhæhçhè}rø (hê]hë]hì]hí]rù Udelete-the-code-you-don-t-needrú ahð]rû h‹auhòMchóhhô]rü (hö)�rý }rþ (hÙXDelete the Code You Don't Needrÿ hÚjö häjhæhúhè}r (hê]hë]hì]hí]hð]uhòMchóhhô]r hýXDelete the Code You Don't Needr …�r }r (hÙjÿ hÚjý ubaubj/)�r }r (hÙX#The Template Application has tasks for UART, I2C, GPIO, and MCSPI drivers. Some of these tasks will not be used by our application. Go ahead and remove any tasks that you do not think you will need to create the application. Hold off on modifying tasks that will be reused until later steps.r hÚjö häjhæj3hè}r (hê]hë]hì]hí]hð]uhòMdhóhhô]r hýX#The Template Application has tasks for UART, I2C, GPIO, and MCSPI drivers. Some of these tasks will not be used by our application. Go ahead and remove any tasks that you do not think you will need to create the application. Hold off on modifying tasks that will be reused until later steps.r …�r }r (hÙj hÚj ubaubcdocutils.nodes attention r )�r }r (hÙXDDon't peek! The next section will discuss answers to the task above.r hÚjö häjhæU attentionr hè}r (hê]hë]hì]hí]hð]uhòNhóhhô]r j/)�r }r (hÙj hÚj häjhæj3hè}r (hê]hë]hì]hí]hð]uhòMkhô]r hýXDDon't peek! The next section will discuss answers to the task above.r …�r }r (hÙj hÚj ubaubaubj/)�r }r (hÙX Since our application is only consuming user input and blinking the LEDs, we only need the UART and GPIO tasks. That means the I2C and SPI tasks can be removed.r hÚjö häjhæj3hè}r (hê]hë]hì]hí]hð]uhòMmhóhhô]r hýX Since our application is only consuming user input and blinking the LEDs, we only need the UART and GPIO tasks. That means the I2C and SPI tasks can be removed.r …�r! }r" (hÙj hÚj ubaubeubhÛ)�r# }r$ (hÙUhÚjà häjhæhçhè}r% (hê]hë]hì]hí]r& U#add-support-for-additional-featuresr' ahð]r( hºauhòMrhóhhô]r) (hö)�r* }r+ (hÙX#Add Support for Additional Featuresr, hÚj# häjhæhúhè}r- (hê]hë]hì]hí]hð]uhòMrhóhhô]r. hýX#Add Support for Additional Featuresr/ …�r0 }r1 (hÙj, hÚj* ubaubj/)�r2 }r3 (hÙX†Our application will require that the UART task has a way to communicate the delay value it receives from the user to the LED task to modify the blink rate. While this could be accomplished with something as simple as a shared global variable, TI-RTOS provides many other ways to accomplish inter-process communication. Take a look at the BIOS User Guide, which is bundled with the SDK at **bios_/docs/Bios_User_Guide.pdf** for ideas on how to share data between tasks. After you decide on a method, you can use the API documentation located at **bios_/docs/Bios_APIs.html** to figure out how to use the API in your application.hÚj# häjhæj3hè}r4 (hê]hë]hì]hí]hð]uhòMshóhhô]r5 (hýX…Our application will require that the UART task has a way to communicate the delay value it receives from the user to the LED task to modify the blink rate. While this could be accomplished with something as simple as a shared global variable, TI-RTOS provides many other ways to accomplish inter-process communication. Take a look at the BIOS User Guide, which is bundled with the SDK at r6 …�r7 }r8 (hÙX…Our application will require that the UART task has a way to communicate the delay value it receives from the user to the LED task to modify the blink rate. While this could be accomplished with something as simple as a shared global variable, TI-RTOS provides many other ways to accomplish inter-process communication. Take a look at the BIOS User Guide, which is bundled with the SDK at hÚj2 ubjW)�r9 }r: (hÙX+**bios_/docs/Bios_User_Guide.pdf**hè}r; (hê]hë]hì]hí]hð]uhÚj2 hô]r< hýX'bios_/docs/Bios_User_Guide.pdfr= …�r> }r? (hÙUhÚj9 ubahæj_ubhýXz for ideas on how to share data between tasks. After you decide on a method, you can use the API documentation located at r@ …�rA }rB (hÙXz for ideas on how to share data between tasks. After you decide on a method, you can use the API documentation located at hÚj2 ubjW)�rC }rD (hÙX&**bios_/docs/Bios_APIs.html**hè}rE (hê]hë]hì]hí]hð]uhÚj2 hô]rF hýX"bios_/docs/Bios_APIs.htmlrG …�rH }rI (hÙUhÚjC ubahæj_ubhýX6 to figure out how to use the API in your application.rJ …�rK }rL (hÙX6 to figure out how to use the API in your application.hÚj2 ubeubj )�rM }rN (hÙXDDon't peek! The next section will discuss answers to the task above.rO hÚj# häjhæj hè}rP (hê]hë]hì]hí]hð]uhòNhóhhô]rQ j/)�rR }rS (hÙjO hÚjM häjhæj3hè}rT (hê]hë]hì]hí]hð]uhòM~hô]rU hýXDDon't peek! The next section will discuss answers to the task above.rV …�rW }rX (hÙjO hÚjR ubaubaubj/)�rY }rZ (hÙX®A good choice for passing the LED blink rate is the ``ti.sysbios.knl.Mailbox`` module. This module can be used to pass buffers from one task to another on the same processor.hÚj# häjhæj3hè}r[ (hê]hë]hì]hí]hð]uhòM€hóhhô]r\ (hýX4A good choice for passing the LED blink rate is the r] …�r^ }r_ (hÙX4A good choice for passing the LED blink rate is the hÚjY ubj)�r` }ra (hÙX``ti.sysbios.knl.Mailbox``hè}rb (hê]hë]hì]hí]hð]uhÚjY hô]rc hýXti.sysbios.knl.Mailboxrd …�re }rf (hÙUhÚj` ubahæj#ubhýX` module. This module can be used to pass buffers from one task to another on the same processor.rg …�rh }ri (hÙX` module. This module can be used to pass buffers from one task to another on the same processor.hÚjY ubeubj/)�rj }rk (hÙX`To include ``Mailbox`` in your project you first need to add the module to the **app.cfg** file:hÚj# häjhæj3hè}rl (hê]hë]hì]hí]hð]uhòM„hóhhô]rm (hýX To include rn …�ro }rp (hÙX To include hÚjj ubj)�rq }rr (hÙX ``Mailbox``hè}rs (hê]hë]hì]hí]hð]uhÚjj hô]rt hýXMailboxru …�rv }rw (hÙUhÚjq ubahæj#ubhýX9 in your project you first need to add the module to the rx …�ry }rz (hÙX9 in your project you first need to add the module to the hÚjj ubjW)�r{ }r| (hÙX **app.cfg**hè}r} (hê]hë]hì]hí]hð]uhÚjj hô]r~ hýXapp.cfgr …�r€ }r� (hÙUhÚj{ ubahæj_ubhýX file:r‚ …�rƒ }r„ (hÙX file:hÚjj ubeubjË)�r… }r† (hÙX6var Mailbox = xdc.useModule('ti.sysbios.knl.Mailbox');hÚj# häjhæjÎhè}r‡ (jG‰jHX javascriptjjhí]hì]hê]jI}hë]hð]uhòM‡hóhhô]rˆ hýX6var Mailbox = xdc.useModule('ti.sysbios.knl.Mailbox');r‰ …�rŠ }r‹ (hÙUhÚj… ubaubj/)�rŒ }r� (hÙXTNext, you need to include the ``ti/sysbios/knl/Mailbox.h`` header file in **app.h**:hÚj# häjhæj3hè}rŽ (hê]hë]hì]hí]hð]uhòM‹hóhhô]r� (hýXNext, you need to include the r� …�r‘ }r’ (hÙXNext, you need to include the hÚjŒ ubj)�r“ }r” (hÙX``ti/sysbios/knl/Mailbox.h``hè}r• (hê]hë]hì]hí]hð]uhÚjŒ hô]r– hýXti/sysbios/knl/Mailbox.hr— …�r˜ }r™ (hÙUhÚj“ ubahæj#ubhýX header file in rš …�r› }rœ (hÙX header file in hÚjŒ ubjW)�r� }rž (hÙX **app.h**hè}rŸ (hê]hë]hì]hí]hð]uhÚjŒ hô]r  hýXapp.hr¡ …�r¢ }r£ (hÙUhÚj� ubahæj_ubhýX:…�r¤ }r¥ (hÙX:hÚjŒ ubeubjË)�r¦ }r§ (hÙX##include hÚj# häjhæjÎhè}r¨ (jG‰jHXcjjhí]hì]hê]jI}hë]hð]uhòMŽhóhhô]r© hýX##include rª …�r« }r¬ (hÙUhÚj¦ ubaubj/)�r­ }r® (hÙXMTo create a Mailbox, use the ``Mailbox_create()`` API which is defined below:r¯ hÚj# häjhæj3hè}r° (hê]hë]hì]hí]hð]uhòM’hóhhô]r± (hýXTo create a Mailbox, use the r² …�r³ }r´ (hÙXTo create a Mailbox, use the hÚj­ ubj)�rµ }r¶ (hÙX``Mailbox_create()``hè}r· (hê]hë]hì]hí]hð]uhÚj­ hô]r¸ hýXMailbox_create()r¹ …�rº }r» (hÙUhÚjµ ubahæj#ubhýX API which is defined below:r¼ …�r½ }r¾ (hÙX API which is defined below:hÚj­ ubeubjË)�r¿ }rÀ (hÙXßMailbox_Handle Mailbox_create(SizeT bufsize, UInt numBufs, Mailbox_Params *params, Error_Block *eb)hÚj# häjhæjÎhè}rÁ (jG‰jHXcjjhí]hì]hê]jI}hë]hð]uhòM”hóhhô]r hýXßMailbox_Handle Mailbox_create(SizeT bufsize, UInt numBufs, Mailbox_Params *params, Error_Block *eb)rà …�rÄ }rÅ (hÙUhÚj¿ ubaubj/)�rÆ }rÇ (hÙX?You are now set up to use ``Mailbox`` in your application code.rÈ hÚj# häjhæj3hè}rÉ (hê]hë]hì]hí]hð]uhòM›hóhhô]rÊ (hýXYou are now set up to use rË …�rÌ }rÍ (hÙXYou are now set up to use hÚjÆ ubj)�rÎ }rÏ (hÙX ``Mailbox``hè}rÐ (hê]hë]hì]hí]hð]uhÚjÆ hô]rÑ hýXMailboxrÒ …�rÓ }rÔ (hÙUhÚjÎ ubahæj#ubhýX in your application code.rÕ …�rÖ }r× (hÙX in your application code.hÚjÆ ubeubeubhÛ)�rØ }rÙ (hÙUhÚjà häjhæhçhè}rÚ (hê]hë]hì]hí]rÛ Uadd-new-application-coderÜ ahð]rÝ h³auhòMžhóhhô]rÞ (hö)�rß }rà (hÙXAdd New Application Coderá hÚjØ häjhæhúhè}râ (hê]hë]hì]hí]hð]uhòMžhóhhô]rã hýXAdd New Application Coderä …�rå }ræ (hÙjá hÚjß ubaubj/)�rç }rè (hÙXMModify the existing UART and LED task code to functions for the new application. If you run in to any issues, make sure to use CCS debug features such as breakpoints and variable watching to verify that the application is functioning in the way that you expect. Functional example code for the AM572x EVM will be provided at the end.ré hÚjØ häjhæj3hè}rê (hê]hë]hì]hí]hð]uhòMŸhóhhô]rë hýXMModify the existing UART and LED task code to functions for the new application. If you run in to any issues, make sure to use CCS debug features such as breakpoints and variable watching to verify that the application is functioning in the way that you expect. Functional example code for the AM572x EVM will be provided at the end.rì …�rí }rî (hÙjé hÚjç ubaubj )�rï }rð (hÙXDDon't peek! The next section will discuss answers to the task above.rñ hÚjØ häjhæj hè}rò (hê]hë]hì]hí]hð]uhòNhóhhô]ró j/)�rô }rõ (hÙjñ hÚjï häjhæj3hè}rö (hê]hë]hì]hí]hð]uhòM¦hô]r÷ hýXDDon't peek! The next section will discuss answers to the task above.rø …�rù }rú (hÙjñ hÚjô ubaubaubj¼)�rû }rü (hÙUhÚjØ häjhæj¿hè}rý (jÁU)hí]hì]hê]jÂUhë]hð]jÃjÄuhòM¨hóhhô]rþ (jX)�rÿ }r (hÙX­Create a global ``Mailbox_Handle`` to be shared by the ``uart_task()`` and ``gpio_toggle_led_task()``. Then create a Mailbox at the end of the ``appTasksCreate()`` function.hÚjû häjhæj[hè}r (hê]hë]hì]hí]hð]uhòNhóhhô]r j/)�r }r (hÙX­Create a global ``Mailbox_Handle`` to be shared by the ``uart_task()`` and ``gpio_toggle_led_task()``. Then create a Mailbox at the end of the ``appTasksCreate()`` function.hÚjÿ häjhæj3hè}r (hê]hë]hì]hí]hð]uhòM¨hô]r (hýXCreate a global r …�r }r (hÙXCreate a global hÚj ubj)�r }r (hÙX``Mailbox_Handle``hè}r (hê]hë]hì]hí]hð]uhÚj hô]r hýXMailbox_Handler …�r }r (hÙUhÚj ubahæj#ubhýX to be shared by the r …�r }r (hÙX to be shared by the hÚj ubj)�r }r (hÙX``uart_task()``hè}r (hê]hë]hì]hí]hð]uhÚj hô]r hýX uart_task()r …�r }r (hÙUhÚj ubahæj#ubhýX and r …�r }r (hÙX and hÚj ubj)�r }r (hÙX``gpio_toggle_led_task()``hè}r (hê]hë]hì]hí]hð]uhÚj hô]r! hýXgpio_toggle_led_task()r" …�r# }r$ (hÙUhÚj ubahæj#ubhýX*. Then create a Mailbox at the end of the r% …�r& }r' (hÙX*. Then create a Mailbox at the end of the hÚj ubj)�r( }r) (hÙX``appTasksCreate()``hè}r* (hê]hë]hì]hí]hð]uhÚj hô]r+ hýXappTasksCreate()r, …�r- }r. (hÙUhÚj( ubahæj#ubhýX function.r/ …�r0 }r1 (hÙX function.hÚj ubeubaubjX)�r2 }r3 (hÙXµModify the ``uart_task()`` code to scan for an unisgned integer delay value instead of a string. This value should then be placed in the Mailbox by using the ``Mailbox_post()`` API.hÚjû häjhæj[hè}r4 (hê]hë]hì]hí]hð]uhòNhóhhô]r5 j/)�r6 }r7 (hÙXµModify the ``uart_task()`` code to scan for an unisgned integer delay value instead of a string. This value should then be placed in the Mailbox by using the ``Mailbox_post()`` API.hÚj2 häjhæj3hè}r8 (hê]hë]hì]hí]hð]uhòM«hô]r9 (hýX Modify the r: …�r; }r< (hÙX Modify the hÚj6 ubj)�r= }r> (hÙX``uart_task()``hè}r? (hê]hë]hì]hí]hð]uhÚj6 hô]r@ hýX uart_task()rA …�rB }rC (hÙUhÚj= ubahæj#ubhýX„ code to scan for an unisgned integer delay value instead of a string. This value should then be placed in the Mailbox by using the rD …�rE }rF (hÙX„ code to scan for an unisgned integer delay value instead of a string. This value should then be placed in the Mailbox by using the hÚj6 ubj)�rG }rH (hÙX``Mailbox_post()``hè}rI (hê]hë]hì]hí]hð]uhÚj6 hô]rJ hýXMailbox_post()rK …�rL }rM (hÙUhÚjG ubahæj#ubhýX API.rN …�rO }rP (hÙX API.hÚj6 ubeubaubjX)�rQ }rR (hÙXµModify ``gpio_toggle_led_task()`` to retrieve a delay value from the Mailbox via the ``Mailbox_pend()`` API. This delay value should be used in the ``task_sleep()`` function calls. hÚjû häjhæj[hè}rS (hê]hë]hì]hí]hð]uhòNhóhhô]rT j/)�rU }rV (hÙX´Modify ``gpio_toggle_led_task()`` to retrieve a delay value from the Mailbox via the ``Mailbox_pend()`` API. This delay value should be used in the ``task_sleep()`` function calls.hÚjQ häjhæj3hè}rW (hê]hë]hì]hí]hð]uhòM®hô]rX (hýXModify rY …�rZ }r[ (hÙXModify hÚjU ubj)�r\ }r] (hÙX``gpio_toggle_led_task()``hè}r^ (hê]hë]hì]hí]hð]uhÚjU hô]r_ hýXgpio_toggle_led_task()r` …�ra }rb (hÙUhÚj\ ubahæj#ubhýX4 to retrieve a delay value from the Mailbox via the rc …�rd }re (hÙX4 to retrieve a delay value from the Mailbox via the hÚjU ubj)�rf }rg (hÙX``Mailbox_pend()``hè}rh (hê]hë]hì]hí]hð]uhÚjU hô]ri hýXMailbox_pend()rj …�rk }rl (hÙUhÚjf ubahæj#ubhýX- API. This delay value should be used in the rm …�rn }ro (hÙX- API. This delay value should be used in the hÚjU ubj)�rp }rq (hÙX``task_sleep()``hè}rr (hê]hë]hì]hí]hð]uhÚjU hô]rs hýX task_sleep()rt …�ru }rv (hÙUhÚjp ubahæj#ubhýX function calls.rw …�rx }ry (hÙX function calls.hÚjU ubeubaubeubj/)�rz }r{ (hÙXmNow, give your project a try. You should be able to type in LED delay values to the UART terminal and see the blink rate of the LED change accordingly. To see a functioning solution, you can download the modified source files from the links below. Sections of the source files that were modified from the originals are marked with a ``/* Modification: */`` comment.hÚjØ häjhæj3hè}r| (hê]hë]hì]hí]hð]uhòM²hóhhô]r} (hýXMNow, give your project a try. You should be able to type in LED delay values to the UART terminal and see the blink rate of the LED change accordingly. To see a functioning solution, you can download the modified source files from the links below. Sections of the source files that were modified from the originals are marked with a r~ …�r }r€ (hÙXMNow, give your project a try. You should be able to type in LED delay values to the UART terminal and see the blink rate of the LED change accordingly. To see a functioning solution, you can download the modified source files from the links below. Sections of the source files that were modified from the originals are marked with a hÚjz ubj)�r� }r‚ (hÙX``/* Modification: */``hè}rƒ (hê]hë]hì]hí]hð]uhÚjz hô]r„ hýX/* Modification: */r… …�r† }r‡ (hÙUhÚj� ubahæj#ubhýX comment.rˆ …�r‰ }rŠ (hÙX comment.hÚjz ubeubjž)�r‹ }rŒ (hÙUhÚjØ häNhæjªhè}r� (hê]hë]hì]hí]hð]uhòNhóhhô]rŽ jQ)�r� }r� (hÙUhè}r‘ (jVX-hí]hì]hê]hë]hð]uhÚj‹ hô]r’ (jX)�r“ }r” (hÙX;:download:`app.c <../example_code/template_app_mods/app.c>`r• hè}r– (hê]hë]hì]hí]hð]uhÚj� hô]r— j/)�r˜ }r™ (hÙj• hÚj“ häjhæj3hè}rš (hê]hë]hì]hí]hð]uhòM¸hô]r› csphinx.addnodes download_reference rœ )�r� }rž (hÙj• hÚj˜ häjhæUdownload_referencerŸ hè}r  (UreftypeXdownloadr¡ Urefwarnr¢ ‰U reftargetr£ X'../example_code/template_app_mods/app.cU refdomainUhí]hì]U refexplicitˆhê]hë]hð]Urefdocr¤ Xrtos/index_examples_demosr¥ Ufilenamer¦ Xapp.cr§ uhòM¸hô]r¨ j)�r© }rª (hÙj• hè}r« (hê]hë]r¬ (Uxrefr­ j¡ ehì]hí]hð]uhÚj� hô]r® hýXapp.cr¯ …�r° }r± (hÙUhÚj© ubahæj#ubaubaubahæj[ubjX)�r² }r³ (hÙX;:download:`app.h <../example_code/template_app_mods/app.h>`r´ hè}rµ (hê]hë]hì]hí]hð]uhÚj� hô]r¶ j/)�r· }r¸ (hÙj´ hÚj² häjhæj3hè}r¹ (hê]hë]hì]hí]hð]uhòM¹hô]rº jœ )�r» }r¼ (hÙj´ hÚj· häjhæjŸ hè}r½ (UreftypeXdownloadr¾ j¢ ‰j£ X'../example_code/template_app_mods/app.hU refdomainUhí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ j¦ Xapp.hr¿ uhòM¹hô]rÀ j)�rÁ }r (hÙj´ hè}rà (hê]hë]rÄ (j­ j¾ ehì]hí]hð]uhÚj» hô]rÅ hýXapp.hrÆ …�rÇ }rÈ (hÙUhÚjÁ ubahæj#ubaubaubahæj[ubjX)�rÉ }rÊ (hÙX@:download:`app.cfg <../example_code/template_app_mods/app.cfg>` hè}rË (hê]hë]hì]hí]hð]uhÚj� hô]rÌ j/)�rÍ }rÎ (hÙX?:download:`app.cfg <../example_code/template_app_mods/app.cfg>`rÏ hÚjÉ häjhæj3hè}rÐ (hê]hë]hì]hí]hð]uhòMºhô]rÑ jœ )�rÒ }rÓ (hÙjÏ hÚjÍ häjhæjŸ hè}rÔ (UreftypeXdownloadrÕ j¢ ‰j£ X)../example_code/template_app_mods/app.cfgU refdomainUhí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ j¦ Xapp.cfgrÖ uhòMºhô]r× j)�rØ }rÙ (hÙjÏ hè}rÚ (hê]hë]rÛ (j­ jÕ ehì]hí]hð]uhÚjÒ hô]rÜ hýXapp.cfgrÝ …�rÞ }rß (hÙUhÚjØ ubahæj#ubaubaubahæj[ubehæjTubaubjÎ)�rà }rá (hÙUhÚjØ häjhæjÑhè}râ (hê]hë]hì]hí]hð]uhòM¼hóhhô]rã jÔ)�rä }rå (hÙUj×KhÚjà häjhæhòhè}ræ (hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubeubeubhäjhæhçhè}rç (hê]hë]hì]hí]rè U3task-4-loading-and-running-the-template-applicationré ahð]rê hauhòM hóhhô]rë (hö)�rì }rí (hÙX5Task 4 - Loading and Running the Template Applicationrî hÚhÞhäjhæhúhè}rï (hê]hë]hì]hí]hð]uhòM hóhhô]rð hýX5Task 4 - Loading and Running the Template Applicationrñ …�rò }ró (hÙjî hÚjì ubaubhÛ)�rô }rõ (hÙUhÚhÞhäjhæhçhè}rö (hê]hë]hì]hí]r÷ U$creating-a-target-configuration-filerø ahð]rù h=auhòM hóhhô]rú (hö)�rû }rü (hÙX$Creating a Target Configuration Filerý hÚjô häjhæhúhè}rþ (hê]hë]hì]hí]hð]uhòM hóhhô]rÿ hýX$Creating a Target Configuration Filer …�r }r (hÙjý hÚjû ubaubj/)�r }r (hÙX(In order to connect to the target platform we first need to create a target configuration file. To do this, open CCS and go to the *File --> New --> Target Configuration File* menu and create a new target configuration file named after your board. For example, **am572x-evm.ccxml**. Next, you need to choose your *connection* and *board* on the target configuration file page. The *connection* is your chosen JTAG Debug Probe (for example, the XDS200) and the *board* is the name of your EVM (either *EVMAM3358*, *EVMAM437X*, or *GPEVM_AM572x_SiRevA*).hÚjô häjhæj3hè}r (hê]hë]hì]hí]hð]uhòMhóhhô]r (hýXƒIn order to connect to the target platform we first need to create a target configuration file. To do this, open CCS and go to the r …�r }r (hÙXƒIn order to connect to the target platform we first need to create a target configuration file. To do this, open CCS and go to the hÚj ubj')�r }r (hÙX,*File --> New --> Target Configuration File*hè}r (hê]hë]hì]hí]hð]uhÚj hô]r hýX*File --> New --> Target Configuration Filer …�r }r (hÙUhÚj ubahæj/ubhýXV menu and create a new target configuration file named after your board. For example, r …�r }r (hÙXV menu and create a new target configuration file named after your board. For example, hÚj ubjW)�r }r (hÙX**am572x-evm.ccxml**hè}r (hê]hë]hì]hí]hð]uhÚj hô]r hýXam572x-evm.ccxmlr …�r }r (hÙUhÚj ubahæj_ubhýX . Next, you need to choose your r …�r }r (hÙX . Next, you need to choose your hÚj ubj')�r }r (hÙX *connection*hè}r (hê]hë]hì]hí]hð]uhÚj hô]r! hýX connectionr" …�r# }r$ (hÙUhÚj ubahæj/ubhýX and r% …�r& }r' (hÙX and hÚj ubj')�r( }r) (hÙX*board*hè}r* (hê]hë]hì]hí]hð]uhÚj hô]r+ hýXboardr, …�r- }r. (hÙUhÚj( ubahæj/ubhýX, on the target configuration file page. The r/ …�r0 }r1 (hÙX, on the target configuration file page. The hÚj ubj')�r2 }r3 (hÙX *connection*hè}r4 (hê]hë]hì]hí]hð]uhÚj hô]r5 hýX connectionr6 …�r7 }r8 (hÙUhÚj2 ubahæj/ubhýXC is your chosen JTAG Debug Probe (for example, the XDS200) and the r9 …�r: }r; (hÙXC is your chosen JTAG Debug Probe (for example, the XDS200) and the hÚj ubj')�r< }r= (hÙX*board*hè}r> (hê]hë]hì]hí]hð]uhÚj hô]r? hýXboardr@ …�rA }rB (hÙUhÚj< ubahæj/ubhýX! is the name of your EVM (either rC …�rD }rE (hÙX! is the name of your EVM (either hÚj ubj')�rF }rG (hÙX *EVMAM3358*hè}rH (hê]hë]hì]hí]hð]uhÚj hô]rI hýX EVMAM3358rJ …�rK }rL (hÙUhÚjF ubahæj/ubhýX, rM …�rN }rO (hÙX, hÚj ubj')�rP }rQ (hÙX *EVMAM437X*hè}rR (hê]hë]hì]hí]hð]uhÚj hô]rS hýX EVMAM437XrT …�rU }rV (hÙUhÚjP ubahæj/ubhýX, or rW …�rX }rY (hÙX, or hÚj ubj')�rZ }r[ (hÙX*GPEVM_AM572x_SiRevA*hè}r\ (hê]hë]hì]hí]hð]uhÚj hô]r] hýXGPEVM_AM572x_SiRevAr^ …�r_ }r` (hÙUhÚjZ ubahæj/ubhýX).ra …�rb }rc (hÙX).hÚj ubeubj/)�rd }re (hÙX]For example, here is the target configuration for the AM572x EVM using an XDS200 Debug Probe:rf hÚjô häjhæj3hè}rg (hê]hë]hì]hí]hð]uhòMhóhhô]rh hýX]For example, here is the target configuration for the AM572x EVM using an XDS200 Debug Probe:ri …�rj }rk (hÙjf hÚjd ubaubj)�rl }rm (hÙXB.. image:: ../images/am572x-evm-target-config.png :scale: 70 % hÚjô häjhæjhè}rn (UscaleKFUuriX+rtos/../images/am572x-evm-target-config.pngro hí]hì]hê]hë]j}rp U*jo shð]uhòNhóhhô]ubj/)�rq }rr (hÙXâAfter setup is complete, clike the *Save* button to save your target configuration. Then click *Test Connection* to verify that you can connect to the board. If the test is successful you should receive the following message::hÚjô häjhæj3hè}rs (hê]hë]hì]hí]hð]uhòMhóhhô]rt (hýX#After setup is complete, clike the ru …�rv }rw (hÙX#After setup is complete, clike the hÚjq ubj')�rx }ry (hÙX*Save*hè}rz (hê]hë]hì]hí]hð]uhÚjq hô]r{ hýXSaver| …�r} }r~ (hÙUhÚjx ubahæj/ubhýX6 button to save your target configuration. Then click r …�r€ }r� (hÙX6 button to save your target configuration. Then click hÚjq ubj')�r‚ }rƒ (hÙX*Test Connection*hè}r„ (hê]hë]hì]hí]hð]uhÚjq hô]r… hýXTest Connectionr† …�r‡ }rˆ (hÙUhÚj‚ ubahæj/ubhýXq to verify that you can connect to the board. If the test is successful you should receive the following message:r‰ …�rŠ }r‹ (hÙXq to verify that you can connect to the board. If the test is successful you should receive the following message:hÚjq ubeubjË)�rŒ }r� (hÙX.The JTAG DR Integrity scan-test has succeeded.hÚjô häjhæjÎhè}rŽ (jjhí]hì]hê]hë]hð]uhòM)hóhhô]r� hýX.The JTAG DR Integrity scan-test has succeeded.r� …�r‘ }r’ (hÙUhÚjŒ ubaubeubhÛ)�r“ }r” (hÙUhÚhÞhäjhæhçhè}r• (hê]hë]hì]hí]r– Uconnecting-to-the-targetr— ahð]r˜ h„auhòM%hóhhô]r™ (hö)�rš }r› (hÙXConnecting to the Targetrœ hÚj“ häjhæhúhè}r� (hê]hë]hì]hí]hð]uhòM%hóhhô]rž hýXConnecting to the TargetrŸ …�r  }r¡ (hÙjœ hÚjš ubaubj/)�r¢ }r£ (hÙXtWith our target configuration confirmed, we can now move on to connecting to the target and loading our application.r¤ hÚj“ häjhæj3hè}r¥ (hê]hë]hì]hí]hð]uhòM&hóhhô]r¦ hýXtWith our target configuration confirmed, we can now move on to connecting to the target and loading our application.r§ …�r¨ }r© (hÙj¤ hÚj¢ ubaubj/)�rª }r« (hÙX”First, set up the UART connection using the following host configuration in your favorite serial terminal program (e.g. Tera Term, screen, Minicom):r¬ hÚj“ häjhæj3hè}r­ (hê]hë]hì]hí]hð]uhòM)hóhhô]r® hýX”First, set up the UART connection using the following host configuration in your favorite serial terminal program (e.g. Tera Term, screen, Minicom):r¯ …�r° }r± (hÙj¬ hÚjª ubaubjQ)�r² }r³ (hÙUhÚj“ häjhæjThè}r´ (jVX-hí]hì]hê]hë]hð]uhòM,hóhhô]rµ (jX)�r¶ }r· (hÙX**Baud Rate**: 115200r¸ hÚj² häjhæj[hè}r¹ (hê]hë]hì]hí]hð]uhòNhóhhô]rº j/)�r» }r¼ (hÙj¸ hÚj¶ häjhæj3hè}r½ (hê]hë]hì]hí]hð]uhòM,hô]r¾ (jW)�r¿ }rÀ (hÙX **Baud Rate**hè}rÁ (hê]hë]hì]hí]hð]uhÚj» hô]r hýX Baud Raterà …�rÄ }rÅ (hÙUhÚj¿ ubahæj_ubhýX: 115200rÆ …�rÇ }rÈ (hÙX: 115200hÚj» ubeubaubjX)�rÉ }rÊ (hÙX**Data Bits**: 8rË hÚj² häjhæj[hè}rÌ (hê]hë]hì]hí]hð]uhòNhóhhô]rÍ j/)�rÎ }rÏ (hÙjË hÚjÉ häjhæj3hè}rÐ (hê]hë]hì]hí]hð]uhòM-hô]rÑ (jW)�rÒ }rÓ (hÙX **Data Bits**hè}rÔ (hê]hë]hì]hí]hð]uhÚjÎ hô]rÕ hýX Data BitsrÖ …�r× }rØ (hÙUhÚjÒ ubahæj_ubhýX: 8rÙ …�rÚ }rÛ (hÙX: 8hÚjÎ ubeubaubjX)�rÜ }rÝ (hÙX**Parity**: NonerÞ hÚj² häjhæj[hè}rß (hê]hë]hì]hí]hð]uhòNhóhhô]rà j/)�rá }râ (hÙjÞ hÚjÜ häjhæj3hè}rã (hê]hë]hì]hí]hð]uhòM.hô]rä (jW)�rå }ræ (hÙX **Parity**hè}rç (hê]hë]hì]hí]hð]uhÚjá hô]rè hýXParityré …�rê }rë (hÙUhÚjå ubahæj_ubhýX: Nonerì …�rí }rî (hÙX: NonehÚjá ubeubaubjX)�rï }rð (hÙX**Flow Control**: Off hÚj² häjhæj[hè}rñ (hê]hë]hì]hí]hð]uhòNhóhhô]rò j/)�ró }rô (hÙX**Flow Control**: OffhÚjï häjhæj3hè}rõ (hê]hë]hì]hí]hð]uhòM/hô]rö (jW)�r÷ }rø (hÙX**Flow Control**hè}rù (hê]hë]hì]hí]hð]uhÚjó hô]rú hýX Flow Controlrû …�rü }rý (hÙUhÚj÷ ubahæj_ubhýX: Offrþ …�rÿ }r(hÙX: OffhÚjó ubeubaubeubj/)�r}r(hÙXNext, click on *View --> Target Configurations* in CCS. Then, right click on the target configuration that you created earlier and click *Launch Selected Configuration*. This action will switch CCS into the debug perspective. Your CCS instance should look similar to below:hÚj“ häjhæj3hè}r(hê]hë]hì]hí]hð]uhòM1hóhhô]r(hýXNext, click on r…�r}r(hÙXNext, click on hÚjubj')�r}r (hÙX *View --> Target Configurations*hè}r (hê]hë]hì]hí]hð]uhÚjhô]r hýXView --> Target Configurationsr …�r }r(hÙUhÚjubahæj/ubhýXZ in CCS. Then, right click on the target configuration that you created earlier and click r…�r}r(hÙXZ in CCS. Then, right click on the target configuration that you created earlier and click hÚjubj')�r}r(hÙX*Launch Selected Configuration*hè}r(hê]hë]hì]hí]hð]uhÚjhô]rhýXLaunch Selected Configurationr…�r}r(hÙUhÚjubahæj/ubhýXi. This action will switch CCS into the debug perspective. Your CCS instance should look similar to below:r…�r}r(hÙXi. This action will switch CCS into the debug perspective. Your CCS instance should look similar to below:hÚjubeubj)�r}r(hÙX8.. image:: ../images/ccs-debug-pers.png :scale: 70 % hÚj“ häjhæjhè}r(UscaleKFUuriX!rtos/../images/ccs-debug-pers.pngrhí]hì]hê]hë]j}r U*jshð]uhòNhóhhô]ubj/)�r!}r"(hÙXFIn the top left corner of CCS you should see a list of all of the available cores on your device. Right click on the primary core (listed below) and choose the *Connect Target* option. During this process you should see GEL output in the CCS console and the status of the core should change from "Disconnected" to "Suspended".hÚj“ häjhæj3hè}r#(hê]hë]hì]hí]hð]uhòM9hóhhô]r$(hýX In the top left corner of CCS you should see a list of all of the available cores on your device. Right click on the primary core (listed below) and choose the r%…�r&}r'(hÙX In the top left corner of CCS you should see a list of all of the available cores on your device. Right click on the primary core (listed below) and choose the hÚj!ubj')�r(}r)(hÙX*Connect Target*hè}r*(hê]hë]hì]hí]hð]uhÚj!hô]r+hýXConnect Targetr,…�r-}r.(hÙUhÚj(ubahæj/ubhýX– option. During this process you should see GEL output in the CCS console and the status of the core should change from "Disconnected" to "Suspended".r/…�r0}r1(hÙX– option. During this process you should see GEL output in the CCS console and the status of the core should change from "Disconnected" to "Suspended".hÚj!ubeubj/)�r2}r3(hÙXPrimary cores for each target:r4hÚj“ häjhæj3hè}r5(hê]hë]hì]hí]hð]uhòM?hóhhô]r6hýXPrimary cores for each target:r7…�r8}r9(hÙj4hÚj2ubaubcdocutils.nodes table r:)�r;}r<(hÙUhÚj“ häjhæUtabler=hè}r>(hê]hë]hì]hí]hð]uhòNhóhhô]r?cdocutils.nodes tgroup r@)�rA}rB(hÙUhè}rC(hí]hì]hê]hë]hð]UcolsKuhÚj;hô]rD(cdocutils.nodes colspec rE)�rF}rG(hÙUhè}rH(hí]hì]hê]hë]hð]UcolwidthKuhÚjAhô]hæUcolspecrIubjE)�rJ}rK(hÙUhè}rL(hí]hì]hê]hë]hð]UcolwidthKuhÚjAhô]hæjIubjE)�rM}rN(hÙUhè}rO(hí]hì]hê]hë]hð]UcolwidthKuhÚjAhô]hæjIubjE)�rP}rQ(hÙUhè}rR(hí]hì]hê]hë]hð]UcolwidthKuhÚjAhô]hæjIubcdocutils.nodes thead rS)�rT}rU(hÙUhè}rV(hê]hë]hì]hí]hð]uhÚjAhô]rWcdocutils.nodes row rX)�rY}rZ(hÙUhè}r[(hê]hë]hì]hí]hð]uhÚjThô]r\(cdocutils.nodes entry r])�r^}r_(hÙUhè}r`(hê]hë]hì]hí]hð]uhÚjYhô]raj/)�rb}rc(hÙXAM335xrdhÚj^häjhæj3hè}re(hê]hë]hì]hí]hð]uhòMBhô]rfhýXAM335xrg…�rh}ri(hÙjdhÚjbubaubahæUentryrjubj])�rk}rl(hÙUhè}rm(hê]hë]hì]hí]hð]uhÚjYhô]rnj/)�ro}rp(hÙXAM437xrqhÚjkhäjhæj3hè}rr(hê]hë]hì]hí]hð]uhòMBhô]rshýXAM437xrt…�ru}rv(hÙjqhÚjoubaubahæjjubj])�rw}rx(hÙUhè}ry(hê]hë]hì]hí]hð]uhÚjYhô]rzj/)�r{}r|(hÙXAM572xr}hÚjwhäjhæj3hè}r~(hê]hë]hì]hí]hð]uhòMBhô]rhýXAM572xr€…�r�}r‚(hÙj}hÚj{ubaubahæjjubj])�rƒ}r„(hÙUhè}r…(hê]hë]hì]hí]hð]uhÚjYhô]r†j/)�r‡}rˆ(hÙXAM654xr‰hÚjƒhäjhæj3hè}rŠ(hê]hë]hì]hí]hð]uhòMBhô]r‹hýXAM654xrŒ…�r�}rŽ(hÙj‰hÚj‡ubaubahæjjubehæUrowr�ubahæUtheadr�ubcdocutils.nodes tbody r‘)�r’}r“(hÙUhè}r”(hê]hë]hì]hí]hð]uhÚjAhô]r•jX)�r–}r—(hÙUhè}r˜(hê]hë]hì]hí]hð]uhÚj’hô]r™(j])�rš}r›(hÙUhè}rœ(hê]hë]hì]hí]hð]uhÚj–hô]r�j/)�rž}rŸ(hÙXA8r hÚjšhäjhæj3hè}r¡(hê]hë]hì]hí]hð]uhòMDhô]r¢hýXA8r£…�r¤}r¥(hÙj hÚjžubaubahæjjubj])�r¦}r§(hÙUhè}r¨(hê]hë]hì]hí]hð]uhÚj–hô]r©j/)�rª}r«(hÙXA9r¬hÚj¦häjhæj3hè}r­(hê]hë]hì]hí]hð]uhòMDhô]r®hýXA9r¯…�r°}r±(hÙj¬hÚjªubaubahæjjubj])�r²}r³(hÙUhè}r´(hê]hë]hì]hí]hð]uhÚj–hô]rµj/)�r¶}r·(hÙXA15_0r¸hÚj²häjhæj3hè}r¹(hê]hë]hì]hí]hð]uhòMDhô]rºhýXA15_0r»…�r¼}r½(hÙj¸hÚj¶ubaubahæjjubj])�r¾}r¿(hÙUhè}rÀ(hê]hë]hì]hí]hð]uhÚj–hô]rÁj/)�rÂ}rÃ(hÙXA53_0rÄhÚj¾häjhæj3hè}rÅ(hê]hë]hì]hí]hð]uhòMDhô]rÆhýXA53_0rÇ…�rÈ}rÉ(hÙjÄhÚjÂubaubahæjjubehæj�ubahæUtbodyrÊubehæUtgrouprËubaubj))�rÌ}rÍ(hÙXvFor AM572x EVM, the template application can also run on the M4 and DSP cores. If you intend to run the application on one of these cores you must still connect to the main A15_0 core **first**. After connecting to the A15_0 core you can then follow the same procedure as above to connect to the secondary core where you would like to run the application. Do not attempt to load and run the template application on two cores simultaneously as the Template Application is not designed to run this way. Similar instructions apply to AM654x EVM, where you should connect to the M3 core first before running on your application core.hÚj“ häjhæj,hè}rÎ(hê]hë]hì]hí]hð]uhòNhóhhô]rÏ(j/)�rÐ}rÑ(hÙXôFor AM572x EVM, the template application can also run on the M4 and DSP cores. If you intend to run the application on one of these cores you must still connect to the main A15_0 core **first**. After connecting to the A15_0 core you can then follow the same procedure as above to connect to the secondary core where you would like to run the application. Do not attempt to load and run the template application on two cores simultaneously as the Template Application is not designed to run this way.hÚjÌhäjhæj3hè}rÒ(hê]hë]hì]hí]hð]uhòMHhô]rÓ(hýX¸For AM572x EVM, the template application can also run on the M4 and DSP cores. If you intend to run the application on one of these cores you must still connect to the main A15_0 core rÔ…�rÕ}rÖ(hÙX¸For AM572x EVM, the template application can also run on the M4 and DSP cores. If you intend to run the application on one of these cores you must still connect to the main A15_0 core hÚjÐubjW)�r×}rØ(hÙX **first**hè}rÙ(hê]hë]hì]hí]hð]uhÚjÐhô]rÚhýXfirstrÛ…�rÜ}rÝ(hÙUhÚj×ubahæj_ubhýX3. After connecting to the A15_0 core you can then follow the same procedure as above to connect to the secondary core where you would like to run the application. Do not attempt to load and run the template application on two cores simultaneously as the Template Application is not designed to run this way.rÞ…�rß}rà(hÙX3. After connecting to the A15_0 core you can then follow the same procedure as above to connect to the secondary core where you would like to run the application. Do not attempt to load and run the template application on two cores simultaneously as the Template Application is not designed to run this way.hÚjÐubeubj/)�rá}râ(hÙX€Similar instructions apply to AM654x EVM, where you should connect to the M3 core first before running on your application core.rãhÚjÌhäjhæj3hè}rä(hê]hë]hì]hí]hð]uhòMPhô]råhýX€Similar instructions apply to AM654x EVM, where you should connect to the M3 core first before running on your application core.ræ…�rç}rè(hÙjãhÚjáubaubeubeubhÜeubhäjhæhçhè}ré(hê]hë]hì]hí]rêUrunning-the-applicationrëahð]rìh'auhòMThóhhô]rí(hö)�rî}rï(hÙXRunning the ApplicationrðhÚhÜhäjhæhúhè}rñ(hê]hë]hì]hí]hð]uhòMThóhhô]ròhýXRunning the Applicationró…�rô}rõ(hÙjðhÚjîubaubj/)�rö}r÷(hÙX5Now that we are connected to the target, it is time to load the application. To do this, go to the *Run --> Load --> Load Program* menu in CCS. Then, click the *Browse project...* button and choose the **[rtos or baremetal]_template_app__.out** executable. Then click *OK* to load the executable.hÚhÜhäjhæj3hè}rø(hê]hë]hì]hí]hð]uhòMVhóhhô]rù(hýXcNow that we are connected to the target, it is time to load the application. To do this, go to the rú…�rû}rü(hÙXcNow that we are connected to the target, it is time to load the application. To do this, go to the hÚjöubj')�rý}rþ(hÙX*Run --> Load --> Load Program*hè}rÿ(hê]hë]hì]hí]hð]uhÚjöhô]rhýXRun --> Load --> Load Programr…�r}r(hÙUhÚjýubahæj/ubhýX menu in CCS. Then, click the r…�r}r(hÙX menu in CCS. Then, click the hÚjöubj')�r}r(hÙX*Browse project...*hè}r (hê]hë]hì]hí]hð]uhÚjöhô]r hýXBrowse project...r …�r }r (hÙUhÚjubahæj/ubhýX button and choose the r…�r}r(hÙX button and choose the hÚjöubjW)�r}r(hÙX7**[rtos or baremetal]_template_app__.out**hè}r(hê]hë]hì]hí]hð]uhÚjöhô]rhýX3[rtos or baremetal]_template_app__.outr…�r}r(hÙUhÚjubahæj_ubhýX executable. Then click r…�r}r(hÙX executable. Then click hÚjöubj')�r}r(hÙX*OK*hè}r(hê]hë]hì]hí]hð]uhÚjöhô]rhýXOKr…�r }r!(hÙUhÚjubahæj/ubhýX to load the executable.r"…�r#}r$(hÙX to load the executable.hÚjöubeubj)�r%}r&(hÙX).. image:: ../images/load-executable.png hÚhÜhäjhæjhè}r'(UuriX"rtos/../images/load-executable.pngr(hí]hì]hê]hë]j}r)U*j(shð]uhòM]hóhhô]ubj/)�r*}r+(hÙXäYou should now see the **main.c** file open in CCS and the program halted at the beginning of the ``main()`` function. At this point you can click on the *Resume (F8)* |resume| button to start executing the Template Application.hÚhÜhäjhæj3hè}r,(hê]hë]hì]hí]hð]uhòM^hóhhô]r-(hýXYou should now see the r.…�r/}r0(hÙXYou should now see the hÚj*ubjW)�r1}r2(hÙX **main.c**hè}r3(hê]hë]hì]hí]hð]uhÚj*hô]r4hýXmain.cr5…�r6}r7(hÙUhÚj1ubahæj_ubhýXA file open in CCS and the program halted at the beginning of the r8…�r9}r:(hÙXA file open in CCS and the program halted at the beginning of the hÚj*ubj)�r;}r<(hÙX ``main()``hè}r=(hê]hë]hì]hí]hð]uhÚj*hô]r>hýXmain()r?…�r@}rA(hÙUhÚj;ubahæj#ubhýX. function. At this point you can click on the rB…�rC}rD(hÙX. function. At this point you can click on the hÚj*ubj')�rE}rF(hÙX *Resume (F8)*hè}rG(hê]hë]hì]hí]hð]uhÚj*hô]rHhýX Resume (F8)rI…�rJ}rK(hÙUhÚjEubahæj/ubhýX …�rL}rM(hÙX hÚj*ubj)�rN}rO(hÙX#image:: ../images/resume-button.pngrPhÚj*häNhæjhè}rQ(UuriX rtos/../images/resume-button.pngrRhí]hì]hê]hë]j}rSU*jRshð]UaltXresumerTuhòNhóhhô]ubhýX4 button to start executing the Template Application.rU…�rV}rW(hÙX4 button to start executing the Template Application.hÚj*ubeubhÖ)�rX}rY(hÙX0.. |resume| image:: ../images/resume-button.png hÚhÜhäjhæUsubstitution_definitionrZhè}r[(hê]hë]hì]hí]hð]r\jTauhòMbhóhhô]r]j)�r^}r_(hÙjPhè}r`(UuriX rtos/../images/resume-button.pngrahí]hì]hê]hë]j}rbU*jashð]UaltjTuhÚjXhô]hæjubaubj/)�rc}rd(hÙXˆThe application will begin running and print progress over the UART. You should see the following text printed to your serial terminal::hÚhÜhäjhæj3hè}re(hê]hë]hì]hí]hð]uhòMdhóhhô]rfhýX‡The application will begin running and print progress over the UART. You should see the following text printed to your serial terminal:rg…�rh}ri(hÙX‡The application will begin running and print progress over the UART. You should see the following text printed to your serial terminal:hÚjcubaubjË)�rj}rk(hÙX˜Board Init complete Uart Init complete I2C Init complete Gpio Init complete MCSPI Init complete ======== Peripheral Initialization complete ======== ======== Starting to create application tasks ======== gpio_toggle_led_task task created. uart_task task created. spi_test_task task created. i2c_eeprom_read_and_display_task task created. ======== Application tasks created successfully ======== gpio_toggle_led task started uart_task task started i2c_eeprom_read_and_display task started spi_test task started Board Name read: AM572PM_ Board version read: A.30 spi_test task ended i2c_eeprom_read_and_display task ended uart_task :Enter a word or Esc to quit >hÚhÜhäjhæjÎhè}rl(jjhí]hì]hê]hë]hð]uhòMnhóhhô]rmhýX˜Board Init complete Uart Init complete I2C Init complete Gpio Init complete MCSPI Init complete ======== Peripheral Initialization complete ======== ======== Starting to create application tasks ======== gpio_toggle_led_task task created. uart_task task created. spi_test_task task created. i2c_eeprom_read_and_display_task task created. ======== Application tasks created successfully ======== gpio_toggle_led task started uart_task task started i2c_eeprom_read_and_display task started spi_test task started Board Name read: AM572PM_ Board version read: A.30 spi_test task ended i2c_eeprom_read_and_display task ended uart_task :Enter a word or Esc to quit >rn…�ro}rp(hÙUhÚjjubaubj/)�rq}rr(hÙX˜Type a word into the serial terminal. It should be echoed back to you. Then, enter the ``ESC`` character to exit the Template Application. For example::hÚhÜhäjhæj3hè}rs(hê]hë]hì]hí]hð]uhòM�hóhhô]rt(hýXWType a word into the serial terminal. It should be echoed back to you. Then, enter the ru…�rv}rw(hÙXWType a word into the serial terminal. It should be echoed back to you. Then, enter the hÚjqubj)�rx}ry(hÙX``ESC``hè}rz(hê]hë]hì]hí]hð]uhÚjqhô]r{hýXESCr|…�r}}r~(hÙUhÚjxubahæj#ubhýX9 character to exit the Template Application. For example:r…�r€}r�(hÙX9 character to exit the Template Application. For example:hÚjqubeubjË)�r‚}rƒ(hÙXÝuart_task :Enter a word or Esc to quit >hello Data received is:hello uart_task :Enter a word or Esc to quit >test Data received is:test uart_task :Enter a word or Esc to quit >^[ uart_task task ended Template app endedhÚhÜhäjhæjÎhè}r„(jjhí]hì]hê]hë]hð]uhòM‹hóhhô]r…hýXÝuart_task :Enter a word or Esc to quit >hello Data received is:hello uart_task :Enter a word or Esc to quit >test Data received is:test uart_task :Enter a word or Esc to quit >^[ uart_task task ended Template app endedr†…�r‡}rˆ(hÙUhÚj‚ubaubj/)�r‰}rŠ(hÙX¤Next, click the *Terminate* |terminate| button to disconnect from the target. At this point you have successfully imported, built, and run the Template Application.hÚhÜhäjhæj3hè}r‹(hê]hë]hì]hí]hð]uhòM�hóhhô]rŒ(hýXNext, click the r�…�rŽ}r�(hÙXNext, click the hÚj‰ubj')�r�}r‘(hÙX *Terminate*hè}r’(hê]hë]hì]hí]hð]uhÚj‰hô]r“hýX Terminater”…�r•}r–(hÙUhÚj�ubahæj/ubhýX …�r—}r˜(hÙX hÚj‰ubj)�r™}rš(hÙX&image:: ../images/terminate-button.pngr›hÚj‰häNhæjhè}rœ(UuriX#rtos/../images/terminate-button.pngr�hí]hì]hê]hë]j}ržU*j�shð]UalthÕuhòNhóhhô]ubhýX} button to disconnect from the target. At this point you have successfully imported, built, and run the Template Application.rŸ…�r }r¡(hÙX} button to disconnect from the target. At this point you have successfully imported, built, and run the Template Application.hÚj‰ubeubh×eubhäjhæjZhè}r¢(hê]hë]hì]hí]hð]r£hÕauhòM“hóhhô]r¤j)�r¥}r¦(hÙj›hè}r§(UuriX#rtos/../images/terminate-button.pngr¨hí]hì]hê]hë]j}r©U*j¨shð]UalthÕuhÚh×hô]hæjubaubjTjXuUparse_messagesrª]r«(cdocutils.nodes system_message r¬)�r­}r®(hÙUhÚhÛ)�r¯}r°(hÙUjKhÚhÛ)�r±}r²(hÙUhÚhhähåhæhçhè}r³(hê]hë]hì]hí]r´Uimage-processing-demorµahð]r¶h…auhòK hóhhô]r·(hö)�r¸}r¹(hÙXImage Processing DemorºhÚj±hähåhæhúhè}r»(hê]hë]hì]hí]hð]uhòK hóhhô]r¼hýXImage Processing Demor½…�r¾}r¿(hÙjºhÚj¸ubaubj )�rÀ}rÁ(hÙXPhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Image_Processing_DemohÚj±häj XEsource/rtos/Examples_and_Demonstrations/Image_Processing_Demo.rst.incrÂ…�rÃ}rÄbhæjhè}rÅ(jjhí]hì]hê]hë]hð]uhòKhóhhô]rÆhýXPhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Image_Processing_DemorÇ…�rÈ}rÉ(hÙUhÚjÀubaubj¯hÛ)�rÊ}rË(hÙUjKhÚj±häjÃhæhçhè}rÌ(hê]rÍX requirementsrÎahë]hì]hí]rÏU requirementsrÐahð]uhòK.hóhhô]rÑ(hö)�rÒ}rÓ(hÙX RequirementsrÔhÚjÊhäjÃhæhúhè}rÕ(hê]hë]hì]hí]hð]uhòK.hóhhô]rÖhýX Requirementsr×…�rØ}rÙ(hÙjÔhÚjÒubaubj/)�rÚ}rÛ(hÙX?The following materials are required to run this demonstration:rÜhÚjÊhäjÃhæj3hè}rÝ(hê]hë]hì]hí]hð]uhòK0hóhhô]rÞhýX?The following materials are required to run this demonstration:rß…�rà}rá(hÙjÜhÚjÚubaubj/)�râ}rã(hÙXHardwarerähÚjÊhäjÃhæj3hè}rå(hê]hë]hì]hí]hð]uhòK2hóhhô]ræhýXHardwarerç…�rè}ré(hÙjähÚjâubaubjQ)�rê}rë(hÙUhÚjÊhäjÃhæjThè}rì(jVX-hí]hì]hê]hë]hð]uhòK4hóhhô]rí(jX)�rî}rï(hÙXTI EVM (see list above)rðhÚjêhäjÃhæj[hè}rñ(hê]hë]hì]hí]hð]uhòNhóhhô]ròj/)�ró}rô(hÙjðhÚjîhäjÃhæj3hè}rõ(hê]hë]hì]hí]hð]uhòK4hô]röhýXTI EVM (see list above)r÷…�rø}rù(hÙjðhÚjóubaubaubjX)�rú}rû(hÙX$Local Area Network with DHCP supportrühÚjêhäjÃhæj[hè}rý(hê]hë]hì]hí]hð]uhòNhóhhô]rþj/)�rÿ}r(hÙjühÚjúhäjÃhæj3hè}r(hê]hë]hì]hí]hð]uhòK5hô]rhýX$Local Area Network with DHCP supportr…�r}r(hÙjühÚjÿubaubaubjX)�r}r(hÙX%JTAG Emulator (on board or external) hÚjêhäjÃhæj[hè}r(hê]hë]hì]hí]hð]uhòNhóhhô]r j/)�r }r (hÙX$JTAG Emulator (on board or external)r hÚjhäjÃhæj3hè}r (hê]hë]hì]hí]hð]uhòK6hô]rhýX$JTAG Emulator (on board or external)r…�r}r(hÙj hÚj ubaubaubeubj/)�r}r(hÙXSoftwarerhÚjÊhäjÃhæj3hè}r(hê]hë]hì]hí]hð]uhòK8hóhhô]rhýXSoftwarer…�r}r(hÙjhÚjubaubjQ)�r}r(hÙUhÚjÊhäjÃhæjThè}r(jVX-hí]hì]hê]hë]hð]uhòK:hóhhô]r(jX)�r}r(hÙXProcessor-SDK RTOSr hÚjhäjÃhæj[hè}r!(hê]hë]hì]hí]hð]uhòNhóhhô]r"j/)�r#}r$(hÙj hÚjhäjÃhæj3hè}r%(hê]hë]hì]hí]hð]uhòK:hô]r&hýXProcessor-SDK RTOSr'…�r(}r)(hÙj hÚj#ubaubaubjX)�r*}r+(hÙXCode Composer Studio hÚjhäjÃhæj[hè}r,(hê]hë]hì]hí]hð]uhòNhóhhô]r-j/)�r.}r/(hÙXCode Composer Studior0hÚj*häjÃhæj3hè}r1(hê]hë]hì]hí]hð]uhòK;hô]r2hýXCode Composer Studior3…�r4}r5(hÙj0hÚj.ubaubaubeubjÎ)�r6}r7(hÙUhÚjÊhäjÃhæjÑhè}r8(hê]hë]hì]hí]hð]uhòK=hóhhô]r9jÔ)�r:}r;(hÙUj×KhÚj6häjÃhæhòhè}r<(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubhÛ)�r=}r>(hÙUjKhÚj±häjÃhæhçhè}r?(hê]r@j¯ahë]hì]hí]rAUid15rBahð]uhòK@hóhhô]rC(hö)�rD}rE(hÙXSoftware DesignrFhÚj=häjÃhæhúhè}rG(hê]hë]hì]hí]hð]uhòK@hóhhô]rHhýXSoftware DesignrI…�rJ}rK(hÙjFhÚjDubaubhÛ)�rL}rM(hÙUjKhÚj=häjÃhæhçhè}rN(hê]rOX more about processing algorithmsrPahë]hì]hí]rQU more-about-processing-algorithmsrRahð]uhòKChóhhô]rS(hö)�rT}rU(hÙX More about processing algorithmsrVhÚjLhäjÃhæhúhè}rW(hê]hë]hì]hí]hð]uhòKChóhhô]rXhýX More about processing algorithmsrY…�rZ}r[(hÙjVhÚjTubaubj/)�r\}r](hÙXThe application will use IMGLIB APIs for its core image processing needs. The following steps are performed for edge detection:r^hÚjLhäjÃhæj3hè}r_(hê]hë]hì]hí]hð]uhòKEhóhhô]r`hýXThe application will use IMGLIB APIs for its core image processing needs. The following steps are performed for edge detection:ra…�rb}rc(hÙj^hÚj\ubaubjQ)�rd}re(hÙUhÚjLhäjÃhæjThè}rf(jVX-hí]hì]hê]hë]hð]uhòKHhóhhô]rg(jX)�rh}ri(hÙX2Split input image into multiple overlapping slicesrjhÚjdhäjÃhæj[hè}rk(hê]hë]hì]hí]hð]uhòNhóhhô]rlj/)�rm}rn(hÙjjhÚjhhäjÃhæj3hè}ro(hê]hë]hì]hí]hð]uhòKHhô]rphýX2Split input image into multiple overlapping slicesrq…�rr}rs(hÙjjhÚjmubaubaubjX)�rt}ru(hÙX‘If it is a RGB image, separate out the Luma component (Y) for processing (See `YCbCr `__ for further details)hÚjdhäjÃhæj[hè}rv(hê]hë]hì]hí]hð]uhòNhóhhô]rwj/)�rx}ry(hÙX‘If it is a RGB image, separate out the Luma component (Y) for processing (See `YCbCr `__ for further details)hÚjthäjÃhæj3hè}rz(hê]hë]hì]hí]hð]uhòKIhô]r{(hýXNIf it is a RGB image, separate out the Luma component (Y) for processing (See r|…�r}}r~(hÙXNIf it is a RGB image, separate out the Luma component (Y) for processing (See hÚjxubj)�r}r€(hÙX.`YCbCr `__hè}r�(UnameXYCbCrjX"http://en.wikipedia.org/wiki/Ycbcrhí]hì]hê]hë]hð]uhÚjxhô]r‚hýXYCbCrrƒ…�r„}r…(hÙUhÚjubahæjubhýX for further details)r†…�r‡}rˆ(hÙX for further details)hÚjxubeubaubjX)�r‰}rŠ(hÙXRun `Sobel operator `__ (IMG_sobel_3x3_8) to get the gradient image of each sliceshÚjdhäjÃhæj[hè}r‹(hê]hë]hì]hí]hð]uhòNhóhhô]rŒj/)�r�}rŽ(hÙXRun `Sobel operator `__ (IMG_sobel_3x3_8) to get the gradient image of each sliceshÚj‰häjÃhæj3hè}r�(hê]hë]hì]hí]hð]uhòKLhô]r�(hýXRun r‘…�r’}r“(hÙXRun hÚj�ubj)�r”}r•(hÙX@`Sobel operator `__hè}r–(UnameXSobel operatorjX+http://en.wikipedia.org/wiki/Sobel_operatorhí]hì]hê]hë]hð]uhÚj�hô]r—hýXSobel operatorr˜…�r™}rš(hÙUhÚj”ubahæjubhýX; (IMG_sobel_3x3_8) to get the gradient image of each slicesr›…�rœ}r�(hÙX; (IMG_sobel_3x3_8) to get the gradient image of each sliceshÚj�ubeubaubjX)�rž}rŸ(hÙXQRun the thresholding operation ( IMG_thr_le2min_8) on the slices to get the edgeshÚjdhäjÃhæj[hè}r (hê]hë]hì]hí]hð]uhòNhóhhô]r¡j/)�r¢}r£(hÙXQRun the thresholding operation ( IMG_thr_le2min_8) on the slices to get the edgesr¤hÚjžhäjÃhæj3hè}r¥(hê]hë]hì]hí]hð]uhòKNhô]r¦hýXQRun the thresholding operation ( IMG_thr_le2min_8) on the slices to get the edgesr§…�r¨}r©(hÙj¤hÚj¢ubaubaubjX)�rª}r«(hÙX+Combine the slices to get the final output hÚjdhäjÃhæj[hè}r¬(hê]hë]hì]hí]hð]uhòNhóhhô]r­j/)�r®}r¯(hÙX*Combine the slices to get the final outputr°hÚjªhäjÃhæj3hè}r±(hê]hë]hì]hí]hð]uhòKPhô]r²hýX*Combine the slices to get the final outputr³…�r´}rµ(hÙj°hÚj®ubaubaubeubeubhÛ)�r¶}r·(hÙUhÚj=häjÃhæhçhè}r¸(hê]hë]hì]hí]r¹Uframework-for-multicorerºahð]r»h&auhòKShóhhô]r¼(hö)�r½}r¾(hÙXFramework for multicorer¿hÚj¶häjÃhæhúhè}rÀ(hê]hë]hì]hí]hð]uhòKShóhhô]rÁhýXFramework for multicorerÂ…�rÃ}rÄ(hÙj¿hÚj½ubaubj/)�rÅ}rÆ(hÙXšThe current framework for multicore is IPC (Message Queue). The following are the overall steps (the master and threads will be run on one or more cores):rÇhÚj¶häjÃhæj3hè}rÈ(hê]hë]hì]hí]hð]uhòKUhóhhô]rÉhýXšThe current framework for multicore is IPC (Message Queue). The following are the overall steps (the master and threads will be run on one or more cores):rÊ…�rË}rÌ(hÙjÇhÚjÅubaubjQ)�rÍ}rÎ(hÙUhÚj¶häjÃhæjThè}rÏ(jVX-hí]hì]hê]hë]hð]uhòKYhóhhô]rÐ(jX)�rÑ}rÒ(hÙXTThe master thread will preprocess the input image to make a gray scale or luma imagehÚjÍhäjÃhæj[hè}rÓ(hê]hë]hì]hí]hð]uhòNhóhhô]rÔj/)�rÕ}rÖ(hÙXTThe master thread will preprocess the input image to make a gray scale or luma imager×hÚjÑhäjÃhæj3hè}rØ(hê]hë]hì]hí]hð]uhòKYhô]rÙhýXTThe master thread will preprocess the input image to make a gray scale or luma imagerÚ…�rÛ}rÜ(hÙj×hÚjÕubaubaubjX)�rÝ}rÞ(hÙX}The master thread signal each slave thread to start processing and wait for processing complete signal from all slave threadshÚjÍhäjÃhæj[hè}rß(hê]hë]hì]hí]hð]uhòNhóhhô]ràj/)�rá}râ(hÙX}The master thread signal each slave thread to start processing and wait for processing complete signal from all slave threadsrãhÚjÝhäjÃhæj3hè}rä(hê]hë]hì]hí]hð]uhòK[hô]råhýX}The master thread signal each slave thread to start processing and wait for processing complete signal from all slave threadsræ…�rç}rè(hÙjãhÚjáubaubaubjX)�ré}rê(hÙXXThe slave threads run edge detection function to generate output edge image of the slicehÚjÍhäjÃhæj[hè}rë(hê]hë]hì]hí]hð]uhòNhóhhô]rìj/)�rí}rî(hÙXXThe slave threads run edge detection function to generate output edge image of the slicerïhÚjéhäjÃhæj3hè}rð(hê]hë]hì]hí]hð]uhòK]hô]rñhýXXThe slave threads run edge detection function to generate output edge image of the slicerò…�ró}rô(hÙjïhÚjíubaubaubjX)�rõ}rö(hÙXOThen the slave threads signal master thread indicating the processing completedhÚjÍhäjÃhæj[hè}r÷(hê]hë]hì]hí]hð]uhòNhóhhô]røj/)�rù}rú(hÙXOThen the slave threads signal master thread indicating the processing completedrûhÚjõhäjÃhæj3hè}rü(hê]hë]hì]hí]hð]uhòK_hô]rýhýXOThen the slave threads signal master thread indicating the processing completedrþ…�rÿ}r(hÙjûhÚjùubaubaubjX)�r}r(hÙXrOnce master thread receives completion signal from all threads it proceeds with further user interface processing hÚjÍhäjÃhæj[hè}r(hê]hë]hì]hí]hð]uhòNhóhhô]rj/)�r}r(hÙXqOnce master thread receives completion signal from all threads it proceeds with further user interface processingrhÚjhäjÃhæj3hè}r(hê]hë]hì]hí]hð]uhòKahô]r hýXqOnce master thread receives completion signal from all threads it proceeds with further user interface processingr …�r }r (hÙjhÚjubaubaubeubjÎ)�r }r(hÙUhÚj¶häjÃhæjÑhè}r(hê]hë]hì]hí]hð]uhòKdhóhhô]rjÔ)�r}r(hÙUj×KhÚj häjÃhæhòhè}r(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubhÛ)�r}r(hÙUjKhÚj=häjÃhæhçhè}r(hê]rXhow to build the demorahë]hì]hí]rUhow-to-build-the-demorahð]uhòKghóhhô]r(hö)�r}r(hÙXHow to Build the DemorhÚjhäjÃhæhúhè}r(hê]hë]hì]hí]hð]uhòKghóhhô]r hýXHow to Build the Demor!…�r"}r#(hÙjhÚjubaubhÛ)�r$}r%(hÙUjKhÚjhäjÃhæhçhè}r&(hê]r'X am572x gp evmr(ahë]hì]hí]r)U am572x-gp-evmr*ahð]uhòKjhóhhô]r+(hö)�r,}r-(hÙX AM572x GP EVMr.hÚj$häjÃhæhúhè}r/(hê]hë]hì]hí]hð]uhòKjhóhhô]r0hýX AM572x GP EVMr1…�r2}r3(hÙj.hÚj,ubaubj/)�r4}r5(hÙX**For Linux:**r6hÚj$häjÃhæj3hè}r7(hê]hë]hì]hí]hð]uhòKlhóhhô]r8jW)�r9}r:(hÙj6hè}r;(hê]hë]hì]hí]hð]uhÚj4hô]r<hýX For Linux:r=…�r>}r?(hÙUhÚj9ubahæj_ubaubjQ)�r@}rA(hÙUhÚj$häjÃhæjThè}rB(jVX-hí]hì]hê]hë]hð]uhòKnhóhhô]rCjX)�rD}rE(hÙXWUnder ~/ti/processor_sdk_rtos_am57xx_x_0x_xx_xx directory, run the following commands: hÚj@häjÃhæj[hè}rF(hê]hë]hì]hí]hð]uhòNhóhhô]rGj/)�rH}rI(hÙXVUnder ~/ti/processor_sdk_rtos_am57xx_x_0x_xx_xx directory, run the following commands:rJhÚjDhäjÃhæj3hè}rK(hê]hë]hì]hí]hð]uhòKnhô]rLhýXVUnder ~/ti/processor_sdk_rtos_am57xx_x_0x_xx_xx directory, run the following commands:rM…�rN}rO(hÙjJhÚjHubaubaubaubjË)�rP}rQ(hÙXŽsource ./setupenv.sh make demo_clean make demo the OUT files for A15, DSP1 and DSP2 will be built at ~/ti/processor_sdk_rtos_am57xx_x_0x_xx_xx/demos/image_processing/ipc/evmam572x/host/build, ~/ti/processor_sdk_rtos_am57xx_x_0x_xx_xx/demos/image_processing/ipc/evmam572x/dsp1/build, and ~/ti/processor_sdk_rtos_am57xx_x_0x_xx_xx/demos/image_processing/ipc/evmam572x/dsp2/build respectivelyhÚj$häjÃhæjÎhè}rR(jjhí]hì]hê]hë]hð]uhòMihóhhô]rShýXŽsource ./setupenv.sh make demo_clean make demo the OUT files for A15, DSP1 and DSP2 will be built at ~/ti/processor_sdk_rtos_am57xx_x_0x_xx_xx/demos/image_processing/ipc/evmam572x/host/build, ~/ti/processor_sdk_rtos_am57xx_x_0x_xx_xx/demos/image_processing/ipc/evmam572x/dsp1/build, and ~/ti/processor_sdk_rtos_am57xx_x_0x_xx_xx/demos/image_processing/ipc/evmam572x/dsp2/build respectivelyrT…�rU}rV(hÙUhÚjPubaubj/)�rW}rX(hÙX**For Windows:**rYhÚj$häjÃhæj3hè}rZ(hê]hë]hì]hí]hð]uhòK{hóhhô]r[jW)�r\}r](hÙjYhè}r^(hê]hë]hì]hí]hð]uhÚjWhô]r_hýX For Windows:r`…�ra}rb(hÙUhÚj\ubahæj_ubaubjQ)�rc}rd(hÙUhÚj$häjÃhæjThè}re(jVX-hí]hì]hê]hë]hð]uhòK}hóhhô]rfjX)�rg}rh(hÙXZUnder C:\\ti\\processor_sdk_rtos_am57xx_x_0x_xx_xx directory, run the following commands: hÚjchäjÃhæj[hè}ri(hê]hë]hì]hí]hð]uhòNhóhhô]rjj/)�rk}rl(hÙXYUnder C:\\ti\\processor_sdk_rtos_am57xx_x_0x_xx_xx directory, run the following commands:hÚjghäjÃhæj3hè}rm(hê]hë]hì]hí]hð]uhòK}hô]rnhýXWUnder C:\ti\processor_sdk_rtos_am57xx_x_0x_xx_xx directory, run the following commands:ro…�rp}rq(hÙXYUnder C:\\ti\\processor_sdk_rtos_am57xx_x_0x_xx_xx directory, run the following commands:hÚjkubaubaubaubjË)�rr}rs(hÙX‹setupenv.bat gmake demo_clean gmake demo the OUT files for A15, DSP1 and DSP2 will be built at C:\ti\processor_sdk_rtos_am57xx_x_0x_xx_xx\demos\image_processing\ipc\evmam572x\host\build, C:\ti\processor_sdk_rtos_am57xx_x_0x_xx_xx\demos\image_processing\ipc\evmam572x\dsp1\build, and C:\ti\processor_sdk_rtos_am57xx_x_0x_xx_xx\demos\image_processing\ipc\evmam572x\dsp2\build respectivelyhÚj$häjÃhæjÎhè}rt(jjhí]hì]hê]hë]hð]uhòMxhóhhô]ruhýX‹setupenv.bat gmake demo_clean gmake demo the OUT files for A15, DSP1 and DSP2 will be built at C:\ti\processor_sdk_rtos_am57xx_x_0x_xx_xx\demos\image_processing\ipc\evmam572x\host\build, C:\ti\processor_sdk_rtos_am57xx_x_0x_xx_xx\demos\image_processing\ipc\evmam572x\dsp1\build, and C:\ti\processor_sdk_rtos_am57xx_x_0x_xx_xx\demos\image_processing\ipc\evmam572x\dsp2\build respectivelyrv…�rw}rx(hÙUhÚjrubaubeubhÛ)�ry}rz(hÙUhÚjhäjÃhæhçhè}r{(hê]hë]hì]hí]r|U c6657-evmr}ahð]r~h´auhòK‹hóhhô]r(hö)�r€}r�(hÙX C6657 EVMr‚hÚjyhäjÃhæhúhè}rƒ(hê]hë]hì]hí]hð]uhòK‹hóhhô]r„hýX C6657 EVMr……�r†}r‡(hÙj‚hÚj€ubaubj/)�rˆ}r‰(hÙX**For Linux:**rŠhÚjyhäjÃhæj3hè}r‹(hê]hë]hì]hí]hð]uhòK�hóhhô]rŒjW)�r�}rŽ(hÙjŠhè}r�(hê]hë]hì]hí]hð]uhÚjˆhô]r�hýX For Linux:r‘…�r’}r“(hÙUhÚj�ubahæj_ubaubjQ)�r”}r•(hÙUhÚjyhäjÃhæjThè}r–(jVX-hí]hì]hê]hë]hð]uhòK�hóhhô]r—jX)�r˜}r™(hÙXVUnder ~/ti/processor_sdk_rtos_c665x_x_0x_xx_xx directory, run the following commands: hÚj”häjÃhæj[hè}rš(hê]hë]hì]hí]hð]uhòNhóhhô]r›j/)�rœ}r�(hÙXUUnder ~/ti/processor_sdk_rtos_c665x_x_0x_xx_xx directory, run the following commands:ržhÚj˜häjÃhæj3hè}rŸ(hê]hë]hì]hí]hð]uhòK�hô]r hýXUUnder ~/ti/processor_sdk_rtos_c665x_x_0x_xx_xx directory, run the following commands:r¡…�r¢}r£(hÙjžhÚjœubaubaubaubjË)�r¤}r¥(hÙXsource ./setupenv.sh make demo_clean make demo the OUT files for DSPs will be built at ~/ti/processor_sdk_rtos_c665x_x_0x_xx_xx/demos/image_processing/ipc/evmc6657l/master/build, ~/ti/processor_sdk_rtos_c665x_x_0x_xx_xx/demos/image_processing/ipc/evmc6657l/slave/build respectivelyhÚjyhäjÃhæjÎhè}r¦(jjhí]hì]hê]hë]hð]uhòMŠhóhhô]r§hýXsource ./setupenv.sh make demo_clean make demo the OUT files for DSPs will be built at ~/ti/processor_sdk_rtos_c665x_x_0x_xx_xx/demos/image_processing/ipc/evmc6657l/master/build, ~/ti/processor_sdk_rtos_c665x_x_0x_xx_xx/demos/image_processing/ipc/evmc6657l/slave/build respectivelyr¨…�r©}rª(hÙUhÚj¤ubaubj/)�r«}r¬(hÙX**For Windows:**r­hÚjyhäjÃhæj3hè}r®(hê]hë]hì]hí]hð]uhòK›hóhhô]r¯jW)�r°}r±(hÙj­hè}r²(hê]hë]hì]hí]hð]uhÚj«hô]r³hýX For Windows:r´…�rµ}r¶(hÙUhÚj°ubahæj_ubaubjQ)�r·}r¸(hÙUhÚjyhäjÃhæjThè}r¹(jVX-hí]hì]hê]hë]hð]uhòK�hóhhô]rºjX)�r»}r¼(hÙXYUnder C:\\ti\\processor_sdk_rtos_c665x_x_0x_xx_xx directory, run the following commands: hÚj·häjÃhæj[hè}r½(hê]hë]hì]hí]hð]uhòNhóhhô]r¾j/)�r¿}rÀ(hÙXXUnder C:\\ti\\processor_sdk_rtos_c665x_x_0x_xx_xx directory, run the following commands:hÚj»häjÃhæj3hè}rÁ(hê]hë]hì]hí]hð]uhòK�hô]rÂhýXVUnder C:\ti\processor_sdk_rtos_c665x_x_0x_xx_xx directory, run the following commands:rÃ…�rÄ}rÅ(hÙXXUnder C:\\ti\\processor_sdk_rtos_c665x_x_0x_xx_xx directory, run the following commands:hÚj¿ubaubaubaubjË)�rÆ}rÇ(hÙXsetupenv.bat gmake demo_clean gmake demo the OUT files for DSPs will be built at C:\ti\processor_sdk_rtos_c665x_x_0x_xx_xx\demos\image_processing\ipc\evmc6657l\master\build, C:\ti\processor_sdk_rtos_c665x_x_0x_xx_xx\demos\image_processing\ipc\evmc6657l\slave\build respectivelyhÚjyhäjÃhæjÎhè}rÈ(jjhí]hì]hê]hë]hð]uhòM˜hóhhô]rÉhýXsetupenv.bat gmake demo_clean gmake demo the OUT files for DSPs will be built at C:\ti\processor_sdk_rtos_c665x_x_0x_xx_xx\demos\image_processing\ipc\evmc6657l\master\build, C:\ti\processor_sdk_rtos_c665x_x_0x_xx_xx\demos\image_processing\ipc\evmc6657l\slave\build respectivelyrÊ…�rË}rÌ(hÙUhÚjÆubaubeubhÛ)�rÍ}rÎ(hÙUhÚjhäjÃhæhçhè}rÏ(hê]hë]hì]hí]rÐU c6678-evmrÑahð]rÒhšauhòKªhóhhô]rÓ(hö)�rÔ}rÕ(hÙX C6678 EVMrÖhÚjÍhäjÃhæhúhè}r×(hê]hë]hì]hí]hð]uhòKªhóhhô]rØhýX C6678 EVMrÙ…�rÚ}rÛ(hÙjÖhÚjÔubaubj/)�rÜ}rÝ(hÙX**For Linux:**rÞhÚjÍhäjÃhæj3hè}rß(hê]hë]hì]hí]hð]uhòK¬hóhhô]ràjW)�rá}râ(hÙjÞhè}rã(hê]hë]hì]hí]hð]uhÚjÜhô]rähýX For Linux:rå…�ræ}rç(hÙUhÚjáubahæj_ubaubjQ)�rè}ré(hÙUhÚjÍhäjÃhæjThè}rê(jVX-hí]hì]hê]hë]hð]uhòK®hóhhô]rëjX)�rì}rí(hÙXVUnder ~/ti/processor_sdk_rtos_c667x_x_0x_xx_xx directory, run the following commands: hÚjèhäjÃhæj[hè}rî(hê]hë]hì]hí]hð]uhòNhóhhô]rïj/)�rð}rñ(hÙXUUnder ~/ti/processor_sdk_rtos_c667x_x_0x_xx_xx directory, run the following commands:ròhÚjìhäjÃhæj3hè}ró(hê]hë]hì]hí]hð]uhòK®hô]rôhýXUUnder ~/ti/processor_sdk_rtos_c667x_x_0x_xx_xx directory, run the following commands:rõ…�rö}r÷(hÙjòhÚjðubaubaubaubjË)�rø}rù(hÙXsource ./setupenv.sh make demo_clean make demo the OUT files for DSPs will be built at ~/ti/processor_sdk_rtos_c667x_x_0x_xx_xx/demos/image_processing/ipc/evmc6678l/master/build, ~/ti/processor_sdk_rtos_c667x_x_0x_xx_xx/demos/image_processing/ipc/evmc6678l/slave/build respectivelyhÚjÍhäjÃhæjÎhè}rú(jjhí]hì]hê]hë]hð]uhòM©hóhhô]rûhýXsource ./setupenv.sh make demo_clean make demo the OUT files for DSPs will be built at ~/ti/processor_sdk_rtos_c667x_x_0x_xx_xx/demos/image_processing/ipc/evmc6678l/master/build, ~/ti/processor_sdk_rtos_c667x_x_0x_xx_xx/demos/image_processing/ipc/evmc6678l/slave/build respectivelyrü…�rý}rþ(hÙUhÚjøubaubj/)�rÿ}r(hÙX**For Windows:**rhÚjÍhäjÃhæj3hè}r(hê]hë]hì]hí]hð]uhòKºhóhhô]rjW)�r}r(hÙjhè}r(hê]hë]hì]hí]hð]uhÚjÿhô]rhýX For Windows:r…�r }r (hÙUhÚjubahæj_ubaubjQ)�r }r (hÙUhÚjÍhäjÃhæjThè}r (jVX-hí]hì]hê]hë]hð]uhòK¼hóhhô]rjX)�r}r(hÙXYUnder C:\\ti\\processor_sdk_rtos_c667x_x_0x_xx_xx directory, run the following commands: hÚj häjÃhæj[hè}r(hê]hë]hì]hí]hð]uhòNhóhhô]rj/)�r}r(hÙXXUnder C:\\ti\\processor_sdk_rtos_c667x_x_0x_xx_xx directory, run the following commands:hÚjhäjÃhæj3hè}r(hê]hë]hì]hí]hð]uhòK¼hô]rhýXVUnder C:\ti\processor_sdk_rtos_c667x_x_0x_xx_xx directory, run the following commands:r…�r}r(hÙXXUnder C:\\ti\\processor_sdk_rtos_c667x_x_0x_xx_xx directory, run the following commands:hÚjubaubaubaubjË)�r}r(hÙXsetupenv.bat gmake demo_clean gmake demo the OUT files for DSPs will be built at C:\ti\processor_sdk_rtos_c667x_x_0x_xx_xx\demos\image_processing\ipc\evmc6678l\master\build, C:\ti\processor_sdk_rtos_c667x_x_0x_xx_xx\demos\image_processing\ipc\evmc6678l\slave\build respectivelyhÚjÍhäjÃhæjÎhè}r(jjhí]hì]hê]hë]hð]uhòM·hóhhô]rhýXsetupenv.bat gmake demo_clean gmake demo the OUT files for DSPs will be built at C:\ti\processor_sdk_rtos_c667x_x_0x_xx_xx\demos\image_processing\ipc\evmc6678l\master\build, C:\ti\processor_sdk_rtos_c667x_x_0x_xx_xx\demos\image_processing\ipc\evmc6678l\slave\build respectivelyr…�r}r (hÙUhÚjubaubeubhÛ)�r!}r"(hÙUjKhÚjhäjÃhæhçhè}r#(hê]r$Xk2h evmr%ahë]hì]hí]r&Uk2h-evmr'ahð]uhòKÉhóhhô]r((hö)�r)}r*(hÙXK2H EVMr+hÚj!häjÃhæhúhè}r,(hê]hë]hì]hí]hð]uhòKÉhóhhô]r-hýXK2H EVMr.…�r/}r0(hÙj+hÚj)ubaubj/)�r1}r2(hÙX**For Linux:**r3hÚj!häjÃhæj3hè}r4(hê]hë]hì]hí]hð]uhòKËhóhhô]r5jW)�r6}r7(hÙj3hè}r8(hê]hë]hì]hí]hð]uhÚj1hô]r9hýX For Linux:r:…�r;}r<(hÙUhÚj6ubahæj_ubaubjQ)�r=}r>(hÙUhÚj!häjÃhæjThè}r?(jVX-hí]hì]hê]hë]hð]uhòKÍhóhhô]r@jX)�rA}rB(hÙXUUnder ~/ti/processor_sdk_rtos_k2hk_x_0x_xx_xx directory, run the following commands: hÚj=häjÃhæj[hè}rC(hê]hë]hì]hí]hð]uhòNhóhhô]rDj/)�rE}rF(hÙXTUnder ~/ti/processor_sdk_rtos_k2hk_x_0x_xx_xx directory, run the following commands:rGhÚjAhäjÃhæj3hè}rH(hê]hë]hì]hí]hð]uhòKÍhô]rIhýXTUnder ~/ti/processor_sdk_rtos_k2hk_x_0x_xx_xx directory, run the following commands:rJ…�rK}rL(hÙjGhÚjEubaubaubaubjË)�rM}rN(hÙXsource ./setupenv.sh make demo_clean make demo the OUT files for A15, DSPs will be built at ~/ti/processor_sdk_rtos_k2hk_x_0x_xx_xx/demos/image_processing/ipc/evmk2hk/master/build, ~/ti/processor_sdk_rtos_k2hk_x_0x_xx_xx/demos/image_processing/ipc/evmk2hk/slave/build respectivelyhÚj!häjÃhæjÎhè}rO(jjhí]hì]hê]hë]hð]uhòMÈhóhhô]rPhýXsource ./setupenv.sh make demo_clean make demo the OUT files for A15, DSPs will be built at ~/ti/processor_sdk_rtos_k2hk_x_0x_xx_xx/demos/image_processing/ipc/evmk2hk/master/build, ~/ti/processor_sdk_rtos_k2hk_x_0x_xx_xx/demos/image_processing/ipc/evmk2hk/slave/build respectivelyrQ…�rR}rS(hÙUhÚjMubaubj/)�rT}rU(hÙX**For Windows:**rVhÚj!häjÃhæj3hè}rW(hê]hë]hì]hí]hð]uhòKÙhóhhô]rXjW)�rY}rZ(hÙjVhè}r[(hê]hë]hì]hí]hð]uhÚjThô]r\hýX For Windows:r]…�r^}r_(hÙUhÚjYubahæj_ubaubjQ)�r`}ra(hÙUhÚj!häjÃhæjThè}rb(jVX-hí]hì]hê]hë]hð]uhòKÛhóhhô]rcjX)�rd}re(hÙXXUnder C:\\ti\\processor_sdk_rtos_k2hk_x_0x_xx_xx directory, run the following commands: hÚj`häjÃhæj[hè}rf(hê]hë]hì]hí]hð]uhòNhóhhô]rgj/)�rh}ri(hÙXWUnder C:\\ti\\processor_sdk_rtos_k2hk_x_0x_xx_xx directory, run the following commands:hÚjdhäjÃhæj3hè}rj(hê]hë]hì]hí]hð]uhòKÛhô]rkhýXUUnder C:\ti\processor_sdk_rtos_k2hk_x_0x_xx_xx directory, run the following commands:rl…�rm}rn(hÙXWUnder C:\\ti\\processor_sdk_rtos_k2hk_x_0x_xx_xx directory, run the following commands:hÚjhubaubaubaubjË)�ro}rp(hÙXsetupenv.bat gmake demo_clean gmake demo the OUT files for A15, DSPs will be built at C:\ti\processor_sdk_rtos_k2hk_x_0x_xx_xx\demos\image_processing\ipc\evmk2hk\master\build, C:\ti\processor_sdk_rtos_k2hk_x_0x_xx_xx\demos\image_processing\ipc\evmk2hk\slave\build respectivelyhÚj!häjÃhæjÎhè}rq(jjhí]hì]hê]hë]hð]uhòMÖhóhhô]rrhýXsetupenv.bat gmake demo_clean gmake demo the OUT files for A15, DSPs will be built at C:\ti\processor_sdk_rtos_k2hk_x_0x_xx_xx\demos\image_processing\ipc\evmk2hk\master\build, C:\ti\processor_sdk_rtos_k2hk_x_0x_xx_xx\demos\image_processing\ipc\evmk2hk\slave\build respectivelyrs…�rt}ru(hÙUhÚjoubaubjÎ)�rv}rw(hÙUhÚj!häjÃhæjÑhè}rx(hê]hë]hì]hí]hð]uhòKçhóhhô]ryjÔ)�rz}r{(hÙUj×KhÚjvhäjÃhæhòhè}r|(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubeubhÛ)�r}}r~(hÙUjKhÚj=häjÃhæhçhè}r(hê]r€Xhow to run the demor�ahë]hì]hí]r‚Uhow-to-run-the-demorƒahð]uhòKêhóhhô]r„(hö)�r…}r†(hÙXHow to Run the Demor‡hÚj}häjÃhæhúhè}rˆ(hê]hë]hì]hí]hð]uhòKêhóhhô]r‰hýXHow to Run the DemorŠ…�r‹}rŒ(hÙj‡hÚj…ubaubhÛ)�r�}rŽ(hÙUhÚj}häjÃhæhçhè}r�(hê]hë]hì]hí]r�Uam572x-gp-evm-using-ccsr‘ahð]r’h’auhòKíhóhhô]r“(hö)�r”}r•(hÙXAM572x GP EVM (Using CCS)r–hÚj�häjÃhæhúhè}r—(hê]hë]hì]hí]hð]uhòKíhóhhô]r˜hýXAM572x GP EVM (Using CCS)r™…�rš}r›(hÙj–hÚj”ubaubj/)�rœ}r�(hÙX†The CCS is used to load the program and run on ARM-A15 (HOST), C66x Core 1 (DSP1) and C66x Core 2 (DSP2) by following the steps below:ržhÚj�häjÃhæj3hè}rŸ(hê]hë]hì]hí]hð]uhòKïhóhhô]r hýX†The CCS is used to load the program and run on ARM-A15 (HOST), C66x Core 1 (DSP1) and C66x Core 2 (DSP2) by following the steps below:r¡…�r¢}r£(hÙjžhÚjœubaubjQ)�r¤}r¥(hÙUhÚj�häjÃhæjThè}r¦(jVX-hí]hì]hê]hë]hð]uhòKòhóhhô]r§(jX)�r¨}r©(hÙXHLaunch CCS and connect to AM572 GP EVM using proper target configurationhÚj¤häjÃhæj[hè}rª(hê]hë]hì]hí]hð]uhòNhóhhô]r«j/)�r¬}r­(hÙXHLaunch CCS and connect to AM572 GP EVM using proper target configurationr®hÚj¨häjÃhæj3hè}r¯(hê]hë]hì]hí]hð]uhòKòhô]r°hýXHLaunch CCS and connect to AM572 GP EVM using proper target configurationr±…�r²}r³(hÙj®hÚj¬ubaubaubjX)�r´}rµ(hÙXXConnect to CortexA15_0 (Host) [Push "Power" button right before connect to CortexA15_0] hÚj¤häjÃhæj[hè}r¶(hê]hë]hì]hí]hð]uhòNhóhhô]r·j/)�r¸}r¹(hÙXWConnect to CortexA15_0 (Host) [Push "Power" button right before connect to CortexA15_0]rºhÚj´häjÃhæj3hè}r»(hê]hë]hì]hí]hð]uhòKôhô]r¼hýXWConnect to CortexA15_0 (Host) [Push "Power" button right before connect to CortexA15_0]r½…�r¾}r¿(hÙjºhÚj¸ubaubaubeubj)�rÀ}rÁ(hÙX,.. Image:: ../images/Am572x_connect_a15.jpg hÚj�häjÃhæjhè}rÂ(UuriX%rtos/../images/Am572x_connect_a15.jpgrÃhí]hì]hê]hë]j}rÄU*jÃshð]uhòKøhóhhô]ubjQ)�rÅ}rÆ(hÙUhÚj�häjÃhæjThè}rÇ(jVX-hí]hì]hê]hë]hð]uhòKùhóhhô]rÈjX)�rÉ}rÊ(hÙXConnect to C66xx_DSP1 hÚjÅhäjÃhæj[hè}rË(hê]hë]hì]hí]hð]uhòNhóhhô]rÌj/)�rÍ}rÎ(hÙXConnect to C66xx_DSP1rÏhÚjÉhäjÃhæj3hè}rÐ(hê]hë]hì]hí]hð]uhòKùhô]rÑhýXConnect to C66xx_DSP1rÒ…�rÓ}rÔ(hÙjÏhÚjÍubaubaubaubj)�rÕ}rÖ(hÙX-.. Image:: ../images/Am572x_connect_dsp1.jpg hÚj�häjÃhæjhè}r×(UuriX&rtos/../images/Am572x_connect_dsp1.jpgrØhí]hì]hê]hë]j}rÙU*jØshð]uhòKühóhhô]ubjQ)�rÚ}rÛ(hÙUhÚj�häjÃhæjThè}rÜ(jVX-hí]hì]hê]hë]hð]uhòKýhóhhô]rÝjX)�rÞ}rß(hÙXConnect to C66xx_DSP2 hÚjÚhäjÃhæj[hè}rà(hê]hë]hì]hí]hð]uhòNhóhhô]ráj/)�râ}rã(hÙXConnect to C66xx_DSP2rähÚjÞhäjÃhæj3hè}rå(hê]hë]hì]hí]hð]uhòKýhô]ræhýXConnect to C66xx_DSP2rç…�rè}ré(hÙjähÚjâubaubaubaubj)�rê}rë(hÙX-.. Image:: ../images/Am572x_connect_dsp2.jpg hÚj�häjÃhæjhè}rì(UuriX&rtos/../images/Am572x_connect_dsp2.jpgríhí]hì]hê]hë]j}rîU*jíshð]uhòMhóhhô]ubjQ)�rï}rð(hÙUhÚj�häjÃhæjThè}rñ(jVX-hí]hì]hê]hë]hð]uhòMhóhhô]ròjX)�ró}rô(hÙXBLoad image_processing_evmam572x_dsp1.out to C66xx_DSP1 using JTAG hÚjïhäjÃhæj[hè}rõ(hê]hë]hì]hí]hð]uhòNhóhhô]röj/)�r÷}rø(hÙXALoad image_processing_evmam572x_dsp1.out to C66xx_DSP1 using JTAGrùhÚjóhäjÃhæj3hè}rú(hê]hë]hì]hí]hð]uhòMhô]rûhýXALoad image_processing_evmam572x_dsp1.out to C66xx_DSP1 using JTAGrü…�rý}rþ(hÙjùhÚj÷ubaubaubaubj)�rÿ}r(hÙX*.. Image:: ../images/Am572x_load_dsp1.jpg hÚj�häjÃhæjhè}r(UuriX#rtos/../images/Am572x_load_dsp1.jpgrhí]hì]hê]hë]j}rU*jshð]uhòMhóhhô]ubjQ)�r}r(hÙUhÚj�häjÃhæjThè}r(jVX-hí]hì]hê]hë]hð]uhòMhóhhô]r(jX)�r}r (hÙX5Run image_processing_evmam572x_dsp1.out on C66xx_DSP1r hÚjhäjÃhæj[hè}r (hê]hë]hì]hí]hð]uhòNhóhhô]r j/)�r }r(hÙj hÚjhäjÃhæj3hè}r(hê]hë]hì]hí]hð]uhòMhô]rhýX5Run image_processing_evmam572x_dsp1.out on C66xx_DSP1r…�r}r(hÙj hÚj ubaubaubjX)�r}r(hÙXBLoad image_processing_evmam572x_dsp2.out to C66xx_DSP2 using JTAG hÚjhäjÃhæj[hè}r(hê]hë]hì]hí]hð]uhòNhóhhô]rj/)�r}r(hÙXALoad image_processing_evmam572x_dsp2.out to C66xx_DSP2 using JTAGrhÚjhäjÃhæj3hè}r(hê]hë]hì]hí]hð]uhòMhô]rhýXALoad image_processing_evmam572x_dsp2.out to C66xx_DSP2 using JTAGr…�r}r(hÙjhÚjubaubaubeubj)�r }r!(hÙX*.. Image:: ../images/Am572x_load_dsp2.jpg hÚj�häjÃhæjhè}r"(UuriX#rtos/../images/Am572x_load_dsp2.jpgr#hí]hì]hê]hë]j}r$U*j#shð]uhòM hóhhô]ubjQ)�r%}r&(hÙUhÚj�häjÃhæjThè}r'(jVX-hí]hì]hê]hë]hð]uhòM hóhhô]r((jX)�r)}r*(hÙX5Run image_processing_evmam572x_dsp2.out on C66xx_DSP2r+hÚj%häjÃhæj[hè}r,(hê]hë]hì]hí]hð]uhòNhóhhô]r-j/)�r.}r/(hÙj+hÚj)häjÃhæj3hè}r0(hê]hë]hì]hí]hð]uhòM hô]r1hýX5Run image_processing_evmam572x_dsp2.out on C66xx_DSP2r2…�r3}r4(hÙj+hÚj.ubaubaubjX)�r5}r6(hÙX:Loaded image_processing_evmam572x_host.out to CortexA15_0 hÚj%häjÃhæj[hè}r7(hê]hë]hì]hí]hð]uhòNhóhhô]r8j/)�r9}r:(hÙX9Loaded image_processing_evmam572x_host.out to CortexA15_0r;hÚj5häjÃhæj3hè}r<(hê]hë]hì]hí]hð]uhòM hô]r=hýX9Loaded image_processing_evmam572x_host.out to CortexA15_0r>…�r?}r@(hÙj;hÚj9ubaubaubeubj)�rA}rB(hÙX*.. Image:: ../images/Am572x_load_host.jpg hÚj�häjÃhæjhè}rC(UuriX#rtos/../images/Am572x_load_host.jpgrDhí]hì]hê]hë]j}rEU*jDshð]uhòMhóhhô]ubjQ)�rF}rG(hÙUhÚj�häjÃhæjThè}rH(jVX-hí]hì]hê]hë]hð]uhòMhóhhô]rI(jX)�rJ}rK(hÙX8Run image_processing_evmc6678l_master.out on CortexA15_0rLhÚjFhäjÃhæj[hè}rM(hê]hë]hì]hí]hð]uhòNhóhhô]rNj/)�rO}rP(hÙjLhÚjJhäjÃhæj3hè}rQ(hê]hë]hì]hí]hð]uhòMhô]rRhýX8Run image_processing_evmc6678l_master.out on CortexA15_0rS…�rT}rU(hÙjLhÚjOubaubaubjX)�rV}rW(hÙX0The HOST will display the IP address on CCS CIO hÚjFhäjÃhæj[hè}rX(hê]hë]hì]hí]hð]uhòNhóhhô]rYj/)�rZ}r[(hÙX/The HOST will display the IP address on CCS CIOr\hÚjVhäjÃhæj3hè}r](hê]hë]hì]hí]hð]uhòMhô]r^hýX/The HOST will display the IP address on CCS CIOr_…�r`}ra(hÙj\hÚjZubaubaubeubj)�rb}rc(hÙX$.. Image:: ../images/Am572x_cio.jpg hÚj�häjÃhæjhè}rd(UuriXrtos/../images/Am572x_cio.jpgrehí]hì]hê]hë]j}rfU*jeshð]uhòMhóhhô]ubjQ)�rg}rh(hÙUhÚj�häjÃhæjThè}ri(jVX-hí]hì]hê]hë]hð]uhòMhóhhô]rj(jX)�rk}rl(hÙX8Users can use internet browser to access this IP addressrmhÚjghäjÃhæj[hè}rn(hê]hë]hì]hí]hð]uhòNhóhhô]roj/)�rp}rq(hÙjmhÚjkhäjÃhæj3hè}rr(hê]hë]hì]hí]hð]uhòMhô]rshýX8Users can use internet browser to access this IP addressrt…�ru}rv(hÙjmhÚjpubaubaubjX)�rw}rx(hÙX0The Image Processing Demo page will be displayedryhÚjghäjÃhæj[hè}rz(hê]hë]hì]hí]hð]uhòNhóhhô]r{j/)�r|}r}(hÙjyhÚjwhäjÃhæj3hè}r~(hê]hë]hì]hí]hð]uhòMhô]rhýX0The Image Processing Demo page will be displayedr€…�r�}r‚(hÙjyhÚj|ubaubaubjX)�rƒ}r„(hÙXNProvide values for the "Number of Cores" and "Select Image to Process" fields hÚjghäjÃhæj[hè}r…(hê]hë]hì]hí]hð]uhòNhóhhô]r†j/)�r‡}rˆ(hÙXMProvide values for the "Number of Cores" and "Select Image to Process" fieldsr‰hÚjƒhäjÃhæj3hè}rŠ(hê]hë]hì]hí]hð]uhòMhô]r‹hýXMProvide values for the "Number of Cores" and "Select Image to Process" fieldsrŒ…�r�}rŽ(hÙj‰hÚj‡ubaubaubeubj)�r�}r�(hÙX&.. Image:: ../images/Am572x_web_1.jpg hÚj�häjÃhæjhè}r‘(UuriXrtos/../images/Am572x_web_1.jpgr’hí]hì]hê]hë]j}r“U*j’shð]uhòMhóhhô]ubj/)�r”}r•(hÙX°The HOST will read the image via NDK, partition it according to the number of cores, send the messages to DSP cores (Slaves) via IPC MessageQ. The DSP cores will start processing the partitioned images concurrently. The resulting output image will be stored in DDR and the HOST will be notified by DSP cores via IPC MessageQ. Subsequently, the HOST will write the input and output images to the Image Processing Demo page using NDK.r–hÚj�häjÃhæj3hè}r—(hê]hë]hì]hí]hð]uhòMhóhhô]r˜hýX°The HOST will read the image via NDK, partition it according to the number of cores, send the messages to DSP cores (Slaves) via IPC MessageQ. The DSP cores will start processing the partitioned images concurrently. The resulting output image will be stored in DDR and the HOST will be notified by DSP cores via IPC MessageQ. Subsequently, the HOST will write the input and output images to the Image Processing Demo page using NDK.r™…�rš}r›(hÙj–hÚj”ubaubj)�rœ}r�(hÙX&.. Image:: ../images/Am572x_web_2.jpg hÚj�häjÃhæjhè}rž(UuriXrtos/../images/Am572x_web_2.jpgrŸhí]hì]hê]hë]j}r U*jŸshð]uhòM$hóhhô]ubjÎ)�r¡}r¢(hÙUhÚj�häjÃhæjÑhè}r£(hê]hë]hì]hí]hð]uhòM%hóhhô]r¤jÔ)�r¥}r¦(hÙUj×KhÚj¡häjÃhæhòhè}r§(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubhÛ)�r¨}r©(hÙUhÚj}häjÃhæhçhè}rª(hê]hë]hì]hí]r«Uam572x-gp-evm-using-sblr¬ahð]r­hJauhòM(hóhhô]r®(hö)�r¯}r°(hÙXAM572x GP EVM (Using SBL)r±hÚj¨häjÃhæhúhè}r²(hê]hë]hì]hí]hð]uhòM(hóhhô]r³hýXAM572x GP EVM (Using SBL)r´…�rµ}r¶(hÙj±hÚj¯ubaubj/)�r·}r¸(hÙX“The SBL is used to load the program from SD card and run on ARM-A15 (HOST), C66x Core 1 (DSP1) and C66x Core 2 (DSP2) by following the steps below:r¹hÚj¨häjÃhæj3hè}rº(hê]hë]hì]hí]hð]uhòM*hóhhô]r»hýX“The SBL is used to load the program from SD card and run on ARM-A15 (HOST), C66x Core 1 (DSP1) and C66x Core 2 (DSP2) by following the steps below:r¼…�r½}r¾(hÙj¹hÚj·ubaubjQ)�r¿}rÀ(hÙUhÚj¨häjÃhæjThè}rÁ(jVX-hí]hì]hê]hë]hð]uhòM.hóhhô]rÂ(jX)�rÃ}rÄ(hÙXCopy "app" and "MLO" from processor_sdk_rtos_am57xx_x_0x_00_0x\\prebuilt-sdcards\\evmAM572x\\sd_card_files on Windows or processor_sdk_rtos_am57xx_x_0x_00_0x/prebuilt-sdcards/evmAM572x/sd_card_files on Linux to the root directory of a formatted micro SD cardhÚj¿häjÃhæj[hè}rÅ(hê]hë]hì]hí]hð]uhòNhóhhô]rÆj/)�rÇ}rÈ(hÙXCopy "app" and "MLO" from processor_sdk_rtos_am57xx_x_0x_00_0x\\prebuilt-sdcards\\evmAM572x\\sd_card_files on Windows or processor_sdk_rtos_am57xx_x_0x_00_0x/prebuilt-sdcards/evmAM572x/sd_card_files on Linux to the root directory of a formatted micro SD cardhÚjÃhäjÃhæj3hè}rÉ(hê]hë]hì]hí]hð]uhòM.hô]rÊhýXÿCopy "app" and "MLO" from processor_sdk_rtos_am57xx_x_0x_00_0x\prebuilt-sdcards\evmAM572x\sd_card_files on Windows or processor_sdk_rtos_am57xx_x_0x_00_0x/prebuilt-sdcards/evmAM572x/sd_card_files on Linux to the root directory of a formatted micro SD cardrË…�rÌ}rÍ(hÙXCopy "app" and "MLO" from processor_sdk_rtos_am57xx_x_0x_00_0x\\prebuilt-sdcards\\evmAM572x\\sd_card_files on Windows or processor_sdk_rtos_am57xx_x_0x_00_0x/prebuilt-sdcards/evmAM572x/sd_card_files on Linux to the root directory of a formatted micro SD cardhÚjÇubaubaubjX)�rÎ}rÏ(hÙX8Plug in the micro SD card into uSD slot on AM572x GP EVMrÐhÚj¿häjÃhæj[hè}rÑ(hê]hë]hì]hí]hð]uhòNhóhhô]rÒj/)�rÓ}rÔ(hÙjÐhÚjÎhäjÃhæj3hè}rÕ(hê]hë]hì]hí]hð]uhòM3hô]rÖhýX8Plug in the micro SD card into uSD slot on AM572x GP EVMr×…�rØ}rÙ(hÙjÐhÚjÓubaubaubjX)�rÚ}rÛ(hÙXTConnect "Serial Debug" on AM572x GP EVM to a PC USB port via a "Serial to USB" cablehÚj¿häjÃhæj[hè}rÜ(hê]hë]hì]hí]hð]uhòNhóhhô]rÝj/)�rÞ}rß(hÙXTConnect "Serial Debug" on AM572x GP EVM to a PC USB port via a "Serial to USB" cableràhÚjÚhäjÃhæj3hè}rá(hê]hë]hì]hí]hð]uhòM4hô]râhýXTConnect "Serial Debug" on AM572x GP EVM to a PC USB port via a "Serial to USB" cablerã…�rä}rå(hÙjàhÚjÞubaubaubjX)�ræ}rç(hÙX³Launch a terminal emulator like Tera Term and open the local COM port corresponding to the "Serial Debug" (Set it to 115200 bps, 8 bit, none parity, one bit stop, no flow control)hÚj¿häjÃhæj[hè}rè(hê]hë]hì]hí]hð]uhòNhóhhô]réj/)�rê}rë(hÙX³Launch a terminal emulator like Tera Term and open the local COM port corresponding to the "Serial Debug" (Set it to 115200 bps, 8 bit, none parity, one bit stop, no flow control)rìhÚjæhäjÃhæj3hè}rí(hê]hë]hì]hí]hð]uhòM6hô]rîhýX³Launch a terminal emulator like Tera Term and open the local COM port corresponding to the "Serial Debug" (Set it to 115200 bps, 8 bit, none parity, one bit stop, no flow control)rï…�rð}rñ(hÙjìhÚjêubaubaubjX)�rò}ró(hÙXLPlug power adapter (12V) into the AM572x GP EVM (DC-In) and power on the EVMhÚj¿häjÃhæj[hè}rô(hê]hë]hì]hí]hð]uhòNhóhhô]rõj/)�rö}r÷(hÙXLPlug power adapter (12V) into the AM572x GP EVM (DC-In) and power on the EVMrøhÚjòhäjÃhæj3hè}rù(hê]hë]hì]hí]hð]uhòM9hô]rúhýXLPlug power adapter (12V) into the AM572x GP EVM (DC-In) and power on the EVMrû…�rü}rý(hÙjøhÚjöubaubaubjX)�rþ}rÿ(hÙX<There the IP address will be displayed on the "Serial Debug"rhÚj¿häjÃhæj[hè}r(hê]hë]hì]hí]hð]uhòNhóhhô]rj/)�r}r(hÙjhÚjþhäjÃhæj3hè}r(hê]hë]hì]hí]hð]uhòM;hô]rhýX<There the IP address will be displayed on the "Serial Debug"r…�r}r (hÙjhÚjubaubaubjX)�r }r (hÙX8Users can use internet browser to access this IP addressr hÚj¿häjÃhæj[hè}r (hê]hë]hì]hí]hð]uhòNhóhhô]rj/)�r}r(hÙj hÚj häjÃhæj3hè}r(hê]hë]hì]hí]hð]uhòM<hô]rhýX8Users can use internet browser to access this IP addressr…�r}r(hÙj hÚjubaubaubjX)�r}r(hÙX0The Image Processing Demo page will be displayedrhÚj¿häjÃhæj[hè}r(hê]hë]hì]hí]hð]uhòNhóhhô]rj/)�r}r(hÙjhÚjhäjÃhæj3hè}r(hê]hë]hì]hí]hð]uhòM=hô]rhýX0The Image Processing Demo page will be displayedr…�r }r!(hÙjhÚjubaubaubjX)�r"}r#(hÙXNProvide values for the "Number of Cores" and "Select Image to Process" fields hÚj¿häjÃhæj[hè}r$(hê]hë]hì]hí]hð]uhòNhóhhô]r%j/)�r&}r'(hÙXMProvide values for the "Number of Cores" and "Select Image to Process" fieldsr(hÚj"häjÃhæj3hè}r)(hê]hë]hì]hí]hð]uhòM>hô]r*hýXMProvide values for the "Number of Cores" and "Select Image to Process" fieldsr+…�r,}r-(hÙj(hÚj&ubaubaubeubj)�r.}r/(hÙX&.. Image:: ../images/Am572x_web_1.jpg hÚj¨häjÃhæjhè}r0(UuriXrtos/../images/Am572x_web_1.jpgr1hí]hì]hê]hë]j}r2U*j1shð]uhòMBhóhhô]ubj/)�r3}r4(hÙX°The HOST will read the image via NDK, partition it according to the number of cores, send the messages to DSP cores (Slaves) via IPC MessageQ. The DSP cores will start processing the partitioned images concurrently. The resulting output image will be stored in DDR and the HOST will be notified by DSP cores via IPC MessageQ. Subsequently, the HOST will write the input and output images to the Image Processing Demo page using NDK.r5hÚj¨häjÃhæj3hè}r6(hê]hë]hì]hí]hð]uhòMChóhhô]r7hýX°The HOST will read the image via NDK, partition it according to the number of cores, send the messages to DSP cores (Slaves) via IPC MessageQ. The DSP cores will start processing the partitioned images concurrently. The resulting output image will be stored in DDR and the HOST will be notified by DSP cores via IPC MessageQ. Subsequently, the HOST will write the input and output images to the Image Processing Demo page using NDK.r8…�r9}r:(hÙj5hÚj3ubaubj)�r;}r<(hÙX&.. Image:: ../images/Am572x_web_2.jpg hÚj¨häjÃhæjhè}r=(UuriXrtos/../images/Am572x_web_2.jpgr>hí]hì]hê]hë]j}r?U*j>shð]uhòMLhóhhô]ubeubhÛ)�r@}rA(hÙUhÚj}häjÃhæhçhè}rB(hê]hë]hì]hí]rCUc6678-evm-or-c6657-evmrDahð]rEh/auhòMNhóhhô]rF(hö)�rG}rH(hÙXC6678 EVM or C6657 EVMrIhÚj@häjÃhæhúhè}rJ(hê]hë]hì]hí]hð]uhòMNhóhhô]rKhýXC6678 EVM or C6657 EVMrL…�rM}rN(hÙjIhÚjGubaubj/)�rO}rP(hÙX’CCS is used to load the program and Core 0 will be configured as the host. The following steps show C667x but a similar process applies for C665x.rQhÚj@häjÃhæj3hè}rR(hê]hë]hì]hí]hð]uhòMPhóhhô]rShýX’CCS is used to load the program and Core 0 will be configured as the host. The following steps show C667x but a similar process applies for C665x.rT…�rU}rV(hÙjQhÚjOubaubjQ)�rW}rX(hÙUhÚj@häjÃhæjThè}rY(jVX-hí]hì]hê]hë]hð]uhòMThóhhô]rZ(jX)�r[}r\(hÙXELaunch CCS and connect to C6678 EVM using proper target configurationr]hÚjWhäjÃhæj[hè}r^(hê]hë]hì]hí]hð]uhòNhóhhô]r_j/)�r`}ra(hÙj]hÚj[häjÃhæj3hè}rb(hê]hë]hì]hí]hð]uhòMThô]rchýXELaunch CCS and connect to C6678 EVM using proper target configurationrd…�re}rf(hÙj]hÚj`ubaubaubjX)�rg}rh(hÙXConnect to C66x Core 0 (Host) hÚjWhäjÃhæj[hè}ri(hê]hë]hì]hí]hð]uhòNhóhhô]rjj/)�rk}rl(hÙXConnect to C66x Core 0 (Host)rmhÚjghäjÃhæj3hè}rn(hê]hë]hì]hí]hð]uhòMUhô]rohýXConnect to C66x Core 0 (Host)rp…�rq}rr(hÙjmhÚjkubaubaubeubj)�rs}rt(hÙX-.. Image:: ../images/C6678_connect_core0.jpg hÚj@häjÃhæjhè}ru(UuriX&rtos/../images/C6678_connect_core0.jpgrvhí]hì]hê]hë]j}rwU*jvshð]uhòMXhóhhô]ubjQ)�rx}ry(hÙUhÚj@häjÃhæjThè}rz(jVX-hí]hì]hê]hë]hð]uhòMYhóhhô]r{jX)�r|}r}(hÙX<Loaded image_processing_evmc6678l_master.out to C66x Core 0 hÚjxhäjÃhæj[hè}r~(hê]hë]hì]hí]hð]uhòNhóhhô]rj/)�r€}r�(hÙX;Loaded image_processing_evmc6678l_master.out to C66x Core 0r‚hÚj|häjÃhæj3hè}rƒ(hê]hë]hì]hí]hð]uhòMYhô]r„hýX;Loaded image_processing_evmc6678l_master.out to C66x Core 0r……�r†}r‡(hÙj‚hÚj€ubaubaubaubj)�rˆ}r‰(hÙX+.. Image:: ../images/C6678_load_master.jpg hÚj@häjÃhæjhè}rŠ(UuriX$rtos/../images/C6678_load_master.jpgr‹hí]hì]hê]hë]j}rŒU*j‹shð]uhòM\hóhhô]ubjQ)�r�}rŽ(hÙUhÚj@häjÃhæjThè}r�(jVX-hí]hì]hê]hë]hð]uhòM]hóhhô]r�(jX)�r‘}r’(hÙX4Run image_processing_evmc6678l_master.out on C66xx_0r“hÚj�häjÃhæj[hè}r”(hê]hë]hì]hí]hð]uhòNhóhhô]r•j/)�r–}r—(hÙj“hÚj‘häjÃhæj3hè}r˜(hê]hë]hì]hí]hð]uhòM]hô]r™hýX4Run image_processing_evmc6678l_master.out on C66xx_0rš…�r›}rœ(hÙj“hÚj–ubaubaubjX)�r�}rž(hÙX1Group C66x Core 1-N into a group (Group 1, Slave)rŸhÚj�häjÃhæj[hè}r (hê]hë]hì]hí]hð]uhòNhóhhô]r¡j/)�r¢}r£(hÙjŸhÚj�häjÃhæj3hè}r¤(hê]hë]hì]hí]hð]uhòM^hô]r¥hýX1Group C66x Core 1-N into a group (Group 1, Slave)r¦…�r§}r¨(hÙjŸhÚj¢ubaubaubjX)�r©}rª(hÙXConnect to Group 1 hÚj�häjÃhæj[hè}r«(hê]hë]hì]hí]hð]uhòNhóhhô]r¬j/)�r­}r®(hÙXConnect to Group 1r¯hÚj©häjÃhæj3hè}r°(hê]hë]hì]hí]hð]uhòM_hô]r±hýXConnect to Group 1r²…�r³}r´(hÙj¯hÚj­ubaubaubeubj)�rµ}r¶(hÙX... Image:: ../images/C6678_connect_group1.jpg hÚj@häjÃhæjhè}r·(UuriX'rtos/../images/C6678_connect_group1.jpgr¸hí]hì]hê]hë]j}r¹U*j¸shð]uhòMbhóhhô]ubjQ)�rº}r»(hÙUhÚj@häjÃhæjThè}r¼(jVX-hí]hì]hê]hë]hð]uhòMchóhhô]r½jX)�r¾}r¿(hÙX@Load image_processing_evmc6678l_slave.out to Group 1 using JTAG hÚjºhäjÃhæj[hè}rÀ(hê]hë]hì]hí]hð]uhòNhóhhô]rÁj/)�rÂ}rÃ(hÙX?Load image_processing_evmc6678l_slave.out to Group 1 using JTAGrÄhÚj¾häjÃhæj3hè}rÅ(hê]hë]hì]hí]hð]uhòMchô]rÆhýX?Load image_processing_evmc6678l_slave.out to Group 1 using JTAGrÇ…�rÈ}rÉ(hÙjÄhÚjÂubaubaubaubj)�rÊ}rË(hÙX*.. Image:: ../images/C6678_load_slave.jpg hÚj@häjÃhæjhè}rÌ(UuriX#rtos/../images/C6678_load_slave.jpgrÍhí]hì]hê]hë]j}rÎU*jÍshð]uhòMfhóhhô]ubjQ)�rÏ}rÐ(hÙUhÚj@häjÃhæjThè}rÑ(jVX-hí]hì]hê]hë]hð]uhòMghóhhô]rÒ(jX)�rÓ}rÔ(hÙX3Run image_processing_evmc6678l_slave.out on Group 1rÕhÚjÏhäjÃhæj[hè}rÖ(hê]hë]hì]hí]hð]uhòNhóhhô]r×j/)�rØ}rÙ(hÙjÕhÚjÓhäjÃhæj3hè}rÚ(hê]hë]hì]hí]hð]uhòMghô]rÛhýX3Run image_processing_evmc6678l_slave.out on Group 1rÜ…�rÝ}rÞ(hÙjÕhÚjØubaubaubjX)�rß}rà(hÙX0The HOST will display the IP address on CCS CIO hÚjÏhäjÃhæj[hè}rá(hê]hë]hì]hí]hð]uhòNhóhhô]râj/)�rã}rä(hÙX/The HOST will display the IP address on CCS CIOråhÚjßhäjÃhæj3hè}ræ(hê]hë]hì]hí]hð]uhòMhhô]rçhýX/The HOST will display the IP address on CCS CIOrè…�ré}rê(hÙjåhÚjãubaubaubeubj)�rë}rì(hÙX#.. Image:: ../images/C6678_cio.jpg hÚj@häjÃhæjhè}rí(UuriXrtos/../images/C6678_cio.jpgrîhí]hì]hê]hë]j}rïU*jîshð]uhòMkhóhhô]ubjQ)�rð}rñ(hÙUhÚj@häjÃhæjThè}rò(jVX-hí]hì]hê]hë]hð]uhòMlhóhhô]ró(jX)�rô}rõ(hÙX8Users can use internet browser to access this IP addressröhÚjðhäjÃhæj[hè}r÷(hê]hë]hì]hí]hð]uhòNhóhhô]røj/)�rù}rú(hÙjöhÚjôhäjÃhæj3hè}rû(hê]hë]hì]hí]hð]uhòMlhô]rühýX8Users can use internet browser to access this IP addressrý…�rþ}rÿ(hÙjöhÚjùubaubaubjX)�r}r(hÙX0The Image Processing Demo page will be displayedrhÚjðhäjÃhæj[hè}r(hê]hë]hì]hí]hð]uhòNhóhhô]rj/)�r}r(hÙjhÚjhäjÃhæj3hè}r(hê]hë]hì]hí]hð]uhòMmhô]rhýX0The Image Processing Demo page will be displayedr …�r }r (hÙjhÚjubaubaubjX)�r }r (hÙXNProvide values for the "Number of Cores" and "Select Image to Process" fields hÚjðhäjÃhæj[hè}r(hê]hë]hì]hí]hð]uhòNhóhhô]rj/)�r}r(hÙXMProvide values for the "Number of Cores" and "Select Image to Process" fieldsrhÚj häjÃhæj3hè}r(hê]hë]hì]hí]hð]uhòMnhô]rhýXMProvide values for the "Number of Cores" and "Select Image to Process" fieldsr…�r}r(hÙjhÚjubaubaubeubj)�r}r(hÙX).. Image:: ../images/Demo_web_page_1.jpg hÚj@häjÃhæjhè}r(UuriX"rtos/../images/Demo_web_page_1.jpgrhí]hì]hê]hë]j}rU*jshð]uhòMrhóhhô]ubj/)�r}r(hÙX°The HOST will read the image via NDK, partition it according to the number of cores, send the messages to DSP cores (Slaves) via IPC MessageQ. The DSP cores will start processing the partitioned images concurrently. The resulting output image will be stored in DDR and the HOST will be notified by DSP cores via IPC MessageQ. Subsequently, the HOST will write the input and output images to the Image Processing Demo page using NDK.rhÚj@häjÃhæj3hè}r (hê]hë]hì]hí]hð]uhòMshóhhô]r!hýX°The HOST will read the image via NDK, partition it according to the number of cores, send the messages to DSP cores (Slaves) via IPC MessageQ. The DSP cores will start processing the partitioned images concurrently. The resulting output image will be stored in DDR and the HOST will be notified by DSP cores via IPC MessageQ. Subsequently, the HOST will write the input and output images to the Image Processing Demo page using NDK.r"…�r#}r$(hÙjhÚjubaubj)�r%}r&(hÙX).. Image:: ../images/Demo_web_page_2.jpg hÚj@häjÃhæjhè}r'(UuriX"rtos/../images/Demo_web_page_2.jpgr(hí]hì]hê]hë]j}r)U*j(shð]uhòM|hóhhô]ubeubhÛ)�r*}r+(hÙUjKhÚj}häjÃhæhçhè}r,(hê]r-j%ahë]hì]hí]r.Uid16r/ahð]uhòM~hóhhô]r0(hö)�r1}r2(hÙXK2H EVMr3hÚj*häjÃhæhúhè}r4(hê]hë]hì]hí]hð]uhòM~hóhhô]r5hýXK2H EVMr6…�r7}r8(hÙj3hÚj1ubaubj/)�r9}r:(hÙX‚CCS is used to load the program and arm_A15_0 will be configured as the master and C66xx_0 - C66xx_7 will be configured as slaves.r;hÚj*häjÃhæj3hè}r<(hê]hë]hì]hí]hð]uhòM€hóhhô]r=hýX‚CCS is used to load the program and arm_A15_0 will be configured as the master and C66xx_0 - C66xx_7 will be configured as slaves.r>…�r?}r@(hÙj;hÚj9ubaubjQ)�rA}rB(hÙUhÚj*häjÃhæjThè}rC(jVX-hí]hì]hê]hë]hð]uhòMƒhóhhô]rD(jX)�rE}rF(hÙXCLaunch CCS and connect to K2H EVM using proper target configurationrGhÚjAhäjÃhæj[hè}rH(hê]hë]hì]hí]hð]uhòNhóhhô]rIj/)�rJ}rK(hÙjGhÚjEhäjÃhæj3hè}rL(hê]hë]hì]hí]hð]uhòMƒhô]rMhýXCLaunch CCS and connect to K2H EVM using proper target configurationrN…�rO}rP(hÙjGhÚjJubaubaubjX)�rQ}rR(hÙXConnect to arm_A15_0 (Host) hÚjAhäjÃhæj[hè}rS(hê]hë]hì]hí]hð]uhòNhóhhô]rTj/)�rU}rV(hÙXConnect to arm_A15_0 (Host)rWhÚjQhäjÃhæj3hè}rX(hê]hë]hì]hí]hð]uhòM„hô]rYhýXConnect to arm_A15_0 (Host)rZ…�r[}r\(hÙjWhÚjUubaubaubeubj)�r]}r^(hÙX).. Image:: ../images/K2h_connect_a15.jpg hÚj*häjÃhæjhè}r_(UuriX"rtos/../images/K2h_connect_a15.jpgr`hí]hì]hê]hë]j}raU*j`shð]uhòM‡hóhhô]ubjQ)�rb}rc(hÙUhÚj*häjÃhæjThè}rd(jVX-hí]hì]hê]hë]hð]uhòMˆhóhhô]rejX)�rf}rg(hÙX8Group C66xx_0 to C66xx_7 into a group (Group 1, Slaves) hÚjbhäjÃhæj[hè}rh(hê]hë]hì]hí]hð]uhòNhóhhô]rij/)�rj}rk(hÙX7Group C66xx_0 to C66xx_7 into a group (Group 1, Slaves)rlhÚjfhäjÃhæj3hè}rm(hê]hë]hì]hí]hð]uhòMˆhô]rnhýX7Group C66xx_0 to C66xx_7 into a group (Group 1, Slaves)ro…�rp}rq(hÙjlhÚjjubaubaubaubj)�rr}rs(hÙX).. Image:: ../images/K2h_from_group1.jpg hÚj*häjÃhæjhè}rt(UuriX"rtos/../images/K2h_from_group1.jpgruhí]hì]hê]hë]j}rvU*jushð]uhòM‹hóhhô]ubjQ)�rw}rx(hÙUhÚj*häjÃhæjThè}ry(jVX-hí]hì]hê]hë]hð]uhòMŒhóhhô]rzjX)�r{}r|(hÙXConnect to Group 1 hÚjwhäjÃhæj[hè}r}(hê]hë]hì]hí]hð]uhòNhóhhô]r~j/)�r}r€(hÙXConnect to Group 1r�hÚj{häjÃhæj3hè}r‚(hê]hë]hì]hí]hð]uhòMŒhô]rƒhýXConnect to Group 1r„…�r…}r†(hÙj�hÚjubaubaubaubj)�r‡}rˆ(hÙX,.. Image:: ../images/K2h_connect_group1.jpg hÚj*häjÃhæjhè}r‰(UuriX%rtos/../images/K2h_connect_group1.jpgrŠhí]hì]hê]hë]j}r‹U*jŠshð]uhòM�hóhhô]ubjQ)�rŒ}r�(hÙUhÚj*häjÃhæjThè}rŽ(jVX-hí]hì]hê]hë]hð]uhòM�hóhhô]r�jX)�r�}r‘(hÙX>Load image_processing_evmk2hk_slave.out to Group 1 using JTAG hÚjŒhäjÃhæj[hè}r’(hê]hë]hì]hí]hð]uhòNhóhhô]r“j/)�r”}r•(hÙX=Load image_processing_evmk2hk_slave.out to Group 1 using JTAGr–hÚj�häjÃhæj3hè}r—(hê]hë]hì]hí]hð]uhòM�hô]r˜hýX=Load image_processing_evmk2hk_slave.out to Group 1 using JTAGr™…�rš}r›(hÙj–hÚj”ubaubaubaubj)�rœ}r�(hÙX).. Image:: ../images/K2h_load_group1.jpg hÚj*häjÃhæjhè}rž(UuriX"rtos/../images/K2h_load_group1.jpgrŸhí]hì]hê]hë]j}r U*jŸshð]uhòM“hóhhô]ubjQ)�r¡}r¢(hÙUhÚj*häjÃhæjThè}r£(jVX-hí]hì]hê]hë]hð]uhòM”hóhhô]r¤jX)�r¥}r¦(hÙX2Run image_processing_evmk2hk_slave.out on Group 1 hÚj¡häjÃhæj[hè}r§(hê]hë]hì]hí]hð]uhòNhóhhô]r¨j/)�r©}rª(hÙX1Run image_processing_evmk2hk_slave.out on Group 1r«hÚj¥häjÃhæj3hè}r¬(hê]hë]hì]hí]hð]uhòM”hô]r­hýX1Run image_processing_evmk2hk_slave.out on Group 1r®…�r¯}r°(hÙj«hÚj©ubaubaubaubj)�r±}r²(hÙX(.. Image:: ../images/K2h_run_group1.jpg hÚj*häjÃhæjhè}r³(UuriX!rtos/../images/K2h_run_group1.jpgr´hí]hì]hê]hë]j}rµU*j´shð]uhòM—hóhhô]ubjQ)�r¶}r·(hÙUhÚj*häjÃhæjThè}r¸(jVX-hí]hì]hê]hë]hð]uhòM˜hóhhô]r¹jX)�rº}r»(hÙX<Loaded image_processing_evmk2hk_master_arm.out to arm_A15_0 hÚj¶häjÃhæj[hè}r¼(hê]hë]hì]hí]hð]uhòNhóhhô]r½j/)�r¾}r¿(hÙX;Loaded image_processing_evmk2hk_master_arm.out to arm_A15_0rÀhÚjºhäjÃhæj3hè}rÁ(hê]hë]hì]hí]hð]uhòM˜hô]rÂhýX;Loaded image_processing_evmk2hk_master_arm.out to arm_A15_0rÃ…�rÄ}rÅ(hÙjÀhÚj¾ubaubaubaubj)�rÆ}rÇ(hÙX&.. Image:: ../images/K2h_load_a15.jpg hÚj*häjÃhæjhè}rÈ(UuriXrtos/../images/K2h_load_a15.jpgrÉhí]hì]hê]hë]j}rÊU*jÉshð]uhòM›hóhhô]ubjQ)�rË}rÌ(hÙUhÚj*häjÃhæjThè}rÍ(jVX-hí]hì]hê]hë]hð]uhòMœhóhhô]rÎjX)�rÏ}rÐ(hÙX9Run image_processing_evmk2hk_master_arm.out on arm_A15_0 hÚjËhäjÃhæj[hè}rÑ(hê]hë]hì]hí]hð]uhòNhóhhô]rÒj/)�rÓ}rÔ(hÙX8Run image_processing_evmk2hk_master_arm.out on arm_A15_0rÕhÚjÏhäjÃhæj3hè}rÖ(hê]hë]hì]hí]hð]uhòMœhô]r×hýX8Run image_processing_evmk2hk_master_arm.out on arm_A15_0rØ…�rÙ}rÚ(hÙjÕhÚjÓubaubaubaubj)�rÛ}rÜ(hÙX%.. Image:: ../images/K2h_run_a15.jpg hÚj*häjÃhæjhè}rÝ(UuriXrtos/../images/K2h_run_a15.jpgrÞhí]hì]hê]hë]j}rßU*jÞshð]uhòMŸhóhhô]ubjQ)�rà}rá(hÙUhÚj*häjÃhæjThè}râ(jVX-hí]hì]hê]hë]hð]uhòM hóhhô]rãjX)�rä}rå(hÙX0The HOST will display the IP address on CCS CIO hÚjàhäjÃhæj[hè}ræ(hê]hë]hì]hí]hð]uhòNhóhhô]rçj/)�rè}ré(hÙX/The HOST will display the IP address on CCS CIOrêhÚjähäjÃhæj3hè}rë(hê]hë]hì]hí]hð]uhòM hô]rìhýX/The HOST will display the IP address on CCS CIOrí…�rî}rï(hÙjêhÚjèubaubaubaubj)�rð}rñ(hÙX!.. Image:: ../images/K2h_cio.jpg hÚj*häjÃhæjhè}rò(UuriXrtos/../images/K2h_cio.jpgróhí]hì]hê]hë]j}rôU*jóshð]uhòM£hóhhô]ubjQ)�rõ}rö(hÙUhÚj*häjÃhæjThè}r÷(jVX-hí]hì]hê]hë]hð]uhòM¤hóhhô]rø(jX)�rù}rú(hÙX8Users can use internet browser to access this IP addressrûhÚjõhäjÃhæj[hè}rü(hê]hë]hì]hí]hð]uhòNhóhhô]rýj/)�rþ}rÿ(hÙjûhÚjùhäjÃhæj3hè}r(hê]hë]hì]hí]hð]uhòM¤hô]rhýX8Users can use internet browser to access this IP addressr…�r}r(hÙjûhÚjþubaubaubjX)�r}r(hÙX0The Image Processing Demo page will be displayedrhÚjõhäjÃhæj[hè}r(hê]hë]hì]hí]hð]uhòNhóhhô]r j/)�r }r (hÙjhÚjhäjÃhæj3hè}r (hê]hë]hì]hí]hð]uhòM¥hô]r hýX0The Image Processing Demo page will be displayedr…�r}r(hÙjhÚj ubaubaubjX)�r}r(hÙXNProvide values for the "Number of Cores" and "Select Image to Process" fields hÚjõhäjÃhæj[hè}r(hê]hë]hì]hí]hð]uhòNhóhhô]rj/)�r}r(hÙXMProvide values for the "Number of Cores" and "Select Image to Process" fieldsrhÚjhäjÃhæj3hè}r(hê]hë]hì]hí]hð]uhòM¦hô]rhýXMProvide values for the "Number of Cores" and "Select Image to Process" fieldsr…�r}r(hÙjhÚjubaubaubeubj)�r}r(hÙX#.. Image:: ../images/K2h_web_1.jpg hÚj*häjÃhæjhè}r(UuriXrtos/../images/K2h_web_1.jpgr hí]hì]hê]hë]j}r!U*j shð]uhòMªhóhhô]ubj/)�r"}r#(hÙX°The HOST will read the image via NDK, partition it according to the number of cores, send the messages to DSP cores (Slaves) via IPC MessageQ. The DSP cores will start processing the partitioned images concurrently. The resulting output image will be stored in DDR and the HOST will be notified by DSP cores via IPC MessageQ. Subsequently, the HOST will write the input and output images to the Image Processing Demo page using NDK.r$hÚj*häjÃhæj3hè}r%(hê]hë]hì]hí]hð]uhòM«hóhhô]r&hýX°The HOST will read the image via NDK, partition it according to the number of cores, send the messages to DSP cores (Slaves) via IPC MessageQ. The DSP cores will start processing the partitioned images concurrently. The resulting output image will be stored in DDR and the HOST will be notified by DSP cores via IPC MessageQ. Subsequently, the HOST will write the input and output images to the Image Processing Demo page using NDK.r'…�r(}r)(hÙj$hÚj"ubaubj)�r*}r+(hÙX#.. Image:: ../images/K2h_web_2.jpg hÚj*häjÃhæjhè}r,(UuriXrtos/../images/K2h_web_2.jpgr-hí]hì]hê]hë]j}r.U*j-shð]uhòM´hóhhô]ubeubeubeubeubhäjÃhæhçhè}r/(hê]r0jahë]hì]hí]r1Uid14r2ahð]uhòKhóhhô]r3(hö)�r4}r5(hÙX Introductionr6hÚj¯häjÃhæhúhè}r7(hê]hë]hì]hí]hð]uhòKhóhhô]r8hýX Introductionr9…�r:}r;(hÙj6hÚj4ubaubj/)�r<}r=(hÙXÎThis page describes the image processing demo provided in the Processor-SDK for RTOS. This demo illustrates the integration of key components in the SDK and provides a framework for application development.r>hÚj¯häjÃhæj3hè}r?(hê]hë]hì]hí]hð]uhòKhóhhô]r@hýXÎThis page describes the image processing demo provided in the Processor-SDK for RTOS. This demo illustrates the integration of key components in the SDK and provides a framework for application development.rA…�rB}rC(hÙj>hÚj<ubaubj/)�rD}rE(hÙX³The use case implemented is the transfer of image data from/to DDR and internal memory. Typically, images are large and need to be stored in external memory. Key functions includerFhÚj¯häjÃhæj3hè}rG(hê]hë]hì]hí]hð]uhòK hóhhô]rHhýX³The use case implemented is the transfer of image data from/to DDR and internal memory. Typically, images are large and need to be stored in external memory. Key functions includerI…�rJ}rK(hÙjFhÚjDubaubjQ)�rL}rM(hÙUhÚj¯häjÃhæjThè}rN(jVX-hí]hì]hê]hë]hð]uhòKhóhhô]rO(jX)�rP}rQ(hÙXCOperates on different segments of the same image in different coresrRhÚjLhäjÃhæj[hè}rS(hê]hë]hì]hí]hð]uhòNhóhhô]rTj/)�rU}rV(hÙjRhÚjPhäjÃhæj3hè}rW(hê]hë]hì]hí]hð]uhòKhô]rXhýXCOperates on different segments of the same image in different coresrY…�rZ}r[(hÙjRhÚjUubaubaubjX)�r\}r](hÙXTOperates across multiple cores executing different algorithms on the same image datahÚjLhäjÃhæj[hè}r^(hê]hë]hì]hí]hð]uhòNhóhhô]r_j/)�r`}ra(hÙXTOperates across multiple cores executing different algorithms on the same image datarbhÚj\häjÃhæj3hè}rc(hê]hë]hì]hí]hð]uhòKhô]rdhýXTOperates across multiple cores executing different algorithms on the same image datare…�rf}rg(hÙjbhÚj`ubaubaubjX)�rh}ri(hÙXETransfers input/output image to a medium (SD card or external system)rjhÚjLhäjÃhæj[hè}rk(hê]hë]hì]hí]hð]uhòNhóhhô]rlj/)�rm}rn(hÙjjhÚjhhäjÃhæj3hè}ro(hê]hë]hì]hí]hð]uhòKhô]rphýXETransfers input/output image to a medium (SD card or external system)rq…�rr}rs(hÙjjhÚjmubaubaubjX)�rt}ru(hÙXVUtilize IPC to communicate between cores to perform an image processing task parallel hÚjLhäjÃhæj[hè}rv(hê]hë]hì]hí]hð]uhòNhóhhô]rwj/)�rx}ry(hÙXUUtilize IPC to communicate between cores to perform an image processing task parallelrzhÚjthäjÃhæj3hè}r{(hê]hë]hì]hí]hð]uhòKhô]r|hýXUUtilize IPC to communicate between cores to perform an image processing task parallelr}…�r~}r(hÙjzhÚjxubaubaubeubj/)�r€}r�(hÙX0This demo utilizes many SDK features/components:r‚hÚj¯häjÃhæj3hè}rƒ(hê]hë]hì]hí]hð]uhòKhóhhô]r„hýX0This demo utilizes many SDK features/components:r……�r†}r‡(hÙj‚hÚj€ubaubjQ)�rˆ}r‰(hÙUhÚj¯häjÃhæjThè}rŠ(jVX-hí]hì]hê]hë]hð]uhòKhóhhô]r‹(jX)�rŒ}r�(hÙX?**Multi-core** application utilizing ARM-A15 and DSP-C66x coresrŽhÚjˆhäjÃhæj[hè}r�(hê]hë]hì]hí]hð]uhòNhóhhô]r�j/)�r‘}r’(hÙjŽhÚjŒhäjÃhæj3hè}r“(hê]hë]hì]hí]hð]uhòKhô]r”(jW)�r•}r–(hÙX**Multi-core**hè}r—(hê]hë]hì]hí]hð]uhÚj‘hô]r˜hýX Multi-corer™…�rš}r›(hÙUhÚj•ubahæj_ubhýX1 application utilizing ARM-A15 and DSP-C66x coresrœ…�r�}rž(hÙX1 application utilizing ARM-A15 and DSP-C66x coreshÚj‘ubeubaubjX)�rŸ}r (hÙX.**IMGLIB** for optimized C66x image processingr¡hÚjˆhäjÃhæj[hè}r¢(hê]hë]hì]hí]hð]uhòNhóhhô]r£j/)�r¤}r¥(hÙj¡hÚjŸhäjÃhæj3hè}r¦(hê]hë]hì]hí]hð]uhòKhô]r§(jW)�r¨}r©(hÙX **IMGLIB**hè}rª(hê]hë]hì]hí]hð]uhÚj¤hô]r«hýXIMGLIBr¬…�r­}r®(hÙUhÚj¨ubahæj_ubhýX$ for optimized C66x image processingr¯…�r°}r±(hÙX$ for optimized C66x image processinghÚj¤ubeubaubjX)�r²}r³(hÙX(**IPC** for interprocessor communicationr´hÚjˆhäjÃhæj[hè}rµ(hê]hë]hì]hí]hð]uhòNhóhhô]r¶j/)�r·}r¸(hÙj´hÚj²häjÃhæj3hè}r¹(hê]hë]hì]hí]hð]uhòKhô]rº(jW)�r»}r¼(hÙX**IPC**hè}r½(hê]hë]hì]hí]hð]uhÚj·hô]r¾hýXIPCr¿…�rÀ}rÁ(hÙUhÚj»ubahæj_ubhýX! for interprocessor communicationrÂ…�rÃ}rÄ(hÙX! for interprocessor communicationhÚj·ubeubaubjX)�rÅ}rÆ(hÙX5**NDK** application utilizing NDK for internet accessrÇhÚjˆhäjÃhæj[hè}rÈ(hê]hë]hì]hí]hð]uhòNhóhhô]rÉj/)�rÊ}rË(hÙjÇhÚjÅhäjÃhæj3hè}rÌ(hê]hë]hì]hí]hð]uhòKhô]rÍ(jW)�rÎ}rÏ(hÙX**NDK**hè}rÐ(hê]hë]hì]hí]hð]uhÚjÊhô]rÑhýXNDKrÒ…�rÓ}rÔ(hÙUhÚjÎubahæj_ubhýX. application utilizing NDK for internet accessrÕ…�rÖ}r×(hÙX. application utilizing NDK for internet accesshÚjÊubeubaubjX)�rØ}rÙ(hÙX$**UIA** for instrumentation logging hÚjˆhäjÃhæj[hè}rÚ(hê]hë]hì]hí]hð]uhòNhóhhô]rÛj/)�rÜ}rÝ(hÙX#**UIA** for instrumentation logginghÚjØhäjÃhæj3hè}rÞ(hê]hë]hì]hí]hð]uhòKhô]rß(jW)�rà}rá(hÙX**UIA**hè}râ(hê]hë]hì]hí]hð]uhÚjÜhô]rãhýXUIArä…�rå}ræ(hÙUhÚjàubahæj_ubhýX for instrumentation loggingrç…�rè}ré(hÙX for instrumentation logginghÚjÜubeubaubeubj/)�rê}rë(hÙXcThis demo is not available for all devices. Currently, the following devices and EVM are supported:rìhÚj¯häjÃhæj3hè}rí(hê]hë]hì]hí]hð]uhòKhóhhô]rîhýXcThis demo is not available for all devices. Currently, the following devices and EVM are supported:rï…�rð}rñ(hÙjìhÚjêubaubjQ)�rò}ró(hÙUhÚj¯häjÃhæjThè}rô(jVX-hí]hì]hê]hë]hð]uhòK!hóhhô]rõ(jX)�rö}r÷(hÙXAM57x, on the AM572x GP EVMrøhÚjòhäjÃhæj[hè}rù(hê]hë]hì]hí]hð]uhòNhóhhô]rúj/)�rû}rü(hÙjøhÚjöhäjÃhæj3hè}rý(hê]hë]hì]hí]hð]uhòK!hô]rþhýXAM57x, on the AM572x GP EVMrÿ…�r}r(hÙjøhÚjûubaubaubjX)�r}r(hÙXC665x, on the C665x EVMrhÚjòhäjÃhæj[hè}r(hê]hë]hì]hí]hð]uhòNhóhhô]rj/)�r}r(hÙjhÚjhäjÃhæj3hè}r (hê]hë]hì]hí]hð]uhòK"hô]r hýXC665x, on the C665x EVMr …�r }r (hÙjhÚjubaubaubjX)�r}r(hÙXC667x, on the C667x EVMrhÚjòhäjÃhæj[hè}r(hê]hë]hì]hí]hð]uhòNhóhhô]rj/)�r}r(hÙjhÚjhäjÃhæj3hè}r(hê]hë]hì]hí]hð]uhòK#hô]rhýXC667x, on the C667x EVMr…�r}r(hÙjhÚjubaubaubjX)�r}r(hÙXK2H, on the K2H EVM hÚjòhäjÃhæj[hè}r(hê]hë]hì]hí]hð]uhòNhóhhô]rj/)�r}r(hÙXK2H, on the K2H EVMr hÚjhäjÃhæj3hè}r!(hê]hë]hì]hí]hð]uhòK$hô]r"hýXK2H, on the K2H EVMr#…�r$}r%(hÙj hÚjubaubaubeubj))�r&}r'(hÙXLFor AM572x EVM, only the SD card boot option (via SBL) is current supported.r(hÚj¯häjÃhæj,hè}r)(hê]hë]hì]hí]hð]uhòNhóhhô]r*j/)�r+}r,(hÙj(hÚj&häjÃhæj3hè}r-(hê]hë]hì]hí]hð]uhòK'hô]r.hýXLFor AM572x EVM, only the SD card boot option (via SBL) is current supported.r/…�r0}r1(hÙj(hÚj+ubaubaubj))�r2}r3(hÙX_This demo has been only verified with the Google Chrome along with the 100Mbit router with DHCPr4hÚj¯häjÃhæj,hè}r5(hê]hë]hì]hí]hð]uhòNhóhhô]r6j/)�r7}r8(hÙj4hÚj2häjÃhæj3hè}r9(hê]hë]hì]hí]hð]uhòK*hô]r:hýX_This demo has been only verified with the Google Chrome along with the 100Mbit router with DHCPr;…�r<}r=(hÙj4hÚj7ubaubaubeubhäjÃhæUsystem_messager>hè}r?(hê]UlevelKhí]hì]r@j2aUsourcejÃhë]hð]UlineKUtypeUINFOrAuhòKhóhhô]rBj/)�rC}rD(hÙX/Duplicate implicit target name: "introduction".hè}rE(hê]hë]hì]hí]hð]uhÚj­hô]rFhýX/Duplicate implicit target name: "introduction".rG…�rH}rI(hÙUhÚjCubahæj3ubaubj¬)�rJ}rK(hÙUhÚj=häjÃhæj>hè}rL(hê]UlevelKhí]hì]rMjBaUsourcejÃhë]hð]UlineK@UtypejAuhòK@hóhhô]rNj/)�rO}rP(hÙX2Duplicate implicit target name: "software design".hè}rQ(hê]hë]hì]hí]hð]uhÚjJhô]rRhýX2Duplicate implicit target name: "software design".rS…�rT}rU(hÙUhÚjOubahæj3ubaubj¬)�rV}rW(hÙUhÚj*häjÃhæj>hè}rX(hê]UlevelKhí]hì]rYj/aUsourcejÃhë]hð]UlineM~UtypejAuhòM~hóhhô]rZj/)�r[}r\(hÙX*Duplicate implicit target name: "k2h evm".hè}r](hê]hë]hì]hí]hð]uhÚjVhô]r^hýX*Duplicate implicit target name: "k2h evm".r_…�r`}ra(hÙUhÚj[ubahæj3ubaubj¬)�rb}rc(hÙUhÚj*häX\internal padding after source/rtos/Examples_and_Demonstrations/Image_Processing_Demo.rst.incrdhæj>hè}re(hê]UlevelKhí]hì]UsourcejÃhë]hð]UlineMµUtypeUERRORrfuhòM·hóhhô]rg(j/)�rh}ri(hÙX;Content block expected for the "raw" directive; none found.hè}rj(hê]hë]hì]hí]hð]uhÚjbhô]rkhýX;Content block expected for the "raw" directive; none found.rl…�rm}rn(hÙUhÚjhubahæj3ubjË)�ro}rp(hÙX.. raw:: html hè}rq(jjhí]hì]hê]hë]hð]uhÚjbhô]rrhýX.. raw:: html rs…�rt}ru(hÙUhÚjoubahæjÎubeubj¬)�rv}rw(hÙUhÚhÛ)�rx}ry(hÙUjKhÚhÛ)�rz}r{(hÙUhÚhhähåhæhçhè}r|(hê]hë]hì]hí]r}Uposix-smp-demor~ahð]rhVauhòKhóhhô]r€(hö)�r�}r‚(hÙXPOSIX-SMP DemorƒhÚjzhähåhæhúhè}r„(hê]hë]hì]hí]hð]uhòKhóhhô]r…hýXPOSIX-SMP Demor†…�r‡}rˆ(hÙjƒhÚj�ubaubj )�r‰}rŠ(hÙXDhttp://processors.wiki.ti.com/index.php/Processor_SDK_Posix-SMP_DemohÚjzhäj X>source/rtos/Examples_and_Demonstrations/Posix_SMP_Demo.rst.incr‹…�rŒ}r�bhæjhè}rŽ(jjhí]hì]hê]hë]hð]uhòKhóhhô]r�hýXDhttp://processors.wiki.ti.com/index.php/Processor_SDK_Posix-SMP_Demor�…�r‘}r’(hÙUhÚj‰ubaubjxhÛ)�r“}r”(hÙUjKhÚjzhäjŒhæhçhè}r•(hê]r–jÎahë]hì]hí]r—Uid18r˜ahð]uhòKhóhhô]r™(hö)�rš}r›(hÙX RequirementsrœhÚj“häjŒhæhúhè}r�(hê]hë]hì]hí]hð]uhòKhóhhô]ržhýX RequirementsrŸ…�r }r¡(hÙjœhÚjšubaubj/)�r¢}r£(hÙX?The following materials are required to run this demonstration:r¤hÚj“häjŒhæj3hè}r¥(hê]hë]hì]hí]hð]uhòKhóhhô]r¦hýX?The following materials are required to run this demonstration:r§…�r¨}r©(hÙj¤hÚj¢ubaubj/)�rª}r«(hÙXHardwarer¬hÚj“häjŒhæj3hè}r­(hê]hë]hì]hí]hð]uhòK hóhhô]r®hýXHardwarer¯…�r°}r±(hÙj¬hÚjªubaubjQ)�r²}r³(hÙUhÚj“häjŒhæjThè}r´(jVX-hí]hì]hê]hë]hð]uhòK"hóhhô]rµ(jX)�r¶}r·(hÙXTI EVM (see list above)r¸hÚj²häjŒhæj[hè}r¹(hê]hë]hì]hí]hð]uhòNhóhhô]rºj/)�r»}r¼(hÙj¸hÚj¶häjŒhæj3hè}r½(hê]hë]hì]hí]hð]uhòK"hô]r¾hýXTI EVM (see list above)r¿…�rÀ}rÁ(hÙj¸hÚj»ubaubaubjX)�rÂ}rÃ(hÙX(Serial UART cable (provided in EVM kit) hÚj²häjŒhæj[hè}rÄ(hê]hë]hì]hí]hð]uhòNhóhhô]rÅj/)�rÆ}rÇ(hÙX'Serial UART cable (provided in EVM kit)rÈhÚjÂhäjŒhæj3hè}rÉ(hê]hë]hì]hí]hð]uhòK#hô]rÊhýX'Serial UART cable (provided in EVM kit)rË…�rÌ}rÍ(hÙjÈhÚjÆubaubaubeubj/)�rÎ}rÏ(hÙXSoftwarerÐhÚj“häjŒhæj3hè}rÑ(hê]hë]hì]hí]hð]uhòK%hóhhô]rÒhýXSoftwarerÓ…�rÔ}rÕ(hÙjÐhÚjÎubaubjQ)�rÖ}r×(hÙUhÚj“häjŒhæjThè}rØ(jVX-hí]hì]hê]hë]hð]uhòK'hóhhô]rÙ(jX)�rÚ}rÛ(hÙXProcessor-SDK RTOSrÜhÚjÖhäjŒhæj[hè}rÝ(hê]hë]hì]hí]hð]uhòNhóhhô]rÞj/)�rß}rà(hÙjÜhÚjÚhäjŒhæj3hè}rá(hê]hë]hì]hí]hð]uhòK'hô]râhýXProcessor-SDK RTOSrã…�rä}rå(hÙjÜhÚjßubaubaubjX)�ræ}rç(hÙXCode Composer Studio hÚjÖhäjŒhæj[hè}rè(hê]hë]hì]hí]hð]uhòNhóhhô]réj/)�rê}rë(hÙXCode Composer StudiorìhÚjæhäjŒhæj3hè}rí(hê]hë]hì]hí]hð]uhòK(hô]rîhýXCode Composer Studiorï…�rð}rñ(hÙjìhÚjêubaubaubeubjÎ)�rò}ró(hÙUhÚj“häjŒhæjÑhè}rô(hê]hë]hì]hí]hð]uhòK*hóhhô]rõjÔ)�rö}r÷(hÙUj×KhÚjòhäjŒhæhòhè}rø(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubhÛ)�rù}rú(hÙUjKhÚjzhäjŒhæhçhè}rû(hê]rüXsoftware designrýahë]hì]hí]rþUid19rÿahð]uhòK-hóhhô]r(hö)�r}r(hÙXSoftware DesignrhÚjùhäjŒhæhúhè}r(hê]hë]hì]hí]hð]uhòK-hóhhô]rhýXSoftware Designr…�r}r(hÙjhÚjubaubj/)�r }r (hÙXmThe demo is based on Dhrystone 2.1 from `link `__.hÚjùhäjŒhæj3hè}r (hê]hë]hì]hí]hð]uhòK/hóhhô]r (hýX(The demo is based on Dhrystone 2.1 from r …�r}r(hÙX(The demo is based on Dhrystone 2.1 from hÚj ubj)�r}r(hÙXD`link `__hè}r(UnameXlinkjX9http://fossies.org/linux/privat/old/dhrystone-2.1.tar.gz/hí]hì]hê]hë]hð]uhÚj hô]rhýXlinkr…�r}r(hÙUhÚjubahæjubhýX.…�r}r(hÙX.hÚj ubeubj/)�r}r(hÙXÖThe purpose of the demo is two-fold. First, it is to show easy scaling of throughput across cores in a SMP cluster when running TI-RTOS. Second, it shows easy portability of Posix threads between TI-RTOS and Linux.rhÚjùhäjŒhæj3hè}r(hê]hë]hì]hí]hð]uhòK2hóhhô]rhýXÖThe purpose of the demo is two-fold. First, it is to show easy scaling of throughput across cores in a SMP cluster when running TI-RTOS. Second, it shows easy portability of Posix threads between TI-RTOS and Linux.r…�r}r (hÙjhÚjubaubj/)�r!}r"(hÙX7The overall requirement is discover all parameters automatically without user input, and to minimize the amount of code that must be customized between TI-RTOS and Linux. This demonstrates that the same Posix threads as well as their setup/control code can be run on either TI-RTOS or Linux with minimal effort.r#hÚjùhäjŒhæj3hè}r$(hê]hë]hì]hí]hð]uhòK7hóhhô]r%hýX7The overall requirement is discover all parameters automatically without user input, and to minimize the amount of code that must be customized between TI-RTOS and Linux. This demonstrates that the same Posix threads as well as their setup/control code can be run on either TI-RTOS or Linux with minimal effort.r&…�r'}r((hÙj#hÚj!ubaubj/)�r)}r*(hÙXIn order to accomplish this, several major modifications were made to Dhrystone in order to "threadify" it. Some of these changes slightly affect the results compared to an unmodified version. Thus this modified version should be run on all processors where comparisons will be drawn.r+hÚjùhäjŒhæj3hè}r,(hê]hë]hì]hí]hð]uhòK=hóhhô]r-hýXIn order to accomplish this, several major modifications were made to Dhrystone in order to "threadify" it. Some of these changes slightly affect the results compared to an unmodified version. Thus this modified version should be run on all processors where comparisons will be drawn.r.…�r/}r0(hÙj+hÚj)ubaubjQ)�r1}r2(hÙUhÚjùhäjŒhæjThè}r3(jVX-hí]hì]hê]hë]hð]uhòKBhóhhô]r4(jX)�r5}r6(hÙXÜ**Removal of most printf() during normal operation.** Original code dumped all final values for the user to verify. Changed to programmatic verification. Only printf() for actual results (DMIPS and Dhrystones) preserved.hÚj1häjŒhæj[hè}r7(hê]hë]hì]hí]hð]uhòNhóhhô]r8j/)�r9}r:(hÙXÜ**Removal of most printf() during normal operation.** Original code dumped all final values for the user to verify. Changed to programmatic verification. Only printf() for actual results (DMIPS and Dhrystones) preserved.hÚj5häjŒhæj3hè}r;(hê]hë]hì]hí]hð]uhòKBhô]r<(jW)�r=}r>(hÙX5**Removal of most printf() during normal operation.**hè}r?(hê]hë]hì]hí]hð]uhÚj9hô]r@hýX1Removal of most printf() during normal operation.rA…�rB}rC(hÙUhÚj=ubahæj_ubhýX§ Original code dumped all final values for the user to verify. Changed to programmatic verification. Only printf() for actual results (DMIPS and Dhrystones) preserved.rD…�rE}rF(hÙX§ Original code dumped all final values for the user to verify. Changed to programmatic verification. Only printf() for actual results (DMIPS and Dhrystones) preserved.hÚj9ubeubaubjX)�rG}rH(hÙXY**Removal of all global variables.** They are accessed through an "inst" pointer instead.hÚj1häjŒhæj[hè}rI(hê]hë]hì]hí]hð]uhòNhóhhô]rJj/)�rK}rL(hÙXY**Removal of all global variables.** They are accessed through an "inst" pointer instead.hÚjGhäjŒhæj3hè}rM(hê]hë]hì]hí]hð]uhòKFhô]rN(jW)�rO}rP(hÙX$**Removal of all global variables.**hè}rQ(hê]hë]hì]hí]hð]uhÚjKhô]rRhýX Removal of all global variables.rS…�rT}rU(hÙUhÚjOubahæj_ubhýX5 They are accessed through an "inst" pointer instead.rV…�rW}rX(hÙX5 They are accessed through an "inst" pointer instead.hÚjKubeubaubjX)�rY}rZ(hÙXœ**Adaptive discovery of iteration count.** Original code used a #define. This version doubles iteration count until execution time is about 10M timer ticks.hÚj1häjŒhæj[hè}r[(hê]hë]hì]hí]hð]uhòNhóhhô]r\j/)�r]}r^(hÙXœ**Adaptive discovery of iteration count.** Original code used a #define. This version doubles iteration count until execution time is about 10M timer ticks.hÚjYhäjŒhæj3hè}r_(hê]hë]hì]hí]hð]uhòKHhô]r`(jW)�ra}rb(hÙX***Adaptive discovery of iteration count.**hè}rc(hê]hë]hì]hí]hð]uhÚj]hô]rdhýX&Adaptive discovery of iteration count.re…�rf}rg(hÙUhÚjaubahæj_ubhýXr Original code used a #define. This version doubles iteration count until execution time is about 10M timer ticks.rh…�ri}rj(hÙXr Original code used a #define. This version doubles iteration count until execution time is about 10M timer ticks.hÚj]ubeubaubjX)�rk}rl(hÙX¨**Adaptive discovery of number of cores in SMP cluster.** Original code didn't use threads. This version doubled number of threads until cumulative DMIPS flattens out. hÚj1häjŒhæj[hè}rm(hê]hë]hì]hí]hð]uhòNhóhhô]rnj/)�ro}rp(hÙX§**Adaptive discovery of number of cores in SMP cluster.** Original code didn't use threads. This version doubled number of threads until cumulative DMIPS flattens out.hÚjkhäjŒhæj3hè}rq(hê]hë]hì]hí]hð]uhòKKhô]rr(jW)�rs}rt(hÙX9**Adaptive discovery of number of cores in SMP cluster.**hè}ru(hê]hë]hì]hí]hð]uhÚjohô]rvhýX5Adaptive discovery of number of cores in SMP cluster.rw…�rx}ry(hÙUhÚjsubahæj_ubhýXn Original code didn't use threads. This version doubled number of threads until cumulative DMIPS flattens out.rz…�r{}r|(hÙXn Original code didn't use threads. This version doubled number of threads until cumulative DMIPS flattens out.hÚjoubeubaubeubj/)�r}}r~(hÙX^POSIX barriers are used inside the timed portion of the code. This is not to time the performance of the barrier, but is instead used to time how long all threads together take to complete. It is assumed the execution times of the threads (> 0.1 second) are orders of magnitude more than the barrier, so the barrier's effect on results is negligible.rhÚjùhäjŒhæj3hè}r€(hê]hë]hì]hí]hð]uhòKOhóhhô]r�hýX^POSIX barriers are used inside the timed portion of the code. This is not to time the performance of the barrier, but is instead used to time how long all threads together take to complete. It is assumed the execution times of the threads (> 0.1 second) are orders of magnitude more than the barrier, so the barrier's effect on results is negligible.r‚…�rƒ}r„(hÙjhÚj}ubaubj/)�r…}r†(hÙX¶Processor SDK uses makefiles for TI-RTOS and Yocto recipes for Linux for the supported EVMs. The makefile can also be used to compile native builds for Linux (both for EVMs and x86).r‡hÚjùhäjŒhæj3hè}rˆ(hê]hë]hì]hí]hð]uhòKUhóhhô]r‰hýX¶Processor SDK uses makefiles for TI-RTOS and Yocto recipes for Linux for the supported EVMs. The makefile can also be used to compile native builds for Linux (both for EVMs and x86).rŠ…�r‹}rŒ(hÙj‡hÚj…ubaubj/)�r�}rŽ(hÙX�For more information on TI-RTOS Posix, see `POSIX Support `__.hÚjùhäjŒhæj3hè}r�(hê]hë]hì]hí]hð]uhòKYhóhhô]r�(hýX+For more information on TI-RTOS Posix, see r‘…�r’}r“(hÙX+For more information on TI-RTOS Posix, see hÚj�ubj)�r”}r•(hÙXc`POSIX Support `__hè}r–(UnameX POSIX SupportjXOhttp://processors.wiki.ti.com/index.php/SYS/BIOS_POSIX_Thread_(pthread)_Supporthí]hì]hê]hë]hð]uhÚj�hô]r—hýX POSIX Supportr˜…�r™}rš(hÙUhÚj”ubahæjubhýX.…�r›}rœ(hÙX.hÚj�ubeubjÎ)�r�}rž(hÙUhÚjùhäjŒhæjÑhè}rŸ(hê]hë]hì]hí]hð]uhòK\hóhhô]r jÔ)�r¡}r¢(hÙUj×KhÚj�häjŒhæhòhè}r£(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubhÛ)�r¤}r¥(hÙUjKhÚjzhäjŒhæhçhè}r¦(hê]r§j�ahë]hì]hí]r¨Uid20r©ahð]uhòK_hóhhô]rª(hö)�r«}r¬(hÙXHow to Run the Demor­hÚj¤häjŒhæhúhè}r®(hê]hë]hì]hí]hð]uhòK_hóhhô]r¯hýXHow to Run the Demor°…�r±}r²(hÙj­hÚj«ubaubj/)�r³}r´(hÙXThe processor SDK includes pre-built binaries which may be loaded and run using the SBL with UART or using CCS with UART or ROV (UART display for newer versions and ROV for older versions). To run using UART, hook up to the board using UART and run the .out file.rµhÚj¤häjŒhæj3hè}r¶(hê]hë]hì]hí]hð]uhòKahóhhô]r·hýXThe processor SDK includes pre-built binaries which may be loaded and run using the SBL with UART or using CCS with UART or ROV (UART display for newer versions and ROV for older versions). To run using UART, hook up to the board using UART and run the .out file.r¸…�r¹}rº(hÙjµhÚj³ubaubj)�r»}r¼(hÙX).. Image:: ../images/Posix-demo-uart.PNG hÚj¤häjŒhæjhè}r½(UuriX"rtos/../images/Posix-demo-uart.PNGr¾hí]hì]hê]hë]j}r¿U*j¾shð]uhòKghóhhô]ubj/)�rÀ}rÁ(hÙX÷To run using CCS, use the following steps. Each binary has an associated \\*.rov.xs file located in the same directory--enabling the CCS ROV tool. Newer versions will display directly to the UART console and any steps involving ROV may be skipped.hÚj¤häjŒhæj3hè}rÂ(hê]hë]hì]hí]hð]uhòKhhóhhô]rÃhýXöTo run using CCS, use the following steps. Each binary has an associated \*.rov.xs file located in the same directory--enabling the CCS ROV tool. Newer versions will display directly to the UART console and any steps involving ROV may be skipped.rÄ…�rÅ}rÆ(hÙX÷To run using CCS, use the following steps. Each binary has an associated \\*.rov.xs file located in the same directory--enabling the CCS ROV tool. Newer versions will display directly to the UART console and any steps involving ROV may be skipped.hÚjÀubaubjË)�rÇ}rÈ(hÙXë/processor_sdk_rtos__2_00_xx_xx/demos/posix-smp/bin///debug/dhry.out /processor_sdk_rtos__2_00_xx_xx/demos/posix-smp/bin///debug/dhry_pa15fg.rov.xshÚj¤häjŒhæjÎhè}rÉ(jjhí]hì]hê]hë]hð]uhòM#hóhhô]rÊhýXë/processor_sdk_rtos__2_00_xx_xx/demos/posix-smp/bin///debug/dhry.out /processor_sdk_rtos__2_00_xx_xx/demos/posix-smp/bin///debug/dhry_pa15fg.rov.xsrË…�rÌ}rÍ(hÙUhÚjÇubaubj/)�rÎ}rÏ(hÙX\For all platforms and core types, the basic procedure for running the demo will be the same:rÐhÚj¤häjŒhæj3hè}rÑ(hê]hë]hì]hí]hð]uhòKrhóhhô]rÒhýX\For all platforms and core types, the basic procedure for running the demo will be the same:rÓ…�rÔ}rÕ(hÙjÐhÚjÎubaubj¼)�rÖ}r×(hÙUhÚj¤häjŒhæj¿hè}rØ(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòKuhóhhô]rÙ(jX)�rÚ}rÛ(hÙXjUsing CCS, launch the target configuration for the EVM `CCS-Target Configurations `__. Please ensure that the target configuration will load the appropriate CCS gel files found in the emupak. Make sure all Coretex-A15 cores in the SMP cluster have an appropriate CCS gel file.hÚjÖhäjŒhæj[hè}rÜ(hê]hë]hì]hí]hð]uhòNhóhhô]rÝj/)�rÞ}rß(hÙXjUsing CCS, launch the target configuration for the EVM `CCS-Target Configurations `__. Please ensure that the target configuration will load the appropriate CCS gel files found in the emupak. Make sure all Coretex-A15 cores in the SMP cluster have an appropriate CCS gel file.hÚjÚhäjŒhæj3hè}rà(hê]hë]hì]hí]hð]uhòKuhô]rá(hýX7Using CCS, launch the target configuration for the EVM râ…�rã}rä(hÙX7Using CCS, launch the target configuration for the EVM hÚjÞubj)�rå}ræ(hÙXt`CCS-Target Configurations `__hè}rç(UnameXCCS-Target ConfigurationsjXThttp://processors.wiki.ti.com/index.php/Target_Configuration_-_Custom_Configurationshí]hì]hê]hë]hð]uhÚjÞhô]rèhýXCCS-Target Configurationsré…�rê}rë(hÙUhÚjåubahæjubhýX¿. Please ensure that the target configuration will load the appropriate CCS gel files found in the emupak. Make sure all Coretex-A15 cores in the SMP cluster have an appropriate CCS gel file.rì…�rí}rî(hÙX¿. Please ensure that the target configuration will load the appropriate CCS gel files found in the emupak. Make sure all Coretex-A15 cores in the SMP cluster have an appropriate CCS gel file.hÚjÞubeubaubjX)�rï}rð(hÙX�The default ccxml file only loads a gel on connect for some of the cores. Modify the ccxml file to load the gel for all the corresponding cores.hÚjÖhäjŒhæj[hè}rñ(hê]hë]hì]hí]hð]uhòNhóhhô]ròj/)�ró}rô(hÙX�The default ccxml file only loads a gel on connect for some of the cores. Modify the ccxml file to load the gel for all the corresponding cores.rõhÚjïhäjŒhæj3hè}rö(hê]hë]hì]hí]hð]uhòKzhô]r÷hýX�The default ccxml file only loads a gel on connect for some of the cores. Modify the ccxml file to load the gel for all the corresponding cores.rø…�rù}rú(hÙjõhÚjóubaubaubjX)�rû}rü(hÙX†In the CCS debug view, group and then connect to all cores of device that you wish to test on (i.e. - all of the clustered A15 cores).hÚjÖhäjŒhæj[hè}rý(hê]hë]hì]hí]hð]uhòNhóhhô]rþj/)�rÿ}r(hÙX†In the CCS debug view, group and then connect to all cores of device that you wish to test on (i.e. - all of the clustered A15 cores).rhÚjûhäjŒhæj3hè}r(hê]hë]hì]hí]hð]uhòK}hô]rhýX†In the CCS debug view, group and then connect to all cores of device that you wish to test on (i.e. - all of the clustered A15 cores).r…�r}r(hÙjhÚjÿubaubaubjX)�r}r(hÙX‹For each, core load the dhry.out file. The principle core should halt at main while the SMP linked cores will begin auto-running upon load.hÚjÖhäjŒhæj[hè}r (hê]hë]hì]hí]hð]uhòNhóhhô]r j/)�r }r (hÙX‹For each, core load the dhry.out file. The principle core should halt at main while the SMP linked cores will begin auto-running upon load.r hÚjhäjŒhæj3hè}r(hê]hë]hì]hí]hð]uhòKhô]rhýX‹For each, core load the dhry.out file. The principle core should halt at main while the SMP linked cores will begin auto-running upon load.r…�r}r(hÙj hÚj ubaubaubjX)�r}r(hÙX3Once all cores have been loaded, run all the cores.rhÚjÖhäjŒhæj[hè}r(hê]hë]hì]hí]hð]uhòNhóhhô]rj/)�r}r(hÙjhÚjhäjŒhæj3hè}r(hê]hë]hì]hí]hð]uhòK�hô]rhýX3Once all cores have been loaded, run all the cores.r…�r}r(hÙjhÚjubaubaubjX)�r}r (hÙX9The output will be sent to the UART console in real time.r!hÚjÖhäjŒhæj[hè}r"(hê]hë]hì]hí]hð]uhòNhóhhô]r#j/)�r$}r%(hÙj!hÚjhäjŒhæj3hè}r&(hê]hë]hì]hí]hð]uhòK‚hô]r'hýX9The output will be sent to the UART console in real time.r(…�r)}r*(hÙj!hÚj$ubaubaubjX)�r+}r,(hÙXkThe demo should not take more than a few minutes to run. You must manually halt the cores to end the demo. hÚjÖhäjŒhæj[hè}r-(hê]hë]hì]hí]hð]uhòNhóhhô]r.j/)�r/}r0(hÙXjThe demo should not take more than a few minutes to run. You must manually halt the cores to end the demo.r1hÚj+häjŒhæj3hè}r2(hê]hë]hì]hí]hð]uhòKƒhô]r3hýXjThe demo should not take more than a few minutes to run. You must manually halt the cores to end the demo.r4…�r5}r6(hÙj1hÚj/ubaubaubeubj/)�r7}r8(hÙX$If using Processor-SDK 3.0 or later,r9hÚj¤häjŒhæj3hè}r:(hê]hë]hì]hí]hð]uhòK†hóhhô]r;hýX$If using Processor-SDK 3.0 or later,r<…�r=}r>(hÙj9hÚj7ubaubj¼)�r?}r@(hÙUhÚj¤häjŒhæj¿hè}rA(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòKˆhóhhô]rBjX)�rC}rD(hÙX¾Open the ROV window (Tools > RTOS Object View (ROV)) and view the SysMin module to inspect the output of the demo. If you see the below message, please specify the XDC and SYSBIOS versions: hÚj?häjŒhæj[hè}rE(hê]hë]hì]hí]hð]uhòNhóhhô]rFj/)�rG}rH(hÙX½Open the ROV window (Tools > RTOS Object View (ROV)) and view the SysMin module to inspect the output of the demo. If you see the below message, please specify the XDC and SYSBIOS versions:rIhÚjChäjŒhæj3hè}rJ(hê]hë]hì]hí]hð]uhòKˆhô]rKhýX½Open the ROV window (Tools > RTOS Object View (ROV)) and view the SysMin module to inspect the output of the demo. If you see the below message, please specify the XDC and SYSBIOS versions:rL…�rM}rN(hÙjIhÚjGubaubaubaubj)�rO}rP(hÙX#.. Image:: ../images/Use_rov_1.jpg hÚj¤häjŒhæjhè}rQ(UuriXrtos/../images/Use_rov_1.jpgrRhí]hì]hê]hë]j}rSU*jRshð]uhòK�hóhhô]ubj)�rT}rU(hÙX#.. Image:: ../images/Use_rov_2.png hÚj¤häjŒhæjhè}rV(UuriXrtos/../images/Use_rov_2.pngrWhí]hì]hê]hë]j}rXU*jWshð]uhòK�hóhhô]ubj)�rY}rZ(hÙX$.. Image:: ../images/Posix-smp2.png hÚj¤häjŒhæjhè}r[(UuriXrtos/../images/Posix-smp2.pngr\hí]hì]hê]hë]j}r]U*j\shð]uhòK‘hóhhô]ubj/)�r^}r_(hÙX[The output buffer shown in the ROV contains the different stages of the demo's progression:r`hÚj¤häjŒhæj3hè}ra(hê]hë]hì]hí]hð]uhòK’hóhhô]rbhýX[The output buffer shown in the ROV contains the different stages of the demo's progression:rc…�rd}re(hÙj`hÚj^ubaubj¼)�rf}rg(hÙUhÚj¤häjŒhæj¿hè}rh(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòK•hóhhô]ri(jX)�rj}rk(hÙXBThe demo finds an appropriate number of iterations for the device.rlhÚjfhäjŒhæj[hè}rm(hê]hë]hì]hí]hð]uhòNhóhhô]rnj/)�ro}rp(hÙjlhÚjjhäjŒhæj3hè}rq(hê]hë]hì]hí]hð]uhòK•hô]rrhýXBThe demo finds an appropriate number of iterations for the device.rs…�rt}ru(hÙjlhÚjoubaubaubjX)�rv}rw(hÙXThe demo begins to add threads.rxhÚjfhäjŒhæj[hè}ry(hê]hë]hì]hí]hð]uhòNhóhhô]rzj/)�r{}r|(hÙjxhÚjvhäjŒhæj3hè}r}(hê]hë]hì]hí]hð]uhòK–hô]r~hýXThe demo begins to add threads.r…�r€}r�(hÙjxhÚj{ubaubaubjX)�r‚}rƒ(hÙXWThe demo concludes when adding additional threads does not further increase the DMIPS. hÚjfhäjŒhæj[hè}r„(hê]hë]hì]hí]hð]uhòNhóhhô]r…j/)�r†}r‡(hÙXVThe demo concludes when adding additional threads does not further increase the DMIPS.rˆhÚj‚häjŒhæj3hè}r‰(hê]hë]hì]hí]hð]uhòK—hô]rŠhýXVThe demo concludes when adding additional threads does not further increase the DMIPS.r‹…�rŒ}r�(hÙjˆhÚj†ubaubaubeubj/)�rŽ}r�(hÙX;The output takes the form of: "xxxxxxx iterations \*n threads; dhrystones xxxxxxxx, dmips = xxxx". In the screenshot above, moving from two threads to four threads does not appreciably improve the DMIPS, so the demo completes. This behavior is expected because the demo is only running on two cores in this example.hÚj¤häjŒhæj3hè}r�(hê]hë]hì]hí]hð]uhòKšhóhhô]r‘hýX:The output takes the form of: "xxxxxxx iterations *n threads; dhrystones xxxxxxxx, dmips = xxxx". In the screenshot above, moving from two threads to four threads does not appreciably improve the DMIPS, so the demo completes. This behavior is expected because the demo is only running on two cores in this example.r’…�r“}r”(hÙX;The output takes the form of: "xxxxxxx iterations \*n threads; dhrystones xxxxxxxx, dmips = xxxx". In the screenshot above, moving from two threads to four threads does not appreciably improve the DMIPS, so the demo completes. This behavior is expected because the demo is only running on two cores in this example.hÚjŽubaubj))�r•}r–(hÙX8- A15 cores may usually be connected to directly; on the AM572x, the M4 IPUs must first be initialized by the gel scripts (Scripts > AM572x MULTICORE initialization > IPUxSSClkEnable_API) - If the K2 demo will not run, try updating to the latest emupack by doing "Help/Check For Updates" and selecting "Keystone2 device support" update (only). There are additional instructions for configuring groups, etc. at `SMP Debug `__. - If the primary core of an SMP group will not allow running after loading the demo, try pausing the linked cores and then running all the cores in a group - For TI-RTOS documentation for enabling SMP, refer to `SMP/BIOS `__. The POSIX demo in the Processor SDK RTOS packages with C66x does not support SMP. This is a POSIX pthread demo intended to run Dhrystone on one C66x core without SMP. - Some of the DMIPS values may not be accurate, but the values will increase proportionally with the number of coreshÚj¤häNhæj,hè}r—(hê]hë]hì]hí]hð]uhòNhóhhô]r˜jQ)�r™}rš(hÙUhè}r›(jVX-hí]hì]hê]hë]hð]uhÚj•hô]rœ(jX)�r�}rž(hÙX¹A15 cores may usually be connected to directly; on the AM572x, the M4 IPUs must first be initialized by the gel scripts (Scripts > AM572x MULTICORE initialization > IPUxSSClkEnable_API)hè}rŸ(hê]hë]hì]hí]hð]uhÚj™hô]r j/)�r¡}r¢(hÙX¹A15 cores may usually be connected to directly; on the AM572x, the M4 IPUs must first be initialized by the gel scripts (Scripts > AM572x MULTICORE initialization > IPUxSSClkEnable_API)r£hÚj�häjŒhæj3hè}r¤(hê]hë]hì]hí]hð]uhòK¡hô]r¥hýX¹A15 cores may usually be connected to directly; on the AM572x, the M4 IPUs must first be initialized by the gel scripts (Scripts > AM572x MULTICORE initialization > IPUxSSClkEnable_API)r¦…�r§}r¨(hÙj£hÚj¡ubaubahæj[ubjX)�r©}rª(hÙXIf the K2 demo will not run, try updating to the latest emupack by doing "Help/Check For Updates" and selecting "Keystone2 device support" update (only). There are additional instructions for configuring groups, etc. at `SMP Debug `__.hè}r«(hê]hë]hì]hí]hð]uhÚj™hô]r¬j/)�r­}r®(hÙXIf the K2 demo will not run, try updating to the latest emupack by doing "Help/Check For Updates" and selecting "Keystone2 device support" update (only). There are additional instructions for configuring groups, etc. at `SMP Debug `__.hÚj©häjŒhæj3hè}r¯(hê]hë]hì]hí]hð]uhòK¤hô]r°(hýXÜIf the K2 demo will not run, try updating to the latest emupack by doing "Help/Check For Updates" and selecting "Keystone2 device support" update (only). There are additional instructions for configuring groups, etc. at r±…�r²}r³(hÙXÜIf the K2 demo will not run, try updating to the latest emupack by doing "Help/Check For Updates" and selecting "Keystone2 device support" update (only). There are additional instructions for configuring groups, etc. at hÚj­ubj)�r´}rµ(hÙXA`SMP Debug `__hè}r¶(UnameX SMP DebugjX1http://processors.wiki.ti.com/index.php/SMP_Debughí]hì]hê]hë]hð]uhÚj­hô]r·hýX SMP Debugr¸…�r¹}rº(hÙUhÚj´ubahæjubhýX.…�r»}r¼(hÙX.hÚj­ubeubahæj[ubjX)�r½}r¾(hÙX™If the primary core of an SMP group will not allow running after loading the demo, try pausing the linked cores and then running all the cores in a grouphè}r¿(hê]hë]hì]hí]hð]uhÚj™hô]rÀj/)�rÁ}rÂ(hÙX™If the primary core of an SMP group will not allow running after loading the demo, try pausing the linked cores and then running all the cores in a grouprÃhÚj½häjŒhæj3hè}rÄ(hê]hë]hì]hí]hð]uhòK©hô]rÅhýX™If the primary core of an SMP group will not allow running after loading the demo, try pausing the linked cores and then running all the cores in a grouprÆ…�rÇ}rÈ(hÙjÃhÚjÁubaubahæj[ubjX)�rÉ}rÊ(hÙXFor TI-RTOS documentation for enabling SMP, refer to `SMP/BIOS `__. The POSIX demo in the Processor SDK RTOS packages with C66x does not support SMP. This is a POSIX pthread demo intended to run Dhrystone on one C66x core without SMP.hè}rË(hê]hë]hì]hí]hð]uhÚj™hô]rÌj/)�rÍ}rÎ(hÙXFor TI-RTOS documentation for enabling SMP, refer to `SMP/BIOS `__. The POSIX demo in the Processor SDK RTOS packages with C66x does not support SMP. This is a POSIX pthread demo intended to run Dhrystone on one C66x core without SMP.hÚjÉhäjŒhæj3hè}rÏ(hê]hë]hì]hí]hð]uhòK¬hô]rÐ(hýX5For TI-RTOS documentation for enabling SMP, refer to rÑ…�rÒ}rÓ(hÙX5For TI-RTOS documentation for enabling SMP, refer to hÚjÍubj)�rÔ}rÕ(hÙX?`SMP/BIOS `__hè}rÖ(UnameXSMP/BIOSjX0http://processors.wiki.ti.com/index.php/SMP/BIOShí]hì]hê]hë]hð]uhÚjÍhô]r×hýXSMP/BIOSrØ…�rÙ}rÚ(hÙUhÚjÔubahæjubhýX¨. The POSIX demo in the Processor SDK RTOS packages with C66x does not support SMP. This is a POSIX pthread demo intended to run Dhrystone on one C66x core without SMP.rÛ…�rÜ}rÝ(hÙX¨. The POSIX demo in the Processor SDK RTOS packages with C66x does not support SMP. This is a POSIX pthread demo intended to run Dhrystone on one C66x core without SMP.hÚjÍubeubahæj[ubjX)�rÞ}rß(hÙXrSome of the DMIPS values may not be accurate, but the values will increase proportionally with the number of coreshè}rà(hê]hë]hì]hí]hð]uhÚj™hô]ráj/)�râ}rã(hÙXrSome of the DMIPS values may not be accurate, but the values will increase proportionally with the number of coresrähÚjÞhäjŒhæj3hè}rå(hê]hë]hì]hí]hð]uhòK±hô]ræhýXrSome of the DMIPS values may not be accurate, but the values will increase proportionally with the number of coresrç…�rè}ré(hÙjähÚjâubaubahæj[ubehæjTubaubeubhÛ)�rê}rë(hÙUjKhÚjzhäjŒhæhçhè}rì(hê]ríjahë]hì]hí]rîUid21rïahð]uhòKµhóhhô]rð(hö)�rñ}rò(hÙXHow to Build the DemoróhÚjêhäjŒhæhúhè}rô(hê]hë]hì]hí]hð]uhòKµhóhhô]rõhýXHow to Build the Demorö…�r÷}rø(hÙjóhÚjñubaubhÛ)�rù}rú(hÙUjKhÚjêhäjŒhæhçhè}rû(hê]rüXprocessor-sdk rtosrýahë]hì]hí]rþUprocessor-sdk-rtosrÿahð]uhòK¸hóhhô]r(hö)�r}r(hÙXProcessor-SDK RTOSrhÚjùhäjŒhæhúhè}r(hê]hë]hì]hí]hð]uhòK¸hóhhô]rhýXProcessor-SDK RTOSr…�r}r(hÙjhÚjubaubj/)�r }r (hÙXHTo build the project manually, first navigate to the top level makefile:r hÚjùhäjŒhæj3hè}r (hê]hë]hì]hí]hð]uhòKºhóhhô]r hýXHTo build the project manually, first navigate to the top level makefile:r…�r}r(hÙj hÚj ubaubjË)�r}r(hÙXT/processor_sdk_rtos__2_00_xx_xx/demos/posix-smp/makefilehÚjùhäjŒhæjÎhè}r(jjhí]hì]hê]hë]hð]uhòMrhóhhô]rhýXT/processor_sdk_rtos__2_00_xx_xx/demos/posix-smp/makefiler…�r}r(hÙUhÚjubaubj/)�r}r(hÙXoEdit the makefile to include the paths to BIOS, XDC, PDK packages, and the toolchains for the cores being used.rhÚjùhäjŒhæj3hè}r(hê]hë]hì]hí]hð]uhòKÀhóhhô]rhýXoEdit the makefile to include the paths to BIOS, XDC, PDK packages, and the toolchains for the cores being used.r…�r}r(hÙjhÚjubaubjË)�r }r!(hÙX]#DEPOT = #### BIOS-side dependencies #### #BIOS_INSTALL_PATH ?= $(DEPOT)\bios_n_nn_nn_nn #XDC_INSTALL_PATH ?= $(DEPOT)\xdctools_n_nn_nn_nn_core #### BIOS-side toolchains #### #TOOLCHAIN_PATH_A15 ?= $(DEPOT)\ccsv6\tools\compiler\gcc-arm-none-eabi-n_n-xxxxqn #TOOLCHAIN_PATH_M4 ?= $(DEPOT)\ccsv6\tools\compiler\ti-cgt-arm_x.x.xhÚjùhäjŒhæjÎhè}r"(jjhí]hì]hê]hë]hð]uhòMyhóhhô]r#hýX]#DEPOT = #### BIOS-side dependencies #### #BIOS_INSTALL_PATH ?= $(DEPOT)\bios_n_nn_nn_nn #XDC_INSTALL_PATH ?= $(DEPOT)\xdctools_n_nn_nn_nn_core #### BIOS-side toolchains #### #TOOLCHAIN_PATH_A15 ?= $(DEPOT)\ccsv6\tools\compiler\gcc-arm-none-eabi-n_n-xxxxqn #TOOLCHAIN_PATH_M4 ?= $(DEPOT)\ccsv6\tools\compiler\ti-cgt-arm_x.x.xr$…�r%}r&(hÙUhÚj ubaubj/)�r'}r((hÙXZNavigate to the demo directory and run "make". The steps to run the demo will be the same.r)hÚjùhäjŒhæj3hè}r*(hê]hë]hì]hí]hð]uhòKÍhóhhô]r+hýXZNavigate to the demo directory and run "make". The steps to run the demo will be the same.r,…�r-}r.(hÙj)hÚj'ubaubeubhÛ)�r/}r0(hÙUhÚjêhäjŒhæhçhè}r1(hê]hë]hì]hí]r2Uprocessor-sdk-linuxr3ahð]r4hÃauhòKÑhóhhô]r5(hö)�r6}r7(hÙXProcessor-SDK Linuxr8hÚj/häjŒhæhúhè}r9(hê]hë]hì]hí]hð]uhòKÑhóhhô]r:hýXProcessor-SDK Linuxr;…�r<}r=(hÙj8hÚj6ubaubj/)�r>}r?(hÙX°The Posix-SMP demo has been added to the Linux SDK matrix starting in Processor-SDK 3.0. Simply run the example from the Matrix and the output will be displayed on the console.r@hÚj/häjŒhæj3hè}rA(hê]hë]hì]hí]hð]uhòKÓhóhhô]rBhýX°The Posix-SMP demo has been added to the Linux SDK matrix starting in Processor-SDK 3.0. Simply run the example from the Matrix and the output will be displayed on the console.rC…�rD}rE(hÙj@hÚj>ubaubj/)�rF}rG(hÙX}For the documentation on the Linux Matrix, please see: `link `__.hÚj/häjŒhæj3hè}rH(hê]hë]hì]hí]hð]uhòK×hóhhô]rI(hýX7For the documentation on the Linux Matrix, please see: rJ…�rK}rL(hÙX7For the documentation on the Linux Matrix, please see: hÚjFubj)�rM}rN(hÙXE`link `__hè}rO(UnameXlinkjX:http://processors.wiki.ti.com/index.php/Matrix_Users_Guidehí]hì]hê]hë]hð]uhÚjFhô]rPhýXlinkrQ…�rR}rS(hÙUhÚjMubahæjubhýX.…�rT}rU(hÙX.hÚjFubeubeubeubeubhäjŒhæhçhè}rV(hê]rWX introductionrXahë]hì]hí]rYUid17rZahð]uhòKhóhhô]r[(hö)�r\}r](hÙX Introductionr^hÚjxhäjŒhæhúhè}r_(hê]hë]hì]hí]hð]uhòKhóhhô]r`hýX Introductionra…�rb}rc(hÙj^hÚj\ubaubj/)�rd}re(hÙX*This page describes the SMP/Posix demo provided in the Processor-SDK for RTOS and Linux. This demo uses Posix APIs together with a simple benchmark (Dhrystone) to automatically calculate the effective throughput of all the cores in each SMP cluster. SMP mode is only supported on Coretex-A15 cores.rfhÚjxhäjŒhæj3hè}rg(hê]hë]hì]hí]hð]uhòKhóhhô]rhhýX*This page describes the SMP/Posix demo provided in the Processor-SDK for RTOS and Linux. This demo uses Posix APIs together with a simple benchmark (Dhrystone) to automatically calculate the effective throughput of all the cores in each SMP cluster. SMP mode is only supported on Coretex-A15 cores.ri…�rj}rk(hÙjfhÚjdubaubj/)�rl}rm(hÙXThis demo runs on:rnhÚjxhäjŒhæj3hè}ro(hê]hë]hì]hí]hð]uhòK hóhhô]rphýXThis demo runs on:rq…�rr}rs(hÙjnhÚjlubaubjQ)�rt}ru(hÙUhÚjxhäjŒhæjThè}rv(jVX-hí]hì]hê]hë]hð]uhòKhóhhô]rw(jX)�rx}ry(hÙXAM572x (A15, C66, M4)rzhÚjthäjŒhæj[hè}r{(hê]hë]hì]hí]hð]uhòNhóhhô]r|j/)�r}}r~(hÙjzhÚjxhäjŒhæj3hè}r(hê]hë]hì]hí]hð]uhòKhô]r€hýXAM572x (A15, C66, M4)r�…�r‚}rƒ(hÙjzhÚj}ubaubaubjX)�r„}r…(hÙX AM437x (A9)r†hÚjthäjŒhæj[hè}r‡(hê]hë]hì]hí]hð]uhòNhóhhô]rˆj/)�r‰}rŠ(hÙj†hÚj„häjŒhæj3hè}r‹(hê]hë]hì]hí]hð]uhòKhô]rŒhýX AM437x (A9)r�…�rŽ}r�(hÙj†hÚj‰ubaubaubjX)�r�}r‘(hÙX AM335x (A8)r’hÚjthäjŒhæj[hè}r“(hê]hë]hì]hí]hð]uhòNhóhhô]r”j/)�r•}r–(hÙj’hÚj�häjŒhæj3hè}r—(hê]hë]hì]hí]hð]uhòKhô]r˜hýX AM335x (A8)r™…�rš}r›(hÙj’hÚj•ubaubaubjX)�rœ}r�(hÙXK2H (A15, C66)ržhÚjthäjŒhæj[hè}rŸ(hê]hë]hì]hí]hð]uhòNhóhhô]r j/)�r¡}r¢(hÙjžhÚjœhäjŒhæj3hè}r£(hê]hë]hì]hí]hð]uhòKhô]r¤hýXK2H (A15, C66)r¥…�r¦}r§(hÙjžhÚj¡ubaubaubjX)�r¨}r©(hÙXK2E (A15, C66)rªhÚjthäjŒhæj[hè}r«(hê]hë]hì]hí]hð]uhòNhóhhô]r¬j/)�r­}r®(hÙjªhÚj¨häjŒhæj3hè}r¯(hê]hë]hì]hí]hð]uhòKhô]r°hýXK2E (A15, C66)r±…�r²}r³(hÙjªhÚj­ubaubaubjX)�r´}rµ(hÙXK2G (A15, C66)r¶hÚjthäjŒhæj[hè}r·(hê]hë]hì]hí]hð]uhòNhóhhô]r¸j/)�r¹}rº(hÙj¶hÚj´häjŒhæj3hè}r»(hê]hë]hì]hí]hð]uhòKhô]r¼hýXK2G (A15, C66)r½…�r¾}r¿(hÙj¶hÚj¹ubaubaubjX)�rÀ}rÁ(hÙXK2L (A15, C66)rÂhÚjthäjŒhæj[hè}rÃ(hê]hë]hì]hí]hð]uhòNhóhhô]rÄj/)�rÅ}rÆ(hÙjÂhÚjÀhäjŒhæj3hè}rÇ(hê]hë]hì]hí]hð]uhòKhô]rÈhýXK2L (A15, C66)rÉ…�rÊ}rË(hÙjÂhÚjÅubaubaubjX)�rÌ}rÍ(hÙX C6678 (C66)rÎhÚjthäjŒhæj[hè}rÏ(hê]hë]hì]hí]hð]uhòNhóhhô]rÐj/)�rÑ}rÒ(hÙjÎhÚjÌhäjŒhæj3hè}rÓ(hê]hë]hì]hí]hð]uhòKhô]rÔhýX C6678 (C66)rÕ…�rÖ}r×(hÙjÎhÚjÑubaubaubjX)�rØ}rÙ(hÙX C6657 (C66) hÚjthäjŒhæj[hè}rÚ(hê]hë]hì]hí]hð]uhòNhóhhô]rÛj/)�rÜ}rÝ(hÙX C6657 (C66)rÞhÚjØhäjŒhæj3hè}rß(hê]hë]hì]hí]hð]uhòKhô]ràhýX C6657 (C66)rá…�râ}rã(hÙjÞhÚjÜubaubaubeubj/)�rä}rå(hÙX\The sections below provide details of the application as well as build and run instructions.ræhÚjxhäjŒhæj3hè}rç(hê]hë]hì]hí]hð]uhòKhóhhô]rèhýX\The sections below provide details of the application as well as build and run instructions.ré…�rê}rë(hÙjæhÚjäubaubeubhäjŒhæj>hè}rì(hê]UlevelKhí]hì]ríjZaUsourcejŒhë]hð]UlineKUtypejAuhòKhóhhô]rîj/)�rï}rð(hÙX/Duplicate implicit target name: "introduction".hè}rñ(hê]hë]hì]hí]hð]uhÚjvhô]ròhýX/Duplicate implicit target name: "introduction".ró…�rô}rõ(hÙUhÚjïubahæj3ubaubj¬)�rö}r÷(hÙUhÚj“häjŒhæj>hè}rø(hê]UlevelKhí]hì]rùj˜aUsourcejŒhë]hð]UlineKUtypejAuhòKhóhhô]rúj/)�rû}rü(hÙX/Duplicate implicit target name: "requirements".hè}rý(hê]hë]hì]hí]hð]uhÚjöhô]rþhýX/Duplicate implicit target name: "requirements".rÿ…�r}r(hÙUhÚjûubahæj3ubaubj¬)�r}r(hÙUhÚjùhäjŒhæj>hè}r(hê]UlevelKhí]hì]rjÿaUsourcejŒhë]hð]UlineK-UtypejAuhòK-hóhhô]rj/)�r}r(hÙX2Duplicate implicit target name: "software design".hè}r (hê]hë]hì]hí]hð]uhÚjhô]r hýX2Duplicate implicit target name: "software design".r …�r }r (hÙUhÚjubahæj3ubaubj¬)�r}r(hÙUhÚj¤häjŒhæj>hè}r(hê]UlevelKhí]hì]rj©aUsourcejŒhë]hð]UlineK_UtypejAuhòK_hóhhô]rj/)�r}r(hÙX6Duplicate implicit target name: "how to run the demo".hè}r(hê]hë]hì]hí]hð]uhÚjhô]rhýX6Duplicate implicit target name: "how to run the demo".r…�r}r(hÙUhÚjubahæj3ubaubj¬)�r}r(hÙUhÚjêhäjŒhæj>hè}r(hê]UlevelKhí]hì]rjïaUsourcejŒhë]hð]UlineKµUtypejAuhòKµhóhhô]rj/)�r}r (hÙX8Duplicate implicit target name: "how to build the demo".hè}r!(hê]hë]hì]hí]hð]uhÚjhô]r"hýX8Duplicate implicit target name: "how to build the demo".r#…�r$}r%(hÙUhÚjubahæj3ubaubj¬)�r&}r'(hÙUhÚj/häXUinternal padding after source/rtos/Examples_and_Demonstrations/Posix_SMP_Demo.rst.incr(hæj>hè}r)(hê]UlevelKhí]hì]UsourcejŒhë]hð]UlineKÚUtypejfuhòKÜhóhhô]r*(j/)�r+}r,(hÙX;Content block expected for the "raw" directive; none found.hè}r-(hê]hë]hì]hí]hð]uhÚj&hô]r.hýX;Content block expected for the "raw" directive; none found.r/…�r0}r1(hÙUhÚj+ubahæj3ubjË)�r2}r3(hÙX.. raw:: html hè}r4(jjhí]hì]hê]hë]hð]uhÚj&hô]r5hýX.. raw:: html r6…�r7}r8(hÙUhÚj2ubahæjÎubeubj¬)�r9}r:(hÙUhÚhÛ)�r;}r<(hÙUjKhÚhÛ)�r=}r>(hÙUhÚhhähåhæhçhè}r?(hê]hë]hì]hí]r@Uaudio-benchmark-starterkitrAahð]rBhsauhòKhóhhô]rC(hö)�rD}rE(hÙXAudio Benchmark StarterkitrFhÚj=hähåhæhúhè}rG(hê]hë]hì]hí]hð]uhòKhóhhô]rHhýXAudio Benchmark StarterkitrI…�rJ}rK(hÙjFhÚjDubaubj )�rL}rM(hÙXUhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Audio_Benchmark_StarterkithÚj=häj XJsource/rtos/Examples_and_Demonstrations/Audio_Benchmark_Starterkit.rst.incrN…�rO}rPbhæjhè}rQ(jjhí]hì]hê]hë]hð]uhòKhóhhô]rRhýXUhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Audio_Benchmark_StarterkitrS…�rT}rU(hÙUhÚjLubaubj;hÛ)�rV}rW(hÙUjKhÚj=häjOhæhçhè}rX(hê]rYXsoftware featuresrZahë]hì]hí]r[Usoftware-featuresr\ahð]uhòKhóhhô]r](hö)�r^}r_(hÙXSoftware Featuresr`hÚjVhäjOhæhúhè}ra(hê]hë]hì]hí]hð]uhòKhóhhô]rbhýXSoftware Featuresrc…�rd}re(hÙj`hÚj^ubaubjQ)�rf}rg(hÙUhÚjVhäjOhæjThè}rh(jVX-hí]hì]hê]hë]hð]uhòKhóhhô]ri(jX)�rj}rk(hÙX;Benchmark applications for core signal processing functionsrlhÚjfhäjOhæj[hè}rm(hê]hë]hì]hí]hð]uhòNhóhhô]rnj/)�ro}rp(hÙjlhÚjjhäjOhæj3hè}rq(hê]hë]hì]hí]hð]uhòKhô]rrhýX;Benchmark applications for core signal processing functionsrs…�rt}ru(hÙjlhÚjoubaubaubjX)�rv}rw(hÙX6Makefile and CCS Project scripts to build applicationsrxhÚjfhäjOhæj[hè}ry(hê]hë]hì]hí]hð]uhòNhóhhô]rzj/)�r{}r|(hÙjxhÚjvhäjOhæj3hè}r}(hê]hë]hì]hí]hð]uhòKhô]r~hýX6Makefile and CCS Project scripts to build applicationsr…�r€}r�(hÙjxhÚj{ubaubaubjX)�r‚}rƒ(hÙXCSD card bootable binaries [Supported on SOCs that support SD boot] hÚjfhäjOhæj[hè}r„(hê]hë]hì]hí]hð]uhòNhóhhô]r…j/)�r†}r‡(hÙXBSD card bootable binaries [Supported on SOCs that support SD boot]rˆhÚj‚häjOhæj3hè}r‰(hê]hë]hì]hí]hð]uhòKhô]rŠhýXBSD card bootable binaries [Supported on SOCs that support SD boot]r‹…�rŒ}r�(hÙjˆhÚj†ubaubaubeubeubhÛ)�rŽ}r�(hÙUjKhÚj=häjOhæhçhè}r�(hê]r‘Xdirectory structurer’ahë]hì]hí]r“Udirectory-structurer”ahð]uhòK!hóhhô]r•(hö)�r–}r—(hÙXDirectory Structurer˜hÚjŽhäjOhæhúhè}r™(hê]hë]hì]hí]hð]uhòK!hóhhô]ršhýXDirectory Structurer›…�rœ}r�(hÙj˜hÚj–ubaubj/)�rž}rŸ(hÙXdThe audio benchmark starterkit is located in the Processor SDK RTOS release under the directory pathr hÚjŽhäjOhæj3hè}r¡(hê]hë]hì]hí]hð]uhòK#hóhhô]r¢hýXdThe audio benchmark starterkit is located in the Processor SDK RTOS release under the directory pathr£…�r¤}r¥(hÙj hÚjžubaubjË)�r¦}r§(hÙXW\processor_sdk_rtos__x_xx_xx_xx\demos\audio-benchmark-starterkithÚjŽhäjOhæjÎhè}r¨(jjhí]hì]hê]hë]hð]uhòM¿hóhhô]r©hýXW\processor_sdk_rtos__x_xx_xx_xx\demos\audio-benchmark-starterkitrª…�r«}r¬(hÙUhÚj¦ubaubjÎ)�r­}r®(hÙUhÚjŽhäjOhæjÑhè}r¯(hê]hë]hì]hí]hð]uhòK*hóhhô]r°(jÔ)�r±}r²(hÙUj×KhÚj­häjOhæhòhè}r³(hê]hë]hì]hí]hð]uhòKhóhhô]ubjÔ)�r´}rµ(hÙXWThe directory structure for the audio benchmark starterkit is shown in the image below.r¶j×KhÚj­häjOhæhòhè}r·(hê]hë]hì]hí]hð]uhòK,hóhhô]r¸hýXWThe directory structure for the audio benchmark starterkit is shown in the image below.r¹…�rº}r»(hÙj¶hÚj´ubaubeubj/)�r¼}r½(hÙXlDetailed description of the directory structure is given below: .. Image:: ../images/Audben_dirStructure.pngr¾hÚjŽhäjOhæj3hè}r¿(hê]hë]hì]hí]hð]uhòK.hóhhô]rÀhýXlDetailed description of the directory structure is given below: .. Image:: ../images/Audben_dirStructure.pngrÁ…�rÂ}rÃ(hÙj¾hÚj¼ubaubjQ)�rÄ}rÅ(hÙUhÚjŽhäjOhæjThè}rÆ(jVX-hí]hì]hê]hë]hð]uhòK1hóhhô]rÇ(jX)�rÈ}rÉ(hÙXPprebuilt-binaries - directory contains prebuilt out files to run the benchmarks.rÊhÚjÄhäjOhæj[hè}rË(hê]hë]hì]hí]hð]uhòNhóhhô]rÌj/)�rÍ}rÎ(hÙjÊhÚjÈhäjOhæj3hè}rÏ(hê]hë]hì]hí]hð]uhòK1hô]rÐhýXPprebuilt-binaries - directory contains prebuilt out files to run the benchmarks.rÑ…�rÒ}rÓ(hÙjÊhÚjÍubaubaubjX)�rÔ}rÕ(hÙXDbootimages - SD card boot files to run the benchmarks using SD boot.rÖhÚjÄhäjOhæj[hè}r×(hê]hë]hì]hí]hð]uhòNhóhhô]rØj/)�rÙ}rÚ(hÙjÖhÚjÔhäjOhæj3hè}rÛ(hê]hë]hì]hí]hð]uhòK2hô]rÜhýXDbootimages - SD card boot files to run the benchmarks using SD boot.rÝ…�rÞ}rß(hÙjÖhÚjÙubaubaubjX)�rà}rá(hÙX^docs - directory contains ReadMe, Quick start guide and the software manifest for the package.râhÚjÄhäjOhæj[hè}rã(hê]hë]hì]hí]hð]uhòNhóhhô]räj/)�rå}ræ(hÙjâhÚjàhäjOhæj3hè}rç(hê]hë]hì]hí]hð]uhòK3hô]rèhýX^docs - directory contains ReadMe, Quick start guide and the software manifest for the package.ré…�rê}rë(hÙjâhÚjåubaubaubjX)�rì}rí(hÙXsscripts - directory contains .txt script files that is used by BenchmarkProjectCreate script to create CCS projectshÚjÄhäjOhæj[hè}rî(hê]hë]hì]hí]hð]uhòNhóhhô]rïj/)�rð}rñ(hÙXsscripts - directory contains .txt script files that is used by BenchmarkProjectCreate script to create CCS projectsròhÚjìhäjOhæj3hè}ró(hê]hë]hì]hí]hð]uhòK4hô]rôhýXsscripts - directory contains .txt script files that is used by BenchmarkProjectCreate script to create CCS projectsrõ…�rö}r÷(hÙjòhÚjðubaubaubjX)�rø}rù(hÙX src - common - Contains linker command file and logging functions used by all benchmark tests. - singlePrecision_FFT - Source files for benchmark app for FFT - singlePrecision_FIR - Source files for benchmark app for FIR - singlePrecision_IIR - Source files for benchmark app for IIR hÚjÄhäjOhæj[hè}rú(hê]hë]hì]hí]hð]uhòNhóhhô]rûj/)�rü}rý(hÙXsrc - common - Contains linker command file and logging functions used by all benchmark tests. - singlePrecision_FFT - Source files for benchmark app for FFT - singlePrecision_FIR - Source files for benchmark app for FIR - singlePrecision_IIR - Source files for benchmark app for IIRrþhÚjøhäjOhæj3hè}rÿ(hê]hë]hì]hí]hð]uhòK6hô]rhýXsrc - common - Contains linker command file and logging functions used by all benchmark tests. - singlePrecision_FFT - Source files for benchmark app for FFT - singlePrecision_FIR - Source files for benchmark app for FIR - singlePrecision_IIR - Source files for benchmark app for IIRr…�r}r(hÙjþhÚjüubaubaubeubeubhÛ)�r}r(hÙUhÚj=häjOhæhçhè}r(hê]hë]hì]hí]rUsoftware-dependenciesrahð]r h9auhòK=hóhhô]r (hö)�r }r (hÙXSoftware Dependenciesr hÚjhäjOhæhúhè}r(hê]hë]hì]hí]hð]uhòK=hóhhô]rhýXSoftware Dependenciesr…�r}r(hÙj hÚj ubaubjQ)�r}r(hÙUhÚjhäjOhæjThè}r(jVX-hí]hì]hê]hë]hð]uhòK?hóhhô]r(jX)�r}r(hÙXR`Processor SDK RTOS v3.3 and later `__rhÚjhäjOhæj[hè}r(hê]hë]hì]hí]hð]uhòNhóhhô]rj/)�r}r(hÙjhÚjhäjOhæj3hè}r(hê]hë]hì]hí]hð]uhòK?hô]rj)�r }r!(hÙjhè}r"(UnameX!Processor SDK RTOS v3.3 and laterjX*index_overview.html#processor-sdk-for-rtoshí]hì]hê]hë]hð]uhÚjhô]r#hýX!Processor SDK RTOS v3.3 and laterr$…�r%}r&(hÙUhÚj ubahæjubaubaubjX)�r'}r((hÙXa`Code Composer Studio IDE Environment v7 and later `__ hÚjhäjOhæj[hè}r)(hê]hë]hì]hí]hð]uhòNhóhhô]r*j/)�r+}r,(hÙX``Code Composer Studio IDE Environment v7 and later `__r-hÚj'häjOhæj3hè}r.(hê]hë]hì]hí]hð]uhòK@hô]r/j)�r0}r1(hÙj-hè}r2(UnameX1Code Composer Studio IDE Environment v7 and laterjX(index_overview.html#code-composer-studiohí]hì]hê]hë]hð]uhÚj+hô]r3hýX1Code Composer Studio IDE Environment v7 and laterr4…�r5}r6(hÙUhÚj0ubahæjubaubaubeubj))�r7}r8(hÙXÖ**For correct version of Code Composer Studio to download, please refer to the `Release Notes `__ corresponding to the Processor SDK RTOS version that you have installed**hÚjhäjOhæj,hè}r9(hê]hë]hì]hí]hð]uhòNhóhhô]r:j/)�r;}r<(hÙXÖ**For correct version of Code Composer Studio to download, please refer to the `Release Notes `__ corresponding to the Processor SDK RTOS version that you have installed**r=hÚj7häjOhæj3hè}r>(hê]hë]hì]hí]hð]uhòKChô]r?jW)�r@}rA(hÙj=hè}rB(hê]hë]hì]hí]hð]uhÚj;hô]rChýXÒFor correct version of Code Composer Studio to download, please refer to the `Release Notes `__ corresponding to the Processor SDK RTOS version that you have installedrD…�rE}rF(hÙUhÚj@ubahæj_ubaubaubeubhÛ)�rG}rH(hÙUhÚj=häjOhæhçhè}rI(hê]hë]hì]hí]rJUsupported-hardwarerKahð]rLhjauhòKIhóhhô]rM(hö)�rN}rO(hÙXSupported HardwarerPhÚjGhäjOhæhúhè}rQ(hê]hë]hì]hí]hð]uhòKIhóhhô]rRhýXSupported HardwarerS…�rT}rU(hÙjPhÚjNubaubj/)�rV}rW(hÙX;**Platforms supported in Processor SDK RTOS 3.3 and later**rXhÚjGhäjOhæj3hè}rY(hê]hë]hì]hí]hð]uhòKKhóhhô]rZjW)�r[}r\(hÙjXhè}r](hê]hë]hì]hí]hð]uhÚjVhô]r^hýX7Platforms supported in Processor SDK RTOS 3.3 and laterr_…�r`}ra(hÙUhÚj[ubahæj_ubaubjQ)�rb}rc(hÙUhÚjGhäjOhæjThè}rd(jVX-hí]hì]hê]hë]hð]uhòKMhóhhô]re(jX)�rf}rg(hÙX+`K2G EVM `__rhhÚjbhäjOhæj[hè}ri(hê]hë]hì]hí]hð]uhòNhóhhô]rjj/)�rk}rl(hÙjhhÚjfhäjOhæj3hè}rm(hê]hë]hì]hí]hð]uhòKMhô]rnj)�ro}rp(hÙjhhè}rq(UnameXK2G EVMjXhttp://www.ti.com/tool/EVMK2Ghí]hì]hê]hë]hð]uhÚjkhô]rrhýXK2G EVMrs…�rt}ru(hÙUhÚjoubahæjubaubaubjX)�rv}rw(hÙX6`AM572x GP EVM `__rxhÚjbhäjOhæj[hè}ry(hê]hë]hì]hí]hð]uhòNhóhhô]rzj/)�r{}r|(hÙjxhÚjvhäjOhæj3hè}r}(hê]hë]hì]hí]hð]uhòKNhô]r~j)�r}r€(hÙjxhè}r�(UnameX AM572x GP EVMjX"http://www.ti.com/tool/tmdsevm572xhí]hì]hê]hë]hð]uhÚj{hô]r‚hýX AM572x GP EVMrƒ…�r„}r…(hÙUhÚjubahæjubaubaubjX)�r†}r‡(hÙX4`AM571x IDK `__ hÚjbhäjOhæj[hè}rˆ(hê]hë]hì]hí]hð]uhòNhóhhô]r‰j/)�rŠ}r‹(hÙX3`AM571x IDK `__rŒhÚj†häjOhæj3hè}r�(hê]hë]hì]hí]hð]uhòKOhô]rŽj)�r�}r�(hÙjŒhè}r‘(UnameX AM571x IDKjX"http://www.ti.com/tool/TMDXIDK5718hí]hì]hê]hë]hð]uhÚjŠhô]r’hýX AM571x IDKr“…�r”}r•(hÙUhÚj�ubahæjubaubaubeubj/)�r–}r—(hÙX/**Platforms planned in Processor SDK RTOS 4.0**r˜hÚjGhäjOhæj3hè}r™(hê]hë]hì]hí]hð]uhòKQhóhhô]ršjW)�r›}rœ(hÙj˜hè}r�(hê]hë]hì]hí]hð]uhÚj–hô]ržhýX+Platforms planned in Processor SDK RTOS 4.0rŸ…�r }r¡(hÙUhÚj›ubahæj_ubaubjQ)�r¢}r£(hÙUhÚjGhäjOhæjThè}r¤(jVX-hí]hì]hê]hë]hð]uhòKShóhhô]r¥(jX)�r¦}r§(hÙX=`OMAPL138/C6748 LCDK `__r¨hÚj¢häjOhæj[hè}r©(hê]hë]hì]hí]hð]uhòNhóhhô]rªj/)�r«}r¬(hÙj¨hÚj¦häjOhæj3hè}r­(hê]hë]hì]hí]hð]uhòKShô]r®j)�r¯}r°(hÙj¨hè}r±(UnameXOMAPL138/C6748 LCDKjX#http://www.ti.com/tool/tmdslcdk6748hí]hì]hê]hë]hð]uhÚj«hô]r²hýXOMAPL138/C6748 LCDKr³…�r´}rµ(hÙUhÚj¯ubahæjubaubaubjX)�r¶}r·(hÙXU`K2H EVM rev 1.1 and later `__hÚj¢häjOhæj[hè}r¸(hê]hë]hì]hí]hð]uhòNhóhhô]r¹j/)�rº}r»(hÙXU`K2H EVM rev 1.1 and later `__r¼hÚj¶häjOhæj3hè}r½(hê]hë]hì]hí]hð]uhòKThô]r¾j)�r¿}rÀ(hÙj¼hè}rÁ(UnameXK2H EVM rev 1.1 and laterjX5http://www2.advantech.com/Support/TI-EVM/EVMK2HX.aspxhí]hì]hê]hë]hð]uhÚjºhô]rÂhýXK2H EVM rev 1.1 and laterrÃ…�rÄ}rÅ(hÙUhÚj¿ubahæjubaubaubjX)�rÆ}rÇ(hÙXu`K2E EVMs rev 1.0.2.0 and later `__hÚj¢häjOhæj[hè}rÈ(hê]hë]hì]hí]hð]uhòNhóhhô]rÉj/)�rÊ}rË(hÙXu`K2E EVMs rev 1.0.2.0 and later `__rÌhÚjÆhäjOhæj3hè}rÍ(hê]hë]hì]hí]hð]uhòKVhô]rÎj)�rÏ}rÐ(hÙjÌhè}rÑ(UnameXK2E EVMs rev 1.0.2.0 and laterjXPhttps://www.einfochips.com/index.php/partnerships/texas-instruments/k2e-evm.htmlhí]hì]hê]hë]hð]uhÚjÊhô]rÒhýXK2E EVMs rev 1.0.2.0 and laterrÓ…�rÔ}rÕ(hÙUhÚjÏubahæjubaubaubjX)�rÖ}r×(hÙX2`C6678 EVM `__rØhÚj¢häjOhæj[hè}rÙ(hê]hë]hì]hí]hð]uhòNhóhhô]rÚj/)�rÛ}rÜ(hÙjØhÚjÖhäjOhæj3hè}rÝ(hê]hë]hì]hí]hð]uhòKXhô]rÞj)�rß}rà(hÙjØhè}rá(UnameX C6678 EVMjX"http://www.ti.com/tool/tmdsevm6678hí]hì]hê]hë]hð]uhÚjÛhô]râhýX C6678 EVMrã…�rä}rå(hÙUhÚjßubahæjubaubaubjX)�ræ}rç(hÙX3`C6657 EVM `__ hÚj¢häjOhæj[hè}rè(hê]hë]hì]hí]hð]uhòNhóhhô]réj/)�rê}rë(hÙX2`C6657 EVM `__rìhÚjæhäjOhæj3hè}rí(hê]hë]hì]hí]hð]uhòKYhô]rîj)�rï}rð(hÙjìhè}rñ(UnameX C6657 EVMjX"http://www.ti.com/tool/tmdsevm6657hí]hì]hê]hë]hð]uhÚjêhô]ròhýX C6657 EVMró…�rô}rõ(hÙUhÚjïubahæjubaubaubeubeubhÛ)�rö}r÷(hÙUhÚj=häjOhæhçhè}rø(hê]hë]hì]hí]rùUquickstart-with-how-to-videorúahð]rûhªauhòK\hóhhô]rü(hö)�rý}rþ(hÙXQuickStart with How-To-VideorÿhÚjöhäjOhæhúhè}r(hê]hë]hì]hí]hð]uhòK\hóhhô]rhýXQuickStart with How-To-Videor…�r}r(hÙjÿhÚjýubaubj/)�r}r(hÙXFor an easy and visual experience to build and run the benchmark tests, we have created a short How to video that demonstrates how the Benchmark Starterkit can be built and run on C66x DSP on the K2G EVM which you can check out from the link provided below:rhÚjöhäjOhæj3hè}r(hê]hë]hì]hí]hð]uhòK^hóhhô]r hýXFor an easy and visual experience to build and run the benchmark tests, we have created a short How to video that demonstrates how the Benchmark Starterkit can be built and run on C66x DSP on the K2G EVM which you can check out from the link provided below:r …�r }r (hÙjhÚjubaubjQ)�r }r(hÙUhÚjöhäjOhæjThè}r(jVX-hí]hì]hê]hë]hð]uhòKchóhhô]rjX)�r}r(hÙX’`Demonstration of Audio Benchmark starterkit demo on 66AK2G02 GP EVM `__ hÚj häjOhæj[hè}r(hê]hë]hì]hí]hð]uhòNhóhhô]rj/)�r}r(hÙX‘`Demonstration of Audio Benchmark starterkit demo on 66AK2G02 GP EVM `__rhÚjhäjOhæj3hè}r(hê]hë]hì]hí]hð]uhòKchô]rj)�r}r(hÙjhè}r(UnameXCDemonstration of Audio Benchmark starterkit demo on 66AK2G02 GP EVMjXGhttps://training.ti.com/66ak2gx-gp-evm-audio-benchmark-starter-kit-demohí]hì]hê]hë]hð]uhÚjhô]rhýXCDemonstration of Audio Benchmark starterkit demo on 66AK2G02 GP EVMr…�r}r (hÙUhÚjubahæjubaubaubaubeubhÛ)�r!}r"(hÙUhÚj=häjOhæhçhè}r#(hê]hë]hì]hí]r$Uhow-to-build-the-benchmarksr%ahð]r&h^auhòKghóhhô]r'(hö)�r(}r)(hÙXHow to Build the Benchmarksr*hÚj!häjOhæhúhè}r+(hê]hë]hì]hí]hð]uhòKghóhhô]r,hýXHow to Build the Benchmarksr-…�r.}r/(hÙj*hÚj(ubaubj/)�r0}r1(hÙXhThe benchmark starterkit is designed to build with makefiles as well as with Code Composer Studio (CCS) IDE Environment. Both the approaches requires developers to setup the Processor SDK RTOS development environment. Developers can use either approach based on their familiarity with the chosen build environment. Let us take a closer look at both approaches.r2hÚj!häjOhæj3hè}r3(hê]hë]hì]hí]hð]uhòKihóhhô]r4hýXhThe benchmark starterkit is designed to build with makefiles as well as with Code Composer Studio (CCS) IDE Environment. Both the approaches requires developers to setup the Processor SDK RTOS development environment. Developers can use either approach based on their familiarity with the chosen build environment. Let us take a closer look at both approaches.r5…�r6}r7(hÙj2hÚj0ubaubhÛ)�r8}r9(hÙUhÚj!häjOhæhçhè}r:(hê]hë]hì]hí]r;Uusing-makefiler<ahð]r=hauhòKqhóhhô]r>(hö)�r?}r@(hÙXUsing MakefilerAhÚj8häjOhæhúhè}rB(hê]hë]hì]hí]hð]uhòKqhóhhô]rChýXUsing MakefilerD…�rE}rF(hÙjAhÚj?ubaubj/)�rG}rH(hÙX8**Step1 : Setup Processor SDK RTOS build Environment.**rIhÚj8häjOhæj3hè}rJ(hê]hë]hì]hí]hð]uhòKshóhhô]rKjW)�rL}rM(hÙjIhè}rN(hê]hë]hì]hí]hð]uhÚjGhô]rOhýX4Step1 : Setup Processor SDK RTOS build Environment.rP…�rQ}rR(hÙUhÚjLubahæj_ubaubj/)�rS}rT(hÙX­Developers are required to setup the Processor SDK RTOS build environment as described in :ref:`Processor SDK RTOS Setup environment `hÚj8häjOhæj3hè}rU(hê]hë]hì]hí]hð]uhòKuhóhhô]rV(hýXZDevelopers are required to setup the Processor SDK RTOS build environment as described in rW…�rX}rY(hÙXZDevelopers are required to setup the Processor SDK RTOS build environment as described in hÚjSubcsphinx.addnodes pending_xref rZ)�r[}r\(hÙXS:ref:`Processor SDK RTOS Setup environment `r]hÚjShäjOhæU pending_xrefr^hè}r_(UreftypeXrefj¢ ˆj£ X%build-the-sdk-setup-environment-labelU refdomainXstdr`hí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòKuhô]racdocutils.nodes inline rb)�rc}rd(hÙj]hè}re(hê]hë]rf(j­ j`Xstd-refrgehì]hí]hð]uhÚj[hô]rhhýX$Processor SDK RTOS Setup environmentri…�rj}rk(hÙUhÚjcubahæUinlinerlubaubeubj¼)�rm}rn(hÙUhÚj8häjOhæj¿hè}ro(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòKxhóhhô]rp(jX)�rq}rr(hÙX6**set SDK_INSTALL_PATH = C:\\ti\\**rshÚjmhäjOhæj[hè}rt(hê]hë]hì]hí]hð]uhòNhóhhô]ruj/)�rv}rw(hÙjshÚjqhäjOhæj3hè}rx(hê]hë]hì]hí]hð]uhòKxhô]ryjW)�rz}r{(hÙX6**set SDK_INSTALL_PATH = C:\\ti\\**hè}r|(hê]hë]hì]hí]hð]uhÚjvhô]r}hýX0set SDK_INSTALL_PATH = C:\ti\r~…�r}r€(hÙUhÚjzubahæj_ubaubaubjX)�r�}r‚(hÙX**setupenv.bat** hÚjmhäjOhæj[hè}rƒ(hê]hë]hì]hí]hð]uhòNhóhhô]r„j/)�r…}r†(hÙX**setupenv.bat**r‡hÚj�häjOhæj3hè}rˆ(hê]hë]hì]hí]hð]uhòKyhô]r‰jW)�rŠ}r‹(hÙj‡hè}rŒ(hê]hë]hì]hí]hð]uhÚj…hô]r�hýX setupenv.batrŽ…�r�}r�(hÙUhÚjŠubahæj_ubaubaubeubj))�r‘}r’(hÙXïIf developers install CCS or Processor SDK RTOS under Custom path then they need to refer to the setup instructions described under :ref:`Setup environment when installing to a custom path `hÚj8häjOhæj,hè}r“(hê]hë]hì]hí]hð]uhòNhóhhô]r”j/)�r•}r–(hÙXïIf developers install CCS or Processor SDK RTOS under Custom path then they need to refer to the setup instructions described under :ref:`Setup environment when installing to a custom path `hÚj‘häjOhæj3hè}r—(hê]hë]hì]hí]hð]uhòK|hô]r˜(hýX„If developers install CCS or Processor SDK RTOS under Custom path then they need to refer to the setup instructions described under r™…�rš}r›(hÙX„If developers install CCS or Processor SDK RTOS under Custom path then they need to refer to the setup instructions described under hÚj•ubjZ)�rœ}r�(hÙXk:ref:`Setup environment when installing to a custom path `ržhÚj•häjOhæj^hè}rŸ(UreftypeXrefj¢ ˆj£ X/processor-sdk-rtos-install-in-custom-path-labelU refdomainXstdr hí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòK|hô]r¡jb)�r¢}r£(hÙjžhè}r¤(hê]hë]r¥(j­ j Xstd-refr¦ehì]hí]hð]uhÚjœhô]r§hýX2Setup environment when installing to a custom pathr¨…�r©}rª(hÙUhÚj¢ubahæjlubaubeubaubjÎ)�r«}r¬(hÙUhÚj8häjOhæjÑhè}r­(hê]hë]hì]hí]hð]uhòK€hóhhô]r®jÔ)�r¯}r°(hÙUj×KhÚj«häjOhæhòhè}r±(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubj/)�r²}r³(hÙX,**Step2 : Invoke Make from root directory**r´hÚj8häjOhæj3hè}rµ(hê]hë]hì]hí]hð]uhòK�hóhhô]r¶jW)�r·}r¸(hÙj´hè}r¹(hê]hë]hì]hí]hð]uhÚj²hô]rºhýX(Step2 : Invoke Make from root directoryr»…�r¼}r½(hÙUhÚj·ubahæj_ubaubj/)�r¾}r¿(hÙX„The make file in the root director of the audio-starterkit can be used to build the entire package. To build the benchmark examples:rÀhÚj8häjOhæj3hè}rÁ(hê]hë]hì]hí]hð]uhòKƒhóhhô]rÂhýX„The make file in the root director of the audio-starterkit can be used to build the entire package. To build the benchmark examples:rÃ…�rÄ}rÅ(hÙjÀhÚj¾ubaubj¼)�rÆ}rÇ(hÙUhÚj8häjOhæj¿hè}rÈ(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòK†hóhhô]rÉ(jX)�rÊ}rË(hÙX?**cd /demos/audio-benchmark-starterkit**rÌhÚjÆhäjOhæj[hè}rÍ(hê]hë]hì]hí]hð]uhòNhóhhô]rÎj/)�rÏ}rÐ(hÙjÌhÚjÊhäjOhæj3hè}rÑ(hê]hë]hì]hí]hð]uhòK†hô]rÒjW)�rÓ}rÔ(hÙjÌhè}rÕ(hê]hë]hì]hí]hð]uhÚjÏhô]rÖhýX;cd /demos/audio-benchmark-starterkitr×…�rØ}rÙ(hÙUhÚjÓubahæj_ubaubaubjX)�rÚ}rÛ(hÙX **make all** hÚjÆhäjOhæj[hè}rÜ(hê]hë]hì]hí]hð]uhòNhóhhô]rÝj/)�rÞ}rß(hÙX **make all**ràhÚjÚhäjOhæj3hè}rá(hê]hë]hì]hí]hð]uhòK‡hô]râjW)�rã}rä(hÙjàhè}rå(hê]hë]hì]hí]hð]uhÚjÞhô]ræhýXmake allrç…�rè}ré(hÙUhÚjãubahæj_ubaubaubeubj))�rê}rë(hÙXÜThe build picks up the SOC information from the SDK setup. Also, in the make environment the benchmark application is built to send benchmark logs to UART console so that there is no dependency on the CCS IDE environmenthÚj8häjOhæj,hè}rì(hê]hë]hì]hí]hð]uhòNhóhhô]ríj/)�rî}rï(hÙXÜThe build picks up the SOC information from the SDK setup. Also, in the make environment the benchmark application is built to send benchmark logs to UART console so that there is no dependency on the CCS IDE environmentrðhÚjêhäjOhæj3hè}rñ(hê]hë]hì]hí]hð]uhòKŠhô]ròhýXÜThe build picks up the SOC information from the SDK setup. Also, in the make environment the benchmark application is built to send benchmark logs to UART console so that there is no dependency on the CCS IDE environmentró…�rô}rõ(hÙjðhÚjîubaubaubjÎ)�rö}r÷(hÙUhÚj8häjOhæjÑhè}rø(hê]hë]hì]hí]hð]uhòK�hóhhô]rùjÔ)�rú}rû(hÙUj×KhÚjöhäjOhæhòhè}rü(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubj/)�rý}rþ(hÙX(For Other supported options, please typerÿhÚj8häjOhæj3hè}r(hê]hë]hì]hí]hð]uhòK�hóhhô]rhýX(For Other supported options, please typer…�r}r(hÙjÿhÚjýubaubj/)�r}r(hÙX**For Windows:**rhÚj8häjOhæj3hè}r(hê]hë]hì]hí]hð]uhòK’hóhhô]r jW)�r }r (hÙjhè}r (hê]hë]hì]hí]hð]uhÚjhô]r hýX For Windows:r…�r}r(hÙUhÚj ubahæj_ubaubjË)�r}r(hÙX gmake helphÚj8häjOhæjÎhè}r(jjhí]hì]hê]hë]hð]uhòM-hóhhô]rhýX gmake helpr…�r}r(hÙUhÚjubaubj/)�r}r(hÙX**For Linux :**rhÚj8häjOhæj3hè}r(hê]hë]hì]hí]hð]uhòK˜hóhhô]rjW)�r}r(hÙjhè}r(hê]hë]hì]hí]hð]uhÚjhô]r hýX For Linux :r!…�r"}r#(hÙUhÚjubahæj_ubaubjË)�r$}r%(hÙX make helphÚj8häjOhæjÎhè}r&(jjhí]hì]hê]hë]hð]uhòM3hóhhô]r'hýX make helpr(…�r)}r*(hÙUhÚj$ubaubj/)�r+}r,(hÙX)All available options are provided below:r-hÚj8häjOhæj3hè}r.(hê]hë]hì]hí]hð]uhòKžhóhhô]r/hýX)All available options are provided below:r0…�r1}r2(hÙj-hÚj+ubaubj)�r3}r4(hÙX#.. Image:: ../images/Make_help.png hÚj8häjOhæjhè}r5(UuriXrtos/../images/Make_help.pngr6hí]hì]hê]hë]j}r7U*j6shð]uhòK¡hóhhô]ubeubhÛ)�r8}r9(hÙUhÚj!häjOhæhçhè}r:(hê]hë]hì]hí]r;Uusing-ccs-projectsr<ahð]r=hOauhòK£hóhhô]r>(hö)�r?}r@(hÙXUsing CCS ProjectsrAhÚj8häjOhæhúhè}rB(hê]hë]hì]hí]hð]uhòK£hóhhô]rChýXUsing CCS ProjectsrD…�rE}rF(hÙjAhÚj?ubaubj/)�rG}rH(hÙXHThe audio benchmark starterkit does not provide pre-canned CCS Projects as it is difficult to set up projects to be portable across various developer build environments. To create CCS Projects with the benchmarks, developers are required to run the BenchmarkProjectCreate script provided in the root directory of the starterkit.rIhÚj8häjOhæj3hè}rJ(hê]hë]hì]hí]hð]uhòK¥hóhhô]rKhýXHThe audio benchmark starterkit does not provide pre-canned CCS Projects as it is difficult to set up projects to be portable across various developer build environments. To create CCS Projects with the benchmarks, developers are required to run the BenchmarkProjectCreate script provided in the root directory of the starterkit.rL…�rM}rN(hÙjIhÚjGubaubj/)�rO}rP(hÙX8**Step1 : Setup Processor SDK RTOS build Environment.**rQhÚj8häjOhæj3hè}rR(hê]hë]hì]hí]hð]uhòK«hóhhô]rSjW)�rT}rU(hÙjQhè}rV(hê]hë]hì]hí]hð]uhÚjOhô]rWhýX4Step1 : Setup Processor SDK RTOS build Environment.rX…�rY}rZ(hÙUhÚjTubahæj_ubaubj¼)�r[}r\(hÙUhÚj8häjOhæj¿hè}r](jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòK­hóhhô]r^(jX)�r_}r`(hÙX6**set SDK_INSTALL_PATH = C:\\ti\\**rahÚj[häjOhæj[hè}rb(hê]hë]hì]hí]hð]uhòNhóhhô]rcj/)�rd}re(hÙjahÚj_häjOhæj3hè}rf(hê]hë]hì]hí]hð]uhòK­hô]rgjW)�rh}ri(hÙX6**set SDK_INSTALL_PATH = C:\\ti\\**hè}rj(hê]hë]hì]hí]hð]uhÚjdhô]rkhýX0set SDK_INSTALL_PATH = C:\ti\rl…�rm}rn(hÙUhÚjhubahæj_ubaubaubjX)�ro}rp(hÙX<**set TOOLS_INSTALL_PATH = C:\\ti\\**rqhÚj[häjOhæj[hè}rr(hê]hë]hì]hí]hð]uhòNhóhhô]rsj/)�rt}ru(hÙjqhÚjohäjOhæj3hè}rv(hê]hë]hì]hí]hð]uhòK®hô]rwjW)�rx}ry(hÙX<**set TOOLS_INSTALL_PATH = C:\\ti\\**hè}rz(hê]hë]hì]hí]hð]uhÚjthô]r{hýX6set TOOLS_INSTALL_PATH = C:\ti\r|…�r}}r~(hÙUhÚjxubahæj_ubaubaubjX)�r}r€(hÙX**setupenv.bat** hÚj[häjOhæj[hè}r�(hê]hë]hì]hí]hð]uhòNhóhhô]r‚j/)�rƒ}r„(hÙX**setupenv.bat**r…hÚjhäjOhæj3hè}r†(hê]hë]hì]hí]hð]uhòK¯hô]r‡jW)�rˆ}r‰(hÙj…hè}rŠ(hê]hë]hì]hí]hð]uhÚjƒhô]r‹hýX setupenv.batrŒ…�r�}rŽ(hÙUhÚjˆubahæj_ubaubaubeubj))�r�}r�(hÙXRCCS by default is installed in the path C:\\ti\\ccsv7 so TOOLS_INSTALL_PATH=C:\\tihÚj8häjOhæj,hè}r‘(hê]hë]hì]hí]hð]uhòNhóhhô]r’j/)�r“}r”(hÙXRCCS by default is installed in the path C:\\ti\\ccsv7 so TOOLS_INSTALL_PATH=C:\\tihÚj�häjOhæj3hè}r•(hê]hë]hì]hí]hð]uhòK²hô]r–hýXOCCS by default is installed in the path C:\ti\ccsv7 so TOOLS_INSTALL_PATH=C:\tir—…�r˜}r™(hÙXRCCS by default is installed in the path C:\\ti\\ccsv7 so TOOLS_INSTALL_PATH=C:\\tihÚj“ubaubaubj/)�rš}r›(hÙX­Developers are required to setup the Processor SDK RTOS build environment as described in :ref:`Processor SDK RTOS Setup environment `hÚj8häjOhæj3hè}rœ(hê]hë]hì]hí]hð]uhòKµhóhhô]r�(hýXZDevelopers are required to setup the Processor SDK RTOS build environment as described in rž…�rŸ}r (hÙXZDevelopers are required to setup the Processor SDK RTOS build environment as described in hÚjšubjZ)�r¡}r¢(hÙXS:ref:`Processor SDK RTOS Setup environment `r£hÚjšhäjOhæj^hè}r¤(UreftypeXrefj¢ ˆj£ X%build-the-sdk-setup-environment-labelU refdomainXstdr¥hí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòKµhô]r¦jb)�r§}r¨(hÙj£hè}r©(hê]hë]rª(j­ j¥Xstd-refr«ehì]hí]hð]uhÚj¡hô]r¬hýX$Processor SDK RTOS Setup environmentr­…�r®}r¯(hÙUhÚj§ubahæjlubaubeubj/)�r°}r±(hÙXñIf developers install CCS or Processor SDK RTOS under a Custom path then they need to refer to the setup instructions described under :ref:`Setup environment when installing to a custom path `hÚj8häjOhæj3hè}r²(hê]hë]hì]hí]hð]uhòK¹hóhhô]r³(hýX†If developers install CCS or Processor SDK RTOS under a Custom path then they need to refer to the setup instructions described under r´…�rµ}r¶(hÙX†If developers install CCS or Processor SDK RTOS under a Custom path then they need to refer to the setup instructions described under hÚj°ubjZ)�r·}r¸(hÙXk:ref:`Setup environment when installing to a custom path `r¹hÚj°häjOhæj^hè}rº(UreftypeXrefj¢ ˆj£ X/processor-sdk-rtos-install-in-custom-path-labelU refdomainXstdr»hí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòK¹hô]r¼jb)�r½}r¾(hÙj¹hè}r¿(hê]hë]rÀ(j­ j»Xstd-refrÁehì]hí]hð]uhÚj·hô]rÂhýX2Setup environment when installing to a custom pathrÃ…�rÄ}rÅ(hÙUhÚj½ubahæjlubaubeubjÎ)�rÆ}rÇ(hÙUhÚj8häjOhæjÑhè}rÈ(hê]hë]hì]hí]hð]uhòK½hóhhô]rÉjÔ)�rÊ}rË(hÙUj×KhÚjÆhäjOhæhòhè}rÌ(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubj/)�rÍ}rÎ(hÙXF**Step 2: Run BenchmarkProjectCreate script to generate CCS Projects**rÏhÚj8häjOhæj3hè}rÐ(hê]hë]hì]hí]hð]uhòK¿hóhhô]rÑjW)�rÒ}rÓ(hÙjÏhè}rÔ(hê]hë]hì]hí]hð]uhÚjÍhô]rÕhýXBStep 2: Run BenchmarkProjectCreate script to generate CCS ProjectsrÖ…�r×}rØ(hÙUhÚjÒubahæj_ubaubj/)�rÙ}rÚ(hÙXTo generate the CCS ProjectsrÛhÚj8häjOhæj3hè}rÜ(hê]hë]hì]hí]hð]uhòKÁhóhhô]rÝhýXTo generate the CCS ProjectsrÞ…�rß}rà(hÙjÛhÚjÙubaubj¼)�rá}râ(hÙUhÚj8häjOhæj¿hè}rã(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòKÃhóhhô]rä(jX)�rå}ræ(hÙX>**cd $PROC_SDK_INSTALL_PATH/demos/audio-benchmark-starterkit**rçhÚjáhäjOhæj[hè}rè(hê]hë]hì]hí]hð]uhòNhóhhô]réj/)�rê}rë(hÙjçhÚjåhäjOhæj3hè}rì(hê]hë]hì]hí]hð]uhòKÃhô]ríjW)�rî}rï(hÙjçhè}rð(hê]hë]hì]hí]hð]uhÚjêhô]rñhýX:cd $PROC_SDK_INSTALL_PATH/demos/audio-benchmark-starterkitrò…�ró}rô(hÙUhÚjîubahæj_ubaubaubjX)�rõ}rö(hÙX%**BenchmarkProjectCreate [Options]** hÚjáhäjOhæj[hè}r÷(hê]hë]hì]hí]hð]uhòNhóhhô]røj/)�rù}rú(hÙX$**BenchmarkProjectCreate [Options]**rûhÚjõhäjOhæj3hè}rü(hê]hë]hì]hí]hð]uhòKÄhô]rýjW)�rþ}rÿ(hÙjûhè}r(hê]hë]hì]hí]hð]uhÚjùhô]rhýX BenchmarkProjectCreate [Options]r…�r}r(hÙUhÚjþubahæj_ubaubaubeubj/)�r}r(hÙX?The Project create script can be run using the following syntaxrhÚj8häjOhæj3hè}r(hê]hë]hì]hí]hð]uhòKÆhóhhô]r hýX?The Project create script can be run using the following syntaxr …�r }r (hÙjhÚjubaubjË)�r }r(hÙX.BenchmarkProjectCreate.bat hÚj8häjOhæjÎhè}r(jjhí]hì]hê]hë]hð]uhòMahóhhô]rhýX.BenchmarkProjectCreate.bat r…�r}r(hÙUhÚj ubaubj/)�r}r(hÙXDescription of arguments:rhÚj8häjOhæj3hè}r(hê]hë]hì]hí]hð]uhòKÌhóhhô]rhýXDescription of arguments:r…�r}r(hÙjhÚjubaubjQ)�r}r(hÙUhÚj8häjOhæjThè}r(jVX-hí]hì]hê]hë]hð]uhòKÎhóhhô]r(jX)�r }r!(hÙXN**soc** - **K2G (Default)** / K2H/ K2E/ C6678/ C6657/ AM572X/ AM571x/ OMAPL138hÚjhäjOhæj[hè}r"(hê]hë]hì]hí]hð]uhòNhóhhô]r#j/)�r$}r%(hÙXN**soc** - **K2G (Default)** / K2H/ K2E/ C6678/ C6657/ AM572X/ AM571x/ OMAPL138hÚj häjOhæj3hè}r&(hê]hë]hì]hí]hð]uhòKÎhô]r'(jW)�r(}r)(hÙX**soc**hè}r*(hê]hë]hì]hí]hð]uhÚj$hô]r+hýXsocr,…�r-}r.(hÙUhÚj(ubahæj_ubhýX - r/…�r0}r1(hÙX - hÚj$ubjW)�r2}r3(hÙX**K2G (Default)**hè}r4(hê]hë]hì]hí]hð]uhÚj$hô]r5hýX K2G (Default)r6…�r7}r8(hÙUhÚj2ubahæj_ubhýX3 / K2H/ K2E/ C6678/ C6657/ AM572X/ AM571x/ OMAPL138r9…�r:}r;(hÙX3 / K2H/ K2E/ C6678/ C6657/ AM572X/ AM571x/ OMAPL138hÚj$ubeubaubjX)�r<}r=(hÙX4**board** - **all (Default)** / r>hÚjhäjOhæj[hè}r?(hê]hë]hì]hí]hð]uhòNhóhhô]r@j/)�rA}rB(hÙj>hÚj<häjOhæj3hè}rC(hê]hë]hì]hí]hð]uhòKÐhô]rD(jW)�rE}rF(hÙX **board**hè}rG(hê]hë]hì]hí]hð]uhÚjAhô]rHhýXboardrI…�rJ}rK(hÙUhÚjEubahæj_ubhýX - rL…�rM}rN(hÙX - hÚjAubjW)�rO}rP(hÙX**all (Default)**hè}rQ(hê]hë]hì]hí]hð]uhÚjAhô]rRhýX all (Default)rS…�rT}rU(hÙUhÚjOubahæj_ubhýX / rV…�rW}rX(hÙX / hÚjAubeubaubjX)�rY}rZ(hÙX)**module** - **all** / (FFT / FIR / IIR) hÚjhäjOhæj[hè}r[(hê]hë]hì]hí]hð]uhòNhóhhô]r\j/)�r]}r^(hÙX(**module** - **all** / (FFT / FIR / IIR)hÚjYhäjOhæj3hè}r_(hê]hë]hì]hí]hð]uhòKÑhô]r`(jW)�ra}rb(hÙX **module**hè}rc(hê]hë]hì]hí]hð]uhÚj]hô]rdhýXmodulere…�rf}rg(hÙUhÚjaubahæj_ubhýX - rh…�ri}rj(hÙX - hÚj]ubjW)�rk}rl(hÙX**all**hè}rm(hê]hë]hì]hí]hð]uhÚj]hô]rnhýXallro…�rp}rq(hÙUhÚjkubahæj_ubhýX / (FFT / FIR / IIR)rr…�rs}rt(hÙX / (FFT / FIR / IIR)hÚj]ubeubaubeubjË)�ru}rv(hÙXßExample: a) BenchmarkProjectCreate.bat - Creates all module projects for the K2G soc for evmK2G platform b) BenchmarkProjectCreate.bat AM572x - Creates all module projects for AM572x soc for evmAM572x and idkAM572x platform c) BenchmarkProjectCreate.bat C6657 evmC6657 - Creates all modules for C6657 DSP for evmC6657 platform d) BenchmarkProjectCreate.bat K2H evmK2H FFT - Creates FFT module project for K2H soc for evmK2HhÚj8häjOhæjÎhè}rw(jjhí]hì]hê]hë]hð]uhòMlhóhhô]rxhýXßExample: a) BenchmarkProjectCreate.bat - Creates all module projects for the K2G soc for evmK2G platform b) BenchmarkProjectCreate.bat AM572x - Creates all module projects for AM572x soc for evmAM572x and idkAM572x platform c) BenchmarkProjectCreate.bat C6657 evmC6657 - Creates all modules for C6657 DSP for evmC6657 platform d) BenchmarkProjectCreate.bat K2H evmK2H FFT - Creates FFT module project for K2H soc for evmK2Hry…�rz}r{(hÙUhÚjuubaubj))�r|}r}(hÙX{**Known issue with Processor SDK RTOS 3.3** The BenchmarkProjectCreate script uses text files .txt from scripts folder to generate the CCS projects. The name for the demo folder was updated from "audio-benchmark-kit" to "audio-benchmark-starterkit". This will require CCS users to update the name in the .txt file before generating the scripts. For Example if you are using K2G platform locate file Benchmark_FFT_evmK2G_c66ExampleProject.txt, Benchmark_FIR_evmK2G_c66ExampleProject.txt and Benchmark_IIR_evmK2G_c66ExampleProject.txt and update the demo name in the text files from "audio-benchmark-kit" to "audio-benchmark-starterkit"hÚj8häjOhæj,hè}r~(hê]hë]hì]hí]hð]uhòNhóhhô]r(j/)�r€}r�(hÙXX**Known issue with Processor SDK RTOS 3.3** The BenchmarkProjectCreate script uses text files .txt from scripts folder to generate the CCS projects. The name for the demo folder was updated from "audio-benchmark-kit" to "audio-benchmark-starterkit". This will require CCS users to update the name in the .txt file before generating the scripts.hÚj|häjOhæj3hè}r‚(hê]hë]hì]hí]hð]uhòKàhô]rƒ(jW)�r„}r…(hÙX+**Known issue with Processor SDK RTOS 3.3**hè}r†(hê]hë]hì]hí]hð]uhÚj€hô]r‡hýX'Known issue with Processor SDK RTOS 3.3rˆ…�r‰}rŠ(hÙUhÚj„ubahæj_ubhýX- The BenchmarkProjectCreate script uses text files .txt from scripts folder to generate the CCS projects. The name for the demo folder was updated from "audio-benchmark-kit" to "audio-benchmark-starterkit". This will require CCS users to update the name in the .txt file before generating the scripts.r‹…�rŒ}r�(hÙX- The BenchmarkProjectCreate script uses text files .txt from scripts folder to generate the CCS projects. The name for the demo folder was updated from "audio-benchmark-kit" to "audio-benchmark-starterkit". This will require CCS users to update the name in the .txt file before generating the scripts.hÚj€ubeubj/)�rŽ}r�(hÙX!For Example if you are using K2G platform locate file Benchmark_FFT_evmK2G_c66ExampleProject.txt, Benchmark_FIR_evmK2G_c66ExampleProject.txt and Benchmark_IIR_evmK2G_c66ExampleProject.txt and update the demo name in the text files from "audio-benchmark-kit" to "audio-benchmark-starterkit"r�hÚj|häjOhæj3hè}r‘(hê]hë]hì]hí]hð]uhòKçhô]r’hýX!For Example if you are using K2G platform locate file Benchmark_FFT_evmK2G_c66ExampleProject.txt, Benchmark_FIR_evmK2G_c66ExampleProject.txt and Benchmark_IIR_evmK2G_c66ExampleProject.txt and update the demo name in the text files from "audio-benchmark-kit" to "audio-benchmark-starterkit"r“…�r”}r•(hÙj�hÚjŽubaubeubj/)�r–}r—(hÙX:**Step 3: Import Generated CCS Projects in CCS Workspace**r˜hÚj8häjOhæj3hè}r™(hê]hë]hì]hí]hð]uhòKîhóhhô]ršjW)�r›}rœ(hÙj˜hè}r�(hê]hë]hì]hí]hð]uhÚj–hô]ržhýX6Step 3: Import Generated CCS Projects in CCS WorkspacerŸ…�r }r¡(hÙUhÚj›ubahæj_ubaubj/)�r¢}r£(hÙXˆLaunch CCS and Import the CCS Project using the Project->Import Existing CCS Project and browse to the audio-benchmark-starterkit folderr¤hÚj8häjOhæj3hè}r¥(hê]hë]hì]hí]hð]uhòKðhóhhô]r¦hýXˆLaunch CCS and Import the CCS Project using the Project->Import Existing CCS Project and browse to the audio-benchmark-starterkit folderr§…�r¨}r©(hÙj¤hÚj¢ubaubj)�rª}r«(hÙX,.. Image:: ../images/CCS_Project_Browse.png hÚj8häjOhæjhè}r¬(UuriX%rtos/../images/CCS_Project_Browse.pngr­hí]hì]hê]hë]j}r®U*j­shð]uhòKôhóhhô]ubj/)�r¯}r°(hÙX1**Step 4: Build Imported CCS Benchmark Projects**r±hÚj8häjOhæj3hè}r²(hê]hë]hì]hí]hð]uhòKõhóhhô]r³jW)�r´}rµ(hÙj±hè}r¶(hê]hë]hì]hí]hð]uhÚj¯hô]r·hýX-Step 4: Build Imported CCS Benchmark Projectsr¸…�r¹}rº(hÙUhÚj´ubahæj_ubaubj/)�r»}r¼(hÙXORight click on the Benchmark Project File and Build the project as shown below:r½hÚj8häjOhæj3hè}r¾(hê]hë]hì]hí]hð]uhòK÷hóhhô]r¿hýXORight click on the Benchmark Project File and Build the project as shown below:rÀ…�rÁ}rÂ(hÙj½hÚj»ubaubj)�rÃ}rÄ(hÙX).. Image:: ../images/Build_Benchmark.png hÚj8häjOhæjhè}rÅ(UuriX"rtos/../images/Build_Benchmark.pngrÆhí]hì]hê]hë]j}rÇU*jÆshð]uhòKûhóhhô]ubeubeubhÛ)�rÈ}rÉ(hÙUhÚj=häjOhæhçhè}rÊ(hê]hë]hì]hí]rËUhow-to-run-the-benchmarksrÌahð]rÍhCauhòKýhóhhô]rÎ(hö)�rÏ}rÐ(hÙXHow to Run the BenchmarksrÑhÚjÈhäjOhæhúhè}rÒ(hê]hë]hì]hí]hð]uhòKýhóhhô]rÓhýXHow to Run the BenchmarksrÔ…�rÕ}rÖ(hÙjÑhÚjÏubaubj/)�r×}rØ(hÙXûThe benchmark examples can be run by loading the built out files with an emulator using the CCS Debug functionality or the examples can be run on the DSP by creating SD card bootable images using out files. Let us take a look at both these approaches.rÙhÚjÈhäjOhæj3hè}rÚ(hê]hë]hì]hí]hð]uhòKÿhóhhô]rÛhýXûThe benchmark examples can be run by loading the built out files with an emulator using the CCS Debug functionality or the examples can be run on the DSP by creating SD card bootable images using out files. Let us take a look at both these approaches.rÜ…�rÝ}rÞ(hÙjÙhÚj×ubaubhÛ)�rß}rà(hÙUhÚjÈhäjOhæhçhè}rá(hê]hë]hì]hí]râU using-ccsrãahð]rähŠauhòMhóhhô]rå(hö)�ræ}rç(hÙX Using CCSrèhÚjßhäjOhæhúhè}ré(hê]hë]hì]hí]hð]uhòMhóhhô]rêhýX Using CCSrë…�rì}rí(hÙjèhÚjæubaubj/)�rî}rï(hÙX1**Step 1: Connect Emulator and UART to Hardware**rðhÚjßhäjOhæj3hè}rñ(hê]hë]hì]hí]hð]uhòMhóhhô]ròjW)�ró}rô(hÙjðhè}rõ(hê]hë]hì]hí]hð]uhÚjîhô]röhýX-Step 1: Connect Emulator and UART to Hardwarer÷…�rø}rù(hÙUhÚjóubahæj_ubaubjQ)�rú}rû(hÙUhÚjßhäjOhæjThè}rü(jVX-hí]hì]hê]hë]hð]uhòM hóhhô]rý(jX)�rþ}rÿ(hÙXÇRefer to the `Hardware Setup guide `__ and connect the onboard or external emulator to the Hardware and Host machine with CCS installed. hÚjúhäjOhæj[hè}r (hê]hë]hì]hí]hð]uhòNhóhhô]r j/)�r }r (hÙXÆRefer to the `Hardware Setup guide `__ and connect the onboard or external emulator to the Hardware and Host machine with CCS installed.hÚjþhäjOhæj3hè}r (hê]hë]hì]hí]hð]uhòM hô]r (hýX Refer to the r …�r }r (hÙX Refer to the hÚj ubj)�r }r (hÙXW`Hardware Setup guide `__hè}r (UnameXHardware Setup guidejX<index_release_specific.html#supported-platforms-and-versionshí]hì]hê]hë]hð]uhÚj hô]r hýXHardware Setup guider …�r }r (hÙUhÚj ubahæjubhýXb and connect the onboard or external emulator to the Hardware and Host machine with CCS installed.r …�r }r (hÙXb and connect the onboard or external emulator to the Hardware and Host machine with CCS installed.hÚj ubeubaubjX)�r }r (hÙXÍConnect the UART cable from the EVM to the Host machine and configure the Serial console with following settings: - **Baud Rate**: 115200 - **Data Bits**: 8 - **Parity**: None - **Flow Control**: Off hÚjúhäNhæj[hè}r (hê]hë]hì]hí]hð]uhòNhóhhô]r (j/)�r }r (hÙXqConnect the UART cable from the EVM to the Host machine and configure the Serial console with following settings:r hÚj häjOhæj3hè}r (hê]hë]hì]hí]hð]uhòM hô]r hýXqConnect the UART cable from the EVM to the Host machine and configure the Serial console with following settings:r …�r }r (hÙj hÚj ubaubjQ)�r }r (hÙUhè}r! (jVX-hí]hì]hê]hë]hð]uhÚj hô]r" (jX)�r# }r$ (hÙX**Baud Rate**: 115200r% hè}r& (hê]hë]hì]hí]hð]uhÚj hô]r' j/)�r( }r) (hÙj% hÚj# häjOhæj3hè}r* (hê]hë]hì]hí]hð]uhòMhô]r+ (jW)�r, }r- (hÙX **Baud Rate**hè}r. (hê]hë]hì]hí]hð]uhÚj( hô]r/ hýX Baud Rater0 …�r1 }r2 (hÙUhÚj, ubahæj_ubhýX: 115200r3 …�r4 }r5 (hÙX: 115200hÚj( ubeubahæj[ubjX)�r6 }r7 (hÙX**Data Bits**: 8r8 hè}r9 (hê]hë]hì]hí]hð]uhÚj hô]r: j/)�r; }r< (hÙj8 hÚj6 häjOhæj3hè}r= (hê]hë]hì]hí]hð]uhòMhô]r> (jW)�r? }r@ (hÙX **Data Bits**hè}rA (hê]hë]hì]hí]hð]uhÚj; hô]rB hýX Data BitsrC …�rD }rE (hÙUhÚj? ubahæj_ubhýX: 8rF …�rG }rH (hÙX: 8hÚj; ubeubahæj[ubjX)�rI }rJ (hÙX**Parity**: NonerK hè}rL (hê]hë]hì]hí]hð]uhÚj hô]rM j/)�rN }rO (hÙjK hÚjI häjOhæj3hè}rP (hê]hë]hì]hí]hð]uhòMhô]rQ (jW)�rR }rS (hÙX **Parity**hè}rT (hê]hë]hì]hí]hð]uhÚjN hô]rU hýXParityrV …�rW }rX (hÙUhÚjR ubahæj_ubhýX: NonerY …�rZ }r[ (hÙX: NonehÚjN ubeubahæj[ubjX)�r\ }r] (hÙX**Flow Control**: Off hè}r^ (hê]hë]hì]hí]hð]uhÚj hô]r_ j/)�r` }ra (hÙX**Flow Control**: OffhÚj\ häjOhæj3hè}rb (hê]hë]hì]hí]hð]uhòMhô]rc (jW)�rd }re (hÙX**Flow Control**hè}rf (hê]hë]hì]hí]hð]uhÚj` hô]rg hýX Flow Controlrh …�ri }rj (hÙUhÚjd ubahæj_ubhýX: Offrk …�rl }rm (hÙX: OffhÚj` ubeubahæj[ubehæjTubeubeubj/)�rn }ro (hÙX>**Step 2: Create Target configuration and connect to the DSP**rp hÚjßhäjOhæj3hè}rq (hê]hë]hì]hí]hð]uhòMhóhhô]rr jW)�rs }rt (hÙjp hè}ru (hê]hë]hì]hí]hð]uhÚjn hô]rv hýX:Step 2: Create Target configuration and connect to the DSPrw …�rx }ry (hÙUhÚjs ubahæj_ubaubj/)�rz }r{ (hÙXÕTo connect to the SOC, developers need to create a Target configuration by following the procedure described in wiki :ref:`Create_Target_Configuration_File_for_EVM `hÚjßhäjOhæj3hè}r| (hê]hë]hì]hí]hð]uhòMhóhhô]r} (hýXuTo connect to the SOC, developers need to create a Target configuration by following the procedure described in wiki r~ …�r }r€ (hÙXuTo connect to the SOC, developers need to create a Target configuration by following the procedure described in wiki hÚjz ubjZ)�r� }r‚ (hÙX`:ref:`Create_Target_Configuration_File_for_EVM `rƒ hÚjz häjOhæj^hè}r„ (UreftypeXrefj¢ ˆj£ X.create-target-configuration-file-for-evm-labelU refdomainXstdr… hí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòMhô]r† jb)�r‡ }rˆ (hÙjƒ hè}r‰ (hê]hë]rŠ (j­ j… Xstd-refr‹ ehì]hí]hð]uhÚj� hô]rŒ hýX(Create_Target_Configuration_File_for_EVMr� …�rŽ }r� (hÙUhÚj‡ ubahæjlubaubeubjÎ)�r� }r‘ (hÙUhÚjßhäjOhæjÑhè}r’ (hê]hë]hì]hí]hð]uhòMhóhhô]r“ jÔ)�r” }r• (hÙUj×KhÚj� häjOhæhòhè}r– (hê]hë]hì]hí]hð]uhòKhóhhô]ubaubj/)�r— }r˜ (hÙX(Instructions specific to supported EVMs:r™ hÚjßhäjOhæj3hè}rš (hê]hë]hì]hí]hð]uhòMhóhhô]r› hýX(Instructions specific to supported EVMs:rœ …�r� }rž (hÙj™ hÚj— ubaubjQ)�rŸ }r  (hÙUhÚjßhäjOhæjThè}r¡ (jVX-hí]hì]hê]hë]hð]uhòMhóhhô]r¢ (jX)�r£ }r¤ (hÙX†`K2G GP EVM CCS Setup `__hÚjŸ häjOhæj[hè}r¥ (hê]hë]hì]hí]hð]uhòNhóhhô]r¦ j/)�r§ }r¨ (hÙX†`K2G GP EVM CCS Setup `__r© hÚj£ häjOhæj3hè}rª (hê]hë]hì]hí]hð]uhòMhô]r« j)�r¬ }r­ (hÙj© hè}r® (UnameXK2G GP EVM CCS SetupjXkhttp://processors.wiki.ti.com/index.php/66AK2G02_GP_EVM_Hardware_Setup#Connect_without_a_SD_card_boot_imagehí]hì]hê]hë]hð]uhÚj§ hô]r¯ hýXK2G GP EVM CCS Setupr° …�r± }r² (hÙUhÚj¬ ubahæjubaubaubjX)�r³ }r´ (hÙXˆ`AM572x GP EVM CCS Setup `__ hÚjŸ häjOhæj[hè}rµ (hê]hë]hì]hí]hð]uhòNhóhhô]r¶ j/)�r· }r¸ (hÙX‡`AM572x GP EVM CCS Setup `__r¹ hÚj³ häjOhæj3hè}rº (hê]hë]hì]hí]hð]uhòM hô]r» j)�r¼ }r½ (hÙj¹ hè}r¾ (UnameXAM572x GP EVM CCS SetupjXihttp://processors.wiki.ti.com/index.php/AM572x_GP_EVM_Hardware_Setup#Connect_without_a_SD_card_boot_imagehí]hì]hê]hë]hð]uhÚj· hô]r¿ hýXAM572x GP EVM CCS SetuprÀ …�rÁ }r (hÙUhÚj¼ ubahæjubaubaubeubj))�rà }rÄ (hÙX½Please refer to `Hardware User Guide `__ corresponding to each supported EVM so setup the boot switches to No boot if availablehÚjßhäjOhæj,hè}rÅ (hê]hë]hì]hí]hð]uhòNhóhhô]rÆ j/)�rÇ }rÈ (hÙX½Please refer to `Hardware User Guide `__ corresponding to each supported EVM so setup the boot switches to No boot if availablehÚjà häjOhæj3hè}rÉ (hê]hë]hì]hí]hð]uhòM$hô]rÊ (hýXPlease refer to rË …�rÌ }rÍ (hÙXPlease refer to hÚjÇ ubj)�rÎ }rÏ (hÙXV`Hardware User Guide `__hè}rÐ (UnameXHardware User GuidejX<index_release_specific.html#supported-platforms-and-versionshí]hì]hê]hë]hð]uhÚjÇ hô]rÑ hýXHardware User GuiderÒ …�rÓ }rÔ (hÙUhÚjÎ ubahæjubhýXW corresponding to each supported EVM so setup the boot switches to No boot if availablerÕ …�rÖ }r× (hÙXW corresponding to each supported EVM so setup the boot switches to No boot if availablehÚjÇ ubeubaubjÎ)�rØ }rÙ (hÙUhÚjßhäjOhæjÑhè}rÚ (hê]hë]hì]hí]hð]uhòM(hóhhô]rÛ jÔ)�rÜ }rÝ (hÙUj×KhÚjØ häjOhæhòhè}rÞ (hê]hë]hì]hí]hð]uhòKhóhhô]ubaubj/)�rß }rà (hÙX@**Step 3: Loading and Running Benchmark application on the DSP**rá hÚjßhäjOhæj3hè}râ (hê]hë]hì]hí]hð]uhòM)hóhhô]rã jW)�rä }rå (hÙjá hè}ræ (hê]hë]hì]hí]hð]uhÚjß hô]rç hýX<Step 3: Loading and Running Benchmark application on the DSPrè …�ré }rê (hÙUhÚjä ubahæj_ubaubjQ)�rë }rì (hÙUhÚjßhäjOhæjThè}rí (jVX-hí]hì]hê]hë]hð]uhòM+hóhhô]rî (jX)�rï }rð (hÙXXLoad the out file using **Run -> Load -> Load Program** and browse to the output binary.hÚjë häjOhæj[hè}rñ (hê]hë]hì]hí]hð]uhòNhóhhô]rò j/)�ró }rô (hÙXXLoad the out file using **Run -> Load -> Load Program** and browse to the output binary.hÚjï häjOhæj3hè}rõ (hê]hë]hì]hí]hð]uhòM+hô]rö (hýXLoad the out file using r÷ …�rø }rù (hÙXLoad the out file using hÚjó ubjW)�rú }rû (hÙX**Run -> Load -> Load Program**hè}rü (hê]hë]hì]hí]hð]uhÚjó hô]rý hýXRun -> Load -> Load Programrþ …�rÿ }r!(hÙUhÚjú ubahæj_ubhýX! and browse to the output binary.r!…�r!}r!(hÙX! and browse to the output binary.hÚjó ubeubaubjX)�r!}r!(hÙXZAfter loading the out file, run the benchmark app by Pressing **F8** or **Run -> Resume** hÚjë häjOhæj[hè}r!(hê]hë]hì]hí]hð]uhòNhóhhô]r!j/)�r!}r !(hÙXYAfter loading the out file, run the benchmark app by Pressing **F8** or **Run -> Resume**hÚj!häjOhæj3hè}r !(hê]hë]hì]hí]hð]uhòM-hô]r !(hýX>After loading the out file, run the benchmark app by Pressing r !…�r !}r!(hÙX>After loading the out file, run the benchmark app by Pressing hÚj!ubjW)�r!}r!(hÙX**F8**hè}r!(hê]hë]hì]hí]hð]uhÚj!hô]r!hýXF8r!…�r!}r!(hÙUhÚj!ubahæj_ubhýX or r!…�r!}r!(hÙX or hÚj!ubjW)�r!}r!(hÙX**Run -> Resume**hè}r!(hê]hë]hì]hí]hð]uhÚj!hô]r!hýX Run -> Resumer!…�r!}r!(hÙUhÚj!ubahæj_ubeubaubeubjÎ)�r !}r!!(hÙUhÚjßhäjOhæjÑhè}r"!(hê]hë]hì]hí]hð]uhòM0hóhhô]r#!jÔ)�r$!}r%!(hÙUj×KhÚj !häjOhæhòhè}r&!(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubj)�r'!}r(!(hÙX0.. Image:: ../images/FFTBenchmark_CCS_Output.pngr)!hÚjßhäjOhæjhè}r*!(UuriX*rtos/../images/FFTBenchmark_CCS_Output.pngr+!hí]hì]hê]hë]j}r,!U*j+!shð]uhòM5hóhhô]ubj:)�r-!}r.!(hÙUhÚjßhäjOhæj=hè}r/!(hê]hë]hì]hí]hð]uhòM6hóhhô]r0!j@)�r1!}r2!(hÙUhè}r3!(hí]hì]hê]hë]hð]UcolsKuhÚj-!hô]r4!j‘)�r5!}r6!(hÙUhè}r7!(hê]hë]hì]hí]hð]uhÚj1!hô]hæjÊubahæjËubaubeubhÛ)�r8!}r9!(hÙUhÚjÈhäjOhæhçhè}r:!(hê]hë]hì]hí]r;!U.using-sd-card-supported-only-on-am57xx-and-k2gr!(hö)�r?!}r@!(hÙX0Using SD card (Supported only on AM57xx and K2G)rA!hÚj8!häjOhæhúhè}rB!(hê]hë]hì]hí]hð]uhòM9hóhhô]rC!hýX0Using SD card (Supported only on AM57xx and K2G)rD!…�rE!}rF!(hÙjA!hÚj?!ubaubj/)�rG!}rH!(hÙXA**Step 1: Run Create SD script to generate SD bootable binaries**rI!hÚj8!häjOhæj3hè}rJ!(hê]hë]hì]hí]hð]uhòM;hóhhô]rK!jW)�rL!}rM!(hÙjI!hè}rN!(hê]hë]hì]hí]hð]uhÚjG!hô]rO!hýX=Step 1: Run Create SD script to generate SD bootable binariesrP!…�rQ!}rR!(hÙUhÚjL!ubahæj_ubaubj/)�rS!}rT!(hÙXäThe root directory in the audio-benchmark-starterkit contains a create-sd.bat file that will convert the .out files installed int the bin folder into SD bootable images which will be installed in the path bin/sd_card_files/rU!hÚj8!häjOhæj3hè}rV!(hê]hë]hì]hí]hð]uhòM=hóhhô]rW!hýXäThe root directory in the audio-benchmark-starterkit contains a create-sd.bat file that will convert the .out files installed int the bin folder into SD bootable images which will be installed in the path bin/sd_card_files/rX!…�rY!}rZ!(hÙjU!hÚjS!ubaubj/)�r[!}r\!(hÙX5The syntax to run the create-sd script is as follows:r]!hÚj8!häjOhæj3hè}r^!(hê]hë]hì]hí]hð]uhòMBhóhhô]r_!hýX5The syntax to run the create-sd script is as follows:r`!…�ra!}rb!(hÙj]!hÚj[!ubaubjË)�rc!}rd!(hÙXcreate-sd.bat hÚj8!häjOhæjÎhè}re!(jjhí]hì]hê]hë]hð]uhòMÝhóhhô]rf!hýXcreate-sd.bat rg!…�rh!}ri!(hÙUhÚjc!ubaubj/)�rj!}rk!(hÙXQ**EVM** : refers to evaluation platfom on which the binaries are meant to be runhÚj8!häjOhæj3hè}rl!(hê]hë]hì]hí]hð]uhòMHhóhhô]rm!(jW)�rn!}ro!(hÙX**EVM**hè}rp!(hê]hë]hì]hí]hð]uhÚjj!hô]rq!hýXEVMrr!…�rs!}rt!(hÙUhÚjn!ubahæj_ubhýXJ : refers to evaluation platfom on which the binaries are meant to be runru!…�rv!}rw!(hÙXJ : refers to evaluation platfom on which the binaries are meant to be runhÚjj!ubeubj/)�rx!}ry!(hÙX>Eg: create-sd evmK2G - Creates SD bootable images for K2G EVM.rz!hÚj8!häjOhæj3hè}r{!(hê]hë]hì]hí]hð]uhòMKhóhhô]r|!hýX>Eg: create-sd evmK2G - Creates SD bootable images for K2G EVM.r}!…�r~!}r!(hÙjz!hÚjx!ubaubj/)�r€!}r�!(hÙXA**Step 2 : Format and copy the SD card binaries to the SD card**r‚!hÚj8!häjOhæj3hè}rƒ!(hê]hë]hì]hí]hð]uhòMMhóhhô]r„!jW)�r…!}r†!(hÙj‚!hè}r‡!(hê]hë]hì]hí]hð]uhÚj€!hô]rˆ!hýX=Step 2 : Format and copy the SD card binaries to the SD cardr‰!…�rŠ!}r‹!(hÙUhÚj…!ubahæj_ubaubj/)�rŒ!}r�!(hÙXÀCreate an SD card using the procedure described in :ref:`Creating SD card in Windows ` and :ref:`Create SD card in Linux `hÚj8!häjOhæj3hè}rŽ!(hê]hë]hì]hí]hð]uhòMOhóhhô]r�!(hýX3Create an SD card using the procedure described in r�!…�r‘!}r’!(hÙX3Create an SD card using the procedure described in hÚjŒ!ubjZ)�r“!}r”!(hÙXG:ref:`Creating SD card in Windows `r•!hÚjŒ!häjOhæj^hè}r–!(UreftypeXrefj¢ ˆj£ X"tools-create-sd-card-windows-labelU refdomainXstdr—!hí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòMOhô]r˜!jb)�r™!}rš!(hÙj•!hè}r›!(hê]hë]rœ!(j­ j—!Xstd-refr�!ehì]hí]hð]uhÚj“!hô]rž!hýXCreating SD card in WindowsrŸ!…�r !}r¡!(hÙUhÚj™!ubahæjlubaubhýX and r¢!…�r£!}r¤!(hÙX and hÚjŒ!ubjZ)�r¥!}r¦!(hÙXA:ref:`Create SD card in Linux `r§!hÚjŒ!häjOhæj^hè}r¨!(UreftypeXrefj¢ ˆj£ X tools-create-sd-card-linux-labelU refdomainXstdr©!hí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòMOhô]rª!jb)�r«!}r¬!(hÙj§!hè}r­!(hê]hë]r®!(j­ j©!Xstd-refr¯!ehì]hí]hð]uhÚj¥!hô]r°!hýXCreate SD card in Linuxr±!…�r²!}r³!(hÙUhÚj«!ubahæjlubaubeubj/)�r´!}rµ!(hÙXWCopy the "MLO" and "Singleprecision__app" to the boot partition on the SD card.r¶!hÚj8!häjOhæj3hè}r·!(hê]hë]hì]hí]hð]uhòMRhóhhô]r¸!hýXWCopy the "MLO" and "Singleprecision__app" to the boot partition on the SD card.r¹!…�rº!}r»!(hÙj¶!hÚj´!ubaubj/)�r¼!}r½!(hÙXD**Step 3: Boot the Benchmark app by configuring SD boot on the EVM**r¾!hÚj8!häjOhæj3hè}r¿!(hê]hë]hì]hí]hð]uhòMUhóhhô]rÀ!jW)�rÁ!}rÂ!(hÙj¾!hè}rÃ!(hê]hë]hì]hí]hð]uhÚj¼!hô]rÄ!hýX@Step 3: Boot the Benchmark app by configuring SD boot on the EVMrÅ!…�rÆ!}rÇ!(hÙUhÚjÁ!ubahæj_ubaubjQ)�rÈ!}rÉ!(hÙUhÚj8!häjOhæjThè}rÊ!(jVX-hí]hì]hê]hë]hð]uhòMWhóhhô]rË!(jX)�rÌ!}rÍ!(hÙXBConfigure the boot switches on the evaluation hardware to SD boot.rÎ!hÚjÈ!häjOhæj[hè}rÏ!(hê]hë]hì]hí]hð]uhòNhóhhô]rÐ!j/)�rÑ!}rÒ!(hÙjÎ!hÚjÌ!häjOhæj3hè}rÓ!(hê]hë]hì]hí]hð]uhòMWhô]rÔ!hýXBConfigure the boot switches on the evaluation hardware to SD boot.rÕ!…�rÖ!}r×!(hÙjÎ!hÚjÑ!ubaubaubjX)�rØ!}rÙ!(hÙX?Insert the SD card in the microSD or SD card slot on the board.rÚ!hÚjÈ!häjOhæj[hè}rÛ!(hê]hë]hì]hí]hð]uhòNhóhhô]rÜ!j/)�rÝ!}rÞ!(hÙjÚ!hÚjØ!häjOhæj3hè}rß!(hê]hë]hì]hí]hð]uhòMXhô]rà!hýX?Insert the SD card in the microSD or SD card slot on the board.rá!…�râ!}rã!(hÙjÚ!hÚjÝ!ubaubaubjX)�rä!}rå!(hÙX Connect the UART on the hardware to the Host and configure the host to **Baud Rate**\ = 115200, **Data Bits**\ = 8 , **Parity**\ = None, **Flow Control**\ = OffhÚjÈ!häjOhæj[hè}ræ!(hê]hë]hì]hí]hð]uhòNhóhhô]rç!j/)�rè!}ré!(hÙX Connect the UART on the hardware to the Host and configure the host to **Baud Rate**\ = 115200, **Data Bits**\ = 8 , **Parity**\ = None, **Flow Control**\ = OffhÚjä!häjOhæj3hè}rê!(hê]hë]hì]hí]hð]uhòMYhô]rë!(hýXGConnect the UART on the hardware to the Host and configure the host to rì!…�rí!}rî!(hÙXGConnect the UART on the hardware to the Host and configure the host to hÚjè!ubjW)�rï!}rð!(hÙX **Baud Rate**hè}rñ!(hê]hë]hì]hí]hð]uhÚjè!hô]rò!hýX Baud Rateró!…�rô!}rõ!(hÙUhÚjï!ubahæj_ubhýX = 115200, rö!…�r÷!}rø!(hÙX \ = 115200, hÚjè!ubjW)�rù!}rú!(hÙX **Data Bits**hè}rû!(hê]hë]hì]hí]hð]uhÚjè!hô]rü!hýX Data Bitsrý!…�rþ!}rÿ!(hÙUhÚjù!ubahæj_ubhýX= 8 , r"…�r"}r"(hÙX\ = 8 , hÚjè!ubjW)�r"}r"(hÙX **Parity**hè}r"(hê]hë]hì]hí]hð]uhÚjè!hô]r"hýXParityr"…�r"}r "(hÙUhÚj"ubahæj_ubhýX= None, r "…�r "}r "(hÙX \ = None, hÚjè!ubjW)�r "}r"(hÙX**Flow Control**hè}r"(hê]hë]hì]hí]hð]uhÚjè!hô]r"hýX Flow Controlr"…�r"}r"(hÙUhÚj "ubahæj_ubhýX= Offr"…�r"}r"(hÙX\ = OffhÚjè!ubeubaubjX)�r"}r"(hÙXFPower on the EVM to view the output on the Serial console on the host hÚjÈ!häjOhæj[hè}r"(hê]hë]hì]hí]hð]uhòNhóhhô]r"j/)�r"}r"(hÙXEPower on the EVM to view the output on the Serial console on the hostr"hÚj"häjOhæj3hè}r"(hê]hë]hì]hí]hð]uhòM\hô]r"hýXEPower on the EVM to view the output on the Serial console on the hostr "…�r!"}r""(hÙj"hÚj"ubaubaubeubeubeubhÛ)�r#"}r$"(hÙUhÚj=häjOhæhçhè}r%"(hê]hë]hì]hí]r&"U$benchmark-app-output-on-uart-consoler'"ahð]r("h"ubaubcdocutils.nodes rubric rF")�rG"}rH"(hÙX.Signal Processing functions used in StarterkitrI"hÚj7"häjOhæUrubricrJ"hè}rK"(hí]rL"U.signal-processing-functions-used-in-starterkitrM"ahì]hê]hë]hð]rN"hÐauhòNhóhhô]rO"hýX.Signal Processing functions used in StarterkitrP"…�rQ"}rR"(hÙjI"hÚjG"ubaubjF")�rS"}rT"(hÙXASingle Precision FFT: DSPF_sp_fftSPxSP (Mixed Radix Forward FFT )rU"hÚj7"häjOhæjJ"hè}rV"(hí]rW"U=single-precision-fft-dspf-sp-fftspxsp-mixed-radix-forward-fftrX"ahì]hê]hë]hð]rY"hÌauhòNhóhhô]rZ"hýXASingle Precision FFT: DSPF_sp_fftSPxSP (Mixed Radix Forward FFT )r["…�r\"}r]"(hÙjU"hÚjS"ubaubj/)�r^"}r_"(hÙXThe audio benchmark kit uses the FFT implementation(DSPF_sp_fftSPxSP) from the `TI DSP Library `__. The DSPF_sp_fftSPxSP kernel calculates the discrete Fourier transform of complex input array ``ptr_x`` using a mixed radix FFT algorithm. The result is stored in complex output array ``ptr_y`` in normal order. Each complex array contains real and imaginary values at even and odd indices, respectively. DSPF_sp_fftSPxSP kernel is implemented in assembly to maximize performance, but a natural C implementation is also provided. The demonstration app for this kernel includes the required bit reversal coefficients, ``brev``, and additional code to calculate the twiddle factor coefficients, ``ptr_w``.hÚj7"häjOhæj3hè}r`"(hê]hë]hì]hí]hð]uhòMmhóhhô]ra"(hýXOThe audio benchmark kit uses the FFT implementation(DSPF_sp_fftSPxSP) from the rb"…�rc"}rd"(hÙXOThe audio benchmark kit uses the FFT implementation(DSPF_sp_fftSPxSP) from the hÚj^"ubj)�re"}rf"(hÙXV`TI DSP Library `__hè}rg"(UnameXTI DSP LibraryjXAhttp://processors.wiki.ti.com/index.php/Software_libraries#DSPLIBhí]hì]hê]hë]hð]uhÚj^"hô]rh"hýXTI DSP Libraryri"…�rj"}rk"(hÙUhÚje"ubahæjubhýX_. The DSPF_sp_fftSPxSP kernel calculates the discrete Fourier transform of complex input array rl"…�rm"}rn"(hÙX_. The DSPF_sp_fftSPxSP kernel calculates the discrete Fourier transform of complex input array hÚj^"ubj)�ro"}rp"(hÙX ``ptr_x``hè}rq"(hê]hë]hì]hí]hð]uhÚj^"hô]rr"hýXptr_xrs"…�rt"}ru"(hÙUhÚjo"ubahæj#ubhýXQ using a mixed radix FFT algorithm. The result is stored in complex output array rv"…�rw"}rx"(hÙXQ using a mixed radix FFT algorithm. The result is stored in complex output array hÚj^"ubj)�ry"}rz"(hÙX ``ptr_y``hè}r{"(hê]hë]hì]hí]hð]uhÚj^"hô]r|"hýXptr_yr}"…�r~"}r"(hÙUhÚjy"ubahæj#ubhýXC in normal order. Each complex array contains real and imaginary values at even and odd indices, respectively. DSPF_sp_fftSPxSP kernel is implemented in assembly to maximize performance, but a natural C implementation is also provided. The demonstration app for this kernel includes the required bit reversal coefficients, r€"…�r�"}r‚"(hÙXC in normal order. Each complex array contains real and imaginary values at even and odd indices, respectively. DSPF_sp_fftSPxSP kernel is implemented in assembly to maximize performance, but a natural C implementation is also provided. The demonstration app for this kernel includes the required bit reversal coefficients, hÚj^"ubj)�rƒ"}r„"(hÙX``brev``hè}r…"(hê]hë]hì]hí]hð]uhÚj^"hô]r†"hýXbrevr‡"…�rˆ"}r‰"(hÙUhÚjƒ"ubahæj#ubhýXD, and additional code to calculate the twiddle factor coefficients, rŠ"…�r‹"}rŒ"(hÙXD, and additional code to calculate the twiddle factor coefficients, hÚj^"ubj)�r�"}rŽ"(hÙX ``ptr_w``hè}r�"(hê]hë]hì]hí]hð]uhÚj^"hô]r�"hýXptr_wr‘"…�r’"}r“"(hÙUhÚj�"ubahæj#ubhýX.…�r”"}r•"(hÙX.hÚj^"ubeubjÎ)�r–"}r—"(hÙUhÚj7"häjOhæjÑhè}r˜"(hê]hë]hì]hí]hð]uhòMzhóhhô]r™"jÔ)�rš"}r›"(hÙUj×KhÚj–"häjOhæhòhè}rœ"(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubj))�r�"}rž"(hÙXu- For implementation details of this FFT computation refer to documentation provided in `Additional resources `__ - For Real input sequences, efficient FFT Implementation is described here `Efficient_FFT_Computation_of_Real_Input `__hÚj7"häNhæj,hè}rŸ"(hê]hë]hì]hí]hð]uhòNhóhhô]r "jQ)�r¡"}r¢"(hÙUhè}r£"(jVX-hí]hì]hê]hë]hð]uhÚj�"hô]r¤"(jX)�r¥"}r¦"(hÙXŸFor implementation details of this FFT computation refer to documentation provided in `Additional resources `__hè}r§"(hê]hë]hì]hí]hð]uhÚj¡"hô]r¨"j/)�r©"}rª"(hÙXŸFor implementation details of this FFT computation refer to documentation provided in `Additional resources `__hÚj¥"häjOhæj3hè}r«"(hê]hë]hì]hí]hð]uhòM}hô]r¬"(hýXVFor implementation details of this FFT computation refer to documentation provided in r­"…�r®"}r¯"(hÙXVFor implementation details of this FFT computation refer to documentation provided in hÚj©"ubj)�r°"}r±"(hÙXI`Additional resources `__hè}r²"(UnameXAdditional resourcesjX.index_examples_demos.html#additional-resourceshí]hì]hê]hë]hð]uhÚj©"hô]r³"hýXAdditional resourcesr´"…�rµ"}r¶"(hÙUhÚj°"ubahæjubeubahæj[ubjX)�r·"}r¸"(hÙXÆFor Real input sequences, efficient FFT Implementation is described here `Efficient_FFT_Computation_of_Real_Input `__hè}r¹"(hê]hë]hì]hí]hð]uhÚj¡"hô]rº"j/)�r»"}r¼"(hÙXÆFor Real input sequences, efficient FFT Implementation is described here `Efficient_FFT_Computation_of_Real_Input `__hÚj·"häjOhæj3hè}r½"(hê]hë]hì]hí]hð]uhòMhô]r¾"(hýXIFor Real input sequences, efficient FFT Implementation is described here r¿"…�rÀ"}rÁ"(hÙXIFor Real input sequences, efficient FFT Implementation is described here hÚj»"ubj)�rÂ"}rÃ"(hÙX}`Efficient_FFT_Computation_of_Real_Input `__hè}rÄ"(UnameX'Efficient_FFT_Computation_of_Real_InputjXOhttp://processors.wiki.ti.com/index.php/Efficient_FFT_Computation_of_Real_Inputhí]hì]hê]hë]hð]uhÚj»"hô]rÅ"hýX'Efficient_FFT_Computation_of_Real_InputrÆ"…�rÇ"}rÈ"(hÙUhÚjÂ"ubahæjubeubahæj[ubehæjTubaubjF")�rÉ"}rÊ"(hÙX;Single Precision FIR: DSPF_sp_fir_cplx (Complex FIR Filter)rË"hÚj7"häjOhæjJ"hè}rÌ"(hí]rÍ"U8single-precision-fir-dspf-sp-fir-cplx-complex-fir-filterrÎ"ahì]hê]hë]hð]rÏ"huauhòNhóhhô]rÐ"hýX;Single Precision FIR: DSPF_sp_fir_cplx (Complex FIR Filter)rÑ"…�rÒ"}rÓ"(hÙjË"hÚjÉ"ubaubj/)�rÔ"}rÕ"(hÙX¹The audio benchmark kit uses the FFT implementation(DSPF_sp_fftSPxSP) from the `TI DSP Library `__. The DSPF_sp_fir_cplx kernel performs complex FIR filtering on complex input array x with complex coefficient array h. The result is stored in complex output array y. For each complex array, real and imaginary elements are respectively stored at even and odd index locations.hÚj7"häjOhæj3hè}rÖ"(hê]hë]hì]hí]hð]uhòM†hóhhô]r×"(hýXOThe audio benchmark kit uses the FFT implementation(DSPF_sp_fftSPxSP) from the rØ"…�rÙ"}rÚ"(hÙXOThe audio benchmark kit uses the FFT implementation(DSPF_sp_fftSPxSP) from the hÚjÔ"ubj)�rÛ"}rÜ"(hÙXV`TI DSP Library `__hè}rÝ"(UnameXTI DSP LibraryjXAhttp://processors.wiki.ti.com/index.php/Software_libraries#DSPLIBhí]hì]hê]hë]hð]uhÚjÔ"hô]rÞ"hýXTI DSP Libraryrß"…�rà"}rá"(hÙUhÚjÛ"ubahæjubhýX. The DSPF_sp_fir_cplx kernel performs complex FIR filtering on complex input array x with complex coefficient array h. The result is stored in complex output array y. For each complex array, real and imaginary elements are respectively stored at even and odd index locations.râ"…�rã"}rä"(hÙX. The DSPF_sp_fir_cplx kernel performs complex FIR filtering on complex input array x with complex coefficient array h. The result is stored in complex output array y. For each complex array, real and imaginary elements are respectively stored at even and odd index locations.hÚjÔ"ubeubj/)�rå"}ræ"(hÙXxThe API reference and the implementation details can found in the TI DSPLIB documentation included in the Processor SDK.rç"hÚj7"häjOhæj3hè}rè"(hê]hë]hì]hí]hð]uhòMŽhóhhô]ré"hýXxThe API reference and the implementation details can found in the TI DSPLIB documentation included in the Processor SDK.rê"…�rë"}rì"(hÙjç"hÚjå"ubaubjF")�rí"}rî"(hÙXhSingle Precision IIR : tisigCascadeBiquadSP_2c_3s_kernel (Cascade Biquad Filter for Multichannel input)rï"hÚj7"häjOhæjJ"hè}rð"(hí]rñ"Ucsingle-precision-iir-tisigcascadebiquadsp-2c-3s-kernel-cascade-biquad-filter-for-multichannel-inputrò"ahì]hê]hë]hð]ró"h¾auhòNhóhhô]rô"hýXhSingle Precision IIR : tisigCascadeBiquadSP_2c_3s_kernel (Cascade Biquad Filter for Multichannel input)rõ"…�rö"}r÷"(hÙjï"hÚjí"ubaubj/)�rø"}rù"(hÙXThe Cascade biquad filtering function in the audio benchmark starterkit is an improved biquad infinite impulse response filter `Patent US20160112033 Pending `__. The new filter structure modifies the feedback path in the filter, resulting in a significant reduction in execution cycles. One of the most-used digital filter forms is the biquad. A biquad is a second order (two poles and two zeros) Infinite Impulse Response (IIR) filter. It is high enough order to be useful on its own, and because of the coefficient sensitivities in higher order filters the biquad is often used as the basic building block for more complex filters. For instance, a biquad low pass filter has a cutoff slope of 12 dB/octave, useful for tone controls; if a 24 dB/octave filter is needed, you can cascade two biquads and it will have less coefficient sensitivity problems than a single fourth-order design.hÚj7"häjOhæj3hè}rú"(hê]hë]hì]hí]hð]uhòM•hóhhô]rû"(hýXThe Cascade biquad filtering function in the audio benchmark starterkit is an improved biquad infinite impulse response filter rü"…�rý"}rþ"(hÙXThe Cascade biquad filtering function in the audio benchmark starterkit is an improved biquad infinite impulse response filter hÚjø"ubj)�rÿ"}r#(hÙX¯`Patent US20160112033 Pending `__hè}r#(UnameXPatent US20160112033 PendingjXŒhttp://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PG01&p=1&u=/netahtml/PTO/srchnum.html&r=1&f=G&l=50&s1=20160112033.PGNR.hí]hì]hê]hë]hð]uhÚjø"hô]r#hýXPatent US20160112033 Pendingr#…�r#}r#(hÙUhÚjÿ"ubahæjubhýXØ. The new filter structure modifies the feedback path in the filter, resulting in a significant reduction in execution cycles. One of the most-used digital filter forms is the biquad. A biquad is a second order (two poles and two zeros) Infinite Impulse Response (IIR) filter. It is high enough order to be useful on its own, and because of the coefficient sensitivities in higher order filters the biquad is often used as the basic building block for more complex filters. For instance, a biquad low pass filter has a cutoff slope of 12 dB/octave, useful for tone controls; if a 24 dB/octave filter is needed, you can cascade two biquads and it will have less coefficient sensitivity problems than a single fourth-order design.r#…�r#}r#(hÙXØ. The new filter structure modifies the feedback path in the filter, resulting in a significant reduction in execution cycles. One of the most-used digital filter forms is the biquad. A biquad is a second order (two poles and two zeros) Infinite Impulse Response (IIR) filter. It is high enough order to be useful on its own, and because of the coefficient sensitivities in higher order filters the biquad is often used as the basic building block for more complex filters. For instance, a biquad low pass filter has a cutoff slope of 12 dB/octave, useful for tone controls; if a 24 dB/octave filter is needed, you can cascade two biquads and it will have less coefficient sensitivity problems than a single fourth-order design.hÚjø"ubeubj/)�r #}r #(hÙXÈFor implementation details please check the `USTO link `__hÚj7"häjOhæj3hè}r #(hê]hë]hì]hí]hð]uhòM¥hóhhô]r #(hýX,For implementation details please check the r #…�r#}r#(hÙX,For implementation details please check the hÚj #ubj)�r#}r#(hÙXœ`USTO link `__hè}r#(UnameX USTO linkjXŒhttp://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PG01&p=1&u=/netahtml/PTO/srchnum.html&r=1&f=G&l=50&s1=20160112033.PGNR.hí]hì]hê]hë]hð]uhÚj #hô]r#hýX USTO linkr#…�r#}r#(hÙUhÚj#ubahæjubeubj/)�r#}r#(hÙXAPI reference:r#hÚj7"häjOhæj3hè}r#(hê]hë]hì]hí]hð]uhòM¨hóhhô]r#hýXAPI reference:r#…�r#}r#(hÙj#hÚj#ubaubjË)�r#}r #(hÙXEint tisigCascadeBiquad32f_2c_3skernel(CascadeBiquad_FilParam *pParam)hÚj7"häjOhæjÎhè}r!#(jjhí]hì]hê]hë]hð]uhòMChóhhô]r"#hýXEint tisigCascadeBiquad32f_2c_3skernel(CascadeBiquad_FilParam *pParam)r##…�r$#}r%#(hÙUhÚj#ubaubj/)�r&#}r'#(hÙX*where CascadeBiquad_FilParam is defined asr(#hÚj7"häjOhæj3hè}r)#(hê]hë]hì]hí]hð]uhòM®hóhhô]r*#hýX*where CascadeBiquad_FilParam is defined asr+#…�r,#}r-#(hÙj(#hÚj&#ubaubjË)�r.#}r/#(hÙX'CascadeBiquad_FilParam { float *restrict pin1; // Input Data Channel 1 float *restrict pin2; // Input Data Channel 2 float *restrict pOut1; // Output Data Channel 1 float *restrict pOut2; // Output Data Channel 1 float *restrict pCoef; // Filter Coefficients a, b for 3 stages float *restrict pVar0; // Filter Variables d0, d1 for 3 stages channel 0 float *restrict pVar1; // Filter Variables d0, d1 for 3 stages channel 1 int sampleCount; // Number of samples } CascadeBiquad_FilParam;hÚj7"häjOhæjÎhè}r0#(jG‰jHXcjjhí]hì]hê]jI}hë]hð]uhòM°hóhhô]r1#hýX'CascadeBiquad_FilParam { float *restrict pin1; // Input Data Channel 1 float *restrict pin2; // Input Data Channel 2 float *restrict pOut1; // Output Data Channel 1 float *restrict pOut2; // Output Data Channel 1 float *restrict pCoef; // Filter Coefficients a, b for 3 stages float *restrict pVar0; // Filter Variables d0, d1 for 3 stages channel 0 float *restrict pVar1; // Filter Variables d0, d1 for 3 stages channel 1 int sampleCount; // Number of samples } CascadeBiquad_FilParam;r2#…�r3#}r4#(hÙUhÚj.#ubaubeubeubhÛ)�r5#}r6#(hÙUhÚj=häjOhæhçhè}r7#(hê]hë]hì]hí]r8#U(memory-placement-of-instruction-and-datar9#ahð]r:#hQauhòM¾hóhhô]r;#(hö)�r<#}r=#(hÙX(Memory placement of Instruction and Datar>#hÚj5#häjOhæhúhè}r?#(hê]hë]hì]hí]hð]uhòM¾hóhhô]r@#hýX(Memory placement of Instruction and DatarA#…�rB#}rC#(hÙj>#hÚj<#ubaubj/)�rD#}rE#(hÙXûThe best performance of the DSP can be obtained by placing all the data and instructions in L2 SRAM. Please refer to the linker command files include in the src/common folder to see how the instructions and data can be place in DSP internal L2 memory.rF#hÚj5#häjOhæj3hè}rG#(hê]hë]hì]hí]hð]uhòMÀhóhhô]rH#hýXûThe best performance of the DSP can be obtained by placing all the data and instructions in L2 SRAM. Please refer to the linker command files include in the src/common folder to see how the instructions and data can be place in DSP internal L2 memory.rI#…�rJ#}rK#(hÙjF#hÚjD#ubaubj))�rL#}rM#(hÙXIn application use cases where audio data needs to be place in onchip shared memory (OCMC or MSMC) and DDR memory, we recommend that users move data from external memory to L2 for processing using EDMA or enable DSP cache using CSL to optimize performance.hÚj5#häjOhæj,hè}rN#(hê]hë]hì]hí]hð]uhòNhóhhô]rO#j/)�rP#}rQ#(hÙXIn application use cases where audio data needs to be place in onchip shared memory (OCMC or MSMC) and DDR memory, we recommend that users move data from external memory to L2 for processing using EDMA or enable DSP cache using CSL to optimize performance.rR#hÚjL#häjOhæj3hè}rS#(hê]hë]hì]hí]hð]uhòMÆhô]rT#hýXIn application use cases where audio data needs to be place in onchip shared memory (OCMC or MSMC) and DDR memory, we recommend that users move data from external memory to L2 for processing using EDMA or enable DSP cache using CSL to optimize performance.rU#…�rV#}rW#(hÙjR#hÚjP#ubaubaubeubhÛ)�rX#}rY#(hÙUhÚj=häjOhæhçhè}rZ#(hê]hë]hì]hí]r[#Ucompiler-optimization-flagsr\#ahð]r]#h¤auhòMÌhóhhô]r^#(hö)�r_#}r`#(hÙXCompiler Optimization Flagsra#hÚjX#häjOhæhúhè}rb#(hê]hë]hì]hí]hð]uhòMÌhóhhô]rc#hýXCompiler Optimization Flagsrd#…�re#}rf#(hÙja#hÚj_#ubaubj/)�rg#}rh#(hÙXNAll the projects in the Audio Benchmark starterkit are built using C6000 compiler with -o3 optimization that allows the source code to be compiled with highest compiler optimization settings. User can refer to the compiler Build settings in the Makefiles or go to Build Settings in CCS Project settings to modify the compiler options.ri#hÚjX#häjOhæj3hè}rj#(hê]hë]hì]hí]hð]uhòMÎhóhhô]rk#hýXNAll the projects in the Audio Benchmark starterkit are built using C6000 compiler with -o3 optimization that allows the source code to be compiled with highest compiler optimization settings. User can refer to the compiler Build settings in the Makefiles or go to Build Settings in CCS Project settings to modify the compiler options.rl#…�rm#}rn#(hÙji#hÚjg#ubaubjÎ)�ro#}rp#(hÙUhÚjX#häjOhæjÑhè}rq#(hê]hë]hì]hí]hð]uhòMÔhóhhô]rr#jÔ)�rs#}rt#(hÙUj×KhÚjo#häjOhæhòhè}ru#(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubj))�rv#}rw#(hÙX=For more Details on recommended C6000 Compiler options refer `C6000_Compiler:_Recommended_Compiler_Options `__ - C6000 compiler documentation: `C6000 Compiler v8.x User Guide `__hÚjX#häNhæj,hè}rx#(hê]hë]hì]hí]hð]uhòNhóhhô]ry#(j/)�rz#}r{#(hÙXÄFor more Details on recommended C6000 Compiler options refer `C6000_Compiler:_Recommended_Compiler_Options `__hÚjv#häjOhæj3hè}r|#(hê]hë]hì]hí]hð]uhòM×hô]r}#(hýX=For more Details on recommended C6000 Compiler options refer r~#…�r#}r€#(hÙX=For more Details on recommended C6000 Compiler options refer hÚjz#ubj)�r�#}r‚#(hÙX‡`C6000_Compiler:_Recommended_Compiler_Options `__hè}rƒ#(UnameX,C6000_Compiler:_Recommended_Compiler_OptionsjXThttp://processors.wiki.ti.com/index.php/C6000_Compiler:_Recommended_Compiler_Optionshí]hì]hê]hë]hð]uhÚjz#hô]r„#hýX,C6000_Compiler:_Recommended_Compiler_Optionsr…#…�r†#}r‡#(hÙUhÚj�#ubahæjubeubjQ)�rˆ#}r‰#(hÙUhè}rŠ#(jVX-hí]hì]hê]hë]hð]uhÚjv#hô]r‹#jX)�rŒ#}r�#(hÙXqC6000 compiler documentation: `C6000 Compiler v8.x User Guide `__hè}rŽ#(hê]hë]hì]hí]hð]uhÚjˆ#hô]r�#j/)�r�#}r‘#(hÙXqC6000 compiler documentation: `C6000 Compiler v8.x User Guide `__hÚjŒ#häjOhæj3hè}r’#(hê]hë]hì]hí]hð]uhòMÚhô]r“#(hýXC6000 compiler documentation: r”#…�r•#}r–#(hÙXC6000 compiler documentation: hÚj�#ubj)�r—#}r˜#(hÙXS`C6000 Compiler v8.x User Guide `__hè}r™#(UnameXC6000 Compiler v8.x User GuidejX.http://www.ti.com/lit/ug/sprui04a/sprui04a.pdfhí]hì]hê]hë]hð]uhÚj�#hô]rš#hýXC6000 Compiler v8.x User Guider›#…�rœ#}r�#(hÙUhÚj—#ubahæjubeubahæj[ubahæjTubeubeubhÛ)�rž#}rŸ#(hÙUhÚj=häjOhæhçhè}r #(hê]hë]hì]hí]r¡#U soc-integration-and-optimizationr¢#ahð]r£#h¹auhòMÞhóhhô]r¤#(hö)�r¥#}r¦#(hÙX SOC Integration and Optimizationr§#hÚjž#häjOhæhúhè}r¨#(hê]hë]hì]hí]hð]uhòMÞhóhhô]r©#hýX SOC Integration and Optimizationrª#…�r«#}r¬#(hÙj§#hÚj¥#ubaubhÛ)�r­#}r®#(hÙUhÚjž#häjOhæhçhè}r¯#(hê]hë]hì]hí]r°#Uconfiguring-device-clocksr±#ahð]r²#hŒauhòMáhóhhô]r³#(hö)�r´#}rµ#(hÙXConfiguring device clocksr¶#hÚj­#häjOhæhúhè}r·#(hê]hë]hì]hí]hð]uhòMáhóhhô]r¸#hýXConfiguring device clocksr¹#…�rº#}r»#(hÙj¶#hÚj´#ubaubj/)�r¼#}r½#(hÙX÷Every SOC with TI DSP requires users to enable the DSP clocks by setting up the PLL and or enabling the DSP through Power Sleep Controller or Power and Control (PRCM) module. The way the clocks are set up differs depending on the environment setupr¾#hÚj­#häjOhæj3hè}r¿#(hê]hë]hì]hí]hð]uhòMãhóhhô]rÀ#hýX÷Every SOC with TI DSP requires users to enable the DSP clocks by setting up the PLL and or enabling the DSP through Power Sleep Controller or Power and Control (PRCM) module. The way the clocks are set up differs depending on the environment setuprÁ#…�rÂ#}rÃ#(hÙj¾#hÚj¼#ubaubjQ)�rÄ#}rÅ#(hÙUhÚj­#häjOhæjThè}rÆ#(jVX-hí]hì]hê]hë]hð]uhòMèhóhhô]rÇ#(jX)�rÈ#}rÉ#(hÙXü**Development environment with emulator:**\ In this case the SOC clocks are setup using GEL files which are added to the target configuration file. For audio benchmark starterkit, this done using GEL files setup explained in the Hardware Setup section hÚjÄ#häjOhæj[hè}rÊ#(hê]hë]hì]hí]hð]uhòNhóhhô]rË#j/)�rÌ#}rÍ#(hÙXû**Development environment with emulator:**\ In this case the SOC clocks are setup using GEL files which are added to the target configuration file. For audio benchmark starterkit, this done using GEL files setup explained in the Hardware Setup sectionhÚjÈ#häjOhæj3hè}rÎ#(hê]hë]hì]hí]hð]uhòMèhô]rÏ#(jW)�rÐ#}rÑ#(hÙX***Development environment with emulator:**hè}rÒ#(hê]hë]hì]hí]hð]uhÚjÌ#hô]rÓ#hýX&Development environment with emulator:rÔ#…�rÕ#}rÖ#(hÙUhÚjÐ#ubahæj_ubhýXÏIn this case the SOC clocks are setup using GEL files which are added to the target configuration file. For audio benchmark starterkit, this done using GEL files setup explained in the Hardware Setup sectionr×#…�rØ#}rÙ#(hÙXÑ\ In this case the SOC clocks are setup using GEL files which are added to the target configuration file. For audio benchmark starterkit, this done using GEL files setup explained in the Hardware Setup sectionhÚjÌ#ubeubaubjX)�rÚ#}rÛ#(hÙXT**Application Boot from boot media**\ If you are booting application from a boot media like SD/MMC or flash device, the ROM bootloader or a secondary level bootloader performs the clock configuration. For audio starterkit, this initialization is done using board library which is linked to the secondary bootloader and the benchmark tests. hÚjÄ#häjOhæj[hè}rÜ#(hê]hë]hì]hí]hð]uhòNhóhhô]rÝ#j/)�rÞ#}rß#(hÙXS**Application Boot from boot media**\ If you are booting application from a boot media like SD/MMC or flash device, the ROM bootloader or a secondary level bootloader performs the clock configuration. For audio starterkit, this initialization is done using board library which is linked to the secondary bootloader and the benchmark tests.hÚjÚ#häjOhæj3hè}rà#(hê]hë]hì]hí]hð]uhòMíhô]rá#(jW)�râ#}rã#(hÙX$**Application Boot from boot media**hè}rä#(hê]hë]hì]hí]hð]uhÚjÞ#hô]rå#hýX Application Boot from boot mediaræ#…�rç#}rè#(hÙUhÚjâ#ubahæj_ubhýX-If you are booting application from a boot media like SD/MMC or flash device, the ROM bootloader or a secondary level bootloader performs the clock configuration. For audio starterkit, this initialization is done using board library which is linked to the secondary bootloader and the benchmark tests.ré#…�rê#}rë#(hÙX/\ If you are booting application from a boot media like SD/MMC or flash device, the ROM bootloader or a secondary level bootloader performs the clock configuration. For audio starterkit, this initialization is done using board library which is linked to the secondary bootloader and the benchmark tests.hÚjÞ#ubeubaubeubj))�rì#}rí#(hÙXIf the clocks are not configured the DSP will run at speed of the input clock rather than at the device speed grade. Hence if the clocks are not configured correctly the benchmarks will run much slower than anticipated but the cycle count will show the same.hÚj­#häjOhæj,hè}rî#(hê]hë]hì]hí]hð]uhòNhóhhô]rï#j/)�rð#}rñ#(hÙXIf the clocks are not configured the DSP will run at speed of the input clock rather than at the device speed grade. Hence if the clocks are not configured correctly the benchmarks will run much slower than anticipated but the cycle count will show the same.rò#hÚjì#häjOhæj3hè}ró#(hê]hë]hì]hí]hð]uhòMôhô]rô#hýXIf the clocks are not configured the DSP will run at speed of the input clock rather than at the device speed grade. Hence if the clocks are not configured correctly the benchmarks will run much slower than anticipated but the cycle count will show the same.rõ#…�rö#}r÷#(hÙjò#hÚjð#ubaubaubeubeubhÛ)�rø#}rù#(hÙUhÚj=häjOhæhçhè}rú#(hê]hë]hì]hí]rû#U*benchmarking-using-dsp-tsch-tscl-registersrü#ahð]rý#h“auhòMúhóhhô]rþ#(hö)�rÿ#}r$(hÙX*Benchmarking using DSP TSCH/TSCL registersr$hÚjø#häjOhæhúhè}r$(hê]hë]hì]hí]hð]uhòMúhóhhô]r$hýX*Benchmarking using DSP TSCH/TSCL registersr$…�r$}r$(hÙj$hÚjÿ#ubaubj/)�r$}r$(hÙX:For C66x+ and C674x members of the C6000 family, there is a pair of registers, TSCL and TSCH, which together provide a 64-bit clock value. You can create your own clock function to take advantage of these registers. Simply add this function to your program and it will override the clock function from the library.r $hÚjø#häjOhæj3hè}r $(hê]hë]hì]hí]hð]uhòMühóhhô]r $hýX:For C66x+ and C674x members of the C6000 family, there is a pair of registers, TSCL and TSCH, which together provide a 64-bit clock value. You can create your own clock function to take advantage of these registers. Simply add this function to your program and it will override the clock function from the library.r $…�r $}r$(hÙj $hÚj$ubaubj/)�r$}r$(hÙXvThe Bench mark test application, use the following functions to capture cycle count using the TSCH and TSCL regsiters.r$hÚjø#häjOhæj3hè}r$(hê]hë]hì]hí]hð]uhòMhóhhô]r$hýXvThe Bench mark test application, use the following functions to capture cycle count using the TSCH and TSCL regsiters.r$…�r$}r$(hÙj$hÚj$ubaubjË)�r$}r$(hÙXò/* ---------------------------------------------------------------- */ /* Initialize timer for clock */ TSCL= 0,TSCH=0; /* Compute the overhead of calling _itoll(TSCH, TSCL) twice to get timing info */ /* ---------------------------------------------------------------- */ t_start = _itoll(TSCH, TSCL); t_stop = _itoll(TSCH, TSCL); t_overhead = t_stop - t_start; t_start = _itoll(TSCH, TSCL); t_stop = _itoll(TSCH, TSCL); t_measured = (t_stop - t_start) - t_overhead;hÚjø#häjOhæjÎhè}r$(jG‰jHXcjjhí]hì]hê]jI}hë]hð]uhòMhóhhô]r$hýXò/* ---------------------------------------------------------------- */ /* Initialize timer for clock */ TSCL= 0,TSCH=0; /* Compute the overhead of calling _itoll(TSCH, TSCL) twice to get timing info */ /* ---------------------------------------------------------------- */ t_start = _itoll(TSCH, TSCL); t_stop = _itoll(TSCH, TSCL); t_overhead = t_stop - t_start; t_start = _itoll(TSCH, TSCL); t_stop = _itoll(TSCH, TSCL); t_measured = (t_stop - t_start) - t_overhead;r$…�r$}r$(hÙUhÚj$ubaubeubhÛ)�r$}r$(hÙUhÚj=häjOhæhçhè}r $(hê]hë]hì]hí]r!$Ubenchmark-loggingr"$ahð]r#$h¨auhòMhóhhô]r$$(hö)�r%$}r&$(hÙXBenchmark loggingr'$hÚj$häjOhæhúhè}r($(hê]hë]hì]hí]hð]uhòMhóhhô]r)$hýXBenchmark loggingr*$…�r+$}r,$(hÙj'$hÚj%$ubaubj/)�r-$}r.$(hÙXqThe Audio benchmarks demonstrates two ways to log benchmark numbers. One approach that can be used when code is loaded and run from Code composer studio is to use standard printf messages from the standard IO RTS libraries and the other approach is to use UART based logging that can send the benchmark logs to serial console on the host at the baud rate of 115.2 kbps.r/$hÚj$häjOhæj3hè}r0$(hê]hë]hì]hí]hð]uhòMhóhhô]r1$hýXqThe Audio benchmarks demonstrates two ways to log benchmark numbers. One approach that can be used when code is loaded and run from Code composer studio is to use standard printf messages from the standard IO RTS libraries and the other approach is to use UART based logging that can send the benchmark logs to serial console on the host at the baud rate of 115.2 kbps.r2$…�r3$}r4$(hÙj/$hÚj-$ubaubj/)�r5$}r6$(hÙX'All the benchmark test application include a file Benchmark_log.h and Benchmark_log.c, that are used to log messages based on the definition of macro **IO_CONSOLE**. If IO_CONSOLE is defined the output will be directed to CCS console. If it is not defined, the logs are sent to the UART console.hÚj$häjOhæj3hè}r7$(hê]hë]hì]hí]hð]uhòM hóhhô]r8$(hýX–All the benchmark test application include a file Benchmark_log.h and Benchmark_log.c, that are used to log messages based on the definition of macro r9$…�r:$}r;$(hÙX–All the benchmark test application include a file Benchmark_log.h and Benchmark_log.c, that are used to log messages based on the definition of macro hÚj5$ubjW)�r<$}r=$(hÙX**IO_CONSOLE**hè}r>$(hê]hë]hì]hí]hð]uhÚj5$hô]r?$hýX IO_CONSOLEr@$…�rA$}rB$(hÙUhÚj<$ubahæj_ubhýXƒ. If IO_CONSOLE is defined the output will be directed to CCS console. If it is not defined, the logs are sent to the UART console.rC$…�rD$}rE$(hÙXƒ. If IO_CONSOLE is defined the output will be directed to CCS console. If it is not defined, the logs are sent to the UART console.hÚj5$ubeubj/)�rF$}rG$(hÙXMakefiles and scripts that build binaries to boot from SD card will not have IO_CONSOLE defined hence the benchmark logs will be directed to the UART serial console. In the CCS projects, we define the IO_CONSOLE macro so that the output can be observed on the CCS console.rH$hÚj$häjOhæj3hè}rI$(hê]hë]hì]hí]hð]uhòM&hóhhô]rJ$hýXMakefiles and scripts that build binaries to boot from SD card will not have IO_CONSOLE defined hence the benchmark logs will be directed to the UART serial console. In the CCS projects, we define the IO_CONSOLE macro so that the output can be observed on the CCS console.rK$…�rL$}rM$(hÙjH$hÚjF$ubaubeubhÛ)�rN$}rO$(hÙUhÚj=häjOhæhçhè}rP$(hê]hë]hì]hí]rQ$U6cache-configuration-for-code-data-sections-in-sram-ddrrR$ahð]rS$hwauhòM,hóhhô]rT$(hö)�rU$}rV$(hÙX6Cache configuration for Code/data sections in SRAM/DDRrW$hÚjN$häjOhæhúhè}rX$(hê]hë]hì]hí]hð]uhòM,hóhhô]rY$hýX6Cache configuration for Code/data sections in SRAM/DDRrZ$…�r[$}r\$(hÙjW$hÚjU$ubaubj/)�r]$}r^$(hÙXThe best performance of the DSP can be obtained by placing all the data and instructions in L2 SRAM. If developer application use cases places audio data in onchip shared memory (OCMC or MSMC) and DDR memory then the user will need to enable L1 and L2 cache using CSL API.r_$hÚjN$häjOhæj3hè}r`$(hê]hë]hì]hí]hð]uhòM.hóhhô]ra$hýXThe best performance of the DSP can be obtained by placing all the data and instructions in L2 SRAM. If developer application use cases places audio data in onchip shared memory (OCMC or MSMC) and DDR memory then the user will need to enable L1 and L2 cache using CSL API.rb$…�rc$}rd$(hÙj_$hÚj]$ubaubj/)�re$}rf$(hÙXÐTo enable and utilize cache in the application, please refer to the csl_cacheAux.h file in the pdk__x_x_x/packages/ti/csl folder in the SDK and link the CSL library for the soc into the application code.rg$hÚjN$häjOhæj3hè}rh$(hê]hë]hì]hí]hð]uhòM3hóhhô]ri$hýXÐTo enable and utilize cache in the application, please refer to the csl_cacheAux.h file in the pdk__x_x_x/packages/ti/csl folder in the SDK and link the CSL library for the soc into the application code.rj$…�rk$}rl$(hÙjg$hÚje$ubaubeubhÛ)�rm$}rn$(hÙUhÚj=häjOhæhçhè}ro$(hê]hë]hì]hí]rp$Ubenchmark-resultsrq$ahð]rr$h¥auhòM8hóhhô]rs$(hö)�rt$}ru$(hÙXBenchmark resultsrv$hÚjm$häjOhæhúhè}rw$(hê]hë]hì]hí]hð]uhòM8hóhhô]rx$hýXBenchmark resultsry$…�rz$}r{$(hÙjv$hÚjt$ubaubj:)�r|$}r}$(hÙUhÚjm$häjOhæj=hè}r~$(hê]hë]hì]hí]hð]uhòNhóhhô]r$j@)�r€$}r�$(hÙUhè}r‚$(hí]hì]hê]hë]hð]UcolsKuhÚj|$hô]rƒ$(jE)�r„$}r…$(hÙUhè}r†$(hí]hì]hê]hë]hð]UcolwidthKuhÚj€$hô]hæjIubjE)�r‡$}rˆ$(hÙUhè}r‰$(hí]hì]hê]hë]hð]UcolwidthKuhÚj€$hô]hæjIubjE)�rŠ$}r‹$(hÙUhè}rŒ$(hí]hì]hê]hë]hð]UcolwidthKuhÚj€$hô]hæjIubjS)�r�$}rŽ$(hÙUhè}r�$(hê]hë]hì]hí]hð]uhÚj€$hô]r�$jX)�r‘$}r’$(hÙUhè}r“$(hê]hë]hì]hí]hð]uhÚj�$hô]r”$(j])�r•$}r–$(hÙUhè}r—$(hê]hë]hì]hí]hð]uhÚj‘$hô]r˜$j/)�r™$}rš$(hÙXAlgorithm\DSP ArchitecturehÚj•$häjOhæj3hè}r›$(hê]hë]hì]hí]hð]uhòM;hô]rœ$hýXAlgorithmDSP Architecturer�$…�rž$}rŸ$(hÙXAlgorithm\DSP ArchitecturehÚj™$ubaubahæjjubj])�r $}r¡$(hÙUhè}r¢$(hê]hë]hì]hí]hð]uhÚj‘$hô]r£$j/)�r¤$}r¥$(hÙXC66x DSPr¦$hÚj $häjOhæj3hè}r§$(hê]hë]hì]hí]hð]uhòM;hô]r¨$hýXC66x DSPr©$…�rª$}r«$(hÙj¦$hÚj¤$ubaubahæjjubj])�r¬$}r­$(hÙUhè}r®$(hê]hë]hì]hí]hð]uhÚj‘$hô]r¯$j/)�r°$}r±$(hÙX C674x DSPr²$hÚj¬$häjOhæj3hè}r³$(hê]hë]hì]hí]hð]uhòM;hô]r´$hýX C674x DSPrµ$…�r¶$}r·$(hÙj²$hÚj°$ubaubahæjjubehæj�ubahæj�ubj‘)�r¸$}r¹$(hÙUhè}rº$(hê]hë]hì]hí]hð]uhÚj€$hô]r»$(jX)�r¼$}r½$(hÙUhè}r¾$(hê]hë]hì]hí]hð]uhÚj¸$hô]r¿$(j])�rÀ$}rÁ$(hÙUhè}rÂ$(hê]hë]hì]hí]hð]uhÚj¼$hô]rÃ$j/)�rÄ$}rÅ$(hÙX"Single Precision FFT (256 samples)rÆ$hÚjÀ$häjOhæj3hè}rÇ$(hê]hë]hì]hí]hð]uhòM>hô]rÈ$hýX"Single Precision FFT (256 samples)rÉ$…�rÊ$}rË$(hÙjÆ$hÚjÄ$ubaubahæjjubj])�rÌ$}rÍ$(hÙUhè}rÎ$(hê]hë]hì]hí]hð]uhÚj¼$hô]rÏ$j/)�rÐ$}rÑ$(hÙX 1808 cyclesrÒ$hÚjÌ$häjOhæj3hè}rÓ$(hê]hë]hì]hí]hð]uhòM>hô]rÔ$hýX 1808 cyclesrÕ$…�rÖ$}r×$(hÙjÒ$hÚjÐ$ubaubahæjjubj])�rØ$}rÙ$(hÙUhè}rÚ$(hê]hë]hì]hí]hð]uhÚj¼$hô]rÛ$j/)�rÜ$}rÝ$(hÙX 2314 cyclesrÞ$hÚjØ$häjOhæj3hè}rß$(hê]hë]hì]hí]hð]uhòM>hô]rà$hýX 2314 cyclesrá$…�râ$}rã$(hÙjÞ$hÚjÜ$ubaubahæjjubehæj�ubjX)�rä$}rå$(hÙUhè}ræ$(hê]hë]hì]hí]hð]uhÚj¸$hô]rç$(j])�rè$}ré$(hÙUhè}rê$(hê]hë]hì]hí]hð]uhÚjä$hô]rë$j/)�rì$}rí$(hÙX3Single Precision FIR (128 samples, 16 coefficients)rî$hÚjè$häjOhæj3hè}rï$(hê]hë]hì]hí]hð]uhòMAhô]rð$hýX3Single Precision FIR (128 samples, 16 coefficients)rñ$…�rò$}ró$(hÙjî$hÚjì$ubaubahæjjubj])�rô$}rõ$(hÙUhè}rö$(hê]hë]hì]hí]hð]uhÚjä$hô]r÷$j/)�rø$}rù$(hÙX 2652 cyclesrú$hÚjô$häjOhæj3hè}rû$(hê]hë]hì]hí]hð]uhòMAhô]rü$hýX 2652 cyclesrý$…�rþ$}rÿ$(hÙjú$hÚjø$ubaubahæjjubj])�r%}r%(hÙUhè}r%(hê]hë]hì]hí]hð]uhÚjä$hô]r%j/)�r%}r%(hÙX 4465 cyclesr%hÚj%häjOhæj3hè}r%(hê]hë]hì]hí]hð]uhòMAhô]r%hýX 4465 cyclesr %…�r %}r %(hÙj%hÚj%ubaubahæjjubehæj�ubjX)�r %}r %(hÙUhè}r%(hê]hë]hì]hí]hð]uhÚj¸$hô]r%(j])�r%}r%(hÙUhè}r%(hê]hë]hì]hí]hð]uhÚj %hô]r%j/)�r%}r%(hÙXLSingle Precision IIR (1k samples from 2 channel with 3 stage cascade biquad)r%hÚj%häjOhæj3hè}r%(hê]hë]hì]hí]hð]uhòMEhô]r%hýXLSingle Precision IIR (1k samples from 2 channel with 3 stage cascade biquad)r%…�r%}r%(hÙj%hÚj%ubaubahæjjubj])�r%}r%(hÙUhè}r%(hê]hë]hì]hí]hð]uhÚj %hô]r%j/)�r %}r!%(hÙX 8258 cyclesr"%hÚj%häjOhæj3hè}r#%(hê]hë]hì]hí]hð]uhòMEhô]r$%hýX 8258 cyclesr%%…�r&%}r'%(hÙj"%hÚj %ubaubahæjjubj])�r(%}r)%(hÙUhè}r*%(hê]hë]hì]hí]hð]uhÚj %hô]r+%j/)�r,%}r-%(hÙX 12381 cyclesr.%hÚj(%häjOhæj3hè}r/%(hê]hë]hì]hí]hð]uhòMEhô]r0%hýX 12381 cyclesr1%…�r2%}r3%(hÙj.%hÚj,%ubaubahæjjubehæj�ubehæjÊubehæjËubaubj))�r4%}r5%(hÙX- All code and data for the benchmark tests is placed in L2 Memory. - C6000 compiler version used was CGTools v8.1.3 - Bench marks were obtained from C66x DSP on K2G and C674x DSP on OMAPL138 LCDK - FFT and FIR benchmarks were obtained using the DSPLIB functions.hÚjm$häNhæj,hè}r6%(hê]hë]hì]hí]hð]uhòNhóhhô]r7%jQ)�r8%}r9%(hÙUhè}r:%(jVX-hí]hì]hê]hë]hð]uhÚj4%hô]r;%(jX)�r<%}r=%(hÙXAAll code and data for the benchmark tests is placed in L2 Memory.r>%hè}r?%(hê]hë]hì]hí]hð]uhÚj8%hô]r@%j/)�rA%}rB%(hÙj>%hÚj<%häjOhæj3hè}rC%(hê]hë]hì]hí]hð]uhòMMhô]rD%hýXAAll code and data for the benchmark tests is placed in L2 Memory.rE%…�rF%}rG%(hÙj>%hÚjA%ubaubahæj[ubjX)�rH%}rI%(hÙX.C6000 compiler version used was CGTools v8.1.3rJ%hè}rK%(hê]hë]hì]hí]hð]uhÚj8%hô]rL%j/)�rM%}rN%(hÙjJ%hÚjH%häjOhæj3hè}rO%(hê]hë]hì]hí]hð]uhòMNhô]rP%hýX.C6000 compiler version used was CGTools v8.1.3rQ%…�rR%}rS%(hÙjJ%hÚjM%ubaubahæj[ubjX)�rT%}rU%(hÙXMBench marks were obtained from C66x DSP on K2G and C674x DSP on OMAPL138 LCDKhè}rV%(hê]hë]hì]hí]hð]uhÚj8%hô]rW%j/)�rX%}rY%(hÙXMBench marks were obtained from C66x DSP on K2G and C674x DSP on OMAPL138 LCDKrZ%hÚjT%häjOhæj3hè}r[%(hê]hë]hì]hí]hð]uhòMOhô]r\%hýXMBench marks were obtained from C66x DSP on K2G and C674x DSP on OMAPL138 LCDKr]%…�r^%}r_%(hÙjZ%hÚjX%ubaubahæj[ubjX)�r`%}ra%(hÙX@FFT and FIR benchmarks were obtained using the DSPLIB functions.rb%hè}rc%(hê]hë]hì]hí]hð]uhÚj8%hô]rd%j/)�re%}rf%(hÙjb%hÚj`%häjOhæj3hè}rg%(hê]hë]hì]hí]hð]uhòMQhô]rh%hýX@FFT and FIR benchmarks were obtained using the DSPLIB functions.ri%…�rj%}rk%(hÙjb%hÚje%ubaubahæj[ubehæjTubaubeubhÛ)�rl%}rm%(hÙUhÚj=häjOhæhçhè}rn%(hê]hë]hì]hí]ro%Usupportrp%ahð]rq%hdauhòMThóhhô]rr%(hö)�rs%}rt%(hÙXSupportru%hÚjl%häjOhæhúhè}rv%(hê]hë]hì]hí]hð]uhòMThóhhô]rw%hýXSupportrx%…�ry%}rz%(hÙju%hÚjs%ubaubj/)�r{%}r|%(hÙX\For questions, feature requests and bug reports, please use the TI E2E Forum provided below:r}%hÚjl%häjOhæj3hè}r~%(hê]hë]hì]hí]hð]uhòMVhóhhô]r%hýX\For questions, feature requests and bug reports, please use the TI E2E Forum provided below:r€%…�r�%}r‚%(hÙj}%hÚj{%ubaubjQ)�rƒ%}r„%(hÙUhÚjl%häjOhæjThè}r…%(jVX-hí]hì]hê]hë]hð]uhòMYhóhhô]r†%jX)�r‡%}rˆ%(hÙXC`E2E Processor Support `__ hÚjƒ%häjOhæj[hè}r‰%(hê]hë]hì]hí]hð]uhòNhóhhô]rŠ%j/)�r‹%}rŒ%(hÙXB`E2E Processor Support `__r�%hÚj‡%häjOhæj3hè}rŽ%(hê]hë]hì]hí]hð]uhòMYhô]r�%j)�r�%}r‘%(hÙj�%hè}r’%(UnameXE2E Processor SupportjX&https://e2e.ti.com/support/processors/hí]hì]hê]hë]hð]uhÚj‹%hô]r“%hýXE2E Processor Supportr”%…�r•%}r–%(hÙUhÚj�%ubahæjubaubaubaubeubhÛ)�r—%}r˜%(hÙUhÚj=häjOhæhçhè}r™%(hê]hë]hì]hí]rš%Uadditional-resourcesr›%ahð]rœ%h[auhòM]hóhhô]r�%(hö)�rž%}rŸ%(hÙXAdditional resourcesr %hÚj—%häjOhæhúhè}r¡%(hê]hë]hì]hí]hð]uhòM]hóhhô]r¢%hýXAdditional resourcesr£%…�r¤%}r¥%(hÙj %hÚjž%ubaubj/)�r¦%}r§%(hÙX**White papers:**r¨%hÚj—%häjOhæj3hè}r©%(hê]hë]hì]hí]hð]uhòM_hóhhô]rª%jW)�r«%}r¬%(hÙj¨%hè}r­%(hê]hë]hì]hí]hð]uhÚj¦%hô]r®%hýX White papers:r¯%…�r°%}r±%(hÙUhÚj«%ubahæj_ubaubjQ)�r²%}r³%(hÙUhÚj—%häjOhæjThè}r´%(jVX-hí]hì]hê]hë]hð]uhòMahóhhô]rµ%(jX)�r¶%}r·%(hÙX_`Introduction to TMS320C6000 DSP Optimization `__hÚj²%häjOhæj[hè}r¸%(hê]hë]hì]hí]hð]uhòNhóhhô]r¹%j/)�rº%}r»%(hÙX_`Introduction to TMS320C6000 DSP Optimization `__r¼%hÚj¶%häjOhæj3hè}r½%(hê]hë]hì]hí]hð]uhòMahô]r¾%j)�r¿%}rÀ%(hÙj¼%hè}rÁ%(UnameX,Introduction to TMS320C6000 DSP OptimizationjX,http://www.ti.com/lit/an/sprabf2/sprabf2.pdfhí]hì]hê]hë]hð]uhÚjº%hô]rÂ%hýX,Introduction to TMS320C6000 DSP OptimizationrÃ%…�rÄ%}rÅ%(hÙUhÚj¿%ubahæjubaubaubjX)�rÆ%}rÇ%(hÙXF`TI DSP Benchmarking `__hÚj²%häjOhæj[hè}rÈ%(hê]hë]hì]hí]hð]uhòNhóhhô]rÉ%j/)�rÊ%}rË%(hÙXF`TI DSP Benchmarking `__rÌ%hÚjÆ%häjOhæj3hè}rÍ%(hê]hë]hì]hí]hð]uhòMchô]rÎ%j)�rÏ%}rÐ%(hÙjÌ%hè}rÑ%(UnameXTI DSP BenchmarkingjX,http://www.ti.com/lit/an/sprac13/sprac13.pdfhí]hì]hê]hë]hð]uhÚjÊ%hô]rÒ%hýXTI DSP BenchmarkingrÓ%…�rÔ%}rÕ%(hÙUhÚjÏ%ubahæjubaubaubjX)�rÖ%}r×%(hÙXK`Optimizing Loops on C66x `__hÚj²%häjOhæj[hè}rØ%(hê]hë]hì]hí]hð]uhòNhóhhô]rÙ%j/)�rÚ%}rÛ%(hÙXK`Optimizing Loops on C66x `__rÜ%hÚjÖ%häjOhæj3hè}rÝ%(hê]hë]hì]hí]hð]uhòMehô]rÞ%j)�rß%}rà%(hÙjÜ%hè}rá%(UnameXOptimizing Loops on C66xjX,http://www.ti.com/lit/an/sprabg7/sprabg7.pdfhí]hì]hê]hë]hð]uhÚjÚ%hô]râ%hýXOptimizing Loops on C66xrã%…�rä%}rå%(hÙUhÚjß%ubahæjubaubaubjX)�ræ%}rç%(hÙXŒ`TI’s new TMS320C66x fixed and floating-point DSP core conquers the ‘Need for Speed’ `__hÚj²%häjOhæj[hè}rè%(hê]hë]hì]hí]hð]uhòNhóhhô]ré%j/)�rê%}rë%(hÙXŒ`TI’s new TMS320C66x fixed and floating-point DSP core conquers the ‘Need for Speed’ `__rì%hÚjæ%häjOhæj3hè}rí%(hê]hë]hì]hí]hð]uhòMghô]rî%j)�rï%}rð%(hÙjì%hè}rñ%(UnameXYTI’s new TMS320C66x fixed and floating-point DSP core conquers the ‘Need for Speed’jX,http://www.ti.com/lit/wp/spry147/spry147.pdfhí]hì]hê]hë]hð]uhÚjê%hô]rò%hýXYTI’s new TMS320C66x fixed and floating-point DSP core conquers the ‘Need for Speed’ró%…�rô%}rõ%(hÙUhÚjï%ubahæjubaubaubjX)�rö%}r÷%(hÙXÑ`Efficient fixed- and floating-point code execution on the TMS320C674x core delivers faster code development and reduces system cost with improved performance `__ hÚj²%häjOhæj[hè}rø%(hê]hë]hì]hí]hð]uhòNhóhhô]rù%j/)�rú%}rû%(hÙXÐ`Efficient fixed- and floating-point code execution on the TMS320C674x core delivers faster code development and reduces system cost with improved performance `__rü%hÚjö%häjOhæj3hè}rý%(hê]hë]hì]hí]hð]uhòMihô]rþ%j)�rÿ%}r&(hÙjü%hè}r&(UnameX�Efficient fixed- and floating-point code execution on the TMS320C674x core delivers faster code development and reduces system cost with improved performancejX,http://www.ti.com/lit/wp/spry127/spry127.pdfhí]hì]hê]hë]hð]uhÚjú%hô]r&hýX�Efficient fixed- and floating-point code execution on the TMS320C674x core delivers faster code development and reduces system cost with improved performancer&…�r&}r&(hÙUhÚjÿ%ubahæjubaubaubeubeubeubhäjOhæhçhè}r&(hê]r&X introductionr&ahë]hì]hí]r &Uid22r &ahð]uhòKhóhhô]r &(hö)�r &}r &(hÙX Introductionr&hÚj;häjOhæhúhè}r&(hê]hë]hì]hí]hð]uhòKhóhhô]r&hýX Introductionr&…�r&}r&(hÙj&hÚj &ubaubj/)�r&}r&(hÙX‘The Audio Benchmark Starterkit is intended to provide an easy and quick way to benchmark key audio functions on C66x and C674x DSP devices. This package is intended for users who are new to the TI DSP development environment and provides an easy path to compare core audio benchmarks to other implementations. For the purposes of benchmarking we have selected the following signal processing functionsr&hÚj;häjOhæj3hè}r&(hê]hë]hì]hí]hð]uhòKhóhhô]r&hýX‘The Audio Benchmark Starterkit is intended to provide an easy and quick way to benchmark key audio functions on C66x and C674x DSP devices. This package is intended for users who are new to the TI DSP development environment and provides an easy path to compare core audio benchmarks to other implementations. For the purposes of benchmarking we have selected the following signal processing functionsr&…�r&}r&(hÙj&hÚj&ubaubjQ)�r&}r&(hÙUhÚj;häjOhæjThè}r&(jVX-hí]hì]hê]hë]hð]uhòK hóhhô]r&(jX)�r &}r!&(hÙX$Complex Fast Fourier transform (FFT)r"&hÚj&häjOhæj[hè}r#&(hê]hë]hì]hí]hð]uhòNhóhhô]r$&j/)�r%&}r&&(hÙj"&hÚj &häjOhæj3hè}r'&(hê]hë]hì]hí]hð]uhòK hô]r(&hýX$Complex Fast Fourier transform (FFT)r)&…�r*&}r+&(hÙj"&hÚj%&ubaubaubjX)�r,&}r-&(hÙX8Real Block FIR filters with 128 samples, 16 coefficientsr.&hÚj&häjOhæj[hè}r/&(hê]hë]hì]hí]hð]uhòNhóhhô]r0&j/)�r1&}r2&(hÙj.&hÚj,&häjOhæj3hè}r3&(hê]hë]hì]hí]hð]uhòKhô]r4&hýX8Real Block FIR filters with 128 samples, 16 coefficientsr5&…�r6&}r7&(hÙj.&hÚj1&ubaubaubjX)�r8&}r9&(hÙXBCascaded Biquad (2 channels, 3 stages) IIR filter for 128 Samples hÚj&häjOhæj[hè}r:&(hê]hë]hì]hí]hð]uhòNhóhhô]r;&j/)�r<&}r=&(hÙXACascaded Biquad (2 channels, 3 stages) IIR filter for 128 Samplesr>&hÚj8&häjOhæj3hè}r?&(hê]hë]hì]hí]hð]uhòKhô]r@&hýXACascaded Biquad (2 channels, 3 stages) IIR filter for 128 SamplesrA&…�rB&}rC&(hÙj>&hÚj<&ubaubaubeubj/)�rD&}rE&(hÙXÍThe package is also a great way to get familiar with benchmarking functions on TI DSP with or without TI`s Code Composer Studio environment. It also intends to provide guidance on the compiler options and code/data memory placement that allows developers to obtain optimal performance on TI DSP architecture. The package also demonstrates use of signal processing functions from TI C6000 DSPLIB which contains several kernels optimized for TI DSP architectures.rF&hÚj;häjOhæj3hè}rG&(hê]hë]hì]hí]hð]uhòKhóhhô]rH&hýXÍThe package is also a great way to get familiar with benchmarking functions on TI DSP with or without TI`s Code Composer Studio environment. It also intends to provide guidance on the compiler options and code/data memory placement that allows developers to obtain optimal performance on TI DSP architecture. The package also demonstrates use of signal processing functions from TI C6000 DSPLIB which contains several kernels optimized for TI DSP architectures.rI&…�rJ&}rK&(hÙjF&hÚjD&ubaubeubhäjOhæj>hè}rL&(hê]UlevelKhí]hì]rM&j &aUsourcejOhë]hð]UlineKUtypejAuhòKhóhhô]rN&j/)�rO&}rP&(hÙX/Duplicate implicit target name: "introduction".hè}rQ&(hê]hë]hì]hí]hð]uhÚj9hô]rR&hýX/Duplicate implicit target name: "introduction".rS&…�rT&}rU&(hÙUhÚjO&ubahæj3ubaubj¬)�rV&}rW&(hÙUhÚj8häjOhæj>hè}rX&(hê]UlevelKhí]hì]UsourcejOhë]hð]UlineK�UtypeUWARNINGrY&uhòK€hóhhô]rZ&j/)�r[&}r\&(hÙX%Line block ends without a blank line.hè}r]&(hê]hë]hì]hí]hð]uhÚjV&hô]r^&hýX%Line block ends without a blank line.r_&…�r`&}ra&(hÙUhÚj[&ubahæj3ubaubj¬)�rb&}rc&(hÙUhÚj8häjOhæj>hè}rd&(hê]UlevelKhí]hì]UsourcejOhë]hð]UlineK�UtypejY&uhòK�hóhhô]re&j/)�rf&}rg&(hÙX%Line block ends without a blank line.hè}rh&(hê]hë]hì]hí]hð]uhÚjb&hô]ri&hýX%Line block ends without a blank line.rj&…�rk&}rl&(hÙUhÚjf&ubahæj3ubaubj¬)�rm&}rn&(hÙUhÚj8häjOhæj>hè}ro&(hê]UlevelKhí]hì]UsourcejOhë]hð]UlineK¸UtypejfuhòK¸hóhhô]rp&(j/)�rq&}rr&(hÙX<Content block expected for the "note" directive; none found.hè}rs&(hê]hë]hì]hí]hð]uhÚjm&hô]rt&hýX<Content block expected for the "note" directive; none found.ru&…�rv&}rw&(hÙUhÚjq&ubahæj3ubjË)�rx&}ry&(hÙX .. note::rz&hè}r{&(jjhí]hì]hê]hë]hð]uhÚjm&hô]r|&hýX .. note::r}&…�r~&}r&(hÙUhÚjx&ubahæjÎubeubj¬)�r€&}r�&(hÙUhÚj8häjOhæj>hè}r‚&(hê]UlevelKhí]hì]UsourcejOhë]hð]UlineK¹UtypejY&uhòK¸hóhhô]rƒ&j/)�r„&}r…&(hÙX?Explicit markup ends without a blank line; unexpected unindent.hè}r†&(hê]hë]hì]hí]hð]uhÚj€&hô]r‡&hýX?Explicit markup ends without a blank line; unexpected unindent.rˆ&…�r‰&}rŠ&(hÙUhÚj„&ubahæj3ubaubj¬)�r‹&}rŒ&(hÙUhÚjßhäjOhæj>hè}r�&(hê]UlevelKhí]hì]UsourcejOhë]hð]UlineMUtypejY&uhòMhóhhô]rŽ&j/)�r�&}r�&(hÙX%Line block ends without a blank line.hè}r‘&(hê]hë]hì]hí]hð]uhÚj‹&hô]r’&hýX%Line block ends without a blank line.r“&…�r”&}r•&(hÙUhÚj�&ubahæj3ubaubj¬)�r–&}r—&(hÙUhÚjßhäjOhæj>hè}r˜&(hê]UlevelKhí]hì]UsourcejOhë]hð]UlineM)UtypejY&uhòM(hóhhô]r™&j/)�rš&}r›&(hÙX%Line block ends without a blank line.hè}rœ&(hê]hë]hì]hí]hð]uhÚj–&hô]r�&hýX%Line block ends without a blank line.rž&…�rŸ&}r &(hÙUhÚjš&ubahæj3ubaubj¬)�r¡&}r¢&(hÙUhÚjßhäjOhæj>hè}r£&(hê]UlevelKhí]hì]UsourcejOhë]hð]UlineM2UtypejfuhòM4hóhhô]r¤&(j/)�r¥&}r¦&(hÙXMalformed table.hè}r§&(hê]hë]hì]hí]hð]uhÚj¡&hô]r¨&hýXMalformed table.r©&…�rª&}r«&(hÙUhÚj¥&ubahæj3ubjË)�r¬&}r­&(hÙXÇ+--------------------------------+------------------------------+ | **Output in CCS IO Console :** | **Output in UART Console :** | +================================+==============================+hè}r®&(jjhí]hì]hê]hë]hð]uhÚj¡&hô]r¯&hýXÇ+--------------------------------+------------------------------+ | **Output in CCS IO Console :** | **Output in UART Console :** | +================================+==============================+r°&…�r±&}r²&(hÙUhÚj¬&ubahæjÎubeubj¬)�r³&}r´&(hÙUhÚjßhäjOhæj>hè}rµ&(hê]UlevelKhí]hì]UsourcejOhë]hð]UlineM5UtypejY&uhòM4hóhhô]r¶&j/)�r·&}r¸&(hÙX Blank line required after table.hè}r¹&(hê]hë]hì]hí]hð]uhÚj³&hô]rº&hýX Blank line required after table.r»&…�r¼&}r½&(hÙUhÚj·&ubahæj3ubaubj¬)�r¾&}r¿&(hÙUhÚjßhäjOhæj>hè}rÀ&(hê]UlevelKhí]hì]UsourcejOhë]hð]UlineM6UtypejY&uhòM5hóhhô]rÁ&j/)�rÂ&}rÃ&(hÙX?Explicit markup ends without a blank line; unexpected unindent.hè}rÄ&(hê]hë]hì]hí]hð]uhÚj¾&hô]rÅ&hýX?Explicit markup ends without a blank line; unexpected unindent.rÆ&…�rÇ&}rÈ&(hÙUhÚjÂ&ubahæj3ubaubj¬)�rÉ&}rÊ&(hÙUhÚj—%häXainternal padding after source/rtos/Examples_and_Demonstrations/Audio_Benchmark_Starterkit.rst.incrË&hæj>hè}rÌ&(hê]UlevelKhí]hì]UsourcejOhë]hð]UlineMnUtypejfuhòMphóhhô]rÍ&(j/)�rÎ&}rÏ&(hÙX;Content block expected for the "raw" directive; none found.hè}rÐ&(hê]hë]hì]hí]hð]uhÚjÉ&hô]rÑ&hýX;Content block expected for the "raw" directive; none found.rÒ&…�rÓ&}rÔ&(hÙUhÚjÎ&ubahæj3ubjË)�rÕ&}rÖ&(hÙX.. raw:: html hè}r×&(jjhí]hì]hê]hë]hð]uhÚjÉ&hô]rØ&hýX.. raw:: html rÙ&…�rÚ&}rÛ&(hÙUhÚjÕ&ubahæjÎubeubj¬)�rÜ&}rÝ&(hÙUhÚhÛ)�rÞ&}rß&(hÙUjKhÚhÛ)�rà&}rá&(hÙUhÚhhähåhæhçhè}râ&(hê]hë]hì]hí]rã&Uaudio-pre-processing-demorä&ahð]rå&hÂauhòKhóhhô]ræ&(hö)�rç&}rè&(hÙXAudio Pre-Processing Demoré&hÚjà&hähåhæhúhè}rê&(hê]hë]hì]hí]hð]uhòKhóhhô]rë&hýXAudio Pre-Processing Demorì&…�rí&}rî&(hÙjé&hÚjç&ubaubj )�rï&}rð&(hÙXOhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Audio_Pre-ProcessinghÚjà&häj XDsource/rtos/Examples_and_Demonstrations/Audio_Pre_Processing.rst.incrñ&…�rò&}ró&bhæjhè}rô&(jjhí]hì]hê]hë]hð]uhòKhóhhô]rõ&hýXOhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Audio_Pre-Processingrö&…�r÷&}rø&(hÙUhÚjï&ubaubjÞ&hÛ)�rù&}rú&(hÙUjKhÚjà&häjò&hæhçhè}rû&(hê]rü&X requirementsrý&ahë]hì]hí]rþ&Uid24rÿ&ahð]uhòK.hóhhô]r'(hö)�r'}r'(hÙX Requirementsr'hÚjù&häjò&hæhúhè}r'(hê]hë]hì]hí]hð]uhòK.hóhhô]r'hýX Requirementsr'…�r'}r'(hÙj'hÚj'ubaubj/)�r '}r '(hÙX?The following materials are required to run this demonstration:r 'hÚjù&häjò&hæj3hè}r '(hê]hë]hì]hí]hð]uhòK0hóhhô]r 'hýX?The following materials are required to run this demonstration:r'…�r'}r'(hÙj 'hÚj 'ubaubj/)�r'}r'(hÙXHardwarer'hÚjù&häjò&hæj3hè}r'(hê]hë]hì]hí]hð]uhòK2hóhhô]r'hýXHardwarer'…�r'}r'(hÙj'hÚj'ubaubjQ)�r'}r'(hÙUhÚjù&häjò&hæjThè}r'(jVX-hí]hì]hê]hë]hð]uhòK4hóhhô]r'(jX)�r'}r'(hÙXTI EVMs (see list above)r'hÚj'häjò&hæj[hè}r '(hê]hë]hì]hí]hð]uhòNhóhhô]r!'j/)�r"'}r#'(hÙj'hÚj'häjò&hæj3hè}r$'(hê]hë]hì]hí]hð]uhòK4hô]r%'hýXTI EVMs (see list above)r&'…�r''}r('(hÙj'hÚj"'ubaubaubjX)�r)'}r*'(hÙX7CMB for K2G and OMAP-L137, if using circular microphoner+'hÚj'häjò&hæj[hè}r,'(hê]hë]hì]hí]hð]uhòNhóhhô]r-'j/)�r.'}r/'(hÙj+'hÚj)'häjò&hæj3hè}r0'(hê]hë]hì]hí]hð]uhòK5hô]r1'hýX7CMB for K2G and OMAP-L137, if using circular microphoner2'…�r3'}r4'(hÙj+'hÚj.'ubaubaubjX)�r5'}r6'(hÙX-Blackhawk USB560 JTAG Emulator (BH-USB-560m) hÚj'häjò&hæj[hè}r7'(hê]hë]hì]hí]hð]uhòNhóhhô]r8'j/)�r9'}r:'(hÙX,Blackhawk USB560 JTAG Emulator (BH-USB-560m)r;'hÚj5'häjò&hæj3hè}r<'(hê]hë]hì]hí]hð]uhòK6hô]r='hýX,Blackhawk USB560 JTAG Emulator (BH-USB-560m)r>'…�r?'}r@'(hÙj;'hÚj9'ubaubaubeubj/)�rA'}rB'(hÙXSoftwarerC'hÚjù&häjò&hæj3hè}rD'(hê]hë]hì]hí]hð]uhòK8hóhhô]rE'hýXSoftwarerF'…�rG'}rH'(hÙjC'hÚjA'ubaubjQ)�rI'}rJ'(hÙUhÚjù&häjò&hæjThè}rK'(jVX-hí]hì]hê]hë]hð]uhòK:hóhhô]rL'(jX)�rM'}rN'(hÙX#Processor-SDK RTOS (4.0 or greater)rO'hÚjI'häjò&hæj[hè}rP'(hê]hë]hì]hí]hð]uhòNhóhhô]rQ'j/)�rR'}rS'(hÙjO'hÚjM'häjò&hæj3hè}rT'(hê]hë]hì]hí]hð]uhòK:hô]rU'hýX#Processor-SDK RTOS (4.0 or greater)rV'…�rW'}rX'(hÙjO'hÚjR'ubaubaubjX)�rY'}rZ'(hÙXCode Composer Studior['hÚjI'häjò&hæj[hè}r\'(hê]hë]hì]hí]hð]uhòNhóhhô]r]'j/)�r^'}r_'(hÙj['hÚjY'häjò&hæj3hè}r`'(hê]hë]hì]hí]hð]uhòK;hô]ra'hýXCode Composer Studiorb'…�rc'}rd'(hÙj['hÚj^'ubaubaubjX)�re'}rf'(hÙX7AER 17.0.0.0 (C64P) (http://www.ti.com/tool/telecomlib)rg'hÚjI'häjò&hæj[hè}rh'(hê]hë]hì]hí]hð]uhòNhóhhô]ri'j/)�rj'}rk'(hÙjg'hÚje'häjò&hæj3hè}rl'(hê]hë]hì]hí]hð]uhòK((hÙXDWhen woke up, the main thread will perform the BF, ASNR, MSS and DRCr?(hÚj(häjò&hæj[hè}r@((hê]hë]hì]hí]hð]uhòNhóhhô]rA(j/)�rB(}rC((hÙj?(hÚj=(häjò&hæj3hè}rD((hê]hë]hì]hí]hð]uhòK^hô]rE(hýXDWhen woke up, the main thread will perform the BF, ASNR, MSS and DRCrF(…�rG(}rH((hÙj?(hÚjB(ubaubaubjX)�rI(}rJ((hÙXLThe main thread will also output the final processing audio frame to the DDRhÚj(häjò&hæj[hè}rK((hê]hë]hì]hí]hð]uhòNhóhhô]rL(j/)�rM(}rN((hÙXLThe main thread will also output the final processing audio frame to the DDRrO(hÚjI(häjò&hæj3hè}rP((hê]hë]hì]hí]hð]uhòK_hô]rQ(hýXLThe main thread will also output the final processing audio frame to the DDRrR(…�rS(}rT((hÙjO(hÚjM(ubaubaubjX)�rU(}rV((hÙXqAfter completed the audio frame processing, the main thread will wait on semaphore for next audio frames to come hÚj(häjò&hæj[hè}rW((hê]hë]hì]hí]hð]uhòNhóhhô]rX(j/)�rY(}rZ((hÙXpAfter completed the audio frame processing, the main thread will wait on semaphore for next audio frames to comer[(hÚjU(häjò&hæj3hè}r\((hê]hë]hì]hí]hð]uhòKahô]r](hýXpAfter completed the audio frame processing, the main thread will wait on semaphore for next audio frames to comer^(…�r_(}r`((hÙj[(hÚjY(ubaubaubeubjÎ)�ra(}rb((hÙUhÚjþ'häjò&hæjÑhè}rc((hê]hë]hì]hí]hð]uhòKdhóhhô]rd(jÔ)�re(}rf((hÙUj×KhÚja(häjò&hæhòhè}rg((hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubeubhÛ)�rh(}ri((hÙUhÚjà&häjò&hæhçhè}rj((hê]hë]hì]hí]rk(Ufile-based-demorl(ahð]rm(hMauhòKghóhhô]rn((hö)�ro(}rp((hÙXFile Based Demorq(hÚjh(häjò&hæhúhè}rr((hê]hë]hì]hí]hð]uhòKghóhhô]rs(hýXFile Based Demort(…�ru(}rv((hÙjq(hÚjo(ubaubhÛ)�rw(}rx((hÙUjKhÚjh(häjò&hæhçhè}ry((hê]rz(Xhow to build the demor{(ahë]hì]hí]r|(Uid27r}(ahð]uhòKjhóhhô]r~((hö)�r(}r€((hÙXHow to Build the Demor�(hÚjw(häjò&hæhúhè}r‚((hê]hë]hì]hí]hð]uhòKjhóhhô]rƒ(hýXHow to Build the Demor„(…�r…(}r†((hÙj�(hÚj(ubaubj))�r‡(}rˆ((hÙXÖIn order to make the following build procedure to work, AER and VOLIB have to be installed at the same location as the Processor SDK RTOS and make sure the AER 17.0.0.0 (C64P) is installed at aer_c64Px_obj_17_0_0_0hÚjw(häjò&hæj,hè}r‰((hê]hë]hì]hí]hð]uhòNhóhhô]rŠ(j/)�r‹(}rŒ((hÙXÖIn order to make the following build procedure to work, AER and VOLIB have to be installed at the same location as the Processor SDK RTOS and make sure the AER 17.0.0.0 (C64P) is installed at aer_c64Px_obj_17_0_0_0r�(hÚj‡(häjò&hæj3hè}rŽ((hê]hë]hì]hí]hð]uhòKmhô]r�(hýXÖIn order to make the following build procedure to work, AER and VOLIB have to be installed at the same location as the Processor SDK RTOS and make sure the AER 17.0.0.0 (C64P) is installed at aer_c64Px_obj_17_0_0_0r�(…�r‘(}r’((hÙj�(hÚj‹(ubaubaubhÛ)�r“(}r”((hÙUjKhÚjw(häjò&hæhçhè}r•((hê]r–(j(ahë]hì]hí]r—(Uid28r˜(ahð]uhòKshóhhô]r™((hö)�rš(}r›((hÙX AM572x GP EVMrœ(hÚj“(häjò&hæhúhè}r�((hê]hë]hì]hí]hð]uhòKshóhhô]rž(hýX AM572x GP EVMrŸ(…�r (}r¡((hÙjœ(hÚjš(ubaubj/)�r¢(}r£((hÙX**For Linux:**r¤(hÚj“(häjò&hæj3hè}r¥((hê]hë]hì]hí]hð]uhòKuhóhhô]r¦(jW)�r§(}r¨((hÙj¤(hè}r©((hê]hë]hì]hí]hð]uhÚj¢(hô]rª(hýX For Linux:r«(…�r¬(}r­((hÙUhÚj§(ubahæj_ubaubjQ)�r®(}r¯((hÙUhÚj“(häjò&hæjThè}r°((jVX-hí]hì]hê]hë]hð]uhòKwhóhhô]r±(jX)�r²(}r³((hÙXRUnder processor_sdk_rtos_am57xx_4_xx_xx_xx directory, run the following commands: hÚj®(häjò&hæj[hè}r´((hê]hë]hì]hí]hð]uhòNhóhhô]rµ(j/)�r¶(}r·((hÙXQUnder processor_sdk_rtos_am57xx_4_xx_xx_xx directory, run the following commands:r¸(hÚj²(häjò&hæj3hè}r¹((hê]hë]hì]hí]hð]uhòKwhô]rº(hýXQUnder processor_sdk_rtos_am57xx_4_xx_xx_xx directory, run the following commands:r»(…�r¼(}r½((hÙj¸(hÚj¶(ubaubaubaubjË)�r¾(}r¿((hÙXÆsource ./setupenv.sh make audio_preproc_clean make audio_preproc the OUT files for DSP1 will be built at processor_sdk_rtos_am57xx_4_xx_xx_xx/demos/audio-preprocessing/file_demo_bios/am572x/buildhÚj“(häjò&hæjÎhè}rÀ((jjhí]hì]hê]hë]hð]uhòMŠhóhhô]rÁ(hýXÆsource ./setupenv.sh make audio_preproc_clean make audio_preproc the OUT files for DSP1 will be built at processor_sdk_rtos_am57xx_4_xx_xx_xx/demos/audio-preprocessing/file_demo_bios/am572x/buildrÂ(…�rÃ(}rÄ((hÙUhÚj¾(ubaubj/)�rÅ(}rÆ((hÙX**For Windows:**rÇ(hÚj“(häjò&hæj3hè}rÈ((hê]hë]hì]hí]hð]uhòK‚hóhhô]rÉ(jW)�rÊ(}rË((hÙjÇ(hè}rÌ((hê]hë]hì]hí]hð]uhÚjÅ(hô]rÍ(hýX For Windows:rÎ(…�rÏ(}rÐ((hÙUhÚjÊ(ubahæj_ubaubjQ)�rÑ(}rÒ((hÙUhÚj“(häjò&hæjThè}rÓ((jVX-hí]hì]hê]hë]hð]uhòK„hóhhô]rÔ(jX)�rÕ(}rÖ((hÙXRUnder processor_sdk_rtos_am57xx_4_00_xx_xx directory, run the following commands: hÚjÑ(häjò&hæj[hè}r×((hê]hë]hì]hí]hð]uhòNhóhhô]rØ(j/)�rÙ(}rÚ((hÙXQUnder processor_sdk_rtos_am57xx_4_00_xx_xx directory, run the following commands:rÛ(hÚjÕ(häjò&hæj3hè}rÜ((hê]hë]hì]hí]hð]uhòK„hô]rÝ(hýXQUnder processor_sdk_rtos_am57xx_4_00_xx_xx directory, run the following commands:rÞ(…�rß(}rà((hÙjÛ(hÚjÙ(ubaubaubaubjË)�rá(}râ((hÙXÀsetupenv.bat gmake audio_preproc_clean gmake audio_preproc the OUT files for DSP1 will be built at processor_sdk_rtos_am57xx_4_xx_xx_xx\demos\audio-preprocessing\file_demo_bios\am572x\buildhÚj“(häjò&hæjÎhè}rã((jjhí]hì]hê]hë]hð]uhòM—hóhhô]rä(hýXÀsetupenv.bat gmake audio_preproc_clean gmake audio_preproc the OUT files for DSP1 will be built at processor_sdk_rtos_am57xx_4_xx_xx_xx\demos\audio-preprocessing\file_demo_bios\am572x\buildrå(…�ræ(}rç((hÙUhÚjá(ubaubeubhÛ)�rè(}ré((hÙUjKhÚjw(häjò&hæhçhè}rê((hê]rë(Xk2g evmrì(ahë]hì]hí]rí(Uk2g-evmrî(ahð]uhòK�hóhhô]rï((hö)�rð(}rñ((hÙXK2G EVMrò(hÚjè(häjò&hæhúhè}ró((hê]hë]hì]hí]hð]uhòK�hóhhô]rô(hýXK2G EVMrõ(…�rö(}r÷((hÙjò(hÚjð(ubaubj/)�rø(}rù((hÙX**For Linux:**rú(hÚjè(häjò&hæj3hè}rû((hê]hë]hì]hí]hð]uhòK’hóhhô]rü(jW)�rý(}rþ((hÙjú(hè}rÿ((hê]hë]hì]hí]hð]uhÚjø(hô]r)hýX For Linux:r)…�r)}r)(hÙUhÚjý(ubahæj_ubaubjQ)�r)}r)(hÙUhÚjè(häjò&hæjThè}r)(jVX-hí]hì]hê]hë]hð]uhòK”hóhhô]r)jX)�r)}r )(hÙXOUnder processor_sdk_rtos_k2g_4_xx_xx_xx directory, run the following commands: hÚj)häjò&hæj[hè}r )(hê]hë]hì]hí]hð]uhòNhóhhô]r )j/)�r )}r )(hÙXNUnder processor_sdk_rtos_k2g_4_xx_xx_xx directory, run the following commands:r)hÚj)häjò&hæj3hè}r)(hê]hë]hì]hí]hð]uhòK”hô]r)hýXNUnder processor_sdk_rtos_k2g_4_xx_xx_xx directory, run the following commands:r)…�r)}r)(hÙj)hÚj )ubaubaubaubjË)�r)}r)(hÙX¿source ./setupenv.sh make audio_preproc_clean make audio_preproc the OUT files for DSP will be built at processor_sdk_rtos_k2g_4_xx_xx_xx/demos/audio-preprocessing/file_demo_bios/k2g/buildhÚjè(häjò&hæjÎhè}r)(jjhí]hì]hê]hë]hð]uhòM§hóhhô]r)hýX¿source ./setupenv.sh make audio_preproc_clean make audio_preproc the OUT files for DSP will be built at processor_sdk_rtos_k2g_4_xx_xx_xx/demos/audio-preprocessing/file_demo_bios/k2g/buildr)…�r)}r)(hÙUhÚj)ubaubj/)�r)}r)(hÙX**For Windows:**r)hÚjè(häjò&hæj3hè}r)(hê]hë]hì]hí]hð]uhòKŸhóhhô]r)jW)�r )}r!)(hÙj)hè}r")(hê]hë]hì]hí]hð]uhÚj)hô]r#)hýX For Windows:r$)…�r%)}r&)(hÙUhÚj )ubahæj_ubaubjQ)�r')}r()(hÙUhÚjè(häjò&hæjThè}r))(jVX-hí]hì]hê]hë]hð]uhòK¡hóhhô]r*)jX)�r+)}r,)(hÙXOUnder processor_sdk_rtos_k2g_4_00_xx_xx directory, run the following commands: hÚj')häjò&hæj[hè}r-)(hê]hë]hì]hí]hð]uhòNhóhhô]r.)j/)�r/)}r0)(hÙXNUnder processor_sdk_rtos_k2g_4_00_xx_xx directory, run the following commands:r1)hÚj+)häjò&hæj3hè}r2)(hê]hë]hì]hí]hð]uhòK¡hô]r3)hýXNUnder processor_sdk_rtos_k2g_4_00_xx_xx directory, run the following commands:r4)…�r5)}r6)(hÙj1)hÚj/)ubaubaubaubjË)�r7)}r8)(hÙX¹setupenv.bat gmake audio_preproc_clean gmake audio_preproc the OUT files for DSP will be built at processor_sdk_rtos_k2g_4_xx_xx_xx\demos\audio-preprocessing\file_demo_bios\k2g\buildhÚjè(häjò&hæjÎhè}r9)(jjhí]hì]hê]hë]hð]uhòM´hóhhô]r:)hýX¹setupenv.bat gmake audio_preproc_clean gmake audio_preproc the OUT files for DSP will be built at processor_sdk_rtos_k2g_4_xx_xx_xx\demos\audio-preprocessing\file_demo_bios\k2g\buildr;)…�r<)}r=)(hÙUhÚj7)ubaubeubhÛ)�r>)}r?)(hÙUjKhÚjw(häjò&hæhçhè}r@)(hê]rA)X omap-l137 evmrB)ahë]hì]hí]rC)U omap-l137-evmrD)ahð]uhòK­hóhhô]rE)(hö)�rF)}rG)(hÙX OMAP-L137 EVMrH)hÚj>)häjò&hæhúhè}rI)(hê]hë]hì]hí]hð]uhòK­hóhhô]rJ)hýX OMAP-L137 EVMrK)…�rL)}rM)(hÙjH)hÚjF)ubaubj/)�rN)}rO)(hÙX**For Linux:**rP)hÚj>)häjò&hæj3hè}rQ)(hê]hë]hì]hí]hð]uhòK¯hóhhô]rR)jW)�rS)}rT)(hÙjP)hè}rU)(hê]hë]hì]hí]hð]uhÚjN)hô]rV)hýX For Linux:rW)…�rX)}rY)(hÙUhÚjS)ubahæj_ubaubjQ)�rZ)}r[)(hÙUhÚj>)häjò&hæjThè}r\)(jVX-hí]hì]hê]hë]hð]uhòK±hóhhô]r])jX)�r^)}r_)(hÙXTUnder processor_sdk_rtos_omapl137_4_xx_xx_xx directory, run the following commands: hÚjZ)häjò&hæj[hè}r`)(hê]hë]hì]hí]hð]uhòNhóhhô]ra)j/)�rb)}rc)(hÙXSUnder processor_sdk_rtos_omapl137_4_xx_xx_xx directory, run the following commands:rd)hÚj^)häjò&hæj3hè}re)(hê]hë]hì]hí]hð]uhòK±hô]rf)hýXSUnder processor_sdk_rtos_omapl137_4_xx_xx_xx directory, run the following commands:rg)…�rh)}ri)(hÙjd)hÚjb)ubaubaubaubjË)�rj)}rk)(hÙXÉsource ./setupenv.sh make audio_preproc_clean make audio_preproc the OUT files for DSP will be built at processor_sdk_rtos_omapl137_4_xx_xx_xx/demos/audio-preprocessing/file_demo_bios/omapl137/buildhÚj>)häjò&hæjÎhè}rl)(jjhí]hì]hê]hë]hð]uhòMÄhóhhô]rm)hýXÉsource ./setupenv.sh make audio_preproc_clean make audio_preproc the OUT files for DSP will be built at processor_sdk_rtos_omapl137_4_xx_xx_xx/demos/audio-preprocessing/file_demo_bios/omapl137/buildrn)…�ro)}rp)(hÙUhÚjj)ubaubj/)�rq)}rr)(hÙX**For Windows:**rs)hÚj>)häjò&hæj3hè}rt)(hê]hë]hì]hí]hð]uhòK¼hóhhô]ru)jW)�rv)}rw)(hÙjs)hè}rx)(hê]hë]hì]hí]hð]uhÚjq)hô]ry)hýX For Windows:rz)…�r{)}r|)(hÙUhÚjv)ubahæj_ubaubjQ)�r})}r~)(hÙUhÚj>)häjò&hæjThè}r)(jVX-hí]hì]hê]hë]hð]uhòK¾hóhhô]r€)jX)�r�)}r‚)(hÙXTUnder processor_sdk_rtos_omapl137_4_xx_xx_xx directory, run the following commands: hÚj})häjò&hæj[hè}rƒ)(hê]hë]hì]hí]hð]uhòNhóhhô]r„)j/)�r…)}r†)(hÙXSUnder processor_sdk_rtos_omapl137_4_xx_xx_xx directory, run the following commands:r‡)hÚj�)häjò&hæj3hè}rˆ)(hê]hë]hì]hí]hð]uhòK¾hô]r‰)hýXSUnder processor_sdk_rtos_omapl137_4_xx_xx_xx directory, run the following commands:rŠ)…�r‹)}rŒ)(hÙj‡)hÚj…)ubaubaubaubjË)�r�)}rŽ)(hÙXÃsetupenv.bat gmake audio_preproc_clean gmake audio_preproc the OUT files for DSP will be built at processor_sdk_rtos_omapl137_4_xx_xx_xx\demos\audio-preprocessing\file_demo_bios\omapl137\buildhÚj>)häjò&hæjÎhè}r�)(jjhí]hì]hê]hë]hð]uhòMÑhóhhô]r�)hýXÃsetupenv.bat gmake audio_preproc_clean gmake audio_preproc the OUT files for DSP will be built at processor_sdk_rtos_omapl137_4_xx_xx_xx\demos\audio-preprocessing\file_demo_bios\omapl137\buildr‘)…�r’)}r“)(hÙUhÚj�)ubaubeubeubhÛ)�r”)}r•)(hÙUjKhÚjh(häjò&hæhçhè}r–)(hê]r—)Xhow to run the demor˜)ahë]hì]hí]r™)Uid29rš)ahð]uhòKÊhóhhô]r›)(hö)�rœ)}r�)(hÙXHow to Run the Demorž)hÚj”)häjò&hæhúhè}rŸ)(hê]hë]hì]hí]hð]uhòKÊhóhhô]r )hýXHow to Run the Demor¡)…�r¢)}r£)(hÙjž)hÚjœ)ubaubj/)�r¤)}r¥)(hÙXàThe demo along with the audio input files will be loaded onto the target using JTAG. After executing, the output file can be read from target. Play both input and output audio files to compare effect of audio pre-processing.r¦)hÚj”)häjò&hæj3hè}r§)(hê]hë]hì]hí]hð]uhòKÌhóhhô]r¨)hýXàThe demo along with the audio input files will be loaded onto the target using JTAG. After executing, the output file can be read from target. Play both input and output audio files to compare effect of audio pre-processing.r©)…�rª)}r«)(hÙj¦)hÚj¤)ubaubj/)�r¬)}r­)(hÙX;The following sections provide detailed steps for each EVM.r®)hÚj”)häjò&hæj3hè}r¯)(hê]hë]hì]hí]hð]uhòKÑhóhhô]r°)hýX;The following sections provide detailed steps for each EVM.r±)…�r²)}r³)(hÙj®)hÚj¬)ubaubhÛ)�r´)}rµ)(hÙUjKhÚj”)häjò&hæhçhè}r¶)(hê]r·)X am572x gp evmr¸)ahë]hì]hí]r¹)Uid30rº)ahð]uhòKÔhóhhô]r»)(hö)�r¼)}r½)(hÙX AM572x GP EVMr¾)hÚj´)häjò&hæhúhè}r¿)(hê]hë]hì]hí]hð]uhòKÔhóhhô]rÀ)hýX AM572x GP EVMrÁ)…�rÂ)}rÃ)(hÙj¾)hÚj¼)ubaubjQ)�rÄ)}rÅ)(hÙUhÚj´)häjò&hæjThè}rÆ)(jVX-hí]hì]hê]hë]hð]uhòKÖhóhhô]rÇ)(jX)�rÈ)}rÉ)(hÙXgFollow this link :ref:`Processor-SDK-RTOS-Setup-CCS-label` to get target configuration setup correctly.hÚjÄ)häjò&hæj[hè}rÊ)(hê]hë]hì]hí]hð]uhòNhóhhô]rË)j/)�rÌ)}rÍ)(hÙXgFollow this link :ref:`Processor-SDK-RTOS-Setup-CCS-label` to get target configuration setup correctly.hÚjÈ)häjò&hæj3hè}rÎ)(hê]hë]hì]hí]hð]uhòKÖhô]rÏ)(hýXFollow this link rÐ)…�rÑ)}rÒ)(hÙXFollow this link hÚjÌ)ubjZ)�rÓ)}rÔ)(hÙX):ref:`Processor-SDK-RTOS-Setup-CCS-label`rÕ)hÚjÌ)häjò&hæj^hè}rÖ)(UreftypeXrefj¢ ˆj£ X"processor-sdk-rtos-setup-ccs-labelU refdomainXstdr×)hí]hì]U refexplicit‰hê]hë]hð]j¤ j¥ uhòKÖhô]rØ)jb)�rÙ)}rÚ)(hÙjÕ)hè}rÛ)(hê]hë]rÜ)(j­ j×)Xstd-refrÝ)ehì]hí]hð]uhÚjÓ)hô]rÞ)hýX"Processor-SDK-RTOS-Setup-CCS-labelrß)…�rà)}rá)(hÙUhÚjÙ)ubahæjlubaubhýX- to get target configuration setup correctly.râ)…�rã)}rä)(hÙX- to get target configuration setup correctly.hÚjÌ)ubeubaubjX)�rå)}ræ)(hÙXxThen in CCS tools --> Gel file to load the modified gel file -- audio-preprocessing/file_demo_bios/am572x/files_io_7.gelhÚjÄ)häjò&hæj[hè}rç)(hê]hë]hì]hí]hð]uhòNhóhhô]rè)j/)�ré)}rê)(hÙXxThen in CCS tools --> Gel file to load the modified gel file -- audio-preprocessing/file_demo_bios/am572x/files_io_7.gelrë)hÚjå)häjò&hæj3hè}rì)(hê]hë]hì]hí]hð]uhòKØhô]rí)hýXxThen in CCS tools --> Gel file to load the modified gel file -- audio-preprocessing/file_demo_bios/am572x/files_io_7.gelrî)…�rï)}rð)(hÙjë)hÚjé)ubaubaubjX)�rñ)}rò)(hÙX:Connect the Blackhawk USB 560M JTAG to P4 on AM572x GP EVMró)hÚjÄ)häjò&hæj[hè}rô)(hê]hë]hì]hí]hð]uhòNhóhhô]rõ)j/)�rö)}r÷)(hÙjó)hÚjñ)häjò&hæj3hè}rø)(hê]hë]hì]hí]hð]uhòKÚhô]rù)hýX:Connect the Blackhawk USB 560M JTAG to P4 on AM572x GP EVMrú)…�rû)}rü)(hÙjó)hÚjö)ubaubaubjX)�rý)}rþ)(hÙXVPlug power adaptor(12V) into the AM572x GP EVM (Do not press the Power Button(S1) yet)hÚjÄ)häjò&hæj[hè}rÿ)(hê]hë]hì]hí]hð]uhòNhóhhô]r*j/)�r*}r*(hÙXVPlug power adaptor(12V) into the AM572x GP EVM (Do not press the Power Button(S1) yet)r*hÚjý)häjò&hæj3hè}r*(hê]hë]hì]hí]hð]uhòKÛhô]r*hýXVPlug power adaptor(12V) into the AM572x GP EVM (Do not press the Power Button(S1) yet)r*…�r*}r*(hÙj*hÚj*ubaubaubjX)�r *}r *(hÙXfLaunch the target configuration created in step 1 using "Launch Selected Configuration" from CCS 6.1.3hÚjÄ)häjò&hæj[hè}r *(hê]hë]hì]hí]hð]uhòNhóhhô]r *j/)�r *}r*(hÙXfLaunch the target configuration created in step 1 using "Launch Selected Configuration" from CCS 6.1.3r*hÚj *häjò&hæj3hè}r*(hê]hë]hì]hí]hð]uhòKÝhô]r*hýXfLaunch the target configuration created in step 1 using "Launch Selected Configuration" from CCS 6.1.3r*…�r*}r*(hÙj*hÚj *ubaubaubjX)�r*}r*(hÙXvPress the Power Button(S1) and "Connect to CortexA15_0" immediately (Due to the EVM will be auto power off in 10 secs)hÚjÄ)häjò&hæj[hè}r*(hê]hë]hì]hí]hð]uhòNhóhhô]r*j/)�r*}r*(hÙXvPress the Power Button(S1) and "Connect to CortexA15_0" immediately (Due to the EVM will be auto power off in 10 secs)r*hÚj*häjò&hæj3hè}r*(hê]hë]hì]hí]hð]uhòKßhô]r*hýXvPress the Power Button(S1) and "Connect to CortexA15_0" immediately (Due to the EVM will be auto power off in 10 secs)r*…�r*}r *(hÙj*hÚj*ubaubaubjX)�r!*}r"*(hÙXThen "Connect to C66xx_DSP1"r#*hÚjÄ)häjò&hæj[hè}r$*(hê]hë]hì]hí]hð]uhòNhóhhô]r%*j/)�r&*}r'*(hÙj#*hÚj!*häjò&hæj3hè}r(*(hê]hë]hì]hí]hð]uhòKáhô]r)*hýXThen "Connect to C66xx_DSP1"r**…�r+*}r,*(hÙj#*hÚj&*ubaubaubjX)�r-*}r.*(hÙXNLoad the AM572x_bf.out from audio-preprocessing\\file_demo_bios\\am572x\\buildhÚjÄ)häjò&hæj[hè}r/*(hê]hë]hì]hí]hð]uhòNhóhhô]r0*j/)�r1*}r2*(hÙXNLoad the AM572x_bf.out from audio-preprocessing\\file_demo_bios\\am572x\\buildhÚj-*häjò&hæj3hè}r3*(hê]hë]hì]hí]hð]uhòKâhô]r4*hýXKLoad the AM572x_bf.out from audio-preprocessing\file_demo_bios\am572x\buildr5*…�r6*}r7*(hÙXNLoad the AM572x_bf.out from audio-preprocessing\\file_demo_bios\\am572x\\buildhÚj1*ubaubaubjX)�r8*}r9*(hÙX¿Execute GEL function Scripts-->Microphone Load Functions-->BFMicLoadAll to load all 7 microphone input files (audio-preprocessing\\common\\t8\\y16L7g3m7090_x.pcm) into external memory buffershÚjÄ)häjò&hæj[hè}r:*(hê]hë]hì]hí]hð]uhòNhóhhô]r;*j/)�r<*}r=*(hÙX¿Execute GEL function Scripts-->Microphone Load Functions-->BFMicLoadAll to load all 7 microphone input files (audio-preprocessing\\common\\t8\\y16L7g3m7090_x.pcm) into external memory buffershÚj8*häjò&hæj3hè}r>*(hê]hë]hì]hí]hð]uhòKähô]r?*hýX¼Execute GEL function Scripts-->Microphone Load Functions-->BFMicLoadAll to load all 7 microphone input files (audio-preprocessing\common\t8\y16L7g3m7090_x.pcm) into external memory buffersr@*…�rA*}rB*(hÙX¿Execute GEL function Scripts-->Microphone Load Functions-->BFMicLoadAll to load all 7 microphone input files (audio-preprocessing\\common\\t8\\y16L7g3m7090_x.pcm) into external memory buffershÚj<*ubaubaubjX)�rC*}rD*(hÙX2Run the program (loaded previously) by pressing F8rE*hÚjÄ)häjò&hæj[hè}rF*(hê]hë]hì]hí]hð]uhòNhóhhô]rG*j/)�rH*}rI*(hÙjE*hÚjC*häjò&hæj3hè}rJ*(hê]hë]hì]hí]hð]uhòKèhô]rK*hýX2Run the program (loaded previously) by pressing F8rL*…�rM*}rN*(hÙjE*hÚjH*ubaubaubjX)�rO*}rP*(hÙXeThe program will print out the statistics and “EOF reachedâ€� when the program completes processinghÚjÄ)häjò&hæj[hè}rQ*(hê]hë]hì]hí]hð]uhòNhóhhô]rR*j/)�rS*}rT*(hÙXeThe program will print out the statistics and “EOF reachedâ€� when the program completes processingrU*hÚjO*häjò&hæj3hè}rV*(hê]hë]hì]hí]hð]uhòKéhô]rW*hýXeThe program will print out the statistics and “EOF reachedâ€� when the program completes processingrX*…�rY*}rZ*(hÙjU*hÚjS*ubaubaubjX)�r[*}r\*(hÙXÁExecute GEL function Scripts-->Microphone Save Functions-->BFSaveOutput to save the processed audio output from external memory buffer to a file (audio-preprocessing\common\t8\fileOutput7.bin) hÚjÄ)häjò&hæj[hè}r]*(hê]hë]hì]hí]hð]uhòNhóhhô]r^*j/)�r_*}r`*(hÙXÀExecute GEL function Scripts-->Microphone Save Functions-->BFSaveOutput to save the processed audio output from external memory buffer to a file (audio-preprocessing\common\t8\fileOutput7.bin)hÚj[*häjò&hæj3hè}ra*(hê]hë]hì]hí]hð]uhòKëhô]rb*hýX½Execute GEL function Scripts-->Microphone Save Functions-->BFSaveOutput to save the processed audio output from external memory buffer to a file (audio-preprocessingcommont8fileOutput7.bin)rc*…�rd*}re*(hÙXÀExecute GEL function Scripts-->Microphone Save Functions-->BFSaveOutput to save the processed audio output from external memory buffer to a file (audio-preprocessing\common\t8\fileOutput7.bin)hÚj_*ubaubaubeubeubhÛ)�rf*}rg*(hÙUjKhÚj”)häjò&hæhçhè}rh*(hê]ri*jì(ahë]hì]hí]rj*Uid31rk*ahð]uhòKñhóhhô]rl*(hö)�rm*}rn*(hÙXK2G EVMro*hÚjf*häjò&hæhúhè}rp*(hê]hë]hì]hí]hð]uhòKñhóhhô]rq*hýXK2G EVMrr*…�rs*}rt*(hÙjo*hÚjm*ubaubjQ)�ru*}rv*(hÙUhÚjf*häjò&hæjThè}rw*(jVX-hí]hì]hê]hë]hð]uhòKóhóhhô]rx*(jX)�ry*}rz*(hÙXgFollow this link :ref:`Processor-SDK-RTOS-Setup-CCS-label` to get target configuration setup correctly.hÚju*häjò&hæj[hè}r{*(hê]hë]hì]hí]hð]uhòNhóhhô]r|*j/)�r}*}r~*(hÙXgFollow this link :ref:`Processor-SDK-RTOS-Setup-CCS-label` to get target configuration setup correctly.hÚjy*häjò&hæj3hè}r*(hê]hë]hì]hí]hð]uhòKóhô]r€*(hýXFollow this link r�*…�r‚*}rƒ*(hÙXFollow this link hÚj}*ubjZ)�r„*}r…*(hÙX):ref:`Processor-SDK-RTOS-Setup-CCS-label`r†*hÚj}*häjò&hæj^hè}r‡*(UreftypeXrefj¢ ˆj£ X"processor-sdk-rtos-setup-ccs-labelU refdomainXstdrˆ*hí]hì]U refexplicit‰hê]hë]hð]j¤ j¥ uhòKóhô]r‰*jb)�rŠ*}r‹*(hÙj†*hè}rŒ*(hê]hë]r�*(j­ jˆ*Xstd-refrŽ*ehì]hí]hð]uhÚj„*hô]r�*hýX"Processor-SDK-RTOS-Setup-CCS-labelr�*…�r‘*}r’*(hÙUhÚjŠ*ubahæjlubaubhýX- to get target configuration setup correctly.r“*…�r”*}r•*(hÙX- to get target configuration setup correctly.hÚj}*ubeubaubjX)�r–*}r—*(hÙXuThen in CCS tools --> Gel file to load the modified gel file -- audio-preprocessing/file_demo_bios/k2g/files_io_7.gelhÚju*häjò&hæj[hè}r˜*(hê]hë]hì]hí]hð]uhòNhóhhô]r™*j/)�rš*}r›*(hÙXuThen in CCS tools --> Gel file to load the modified gel file -- audio-preprocessing/file_demo_bios/k2g/files_io_7.gelrœ*hÚj–*häjò&hæj3hè}r�*(hê]hë]hì]hí]hð]uhòKõhô]rž*hýXuThen in CCS tools --> Gel file to load the modified gel file -- audio-preprocessing/file_demo_bios/k2g/files_io_7.gelrŸ*…�r *}r¡*(hÙjœ*hÚjš*ubaubaubjX)�r¢*}r£*(hÙX?Connect to the on board emulator (J1 on K2G EVM) to your PC USBr¤*hÚju*häjò&hæj[hè}r¥*(hê]hë]hì]hí]hð]uhòNhóhhô]r¦*j/)�r§*}r¨*(hÙj¤*hÚj¢*häjò&hæj3hè}r©*(hê]hë]hì]hí]hð]uhòK÷hô]rª*hýX?Connect to the on board emulator (J1 on K2G EVM) to your PC USBr«*…�r¬*}r­*(hÙj¤*hÚj§*ubaubaubjX)�r®*}r¯*(hÙX=Plug power adaptor(12V) into the K2G EVM and power on the EVMr°*hÚju*häjò&hæj[hè}r±*(hê]hë]hì]hí]hð]uhòNhóhhô]r²*j/)�r³*}r´*(hÙj°*hÚj®*häjò&hæj3hè}rµ*(hê]hë]hì]hí]hð]uhòKøhô]r¶*hýX=Plug power adaptor(12V) into the K2G EVM and power on the EVMr·*…�r¸*}r¹*(hÙj°*hÚj³*ubaubaubjX)�rº*}r»*(hÙXfLaunch the target configuration created in step 1 using "Launch Selected Configuration" from CCS 6.1.3hÚju*häjò&hæj[hè}r¼*(hê]hë]hì]hí]hð]uhòNhóhhô]r½*j/)�r¾*}r¿*(hÙXfLaunch the target configuration created in step 1 using "Launch Selected Configuration" from CCS 6.1.3rÀ*hÚjº*häjò&hæj3hè}rÁ*(hê]hë]hì]hí]hð]uhòKùhô]rÂ*hýXfLaunch the target configuration created in step 1 using "Launch Selected Configuration" from CCS 6.1.3rÃ*…�rÄ*}rÅ*(hÙjÀ*hÚj¾*ubaubaubjX)�rÆ*}rÇ*(hÙXThen "Connect to C66xx_DSP"rÈ*hÚju*häjò&hæj[hè}rÉ*(hê]hë]hì]hí]hð]uhòNhóhhô]rÊ*j/)�rË*}rÌ*(hÙjÈ*hÚjÆ*häjò&hæj3hè}rÍ*(hê]hë]hì]hí]hð]uhòKûhô]rÎ*hýXThen "Connect to C66xx_DSP"rÏ*…�rÐ*}rÑ*(hÙjÈ*hÚjË*ubaubaubjX)�rÒ*}rÓ*(hÙXHLoad the K2G_bf.out from audio-preprocessing\\file_demo_bios\\k2g\\buildrÔ*hÚju*häjò&hæj[hè}rÕ*(hê]hë]hì]hí]hð]uhòNhóhhô]rÖ*j/)�r×*}rØ*(hÙjÔ*hÚjÒ*häjò&hæj3hè}rÙ*(hê]hë]hì]hí]hð]uhòKühô]rÚ*hýXELoad the K2G_bf.out from audio-preprocessing\file_demo_bios\k2g\buildrÛ*…�rÜ*}rÝ*(hÙXHLoad the K2G_bf.out from audio-preprocessing\\file_demo_bios\\k2g\\buildhÚj×*ubaubaubjX)�rÞ*}rß*(hÙXÁExecute GEL function Scripts-->Microphone Load Functions-->BFMicLoadAll to load all 7 microphone input files ((audio-preprocessing\\common\\t8\\y16L7g3m7090_x.pcm)) into external memory buffershÚju*häjò&hæj[hè}rà*(hê]hë]hì]hí]hð]uhòNhóhhô]rá*j/)�râ*}rã*(hÙXÁExecute GEL function Scripts-->Microphone Load Functions-->BFMicLoadAll to load all 7 microphone input files ((audio-preprocessing\\common\\t8\\y16L7g3m7090_x.pcm)) into external memory buffershÚjÞ*häjò&hæj3hè}rä*(hê]hë]hì]hí]hð]uhòKýhô]rå*hýX¾Execute GEL function Scripts-->Microphone Load Functions-->BFMicLoadAll to load all 7 microphone input files ((audio-preprocessing\common\t8\y16L7g3m7090_x.pcm)) into external memory buffersræ*…�rç*}rè*(hÙXÁExecute GEL function Scripts-->Microphone Load Functions-->BFMicLoadAll to load all 7 microphone input files ((audio-preprocessing\\common\\t8\\y16L7g3m7090_x.pcm)) into external memory buffershÚjâ*ubaubaubjX)�ré*}rê*(hÙX2Run the program (loaded previously) by pressing F8rë*hÚju*häjò&hæj[hè}rì*(hê]hë]hì]hí]hð]uhòNhóhhô]rí*j/)�rî*}rï*(hÙjë*hÚjé*häjò&hæj3hè}rð*(hê]hë]hì]hí]hð]uhòMhô]rñ*hýX2Run the program (loaded previously) by pressing F8rò*…�ró*}rô*(hÙjë*hÚjî*ubaubaubjX)�rõ*}rö*(hÙXeThe program will print out the statistics and “EOF reachedâ€� when the program completes processinghÚju*häjò&hæj[hè}r÷*(hê]hë]hì]hí]hð]uhòNhóhhô]rø*j/)�rù*}rú*(hÙXeThe program will print out the statistics and “EOF reachedâ€� when the program completes processingrû*hÚjõ*häjò&hæj3hè}rü*(hê]hë]hì]hí]hð]uhòMhô]rý*hýXeThe program will print out the statistics and “EOF reachedâ€� when the program completes processingrþ*…�rÿ*}r+(hÙjû*hÚjù*ubaubaubjX)�r+}r+(hÙXÄExecute GEL function Scripts-->Microphone Save Functions-->BFSaveOutput to save the processed audio output from external memory buffer to a file (audio-preprocessing\\common\\t8\\fileOutput7.bin) hÚju*häjò&hæj[hè}r+(hê]hë]hì]hí]hð]uhòNhóhhô]r+j/)�r+}r+(hÙXÃExecute GEL function Scripts-->Microphone Save Functions-->BFSaveOutput to save the processed audio output from external memory buffer to a file (audio-preprocessing\\common\\t8\\fileOutput7.bin)hÚj+häjò&hæj3hè}r+(hê]hë]hì]hí]hð]uhòMhô]r+hýXÀExecute GEL function Scripts-->Microphone Save Functions-->BFSaveOutput to save the processed audio output from external memory buffer to a file (audio-preprocessing\common\t8\fileOutput7.bin)r +…�r +}r +(hÙXÃExecute GEL function Scripts-->Microphone Save Functions-->BFSaveOutput to save the processed audio output from external memory buffer to a file (audio-preprocessing\\common\\t8\\fileOutput7.bin)hÚj+ubaubaubeubeubhÛ)�r +}r +(hÙUjKhÚj”)häjò&hæhçhè}r+(hê]r+jB)ahë]hì]hí]r+Uid32r+ahð]uhòM hóhhô]r+(hö)�r+}r+(hÙX OMAP-L137 EVMr+hÚj +häjò&hæhúhè}r+(hê]hë]hì]hí]hð]uhòM hóhhô]r+hýX OMAP-L137 EVMr+…�r+}r+(hÙj+hÚj+ubaubjQ)�r+}r+(hÙUhÚj +häjò&hæjThè}r+(jVX-hí]hì]hê]hë]hð]uhòM hóhhô]r+(jX)�r+}r +(hÙXgFollow this link :ref:`Processor-SDK-RTOS-Setup-CCS-label` to get target configuration setup correctly.hÚj+häjò&hæj[hè}r!+(hê]hë]hì]hí]hð]uhòNhóhhô]r"+j/)�r#+}r$+(hÙXgFollow this link :ref:`Processor-SDK-RTOS-Setup-CCS-label` to get target configuration setup correctly.hÚj+häjò&hæj3hè}r%+(hê]hë]hì]hí]hð]uhòM hô]r&+(hýXFollow this link r'+…�r(+}r)+(hÙXFollow this link hÚj#+ubjZ)�r*+}r++(hÙX):ref:`Processor-SDK-RTOS-Setup-CCS-label`r,+hÚj#+häjò&hæj^hè}r-+(UreftypeXrefj¢ ˆj£ X"processor-sdk-rtos-setup-ccs-labelU refdomainXstdr.+hí]hì]U refexplicit‰hê]hë]hð]j¤ j¥ uhòM hô]r/+jb)�r0+}r1+(hÙj,+hè}r2+(hê]hë]r3+(j­ j.+Xstd-refr4+ehì]hí]hð]uhÚj*+hô]r5+hýX"Processor-SDK-RTOS-Setup-CCS-labelr6+…�r7+}r8+(hÙUhÚj0+ubahæjlubaubhýX- to get target configuration setup correctly.r9+…�r:+}r;+(hÙX- to get target configuration setup correctly.hÚj#+ubeubaubjX)�r<+}r=+(hÙXuThen in CCS tools --> Gel file to load the modified gel file -- audio-preprocessing/file_demo_bios/k2g/files_io_7.gelhÚj+häjò&hæj[hè}r>+(hê]hë]hì]hí]hð]uhòNhóhhô]r?+j/)�r@+}rA+(hÙXuThen in CCS tools --> Gel file to load the modified gel file -- audio-preprocessing/file_demo_bios/k2g/files_io_7.gelrB+hÚj<+häjò&hæj3hè}rC+(hê]hë]hì]hí]hð]uhòMhô]rD+hýXuThen in CCS tools --> Gel file to load the modified gel file -- audio-preprocessing/file_demo_bios/k2g/files_io_7.gelrE+…�rF+}rG+(hÙjB+hÚj@+ubaubaubjX)�rH+}rI+(hÙXGConnect to the on board emulator (J201 on OMAP-L137 EVM) to your PC USBhÚj+häjò&hæj[hè}rJ+(hê]hë]hì]hí]hð]uhòNhóhhô]rK+j/)�rL+}rM+(hÙXGConnect to the on board emulator (J201 on OMAP-L137 EVM) to your PC USBrN+hÚjH+häjò&hæj3hè}rO+(hê]hë]hì]hí]hð]uhòMhô]rP+hýXGConnect to the on board emulator (J201 on OMAP-L137 EVM) to your PC USBrQ+…�rR+}rS+(hÙjN+hÚjL+ubaubaubjX)�rT+}rU+(hÙXBPlug power adaptor(5V) into the OMAP-L137 EVM and power on the EVMrV+hÚj+häjò&hæj[hè}rW+(hê]hë]hì]hí]hð]uhòNhóhhô]rX+j/)�rY+}rZ+(hÙjV+hÚjT+häjò&hæj3hè}r[+(hê]hë]hì]hí]hð]uhòMhô]r\+hýXBPlug power adaptor(5V) into the OMAP-L137 EVM and power on the EVMr]+…�r^+}r_+(hÙjV+hÚjY+ubaubaubjX)�r`+}ra+(hÙXfLaunch the target configuration created in step 1 using "Launch Selected Configuration" from CCS 6.1.3hÚj+häjò&hæj[hè}rb+(hê]hë]hì]hí]hð]uhòNhóhhô]rc+j/)�rd+}re+(hÙXfLaunch the target configuration created in step 1 using "Launch Selected Configuration" from CCS 6.1.3rf+hÚj`+häjò&hæj3hè}rg+(hê]hë]hì]hí]hð]uhòMhô]rh+hýXfLaunch the target configuration created in step 1 using "Launch Selected Configuration" from CCS 6.1.3ri+…�rj+}rk+(hÙjf+hÚjd+ubaubaubjX)�rl+}rm+(hÙXThen "Connect to C674x_0"rn+hÚj+häjò&hæj[hè}ro+(hê]hë]hì]hí]hð]uhòNhóhhô]rp+j/)�rq+}rr+(hÙjn+hÚjl+häjò&hæj3hè}rs+(hê]hë]hì]hí]hð]uhòMhô]rt+hýXThen "Connect to C674x_0"ru+…�rv+}rw+(hÙjn+hÚjq+ubaubaubjX)�rx+}ry+(hÙXOLoad the DA830_bf.out from audio-preprocessing\\file_demo_bios\\omapl137\\buildhÚj+häjò&hæj[hè}rz+(hê]hë]hì]hí]hð]uhòNhóhhô]r{+j/)�r|+}r}+(hÙXOLoad the DA830_bf.out from audio-preprocessing\\file_demo_bios\\omapl137\\buildhÚjx+häjò&hæj3hè}r~+(hê]hë]hì]hí]hð]uhòMhô]r+hýXLLoad the DA830_bf.out from audio-preprocessing\file_demo_bios\omapl137\buildr€+…�r�+}r‚+(hÙXOLoad the DA830_bf.out from audio-preprocessing\\file_demo_bios\\omapl137\\buildhÚj|+ubaubaubjX)�rƒ+}r„+(hÙXÁExecute GEL function Scripts-->Microphone Load Functions-->BFMicLoadAll to load all 7 microphone input files ((audio-preprocessing\\common\\t8\\y16L7g3m7090_x.pcm)) into external memory buffershÚj+häjò&hæj[hè}r…+(hê]hë]hì]hí]hð]uhòNhóhhô]r†+j/)�r‡+}rˆ+(hÙXÁExecute GEL function Scripts-->Microphone Load Functions-->BFMicLoadAll to load all 7 microphone input files ((audio-preprocessing\\common\\t8\\y16L7g3m7090_x.pcm)) into external memory buffershÚjƒ+häjò&hæj3hè}r‰+(hê]hë]hì]hí]hð]uhòMhô]rŠ+hýX¾Execute GEL function Scripts-->Microphone Load Functions-->BFMicLoadAll to load all 7 microphone input files ((audio-preprocessing\common\t8\y16L7g3m7090_x.pcm)) into external memory buffersr‹+…�rŒ+}r�+(hÙXÁExecute GEL function Scripts-->Microphone Load Functions-->BFMicLoadAll to load all 7 microphone input files ((audio-preprocessing\\common\\t8\\y16L7g3m7090_x.pcm)) into external memory buffershÚj‡+ubaubaubjX)�rŽ+}r�+(hÙX2Run the program (loaded previously) by pressing F8r�+hÚj+häjò&hæj[hè}r‘+(hê]hë]hì]hí]hð]uhòNhóhhô]r’+j/)�r“+}r”+(hÙj�+hÚjŽ+häjò&hæj3hè}r•+(hê]hë]hì]hí]hð]uhòMhô]r–+hýX2Run the program (loaded previously) by pressing F8r—+…�r˜+}r™+(hÙj�+hÚj“+ubaubaubjX)�rš+}r›+(hÙXeThe program will print out the statistics and “EOF reachedâ€� when the program completes processinghÚj+häjò&hæj[hè}rœ+(hê]hë]hì]hí]hð]uhòNhóhhô]r�+j/)�rž+}rŸ+(hÙXeThe program will print out the statistics and “EOF reachedâ€� when the program completes processingr +hÚjš+häjò&hæj3hè}r¡+(hê]hë]hì]hí]hð]uhòMhô]r¢+hýXeThe program will print out the statistics and “EOF reachedâ€� when the program completes processingr£+…�r¤+}r¥+(hÙj +hÚjž+ubaubaubjX)�r¦+}r§+(hÙXÄExecute GEL function Scripts-->Microphone Save Functions-->BFSaveOutput to save the processed audio output from external memory buffer to a file (audio-preprocessing\\common\\t8\\fileOutput7.bin) hÚj+häjò&hæj[hè}r¨+(hê]hë]hì]hí]hð]uhòNhóhhô]r©+j/)�rª+}r«+(hÙXÃExecute GEL function Scripts-->Microphone Save Functions-->BFSaveOutput to save the processed audio output from external memory buffer to a file (audio-preprocessing\\common\\t8\\fileOutput7.bin)hÚj¦+häjò&hæj3hè}r¬+(hê]hë]hì]hí]hð]uhòMhô]r­+hýXÀExecute GEL function Scripts-->Microphone Save Functions-->BFSaveOutput to save the processed audio output from external memory buffer to a file (audio-preprocessing\common\t8\fileOutput7.bin)r®+…�r¯+}r°+(hÙXÃExecute GEL function Scripts-->Microphone Save Functions-->BFSaveOutput to save the processed audio output from external memory buffer to a file (audio-preprocessing\\common\\t8\\fileOutput7.bin)hÚjª+ubaubaubeubjÎ)�r±+}r²+(hÙUhÚj +häjò&hæjÑhè}r³+(hê]hë]hì]hí]hð]uhòM$hóhhô]r´+jÔ)�rµ+}r¶+(hÙUj×KhÚj±+häjò&hæhòhè}r·+(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubjÎ)�r¸+}r¹+(hÙUhÚj +häjò&hæjÑhè}rº+(hê]hë]hì]hí]hð]uhòM&hóhhô]r»+jÔ)�r¼+}r½+(hÙUj×KhÚj¸+häjò&hæhòhè}r¾+(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubeubeubhÛ)�r¿+}rÀ+(hÙUhÚjà&häjò&hæhçhè}rÁ+(hê]hë]hì]hí]rÂ+Ucircular-microphone-board-demorÃ+ahð]rÄ+h°auhòM)hóhhô]rÅ+(hö)�rÆ+}rÇ+(hÙXCircular Microphone Board DemorÈ+hÚj¿+häjò&hæhúhè}rÉ+(hê]hë]hì]hí]hð]uhòM)hóhhô]rÊ+hýXCircular Microphone Board DemorË+…�rÌ+}rÍ+(hÙjÈ+hÚjÆ+ubaubhÛ)�rÎ+}rÏ+(hÙUjKhÚj¿+häjò&hæhçhè}rÐ+(hê]rÑ+Xhow to build the demorÒ+ahë]hì]hí]rÓ+Uid33rÔ+ahð]uhòM,hóhhô]rÕ+(hö)�rÖ+}r×+(hÙXHow to Build the DemorØ+hÚjÎ+häjò&hæhúhè}rÙ+(hê]hë]hì]hí]hð]uhòM,hóhhô]rÚ+hýXHow to Build the DemorÛ+…�rÜ+}rÝ+(hÙjØ+hÚjÖ+ubaubj))�rÞ+}rß+(hÙXÖIn order to make the following build procedure to work, AER and VOLIB have to be installed at the same location as the Processor SDK RTOS and make sure the AER 17.0.0.0 (C64P) is installed at aer_c64Px_obj_17_0_0_0hÚjÎ+häjò&hæj,hè}rà+(hê]hë]hì]hí]hð]uhòNhóhhô]rá+j/)�râ+}rã+(hÙXÖIn order to make the following build procedure to work, AER and VOLIB have to be installed at the same location as the Processor SDK RTOS and make sure the AER 17.0.0.0 (C64P) is installed at aer_c64Px_obj_17_0_0_0rä+hÚjÞ+häjò&hæj3hè}rå+(hê]hë]hì]hí]hð]uhòM/hô]ræ+hýXÖIn order to make the following build procedure to work, AER and VOLIB have to be installed at the same location as the Processor SDK RTOS and make sure the AER 17.0.0.0 (C64P) is installed at aer_c64Px_obj_17_0_0_0rç+…�rè+}ré+(hÙjä+hÚjâ+ubaubaubhÛ)�rê+}rë+(hÙUjKhÚjÎ+häjò&hæhçhè}rì+(hê]rí+Xk2g evmrî+ahë]hì]hí]rï+Uid34rð+ahð]uhòM4hóhhô]rñ+(hö)�rò+}ró+(hÙXK2G EVMrô+hÚjê+häjò&hæhúhè}rõ+(hê]hë]hì]hí]hð]uhòM4hóhhô]rö+hýXK2G EVMr÷+…�rø+}rù+(hÙjô+hÚjò+ubaubj/)�rú+}rû+(hÙX**For Linux:**rü+hÚjê+häjò&hæj3hè}rý+(hê]hë]hì]hí]hð]uhòM6hóhhô]rþ+jW)�rÿ+}r,(hÙjü+hè}r,(hê]hë]hì]hí]hð]uhÚjú+hô]r,hýX For Linux:r,…�r,}r,(hÙUhÚjÿ+ubahæj_ubaubjQ)�r,}r,(hÙUhÚjê+häjò&hæjThè}r,(jVX-hí]hì]hê]hë]hð]uhòM8hóhhô]r ,jX)�r ,}r ,(hÙXOUnder processor_sdk_rtos_k2g_4_xx_xx_xx directory, run the following commands: hÚj,häjò&hæj[hè}r ,(hê]hë]hì]hí]hð]uhòNhóhhô]r ,j/)�r,}r,(hÙXNUnder processor_sdk_rtos_k2g_4_xx_xx_xx directory, run the following commands:r,hÚj ,häjò&hæj3hè}r,(hê]hë]hì]hí]hð]uhòM8hô]r,hýXNUnder processor_sdk_rtos_k2g_4_xx_xx_xx directory, run the following commands:r,…�r,}r,(hÙj,hÚj,ubaubaubaubjË)�r,}r,(hÙXÃsource ./setupenv.sh make audio_preproc_clean make audio_preproc the OUT files for DSP will be built at processor_sdk_rtos_k2g_4_xx_xx_xx/demos/audio-preprocessing/realtime_demo_bios/k2g/buildhÚjê+häjò&hæjÎhè}r,(jjhí]hì]hê]hë]hð]uhòMK hóhhô]r,hýXÃsource ./setupenv.sh make audio_preproc_clean make audio_preproc the OUT files for DSP will be built at processor_sdk_rtos_k2g_4_xx_xx_xx/demos/audio-preprocessing/realtime_demo_bios/k2g/buildr,…�r,}r,(hÙUhÚj,ubaubj/)�r,}r,(hÙX**For Windows:**r,hÚjê+häjò&hæj3hè}r ,(hê]hë]hì]hí]hð]uhòMChóhhô]r!,jW)�r",}r#,(hÙj,hè}r$,(hê]hë]hì]hí]hð]uhÚj,hô]r%,hýX For Windows:r&,…�r',}r(,(hÙUhÚj",ubahæj_ubaubjQ)�r),}r*,(hÙUhÚjê+häjò&hæjThè}r+,(jVX-hí]hì]hê]hë]hð]uhòMEhóhhô]r,,jX)�r-,}r.,(hÙXOUnder processor_sdk_rtos_k2g_4_00_xx_xx directory, run the following commands: hÚj),häjò&hæj[hè}r/,(hê]hë]hì]hí]hð]uhòNhóhhô]r0,j/)�r1,}r2,(hÙXNUnder processor_sdk_rtos_k2g_4_00_xx_xx directory, run the following commands:r3,hÚj-,häjò&hæj3hè}r4,(hê]hë]hì]hí]hð]uhòMEhô]r5,hýXNUnder processor_sdk_rtos_k2g_4_00_xx_xx directory, run the following commands:r6,…�r7,}r8,(hÙj3,hÚj1,ubaubaubaubjË)�r9,}r:,(hÙX½setupenv.bat gmake audio_preproc_clean gmake audio_preproc the OUT files for DSP will be built at processor_sdk_rtos_k2g_4_xx_xx_xx\demos\audio-preprocessing\realtime_demo_bios\k2g\buildhÚjê+häjò&hæjÎhè}r;,(jjhí]hì]hê]hë]hð]uhòMX hóhhô]r<,hýX½setupenv.bat gmake audio_preproc_clean gmake audio_preproc the OUT files for DSP will be built at processor_sdk_rtos_k2g_4_xx_xx_xx\demos\audio-preprocessing\realtime_demo_bios\k2g\buildr=,…�r>,}r?,(hÙUhÚj9,ubaubeubhÛ)�r@,}rA,(hÙUjKhÚjÎ+häjò&hæhçhè}rB,(hê]rC,X omap-l137 evmrD,ahë]hì]hí]rE,Uid35rF,ahð]uhòMQhóhhô]rG,(hö)�rH,}rI,(hÙX OMAP-L137 EVMrJ,hÚj@,häjò&hæhúhè}rK,(hê]hë]hì]hí]hð]uhòMQhóhhô]rL,hýX OMAP-L137 EVMrM,…�rN,}rO,(hÙjJ,hÚjH,ubaubj/)�rP,}rQ,(hÙX**For Linux:**rR,hÚj@,häjò&hæj3hè}rS,(hê]hë]hì]hí]hð]uhòMShóhhô]rT,jW)�rU,}rV,(hÙjR,hè}rW,(hê]hë]hì]hí]hð]uhÚjP,hô]rX,hýX For Linux:rY,…�rZ,}r[,(hÙUhÚjU,ubahæj_ubaubjQ)�r\,}r],(hÙUhÚj@,häjò&hæjThè}r^,(jVX-hí]hì]hê]hë]hð]uhòMUhóhhô]r_,jX)�r`,}ra,(hÙXTUnder processor_sdk_rtos_omapl137_4_xx_xx_xx directory, run the following commands: hÚj\,häjò&hæj[hè}rb,(hê]hë]hì]hí]hð]uhòNhóhhô]rc,j/)�rd,}re,(hÙXSUnder processor_sdk_rtos_omapl137_4_xx_xx_xx directory, run the following commands:rf,hÚj`,häjò&hæj3hè}rg,(hê]hë]hì]hí]hð]uhòMUhô]rh,hýXSUnder processor_sdk_rtos_omapl137_4_xx_xx_xx directory, run the following commands:ri,…�rj,}rk,(hÙjf,hÚjd,ubaubaubaubjË)�rl,}rm,(hÙXÌsource ./setupenv.sh make audio_preproc_clean make audio_preproc the OUT files for DSP will be built at processor_sdk_rtos_omapl137_4_xx_xx_xx/demos/audio-preprocessing/realtime_demo_bios/omapl137/makehÚj@,häjò&hæjÎhè}rn,(jjhí]hì]hê]hë]hð]uhòMh hóhhô]ro,hýXÌsource ./setupenv.sh make audio_preproc_clean make audio_preproc the OUT files for DSP will be built at processor_sdk_rtos_omapl137_4_xx_xx_xx/demos/audio-preprocessing/realtime_demo_bios/omapl137/makerp,…�rq,}rr,(hÙUhÚjl,ubaubj/)�rs,}rt,(hÙX**For Windows:**ru,hÚj@,häjò&hæj3hè}rv,(hê]hë]hì]hí]hð]uhòM`hóhhô]rw,jW)�rx,}ry,(hÙju,hè}rz,(hê]hë]hì]hí]hð]uhÚjs,hô]r{,hýX For Windows:r|,…�r},}r~,(hÙUhÚjx,ubahæj_ubaubjQ)�r,}r€,(hÙUhÚj@,häjò&hæjThè}r�,(jVX-hí]hì]hê]hë]hð]uhòMbhóhhô]r‚,jX)�rƒ,}r„,(hÙXTUnder processor_sdk_rtos_omapl137_4_00_xx_xx directory, run the following commands: hÚj,häjò&hæj[hè}r…,(hê]hë]hì]hí]hð]uhòNhóhhô]r†,j/)�r‡,}rˆ,(hÙXSUnder processor_sdk_rtos_omapl137_4_00_xx_xx directory, run the following commands:r‰,hÚjƒ,häjò&hæj3hè}rŠ,(hê]hë]hì]hí]hð]uhòMbhô]r‹,hýXSUnder processor_sdk_rtos_omapl137_4_00_xx_xx directory, run the following commands:rŒ,…�r�,}rŽ,(hÙj‰,hÚj‡,ubaubaubaubjË)�r�,}r�,(hÙXÆsetupenv.bat gmake audio_preproc_clean gmake audio_preproc the OUT files for DSP will be built at processor_sdk_rtos_omapl137_4_xx_xx_xx\demos\audio-preprocessing\realtime_demo_bios\omapl137\makehÚj@,häjò&hæjÎhè}r‘,(jjhí]hì]hê]hë]hð]uhòMu hóhhô]r’,hýXÆsetupenv.bat gmake audio_preproc_clean gmake audio_preproc the OUT files for DSP will be built at processor_sdk_rtos_omapl137_4_xx_xx_xx\demos\audio-preprocessing\realtime_demo_bios\omapl137\maker“,…�r”,}r•,(hÙUhÚj�,ubaubeubeubhÛ)�r–,}r—,(hÙUjKhÚj¿+häjò&hæhçhè}r˜,(hê]r™,Xhow to run the demorš,ahë]hì]hí]r›,Uid36rœ,ahð]uhòMnhóhhô]r�,(hö)�rž,}rŸ,(hÙXHow to Run the Demor ,hÚj–,häjò&hæhúhè}r¡,(hê]hë]hì]hí]hð]uhòMnhóhhô]r¢,hýXHow to Run the Demor£,…�r¤,}r¥,(hÙj ,hÚjž,ubaubj/)�r¦,}r§,(hÙXUThe demo works with the real time audio input from CMB. After processing is complete, the audio output will be sent to the line-out(left channel) of the K2G EVM on-board audio codec. For the purpose of comparison, the unprocessed center microphone (mic 8) will be sent out to the line-out (right channel) of the K2G EVM on-board audio codec.r¨,hÚj–,häjò&hæj3hè}r©,(hê]hë]hì]hí]hð]uhòMphóhhô]rª,hýXUThe demo works with the real time audio input from CMB. After processing is complete, the audio output will be sent to the line-out(left channel) of the K2G EVM on-board audio codec. For the purpose of comparison, the unprocessed center microphone (mic 8) will be sent out to the line-out (right channel) of the K2G EVM on-board audio codec.r«,…�r¬,}r­,(hÙj¨,hÚj¦,ubaubj/)�r®,}r¯,(hÙX;The following sections provide detailed steps for each EVM.r°,hÚj–,häjò&hæj3hè}r±,(hê]hë]hì]hí]hð]uhòMvhóhhô]r²,hýX;The following sections provide detailed steps for each EVM.r³,…�r´,}rµ,(hÙj°,hÚj®,ubaubhÛ)�r¶,}r·,(hÙUhÚj–,häjò&hæhçhè}r¸,(hê]hë]hì]hí]r¹,Uk2g-evm-using-ccsrº,ahð]r»,h~auhòMyhóhhô]r¼,(hö)�r½,}r¾,(hÙXK2G EVM (using CCS)r¿,hÚj¶,häjò&hæhúhè}rÀ,(hê]hë]hì]hí]hð]uhòMyhóhhô]rÁ,hýXK2G EVM (using CCS)rÂ,…�rÃ,}rÄ,(hÙj¿,hÚj½,ubaubjQ)�rÅ,}rÆ,(hÙUhÚj¶,häjò&hæjThè}rÇ,(jVX-hí]hì]hê]hë]hð]uhòM{hóhhô]rÈ,(jX)�rÉ,}rÊ,(hÙXgFollow this link :ref:`Processor-SDK-RTOS-Setup-CCS-label` to get target configuration setup correctly.hÚjÅ,häjò&hæj[hè}rË,(hê]hë]hì]hí]hð]uhòNhóhhô]rÌ,j/)�rÍ,}rÎ,(hÙXgFollow this link :ref:`Processor-SDK-RTOS-Setup-CCS-label` to get target configuration setup correctly.hÚjÉ,häjò&hæj3hè}rÏ,(hê]hë]hì]hí]hð]uhòM{hô]rÐ,(hýXFollow this link rÑ,…�rÒ,}rÓ,(hÙXFollow this link hÚjÍ,ubjZ)�rÔ,}rÕ,(hÙX):ref:`Processor-SDK-RTOS-Setup-CCS-label`rÖ,hÚjÍ,häjò&hæj^hè}r×,(UreftypeXrefj¢ ˆj£ X"processor-sdk-rtos-setup-ccs-labelU refdomainXstdrØ,hí]hì]U refexplicit‰hê]hë]hð]j¤ j¥ uhòM{hô]rÙ,jb)�rÚ,}rÛ,(hÙjÖ,hè}rÜ,(hê]hë]rÝ,(j­ jØ,Xstd-refrÞ,ehì]hí]hð]uhÚjÔ,hô]rß,hýX"Processor-SDK-RTOS-Setup-CCS-labelrà,…�rá,}râ,(hÙUhÚjÚ,ubahæjlubaubhýX- to get target configuration setup correctly.rã,…�rä,}rå,(hÙX- to get target configuration setup correctly.hÚjÍ,ubeubaubjX)�ræ,}rç,(hÙX?Connect to the on board emulator (J1 on K2G EVM) to your PC USBrè,hÚjÅ,häjò&hæj[hè}ré,(hê]hë]hì]hí]hð]uhòNhóhhô]rê,j/)�rë,}rì,(hÙjè,hÚjæ,häjò&hæj3hè}rí,(hê]hë]hì]hí]hð]uhòM}hô]rî,hýX?Connect to the on board emulator (J1 on K2G EVM) to your PC USBrï,…�rð,}rñ,(hÙjè,hÚjë,ubaubaubjX)�rò,}ró,(hÙX=Plug power adaptor(12V) into the K2G EVM and power on the EVMrô,hÚjÅ,häjò&hæj[hè}rõ,(hê]hë]hì]hí]hð]uhòNhóhhô]rö,j/)�r÷,}rø,(hÙjô,hÚjò,häjò&hæj3hè}rù,(hê]hë]hì]hí]hð]uhòM~hô]rú,hýX=Plug power adaptor(12V) into the K2G EVM and power on the EVMrû,…�rü,}rý,(hÙjô,hÚj÷,ubaubaubjX)�rþ,}rÿ,(hÙXfLaunch the target configuration created in step 1 using "Launch Selected Configuration" from CCS 6.1.3hÚjÅ,häjò&hæj[hè}r-(hê]hë]hì]hí]hð]uhòNhóhhô]r-j/)�r-}r-(hÙXfLaunch the target configuration created in step 1 using "Launch Selected Configuration" from CCS 6.1.3r-hÚjþ,häjò&hæj3hè}r-(hê]hë]hì]hí]hð]uhòMhô]r-hýXfLaunch the target configuration created in step 1 using "Launch Selected Configuration" from CCS 6.1.3r-…�r-}r -(hÙj-hÚj-ubaubaubjX)�r -}r -(hÙXThen "Connect to C66xx_DSP"r -hÚjÅ,häjò&hæj[hè}r -(hê]hë]hì]hí]hð]uhòNhóhhô]r-j/)�r-}r-(hÙj -hÚj -häjò&hæj3hè}r-(hê]hë]hì]hí]hð]uhòM�hô]r-hýXThen "Connect to C66xx_DSP"r-…�r-}r-(hÙj -hÚj-ubaubaubjX)�r-}r-(hÙXOLoad the K2G_bf_rt.out from audio-preprocessing\\realtime_demo_bios\\k2g\\buildhÚjÅ,häjò&hæj[hè}r-(hê]hë]hì]hí]hð]uhòNhóhhô]r-j/)�r-}r-(hÙXOLoad the K2G_bf_rt.out from audio-preprocessing\\realtime_demo_bios\\k2g\\buildhÚj-häjò&hæj3hè}r-(hê]hë]hì]hí]hð]uhòM‚hô]r-hýXLLoad the K2G_bf_rt.out from audio-preprocessing\realtime_demo_bios\k2g\buildr-…�r-}r -(hÙXOLoad the K2G_bf_rt.out from audio-preprocessing\\realtime_demo_bios\\k2g\\buildhÚj-ubaubaubjX)�r!-}r"-(hÙX2Run the program (loaded previously) by pressing F8r#-hÚjÅ,häjò&hæj[hè}r$-(hê]hë]hì]hí]hð]uhòNhóhhô]r%-j/)�r&-}r'-(hÙj#-hÚj!-häjò&hæj3hè}r(-(hê]hë]hì]hí]hð]uhòM„hô]r)-hýX2Run the program (loaded previously) by pressing F8r*-…�r+-}r,-(hÙj#-hÚj&-ubaubaubjX)�r--}r.-(hÙXoThe program will run the real time demo forever, taking the input from CMB and output to the on-board line-out hÚjÅ,häjò&hæj[hè}r/-(hê]hë]hì]hí]hð]uhòNhóhhô]r0-j/)�r1-}r2-(hÙXnThe program will run the real time demo forever, taking the input from CMB and output to the on-board line-outr3-hÚj--häjò&hæj3hè}r4-(hê]hë]hì]hí]hð]uhòM…hô]r5-hýXnThe program will run the real time demo forever, taking the input from CMB and output to the on-board line-outr6-…�r7-}r8-(hÙj3-hÚj1-ubaubaubeubeubhÛ)�r9-}r:-(hÙUhÚj–,häjò&hæhçhè}r;-(hê]hë]hì]hí]r<-Uomap-l137-evm-using-ccsr=-ahð]r>-hhauhòM‰hóhhô]r?-(hö)�r@-}rA-(hÙXOMAP-L137 EVM (using CCS)rB-hÚj9-häjò&hæhúhè}rC-(hê]hë]hì]hí]hð]uhòM‰hóhhô]rD-hýXOMAP-L137 EVM (using CCS)rE-…�rF-}rG-(hÙjB-hÚj@-ubaubjQ)�rH-}rI-(hÙUhÚj9-häjò&hæjThè}rJ-(jVX-hí]hì]hê]hë]hð]uhòM‹hóhhô]rK-(jX)�rL-}rM-(hÙXgFollow this link :ref:`Processor-SDK-RTOS-Setup-CCS-label` to get target configuration setup correctly.hÚjH-häjò&hæj[hè}rN-(hê]hë]hì]hí]hð]uhòNhóhhô]rO-j/)�rP-}rQ-(hÙXgFollow this link :ref:`Processor-SDK-RTOS-Setup-CCS-label` to get target configuration setup correctly.hÚjL-häjò&hæj3hè}rR-(hê]hë]hì]hí]hð]uhòM‹hô]rS-(hýXFollow this link rT-…�rU-}rV-(hÙXFollow this link hÚjP-ubjZ)�rW-}rX-(hÙX):ref:`Processor-SDK-RTOS-Setup-CCS-label`rY-hÚjP-häjò&hæj^hè}rZ-(UreftypeXrefj¢ ˆj£ X"processor-sdk-rtos-setup-ccs-labelU refdomainXstdr[-hí]hì]U refexplicit‰hê]hë]hð]j¤ j¥ uhòM‹hô]r\-jb)�r]-}r^-(hÙjY-hè}r_-(hê]hë]r`-(j­ j[-Xstd-refra-ehì]hí]hð]uhÚjW-hô]rb-hýX"Processor-SDK-RTOS-Setup-CCS-labelrc-…�rd-}re-(hÙUhÚj]-ubahæjlubaubhýX- to get target configuration setup correctly.rf-…�rg-}rh-(hÙX- to get target configuration setup correctly.hÚjP-ubeubaubjX)�ri-}rj-(hÙXGConnect to the on board emulator (J201 on OMAP-L137 EVM) to your PC USBhÚjH-häjò&hæj[hè}rk-(hê]hë]hì]hí]hð]uhòNhóhhô]rl-j/)�rm-}rn-(hÙXGConnect to the on board emulator (J201 on OMAP-L137 EVM) to your PC USBro-hÚji-häjò&hæj3hè}rp-(hê]hë]hì]hí]hð]uhòM�hô]rq-hýXGConnect to the on board emulator (J201 on OMAP-L137 EVM) to your PC USBrr-…�rs-}rt-(hÙjo-hÚjm-ubaubaubjX)�ru-}rv-(hÙXBPlug power adaptor(5V) into the OMAP-L137 EVM and power on the EVMrw-hÚjH-häjò&hæj[hè}rx-(hê]hë]hì]hí]hð]uhòNhóhhô]ry-j/)�rz-}r{-(hÙjw-hÚju-häjò&hæj3hè}r|-(hê]hë]hì]hí]hð]uhòM�hô]r}-hýXBPlug power adaptor(5V) into the OMAP-L137 EVM and power on the EVMr~-…�r-}r€-(hÙjw-hÚjz-ubaubaubjX)�r�-}r‚-(hÙXfLaunch the target configuration created in step 1 using "Launch Selected Configuration" from CCS 6.1.3hÚjH-häjò&hæj[hè}rƒ-(hê]hë]hì]hí]hð]uhòNhóhhô]r„-j/)�r…-}r†-(hÙXfLaunch the target configuration created in step 1 using "Launch Selected Configuration" from CCS 6.1.3r‡-hÚj�-häjò&hæj3hè}rˆ-(hê]hë]hì]hí]hð]uhòM�hô]r‰-hýXfLaunch the target configuration created in step 1 using "Launch Selected Configuration" from CCS 6.1.3rŠ-…�r‹-}rŒ-(hÙj‡-hÚj…-ubaubaubjX)�r�-}rŽ-(hÙXThen "Connect to C674X_0"r�-hÚjH-häjò&hæj[hè}r�-(hê]hë]hì]hí]hð]uhòNhóhhô]r‘-j/)�r’-}r“-(hÙj�-hÚj�-häjò&hæj3hè}r”-(hê]hë]hì]hí]hð]uhòM’hô]r•-hýXThen "Connect to C674X_0"r–-…�r—-}r˜-(hÙj�-hÚj’-ubaubaubjX)�r™-}rš-(hÙXXLoad the OMAPL137_bf_rt.out from audio-preprocessing\\realtime_demo_bios\\omapl137\\makehÚjH-häjò&hæj[hè}r›-(hê]hë]hì]hí]hð]uhòNhóhhô]rœ-j/)�r�-}rž-(hÙXXLoad the OMAPL137_bf_rt.out from audio-preprocessing\\realtime_demo_bios\\omapl137\\makehÚj™-häjò&hæj3hè}rŸ-(hê]hë]hì]hí]hð]uhòM“hô]r -hýXULoad the OMAPL137_bf_rt.out from audio-preprocessing\realtime_demo_bios\omapl137\maker¡-…�r¢-}r£-(hÙXXLoad the OMAPL137_bf_rt.out from audio-preprocessing\\realtime_demo_bios\\omapl137\\makehÚj�-ubaubaubjX)�r¤-}r¥-(hÙX2Run the program (loaded previously) by pressing F8r¦-hÚjH-häjò&hæj[hè}r§-(hê]hë]hì]hí]hð]uhòNhóhhô]r¨-j/)�r©-}rª-(hÙj¦-hÚj¤-häjò&hæj3hè}r«-(hê]hë]hì]hí]hð]uhòM•hô]r¬-hýX2Run the program (loaded previously) by pressing F8r­-…�r®-}r¯-(hÙj¦-hÚj©-ubaubaubjX)�r°-}r±-(hÙXoThe program will run the real time demo forever, taking the input from CMB and output to the on-board line-out hÚjH-häjò&hæj[hè}r²-(hê]hë]hì]hí]hð]uhòNhóhhô]r³-j/)�r´-}rµ-(hÙXnThe program will run the real time demo forever, taking the input from CMB and output to the on-board line-outr¶-hÚj°-häjò&hæj3hè}r·-(hê]hë]hì]hí]hð]uhòM–hô]r¸-hýXnThe program will run the real time demo forever, taking the input from CMB and output to the on-board line-outr¹-…�rº-}r»-(hÙj¶-hÚj´-ubaubaubeubeubhÛ)�r¼-}r½-(hÙUhÚj–,häjò&hæhçhè}r¾-(hê]hë]hì]hí]r¿-Uk2g-evm-boot-from-sd-cardrÀ-ahð]rÁ-h\auhòMšhóhhô]rÂ-(hö)�rÃ-}rÄ-(hÙXK2G EVM (Boot from SD card)rÅ-hÚj¼-häjò&hæhúhè}rÆ-(hê]hë]hì]hí]hð]uhòMšhóhhô]rÇ-hýXK2G EVM (Boot from SD card)rÈ-…�rÉ-}rÊ-(hÙjÅ-hÚjÃ-ubaubjQ)�rË-}rÌ-(hÙUhÚj¼-häjò&hæjThè}rÍ-(jVX-hí]hì]hê]hë]hð]uhòMœhóhhô]rÎ-(jX)�rÏ-}rÐ-(hÙXÝCopy "app" and "MLO" from audio-preprocessing\\realtime_demo_bios\\k2g\\pre-built\\mmcsd on Windows or audio-preprocessing/realtime_demo_bios/k2g/pre-built/mmcsd on Linux to the root directory of a formatted micro SD cardhÚjË-häjò&hæj[hè}rÑ-(hê]hë]hì]hí]hð]uhòNhóhhô]rÒ-j/)�rÓ-}rÔ-(hÙXÝCopy "app" and "MLO" from audio-preprocessing\\realtime_demo_bios\\k2g\\pre-built\\mmcsd on Windows or audio-preprocessing/realtime_demo_bios/k2g/pre-built/mmcsd on Linux to the root directory of a formatted micro SD cardhÚjÏ-häjò&hæj3hè}rÕ-(hê]hë]hì]hí]hð]uhòMœhô]rÖ-hýXÙCopy "app" and "MLO" from audio-preprocessing\realtime_demo_bios\k2g\pre-built\mmcsd on Windows or audio-preprocessing/realtime_demo_bios/k2g/pre-built/mmcsd on Linux to the root directory of a formatted micro SD cardr×-…�rØ-}rÙ-(hÙXÝCopy "app" and "MLO" from audio-preprocessing\\realtime_demo_bios\\k2g\\pre-built\\mmcsd on Windows or audio-preprocessing/realtime_demo_bios/k2g/pre-built/mmcsd on Linux to the root directory of a formatted micro SD cardhÚjÓ-ubaubaubjX)�rÚ-}rÛ-(hÙX7Plug in the micro SD card into uSD Card slot on K2G EVMrÜ-hÚjË-häjò&hæj[hè}rÝ-(hê]hë]hì]hí]hð]uhòNhóhhô]rÞ-j/)�rß-}rà-(hÙjÜ-hÚjÚ-häjò&hæj3hè}rá-(hê]hë]hì]hí]hð]uhòM hô]râ-hýX7Plug in the micro SD card into uSD Card slot on K2G EVMrã-…�rä-}rå-(hÙjÜ-hÚjß-ubaubaubjX)�ræ-}rç-(hÙXDConnect "USB TO SOC UART0" on K2G EVM to a PC USB port via USB cablerè-hÚjË-häjò&hæj[hè}ré-(hê]hë]hì]hí]hð]uhòNhóhhô]rê-j/)�rë-}rì-(hÙjè-hÚjæ-häjò&hæj3hè}rí-(hê]hë]hì]hí]hð]uhòM¡hô]rî-hýXDConnect "USB TO SOC UART0" on K2G EVM to a PC USB port via USB cablerï-…�rð-}rñ-(hÙjè-hÚjë-ubaubaubjX)�rò-}ró-(hÙXªLaunch a terminal emulator like Tera Term and open the local COM port corresponding to the UART0 (Set it to 115200 bps, 8 bit, none parity, one bit stop, no flow control)hÚjË-häjò&hæj[hè}rô-(hê]hë]hì]hí]hð]uhòNhóhhô]rõ-j/)�rö-}r÷-(hÙXªLaunch a terminal emulator like Tera Term and open the local COM port corresponding to the UART0 (Set it to 115200 bps, 8 bit, none parity, one bit stop, no flow control)rø-hÚjò-häjò&hæj3hè}rù-(hê]hë]hì]hí]hð]uhòM¢hô]rú-hýXªLaunch a terminal emulator like Tera Term and open the local COM port corresponding to the UART0 (Set it to 115200 bps, 8 bit, none parity, one bit stop, no flow control)rû-…�rü-}rý-(hÙjø-hÚjö-ubaubaubjX)�rþ-}rÿ-(hÙXWPlug power adapter (12V) into the K2G EVM and power on the EVM and Power on the K2G EVMhÚjË-häjò&hæj[hè}r.(hê]hë]hì]hí]hð]uhòNhóhhô]r.j/)�r.}r.(hÙXWPlug power adapter (12V) into the K2G EVM and power on the EVM and Power on the K2G EVMr.hÚjþ-häjò&hæj3hè}r.(hê]hë]hì]hí]hð]uhòM¥hô]r.hýXWPlug power adapter (12V) into the K2G EVM and power on the EVM and Power on the K2G EVMr.…�r.}r .(hÙj.hÚj.ubaubaubjX)�r .}r .(hÙX9There will be some information displayed on the SOC UART0r .hÚjË-häjò&hæj[hè}r .(hê]hë]hì]hí]hð]uhòNhóhhô]r.j/)�r.}r.(hÙj .hÚj .häjò&hæj3hè}r.(hê]hë]hì]hí]hð]uhòM§hô]r.hýX9There will be some information displayed on the SOC UART0r.…�r.}r.(hÙj .hÚj.ubaubaubjX)�r.}r.(hÙXoThe program will run the real time demo forever, taking the input from CMB and output to the on-board line-out hÚjË-häjò&hæj[hè}r.(hê]hë]hì]hí]hð]uhòNhóhhô]r.j/)�r.}r.(hÙXnThe program will run the real time demo forever, taking the input from CMB and output to the on-board line-outr.hÚj.häjò&hæj3hè}r.(hê]hë]hì]hí]hð]uhòM¨hô]r.hýXnThe program will run the real time demo forever, taking the input from CMB and output to the on-board line-outr.…�r .}r!.(hÙj.hÚj.ubaubaubeubjÎ)�r".}r#.(hÙUhÚj¼-häjò&hæjÑhè}r$.(hê]hë]hì]hí]hð]uhòM«hóhhô]r%.jÔ)�r&.}r'.(hÙUj×KhÚj".häjò&hæhòhè}r(.(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubeubeubhÛ)�r).}r*.(hÙUhÚjà&häjò&hæhçhè}r+.(hê]hë]hì]hí]r,.U(how-to-read-the-input-output-audio-filesr-.ahð]r..hauhòM®hóhhô]r/.(hö)�r0.}r1.(hÙX(How to Read the Input/output Audio Filesr2.hÚj).häjò&hæhúhè}r3.(hê]hë]hì]hí]hð]uhòM®hóhhô]r4.hýX(How to Read the Input/output Audio Filesr5.…�r6.}r7.(hÙj2.hÚj0.ubaubj/)�r8.}r9.(hÙXÉBoth the input/output audio files are in raw PCM format (*.pcm or \*.bin) 16 bit per sample, big endian, mono, at 16Khz. They can be imported either by Adobe Audition or Audacity as the raw audio data.hÚj).häjò&hæj3hè}r:.(hê]hë]hì]hí]hð]uhòM°hóhhô]r;.(hýX9Both the input/output audio files are in raw PCM format (r<.…�r=.}r>.(hÙX9Both the input/output audio files are in raw PCM format (hÚj8.ubcdocutils.nodes problematic r?.)�r@.}rA.(hÙX*hè}rB.(hí]rC.Uid38rD.ahì]hê]hë]hð]UrefidUid37rE.uhÚj8.hô]rF.hýX*…�rG.}rH.(hÙUhÚj@.ubahæU problematicrI.ubhýXŽ.pcm or *.bin) 16 bit per sample, big endian, mono, at 16Khz. They can be imported either by Adobe Audition or Audacity as the raw audio data.rJ.…�rK.}rL.(hÙX�.pcm or \*.bin) 16 bit per sample, big endian, mono, at 16Khz. They can be imported either by Adobe Audition or Audacity as the raw audio data.hÚj8.ubeubhÛ)�rM.}rN.(hÙUhÚj).häjò&hæhçhè}rO.(hê]hë]hì]hí]rP.U/import-raw-audio-data-file-using-adobe-auditionrQ.ahð]rR.h"auhòMµhóhhô]rS.(hö)�rT.}rU.(hÙX/Import Raw Audio Data File using Adobe AuditionrV.hÚjM.häjò&hæhúhè}rW.(hê]hë]hì]hí]hð]uhòMµhóhhô]rX.hýX/Import Raw Audio Data File using Adobe AuditionrY.…�rZ.}r[.(hÙjV.hÚjT.ubaubjQ)�r\.}r].(hÙUhÚjM.häjò&hæjThè}r^.(jVX-hí]hì]hê]hë]hð]uhòM·hóhhô]r_.(jX)�r`.}ra.(hÙXLaunch the Adobe Audition CS5.5rb.hÚj\.häjò&hæj[hè}rc.(hê]hë]hì]hí]hð]uhòNhóhhô]rd.j/)�re.}rf.(hÙjb.hÚj`.häjò&hæj3hè}rg.(hê]hë]hì]hí]hð]uhòM·hô]rh.hýXLaunch the Adobe Audition CS5.5ri.…�rj.}rk.(hÙjb.hÚje.ubaubaubjX)�rl.}rm.(hÙXFile --> Import --> Raw Data...rn.hÚj\.häjò&hæj[hè}ro.(hê]hë]hì]hí]hð]uhòNhóhhô]rp.j/)�rq.}rr.(hÙjn.hÚjl.häjò&hæj3hè}rs.(hê]hë]hì]hí]hð]uhòM¸hô]rt.hýXFile --> Import --> Raw Data...ru.…�rv.}rw.(hÙjn.hÚjq.ubaubaubjX)�rx.}ry.(hÙX!The following dialog will pop up hÚj\.häjò&hæj[hè}rz.(hê]hë]hì]hí]hð]uhòNhóhhô]r{.j/)�r|.}r}.(hÙX The following dialog will pop upr~.hÚjx.häjò&hæj3hè}r.(hê]hë]hì]hí]hð]uhòM¹hô]r€.hýX The following dialog will pop upr�.…�r‚.}rƒ.(hÙj~.hÚj|.ubaubaubeubj)�r„.}r….(hÙX3.. Image:: ../images/Aud_pre_processing_import.png hÚjM.häjò&hæjhè}r†.(UuriX,rtos/../images/Aud_pre_processing_import.pngr‡.hí]hì]hê]hë]j}rˆ.U*j‡.shð]uhòM¼hóhhô]ubjQ)�r‰.}rŠ.(hÙUhÚjM.häjò&hæjThè}r‹.(jVX-hí]hì]hê]hë]hð]uhòM½hóhhô]rŒ.(jX)�r�.}rŽ.(hÙX:Select the raw audio file and input the correct parametersr�.hÚj‰.häjò&hæj[hè}r�.(hê]hë]hì]hí]hð]uhòNhóhhô]r‘.j/)�r’.}r“.(hÙj�.hÚj�.häjò&hæj3hè}r”.(hê]hë]hì]hí]hð]uhòM½hô]r•.hýX:Select the raw audio file and input the correct parametersr–.…�r—.}r˜.(hÙj�.hÚj’.ubaubaubjX)�r™.}rš.(hÙX Click OK hÚj‰.häjò&hæj[hè}r›.(hê]hë]hì]hí]hð]uhòNhóhhô]rœ.j/)�r�.}rž.(hÙXClick OKrŸ.hÚj™.häjò&hæj3hè}r .(hê]hë]hì]hí]hð]uhòM¾hô]r¡.hýXClick OKr¢.…�r£.}r¤.(hÙjŸ.hÚj�.ubaubaubeubeubhÛ)�r¥.}r¦.(hÙUhÚj).häjò&hæhçhè}r§.(hê]hë]hì]hí]r¨.Ubefore-and-after-comparisonr©.ahð]rª.hÁauhòMÁhóhhô]r«.(hö)�r¬.}r­.(hÙXBefore and After Comparisonr®.hÚj¥.häjò&hæhúhè}r¯.(hê]hë]hì]hí]hð]uhòMÁhóhhô]r°.hýXBefore and After Comparisonr±.…�r².}r³.(hÙj®.hÚj¬.ubaubjQ)�r´.}rµ.(hÙUhÚj¥.häjò&hæjThè}r¶.(jVX-hí]hì]hê]hë]hð]uhòMÃhóhhô]r·.jX)�r¸.}r¹.(hÙX4Before audio pre-processing (t8/y16L7g3m7090_1.pcm) hÚj´.häjò&hæj[hè}rº.(hê]hë]hì]hí]hð]uhòNhóhhô]r».j/)�r¼.}r½.(hÙX3Before audio pre-processing (t8/y16L7g3m7090_1.pcm)r¾.hÚj¸.häjò&hæj3hè}r¿.(hê]hë]hì]hí]hð]uhòMÃhô]rÀ.hýX3Before audio pre-processing (t8/y16L7g3m7090_1.pcm)rÁ.…�rÂ.}rÃ.(hÙj¾.hÚj¼.ubaubaubaubj)�rÄ.}rÅ.(hÙX3.. Image:: ../images/Aud_pre_processing_before.png hÚj¥.häjò&hæjhè}rÆ.(UuriX,rtos/../images/Aud_pre_processing_before.pngrÇ.hí]hì]hê]hë]j}rÈ.U*jÇ.shð]uhòMÆhóhhô]ubjQ)�rÉ.}rÊ.(hÙUhÚj¥.häjò&hæjThè}rË.(jVX-hí]hì]hê]hë]hð]uhòMÇhóhhô]rÌ.jX)�rÍ.}rÎ.(hÙX/After audio pre-processing (t8/fileOutput.bin) hÚjÉ.häjò&hæj[hè}rÏ.(hê]hë]hì]hí]hð]uhòNhóhhô]rÐ.j/)�rÑ.}rÒ.(hÙX.After audio pre-processing (t8/fileOutput.bin)rÓ.hÚjÍ.häjò&hæj3hè}rÔ.(hê]hë]hì]hí]hð]uhòMÇhô]rÕ.hýX.After audio pre-processing (t8/fileOutput.bin)rÖ.…�r×.}rØ.(hÙjÓ.hÚjÑ.ubaubaubaubj)�rÙ.}rÚ.(hÙX2.. Image:: ../images/Aud_pre_processing_after.png hÚj¥.häjò&hæjhè}rÛ.(UuriX+rtos/../images/Aud_pre_processing_after.pngrÜ.hí]hì]hê]hë]j}rÝ.U*jÜ.shð]uhòMÊhóhhô]ubjÎ)�rÞ.}rß.(hÙUhÚj¥.häjò&hæjÑhè}rà.(hê]hë]hì]hí]hð]uhòMËhóhhô]rá.jÔ)�râ.}rã.(hÙUj×KhÚjÞ.häjò&hæhòhè}rä.(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubeubeubhäjò&hæhçhè}rå.(hê]ræ.X introductionrç.ahë]hì]hí]rè.Uid23ré.ahð]uhòKhóhhô]rê.(hö)�rë.}rì.(hÙX Introductionrí.hÚjÞ&häjò&hæhúhè}rî.(hê]hë]hì]hí]hð]uhòKhóhhô]rï.hýX Introductionrð.…�rñ.}rò.(hÙjí.hÚjë.ubaubj/)�ró.}rô.(hÙX_This page describes the audio pre-processing for speech recognition framework provided in the Processor-SDK for RTOS. This demo illustrates the integration of Beamforming (BF), Adaptive Spectral Noise Reduction (ASNR), Multiple Source Selection (MSS) and Dynamic Range Compression (DRC) components and provides a framework for application development.rõ.hÚjÞ&häjò&hæj3hè}rö.(hê]hë]hì]hí]hð]uhòKhóhhô]r÷.hýX_This page describes the audio pre-processing for speech recognition framework provided in the Processor-SDK for RTOS. This demo illustrates the integration of Beamforming (BF), Adaptive Spectral Noise Reduction (ASNR), Multiple Source Selection (MSS) and Dynamic Range Compression (DRC) components and provides a framework for application development.rø.…�rù.}rú.(hÙjõ.hÚjó.ubaubj)�rû.}rü.(hÙX1.. Image:: ../images/Aud_pre_processing_arch.png hÚjÞ&häjò&hæjhè}rý.(UuriX*rtos/../images/Aud_pre_processing_arch.pngrþ.hí]hì]hê]hë]j}rÿ.U*jþ.shð]uhòK hóhhô]ubj/)�r/}r/(hÙX+The key functions in this use case include:r/hÚjÞ&häjò&hæj3hè}r/(hê]hë]hì]hí]hð]uhòKhóhhô]r/hýX+The key functions in this use case include:r/…�r/}r/(hÙj/hÚj/ubaubjQ)�r/}r /(hÙUhÚjÞ&häjò&hæjThè}r /(jVX-hí]hì]hê]hë]hð]uhòKhóhhô]r /(jX)�r /}r /(hÙXVRead 7 canned audio input files from hard drive into buffers in DDR using GEL functionhÚj/häjò&hæj[hè}r/(hê]hë]hì]hí]hð]uhòNhóhhô]r/j/)�r/}r/(hÙXVRead 7 canned audio input files from hard drive into buffers in DDR using GEL functionr/hÚj /häjò&hæj3hè}r/(hê]hë]hì]hí]hð]uhòKhô]r/hýXVRead 7 canned audio input files from hard drive into buffers in DDR using GEL functionr/…�r/}r/(hÙj/hÚj/ubaubaubjX)�r/}r/(hÙX<Generate 12 virtual mics using BF (Beamforming) (30° apart)r/hÚj/häjò&hæj[hè}r/(hê]hë]hì]hí]hð]uhòNhóhhô]r/j/)�r/}r/(hÙj/hÚj/häjò&hæj3hè}r/(hê]hë]hì]hí]hð]uhòKhô]r /hýX<Generate 12 virtual mics using BF (Beamforming) (30° apart)r!/…�r"/}r#/(hÙj/hÚj/ubaubaubjX)�r$/}r%/(hÙXBApply ASNR (Adaptive Spectral Noise Reduction) on each virtual micr&/hÚj/häjò&hæj[hè}r'/(hê]hë]hì]hí]hð]uhòNhóhhô]r(/j/)�r)/}r*/(hÙj&/hÚj$/häjò&hæj3hè}r+/(hê]hë]hì]hí]hð]uhòKhô]r,/hýXBApply ASNR (Adaptive Spectral Noise Reduction) on each virtual micr-/…�r./}r//(hÙj&/hÚj)/ubaubaubjX)�r0/}r1/(hÙX[Use MSS (Multiple Source Selection) to select the best virtual mic from the 12 virtual micshÚj/häjò&hæj[hè}r2/(hê]hë]hì]hí]hð]uhòNhóhhô]r3/j/)�r4/}r5/(hÙX[Use MSS (Multiple Source Selection) to select the best virtual mic from the 12 virtual micsr6/hÚj0/häjò&hæj3hè}r7/(hê]hë]hì]hí]hð]uhòKhô]r8/hýX[Use MSS (Multiple Source Selection) to select the best virtual mic from the 12 virtual micsr9/…�r:/}r;/(hÙj6/hÚj4/ubaubaubjX)�r/hÚj/häjò&hæj[hè}r?/(hê]hë]hì]hí]hð]uhòNhóhhô]r@/j/)�rA/}rB/(hÙj>/hÚj/hÚjA/ubaubaubjX)�rH/}rI/(hÙXDisplay performance datarJ/hÚj/häjò&hæj[hè}rK/(hê]hë]hì]hí]hð]uhòNhóhhô]rL/j/)�rM/}rN/(hÙjJ/hÚjH/häjò&hæj3hè}rO/(hê]hë]hì]hí]hð]uhòKhô]rP/hýXDisplay performance datarQ/…�rR/}rS/(hÙjJ/hÚjM/ubaubaubjX)�rT/}rU/(hÙXVWrite one processed audio channel from buffer in DDR to hard drive using GEL function hÚj/häjò&hæj[hè}rV/(hê]hë]hì]hí]hð]uhòNhóhhô]rW/j/)�rX/}rY/(hÙXUWrite one processed audio channel from buffer in DDR to hard drive using GEL functionrZ/hÚjT/häjò&hæj3hè}r[/(hê]hë]hì]hí]hð]uhòKhô]r\/hýXUWrite one processed audio channel from buffer in DDR to hard drive using GEL functionr]/…�r^/}r_/(hÙjZ/hÚjX/ubaubaubeubj/)�r`/}ra/(hÙX;This demo utilizes other Processor SDK features/components:rb/hÚjÞ&häjò&hæj3hè}rc/(hê]hë]hì]hí]hð]uhòKhóhhô]rd/hýX;This demo utilizes other Processor SDK features/components:re/…�rf/}rg/(hÙjb/hÚj`/ubaubjQ)�rh/}ri/(hÙUhÚjÞ&häjò&hæjThè}rj/(jVX-hí]hì]hê]hë]hð]uhòKhóhhô]rk/(jX)�rl/}rm/(hÙXK**SYS/BIOS** application utilizing TI-RTOS features for DSP-C66x/C674x corehÚjh/häjò&hæj[hè}rn/(hê]hë]hì]hí]hð]uhòNhóhhô]ro/j/)�rp/}rq/(hÙXK**SYS/BIOS** application utilizing TI-RTOS features for DSP-C66x/C674x corehÚjl/häjò&hæj3hè}rr/(hê]hë]hì]hí]hð]uhòKhô]rs/(jW)�rt/}ru/(hÙX **SYS/BIOS**hè}rv/(hê]hë]hì]hí]hð]uhÚjp/hô]rw/hýXSYS/BIOSrx/…�ry/}rz/(hÙUhÚjt/ubahæj_ubhýX? application utilizing TI-RTOS features for DSP-C66x/C674x corer{/…�r|/}r}/(hÙX? application utilizing TI-RTOS features for DSP-C66x/C674x corehÚjp/ubeubaubjX)�r~/}r/(hÙX$**UIA** for instrumentation logging hÚjh/häjò&hæj[hè}r€/(hê]hë]hì]hí]hð]uhòNhóhhô]r�/j/)�r‚/}rƒ/(hÙX#**UIA** for instrumentation logginghÚj~/häjò&hæj3hè}r„/(hê]hë]hì]hí]hð]uhòKhô]r…/(jW)�r†/}r‡/(hÙX**UIA**hè}rˆ/(hê]hë]hì]hí]hð]uhÚj‚/hô]r‰/hýXUIArŠ/…�r‹/}rŒ/(hÙUhÚj†/ubahæj_ubhýX for instrumentation loggingr�/…�rŽ/}r�/(hÙX for instrumentation logginghÚj‚/ubeubaubeubj/)�r�/}r‘/(hÙXÆThe audio components are available in AER and VOLIB packages, which are optimized for C66x cores, so this demo not available for all devices. Currently, the following devices and EVMs are supported:r’/hÚjÞ&häjò&hæj3hè}r“/(hê]hë]hì]hí]hð]uhòK!hóhhô]r”/hýXÆThe audio components are available in AER and VOLIB packages, which are optimized for C66x cores, so this demo not available for all devices. Currently, the following devices and EVMs are supported:r•/…�r–/}r—/(hÙj’/hÚj�/ubaubjQ)�r˜/}r™/(hÙUhÚjÞ&häjò&hæjThè}rš/(jVX-hí]hì]hê]hë]hð]uhòK%hóhhô]r›/(jX)�rœ/}r�/(hÙXAM57x, on the AM572x GP EVMrž/hÚj˜/häjò&hæj[hè}rŸ/(hê]hë]hì]hí]hð]uhòNhóhhô]r /j/)�r¡/}r¢/(hÙjž/hÚjœ/häjò&hæj3hè}r£/(hê]hë]hì]hí]hð]uhòK%hô]r¤/hýXAM57x, on the AM572x GP EVMr¥/…�r¦/}r§/(hÙjž/hÚj¡/ubaubaubjX)�r¨/}r©/(hÙXSK2G, on the K2G EVM. See TIDEP-0088 (http://www.ti.com/tool/TIDEP-0088) for detailshÚj˜/häjò&hæj[hè}rª/(hê]hë]hì]hí]hð]uhòNhóhhô]r«/j/)�r¬/}r­/(hÙXSK2G, on the K2G EVM. See TIDEP-0088 (http://www.ti.com/tool/TIDEP-0088) for detailshÚj¨/häjò&hæj3hè}r®/(hê]hë]hì]hí]hð]uhòK&hô]r¯/(hýX%K2G, on the K2G EVM. See TIDEP-0088 (r°/…�r±/}r²/(hÙX%K2G, on the K2G EVM. See TIDEP-0088 (hÚj¬/ubj)�r³/}r´/(hÙX!http://www.ti.com/tool/TIDEP-0088rµ/hè}r¶/(Urefurijµ/hí]hì]hê]hë]hð]uhÚj¬/hô]r·/hýX!http://www.ti.com/tool/TIDEP-0088r¸/…�r¹/}rº/(hÙUhÚj³/ubahæjubhýX ) for detailsr»/…�r¼/}r½/(hÙX ) for detailshÚj¬/ubeubaubjX)�r¾/}r¿/(hÙX`OMAP-L137, on the OMAP-L137 EVM. See TIDEP-0099 (http://www.ti.com/tool/TIDEP-0099) for details hÚj˜/häjò&hæj[hè}rÀ/(hê]hë]hì]hí]hð]uhòNhóhhô]rÁ/j/)�rÂ/}rÃ/(hÙX_OMAP-L137, on the OMAP-L137 EVM. See TIDEP-0099 (http://www.ti.com/tool/TIDEP-0099) for detailshÚj¾/häjò&hæj3hè}rÄ/(hê]hë]hì]hí]hð]uhòK(hô]rÅ/(hýX1OMAP-L137, on the OMAP-L137 EVM. See TIDEP-0099 (rÆ/…�rÇ/}rÈ/(hÙX1OMAP-L137, on the OMAP-L137 EVM. See TIDEP-0099 (hÚjÂ/ubj)�rÉ/}rÊ/(hÙX!http://www.ti.com/tool/TIDEP-0099rË/hè}rÌ/(UrefurijË/hí]hì]hê]hë]hð]uhÚjÂ/hô]rÍ/hýX!http://www.ti.com/tool/TIDEP-0099rÎ/…�rÏ/}rÐ/(hÙUhÚjÉ/ubahæjubhýX ) for detailsrÑ/…�rÒ/}rÓ/(hÙX ) for detailshÚjÂ/ubeubaubeubjÎ)�rÔ/}rÕ/(hÙUhÚjÞ&häjò&hæjÑhè}rÖ/(hê]hë]hì]hí]hð]uhòK+hóhhô]r×/jÔ)�rØ/}rÙ/(hÙUj×KhÚjÔ/häjò&hæhòhè}rÚ/(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubhäjò&hæj>hè}rÛ/(hê]UlevelKhí]hì]rÜ/jé.aUsourcejò&hë]hð]UlineKUtypejAuhòKhóhhô]rÝ/j/)�rÞ/}rß/(hÙX/Duplicate implicit target name: "introduction".hè}rà/(hê]hë]hì]hí]hð]uhÚjÜ&hô]rá/hýX/Duplicate implicit target name: "introduction".râ/…�rã/}rä/(hÙUhÚjÞ/ubahæj3ubaubj¬)�rå/}ræ/(hÙUhÚjù&häjò&hæj>hè}rç/(hê]UlevelKhí]hì]rè/jÿ&aUsourcejò&hë]hð]UlineK.UtypejAuhòK.hóhhô]ré/j/)�rê/}rë/(hÙX/Duplicate implicit target name: "requirements".hè}rì/(hê]hë]hì]hí]hð]uhÚjå/hô]rí/hýX/Duplicate implicit target name: "requirements".rî/…�rï/}rð/(hÙUhÚjê/ubahæj3ubaubj¬)�rñ/}rò/(hÙUhÚj—'häjò&hæj>hè}ró/(hê]UlevelKhí]hì]rô/j�'aUsourcejò&hë]hð]UlineKCUtypejAuhòKChóhhô]rõ/j/)�rö/}r÷/(hÙX2Duplicate implicit target name: "software design".hè}rø/(hê]hë]hì]hí]hð]uhÚjñ/hô]rù/hýX2Duplicate implicit target name: "software design".rú/…�rû/}rü/(hÙUhÚjö/ubahæj3ubaubj¬)�rý/}rþ/(hÙUhÚj§'häjò&hæj>hè}rÿ/(hê]UlevelKhí]hì]r0j¬'aUsourcejò&hë]hð]UlineKFUtypejAuhòKFhóhhô]r0j/)�r0}r0(hÙXCDuplicate implicit target name: "more about processing algorithms".hè}r0(hê]hë]hì]hí]hð]uhÚjý/hô]r0hýXCDuplicate implicit target name: "more about processing algorithms".r0…�r0}r0(hÙUhÚj0ubahæj3ubaubj¬)�r 0}r 0(hÙUhÚjw(häjò&hæj>hè}r 0(hê]UlevelKhí]hì]r 0j}(aUsourcejò&hë]hð]UlineKjUtypejAuhòKjhóhhô]r 0j/)�r0}r0(hÙX8Duplicate implicit target name: "how to build the demo".hè}r0(hê]hë]hì]hí]hð]uhÚj 0hô]r0hýX8Duplicate implicit target name: "how to build the demo".r0…�r0}r0(hÙUhÚj0ubahæj3ubaubj¬)�r0}r0(hÙUhÚj“(häjò&hæj>hè}r0(hê]UlevelKhí]hì]r0j˜(aUsourcejò&hë]hð]UlineKsUtypejAuhòKshóhhô]r0j/)�r0}r0(hÙX0Duplicate implicit target name: "am572x gp evm".hè}r0(hê]hë]hì]hí]hð]uhÚj0hô]r0hýX0Duplicate implicit target name: "am572x gp evm".r0…�r0}r 0(hÙUhÚj0ubahæj3ubaubj¬)�r!0}r"0(hÙUhÚj”)häjò&hæj>hè}r#0(hê]UlevelKhí]hì]r$0jš)aUsourcejò&hë]hð]UlineKÊUtypejAuhòKÊhóhhô]r%0j/)�r&0}r'0(hÙX6Duplicate implicit target name: "how to run the demo".hè}r(0(hê]hë]hì]hí]hð]uhÚj!0hô]r)0hýX6Duplicate implicit target name: "how to run the demo".r*0…�r+0}r,0(hÙUhÚj&0ubahæj3ubaubj¬)�r-0}r.0(hÙUhÚj´)häjò&hæj>hè}r/0(hê]UlevelKhí]hì]r00jº)aUsourcejò&hë]hð]UlineKÔUtypejAuhòKÔhóhhô]r10j/)�r20}r30(hÙX0Duplicate implicit target name: "am572x gp evm".hè}r40(hê]hë]hì]hí]hð]uhÚj-0hô]r50hýX0Duplicate implicit target name: "am572x gp evm".r60…�r70}r80(hÙUhÚj20ubahæj3ubaubj¬)�r90}r:0(hÙUhÚjf*häjò&hæj>hè}r;0(hê]UlevelKhí]hì]r<0jk*aUsourcejò&hë]hð]UlineKñUtypejAuhòKñhóhhô]r=0j/)�r>0}r?0(hÙX*Duplicate implicit target name: "k2g evm".hè}r@0(hê]hë]hì]hí]hð]uhÚj90hô]rA0hýX*Duplicate implicit target name: "k2g evm".rB0…�rC0}rD0(hÙUhÚj>0ubahæj3ubaubj¬)�rE0}rF0(hÙUhÚj +häjò&hæj>hè}rG0(hê]UlevelKhí]hì]rH0j+aUsourcejò&hë]hð]UlineM UtypejAuhòM hóhhô]rI0j/)�rJ0}rK0(hÙX0Duplicate implicit target name: "omap-l137 evm".hè}rL0(hê]hë]hì]hí]hð]uhÚjE0hô]rM0hýX0Duplicate implicit target name: "omap-l137 evm".rN0…�rO0}rP0(hÙUhÚjJ0ubahæj3ubaubj¬)�rQ0}rR0(hÙUhÚjÎ+häjò&hæj>hè}rS0(hê]UlevelKhí]hì]rT0jÔ+aUsourcejò&hë]hð]UlineM,UtypejAuhòM,hóhhô]rU0j/)�rV0}rW0(hÙX8Duplicate implicit target name: "how to build the demo".hè}rX0(hê]hë]hì]hí]hð]uhÚjQ0hô]rY0hýX8Duplicate implicit target name: "how to build the demo".rZ0…�r[0}r\0(hÙUhÚjV0ubahæj3ubaubj¬)�r]0}r^0(hÙUhÚjê+häjò&hæj>hè}r_0(hê]UlevelKhí]hì]r`0jð+aUsourcejò&hë]hð]UlineM4UtypejAuhòM4hóhhô]ra0j/)�rb0}rc0(hÙX*Duplicate implicit target name: "k2g evm".hè}rd0(hê]hë]hì]hí]hð]uhÚj]0hô]re0hýX*Duplicate implicit target name: "k2g evm".rf0…�rg0}rh0(hÙUhÚjb0ubahæj3ubaubj¬)�ri0}rj0(hÙUhÚj@,häjò&hæj>hè}rk0(hê]UlevelKhí]hì]rl0jF,aUsourcejò&hë]hð]UlineMQUtypejAuhòMQhóhhô]rm0j/)�rn0}ro0(hÙX0Duplicate implicit target name: "omap-l137 evm".hè}rp0(hê]hë]hì]hí]hð]uhÚji0hô]rq0hýX0Duplicate implicit target name: "omap-l137 evm".rr0…�rs0}rt0(hÙUhÚjn0ubahæj3ubaubj¬)�ru0}rv0(hÙUhÚj–,häjò&hæj>hè}rw0(hê]UlevelKhí]hì]rx0jœ,aUsourcejò&hë]hð]UlineMnUtypejAuhòMnhóhhô]ry0j/)�rz0}r{0(hÙX6Duplicate implicit target name: "how to run the demo".hè}r|0(hê]hë]hì]hí]hð]uhÚju0hô]r}0hýX6Duplicate implicit target name: "how to run the demo".r~0…�r0}r€0(hÙUhÚjz0ubahæj3ubaubj¬)�r�0}r‚0(hÙUhÚj).häjò&hæj>hè}rƒ0(hê]UlevelKhí]r„0jE.ahì]r…0jD.aUsourcejò&hë]hð]UlineM°UtypejY&uhòM²hóhhô]r†0j/)�r‡0}rˆ0(hÙX0Inline emphasis start-string without end-string.hè}r‰0(hê]hë]hì]hí]hð]uhÚj�0hô]rŠ0hýX0Inline emphasis start-string without end-string.r‹0…�rŒ0}r�0(hÙUhÚj‡0ubahæj3ubaubj¬)�rŽ0}r�0(hÙUhÚj¥.häX[internal padding after source/rtos/Examples_and_Demonstrations/Audio_Pre_Processing.rst.incr�0hæj>hè}r‘0(hê]UlevelKhí]hì]Usourcejò&hë]hð]UlineMÍUtypejfuhòMÏhóhhô]r’0(j/)�r“0}r”0(hÙX;Content block expected for the "raw" directive; none found.hè}r•0(hê]hë]hì]hí]hð]uhÚjŽ0hô]r–0hýX;Content block expected for the "raw" directive; none found.r—0…�r˜0}r™0(hÙUhÚj“0ubahæj3ubjË)�rš0}r›0(hÙX.. raw:: html hè}rœ0(jjhí]hì]hê]hë]hð]uhÚjŽ0hô]r�0hýX.. raw:: html rž0…�rŸ0}r 0(hÙUhÚjš0ubahæjÎubeubj¬)�r¡0}r¢0(hÙUhÚhÛ)�r£0}r¤0(hÙUjKhÚhÛ)�r¥0}r¦0(hÙUhÚhhähåhæhçhè}r§0(hê]hë]hì]hí]r¨0Uperformance-audio-demor©0ahð]rª0hbauhòK!hóhhô]r«0(hö)�r¬0}r­0(hÙXPerformance Audio Demor®0hÚj¥0hähåhæhúhè}r¯0(hê]hë]hì]hí]hð]uhòK!hóhhô]r°0hýXPerformance Audio Demor±0…�r²0}r³0(hÙj®0hÚj¬0ubaubj )�r´0}rµ0(hÙXLhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Performance_AudiohÚj¥0häj XAsource/rtos/Examples_and_Demonstrations/Performance_Audio.rst.incr¶0…�r·0}r¸0bhæjhè}r¹0(jjhí]hì]hê]hë]hð]uhòKhóhhô]rº0hýXLhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Performance_Audior»0…�r¼0}r½0(hÙUhÚj´0ubaubj£0hÛ)�r¾0}r¿0(hÙUjKhÚj¥0häj·0hæhçhè}rÀ0(hê]rÁ0X requirementsrÂ0ahë]hì]hí]rÃ0Uid40rÄ0ahð]uhòKhóhhô]rÅ0(hö)�rÆ0}rÇ0(hÙX RequirementsrÈ0hÚj¾0häj·0hæhúhè}rÉ0(hê]hë]hì]hí]hð]uhòKhóhhô]rÊ0hýX RequirementsrË0…�rÌ0}rÍ0(hÙjÈ0hÚjÆ0ubaubj/)�rÎ0}rÏ0(hÙXHardwarerÐ0hÚj¾0häj·0hæj3hè}rÑ0(hê]hë]hì]hí]hð]uhòKhóhhô]rÒ0hýXHardwarerÓ0…�rÔ0}rÕ0(hÙjÐ0hÚjÎ0ubaubjQ)�rÖ0}r×0(hÙUhÚj¾0häj·0hæjThè}rØ0(jVX-hí]hì]hê]hë]hð]uhòKhóhhô]rÙ0(jX)�rÚ0}rÛ0(hÙXF`66AK2Gx Evaluation Module (EVMK2G) `__rÜ0hÚjÖ0häj·0hæj[hè}rÝ0(hê]hë]hì]hí]hð]uhòNhóhhô]rÞ0j/)�rß0}rà0(hÙjÜ0hÚjÚ0häj·0hæj3hè}rá0(hê]hë]hì]hí]hð]uhòKhô]râ0j)�rã0}rä0(hÙjÜ0hè}rå0(UnameX"66AK2Gx Evaluation Module (EVMK2G)jXhttp://www.ti.com/tool/evmk2ghí]hì]hê]hë]hð]uhÚjß0hô]ræ0hýX"66AK2Gx Evaluation Module (EVMK2G)rç0…�rè0}ré0(hÙUhÚjã0ubahæjubaubaubjX)�rê0}rë0(hÙXH`66AK2Gx Audio Daughter Card (AUDK2G) `__rì0hÚjÖ0häj·0hæj[hè}rí0(hê]hë]hì]hí]hð]uhòNhóhhô]rî0j/)�rï0}rð0(hÙjì0hÚjê0häj·0hæj3hè}rñ0(hê]hë]hì]hí]hð]uhòKhô]rò0j)�ró0}rô0(hÙjì0hè}rõ0(UnameX$66AK2Gx Audio Daughter Card (AUDK2G)jXhttp://www.ti.com/tool/AUDK2Ghí]hì]hê]hë]hð]uhÚjï0hô]rö0hýX$66AK2Gx Audio Daughter Card (AUDK2G)r÷0…�rø0}rù0(hÙUhÚjó0ubahæjubaubaubjX)�rú0}rû0(hÙXš`Momentum Data Systems (MDS) HDMI repeater kit `__ (optional). Contact contactsales@mds.com for more information. hÚjÖ0häj·0hæj[hè}rü0(hê]hë]hì]hí]hð]uhòNhóhhô]rý0j/)�rþ0}rÿ0(hÙX™`Momentum Data Systems (MDS) HDMI repeater kit `__ (optional). Contact contactsales@mds.com for more information.hÚjú0häj·0hæj3hè}r1(hê]hë]hì]hí]hð]uhòKhô]r1(j)�r1}r1(hÙXZ`Momentum Data Systems (MDS) HDMI repeater kit `__hè}r1(UnameX-Momentum Data Systems (MDS) HDMI repeater kitjX&http://www.mds.com/products/hdmivideo/hí]hì]hê]hë]hð]uhÚjþ0hô]r1hýX-Momentum Data Systems (MDS) HDMI repeater kitr1…�r1}r1(hÙUhÚj1ubahæjubhýX (optional). Contact r 1…�r 1}r 1(hÙX (optional). Contact hÚjþ0ubj)�r 1}r 1(hÙXcontactsales@mds.comhè}r1(UrefuriXmailto:contactsales@mds.comhí]hì]hê]hë]hð]uhÚjþ0hô]r1hýXcontactsales@mds.comr1…�r1}r1(hÙUhÚj 1ubahæjubhýX for more information.r1…�r1}r1(hÙX for more information.hÚjþ0ubeubaubeubj/)�r1}r1(hÙXSoftwarer1hÚj¾0häj·0hæj3hè}r1(hê]hë]hì]hí]hð]uhòKhóhhô]r1hýXSoftwarer1…�r1}r1(hÙj1hÚj1ubaubjQ)�r1}r1(hÙUhÚj¾0häj·0hæjThè}r 1(jVX-hí]hì]hê]hë]hð]uhòK!hóhhô]r!1(jX)�r"1}r#1(hÙXCode Composer Studio (CCS)r$1hÚj1häj·0hæj[hè}r%1(hê]hë]hì]hí]hð]uhòNhóhhô]r&1j/)�r'1}r(1(hÙj$1hÚj"1häj·0hæj3hè}r)1(hê]hë]hì]hí]hð]uhòK!hô]r*1hýXCode Composer Studio (CCS)r+1…�r,1}r-1(hÙj$1hÚj'1ubaubaubjX)�r.1}r/1(hÙX-Python 2.7.14 and Sed 4.2.1 for Windows only hÚj1häj·0hæj[hè}r01(hê]hë]hì]hí]hð]uhòNhóhhô]r11j/)�r21}r31(hÙX,Python 2.7.14 and Sed 4.2.1 for Windows onlyr41hÚj.1häj·0hæj3hè}r51(hê]hë]hì]hí]hð]uhòK"hô]r61hýX,Python 2.7.14 and Sed 4.2.1 for Windows onlyr71…�r81}r91(hÙj41hÚj21ubaubaubeubeubhÛ)�r:1}r;1(hÙUjKhÚj¥0häj·0hæhçhè}r<1(hê]r=1Xhow to run the demor>1ahë]hì]hí]r?1Uid41r@1ahð]uhòK%hóhhô]rA1(hö)�rB1}rC1(hÙXHow to Run the DemorD1hÚj:1häj·0hæhúhè}rE1(hê]hë]hì]hí]hð]uhòK%hóhhô]rF1hýXHow to Run the DemorG1…�rH1}rI1(hÙjD1hÚjB1ubaubhÛ)�rJ1}rK1(hÙUhÚj:1häj·0hæhçhè}rL1(hê]hë]hì]hí]rM1Uhardware-setuprN1ahð]rO1hauhòK(hóhhô]rP1(hö)�rQ1}rR1(hÙXHardware SetuprS1hÚjJ1häj·0hæhúhè}rT1(hê]hë]hì]hí]hð]uhòK(hóhhô]rU1hýXHardware SetuprV1…�rW1}rX1(hÙjS1hÚjQ1ubaubjQ)�rY1}rZ1(hÙUhÚjJ1häj·0hæjThè}r[1(jVX-hí]hì]hê]hë]hð]uhòK*hóhhô]r\1(jX)�r]1}r^1(hÙXXSetup K2G EVM according to the `Quick Start Guide `__r_1hÚjY1häj·0hæj[hè}r`1(hê]hë]hì]hí]hð]uhòNhóhhô]ra1j/)�rb1}rc1(hÙj_1hÚj]1häj·0hæj3hè}rd1(hê]hë]hì]hí]hð]uhòK*hô]re1(hýXSetup K2G EVM according to the rf1…�rg1}rh1(hÙXSetup K2G EVM according to the hÚjb1ubj)�ri1}rj1(hÙX9`Quick Start Guide `__hè}rk1(UnameXQuick Start GuidejX!http://www.ti.com/lit/pdf/sprw292hí]hì]hê]hë]hð]uhÚjb1hô]rl1hýXQuick Start Guiderm1…�rn1}ro1(hÙUhÚji1ubahæjubeubaubjX)�rp1}rq1(hÙXSetup Audio Daughter Card according to the `Quick Start Guide `__ and attach it to the K2G EVM. The Audio Daughter Card connects to the EVM through the JP1 “Audio Expansionâ€� and J12 “Serial Expansionâ€� connectors on EVM.hÚjY1häj·0hæj[hè}rr1(hê]hë]hì]hí]hð]uhòNhóhhô]rs1j/)�rt1}ru1(hÙXSetup Audio Daughter Card according to the `Quick Start Guide `__ and attach it to the K2G EVM. The Audio Daughter Card connects to the EVM through the JP1 “Audio Expansionâ€� and J12 “Serial Expansionâ€� connectors on EVM.hÚjp1häj·0hæj3hè}rv1(hê]hë]hì]hí]hð]uhòK+hô]rw1(hýX+Setup Audio Daughter Card according to the rx1…�ry1}rz1(hÙX+Setup Audio Daughter Card according to the hÚjt1ubj)�r{1}r|1(hÙX9`Quick Start Guide `__hè}r}1(UnameXQuick Start GuidejX!http://www.ti.com/lit/pdf/sprw287hí]hì]hê]hë]hð]uhÚjt1hô]r~1hýXQuick Start Guider1…�r€1}r�1(hÙUhÚj{1ubahæjubhýX¢ and attach it to the K2G EVM. The Audio Daughter Card connects to the EVM through the JP1 “Audio Expansionâ€� and J12 “Serial Expansionâ€� connectors on EVM.r‚1…�rƒ1}r„1(hÙX¢ and attach it to the K2G EVM. The Audio Daughter Card connects to the EVM through the JP1 “Audio Expansionâ€� and J12 “Serial Expansionâ€� connectors on EVM.hÚjt1ubeubaubjX)�r…1}r†1(hÙXXConnect an analog player output to the ADC_IN0-3 input jacks on the Audio Daughter Card.r‡1hÚjY1häj·0hæj[hè}rˆ1(hê]hë]hì]hí]hð]uhòNhóhhô]r‰1j/)�rŠ1}r‹1(hÙj‡1hÚj…1häj·0hæj3hè}rŒ1(hê]hë]hì]hí]hð]uhòK-hô]r�1hýXXConnect an analog player output to the ADC_IN0-3 input jacks on the Audio Daughter Card.rŽ1…�r�1}r�1(hÙj‡1hÚjŠ1ubaubaubjX)�r‘1}r’1(hÙXConnect a DVD/Blue-Ray player digital output (S/PDIF) to the MOD1 Digital Input (Optical) connector on the Audio Daughter Card.r“1hÚjY1häj·0hæj[hè}r”1(hê]hë]hì]hí]hð]uhòNhóhhô]r•1j/)�r–1}r—1(hÙj“1hÚj‘1häj·0hæj3hè}r˜1(hê]hë]hì]hí]hð]uhòK.hô]r™1hýXConnect a DVD/Blue-Ray player digital output (S/PDIF) to the MOD1 Digital Input (Optical) connector on the Audio Daughter Card.rš1…�r›1}rœ1(hÙj“1hÚj–1ubaubaubjX)�r�1}rž1(hÙXGConnect speakers to DAC_OUT0-3 output jacks on the Audio Daughter Card.rŸ1hÚjY1häj·0hæj[hè}r 1(hê]hë]hì]hí]hð]uhòNhóhhô]r¡1j/)�r¢1}r£1(hÙjŸ1hÚj�1häj·0hæj3hè}r¤1(hê]hë]hì]hí]hð]uhòK/hô]r¥1hýXGConnect speakers to DAC_OUT0-3 output jacks on the Audio Daughter Card.r¦1…�r§1}r¨1(hÙjŸ1hÚj¢1ubaubaubjX)�r©1}rª1(hÙXGConnect a COM port on PC to UART0 port on K2G EVM using a RS-232 cable.r«1hÚjY1häj·0hæj[hè}r¬1(hê]hë]hì]hí]hð]uhòNhóhhô]r­1j/)�r®1}r¯1(hÙj«1hÚj©1häj·0hæj3hè}r°1(hê]hë]hì]hí]hð]uhòK0hô]r±1hýXGConnect a COM port on PC to UART0 port on K2G EVM using a RS-232 cable.r²1…�r³1}r´1(hÙj«1hÚj®1ubaubaubjX)�rµ1}r¶1(hÙXdConnect XDS2xx USB Onboard Debug Probe to a PC USB port using the USB cable delivered with the EVM. hÚjY1häj·0hæj[hè}r·1(hê]hë]hì]hí]hð]uhòNhóhhô]r¸1j/)�r¹1}rº1(hÙXcConnect XDS2xx USB Onboard Debug Probe to a PC USB port using the USB cable delivered with the EVM.r»1hÚjµ1häj·0hæj3hè}r¼1(hê]hë]hì]hí]hð]uhòK1hô]r½1hýXcConnect XDS2xx USB Onboard Debug Probe to a PC USB port using the USB cable delivered with the EVM.r¾1…�r¿1}rÀ1(hÙj»1hÚj¹1ubaubaubeubj)�rÁ1}rÂ1(hÙXB.. Image:: ../images/pa_k2g_EVM_DC_setup.png :scale: 70 % hÚjJ1häj·0hæjhè}rÃ1(UscaleKFUuriX&rtos/../images/pa_k2g_EVM_DC_setup.pngrÄ1hí]hì]hê]hë]j}rÅ1U*jÄ1shð]uhòNhóhhô]ubeubhÛ)�rÆ1}rÇ1(hÙUhÚj:1häj·0hæhçhè}rÈ1(hê]hë]hì]hí]rÉ1Uoptional-setup-for-hdmirÊ1ahð]rË1hŽauhòK7hóhhô]rÌ1(hö)�rÍ1}rÎ1(hÙXOptional Setup for HDMIrÏ1hÚjÆ1häj·0hæhúhè}rÐ1(hê]hë]hì]hí]hð]uhòK7hóhhô]rÑ1hýXOptional Setup for HDMIrÒ1…�rÓ1}rÔ1(hÙjÏ1hÚjÍ1ubaubjQ)�rÕ1}rÖ1(hÙUhÚjÆ1häj·0hæjThè}r×1(jVX-hí]hì]hê]hë]hð]uhòK9hóhhô]rØ1(jX)�rÙ1}rÚ1(hÙXÀConnect the MDS HSR41P to the MDS IFB. - Connect HSR41P J4 “Mainâ€� header to the IFB J5 “Mainâ€� header using the short 26-wire ribbon cable. Ensure the red wire on the ribbon cable is connected between HSR41P J4 Pin1 and IFB J5 Pin1. - Connect HSR41P J7 “Secâ€� header to the IFB J2 “Secâ€� header using the short 34-wire ribbon cable. Ensure the red wire on the ribbon cable is connected between HSR41P J7 Pin1 and IFB J2 Pin1. hÚjÕ1häNhæj[hè}rÛ1(hê]hë]hì]hí]hð]uhòNhóhhô]rÜ1(j/)�rÝ1}rÞ1(hÙX&Connect the MDS HSR41P to the MDS IFB.rß1hÚjÙ1häj·0hæj3hè}rà1(hê]hë]hì]hí]hð]uhòK9hô]rá1hýX&Connect the MDS HSR41P to the MDS IFB.râ1…�rã1}rä1(hÙjß1hÚjÝ1ubaubjQ)�rå1}ræ1(hÙUhè}rç1(jVX-hí]hì]hê]hë]hð]uhÚjÙ1hô]rè1(jX)�ré1}rê1(hÙXÆConnect HSR41P J4 “Mainâ€� header to the IFB J5 “Mainâ€� header using the short 26-wire ribbon cable. Ensure the red wire on the ribbon cable is connected between HSR41P J4 Pin1 and IFB J5 Pin1.hè}rë1(hê]hë]hì]hí]hð]uhÚjå1hô]rì1j/)�rí1}rî1(hÙXÆConnect HSR41P J4 “Mainâ€� header to the IFB J5 “Mainâ€� header using the short 26-wire ribbon cable. Ensure the red wire on the ribbon cable is connected between HSR41P J4 Pin1 and IFB J5 Pin1.rï1hÚjé1häj·0hæj3hè}rð1(hê]hë]hì]hí]hð]uhòK;hô]rñ1hýXÆConnect HSR41P J4 “Mainâ€� header to the IFB J5 “Mainâ€� header using the short 26-wire ribbon cable. Ensure the red wire on the ribbon cable is connected between HSR41P J4 Pin1 and IFB J5 Pin1.rò1…�ró1}rô1(hÙjï1hÚjí1ubaubahæj[ubjX)�rõ1}rö1(hÙXÅConnect HSR41P J7 “Secâ€� header to the IFB J2 “Secâ€� header using the short 34-wire ribbon cable. Ensure the red wire on the ribbon cable is connected between HSR41P J7 Pin1 and IFB J2 Pin1. hè}r÷1(hê]hë]hì]hí]hð]uhÚjå1hô]rø1j/)�rù1}rú1(hÙXÄConnect HSR41P J7 “Secâ€� header to the IFB J2 “Secâ€� header using the short 34-wire ribbon cable. Ensure the red wire on the ribbon cable is connected between HSR41P J7 Pin1 and IFB J2 Pin1.rû1hÚjõ1häj·0hæj3hè}rü1(hê]hë]hì]hí]hð]uhòK=hô]rý1hýXÄConnect HSR41P J7 “Secâ€� header to the IFB J2 “Secâ€� header using the short 34-wire ribbon cable. Ensure the red wire on the ribbon cable is connected between HSR41P J7 Pin1 and IFB J2 Pin1.rþ1…�rÿ1}r2(hÙjû1hÚjù1ubaubahæj[ubehæjTubeubjX)�r2}r2(hÙX‹Connect the MDS IFB to the Audio Daughter Card. Connect IFB J3 “McASP0â€� header to Audio Daughter Card “I2S Headerâ€� using the supplied long 34-wire ribbon cable. Ensure the red wire on the ribbon cable is connected between IFB J3 Pin1 and Audio Daughter Card “I2S Headerâ€� Pin1 (note the “I2S Headerâ€� is only 32 pins, so the two wires on the ribbon cable opposite Pin1 are unused).hÚjÕ1häj·0hæj[hè}r2(hê]hë]hì]hí]hð]uhòNhóhhô]r2j/)�r2}r2(hÙX‹Connect the MDS IFB to the Audio Daughter Card. Connect IFB J3 “McASP0â€� header to Audio Daughter Card “I2S Headerâ€� using the supplied long 34-wire ribbon cable. Ensure the red wire on the ribbon cable is connected between IFB J3 Pin1 and Audio Daughter Card “I2S Headerâ€� Pin1 (note the “I2S Headerâ€� is only 32 pins, so the two wires on the ribbon cable opposite Pin1 are unused).r2hÚj2häj·0hæj3hè}r2(hê]hë]hì]hí]hð]uhòK@hô]r 2hýX‹Connect the MDS IFB to the Audio Daughter Card. Connect IFB J3 “McASP0â€� header to Audio Daughter Card “I2S Headerâ€� using the supplied long 34-wire ribbon cable. Ensure the red wire on the ribbon cable is connected between IFB J3 Pin1 and Audio Daughter Card “I2S Headerâ€� Pin1 (note the “I2S Headerâ€� is only 32 pins, so the two wires on the ribbon cable opposite Pin1 are unused).r 2…�r 2}r 2(hÙj2hÚj2ubaubaubjX)�r 2}r2(hÙX­Connect HDMI cable from audio source (e.g. Blu-ray player) to HSR41P J6 “INâ€�. Connect HDMI cable to audio sink (e.g. HDMI enabled monitor) from HSR41P J8 “HDMI OUTâ€�.hÚjÕ1häj·0hæj[hè}r2(hê]hë]hì]hí]hð]uhòNhóhhô]r2j/)�r2}r2(hÙX­Connect HDMI cable from audio source (e.g. Blu-ray player) to HSR41P J6 “INâ€�. Connect HDMI cable to audio sink (e.g. HDMI enabled monitor) from HSR41P J8 “HDMI OUTâ€�.r2hÚj 2häj·0hæj3hè}r2(hê]hë]hì]hí]hð]uhòKChô]r2hýX­Connect HDMI cable from audio source (e.g. Blu-ray player) to HSR41P J6 “INâ€�. Connect HDMI cable to audio sink (e.g. HDMI enabled monitor) from HSR41P J8 “HDMI OUTâ€�.r2…�r2}r2(hÙj2hÚj2ubaubaubjX)�r2}r2(hÙX=Connect 5V AC to USB power supply to IFB power connector J1. hÚjÕ1häj·0hæj[hè}r2(hê]hë]hì]hí]hð]uhòNhóhhô]r2j/)�r2}r2(hÙX<Connect 5V AC to USB power supply to IFB power connector J1.r2hÚj2häj·0hæj3hè}r 2(hê]hë]hì]hí]hð]uhòKEhô]r!2hýX<Connect 5V AC to USB power supply to IFB power connector J1.r"2…�r#2}r$2(hÙj2hÚj2ubaubaubeubj)�r%2}r&2(hÙXG.. Image:: ../images/pa_k2g_EVM_DC_HDMI_setup.png :scale: 70 % hÚjÆ1häj·0hæjhè}r'2(UscaleKFUuriX+rtos/../images/pa_k2g_EVM_DC_HDMI_setup.pngr(2hí]hì]hê]hë]j}r)2U*j(2shð]uhòNhóhhô]ubeubhÛ)�r*2}r+2(hÙUhÚj:1häj·0hæhçhè}r,2(hê]hë]hì]hí]r-2Usoftware-and-tools-setupr.2ahð]r/2h auhòKKhóhhô]r02(hö)�r12}r22(hÙXSoftware and Tools Setupr32hÚj*2häj·0hæhúhè}r42(hê]hë]hì]hí]hð]uhòKKhóhhô]r52hýXSoftware and Tools Setupr62…�r72}r82(hÙj32hÚj12ubaubj/)�r92}r:2(hÙX+CCS is required to load the binaries and run the demo. Sed and Python are required for run time reselection of input/output, control and reconfiguration of decoding and/or audio stream procesing, etc. One may choose to run the demo first and then install Sed and Python for run-time reconfiguration.r;2hÚj*2häj·0hæj3hè}r<2(hê]hë]hì]hí]hð]uhòKLhóhhô]r=2hýX+CCS is required to load the binaries and run the demo. Sed and Python are required for run time reselection of input/output, control and reconfiguration of decoding and/or audio stream procesing, etc. One may choose to run the demo first and then install Sed and Python for run-time reconfiguration.r>2…�r?2}r@2(hÙj;2hÚj92ubaubjQ)�rA2}rB2(hÙUhÚj*2häj·0hæjThè}rC2(jVX-hí]hì]hê]hë]hð]uhòKOhóhhô]rD2(jX)�rE2}rF2(hÙXQDownload and Install CCS (download link available at Processor SDK download page)rG2hÚjA2häj·0hæj[hè}rH2(hê]hë]hì]hí]hð]uhòNhóhhô]rI2j/)�rJ2}rK2(hÙjG2hÚjE2häj·0hæj3hè}rL2(hê]hë]hì]hí]hð]uhòKOhô]rM2hýXQDownload and Install CCS (download link available at Processor SDK download page)rN2…�rO2}rP2(hÙjG2hÚjJ2ubaubaubjX)�rQ2}rR2(hÙXhObtain Sed 4.2.1 from http://gnuwin32.sourceforge.net/packages/sed.htm, executable installer, sed-4.2.1-setup.exe (click on Setup next to "Complete package, except sources" and download will start). Install it to c:/PA_Tools/GnuWin32 (or change installation location in /demos/performance-audio/src/setup_build_env/setup_env.bat.hÚjA2häj·0hæj[hè}rS2(hê]hë]hì]hí]hð]uhòNhóhhô]rT2j/)�rU2}rV2(hÙXhObtain Sed 4.2.1 from http://gnuwin32.sourceforge.net/packages/sed.htm, executable installer, sed-4.2.1-setup.exe (click on Setup next to "Complete package, except sources" and download will start). Install it to c:/PA_Tools/GnuWin32 (or change installation location in /demos/performance-audio/src/setup_build_env/setup_env.bat.hÚjQ2häj·0hæj3hè}rW2(hê]hë]hì]hí]hð]uhòKPhô]rX2(hýXObtain Sed 4.2.1 from rY2…�rZ2}r[2(hÙXObtain Sed 4.2.1 from hÚjU2ubj)�r\2}r]2(hÙX0http://gnuwin32.sourceforge.net/packages/sed.htmr^2hè}r_2(Urefurij^2hí]hì]hê]hë]hð]uhÚjU2hô]r`2hýX0http://gnuwin32.sourceforge.net/packages/sed.htmra2…�rb2}rc2(hÙUhÚj\2ubahæjubhýX", executable installer, sed-4.2.1-setup.exe (click on Setup next to "Complete package, except sources" and download will start). Install it to c:/PA_Tools/GnuWin32 (or change installation location in /demos/performance-audio/src/setup_build_env/setup_env.bat.rd2…�re2}rf2(hÙX", executable installer, sed-4.2.1-setup.exe (click on Setup next to "Complete package, except sources" and download will start). Install it to c:/PA_Tools/GnuWin32 (or change installation location in /demos/performance-audio/src/setup_build_env/setup_env.bat.hÚjU2ubeubaubjX)�rg2}rh2(hÙX]Obtain Python 2.7.14 from https://www.python.org/downloads/release/python-2714/ (click on Windows x86 MSI installer, and the installer python-2.7.14.msi will be downloaded automatically). Install it to c:/PA_Tools/Python27 (or change installation location in /demos/performance-audio/src/setup_build_env/setup_env.bat.hÚjA2häj·0hæj[hè}ri2(hê]hë]hì]hí]hð]uhòNhóhhô]rj2j/)�rk2}rl2(hÙX]Obtain Python 2.7.14 from https://www.python.org/downloads/release/python-2714/ (click on Windows x86 MSI installer, and the installer python-2.7.14.msi will be downloaded automatically). Install it to c:/PA_Tools/Python27 (or change installation location in /demos/performance-audio/src/setup_build_env/setup_env.bat.hÚjg2häj·0hæj3hè}rm2(hê]hë]hì]hí]hð]uhòKThô]rn2(hýXObtain Python 2.7.14 from ro2…�rp2}rq2(hÙXObtain Python 2.7.14 from hÚjk2ubj)�rr2}rs2(hÙX5https://www.python.org/downloads/release/python-2714/rt2hè}ru2(Urefurijt2hí]hì]hê]hë]hð]uhÚjk2hô]rv2hýX5https://www.python.org/downloads/release/python-2714/rw2…�rx2}ry2(hÙUhÚjr2ubahæjubhýX (click on Windows x86 MSI installer, and the installer python-2.7.14.msi will be downloaded automatically). Install it to c:/PA_Tools/Python27 (or change installation location in /demos/performance-audio/src/setup_build_env/setup_env.bat.rz2…�r{2}r|2(hÙX (click on Windows x86 MSI installer, and the installer python-2.7.14.msi will be downloaded automatically). Install it to c:/PA_Tools/Python27 (or change installation location in /demos/performance-audio/src/setup_build_env/setup_env.bat.hÚjk2ubeubaubjX)�r}2}r~2(hÙX±Once Python is installed, open a Command Prompt and go to /demos/performance-audio/src/setup_build_env. Run setup_env.bat, and then go to /demos/performance-audio/tools/ and run setup.bat to install PyAlpha dependencies. Note: since tools/setup.bat will download Python packages from the web, one needs to make sure that the proxy environment variables are set properly. hÚjA2häj·0hæj[hè}r2(hê]hë]hì]hí]hð]uhòNhóhhô]r€2j/)�r�2}r‚2(hÙX°Once Python is installed, open a Command Prompt and go to /demos/performance-audio/src/setup_build_env. Run setup_env.bat, and then go to /demos/performance-audio/tools/ and run setup.bat to install PyAlpha dependencies. Note: since tools/setup.bat will download Python packages from the web, one needs to make sure that the proxy environment variables are set properly.rƒ2hÚj}2häj·0hæj3hè}r„2(hê]hë]hì]hí]hð]uhòKXhô]r…2hýX°Once Python is installed, open a Command Prompt and go to /demos/performance-audio/src/setup_build_env. Run setup_env.bat, and then go to /demos/performance-audio/tools/ and run setup.bat to install PyAlpha dependencies. Note: since tools/setup.bat will download Python packages from the web, one needs to make sure that the proxy environment variables are set properly.r†2…�r‡2}rˆ2(hÙjƒ2hÚj�2ubaubaubeubeubhÛ)�r‰2}rŠ2(hÙUhÚj:1häj·0hæhçhè}r‹2(hê]hë]hì]hí]rŒ2Uload-and-run-pre-built-binariesr�2ahð]rŽ2h(auhòK^hóhhô]r�2(hö)�r�2}r‘2(hÙXLoad and Run Pre-built Binariesr’2hÚj‰2häj·0hæhúhè}r“2(hê]hë]hì]hí]hð]uhòK^hóhhô]r”2hýXLoad and Run Pre-built Binariesr•2…�r–2}r—2(hÙj’2hÚj�2ubaubj/)�r˜2}r™2(hÙXQThis demo can be run by loading and running the DSP and ARM binaries through CCS:rš2hÚj‰2häj·0hæj3hè}r›2(hê]hë]hì]hí]hð]uhòK`hóhhô]rœ2hýXQThis demo can be run by loading and running the DSP and ARM binaries through CCS:r�2…�rž2}rŸ2(hÙjš2hÚj˜2ubaubj¼)�r 2}r¡2(hÙUhÚj‰2häj·0hæj¿hè}r¢2(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòKbhóhhô]r£2(jX)�r¤2}r¥2(hÙX$Click View -> Target Configurations.r¦2hÚj 2häj·0hæj[hè}r§2(hê]hë]hì]hí]hð]uhòNhóhhô]r¨2j/)�r©2}rª2(hÙj¦2hÚj¤2häj·0hæj3hè}r«2(hê]hë]hì]hí]hð]uhòKbhô]r¬2hýX$Click View -> Target Configurations.r­2…�r®2}r¯2(hÙj¦2hÚj©2ubaubaubjX)�r°2}r±2(hÙX]In the Target Configurations window, right click and then click Import Target Configurations.r²2hÚj 2häj·0hæj[hè}r³2(hê]hë]hì]hí]hð]uhòNhóhhô]r´2j/)�rµ2}r¶2(hÙj²2hÚj°2häj·0hæj3hè}r·2(hê]hë]hì]hí]hð]uhòKchô]r¸2hýX]In the Target Configurations window, right click and then click Import Target Configurations.r¹2…�rº2}r»2(hÙj²2hÚjµ2ubaubaubjX)�r¼2}r½2(hÙX‹Browse to /demos/performance-audio/src/pasrc/test_dsp/targetConfigs, click K2GEVM.ccxml and then click Open.r¾2hÚj 2häj·0hæj[hè}r¿2(hê]hë]hì]hí]hð]uhòNhóhhô]rÀ2j/)�rÁ2}rÂ2(hÙj¾2hÚj¼2häj·0hæj3hè}rÃ2(hê]hë]hì]hí]hð]uhòKdhô]rÄ2hýX‹Browse to /demos/performance-audio/src/pasrc/test_dsp/targetConfigs, click K2GEVM.ccxml and then click Open.rÅ2…�rÆ2}rÇ2(hÙj¾2hÚjÁ2ubaubaubjX)�rÈ2}rÉ2(hÙXjIn the Target Configurations window, right-click on K2GEVM.ccxml and select Launch Selected Configuration.rÊ2hÚj 2häj·0hæj[hè}rË2(hê]hë]hì]hí]hð]uhòNhóhhô]rÌ2j/)�rÍ2}rÎ2(hÙjÊ2hÚjÈ2häj·0hæj3hè}rÏ2(hê]hë]hì]hí]hð]uhòKehô]rÐ2hýXjIn the Target Configurations window, right-click on K2GEVM.ccxml and select Launch Selected Configuration.rÑ2…�rÒ2}rÓ2(hÙjÊ2hÚjÍ2ubaubaubjX)�rÔ2}rÕ2(hÙXIn the Debug window, right-click on the C66x and select Connect Target. The output from the GEL code invoked on the target connection can be observed in the Console output window. The final line of this output should read "C66xx: GEL Output: DDR3A initialization complete".rÖ2hÚj 2häj·0hæj[hè}r×2(hê]hë]hì]hí]hð]uhòNhóhhô]rØ2j/)�rÙ2}rÚ2(hÙjÖ2hÚjÔ2häj·0hæj3hè}rÛ2(hê]hë]hì]hí]hð]uhòKfhô]rÜ2hýXIn the Debug window, right-click on the C66x and select Connect Target. The output from the GEL code invoked on the target connection can be observed in the Console output window. The final line of this output should read "C66xx: GEL Output: DDR3A initialization complete".rÝ2…�rÞ2}rß2(hÙjÖ2hÚjÙ2ubaubaubjX)�rà2}rá2(hÙXIn the Debug window, right-click on the CortexA15 and select Connect Target. The output from the GEL code invoked on the target connection can be observed in the Console output window. The final line of this output should read "CortexA15: GEL Output: A15 non secure mode entered".râ2hÚj 2häj·0hæj[hè}rã2(hê]hë]hì]hí]hð]uhòNhóhhô]rä2j/)�rå2}ræ2(hÙjâ2hÚjà2häj·0hæj3hè}rç2(hê]hë]hì]hí]hð]uhòKghô]rè2hýXIn the Debug window, right-click on the CortexA15 and select Connect Target. The output from the GEL code invoked on the target connection can be observed in the Console output window. The final line of this output should read "CortexA15: GEL Output: A15 non secure mode entered".ré2…�rê2}rë2(hÙjâ2hÚjå2ubaubaubjX)�rì2}rí2(hÙXIn the Debug Window, click on the C66x. Then open Run->Load->Load Program. In the Load Program window, click on Browse and double click /demos/performance-audio/prebuilt-binaries/test_dsp.xe66. Then click OK to load the C66x binary.rî2hÚj 2häj·0hæj[hè}rï2(hê]hë]hì]hí]hð]uhòNhóhhô]rð2j/)�rñ2}rò2(hÙjî2hÚjì2häj·0hæj3hè}ró2(hê]hë]hì]hí]hð]uhòKhhô]rô2hýXIn the Debug Window, click on the C66x. Then open Run->Load->Load Program. In the Load Program window, click on Browse and double click /demos/performance-audio/prebuilt-binaries/test_dsp.xe66. Then click OK to load the C66x binary.rõ2…�rö2}r÷2(hÙjî2hÚjñ2ubaubaubjX)�rø2}rù2(hÙXIn the Debug Window, click on the CortexA15. Then open Run->Load->Load Program. In the Load Program window, click on Browse and double click /demos/performance-audio/prebuilt-binaries/test_arm.xa15fg. Then click OK to load the CortexA15 binary.rú2hÚj 2häj·0hæj[hè}rû2(hê]hë]hì]hí]hð]uhòNhóhhô]rü2j/)�rý2}rþ2(hÙjú2hÚjø2häj·0hæj3hè}rÿ2(hê]hë]hì]hí]hð]uhòKihô]r3hýXIn the Debug Window, click on the CortexA15. Then open Run->Load->Load Program. In the Load Program window, click on Browse and double click /demos/performance-audio/prebuilt-binaries/test_arm.xa15fg. Then click OK to load the CortexA15 binary.r3…�r3}r3(hÙjú2hÚjý2ubaubaubjX)�r3}r3(hÙXWIn the Debug window, click on the C66x. Then Open Run->Resume to execute the C66x code.r3hÚj 2häj·0hæj[hè}r3(hê]hë]hì]hí]hð]uhòNhóhhô]r3j/)�r 3}r 3(hÙj3hÚj3häj·0hæj3hè}r 3(hê]hë]hì]hí]hð]uhòKjhô]r 3hýXWIn the Debug window, click on the C66x. Then Open Run->Resume to execute the C66x code.r 3…�r3}r3(hÙj3hÚj 3ubaubaubjX)�r3}r3(hÙXaIn the Debug window, click on the CortexA15. Then Open Run->Resume to execute the CortexA15 code.r3hÚj 2häj·0hæj[hè}r3(hê]hë]hì]hí]hð]uhòNhóhhô]r3j/)�r3}r3(hÙj3hÚj3häj·0hæj3hè}r3(hê]hë]hì]hí]hð]uhòKkhô]r3hýXaIn the Debug window, click on the CortexA15. Then Open Run->Resume to execute the CortexA15 code.r3…�r3}r3(hÙj3hÚj3ubaubaubjX)�r3}r3(hÙXŸThe CIO Console output window should display memory usage statistics. The final line of output should display the memory usage summary for the EXT NC SHM heap.r3hÚj 2häj·0hæj[hè}r3(hê]hë]hì]hí]hð]uhòNhóhhô]r 3j/)�r!3}r"3(hÙj3hÚj3häj·0hæj3hè}r#3(hê]hë]hì]hí]hð]uhòKlhô]r$3hýXŸThe CIO Console output window should display memory usage statistics. The final line of output should display the memory usage summary for the EXT NC SHM heap.r%3…�r&3}r'3(hÙj3hÚj!3ubaubaubjX)�r(3}r)3(hÙXšDefault input interface is S/PDIF. Play music on the media player with S/PDIF output. Sound should come out of speakers connected to analog out DAC_OUT0. hÚj 2häj·0hæj[hè}r*3(hê]hë]hì]hí]hð]uhòNhóhhô]r+3j/)�r,3}r-3(hÙX™Default input interface is S/PDIF. Play music on the media player with S/PDIF output. Sound should come out of speakers connected to analog out DAC_OUT0.r.3hÚj(3häj·0hæj3hè}r/3(hê]hë]hì]hí]hð]uhòKmhô]r03hýX™Default input interface is S/PDIF. Play music on the media player with S/PDIF output. Sound should come out of speakers connected to analog out DAC_OUT0.r13…�r23}r33(hÙj.3hÚj,3ubaubaubeubj/)�r43}r53(hÙX Limitations:r63hÚj‰2häj·0hæj3hè}r73(hê]hë]hì]hí]hð]uhòKohóhhô]r83hýX Limitations:r93…�r:3}r;3(hÙj63hÚj43ubaubjQ)�r<3}r=3(hÙUhÚj‰2häj·0hæjThè}r>3(jVX-hí]hì]hê]hë]hð]uhòKqhóhhô]r?3jX)�r@3}rA3(hÙX¶If code needs to be reload and rerun, one must terminate the CCS debugging session, power cycle the EVM, and start a new CCS debugging session. Then repeat from step 4 listed above. hÚj<3häj·0hæj[hè}rB3(hê]hë]hì]hí]hð]uhòNhóhhô]rC3j/)�rD3}rE3(hÙXµIf code needs to be reload and rerun, one must terminate the CCS debugging session, power cycle the EVM, and start a new CCS debugging session. Then repeat from step 4 listed above.rF3hÚj@3häj·0hæj3hè}rG3(hê]hë]hì]hí]hð]uhòKqhô]rH3hýXµIf code needs to be reload and rerun, one must terminate the CCS debugging session, power cycle the EVM, and start a new CCS debugging session. Then repeat from step 4 listed above.rI3…�rJ3}rK3(hÙjF3hÚjD3ubaubaubaubeubhÛ)�rL3}rM3(hÙUhÚj:1häj·0hæhçhè}rN3(hê]hë]hì]hí]rO3U(run-time-reconfiguration-in-windows-onlyrP3ahð]rQ3hauhòKuhóhhô]rR3(hö)�rS3}rT3(hÙX*Run-time Reconfiguration (in Windows only)rU3hÚjL3häj·0hæhúhè}rV3(hê]hë]hì]hí]hð]uhòKuhóhhô]rW3hýX*Run-time Reconfiguration (in Windows only)rX3…�rY3}rZ3(hÙjU3hÚjS3ubaubj/)�r[3}r\3(hÙXrPlease make sure src/setup_build_env/setup_env.bat and tools/setup.bat have both been run to setup the tools path.r]3hÚjL3häj·0hæj3hè}r^3(hê]hë]hì]hí]hð]uhòKvhóhhô]r_3hýXrPlease make sure src/setup_build_env/setup_env.bat and tools/setup.bat have both been run to setup the tools path.r`3…�ra3}rb3(hÙj]3hÚj[3ubaubj/)�rc3}rd3(hÙXIOutput volume can be changed at run-time via Python scripts through UART:re3hÚjL3häj·0hæj3hè}rf3(hê]hë]hì]hí]hð]uhòKxhóhhô]rg3hýXIOutput volume can be changed at run-time via Python scripts through UART:rh3…�ri3}rj3(hÙje3hÚjc3ubaubjQ)�rk3}rl3(hÙUhÚjL3häj·0hæjThè}rm3(jVX-hí]hì]hê]hë]hð]uhòKzhóhhô]rn3jX)�ro3}rp3(hÙX«Open a windows command prompt, go to tools folder and use the following command to change output volume: - python.exe pyalpha -I alpha -h pa_i13_evmk2g_io_a -p COM1 writeVOLControlMasterN(), where is level adjustment from default in units of 0.5dB. For example, python.exe pyalpha -I alpha -h pa_i13_evmk2g_io_a -p COM1 writeVOLControlMasterN(-24) lowers the level by 12dB from default. hÚjk3häNhæj[hè}rq3(hê]hë]hì]hí]hð]uhòNhóhhô]rr3(j/)�rs3}rt3(hÙXhOpen a windows command prompt, go to tools folder and use the following command to change output volume:ru3hÚjo3häj·0hæj3hè}rv3(hê]hë]hì]hí]hð]uhòKzhô]rw3hýXhOpen a windows command prompt, go to tools folder and use the following command to change output volume:rx3…�ry3}rz3(hÙju3hÚjs3ubaubjQ)�r{3}r|3(hÙUhè}r}3(jVX-hí]hì]hê]hë]hð]uhÚjo3hô]r~3jX)�r3}r€3(hÙX5python.exe pyalpha -I alpha -h pa_i13_evmk2g_io_a -p COM1 writeVOLControlMasterN(), where is level adjustment from default in units of 0.5dB. For example, python.exe pyalpha -I alpha -h pa_i13_evmk2g_io_a -p COM1 writeVOLControlMasterN(-24) lowers the level by 12dB from default. hè}r�3(hê]hë]hì]hí]hð]uhÚj{3hô]r‚3j/)�rƒ3}r„3(hÙX4python.exe pyalpha -I alpha -h pa_i13_evmk2g_io_a -p COM1 writeVOLControlMasterN(), where is level adjustment from default in units of 0.5dB. For example, python.exe pyalpha -I alpha -h pa_i13_evmk2g_io_a -p COM1 writeVOLControlMasterN(-24) lowers the level by 12dB from default.r…3hÚj3häj·0hæj3hè}r†3(hê]hë]hì]hí]hð]uhòK|hô]r‡3hýX4python.exe pyalpha -I alpha -h pa_i13_evmk2g_io_a -p COM1 writeVOLControlMasterN(), where is level adjustment from default in units of 0.5dB. For example, python.exe pyalpha -I alpha -h pa_i13_evmk2g_io_a -p COM1 writeVOLControlMasterN(-24) lowers the level by 12dB from default.rˆ3…�r‰3}rŠ3(hÙj…3hÚjƒ3ubaubahæj[ubahæjTubeubaubj/)�r‹3}rŒ3(hÙX‡Input interface is S/PDIF by default and can be reslected at run-time (Note: interface can be reselected only when playing is stopped):r�3hÚjL3häj·0hæj3hè}rŽ3(hê]hë]hì]hí]hð]uhòK�hóhhô]r�3hýX‡Input interface is S/PDIF by default and can be reslected at run-time (Note: interface can be reselected only when playing is stopped):r�3…�r‘3}r’3(hÙj�3hÚj‹3ubaubjQ)�r“3}r”3(hÙUhÚjL3häj·0hæjThè}r•3(jVX-hí]hì]hê]hë]hð]uhòK„hóhhô]r–3(jX)�r—3}r˜3(hÙXÐSwitch to HDMI input: - Stop playing - Issue command to change to HDMI input: python.exe pyalpha -I alpha -h pa_i13_evmk2g_io_a -p COM1 execPAIInHDMI - Play again using digital player with HDMI output hÚj“3häNhæj[hè}r™3(hê]hë]hì]hí]hð]uhòNhóhhô]rš3(j/)�r›3}rœ3(hÙXSwitch to HDMI input:r�3hÚj—3häj·0hæj3hè}rž3(hê]hë]hì]hí]hð]uhòK„hô]rŸ3hýXSwitch to HDMI input:r 3…�r¡3}r¢3(hÙj�3hÚj›3ubaubjQ)�r£3}r¤3(hÙUhè}r¥3(jVX-hí]hì]hê]hë]hð]uhÚj—3hô]r¦3(jX)�r§3}r¨3(hÙX Stop playingr©3hè}rª3(hê]hë]hì]hí]hð]uhÚj£3hô]r«3j/)�r¬3}r­3(hÙj©3hÚj§3häj·0hæj3hè}r®3(hê]hë]hì]hí]hð]uhòK†hô]r¯3hýX Stop playingr°3…�r±3}r²3(hÙj©3hÚj¬3ubaubahæj[ubjX)�r³3}r´3(hÙXnIssue command to change to HDMI input: python.exe pyalpha -I alpha -h pa_i13_evmk2g_io_a -p COM1 execPAIInHDMIhè}rµ3(hê]hë]hì]hí]hð]uhÚj£3hô]r¶3j/)�r·3}r¸3(hÙXnIssue command to change to HDMI input: python.exe pyalpha -I alpha -h pa_i13_evmk2g_io_a -p COM1 execPAIInHDMIr¹3hÚj³3häj·0hæj3hè}rº3(hê]hë]hì]hí]hð]uhòK‡hô]r»3hýXnIssue command to change to HDMI input: python.exe pyalpha -I alpha -h pa_i13_evmk2g_io_a -p COM1 execPAIInHDMIr¼3…�r½3}r¾3(hÙj¹3hÚj·3ubaubahæj[ubjX)�r¿3}rÀ3(hÙX1Play again using digital player with HDMI output hè}rÁ3(hê]hë]hì]hí]hð]uhÚj£3hô]rÂ3j/)�rÃ3}rÄ3(hÙX0Play again using digital player with HDMI outputrÅ3hÚj¿3häj·0hæj3hè}rÆ3(hê]hë]hì]hí]hð]uhòK‰hô]rÇ3hýX0Play again using digital player with HDMI outputrÈ3…�rÉ3}rÊ3(hÙjÅ3hÚjÃ3ubaubahæj[ubehæjTubeubjX)�rË3}rÌ3(hÙXGSwitch to analog input: - Stop playing - Issue command to change output to ADC slave: python.exe pyalpha -I alpha -h pa_i13_evmk2g_io_a -p COM1 execPAIOutAnalogSlave - Issue command to change input to analog: python.exe pyalpha -I alpha -h pa_i13_evmk2g_io_a -p COM1 execPAIInAnalog - Play again using analog player hÚj“3häNhæj[hè}rÍ3(hê]hë]hì]hí]hð]uhòNhóhhô]rÎ3(j/)�rÏ3}rÐ3(hÙXSwitch to analog input:rÑ3hÚjË3häj·0hæj3hè}rÒ3(hê]hë]hì]hí]hð]uhòK‹hô]rÓ3hýXSwitch to analog input:rÔ3…�rÕ3}rÖ3(hÙjÑ3hÚjÏ3ubaubjQ)�r×3}rØ3(hÙUhè}rÙ3(jVX-hí]hì]hê]hë]hð]uhÚjË3hô]rÚ3(jX)�rÛ3}rÜ3(hÙX Stop playingrÝ3hè}rÞ3(hê]hë]hì]hí]hð]uhÚj×3hô]rß3j/)�rà3}rá3(hÙjÝ3hÚjÛ3häj·0hæj3hè}râ3(hê]hë]hì]hí]hð]uhòK�hô]rã3hýX Stop playingrä3…�rå3}ræ3(hÙjÝ3hÚjà3ubaubahæj[ubjX)�rç3}rè3(hÙX|Issue command to change output to ADC slave: python.exe pyalpha -I alpha -h pa_i13_evmk2g_io_a -p COM1 execPAIOutAnalogSlavehè}ré3(hê]hë]hì]hí]hð]uhÚj×3hô]rê3j/)�rë3}rì3(hÙX|Issue command to change output to ADC slave: python.exe pyalpha -I alpha -h pa_i13_evmk2g_io_a -p COM1 execPAIOutAnalogSlaverí3hÚjç3häj·0hæj3hè}rî3(hê]hë]hì]hí]hð]uhòKŽhô]rï3hýX|Issue command to change output to ADC slave: python.exe pyalpha -I alpha -h pa_i13_evmk2g_io_a -p COM1 execPAIOutAnalogSlaverð3…�rñ3}rò3(hÙjí3hÚjë3ubaubahæj[ubjX)�ró3}rô3(hÙXrIssue command to change input to analog: python.exe pyalpha -I alpha -h pa_i13_evmk2g_io_a -p COM1 execPAIInAnaloghè}rõ3(hê]hë]hì]hí]hð]uhÚj×3hô]rö3j/)�r÷3}rø3(hÙXrIssue command to change input to analog: python.exe pyalpha -I alpha -h pa_i13_evmk2g_io_a -p COM1 execPAIInAnalogrù3hÚjó3häj·0hæj3hè}rú3(hê]hë]hì]hí]hð]uhòK�hô]rû3hýXrIssue command to change input to analog: python.exe pyalpha -I alpha -h pa_i13_evmk2g_io_a -p COM1 execPAIInAnalogrü3…�rý3}rþ3(hÙjù3hÚj÷3ubaubahæj[ubjX)�rÿ3}r4(hÙXPlay again using analog player hè}r4(hê]hë]hì]hí]hð]uhÚj×3hô]r4j/)�r4}r4(hÙXPlay again using analog playerr4hÚjÿ3häj·0hæj3hè}r4(hê]hë]hì]hí]hð]uhòK’hô]r4hýXPlay again using analog playerr4…�r 4}r 4(hÙj4hÚj4ubaubahæj[ubehæjTubeubeubj/)�r 4}r 4(hÙX;Limitations of run-time reconfiguration as of this release:r 4hÚjL3häj·0hæj3hè}r4(hê]hë]hì]hí]hð]uhòK”hóhhô]r4hýX;Limitations of run-time reconfiguration as of this release:r4…�r4}r4(hÙj 4hÚj 4ubaubjQ)�r4}r4(hÙUhÚjL3häj·0hæjThè}r4(jVX-hí]hì]hê]hë]hð]uhòK–hóhhô]r4(jX)�r4}r4(hÙX@Input interface reselection can only be done when input is mute.r4hÚj4häj·0hæj[hè}r4(hê]hë]hì]hí]hð]uhòNhóhhô]r4j/)�r4}r4(hÙj4hÚj4häj·0hæj3hè}r4(hê]hë]hì]hí]hð]uhòK–hô]r4hýX@Input interface reselection can only be done when input is mute.r 4…�r!4}r"4(hÙj4hÚj4ubaubaubjX)�r#4}r$4(hÙXpOnce analog input is selected, S/PDIF can NOT be selected anymore. One must reload the code and rerun the demo. hÚj4häj·0hæj[hè}r%4(hê]hë]hì]hí]hð]uhòNhóhhô]r&4j/)�r'4}r(4(hÙXoOnce analog input is selected, S/PDIF can NOT be selected anymore. One must reload the code and rerun the demo.r)4hÚj#4häj·0hæj3hè}r*4(hê]hë]hì]hí]hð]uhòK—hô]r+4hýXoOnce analog input is selected, S/PDIF can NOT be selected anymore. One must reload the code and rerun the demo.r,4…�r-4}r.4(hÙj)4hÚj'4ubaubaubeubeubeubhÛ)�r/4}r04(hÙUhÚj¥0häj·0hæhçhè}r14(hê]hë]hì]hí]r24Uhow-to-rebuild-the-demor34ahð]r44h±auhòK›hóhhô]r54(hö)�r64}r74(hÙXHow to Rebuild the Demor84hÚj/4häj·0hæhúhè}r94(hê]hë]hì]hí]hð]uhòK›hóhhô]r:4hýXHow to Rebuild the Demor;4…�r<4}r=4(hÙj84hÚj64ubaubj/)�r>4}r?4(hÙXgThe performance audio demo can be rebuilt from the source code, following the instructions given below.r@4hÚj/4häj·0hæj3hè}rA4(hê]hë]hì]hí]hð]uhòK�hóhhô]rB4hýXgThe performance audio demo can be rebuilt from the source code, following the instructions given below.rC4…�rD4}rE4(hÙj@4hÚj>4ubaubhÛ)�rF4}rG4(hÙUhÚj/4häj·0hæhçhè}rH4(hê]hë]hì]hí]rI4U$setup-environment-variables-in-linuxrJ4ahð]rK4hNauhòK¡hóhhô]rL4(hö)�rM4}rN4(hÙX$Setup Environment Variables in LinuxrO4hÚjF4häj·0hæhúhè}rP4(hê]hë]hì]hí]hð]uhòK¡hóhhô]rQ4hýX$Setup Environment Variables in LinuxrR4…�rS4}rT4(hÙjO4hÚjM4ubaubj/)�rU4}rV4(hÙXŸA bash shell script, /demos/performance-audio/src/setup_build_env/setup_env.sh, can be used to set up the environment variables:rW4hÚjF4häj·0hæj3hè}rX4(hê]hë]hì]hí]hð]uhòK¢hóhhô]rY4hýXŸA bash shell script, /demos/performance-audio/src/setup_build_env/setup_env.sh, can be used to set up the environment variables:rZ4…�r[4}r\4(hÙjW4hÚjU4ubaubjQ)�r]4}r^4(hÙUhÚjF4häj·0hæjThè}r_4(jVX-hí]hì]hê]hë]hð]uhòK¥hóhhô]r`4(jX)�ra4}rb4(hÙXOset the TI tools path and performance audio demo path in setup_env.sh properly.rc4hÚj]4häj·0hæj[hè}rd4(hê]hë]hì]hí]hð]uhòNhóhhô]re4j/)�rf4}rg4(hÙjc4hÚja4häj·0hæj3hè}rh4(hê]hë]hì]hí]hð]uhòK¥hô]ri4hýXOset the TI tools path and performance audio demo path in setup_env.sh properly.rj4…�rk4}rl4(hÙjc4hÚjf4ubaubaubjX)�rm4}rn4(hÙXvset version numbers of each component to what's going to be used for the build (default is what's delivered in PRSDK).ro4hÚj]4häj·0hæj[hè}rp4(hê]hë]hì]hí]hð]uhòNhóhhô]rq4j/)�rr4}rs4(hÙjo4hÚjm4häj·0hæj3hè}rt4(hê]hë]hì]hí]hð]uhòK¦hô]ru4hýXvset version numbers of each component to what's going to be used for the build (default is what's delivered in PRSDK).rv4…�rw4}rx4(hÙjo4hÚjr4ubaubaubjX)�ry4}rz4(hÙX:run the shell script using command "source setup_env.sh". hÚj]4häj·0hæj[hè}r{4(hê]hë]hì]hí]hð]uhòNhóhhô]r|4j/)�r}4}r~4(hÙX9run the shell script using command "source setup_env.sh".r4hÚjy4häj·0hæj3hè}r€4(hê]hë]hì]hí]hð]uhòK§hô]r�4hýX9run the shell script using command "source setup_env.sh".r‚4…�rƒ4}r„4(hÙj4hÚj}4ubaubaubeubeubhÛ)�r…4}r†4(hÙUhÚj/4häj·0hæhçhè}r‡4(hê]hë]hì]hí]rˆ4U&setup-environment-variables-in-windowsr‰4ahð]rŠ4hauhòKªhóhhô]r‹4(hö)�rŒ4}r�4(hÙX&Setup Environment Variables in WindowsrŽ4hÚj…4häj·0hæhúhè}r�4(hê]hë]hì]hí]hð]uhòKªhóhhô]r�4hýX&Setup Environment Variables in Windowsr‘4…�r’4}r“4(hÙjŽ4hÚjŒ4ubaubj/)�r”4}r•4(hÙX•Batch file /demos/performance-audio/src/setup_build_env/setup_env.bat can be used to set up the environment variables.r–4hÚj…4häj·0hæj3hè}r—4(hê]hë]hì]hí]hð]uhòK«hóhhô]r˜4hýX•Batch file /demos/performance-audio/src/setup_build_env/setup_env.bat can be used to set up the environment variables.r™4…�rš4}r›4(hÙj–4hÚj”4ubaubjQ)�rœ4}r�4(hÙUhÚj…4häj·0hæjThè}rž4(jVX-hí]hì]hê]hë]hð]uhòK®hóhhô]rŸ4(jX)�r 4}r¡4(hÙXGset variable TI_TOOLS_DIR in setup_env.bat properly (default is C:\ti).r¢4hÚjœ4häj·0hæj[hè}r£4(hê]hë]hì]hí]hð]uhòNhóhhô]r¤4j/)�r¥4}r¦4(hÙj¢4hÚj 4häj·0hæj3hè}r§4(hê]hë]hì]hí]hð]uhòK®hô]r¨4hýXFset variable TI_TOOLS_DIR in setup_env.bat properly (default is C:ti).r©4…�rª4}r«4(hÙXGset variable TI_TOOLS_DIR in setup_env.bat properly (default is C:\ti).hÚj¥4ubaubaubjX)�r¬4}r­4(hÙXvset version numbers of each component to what's going to be used for the build (default is what's delivered in PRSDK).r®4hÚjœ4häj·0hæj[hè}r¯4(hê]hë]hì]hí]hð]uhòNhóhhô]r°4j/)�r±4}r²4(hÙj®4hÚj¬4häj·0hæj3hè}r³4(hê]hë]hì]hí]hð]uhòK¯hô]r´4hýXvset version numbers of each component to what's going to be used for the build (default is what's delivered in PRSDK).rµ4…�r¶4}r·4(hÙj®4hÚj±4ubaubaubjX)�r¸4}r¹4(hÙX­go to folder /demos/performance-audio/src/setup_build_env and run setup_env.bat (Note: this script MUST be run in the setup_build_env folder.)hÚjœ4häj·0hæj[hè}rº4(hê]hë]hì]hí]hð]uhòNhóhhô]r»4j/)�r¼4}r½4(hÙX­go to folder /demos/performance-audio/src/setup_build_env and run setup_env.bat (Note: this script MUST be run in the setup_build_env folder.)r¾4hÚj¸4häj·0hæj3hè}r¿4(hê]hë]hì]hí]hð]uhòK°hô]rÀ4hýX­go to folder /demos/performance-audio/src/setup_build_env and run setup_env.bat (Note: this script MUST be run in the setup_build_env folder.)rÁ4…�rÂ4}rÃ4(hÙj¾4hÚj¼4ubaubaubjX)�rÄ4}rÅ4(hÙXzafter running setup_env.bat, run setup_paf.bat in the same folder (Note: setup_env.bat MUST be run before setup_paf.bat). hÚjœ4häj·0hæj[hè}rÆ4(hê]hë]hì]hí]hð]uhòNhóhhô]rÇ4j/)�rÈ4}rÉ4(hÙXyafter running setup_env.bat, run setup_paf.bat in the same folder (Note: setup_env.bat MUST be run before setup_paf.bat).rÊ4hÚjÄ4häj·0hæj3hè}rË4(hê]hë]hì]hí]hð]uhòK²hô]rÌ4hýXyafter running setup_env.bat, run setup_paf.bat in the same folder (Note: setup_env.bat MUST be run before setup_paf.bat).rÍ4…�rÎ4}rÏ4(hÙjÊ4hÚjÈ4ubaubaubeubeubhÛ)�rÐ4}rÑ4(hÙUhÚj/4häj·0hæhçhè}rÒ4(hê]hë]hì]hí]rÓ4Urebuild-the-demorÔ4ahð]rÕ4h—auhòKµhóhhô]rÖ4(hö)�r×4}rØ4(hÙXRebuild the DemorÙ4hÚjÐ4häj·0hæhúhè}rÚ4(hê]hë]hì]hí]hð]uhòKµhóhhô]rÛ4hýXRebuild the DemorÜ4…�rÝ4}rÞ4(hÙjÙ4hÚj×4ubaubjQ)�rß4}rà4(hÙUhÚjÐ4häj·0hæjThè}rá4(jVX-hí]hì]hê]hë]hð]uhòK·hóhhô]râ4(jX)�rã4}rä4(hÙXPGo to source folder: /demos/performance-audio/srcrå4hÚjß4häj·0hæj[hè}ræ4(hê]hë]hì]hí]hð]uhòNhóhhô]rç4j/)�rè4}ré4(hÙjå4hÚjã4häj·0hæj3hè}rê4(hê]hë]hì]hí]hð]uhòK·hô]rë4hýXPGo to source folder: /demos/performance-audio/srcrì4…�rí4}rî4(hÙjå4hÚjè4ubaubaubjX)�rï4}rð4(hÙX7Issue command "make clean" and "make install" for Linuxrñ4hÚjß4häj·0hæj[hè}rò4(hê]hë]hì]hí]hð]uhòNhóhhô]ró4j/)�rô4}rõ4(hÙjñ4hÚjï4häj·0hæj3hè}rö4(hê]hë]hì]hí]hð]uhòK¸hô]r÷4hýX7Issue command "make clean" and "make install" for Linuxrø4…�rù4}rú4(hÙjñ4hÚjô4ubaubaubjX)�rû4}rü4(hÙX;Issue command "gmake clean" and "gmake install" for Windowsrý4hÚjß4häj·0hæj[hè}rþ4(hê]hë]hì]hí]hð]uhòNhóhhô]rÿ4j/)�r5}r5(hÙjý4hÚjû4häj·0hæj3hè}r5(hê]hë]hì]hí]hð]uhòK¹hô]r5hýX;Issue command "gmake clean" and "gmake install" for Windowsr5…�r5}r5(hÙjý4hÚj5ubaubaubjX)�r5}r5(hÙX”The rebuilt binaries are placed in src/install/pasdk/debug. They can also be found at src/pasdk/test_dsp/bin/debug and src/pasdk/test_arm/bin/debug hÚjß4häj·0hæj[hè}r 5(hê]hë]hì]hí]hð]uhòNhóhhô]r 5j/)�r 5}r 5(hÙX“The rebuilt binaries are placed in src/install/pasdk/debug. They can also be found at src/pasdk/test_dsp/bin/debug and src/pasdk/test_arm/bin/debugr 5hÚj5häj·0hæj3hè}r5(hê]hë]hì]hí]hð]uhòKºhô]r5hýX“The rebuilt binaries are placed in src/install/pasdk/debug. They can also be found at src/pasdk/test_dsp/bin/debug and src/pasdk/test_arm/bin/debugr5…�r5}r5(hÙj 5hÚj 5ubaubaubeubeubeubhÛ)�r5}r5(hÙUhÚj¥0häj·0hæhçhè}r5(hê]hë]hì]hí]r5Utrouble-shootingr5ahð]r5hauhòK¾hóhhô]r5(hö)�r5}r5(hÙXTrouble Shootingr5hÚj5häj·0hæhúhè}r5(hê]hë]hì]hí]hð]uhòK¾hóhhô]r5hýXTrouble Shootingr5…�r 5}r!5(hÙj5hÚj5ubaubj/)�r"5}r#5(hÙXProblems may be encountered when setting up or running the demo. Here are some common problems and the corresponding solutions:r$5hÚj5häj·0hæj3hè}r%5(hê]hë]hì]hí]hð]uhòKÀhóhhô]r&5hýXProblems may be encountered when setting up or running the demo. Here are some common problems and the corresponding solutions:r'5…�r(5}r)5(hÙj$5hÚj"5ubaubj¼)�r*5}r+5(hÙUhÚj5häj·0hæj¿hè}r,5(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòKÂhóhhô]r-5jX)�r.5}r/5(hÙX(Sound doesn't come out of the speakers: hÚj*5häj·0hæj[hè}r05(hê]hë]hì]hí]hð]uhòNhóhhô]r15j/)�r25}r35(hÙX'Sound doesn't come out of the speakers:r45hÚj.5häj·0hæj3hè}r55(hê]hë]hì]hí]hð]uhòKÂhô]r65hýX'Sound doesn't come out of the speakers:r75…�r85}r95(hÙj45hÚj25ubaubaubaubjž)�r:5}r;5(hÙUhÚj5häNhæjªhè}r<5(hê]hë]hì]hí]hð]uhòNhóhhô]r=5jQ)�r>5}r?5(hÙUhè}r@5(jVX-hí]hì]hê]hë]hð]uhÚj:5hô]rA5(jX)�rB5}rC5(hÙXéMake sure the audio daughter card (and HDMI repeater card if used) is connected well. The `PDK addon audio loopback test `__ can be run to verify the setup of EVM and audio daughter card.hè}rD5(hê]hë]hì]hí]hð]uhÚj>5hô]rE5j/)�rF5}rG5(hÙXéMake sure the audio daughter card (and HDMI repeater card if used) is connected well. The `PDK addon audio loopback test `__ can be run to verify the setup of EVM and audio daughter card.hÚjB5häj·0hæj3hè}rH5(hê]hë]hì]hí]hð]uhòKÄhô]rI5(hýXZMake sure the audio daughter card (and HDMI repeater card if used) is connected well. The rJ5…�rK5}rL5(hÙXZMake sure the audio daughter card (and HDMI repeater card if used) is connected well. The hÚjF5ubj)�rM5}rN5(hÙXP`PDK addon audio loopback test `__hè}rO5(UnameXPDK addon audio loopback testjX,index_examples_demos.html#k2g-audio-dc-addonhí]hì]hê]hë]hð]uhÚjF5hô]rP5hýXPDK addon audio loopback testrQ5…�rR5}rS5(hÙUhÚjM5ubahæjubhýX? can be run to verify the setup of EVM and audio daughter card.rT5…�rU5}rV5(hÙX? can be run to verify the setup of EVM and audio daughter card.hÚjF5ubeubahæj[ubjX)�rW5}rX5(hÙX£In CCS Expressions window, enter variable "asipLoopCount1" and check if it is incrementing. If not, terminate the debug session, power cycle the EVM, and restart. hè}rY5(hê]hë]hì]hí]hð]uhÚj>5hô]rZ5j/)�r[5}r\5(hÙX¢In CCS Expressions window, enter variable "asipLoopCount1" and check if it is incrementing. If not, terminate the debug session, power cycle the EVM, and restart.r]5hÚjW5häj·0hæj3hè}r^5(hê]hë]hì]hí]hð]uhòKÆhô]r_5hýX¢In CCS Expressions window, enter variable "asipLoopCount1" and check if it is incrementing. If not, terminate the debug session, power cycle the EVM, and restart.r`5…�ra5}rb5(hÙj]5hÚj[5ubaubahæj[ubehæjTubaubj¼)�rc5}rd5(hÙUhÚj5häj·0hæj¿hè}re5(jÁU.Ustartrf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòKÉhóhhô]rg5jX)�rh5}ri5(hÙXThe Python command times out: hÚjc5häj·0hæj[hè}rj5(hê]hë]hì]hí]hð]uhòNhóhhô]rk5j/)�rl5}rm5(hÙXThe Python command times out:rn5hÚjh5häj·0hæj3hè}ro5(hê]hë]hì]hí]hð]uhòKÉhô]rp5hýXThe Python command times out:rq5…�rr5}rs5(hÙjn5hÚjl5ubaubaubaubjž)�rt5}ru5(hÙUhÚj5häNhæjªhè}rv5(hê]hë]hì]hí]hð]uhòNhóhhô]rw5jQ)�rx5}ry5(hÙUhè}rz5(jVX-hí]hì]hê]hë]hð]uhÚjt5hô]r{5jX)�r|5}r}5(hÙX‡Make sure to use UART0 COM port on the EVM. The Python scripts may not work well if J23 USB connector is used for UART communications. hè}r~5(hê]hë]hì]hí]hð]uhÚjx5hô]r5j/)�r€5}r�5(hÙX†Make sure to use UART0 COM port on the EVM. The Python scripts may not work well if J23 USB connector is used for UART communications.r‚5hÚj|5häj·0hæj3hè}rƒ5(hê]hë]hì]hí]hð]uhòKËhô]r„5hýX†Make sure to use UART0 COM port on the EVM. The Python scripts may not work well if J23 USB connector is used for UART communications.r…5…�r†5}r‡5(hÙj‚5hÚj€5ubaubahæj[ubahæjTubaubj¼)�rˆ5}r‰5(hÙUhÚj5häj·0hæj¿hè}rŠ5(jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòKÍhóhhô]r‹5jX)�rŒ5}r�5(hÙXThe source code doesn't build: hÚjˆ5häj·0hæj[hè}rŽ5(hê]hë]hì]hí]hð]uhòNhóhhô]r�5j/)�r�5}r‘5(hÙXThe source code doesn't build:r’5hÚjŒ5häj·0hæj3hè}r“5(hê]hë]hì]hí]hð]uhòKÍhô]r”5hýXThe source code doesn't build:r•5…�r–5}r—5(hÙj’5hÚj�5ubaubaubaubjž)�r˜5}r™5(hÙUhÚj5häNhæjªhè}rš5(hê]hë]hì]hí]hð]uhòNhóhhô]r›5jQ)�rœ5}r�5(hÙUhè}rž5(jVX-hí]hì]hê]hë]hð]uhÚj˜5hô]rŸ5jX)�r 5}r¡5(hÙXÓMake sure the environment variables are set correctly. The default tools location in setup.env may not be where the tools are installed. Change TI_TOOLS_DIR to where tools and Proc-SDK components are installed. hè}r¢5(hê]hë]hì]hí]hð]uhÚjœ5hô]r£5j/)�r¤5}r¥5(hÙXÒMake sure the environment variables are set correctly. The default tools location in setup.env may not be where the tools are installed. Change TI_TOOLS_DIR to where tools and Proc-SDK components are installed.r¦5hÚj 5häj·0hæj3hè}r§5(hê]hë]hì]hí]hð]uhòKÏhô]r¨5hýXÒMake sure the environment variables are set correctly. The default tools location in setup.env may not be where the tools are installed. Change TI_TOOLS_DIR to where tools and Proc-SDK components are installed.r©5…�rª5}r«5(hÙj¦5hÚj¤5ubaubahæj[ubahæjTubaubj¼)�r¬5}r­5(hÙUhÚj5häj·0hæj¿hè}r®5(jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòKÒhóhhô]r¯5jX)�r°5}r±5(hÙX1Python setup can't install PyAlpha dependencies. hÚj¬5häj·0hæj[hè}r²5(hê]hë]hì]hí]hð]uhòNhóhhô]r³5j/)�r´5}rµ5(hÙX0Python setup can't install PyAlpha dependencies.r¶5hÚj°5häj·0hæj3hè}r·5(hê]hë]hì]hí]hð]uhòKÒhô]r¸5hýX0Python setup can't install PyAlpha dependencies.r¹5…�rº5}r»5(hÙj¶5hÚj´5ubaubaubaubjž)�r¼5}r½5(hÙUhÚj5häNhæjªhè}r¾5(hê]hë]hì]hí]hð]uhòNhóhhô]r¿5jQ)�rÀ5}rÁ5(hÙUhè}rÂ5(jVX-hí]hì]hê]hë]hð]uhÚj¼5hô]rÃ5jX)�rÄ5}rÅ5(hÙXUMake sure proxy environment variables, HTTP_PROXY and HTTPS_PROXY, are set properly. hè}rÆ5(hê]hë]hì]hí]hð]uhÚjÀ5hô]rÇ5j/)�rÈ5}rÉ5(hÙXTMake sure proxy environment variables, HTTP_PROXY and HTTPS_PROXY, are set properly.rÊ5hÚjÄ5häj·0hæj3hè}rË5(hê]hë]hì]hí]hð]uhòKÔhô]rÌ5hýXTMake sure proxy environment variables, HTTP_PROXY and HTTPS_PROXY, are set properly.rÍ5…�rÎ5}rÏ5(hÙjÊ5hÚjÈ5ubaubahæj[ubahæjTubaubeubeubhäj·0hæhçhè}rÐ5(hê]rÑ5X introductionrÒ5ahë]hì]hí]rÓ5Uid39rÔ5ahð]uhòKhóhhô]rÕ5(hö)�rÖ5}r×5(hÙX IntroductionrØ5hÚj£0häj·0hæhúhè}rÙ5(hê]hë]hì]hí]hð]uhòKhóhhô]rÚ5hýX IntroductionrÛ5…�rÜ5}rÝ5(hÙjØ5hÚjÖ5ubaubj/)�rÞ5}rß5(hÙXpThis page describes the performance audio demo, developed within Processor SDK RTOS on 66AK2Gx platform. This demo implements and integrates audio I/O, framework, auto-detection, decoding, audio stream processing (ASP) and encoding - the foundational building blocks of any performance audio application. The system block diagram below shows the structure of the demo.rà5hÚj£0häj·0hæj3hè}rá5(hê]hë]hì]hí]hð]uhòKhóhhô]râ5hýXpThis page describes the performance audio demo, developed within Processor SDK RTOS on 66AK2Gx platform. This demo implements and integrates audio I/O, framework, auto-detection, decoding, audio stream processing (ASP) and encoding - the foundational building blocks of any performance audio application. The system block diagram below shows the structure of the demo.rã5…�rä5}rå5(hÙjà5hÚjÞ5ubaubj)�ræ5}rç5(hÙX=.. Image:: ../images/pa_k2g_layout.png :scale: 100 % hÚj£0häj·0hæjhè}rè5(UscaleKdUuriX rtos/../images/pa_k2g_layout.pngré5hí]hì]hê]hë]j}rê5U*jé5shð]uhòNhóhhô]ubj/)�rë5}rì5(hÙX5This demo utilizes Processor SDK features/components:rí5hÚj£0häj·0hæj3hè}rî5(hê]hë]hì]hí]hð]uhòKhóhhô]rï5hýX5This demo utilizes Processor SDK features/components:rð5…�rñ5}rò5(hÙjí5hÚjë5ubaubjQ)�ró5}rô5(hÙUhÚj£0häj·0hæjThè}rõ5(jVX-hí]hì]hê]hë]hð]uhòKhóhhô]rö5(jX)�r÷5}rø5(hÙXV**SYS/BIOS** application utilizing TI-RTOS features for DSP-C66x core and ARM-A15 corerù5hÚjó5häj·0hæj[hè}rú5(hê]hë]hì]hí]hð]uhòNhóhhô]rû5j/)�rü5}rý5(hÙjù5hÚj÷5häj·0hæj3hè}rþ5(hê]hë]hì]hí]hð]uhòKhô]rÿ5(jW)�r6}r6(hÙX **SYS/BIOS**hè}r6(hê]hë]hì]hí]hð]uhÚjü5hô]r6hýXSYS/BIOSr6…�r6}r6(hÙUhÚj6ubahæj_ubhýXJ application utilizing TI-RTOS features for DSP-C66x core and ARM-A15 corer6…�r6}r 6(hÙXJ application utilizing TI-RTOS features for DSP-C66x core and ARM-A15 corehÚjü5ubeubaubjX)�r 6}r 6(hÙX-**McASP LLD** from PDK for audio input/outputr 6hÚjó5häj·0hæj[hè}r 6(hê]hë]hì]hí]hð]uhòNhóhhô]r6j/)�r6}r6(hÙj 6hÚj 6häj·0hæj3hè}r6(hê]hë]hì]hí]hð]uhòKhô]r6(jW)�r6}r6(hÙX **McASP LLD**hè}r6(hê]hë]hì]hí]hð]uhÚj6hô]r6hýX McASP LLDr6…�r6}r6(hÙUhÚj6ubahæj_ubhýX from PDK for audio input/outputr6…�r6}r6(hÙX from PDK for audio input/outputhÚj6ubeubaubjX)�r6}r6(hÙX>**IPC** for inter-processor communications between DSP and ARMr6hÚjó5häj·0hæj[hè}r 6(hê]hë]hì]hí]hð]uhòNhóhhô]r!6j/)�r"6}r#6(hÙj6hÚj6häj·0hæj3hè}r$6(hê]hë]hì]hí]hð]uhòKhô]r%6(jW)�r&6}r'6(hÙX**IPC**hè}r(6(hê]hë]hì]hí]hð]uhÚj"6hô]r)6hýXIPCr*6…�r+6}r,6(hÙUhÚj&6ubahæj_ubhýX7 for inter-processor communications between DSP and ARMr-6…�r.6}r/6(hÙX7 for inter-processor communications between DSP and ARMhÚj"6ubeubaubjX)�r06}r16(hÙX$**UIA** for instrumentation logging hÚjó5häj·0hæj[hè}r26(hê]hë]hì]hí]hð]uhòNhóhhô]r36j/)�r46}r56(hÙX#**UIA** for instrumentation logginghÚj06häj·0hæj3hè}r66(hê]hë]hì]hí]hð]uhòKhô]r76(jW)�r86}r96(hÙX**UIA**hè}r:6(hê]hë]hì]hí]hð]uhÚj46hô]r;6hýXUIAr<6…�r=6}r>6(hÙUhÚj86ubahæj_ubhýX for instrumentation loggingr?6…�r@6}rA6(hÙX for instrumentation logginghÚj46ubeubaubeubeubhäj·0hæj>hè}rB6(hê]UlevelKhí]hì]rC6jÔ5aUsourcej·0hë]hð]UlineKUtypejAuhòKhóhhô]rD6j/)�rE6}rF6(hÙX/Duplicate implicit target name: "introduction".hè}rG6(hê]hë]hì]hí]hð]uhÚj¡0hô]rH6hýX/Duplicate implicit target name: "introduction".rI6…�rJ6}rK6(hÙUhÚjE6ubahæj3ubaubj¬)�rL6}rM6(hÙUhÚj¾0häj·0hæj>hè}rN6(hê]UlevelKhí]hì]rO6jÄ0aUsourcej·0hë]hð]UlineKUtypejAuhòKhóhhô]rP6j/)�rQ6}rR6(hÙX/Duplicate implicit target name: "requirements".hè}rS6(hê]hë]hì]hí]hð]uhÚjL6hô]rT6hýX/Duplicate implicit target name: "requirements".rU6…�rV6}rW6(hÙUhÚjQ6ubahæj3ubaubj¬)�rX6}rY6(hÙUhÚj:1häj·0hæj>hè}rZ6(hê]UlevelKhí]hì]r[6j@1aUsourcej·0hë]hð]UlineK%UtypejAuhòK%hóhhô]r\6j/)�r]6}r^6(hÙX6Duplicate implicit target name: "how to run the demo".hè}r_6(hê]hë]hì]hí]hð]uhÚjX6hô]r`6hýX6Duplicate implicit target name: "how to run the demo".ra6…�rb6}rc6(hÙUhÚj]6ubahæj3ubaubj¬)�rd6}re6(hÙUhÚj5häj·0hæj>hè}rf6(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK!UtypejAuhòKÉhóhhô]rg6j/)�rh6}ri6(hÙX:Enumerated list start value not ordinal-1: "2" (ordinal 2)hè}rj6(hê]hë]hì]hí]hð]uhÚjd6hô]rk6hýX:Enumerated list start value not ordinal-1: "2" (ordinal 2)rl6…�rm6}rn6(hÙUhÚjh6ubahæj3ubaubj¬)�ro6}rp6(hÙUhÚj5häj·0hæj>hè}rq6(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK!UtypejAuhòKÍhóhhô]rr6j/)�rs6}rt6(hÙX:Enumerated list start value not ordinal-1: "3" (ordinal 3)hè}ru6(hê]hë]hì]hí]hð]uhÚjo6hô]rv6hýX:Enumerated list start value not ordinal-1: "3" (ordinal 3)rw6…�rx6}ry6(hÙUhÚjs6ubahæj3ubaubj¬)�rz6}r{6(hÙUhÚj5häj·0hæj>hè}r|6(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK!UtypejAuhòKÒhóhhô]r}6j/)�r~6}r6(hÙX:Enumerated list start value not ordinal-1: "4" (ordinal 4)hè}r€6(hê]hë]hì]hí]hð]uhÚjz6hô]r�6hýX:Enumerated list start value not ordinal-1: "4" (ordinal 4)r‚6…�rƒ6}r„6(hÙUhÚj~6ubahæj3ubaubj¬)�r…6}r†6(hÙUhÚhÛ)�r‡6}rˆ6(hÙUjKhÚhÛ)�r‰6}rŠ6(hÙUhÚhhähåhæhçhè}r‹6(hê]hë]hì]hí]rŒ6Ubig-data-ipc-exampler�6ahð]rŽ6hauhòK'hóhhô]r�6(hö)�r�6}r‘6(hÙXBig Data IPC Exampler’6hÚj‰6hähåhæhúhè}r“6(hê]hë]hì]hí]hð]uhòK'hóhhô]r”6hýXBig Data IPC Exampler•6…�r–6}r—6(hÙj’6hÚj�6ubaubj )�r˜6}r™6(hÙXKhttp://processors.wiki.ti.com/index.php/Processor_SDK_Big_Data_IPC_ExampleshÚj‰6häj XEsource/rtos/Examples_and_Demonstrations/Big_Data_IPC_Examples.rst.incrš6…�r›6}rœ6bhæjhè}r�6(jjhí]hì]hê]hë]hð]uhòKhóhhô]rž6hýXKhttp://processors.wiki.ti.com/index.php/Processor_SDK_Big_Data_IPC_ExamplesrŸ6…�r 6}r¡6(hÙUhÚj˜6ubaubj‡6hÛ)�r¢6}r£6(hÙUjKhÚj‰6häj›6hæhçhè}r¤6(hê]r¥6Xarchitecture overviewr¦6ahë]hì]hí]r§6Uarchitecture-overviewr¨6ahð]uhòKhóhhô]r©6(hö)�rª6}r«6(hÙXArchitecture Overviewr¬6hÚj¢6häj›6hæhúhè}r­6(hê]hë]hì]hí]hð]uhòKhóhhô]r®6hýXArchitecture Overviewr¯6…�r°6}r±6(hÙj¬6hÚjª6ubaubj/)�r²6}r³6(hÙXvThe following block diagram shows the various functional blocks used in the example on the cores running TI-RTOS/BIOS.r´6hÚj¢6häj›6hæj3hè}rµ6(hê]hë]hì]hí]hð]uhòKhóhhô]r¶6hýXvThe following block diagram shows the various functional blocks used in the example on the cores running TI-RTOS/BIOS.r·6…�r¸6}r¹6(hÙj´6hÚj²6ubaubj)�rº6}r»6(hÙX;.. Image:: ../images/Big_Data_IPC_RTOS_Software_blocks.png hÚj¢6häj›6hæjhè}r¼6(UuriX4rtos/../images/Big_Data_IPC_RTOS_Software_blocks.pngr½6hí]hì]hê]hë]j}r¾6U*j½6shð]uhòKhóhhô]ubj/)�r¿6}rÀ6(hÙXfFor the small message IPC, sharedRegion and Heap, the modules in the Standard TI IPC package are used.rÁ6hÚj¢6häj›6hæj3hè}rÂ6(hê]hë]hì]hí]hð]uhòKhóhhô]rÃ6hýXfFor the small message IPC, sharedRegion and Heap, the modules in the Standard TI IPC package are used.rÄ6…�rÅ6}rÆ6(hÙjÁ6hÚj¿6ubaubj/)�rÇ6}rÈ6(hÙX¨The BigDataXlat module, which is part of the example code, provides a high level abstraction to take care of Address translation and Cache sync on the big data buffers.rÉ6hÚj¢6häj›6hæj3hè}rÊ6(hê]hë]hì]hí]hð]uhòKhóhhô]rË6hýX¨The BigDataXlat module, which is part of the example code, provides a high level abstraction to take care of Address translation and Cache sync on the big data buffers.rÌ6…�rÍ6}rÎ6(hÙjÉ6hÚjÇ6ubaubeubhÛ)�rÏ6}rÐ6(hÙUhÚj‰6häj›6hæhçhè}rÑ6(hê]hë]hì]hí]rÒ6U&simple-buffer-example-program-sequencerÓ6ahð]rÔ6h›auhòK"hóhhô]rÕ6(hö)�rÖ6}r×6(hÙX'Simple Buffer example: Program SequencerØ6hÚjÏ6häj›6hæhúhè}rÙ6(hê]hë]hì]hí]hð]uhòK"hóhhô]rÚ6hýX'Simple Buffer example: Program SequencerÛ6…�rÜ6}rÝ6(hÙjØ6hÚjÖ6ubaubj/)�rÞ6}rß6(hÙXDThis section describes the program sequence captured in the example.rà6hÚjÏ6häj›6hæj3hè}rá6(hê]hë]hì]hí]hð]uhòK$hóhhô]râ6hýXDThis section describes the program sequence captured in the example.rã6…�rä6}rå6(hÙjà6hÚjÞ6ubaubj/)�ræ6}rç6(hÙX«The main aim of the overall program is to show the exchange of big data buffers. The sequence is described in words here to sort of walk through the main application code.rè6hÚjÏ6häj›6hæj3hè}ré6(hê]hë]hì]hí]hð]uhòK&hóhhô]rê6hýX«The main aim of the overall program is to show the exchange of big data buffers. The sequence is described in words here to sort of walk through the main application code.rë6…�rì6}rí6(hÙjè6hÚjæ6ubaubj/)�rî6}rï6(hÙX¿Initially, the host sends first message with shared memory init information followed by two more dummy messages to slave core ( all three messages sent in sequence without waiting for reply).rð6hÚjÏ6häj›6hæj3hè}rñ6(hê]hë]hì]hí]hð]uhòK*hóhhô]rò6hýX¿Initially, the host sends first message with shared memory init information followed by two more dummy messages to slave core ( all three messages sent in sequence without waiting for reply).ró6…�rô6}rõ6(hÙjð6hÚjî6ubaubj/)�rö6}r÷6(hÙXxThe shared memory region init message conveys the details about the shared memory expected to hold the big data buffers.rø6hÚjÏ6häj›6hæj3hè}rù6(hê]hë]hì]hí]hð]uhòK.hóhhô]rú6hýXxThe shared memory region init message conveys the details about the shared memory expected to hold the big data buffers.rû6…�rü6}rý6(hÙjø6hÚjö6ubaubj/)�rþ6}rÿ6(hÙXtIndependently, the slave processor receives messages and sends back reply back for each of the messages to the host.r7hÚjÏ6häj›6hæj3hè}r7(hê]hë]hì]hí]hð]uhòK1hóhhô]r7hýXtIndependently, the slave processor receives messages and sends back reply back for each of the messages to the host.r7…�r7}r7(hÙj7hÚjþ6ubaubj/)�r7}r7(hÙXxThen the host receives one message from the slave and sends a message with Big data buffer allocated from the Big data heap and filled with an incrementing pattern. (This process is repeated with 10 Big data Buffer messages). Each of these Messages are received by slave and the values in the buffers are updated with a modified incrementing pattern and sent back to the host.r7hÚjÏ6häj›6hæj3hè}r 7(hê]hë]hì]hí]hð]uhòK4hóhhô]r 7hýXxThen the host receives one message from the slave and sends a message with Big data buffer allocated from the Big data heap and filled with an incrementing pattern. (This process is repeated with 10 Big data Buffer messages). Each of these Messages are received by slave and the values in the buffers are updated with a modified incrementing pattern and sent back to the host.r 7…�r 7}r 7(hÙj7hÚj7ubaubj/)�r7}r7(hÙXWNote the Slave and Host processors checks the expected incrementing pattern for errors.r7hÚjÏ6häj›6hæj3hè}r7(hê]hë]hì]hí]hð]uhòK;hóhhô]r7hýXWNote the Slave and Host processors checks the expected incrementing pattern for errors.r7…�r7}r7(hÙj7hÚj7ubaubj/)�r7}r7(hÙX‚At this point only 7 Big data buffer messages would have been received. Then the host sends two dummy messages plus one shutdown message to the slave core when receiving the remaining three Big data buffer messages. Totally 10 Big data buffers are exchanged between the cores. The slave core on receiving the shutdown message, shuts itself down and reinitializes itself for future runs.r7hÚjÏ6häj›6hæj3hè}r7(hê]hë]hì]hí]hð]uhòK>hóhhô]r7hýX‚At this point only 7 Big data buffer messages would have been received. Then the host sends two dummy messages plus one shutdown message to the slave core when receiving the remaining three Big data buffer messages. Totally 10 Big data buffers are exchanged between the cores. The slave core on receiving the shutdown message, shuts itself down and reinitializes itself for future runs.r7…�r7}r7(hÙj7hÚj7ubaubj/)�r7}r7(hÙXQThen the host receives back the remaining returned messages before shutting down.r 7hÚjÏ6häj›6hæj3hè}r!7(hê]hë]hì]hí]hð]uhòKEhóhhô]r"7hýXQThen the host receives back the remaining returned messages before shutting down.r#7…�r$7}r%7(hÙj 7hÚj7ubaubj))�r&7}r'7(hÙXThe size of the big data buffer is configurable compile time by changing value of the define BIGDATA_SIZE in shared/AppCommon.hhÚjÏ6häj›6hæj,hè}r(7(hê]hë]hì]hí]hð]uhòNhóhhô]r)7j/)�r*7}r+7(hÙXThe size of the big data buffer is configurable compile time by changing value of the define BIGDATA_SIZE in shared/AppCommon.hr,7hÚj&7häj›6hæj3hè}r-7(hê]hë]hì]hí]hð]uhòKIhô]r.7hýXThe size of the big data buffer is configurable compile time by changing value of the define BIGDATA_SIZE in shared/AppCommon.hr/7…�r07}r17(hÙj,7hÚj*7ubaubaubeubhÛ)�r27}r37(hÙUhÚj‰6häj›6hæhçhè}r47(hê]hë]hì]hí]r57Uhost-linux-exampler67ahð]r77hoauhòKMhóhhô]r87(hö)�r97}r:7(hÙXHost Linux exampler;7hÚj27häj›6hæhúhè}r<7(hê]hë]hì]hí]hð]uhòKMhóhhô]r=7hýXHost Linux exampler>7…�r?7}r@7(hÙj;7hÚj97ubaubj))�rA7}rB7(hÙXbHost linux example is only available starting from Processor SDK 4.0.0 release for AM57xx platformhÚj27häj›6hæj,hè}rC7(hê]hë]hì]hí]hð]uhòNhóhhô]rD7j/)�rE7}rF7(hÙXbHost linux example is only available starting from Processor SDK 4.0.0 release for AM57xx platformrG7hÚjA7häj›6hæj3hè}rH7(hê]hë]hì]hí]hð]uhòKPhô]rI7hýXbHost linux example is only available starting from Processor SDK 4.0.0 release for AM57xx platformrJ7…�rK7}rL7(hÙjG7hÚjE7ubaubaubj/)�rM7}rN7(hÙX€Under the host_linux directory the simple_buffer_example is implemented for Host A15 running Linux and DSP core running TI-RTOS.rO7hÚj27häj›6hæj3hè}rP7(hê]hë]hì]hí]hð]uhòKShóhhô]rQ7hýX€Under the host_linux directory the simple_buffer_example is implemented for Host A15 running Linux and DSP core running TI-RTOS.rR7…�rS7}rT7(hÙjO7hÚjM7ubaubhÛ)�rU7}rV7(hÙUhÚj27häj›6hæhçhè}rW7(hê]hë]hì]hí]rX7Uarchitecture-updates-for-linuxrY7ahð]rZ7hPauhòKWhóhhô]r[7(hö)�r\7}r]7(hÙXArchitecture Updates for Linuxr^7hÚjU7häj›6hæhúhè}r_7(hê]hë]hì]hí]hð]uhòKWhóhhô]r`7hýXArchitecture Updates for Linuxra7…�rb7}rc7(hÙj^7hÚj\7ubaubj/)�rd7}re7(hÙXnThe following block diagram shows the various functional blocks used in the example on the host running linux.rf7hÚjU7häj›6hæj3hè}rg7(hê]hë]hì]hí]hð]uhòKYhóhhô]rh7hýXnThe following block diagram shows the various functional blocks used in the example on the host running linux.ri7…�rj7}rk7(hÙjf7hÚjd7ubaubj)�rl7}rm7(hÙX<.. Image:: ../images/Big_DATA_IPC_Linux_Software_blocks.png hÚjU7häj›6hæjhè}rn7(UuriX5rtos/../images/Big_DATA_IPC_Linux_Software_blocks.pngro7hí]hì]hê]hë]j}rp7U*jo7shð]uhòK]hóhhô]ubj/)�rq7}rr7(hÙXjThe SharedRegion and HeapMem modules are not currently supported for Linux in the TI Standard IPC package.rs7hÚjU7häj›6hæj3hè}rt7(hê]hë]hì]hí]hð]uhòK^hóhhô]ru7hýXjThe SharedRegion and HeapMem modules are not currently supported for Linux in the TI Standard IPC package.rv7…�rw7}rx7(hÙjs7hÚjq7ubaubj/)�ry7}rz7(hÙXeThe example provides these modules with same/similar API implemented for Linux with some limitations.r{7hÚjU7häj›6hæj3hè}r|7(hê]hë]hì]hí]hð]uhòKahóhhô]r}7hýXeThe example provides these modules with same/similar API implemented for Linux with some limitations.r~7…�r7}r€7(hÙj{7hÚjy7ubaubj/)�r�7}r‚7(hÙXZThe CMEM APIs provide user space allocation of contiguous memory for the Big data buffers.rƒ7hÚjU7häj›6hæj3hè}r„7(hê]hë]hì]hí]hð]uhòKdhóhhô]r…7hýXZThe CMEM APIs provide user space allocation of contiguous memory for the Big data buffers.r†7…�r‡7}rˆ7(hÙjƒ7hÚj�7ubaubeubhÛ)�r‰7}rŠ7(hÙUjKhÚj27häj›6hæhçhè}r‹7(hê]rŒ7Xhow to run the exampler�7ahë]hì]hí]rŽ7Uhow-to-run-the-exampler�7ahð]uhòKhhóhhô]r�7(hö)�r‘7}r’7(hÙXHow to Run the Exampler“7hÚj‰7häj›6hæhúhè}r”7(hê]hë]hì]hí]hð]uhòKhhóhhô]r•7hýXHow to Run the Exampler–7…�r—7}r˜7(hÙj“7hÚj‘7ubaubj/)�r™7}rš7(hÙXˆThe Processor SDK Linux release includes the pre-built binaries for the host_linux example as part of the tisdk-rootfs-image filesystem.r›7hÚj‰7häj›6hæj3hè}rœ7(hê]hë]hì]hí]hð]uhòKjhóhhô]r�7hýXˆThe Processor SDK Linux release includes the pre-built binaries for the host_linux example as part of the tisdk-rootfs-image filesystem.rž7…�rŸ7}r 7(hÙj›7hÚj™7ubaubj/)�r¡7}r¢7(hÙXÓStep 1 : To run the demo, the first step is to make sure there is no other default applications using the same resources. For example, the following command is needed to disable the default OpenCL applications.r£7hÚj‰7häj›6hæj3hè}r¤7(hê]hë]hì]hí]hð]uhòKmhóhhô]r¥7hýXÓStep 1 : To run the demo, the first step is to make sure there is no other default applications using the same resources. For example, the following command is needed to disable the default OpenCL applications.r¦7…�r§7}r¨7(hÙj£7hÚj¡7ubaubjË)�r©7}rª7(hÙX$systemctl stop ti-mct-daemon.servicehÚj‰7häj›6hæjÎhè}r«7(jjhí]hì]hê]hë]hð]uhòM3 hóhhô]r¬7hýX$systemctl stop ti-mct-daemon.servicer­7…�r®7}r¯7(hÙUhÚj©7ubaubj/)�r°7}r±7(hÙXiStep 2: Switch the firmware running in the DSP. This can be done by using the following steps. Unbind dspr²7hÚj‰7häj›6hæj3hè}r³7(hê]hë]hì]hí]hð]uhòKuhóhhô]r´7hýXiStep 2: Switch the firmware running in the DSP. This can be done by using the following steps. Unbind dsprµ7…�r¶7}r·7(hÙj²7hÚj°7ubaubjË)�r¸7}r¹7(hÙX?echo 40800000.dsp > /sys/bus/platform/drivers/omap-rproc/unbindhÚj‰7häj›6hæjÎhè}rº7(jjhí]hì]hê]hë]hð]uhòM: hóhhô]r»7hýX?echo 40800000.dsp > /sys/bus/platform/drivers/omap-rproc/unbindr¼7…�r½7}r¾7(hÙUhÚj¸7ubaubj))�r¿7}rÀ7(hÙX?May need to unbind all the other cores as well to avoid issues.rÁ7hÚj‰7häj›6hæj,hè}rÂ7(hê]hë]hì]hí]hð]uhòNhóhhô]rÃ7j/)�rÄ7}rÅ7(hÙjÁ7hÚj¿7häj›6hæj3hè}rÆ7(hê]hë]hì]hí]hð]uhòK}hô]rÇ7hýX?May need to unbind all the other cores as well to avoid issues.rÈ7…�rÉ7}rÊ7(hÙjÁ7hÚjÄ7ubaubaubj/)�rË7}rÌ7(hÙXUpdate firmware symbolic linkrÍ7hÚj‰7häj›6hæj3hè}rÎ7(hê]hë]hì]hí]hð]uhòKhóhhô]rÏ7hýXUpdate firmware symbolic linkrÐ7…�rÑ7}rÒ7(hÙjÍ7hÚjË7ubaubjË)�rÓ7}rÔ7(hÙX]ln -sf /usr/bin/simple_buffer_example/release/server_dsp.xe66 /lib/firmware/dra7-dsp1-fw.xe66hÚj‰7häj›6hæjÎhè}rÕ7(jjhí]hì]hê]hë]hð]uhòMC hóhhô]rÖ7hýX]ln -sf /usr/bin/simple_buffer_example/release/server_dsp.xe66 /lib/firmware/dra7-dsp1-fw.xe66r×7…�rØ7}rÙ7(hÙUhÚjÓ7ubaubj/)�rÚ7}rÛ7(hÙXBind dsprÜ7hÚj‰7häj›6hæj3hè}rÝ7(hê]hë]hì]hí]hð]uhòK…hóhhô]rÞ7hýXBind dsprß7…�rà7}rá7(hÙjÜ7hÚjÚ7ubaubjË)�râ7}rã7(hÙX=echo 40800000.dsp > /sys/bus/platform/drivers/omap-rproc/bindhÚj‰7häj›6hæjÎhè}rä7(jjhí]hì]hê]hë]hð]uhòMI hóhhô]rå7hýX=echo 40800000.dsp > /sys/bus/platform/drivers/omap-rproc/bindræ7…�rç7}rè7(hÙUhÚjâ7ubaubj/)�ré7}rê7(hÙXLStep 3: Now the Host side application can be run using the following commandrë7hÚj‰7häj›6hæj3hè}rì7(hê]hë]hì]hí]hð]uhòK‹hóhhô]rí7hýXLStep 3: Now the Host side application can be run using the following commandrî7…�rï7}rð7(hÙjë7hÚjé7ubaubjË)�rñ7}rò7(hÙX//usr/bin/simple_buffer_example/release/app_hosthÚj‰7häj›6hæjÎhè}ró7(jjhí]hì]hê]hë]hð]uhòMP hóhhô]rô7hýX//usr/bin/simple_buffer_example/release/app_hostrõ7…�rö7}r÷7(hÙUhÚjñ7ubaubj/)�rø7}rù7(hÙXRThe DSP side log can be checked by typing the following command to dump the trace.rú7hÚj‰7häj›6hæj3hè}rû7(hê]hë]hì]hí]hð]uhòK’hóhhô]rü7hýXRThe DSP side log can be checked by typing the following command to dump the trace.rý7…�rþ7}rÿ7(hÙjú7hÚjø7ubaubjË)�r8}r8(hÙX3cat /sys/kernel/debug/remoteproc/remoteproc2/trace0hÚj‰7häj›6hæjÎhè}r8(jjhí]hì]hê]hë]hð]uhòMW hóhhô]r8hýX3cat /sys/kernel/debug/remoteproc/remoteproc2/trace0r8…�r8}r8(hÙUhÚj8ubaubj/)�r8}r8(hÙXHere is a sample log.r 8hÚj‰7häj›6hæj3hè}r 8(hê]hë]hì]hí]hð]uhòK™hóhhô]r 8hýXHere is a sample log.r 8…�r 8}r8(hÙj 8hÚj8ubaubjË)�r8}r8(hÙXöroot@am57xx-evm:~# /usr/bin/simple_buffer_example/release/app_host DSP1 --> main: [523682.897761] omap_hwmod: mmu0_dsp2: _wait_target_disable failed [523682.903751] omap-iommu 41501000.mmu: 41501000.mmu: version 3.0 [523682.911797] omap-iommu 41502000.mmu: 41502000.mmu: version 3.0 --> Main_main: --> App_create: App_create: Host is ready <-- App_create: --> App_exec: CMEM_init success CMEM_getPool success CMEM_allocPool success: Allocated buffer 0xaa641000 SharedRegion_setup success App_taskFxn: SR_1, base 0xaa641000, len=1000000 HeapMem_setup success HeapMem_create success App_taskFxn: SR_1 heap, totalSize=16777216,totalFreeSize=16777216,largestFreeSize=16777216 App_taskFxn: SR_1 heap, buf=0x0xaa641080,size=16777216 App_exec: sending message 1 Shared memory phys Addr ffffffffa0000000 App_exec: sending message 2 App_exec: sending message 3 App_exec: message received 1 App_exec: Preparing message 4 App_exec: Sending message 4 App_exec: message received 2 App_exec: Preparing message 5 App_exec: Sending message 5 App_exec: message received 3 App_exec: Preparing message 6 App_exec: Sending message 6 App_exec: message received 4 App_exec: Preparing message 7 App_exec: Sending message 7 App_exec: message received 5 App_exec: Preparing message 8 App_exec: Sending message 8 App_exec: message received 6 App_exec: Preparing message 9 App_exec: Sending message 9 App_exec: message received 7 App_exec: Preparing message 10 App_exec: Sending message 10 App_exec: message received 8 App_exec: Preparing message 11 App_exec: Sending message 11 App_exec: message received 9 App_exec: Preparing message 12 App_exec: Sending message 12 App_exec: message received 10 App_exec: Preparing message 13 App_exec: Sending message 13 App_exec: message received 11 App_exec: Preparing message 14 App_exec: Sending message 14 App_exec: message received 12 App_exec: Preparing message 15 App_exec: Sending message 15 App_exec: message received 13 App_exec: Preparing message 16 App_exec: Sending message 16 App_exec: message received: 14 App_exec: message received: 15 App_exec: message received: 16 App_exec: Data check clean <-- App_exec: 0 --> App_delete: <-- App_delete: <-- Main_main: Host: Test Passed <-- main: root@am57xx-evm:~# root@am57xx-evm:~# cat /sys/kernel/debug/remoteproc/remoteproc2/trace0 [ 0.000] 18 Resource entries at 0x95000000 [ 0.000] [t=0x0002122e] xdc.runtime.Main: --> main: [ 0.000] registering rpmsg-proto:rpmsg-proto service on 61 with HOST [ 0.000] [t=0x003c5d7b] xdc.runtime.Main: NameMap_sendMessage: HOST 53, port=61 [ 0.000] [t=0x003d5186] xdc.runtime.Main: --> smain: [ 0.000] [t=0x003e8259] Server: Server_create: server is ready [ 0.000] [t=0x003ecc97] Server: <-- Server_create: 0 [ 0.000] [t=0x003f04a4] Server: --> Server_exec: [ 51.571] [t=0x00000008:a56e6a9a] Server: Message received...1 [ 51.571] [t=0x00000008:a56f9b77] Server: Shared region entry configured... [ 51.571] [t=0x00000008:a5700cb1] Server: Server_exec: processed id 1, cmd=0x1 [ 51.571] [t=0x00000008:a570aea5] Server: Message received...2 [ 51.571] [t=0x00000008:a57119fd] Server: Server_exec: processed id 2, cmd=0x0 [ 51.571] [t=0x00000008:a571b1e9] Server: Message received...3 [ 51.571] [t=0x00000008:a5721eac] Server: Server_exec: processed id 3, cmd=0x0 [ 51.571] [t=0x00000008:a5755f6b] Server: Message received...4 [ 51.573] [t=0x00000008:a583e61b] Server: Server_exec: processed id 4, cmd=0x2 [ 51.573] [t=0x00000008:a584a087] Server: Message received...5 [ 51.574] [t=0x00000008:a592c2cc] Server: Server_exec: processed id 5, cmd=0x2 [ 51.574] [t=0x00000008:a5937d8c] Server: Message received...6 [ 51.575] [t=0x00000008:a5a19aeb] Server: Server_exec: processed id 6, cmd=0x2 [ 51.575] [t=0x00000008:a5a2543d] Server: Message received...7 [ 51.577] [t=0x00000008:a5b07d15] Server: Server_exec: processed id 7, cmd=0x2 [ 51.577] [t=0x00000008:a5b137c0] Server: Message received...8 [ 51.578] [t=0x00000008:a5bf5d83] Server: Server_exec: processed id 8, cmd=0x2 [ 51.578] [t=0x00000008:a5c019cc] Server: Message received...9 [ 51.579] [t=0x00000008:a5ce3dca] Server: Server_exec: processed id 9, cmd=0x2 [ 51.579] [t=0x00000008:a5cef75e] Server: Message received...10 [ 51.581] [t=0x00000008:a5dd247a] Server: Server_exec: processed id 10, cmd=0x2 [ 51.581] [t=0x00000008:a5dde2d9] Server: Message received...11 [ 51.582] [t=0x00000008:a5ec04df] Server: Server_exec: processed id 11, cmd=0x2 [ 51.582] [t=0x00000008:a5ecc1a3] Server: Message received...12 [ 51.583] [t=0x00000008:a5fae91c] Server: Server_exec: processed id 12, cmd=0x2 [ 51.583] [t=0x00000008:a5fba4c6] Server: Message received...13 [ 51.585] [t=0x00000008:a609d1c1] Server: Server_exec: processed id 13, cmd=0x2 [ 51.585] [t=0x00000008:a60a8dd4] Server: Message received...14 [ 51.585] [t=0x00000008:a60af96e] Server: Server_exec: processed id 14, cmd=0x0 [ 51.585] [t=0x00000008:a60b9229] Server: Message received...15 [ 51.585] [t=0x00000008:a60bffd3] Server: Server_exec: processed id 15, cmd=0x0 [ 51.585] [t=0x00000008:a60e179b] Server: Message received...16 [ 51.585] [t=0x00000008:a60e9727] Server: Server_exec: processed id 16, cmd=0x2000000 [ 51.585] [t=0x00000008:a60f3fb7] Server: Server_exec: Data check clean [ 51.585] [t=0x00000008:a60fb280] Server: <-- Server_exec: 0 [ 51.585] [t=0x00000008:a6101708] xdc.runtime.Main: DSP: Test Passed [ 51.585] [t=0x00000008:a6109170] Server: --> Server_delete: [ 51.585] [t=0x00000008:a6114fa2] Server: <-- Server_delete: 0 [ 51.586] [t=0x00000008:a6127d48] Server: Server_create: server is ready [ 51.586] [t=0x00000008:a612ff93] Server: <-- Server_create: 0 [ 51.586] [t=0x00000008:a613620c] Server: --> Server_exec: root@am57xx-evm:~#hÚj‰7häj›6hæjÎhè}r8(jjhí]hì]hê]hë]hð]uhòM] hóhhô]r8hýXöroot@am57xx-evm:~# /usr/bin/simple_buffer_example/release/app_host DSP1 --> main: [523682.897761] omap_hwmod: mmu0_dsp2: _wait_target_disable failed [523682.903751] omap-iommu 41501000.mmu: 41501000.mmu: version 3.0 [523682.911797] omap-iommu 41502000.mmu: 41502000.mmu: version 3.0 --> Main_main: --> App_create: App_create: Host is ready <-- App_create: --> App_exec: CMEM_init success CMEM_getPool success CMEM_allocPool success: Allocated buffer 0xaa641000 SharedRegion_setup success App_taskFxn: SR_1, base 0xaa641000, len=1000000 HeapMem_setup success HeapMem_create success App_taskFxn: SR_1 heap, totalSize=16777216,totalFreeSize=16777216,largestFreeSize=16777216 App_taskFxn: SR_1 heap, buf=0x0xaa641080,size=16777216 App_exec: sending message 1 Shared memory phys Addr ffffffffa0000000 App_exec: sending message 2 App_exec: sending message 3 App_exec: message received 1 App_exec: Preparing message 4 App_exec: Sending message 4 App_exec: message received 2 App_exec: Preparing message 5 App_exec: Sending message 5 App_exec: message received 3 App_exec: Preparing message 6 App_exec: Sending message 6 App_exec: message received 4 App_exec: Preparing message 7 App_exec: Sending message 7 App_exec: message received 5 App_exec: Preparing message 8 App_exec: Sending message 8 App_exec: message received 6 App_exec: Preparing message 9 App_exec: Sending message 9 App_exec: message received 7 App_exec: Preparing message 10 App_exec: Sending message 10 App_exec: message received 8 App_exec: Preparing message 11 App_exec: Sending message 11 App_exec: message received 9 App_exec: Preparing message 12 App_exec: Sending message 12 App_exec: message received 10 App_exec: Preparing message 13 App_exec: Sending message 13 App_exec: message received 11 App_exec: Preparing message 14 App_exec: Sending message 14 App_exec: message received 12 App_exec: Preparing message 15 App_exec: Sending message 15 App_exec: message received 13 App_exec: Preparing message 16 App_exec: Sending message 16 App_exec: message received: 14 App_exec: message received: 15 App_exec: message received: 16 App_exec: Data check clean <-- App_exec: 0 --> App_delete: <-- App_delete: <-- Main_main: Host: Test Passed <-- main: root@am57xx-evm:~# root@am57xx-evm:~# cat /sys/kernel/debug/remoteproc/remoteproc2/trace0 [ 0.000] 18 Resource entries at 0x95000000 [ 0.000] [t=0x0002122e] xdc.runtime.Main: --> main: [ 0.000] registering rpmsg-proto:rpmsg-proto service on 61 with HOST [ 0.000] [t=0x003c5d7b] xdc.runtime.Main: NameMap_sendMessage: HOST 53, port=61 [ 0.000] [t=0x003d5186] xdc.runtime.Main: --> smain: [ 0.000] [t=0x003e8259] Server: Server_create: server is ready [ 0.000] [t=0x003ecc97] Server: <-- Server_create: 0 [ 0.000] [t=0x003f04a4] Server: --> Server_exec: [ 51.571] [t=0x00000008:a56e6a9a] Server: Message received...1 [ 51.571] [t=0x00000008:a56f9b77] Server: Shared region entry configured... [ 51.571] [t=0x00000008:a5700cb1] Server: Server_exec: processed id 1, cmd=0x1 [ 51.571] [t=0x00000008:a570aea5] Server: Message received...2 [ 51.571] [t=0x00000008:a57119fd] Server: Server_exec: processed id 2, cmd=0x0 [ 51.571] [t=0x00000008:a571b1e9] Server: Message received...3 [ 51.571] [t=0x00000008:a5721eac] Server: Server_exec: processed id 3, cmd=0x0 [ 51.571] [t=0x00000008:a5755f6b] Server: Message received...4 [ 51.573] [t=0x00000008:a583e61b] Server: Server_exec: processed id 4, cmd=0x2 [ 51.573] [t=0x00000008:a584a087] Server: Message received...5 [ 51.574] [t=0x00000008:a592c2cc] Server: Server_exec: processed id 5, cmd=0x2 [ 51.574] [t=0x00000008:a5937d8c] Server: Message received...6 [ 51.575] [t=0x00000008:a5a19aeb] Server: Server_exec: processed id 6, cmd=0x2 [ 51.575] [t=0x00000008:a5a2543d] Server: Message received...7 [ 51.577] [t=0x00000008:a5b07d15] Server: Server_exec: processed id 7, cmd=0x2 [ 51.577] [t=0x00000008:a5b137c0] Server: Message received...8 [ 51.578] [t=0x00000008:a5bf5d83] Server: Server_exec: processed id 8, cmd=0x2 [ 51.578] [t=0x00000008:a5c019cc] Server: Message received...9 [ 51.579] [t=0x00000008:a5ce3dca] Server: Server_exec: processed id 9, cmd=0x2 [ 51.579] [t=0x00000008:a5cef75e] Server: Message received...10 [ 51.581] [t=0x00000008:a5dd247a] Server: Server_exec: processed id 10, cmd=0x2 [ 51.581] [t=0x00000008:a5dde2d9] Server: Message received...11 [ 51.582] [t=0x00000008:a5ec04df] Server: Server_exec: processed id 11, cmd=0x2 [ 51.582] [t=0x00000008:a5ecc1a3] Server: Message received...12 [ 51.583] [t=0x00000008:a5fae91c] Server: Server_exec: processed id 12, cmd=0x2 [ 51.583] [t=0x00000008:a5fba4c6] Server: Message received...13 [ 51.585] [t=0x00000008:a609d1c1] Server: Server_exec: processed id 13, cmd=0x2 [ 51.585] [t=0x00000008:a60a8dd4] Server: Message received...14 [ 51.585] [t=0x00000008:a60af96e] Server: Server_exec: processed id 14, cmd=0x0 [ 51.585] [t=0x00000008:a60b9229] Server: Message received...15 [ 51.585] [t=0x00000008:a60bffd3] Server: Server_exec: processed id 15, cmd=0x0 [ 51.585] [t=0x00000008:a60e179b] Server: Message received...16 [ 51.585] [t=0x00000008:a60e9727] Server: Server_exec: processed id 16, cmd=0x2000000 [ 51.585] [t=0x00000008:a60f3fb7] Server: Server_exec: Data check clean [ 51.585] [t=0x00000008:a60fb280] Server: <-- Server_exec: 0 [ 51.585] [t=0x00000008:a6101708] xdc.runtime.Main: DSP: Test Passed [ 51.585] [t=0x00000008:a6109170] Server: --> Server_delete: [ 51.585] [t=0x00000008:a6114fa2] Server: <-- Server_delete: 0 [ 51.586] [t=0x00000008:a6127d48] Server: Server_create: server is ready [ 51.586] [t=0x00000008:a612ff93] Server: <-- Server_create: 0 [ 51.586] [t=0x00000008:a613620c] Server: --> Server_exec: root@am57xx-evm:~#r8…�r8}r8(hÙUhÚj8ubaubjÎ)�r8}r8(hÙUhÚj‰7häj›6hæjÑhè}r8(hê]hë]hì]hí]hð]uhòMhóhhô]r8jÔ)�r8}r8(hÙUj×KhÚj8häj›6hæhòhè}r8(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubhÛ)�r8}r8(hÙUjKhÚj27häj›6hæhçhè}r8(hê]r 8Xhow to re-build the exampler!8ahë]hì]hí]r"8Uhow-to-re-build-the-exampler#8ahð]uhòM hóhhô]r$8(hö)�r%8}r&8(hÙXHow to Re-Build the exampler'8hÚj8häj›6hæhúhè}r(8(hê]hë]hì]hí]hð]uhòM hóhhô]r)8hýXHow to Re-Build the exampler*8…�r+8}r,8(hÙj'8hÚj%8ubaubj/)�r-8}r.8(hÙXÆAlso source code for the example is included in the Processor SDK Linux release. Once installed the source files can be found in the directory example-applications/big-data-ipc-demo-linux_.r/8hÚj8häj›6hæj3hè}r08(hê]hë]hì]hí]hð]uhòM"hóhhô]r18hýXÆAlso source code for the example is included in the Processor SDK Linux release. Once installed the source files can be found in the directory example-applications/big-data-ipc-demo-linux_.r28…�r38}r48(hÙj/8hÚj-8ubaubj/)�r58}r68(hÙXÙPrerequisites: Also need to have the Processor SDK RTOS release installed to build the DSP side RTOS image. See the instruction in :ref:`RTOS SDK Getting Started Guide `hÚj8häj›6hæj3hè}r78(hê]hë]hì]hí]hð]uhòM&hóhhô]r88(hýXƒPrerequisites: Also need to have the Processor SDK RTOS release installed to build the DSP side RTOS image. See the instruction in r98…�r:8}r;8(hÙXƒPrerequisites: Also need to have the Processor SDK RTOS release installed to build the DSP side RTOS image. See the instruction in hÚj58ubjZ)�r<8}r=8(hÙXV:ref:`RTOS SDK Getting Started Guide `r>8hÚj58häj›6hæj^hè}r?8(UreftypeXrefj¢ ˆj£ X.processor-sdk-rtos-getting-started-guide-labelU refdomainXstdr@8hí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòM&hô]rA8jb)�rB8}rC8(hÙj>8hè}rD8(hê]hë]rE8(j­ j@8Xstd-refrF8ehì]hí]hð]uhÚj<8hô]rG8hýXRTOS SDK Getting Started GuiderH8…�rI8}rJ8(hÙUhÚjB8ubahæjlubaubeubj/)�rK8}rL8(hÙX;The example can be rebuilt by using the following commands.rM8hÚj8häj›6hæj3hè}rN8(hê]hë]hì]hí]hð]uhòM*hóhhô]rO8hýX;The example can be rebuilt by using the following commands.rP8…�rQ8}rR8(hÙjM8hÚjK8ubaubjË)�rS8}rT8(hÙXIexport TI_RTOS_PATH= make big-data-ipc-demohÚj8häj›6hæjÎhè}rU8(jjhí]hì]hê]hë]hð]uhòMî hóhhô]rV8hýXIexport TI_RTOS_PATH= make big-data-ipc-demorW8…�rX8}rY8(hÙUhÚjS8ubaubj/)�rZ8}r[8(hÙX(e.g)r\8hÚj8häj›6hæj3hè}r]8(hê]hë]hì]hí]hð]uhòM1hóhhô]r^8hýX(e.g)r_8…�r`8}ra8(hÙj\8hÚjZ8ubaubjË)�rb8}rc8(hÙX3export TI_RTOS_PATH=$HOME/ti make big-data-ipc-demohÚj8häj›6hæjÎhè}rd8(jjhí]hì]hê]hë]hð]uhòMõ hóhhô]re8hýX3export TI_RTOS_PATH=$HOME/ti make big-data-ipc-demorf8…�rg8}rh8(hÙUhÚjb8ubaubj/)�ri8}rj8(hÙXQThe test binaries can be installed into the default filesystem using the command.rk8hÚj8häj›6hæj3hè}rl8(hê]hë]hì]hí]hð]uhòM8hóhhô]rm8hýXQThe test binaries can be installed into the default filesystem using the command.rn8…�ro8}rp8(hÙjk8hÚji8ubaubjË)�rq8}rr8(hÙXmake big-data-ipc-demo_installhÚj8häj›6hæjÎhè}rs8(jjhí]hì]hê]hë]hð]uhòMý hóhhô]rt8hýXmake big-data-ipc-demo_installru8…�rv8}rw8(hÙUhÚjq8ubaubj))�rx8}ry8(hÙXYRules.make file can be edited to change the DESTDIR where the binaries will be installed.hÚj8häj›6hæj,hè}rz8(hê]hë]hì]hí]hð]uhòNhóhhô]r{8j/)�r|8}r}8(hÙXYRules.make file can be edited to change the DESTDIR where the binaries will be installed.r~8hÚjx8häj›6hæj3hè}r8(hê]hë]hì]hí]hð]uhòM@hô]r€8hýXYRules.make file can be edited to change the DESTDIR where the binaries will be installed.r�8…�r‚8}rƒ8(hÙj~8hÚj|8ubaubaubhÛ)�r„8}r…8(hÙUhÚj8häj›6hæhçhè}r†8(hê]hë]hì]hí]r‡8U source-filesrˆ8ahð]r‰8h1auhòMDhóhhô]rŠ8(hö)�r‹8}rŒ8(hÙX Source filesr�8hÚj„8häj›6hæhúhè}rŽ8(hê]hë]hì]hí]hð]uhòMDhóhhô]r�8hýX Source filesr�8…�r‘8}r’8(hÙj�8hÚj‹8ubaubj/)�r“8}r”8(hÙX/The source files for the example are located atr•8hÚj„8häj›6hæj3hè}r–8(hê]hë]hì]hí]hð]uhòMFhóhhô]r—8hýX/The source files for the example are located atr˜8…�r™8}rš8(hÙj•8hÚj“8ubaubjË)�r›8}rœ8(hÙX‚-/example-applications/big-data-ipc-demo-linux-/host_linux/simple_buffer_example.hÚj„8häj›6hæjÎhè}r�8(jjhí]hì]hê]hë]hð]uhòM hóhhô]rž8hýX‚-/example-applications/big-data-ipc-demo-linux-/host_linux/simple_buffer_example.rŸ8…�r 8}r¡8(hÙUhÚj›8ubaubj/)�r¢8}r£8(hÙXÓThe host directory and dsp directory has the corresponding sources. The shared folder contains some common sources. The main sequence for big data IPC can be followed by looking at host/App.c and dsp/Server.c. |r¤8hÚj„8häj›6hæj3hè}r¥8(hê]hë]hì]hí]hð]uhòMLhóhhô]r¦8hýXÓThe host directory and dsp directory has the corresponding sources. The shared folder contains some common sources. The main sequence for big data IPC can be followed by looking at host/App.c and dsp/Server.c. |r§8…�r¨8}r©8(hÙj¤8hÚj¢8ubaubeubhÛ)�rª8}r«8(hÙUhÚj8häj›6hæhçhè}r¬8(hê]hë]hì]hí]r­8Umemory-layout-detailsr®8ahð]r¯8hYauhòMShóhhô]r°8(hö)�r±8}r²8(hÙXMemory layout detailsr³8hÚjª8häj›6hæhúhè}r´8(hê]hë]hì]hí]hð]uhòMShóhhô]rµ8hýXMemory layout detailsr¶8…�r·8}r¸8(hÙj³8hÚj±8ubaubj/)�r¹8}rº8(hÙX&The DSP side memory layout can be found in the file host_linux/simple_buffer_example/shared//config.bld. Also note the addition of the following section in host_linux/simple_buffer_example/shared//rsc_table_dsp.h. Please note the reserved carve-out in the DSP resource tabler»8hÚjª8häj›6hæj3hè}r¼8(hê]hë]hì]hí]hð]uhòMUhóhhô]r½8hýX&The DSP side memory layout can be found in the file host_linux/simple_buffer_example/shared//config.bld. Also note the addition of the following section in host_linux/simple_buffer_example/shared//rsc_table_dsp.h. Please note the reserved carve-out in the DSP resource tabler¾8…�r¿8}rÀ8(hÙj»8hÚj¹8ubaubj))�rÁ8}rÂ8(hÙXBMake sure this matches what is configured in the linux device treerÃ8hÚjª8häj›6hæj,hè}rÄ8(hê]hë]hì]hí]hð]uhòNhóhhô]rÅ8j/)�rÆ8}rÇ8(hÙjÃ8hÚjÁ8häj›6hæj3hè}rÈ8(hê]hë]hì]hí]hð]uhòM\hô]rÉ8hýXBMake sure this matches what is configured in the linux device treerÊ8…�rË8}rÌ8(hÙjÃ8hÚjÆ8ubaubaubj¼)�rÍ8}rÎ8(hÙUhÚjª8häj›6hæj¿hè}rÏ8(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòM^hóhhô]rÐ8(jX)�rÑ8}rÒ8(hÙX!define DSP_CMEM_IOBUFS 0xA0000000rÓ8hÚjÍ8häj›6hæj[hè}rÔ8(hê]hë]hì]hí]hð]uhòNhóhhô]rÕ8j/)�rÖ8}r×8(hÙjÓ8hÚjÑ8häj›6hæj3hè}rØ8(hê]hë]hì]hí]hð]uhòM^hô]rÙ8hýX!define DSP_CMEM_IOBUFS 0xA0000000rÚ8…�rÛ8}rÜ8(hÙjÓ8hÚjÖ8ubaubaubjX)�rÝ8}rÞ8(hÙX"define PHYS_CMEM_IOBUFS 0xA0000000rß8hÚjÍ8häj›6hæj[hè}rà8(hê]hë]hì]hí]hð]uhòNhóhhô]rá8j/)�râ8}rã8(hÙjß8hÚjÝ8häj›6hæj3hè}rä8(hê]hë]hì]hí]hð]uhòM_hô]rå8hýX"define PHYS_CMEM_IOBUFS 0xA0000000ræ8…�rç8}rè8(hÙjß8hÚjâ8ubaubaubjX)�ré8}rê8(hÙX+define DSP_CMEM_IOBUFS_SIZE (SZ_1M \* 192) hÚjÍ8häj›6hæj[hè}rë8(hê]hë]hì]hí]hð]uhòNhóhhô]rì8j/)�rí8}rî8(hÙX*define DSP_CMEM_IOBUFS_SIZE (SZ_1M \* 192)hÚjé8häj›6hæj3hè}rï8(hê]hë]hì]hí]hð]uhòM`hô]rð8hýX)define DSP_CMEM_IOBUFS_SIZE (SZ_1M * 192)rñ8…�rò8}ró8(hÙX*define DSP_CMEM_IOBUFS_SIZE (SZ_1M \* 192)hÚjí8ubaubaubeubj/)�rô8}rõ8(hÙXJThe CMEM area allocated from this region is used for the big data buffers.rö8hÚjª8häj›6hæj3hè}r÷8(hê]hë]hì]hí]hð]uhòMbhóhhô]rø8hýXJThe CMEM area allocated from this region is used for the big data buffers.rù8…�rú8}rû8(hÙjö8hÚjô8ubaubeubeubeubhÛ)�rü8}rý8(hÙUhÚj‰6häj›6hæhçhè}rþ8(hê]hë]hì]hí]rÿ8Uhost-rtos-exampler9ahð]r9h¯auhòMfhóhhô]r9(hö)�r9}r9(hÙXHost RTOS exampler9hÚjü8häj›6hæhúhè}r9(hê]hë]hì]hí]hð]uhòMfhóhhô]r9hýXHost RTOS exampler9…�r 9}r 9(hÙj9hÚj9ubaubj/)�r 9}r 9(hÙXvUnder the host_bios directory the simple_buffer_example is implemented for Host A15 and DSP both running TI RTOS/BIOS.r 9hÚjü8häj›6hæj3hè}r9(hê]hë]hì]hí]hð]uhòMhhóhhô]r9hýXvUnder the host_bios directory the simple_buffer_example is implemented for Host A15 and DSP both running TI RTOS/BIOS.r9…�r9}r9(hÙj 9hÚj 9ubaubhÛ)�r9}r9(hÙUjKhÚjü8häj›6hæhçhè}r9(hê]r9j�7ahë]hì]hí]r9Uid43r9ahð]uhòMlhóhhô]r9(hö)�r9}r9(hÙXHow to Run the Exampler9hÚj9häj›6hæhúhè}r9(hê]hë]hì]hí]hð]uhòMlhóhhô]r9hýXHow to Run the Exampler9…�r 9}r!9(hÙj9hÚj9ubaubj/)�r"9}r#9(hÙX^The Processor SDK RTOS release include the pre-built binaries for the host_bios example under:r$9hÚj9häj›6hæj3hè}r%9(hê]hë]hì]hí]hð]uhòMnhóhhô]r&9hýX^The Processor SDK RTOS release include the pre-built binaries for the host_bios example under:r'9…�r(9}r)9(hÙj$9hÚj"9ubaubjË)�r*9}r+9(hÙXqprocessor_sdk__/demos/bigdataipc/prebuilt-binaries//simple_buffer_example/release/hÚj9häj›6hæjÎhè}r,9(jjhí]hì]hê]hë]hð]uhòM3 hóhhô]r-9hýXqprocessor_sdk__/demos/bigdataipc/prebuilt-binaries//simple_buffer_example/release/r.9…�r/9}r09(hÙUhÚj*9ubaubj/)�r19}r29(hÙX}Also for the platforms that support boot through SDcard, pre-built boot image or 'app' bootable through SBL is located under:r39hÚj9häj›6hæj3hè}r49(hê]hë]hì]hí]hð]uhòMuhóhhô]r59hýX}Also for the platforms that support boot through SDcard, pre-built boot image or 'app' bootable through SBL is located under:r69…�r79}r89(hÙj39hÚj19ubaubjË)�r99}r:9(hÙX�processor_sdk__/demos/bigdataipc/prebuilt-binaries/bootimages/host_bios/simple_buffer_example//apphÚj9häj›6hæjÎhè}r;9(jjhí]hì]hê]hë]hð]uhòM: hóhhô]r<9hýX�processor_sdk__/demos/bigdataipc/prebuilt-binaries/bootimages/host_bios/simple_buffer_example//appr=9…�r>9}r?9(hÙUhÚj99ubaubhÛ)�r@9}rA9(hÙUhÚj9häj›6hæhçhè}rB9(hê]hë]hì]hí]rC9Uam57xx-k2g-boardsrD9ahð]rE9h²auhòM}hóhhô]rF9(hö)�rG9}rH9(hÙXAM57xx & K2G boardsrI9hÚj@9häj›6hæhúhè}rJ9(hê]hë]hì]hí]hð]uhòM}hóhhô]rK9hýXAM57xx & K2G boardsrL9…�rM9}rN9(hÙjI9hÚjG9ubaubjF")�rO9}rP9(hÙXPre-requisitesrQ9hÚj@9häj›6hæjJ"hè}rR9(hí]rS9Upre-requisitesrT9ahì]hê]hë]hð]rU9hÊauhòNhóhhô]rV9hýXPre-requisitesrW9…�rX9}rY9(hÙjQ9hÚjO9ubaubj/)�rZ9}r[9(hÙXÂ1. Create a bootable SDCard using the procedure here: :ref:`Creating SD card in Windows ` or :ref:`Create SD card in Linux `hÚj@9häj›6hæj3hè}r\9(hê]hë]hì]hí]hð]uhòM‚hóhhô]r]9(hýX61. Create a bootable SDCard using the procedure here: r^9…�r_9}r`9(hÙX61. Create a bootable SDCard using the procedure here: hÚjZ9ubjZ)�ra9}rb9(hÙXG:ref:`Creating SD card in Windows `rc9hÚjZ9häj›6hæj^hè}rd9(UreftypeXrefj¢ ˆj£ X"tools-create-sd-card-windows-labelU refdomainXstdre9hí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòM‚hô]rf9jb)�rg9}rh9(hÙjc9hè}ri9(hê]hë]rj9(j­ je9Xstd-refrk9ehì]hí]hð]uhÚja9hô]rl9hýXCreating SD card in Windowsrm9…�rn9}ro9(hÙUhÚjg9ubahæjlubaubhýX or rp9…�rq9}rr9(hÙX or hÚjZ9ubjZ)�rs9}rt9(hÙXA:ref:`Create SD card in Linux `ru9hÚjZ9häj›6hæj^hè}rv9(UreftypeXrefj¢ ˆj£ X tools-create-sd-card-linux-labelU refdomainXstdrw9hí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòM‚hô]rx9jb)�ry9}rz9(hÙju9hè}r{9(hê]hë]r|9(j­ jw9Xstd-refr}9ehì]hí]hð]uhÚjs9hô]r~9hýXCreate SD card in Linuxr9…�r€9}r�9(hÙUhÚjy9ubahæjlubaubeubj/)�r‚9}rƒ9(hÙX˜2. Connect the UART on the hardware to the Host. ( Configure the terminal/console to Baud Rate= 115200, Data Bits= 8 , Parity= None, Flow Control= Off )r„9hÚj@9häj›6hæj3hè}r…9(hê]hë]hì]hí]hð]uhòM†hóhhô]r†9hýX˜2. Connect the UART on the hardware to the Host. ( Configure the terminal/console to Baud Rate= 115200, Data Bits= 8 , Parity= None, Flow Control= Off )r‡9…�rˆ9}r‰9(hÙj„9hÚj‚9ubaubjF")�rŠ9}r‹9(hÙX ProcedurerŒ9hÚj@9häj›6hæjJ"hè}r�9(hí]rŽ9U procedurer�9ahì]hê]hë]hð]r�9h™auhòNhóhhô]r‘9hýX Procedurer’9…�r“9}r”9(hÙjŒ9hÚjŠ9ubaubjQ)�r•9}r–9(hÙUhÚj@9häj›6hæjThè}r—9(jVX-hí]hì]hê]hë]hð]uhòM�hóhhô]r˜9(jX)�r™9}rš9(hÙX^Copy/overwrite the pre-built boot image 'app' corresponding to the board to a bootable SD CardhÚj•9häj›6hæj[hè}r›9(hê]hë]hì]hí]hð]uhòNhóhhô]rœ9j/)�r�9}rž9(hÙX^Copy/overwrite the pre-built boot image 'app' corresponding to the board to a bootable SD CardrŸ9hÚj™9häj›6hæj3hè}r 9(hê]hë]hì]hí]hð]uhòM�hô]r¡9hýX^Copy/overwrite the pre-built boot image 'app' corresponding to the board to a bootable SD Cardr¢9…�r£9}r¤9(hÙjŸ9hÚj�9ubaubaubjX)�r¥9}r¦9(hÙX!Insert the SD card into the boardr§9hÚj•9häj›6hæj[hè}r¨9(hê]hë]hì]hí]hð]uhòNhóhhô]r©9j/)�rª9}r«9(hÙj§9hÚj¥9häj›6hæj3hè}r¬9(hê]hë]hì]hí]hð]uhòM�hô]r­9hýX!Insert the SD card into the boardr®9…�r¯9}r°9(hÙj§9hÚjª9ubaubaubjX)�r±9}r²9(hÙXBoot/Reboot the board hÚj•9häj›6hæj[hè}r³9(hê]hë]hì]hí]hð]uhòNhóhhô]r´9j/)�rµ9}r¶9(hÙXBoot/Reboot the boardr·9hÚj±9häj›6hæj3hè}r¸9(hê]hë]hì]hí]hð]uhòM�hô]r¹9hýXBoot/Reboot the boardrº9…�r»9}r¼9(hÙj·9hÚjµ9ubaubaubeubj/)�r½9}r¾9(hÙX}The application will be loaded and run automatically and the "Host: Test Passed" message will be printed to the UART console.r¿9hÚj@9häj›6hæj3hè}rÀ9(hê]hë]hì]hí]hð]uhòM’hóhhô]rÁ9hýX}The application will be loaded and run automatically and the "Host: Test Passed" message will be printed to the UART console.rÂ9…�rÃ9}rÄ9(hÙj¿9hÚj½9ubaubj)�rÅ9}rÆ9(hÙX... Image:: ../images/BigDataIPC_Rtos_Demo.png hÚj@9häj›6hæjhè}rÇ9(UuriX'rtos/../images/BigDataIPC_Rtos_Demo.pngrÈ9hí]hì]hê]hë]j}rÉ9U*jÈ9shð]uhòM–hóhhô]ubeubhÛ)�rÊ9}rË9(hÙUhÚj9häj›6hæhçhè}rÌ9(hê]hë]hì]hí]rÍ9Uk2h-k2k-k2l-k2e-boardsrÎ9ahð]rÏ9hnauhòM˜hóhhô]rÐ9(hö)�rÑ9}rÒ9(hÙXK2H, K2K, K2L, K2E BoardsrÓ9hÚjÊ9häj›6hæhúhè}rÔ9(hê]hë]hì]hí]hð]uhòM˜hóhhô]rÕ9hýXK2H, K2K, K2L, K2E BoardsrÖ9…�r×9}rØ9(hÙjÓ9hÚjÑ9ubaubj/)�rÙ9}rÚ9(hÙXlThe prebuilt elf binaries of Host and DSP images can be loaded through CCS to the appropriate cores and run.rÛ9hÚjÊ9häj›6hæj3hè}rÜ9(hê]hë]hì]hí]hð]uhòMšhóhhô]rÝ9hýXlThe prebuilt elf binaries of Host and DSP images can be loaded through CCS to the appropriate cores and run.rÞ9…�rß9}rà9(hÙjÛ9hÚjÙ9ubaubeubeubhÛ)�rá9}râ9(hÙUjKhÚjü8häj›6hæhçhè}rã9(hê]rä9j!8ahë]hì]hí]rå9Uid44ræ9ahð]uhòMžhóhhô]rç9(hö)�rè9}ré9(hÙXHow to Re-Build the Examplerê9hÚjá9häj›6hæhúhè}rë9(hê]hë]hì]hí]hð]uhòMžhóhhô]rì9hýXHow to Re-Build the Examplerí9…�rî9}rï9(hÙjê9hÚjè9ubaubj/)�rð9}rñ9(hÙXjThe bigdata ipc examples can be built from the Processor SDK top level directory using the following stepsrò9hÚjá9häj›6hæj3hè}ró9(hê]hë]hì]hí]hð]uhòM hóhhô]rô9hýXjThe bigdata ipc examples can be built from the Processor SDK top level directory using the following stepsrõ9…�rö9}r÷9(hÙjò9hÚjð9ubaubjF")�rø9}rù9(hÙX1. Build environment setuprú9hÚjá9häj›6hæjJ"hè}rû9(hí]rü9Ubuild-environment-setuprý9ahì]hê]hë]hð]rþ9h%auhòNhóhhô]rÿ9hýX1. Build environment setupr:…�r:}r:(hÙjú9hÚjø9ubaubjF")�r:}r:(hÙX Linux hostr:hÚjá9häj›6hæjJ"hè}r:(hí]r:U linux-hostr:ahì]hê]hë]hð]r :hlauhòNhóhhô]r :hýX Linux hostr :…�r :}r :(hÙj:hÚj:ubaubjË)�r:}r:(hÙX„cd _ export SDK_INSTALL_PATH= source setupenv.shhÚjá9häj›6hæjÎhè}r:(jjhí]hì]hê]hë]hð]uhòMk hóhhô]r:hýX„cd _ export SDK_INSTALL_PATH= source setupenv.shr:…�r:}r:(hÙUhÚj:ubaubjF")�r:}r:(hÙX Windows hostr:hÚjá9häj›6hæjJ"hè}r:(hí]r:U windows-hostr:ahì]hê]hë]hð]r:h˜auhòNhóhhô]r:hýX Windows hostr:…�r:}r:(hÙj:hÚj:ubaubjË)�r :}r!:(hÙX{cd _ set SDK_INSTALL_PATH= setupenv.bathÚjá9häj›6hæjÎhè}r":(jjhí]hì]hê]hë]hð]uhòMt hóhhô]r#:hýX{cd _ set SDK_INSTALL_PATH= setupenv.batr$:…�r%:}r&:(hÙUhÚj :ubaubjF")�r':}r(:(hÙX2. Buildr):hÚjá9häj›6hæjJ"hè}r*:(hí]r+:Ubuildr,:ahì]hê]hë]hð]r-:hauhòNhóhhô]r.:hýX2. Buildr/:…�r0:}r1:(hÙj):hÚj':ubaubjË)�r2:}r3:(hÙXmake bigdataipc_exampleshÚjá9häj›6hæjÎhè}r4:(jjhí]hì]hê]hë]hð]uhòM} hóhhô]r5:hýXmake bigdataipc_examplesr6:…�r7:}r8:(hÙUhÚj2:ubaubj/)�r9:}r::(hÙXfThis creates the elf binaries for both the host and DSP cores. And the binaries can be installed usingr;:hÚjá9häj›6hæj3hè}r<:(hê]hë]hì]hí]hð]uhòM¿hóhhô]r=:hýXfThis creates the elf binaries for both the host and DSP cores. And the binaries can be installed usingr>:…�r?:}r@:(hÙj;:hÚj9:ubaubjË)�rA:}rB:(hÙX make bigdataipc_examples_installhÚjá9häj›6hæjÎhè}rC:(jjhí]hì]hê]hë]hð]uhòM„ hóhhô]rD:hýX make bigdataipc_examples_installrE:…�rF:}rG:(hÙUhÚjA:ubaubj/)�rH:}rI:(hÙXà(NOTE: The above command installs the elf binaries under the prebuilt-binaries location mentioned above. Need to convert the prebuilt elf binaries into bootable images refer to :ref:`Processor SDK RTOS Boot `)hÚjá9häj›6hæj3hè}rJ:(hê]hë]hì]hí]hð]uhòMÆhóhhô]rK:(hýX±(NOTE: The above command installs the elf binaries under the prebuilt-binaries location mentioned above. Need to convert the prebuilt elf binaries into bootable images refer to rL:…�rM:}rN:(hÙX±(NOTE: The above command installs the elf binaries under the prebuilt-binaries location mentioned above. Need to convert the prebuilt elf binaries into bootable images refer to hÚjH:ubjZ)�rO:}rP:(hÙX.:ref:`Processor SDK RTOS Boot `rQ:hÚjH:häj›6hæj^hè}rR:(UreftypeXrefj¢ ˆj£ X fc-boot-labelU refdomainXstdrS:hí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòMÆhô]rT:jb)�rU:}rV:(hÙjQ:hè}rW:(hê]hë]rX:(j­ jS:Xstd-refrY:ehì]hí]hð]uhÚjO:hô]rZ:hýXProcessor SDK RTOS Bootr[:…�r\:}r]:(hÙUhÚjU:ubahæjlubaubhýX)…�r^:}r_:(hÙX)hÚjH:ubeubjF")�r`:}ra:(hÙX Source filesrb:hÚjá9häj›6hæjJ"hè}rc:(hí]rd:Usource-files-1re:ahì]hê]hë]hð]rf:hËauhòNhóhhô]rg:hýX Source filesrh:…�ri:}rj:(hÙjb:hÚj`:ubaubj/)�rk:}rl:(hÙX/The source files for the example are located atrm:hÚjá9häj›6hæj3hè}rn:(hê]hë]hì]hí]hð]uhòMÎhóhhô]ro:hýX/The source files for the example are located atrp:…�rq:}rr:(hÙjm:hÚjk:ubaubjË)�rs:}rt:(hÙXU_/demos/bigdataipc/host_bios/simple_buffer_example.hÚjá9häj›6hæjÎhè}ru:(jjhí]hì]hê]hë]hð]uhòM’ hóhhô]rv:hýXU_/demos/bigdataipc/host_bios/simple_buffer_example.rw:…�rx:}ry:(hÙUhÚjs:ubaubj/)�rz:}r{:(hÙXÑThe host directory and dsp directory has the corresponding sources. The shared folder contains some common sources. The main sequence for big data IPC can be followed by looking at host/App.c and dsp/Server.c.r|:hÚjá9häj›6hæj3hè}r}:(hê]hë]hì]hí]hð]uhòMÔhóhhô]r~:hýXÑThe host directory and dsp directory has the corresponding sources. The shared folder contains some common sources. The main sequence for big data IPC can be followed by looking at host/App.c and dsp/Server.c.r:…�r€:}r�:(hÙj|:hÚjz:ubaubeubeubeubhäj›6hæhçhè}r‚:(hê]rƒ:X introductionr„:ahë]hì]hí]r…:Uid42r†:ahð]uhòKhóhhô]r‡:(hö)�rˆ:}r‰:(hÙX IntroductionrŠ:hÚj‡6häj›6hæhúhè}r‹:(hê]hë]hì]hí]hð]uhòKhóhhô]rŒ:hýX Introductionr�:…�rŽ:}r�:(hÙjŠ:hÚjˆ:ubaubj/)�r�:}r‘:(hÙX¤High Performance Computing applications and other Data intensive applications often require passing of Big data buffers between the multi-core processors in an SOC.r’:hÚj‡6häj›6hæj3hè}r“:(hê]hë]hì]hí]hð]uhòKhóhhô]r”:hýX¤High Performance Computing applications and other Data intensive applications often require passing of Big data buffers between the multi-core processors in an SOC.r•:…�r–:}r—:(hÙj’:hÚj�:ubaubj/)�r˜:}r™:(hÙXŽThe Big Data IPC examples are created mainly to show exchange of big data buffers between cores and is part of the Processor SDK RTOS package.rš:hÚj‡6häj›6hæj3hè}r›:(hê]hë]hì]hí]hð]uhòK hóhhô]rœ:hýXŽThe Big Data IPC examples are created mainly to show exchange of big data buffers between cores and is part of the Processor SDK RTOS package.r�:…�rž:}rŸ:(hÙjš:hÚj˜:ubaubj/)�r :}r¡:(hÙX�Currently the example named "simple_buffer_example", captures the details of exchange of big buffers with both host A15 core and a DSP cores.r¢:hÚj‡6häj›6hæj3hè}r£:(hê]hë]hì]hí]hð]uhòKhóhhô]r¤:hýX�Currently the example named "simple_buffer_example", captures the details of exchange of big buffers with both host A15 core and a DSP cores.r¥:…�r¦:}r§:(hÙj¢:hÚj :ubaubeubhäj›6hæj>hè}r¨:(hê]UlevelKhí]hì]r©:j†:aUsourcej›6hë]hð]UlineKUtypejAuhòKhóhhô]rª:j/)�r«:}r¬:(hÙX/Duplicate implicit target name: "introduction".hè}r­:(hê]hë]hì]hí]hð]uhÚj…6hô]r®:hýX/Duplicate implicit target name: "introduction".r¯:…�r°:}r±:(hÙUhÚj«:ubahæj3ubaubj¬)�r²:}r³:(hÙUhÚj9häj›6hæj>hè}r´:(hê]UlevelKhí]hì]rµ:j9aUsourcej›6hë]hð]UlineMlUtypejAuhòMlhóhhô]r¶:j/)�r·:}r¸:(hÙX9Duplicate implicit target name: "how to run the example".hè}r¹:(hê]hë]hì]hí]hð]uhÚj²:hô]rº:hýX9Duplicate implicit target name: "how to run the example".r»:…�r¼:}r½:(hÙUhÚj·:ubahæj3ubaubj¬)�r¾:}r¿:(hÙUhÚjá9häj›6hæj>hè}rÀ:(hê]UlevelKhí]hì]rÁ:jæ9aUsourcej›6hë]hð]UlineMžUtypejAuhòMžhóhhô]rÂ:j/)�rÃ:}rÄ:(hÙX>Duplicate implicit target name: "how to re-build the example".hè}rÅ:(hê]hë]hì]hí]hð]uhÚj¾:hô]rÆ:hýX>Duplicate implicit target name: "how to re-build the example".rÇ:…�rÈ:}rÉ:(hÙUhÚjÃ:ubahæj3ubaubj¬)�rÊ:}rË:(hÙUhÚjá9häX\internal padding after source/rtos/Examples_and_Demonstrations/Big_Data_IPC_Examples.rst.incrÌ:hæj>hè}rÍ:(hê]UlevelKhí]hì]Usourcej›6hë]hð]UlineMÙUtypejfuhòMÛhóhhô]rÎ:(j/)�rÏ:}rÐ:(hÙX;Content block expected for the "raw" directive; none found.hè}rÑ:(hê]hë]hì]hí]hð]uhÚjÊ:hô]rÒ:hýX;Content block expected for the "raw" directive; none found.rÓ:…�rÔ:}rÕ:(hÙUhÚjÏ:ubahæj3ubjË)�rÖ:}r×:(hÙX.. raw:: html hè}rØ:(jjhí]hì]hê]hë]hð]uhÚjÊ:hô]rÙ:hýX.. raw:: html rÚ:…�rÛ:}rÜ:(hÙUhÚjÖ:ubahæjÎubeubj¬)�rÝ:}rÞ:(hÙUhÚhÛ)�rß:}rà:(hÙUjKhÚhÛ)�rá:}râ:(hÙUhÚhhähåhæhçhè}rã:(hê]hë]hì]hí]rä:Uti-rtos-kernel-examplerå:ahð]ræ:hRauhòK-hóhhô]rç:(hö)�rè:}ré:(hÙXTI-RTOS Kernel Examplerê:hÚjá:hähåhæhúhè}rë:(hê]hë]hì]hí]hð]uhòK-hóhhô]rì:hýXTI-RTOS Kernel Examplerí:…�rî:}rï:(hÙjê:hÚjè:ubaubj )�rð:}rñ:(hÙXChttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_ExampleshÚjá:häj X=source/rtos/Examples_and_Demonstrations/RTOS_Examples.rst.incrò:…�ró:}rô:bhæjhè}rõ:(jjhí]hì]hê]hë]hð]uhòKhóhhô]rö:hýXChttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Examplesr÷:…�rø:}rù:(hÙUhÚjð:ubaubhÛ)�rú:}rû:(hÙUjKhÚjá:häjó:hæhçhè}rü:(hê]rý:Xoverviewrþ:ahë]hì]hí]rÿ:Uoverviewr;ahð]uhòKhóhhô]r;(hö)�r;}r;(hÙXOverviewr;hÚjú:häjó:hæhúhè}r;(hê]hë]hì]hí]hð]uhòKhóhhô]r;hýXOverviewr;…�r;}r ;(hÙj;hÚj;ubaubj/)�r ;}r ;(hÙXÉThe SYS/BIOS examples gets user started with development of code using a real-time operating system. These are simple examples that does not get into details of software components provided in the SDK.r ;hÚjú:häjó:hæj3hè}r ;(hê]hë]hì]hí]hð]uhòKhóhhô]r;hýXÉThe SYS/BIOS examples gets user started with development of code using a real-time operating system. These are simple examples that does not get into details of software components provided in the SDK.r;…�r;}r;(hÙj ;hÚj ;ubaubeubjß:hÛ)�r;}r;(hÙUjKhÚjá:häjó:hæhçhè}r;(hê]r;Xarm cortex-a15r;ahë]hì]hí]r;Uarm-cortex-a15r;ahð]uhòK?hóhhô]r;(hö)�r;}r;(hÙXARM Cortex-A15r;hÚj;häjó:hæhúhè}r;(hê]hë]hì]hí]hð]uhòK?hóhhô]r;hýXARM Cortex-A15r;…�r ;}r!;(hÙj;hÚj;ubaubj/)�r";}r#;(hÙX2The hello example serves as a basic sanity check program for SYS/BIOS. It demonstrates how to print the string 'hello world' to stdout. As a sample we will use the AM572x device to describe the steps. The same steps can be used for create hello world examples for A15 cores in Keystone 2 family of devices.r$;hÚj;häjó:hæj3hè}r%;(hê]hë]hì]hí]hð]uhòKAhóhhô]r&;hýX2The hello example serves as a basic sanity check program for SYS/BIOS. It demonstrates how to print the string 'hello world' to stdout. As a sample we will use the AM572x device to describe the steps. The same steps can be used for create hello world examples for A15 cores in Keystone 2 family of devices.r';…�r(;}r);(hÙj$;hÚj";ubaubj))�r*;}r+;(hÙXŽ- The K2G, K2E and K2H devices, can be located under Unclassified devices in the Resource Explorer. Refer below Screenshot for Keystone IIhÚj;häNhæj,hè}r,;(hê]hë]hì]hí]hð]uhòNhóhhô]r-;jQ)�r.;}r/;(hÙUhè}r0;(jVX-hí]hì]hê]hë]hð]uhÚj*;hô]r1;jX)�r2;}r3;(hÙXˆThe K2G, K2E and K2H devices, can be located under Unclassified devices in the Resource Explorer. Refer below Screenshot for Keystone IIhè}r4;(hê]hë]hì]hí]hð]uhÚj.;hô]r5;j/)�r6;}r7;(hÙXˆThe K2G, K2E and K2H devices, can be located under Unclassified devices in the Resource Explorer. Refer below Screenshot for Keystone IIr8;hÚj2;häjó:hæj3hè}r9;(hê]hë]hì]hí]hð]uhòKIhô]r:;hýXˆThe K2G, K2E and K2H devices, can be located under Unclassified devices in the Resource Explorer. Refer below Screenshot for Keystone IIr;;…�r<;}r=;(hÙj8;hÚj6;ubaubahæj[ubahæjTubaubj)�r>;}r?;(hÙX!.. Image:: ../images/KSII_RS.png hÚj;häjó:hæjhè}r@;(UuriXrtos/../images/KSII_RS.pngrA;hí]hì]hê]hë]j}rB;U*jA;shð]uhòKMhóhhô]ubj/)�rC;}rD;(hÙXÜ1. Create a work space folder (\ti\am_572x_hello_workspace) under ti folder to be used for Hello Example project, and start CCS. You may be prompted with **New Products Discovered**, so select all and **click on Finish**hÚj;häjó:hæj3hè}rE;(hê]hë]hì]hí]hð]uhòKNhóhhô]rF;(hýX˜1. Create a work space folder (tiam_572x_hello_workspace) under ti folder to be used for Hello Example project, and start CCS. You may be prompted with rG;…�rH;}rI;(hÙXš1. Create a work space folder (\ti\am_572x_hello_workspace) under ti folder to be used for Hello Example project, and start CCS. You may be prompted with hÚjC;ubjW)�rJ;}rK;(hÙX**New Products Discovered**hè}rL;(hê]hë]hì]hí]hð]uhÚjC;hô]rM;hýXNew Products DiscoveredrN;…�rO;}rP;(hÙUhÚjJ;ubahæj_ubhýX, so select all and rQ;…�rR;}rS;(hÙX, so select all and hÚjC;ubjW)�rT;}rU;(hÙX**click on Finish**hè}rV;(hê]hë]hì]hí]hð]uhÚjC;hô]rW;hýXclick on FinishrX;…�rY;}rZ;(hÙUhÚjT;ubahæj_ubeubj¼)�r[;}r\;(hÙUhÚj;häjó:hæj¿hè}r];(jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòKShóhhô]r^;jX)�r_;}r`;(hÙX4On CCS click View --> Resource Explorer (Examples). hÚj[;häjó:hæj[hè}ra;(hê]hë]hì]hí]hð]uhòNhóhhô]rb;j/)�rc;}rd;(hÙX3On CCS click View --> Resource Explorer (Examples).re;hÚj_;häjó:hæj3hè}rf;(hê]hë]hì]hí]hð]uhòKShô]rg;hýX3On CCS click View --> Resource Explorer (Examples).rh;…�ri;}rj;(hÙje;hÚjc;ubaubaubaubj/)�rk;}rl;(hÙXa3. On SYS/BIOS scroll down to AM572X --> Cortex A --> Generic Example --> click on Hello Example.rm;hÚj;häjó:hæj3hè}rn;(hê]hë]hì]hí]hð]uhòKUhóhhô]ro;hýXa3. On SYS/BIOS scroll down to AM572X --> Cortex A --> Generic Example --> click on Hello Example.rp;…�rq;}rr;(hÙjm;hÚjk;ubaubj)�rs;}rt;(hÙX9.. Image:: ../images/Sys_bios_hello_example_screen_1.jpg hÚj;häjó:hæjhè}ru;(UuriX2rtos/../images/Sys_bios_hello_example_screen_1.jpgrv;hí]hì]hê]hë]j}rw;U*jv;shð]uhòKYhóhhô]ubj/)�rx;}ry;(hÙXc4. To import Hello Example, on the right window click on step 1. Import The Example to CCS Project.rz;hÚj;häjó:hæj3hè}r{;(hê]hë]hì]hí]hð]uhòKZhóhhô]r|;hýXc4. To import Hello Example, on the right window click on step 1. Import The Example to CCS Project.r};…�r~;}r;(hÙjz;hÚjx;ubaubj¼)�r€;}r�;(hÙUhÚj;häjó:hæj¿hè}r‚;(jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòK]hóhhô]rƒ;jX)�r„;}r…;(hÙXBOn New CCS Project window enter project name and then click Next. hÚj€;häjó:hæj[hè}r†;(hê]hë]hì]hí]hð]uhòNhóhhô]r‡;j/)�rˆ;}r‰;(hÙXAOn New CCS Project window enter project name and then click Next.rŠ;hÚj„;häjó:hæj3hè}r‹;(hê]hë]hì]hí]hð]uhòK]hô]rŒ;hýXAOn New CCS Project window enter project name and then click Next.r�;…�rŽ;}r�;(hÙjŠ;hÚjˆ;ubaubaubaubj)�r�;}r‘;(hÙX9.. Image:: ../images/Sys_bios_hello_example_screen_2.jpg hÚj;häjó:hæjhè}r’;(UuriX2rtos/../images/Sys_bios_hello_example_screen_2.jpgr“;hí]hì]hê]hë]j}r”;U*j“;shð]uhòK`hóhhô]ubj/)�r•;}r–;(hÙX6. On RSTC window select platform name: **ti.platforms.evmAM572X** and check that the target is set to **gnu.targets.arm.A15F**hÚj;häjó:hæj3hè}r—;(hê]hë]hì]hí]hð]uhòKahóhhô]r˜;(hýX(6. On RSTC window select platform name: r™;…�rš;}r›;(hÙX(6. On RSTC window select platform name: hÚj•;ubjW)�rœ;}r�;(hÙX**ti.platforms.evmAM572X**hè}rž;(hê]hë]hì]hí]hð]uhÚj•;hô]rŸ;hýXti.platforms.evmAM572Xr ;…�r¡;}r¢;(hÙUhÚjœ;ubahæj_ubhýX% and check that the target is set to r£;…�r¤;}r¥;(hÙX% and check that the target is set to hÚj•;ubjW)�r¦;}r§;(hÙX**gnu.targets.arm.A15F**hè}r¨;(hê]hë]hì]hí]hð]uhÚj•;hô]r©;hýXgnu.targets.arm.A15Frª;…�r«;}r¬;(hÙUhÚj¦;ubahæj_ubeubj¼)�r­;}r®;(hÙUhÚj;häjó:hæj¿hè}r¯;(jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòKdhóhhô]r°;jX)�r±;}r²;(hÙXFClick Finish. Your project should show up on Project Explorer window. hÚj­;häjó:hæj[hè}r³;(hê]hë]hì]hí]hð]uhòNhóhhô]r´;j/)�rµ;}r¶;(hÙXEClick Finish. Your project should show up on Project Explorer window.r·;hÚj±;häjó:hæj3hè}r¸;(hê]hë]hì]hí]hð]uhòKdhô]r¹;hýXEClick Finish. Your project should show up on Project Explorer window.rº;…�r»;}r¼;(hÙj·;hÚjµ;ubaubaubaubj/)�r½;}r¾;(hÙXN8. To get log message to print on console add this variable to hello.cfg file:r¿;hÚj;häjó:hæj3hè}rÀ;(hê]hë]hì]hí]hð]uhòKfhóhhô]rÁ;hýXN8. To get log message to print on console add this variable to hello.cfg file:rÂ;…�rÃ;}rÄ;(hÙj¿;hÚj½;ubaubcdocutils.nodes raw rÅ;)�rÆ;}rÇ;(hÙX7
hÚj;häjó:hæUrawrÈ;hè}rÉ;(UformatXhtmljjhí]hì]hê]hë]hð]uhòKihóhhô]rÊ;hýX7
rË;…�rÌ;}rÍ;(hÙUhÚjÆ;ubaubjÅ;)�rÎ;}rÏ;(hÙX
hÚj;häjó:hæjÈ;hè}rÐ;(UformatXhtmljjhí]hì]hê]hë]hð]uhòKmhóhhô]rÑ;hýX
rÒ;…�rÓ;}rÔ;(hÙUhÚjÎ;ubaubjË)�rÕ;}rÖ;(hÙXJvar SemiHostSupport = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');hÚj;häjó:hæjÎhè}r×;(jjhí]hì]hê]hë]rØ;(UcoderÙ;Xcehð]uhòKthóhhô]rÚ;(jb)�rÛ;}rÜ;(hÙXvarhè}rÝ;(hê]hë]rÞ;Unamerß;ahì]hí]hð]uhÚjÕ;hô]rà;hýXvarrá;…�râ;}rã;(hÙUhÚjÛ;ubahæjlubhýX …�rä;}rå;(hÙX hÚjÕ;ubjb)�ræ;}rç;(hÙXSemiHostSupporthè}rè;(hê]hë]ré;Unamerê;ahì]hí]hð]uhÚjÕ;hô]rë;hýXSemiHostSupportrì;…�rí;}rî;(hÙUhÚjæ;ubahæjlubhýX …�rï;}rð;(hÙX hÚjÕ;ubjb)�rñ;}rò;(hÙX=hè}ró;(hê]hë]rô;Uoperatorrõ;ahì]hí]hð]uhÚjÕ;hô]rö;hýX=…�r÷;}rø;(hÙUhÚjñ;ubahæjlubhýX …�rù;}rú;(hÙX hÚjÕ;ubjb)�rû;}rü;(hÙXxdchè}rý;(hê]hë]rþ;Unamerÿ;ahì]hí]hð]uhÚjÕ;hô]r<hýXxdcr<…�r<}r<(hÙUhÚjû;ubahæjlubjb)�r<}r<(hÙX.hè}r<(hê]hë]r<U punctuationr<ahì]hí]hð]uhÚjÕ;hô]r <hýX.…�r <}r <(hÙUhÚj<ubahæjlubjb)�r <}r <(hÙX useModulehè}r<(hê]hë]r<Unamer<ahì]hí]hð]uhÚjÕ;hô]r<hýX useModuler<…�r<}r<(hÙUhÚj <ubahæjlubjb)�r<}r<(hÙX(hè}r<(hê]hë]r<U punctuationr<ahì]hí]hð]uhÚjÕ;hô]r<hýX(…�r<}r<(hÙUhÚj<ubahæjlubjb)�r<}r<(hÙX'hè}r<(hê]hë]r <Uerrorr!<ahì]hí]hð]uhÚjÕ;hô]r"<hýX'…�r#<}r$<(hÙUhÚj<ubahæjlubjb)�r%<}r&<(hÙXtihè}r'<(hê]hë]r(<Unamer)<ahì]hí]hð]uhÚjÕ;hô]r*<hýXtir+<…�r,<}r-<(hÙUhÚj%<ubahæjlubjb)�r.<}r/<(hÙX.hè}r0<(hê]hë]r1<U punctuationr2<ahì]hí]hð]uhÚjÕ;hô]r3<hýX.…�r4<}r5<(hÙUhÚj.<ubahæjlubjb)�r6<}r7<(hÙXsysbioshè}r8<(hê]hë]r9<Unamer:<ahì]hí]hð]uhÚjÕ;hô]r;<hýXsysbiosr<<…�r=<}r><(hÙUhÚj6<ubahæjlubjb)�r?<}r@<(hÙX.hè}rA<(hê]hë]rB<U punctuationrC<ahì]hí]hð]uhÚjÕ;hô]rD<hýX.…�rE<}rF<(hÙUhÚj?<ubahæjlubjb)�rG<}rH<(hÙXrtshè}rI<(hê]hë]rJ<UnamerK<ahì]hí]hð]uhÚjÕ;hô]rL<hýXrtsrM<…�rN<}rO<(hÙUhÚjG<ubahæjlubjb)�rP<}rQ<(hÙX.hè}rR<(hê]hë]rS<U punctuationrT<ahì]hí]hð]uhÚjÕ;hô]rU<hýX.…�rV<}rW<(hÙUhÚjP<ubahæjlubjb)�rX<}rY<(hÙXgnuhè}rZ<(hê]hë]r[<Unamer\<ahì]hí]hð]uhÚjÕ;hô]r]<hýXgnur^<…�r_<}r`<(hÙUhÚjX<ubahæjlubjb)�ra<}rb<(hÙX.hè}rc<(hê]hë]rd<U punctuationre<ahì]hí]hð]uhÚjÕ;hô]rf<hýX.…�rg<}rh<(hÙUhÚja<ubahæjlubjb)�ri<}rj<(hÙXSemiHostSupporthè}rk<(hê]hë]rl<Unamerm<ahì]hí]hð]uhÚjÕ;hô]rn<hýXSemiHostSupportro<…�rp<}rq<(hÙUhÚji<ubahæjlubjb)�rr<}rs<(hÙX'hè}rt<(hê]hë]ru<Uerrorrv<ahì]hí]hð]uhÚjÕ;hô]rw<hýX'…�rx<}ry<(hÙUhÚjr<ubahæjlubjb)�rz<}r{<(hÙX);hè}r|<(hê]hë]r}<U punctuationr~<ahì]hí]hð]uhÚjÕ;hô]r<hýX);r€<…�r�<}r‚<(hÙUhÚjz<ubahæjlubeubjÅ;)�rƒ<}r„<(hÙX
hÚj;häjó:hæjÈ;hè}r…<(UformatXhtmljjhí]hì]hê]hë]hð]uhòKuhóhhô]r†<hýX
r‡<…�rˆ<}r‰<(hÙUhÚjƒ<ubaubj))�rŠ<}r‹<(hÙXoYou also need to replace the nosys library in linker with rdimon which is the Semi-Hosting enabled BSP library.hÚj;häjó:hæj,hè}rŒ<(hê]hë]hì]hí]hð]uhòNhóhhô]r�<j/)�rŽ<}r�<(hÙXoYou also need to replace the nosys library in linker with rdimon which is the Semi-Hosting enabled BSP library.r�<hÚjŠ<häjó:hæj3hè}r‘<(hê]hë]hì]hí]hð]uhòKzhô]r’<hýXoYou also need to replace the nosys library in linker with rdimon which is the Semi-Hosting enabled BSP library.r“<…�r”<}r•<(hÙj�<hÚjŽ<ubaubaubj/)�r–<}r—<(hÙXXRight click on project --> Show Build Settings... --> Build --> GNU Linker --> Librariesr˜<hÚj;häjó:hæj3hè}r™<(hê]hë]hì]hí]hð]uhòK}hóhhô]rš<hýXXRight click on project --> Show Build Settings... --> Build --> GNU Linker --> Librariesr›<…�rœ<}r�<(hÙj˜<hÚj–<ubaubj/)�rž<}rŸ<(hÙXW9. Build Hello Example project by Right click on Hello Project and click Build project.r <hÚj;häjó:hæj3hè}r¡<(hê]hë]hì]hí]hð]uhòK€hóhhô]r¢<hýXW9. Build Hello Example project by Right click on Hello Project and click Build project.r£<…�r¤<}r¥<(hÙj <hÚjž<ubaubj/)�r¦<}r§<(hÙX±10. Create new target configuration (if one doesn`t exist) as described in here :ref:`Create Target Configuration File for EVM `hÚj;häjó:hæj3hè}r¨<(hê]hë]hì]hí]hð]uhòKƒhóhhô]r©<(hýXP10. Create new target configuration (if one doesn`t exist) as described in here rª<…�r«<}r¬<(hÙXP10. Create new target configuration (if one doesn`t exist) as described in here hÚj¦<ubjZ)�r­<}r®<(hÙXa:ref:`Create Target Configuration File for EVM `r¯<hÚj¦<häjó:hæj^hè}r°<(UreftypeXrefj¢ ˆj£ X/create-target-configuration-file-for-evm-label/U refdomainXstdr±<hí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòKƒhô]r²<jb)�r³<}r´<(hÙj¯<hè}rµ<(hê]hë]r¶<(j­ j±<Xstd-refr·<ehì]hí]hð]uhÚj­<hô]r¸<hýX(Create Target Configuration File for EVMr¹<…�rº<}r»<(hÙUhÚj³<ubahæjlubaubeubj/)�r¼<}r½<(hÙXM11. Right click on the target configuration and Launch target configurations.r¾<hÚj;häjó:hæj3hè}r¿<(hê]hë]hì]hí]hð]uhòK†hóhhô]rÀ<hýXM11. Right click on the target configuration and Launch target configurations.rÁ<…�rÂ<}rÃ<(hÙj¾<hÚj¼<ubaubj¼)�rÄ<}rÅ<(hÙUhÚj;häjó:hæj¿hè}rÆ<(jÁU.jf5K hí]hì]hê]jÂUhë]hð]jÃjÄuhòK‰hóhhô]rÇ<jX)�rÈ<}rÉ<(hÙX,Right click CortexA15_0 and connect target. hÚjÄ<häjó:hæj[hè}rÊ<(hê]hë]hì]hí]hð]uhòNhóhhô]rË<j/)�rÌ<}rÍ<(hÙX+Right click CortexA15_0 and connect target.rÎ<hÚjÈ<häjó:hæj3hè}rÏ<(hê]hë]hì]hí]hð]uhòK‰hô]rÐ<hýX+Right click CortexA15_0 and connect target.rÑ<…�rÒ<}rÓ<(hÙjÎ<hÚjÌ<ubaubaubaubj/)�rÔ<}rÕ<(hÙXk13. Load and run Hello Example out file. You should see **Hello World** string displayed on console window.hÚj;häjó:hæj3hè}rÖ<(hê]hë]hì]hí]hð]uhòK‹hóhhô]r×<(hýX813. Load and run Hello Example out file. You should see rØ<…�rÙ<}rÚ<(hÙX813. Load and run Hello Example out file. You should see hÚjÔ<ubjW)�rÛ<}rÜ<(hÙX**Hello World**hè}rÝ<(hê]hë]hì]hí]hð]uhÚjÔ<hô]rÞ<hýX Hello Worldrß<…�rà<}rá<(hÙUhÚjÛ<ubahæj_ubhýX$ string displayed on console window.râ<…�rã<}rä<(hÙX$ string displayed on console window.hÚjÔ<ubeubjÎ)�rå<}ræ<(hÙUhÚj;häjó:hæjÑhè}rç<(hê]hë]hì]hí]hð]uhòKŽhóhhô]rè<jÔ)�ré<}rê<(hÙUj×KhÚjå<häjó:hæhòhè}rë<(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubhÛ)�rì<}rí<(hÙUjKhÚjá:häjó:hæhçhè}rî<(hê]rï<X arm cortex-a9rð<ahë]hì]hí]rñ<U arm-cortex-a9rò<ahð]uhòK‘hóhhô]ró<(hö)�rô<}rõ<(hÙX ARM Cortex-A9rö<hÚjì<häjó:hæhúhè}r÷<(hê]hë]hì]hí]hð]uhòK‘hóhhô]rø<hýX ARM Cortex-A9rù<…�rú<}rû<(hÙjö<hÚjô<ubaubj/)�rü<}rý<(hÙX‡The hello example serves as a basic sanity check program for SYS/BIOS. It demonstrates how to print the string 'hello world' to stdout.rþ<hÚjì<häjó:hæj3hè}rÿ<(hê]hë]hì]hí]hð]uhòK“hóhhô]r=hýX‡The hello example serves as a basic sanity check program for SYS/BIOS. It demonstrates how to print the string 'hello world' to stdout.r=…�r=}r=(hÙjþ<hÚjü<ubaubj/)�r=}r=(hÙXÞ1. Create a work space folder (\\ti\\am_437x_hello_workspace) under ti folder to be used for Hello Example project, and start CCS. You may be prompted with **New Products Discovered**, so select all and **click on Finish**hÚjì<häjó:hæj3hè}r=(hê]hë]hì]hí]hð]uhòK–hóhhô]r=(hýXš1. Create a work space folder (\ti\am_437x_hello_workspace) under ti folder to be used for Hello Example project, and start CCS. You may be prompted with r=…�r =}r =(hÙXœ1. Create a work space folder (\\ti\\am_437x_hello_workspace) under ti folder to be used for Hello Example project, and start CCS. You may be prompted with hÚj=ubjW)�r =}r =(hÙX**New Products Discovered**hè}r =(hê]hë]hì]hí]hð]uhÚj=hô]r=hýXNew Products Discoveredr=…�r=}r=(hÙUhÚj =ubahæj_ubhýX, so select all and r=…�r=}r=(hÙX, so select all and hÚj=ubjW)�r=}r=(hÙX**click on Finish**hè}r=(hê]hë]hì]hí]hð]uhÚj=hô]r=hýXclick on Finishr=…�r=}r=(hÙUhÚj=ubahæj_ubeubj¼)�r=}r=(hÙUhÚjì<häjó:hæj¿hè}r=(jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòK›hóhhô]r=jX)�r =}r!=(hÙX4On CCS click View --> Resource Explorer (Examples). hÚj=häjó:hæj[hè}r"=(hê]hë]hì]hí]hð]uhòNhóhhô]r#=j/)�r$=}r%=(hÙX3On CCS click View --> Resource Explorer (Examples).r&=hÚj =häjó:hæj3hè}r'=(hê]hë]hì]hí]hð]uhòK›hô]r(=hýX3On CCS click View --> Resource Explorer (Examples).r)=…�r*=}r+=(hÙj&=hÚj$=ubaubaubaubj/)�r,=}r-=(hÙXa3. On SYS/BIOS scroll down to AM4378 --> Cortex A --> Generic Example --> click on Hello Example.r.=hÚjì<häjó:hæj3hè}r/=(hê]hë]hì]hí]hð]uhòK�hóhhô]r0=hýXa3. On SYS/BIOS scroll down to AM4378 --> Cortex A --> Generic Example --> click on Hello Example.r1=…�r2=}r3=(hÙj.=hÚj,=ubaubj)�r4=}r5=(hÙX2.. Image:: ../images/RTOS_CortexA9_HelloWorld.png hÚjì<häjó:hæjhè}r6=(UuriX+rtos/../images/RTOS_CortexA9_HelloWorld.pngr7=hí]hì]hê]hë]j}r8=U*j7=shð]uhòK¡hóhhô]ubj/)�r9=}r:=(hÙXc4. To import Hello Example, on the right window click on step 1. Import The Example to CCS Project.r;=hÚjì<häjó:hæj3hè}r<=(hê]hë]hì]hí]hð]uhòK¢hóhhô]r==hýXc4. To import Hello Example, on the right window click on step 1. Import The Example to CCS Project.r>=…�r?=}r@=(hÙj;=hÚj9=ubaubj¼)�rA=}rB=(hÙUhÚjì<häjó:hæj¿hè}rC=(jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòK¥hóhhô]rD=jX)�rE=}rF=(hÙXBOn New CCS Project window enter project name and then click Next. hÚjA=häjó:hæj[hè}rG=(hê]hë]hì]hí]hð]uhòNhóhhô]rH=j/)�rI=}rJ=(hÙXAOn New CCS Project window enter project name and then click Next.rK=hÚjE=häjó:hæj3hè}rL=(hê]hë]hì]hí]hð]uhòK¥hô]rM=hýXAOn New CCS Project window enter project name and then click Next.rN=…�rO=}rP=(hÙjK=hÚjI=ubaubaubaubj)�rQ=}rR=(hÙX-.. Image:: ../images/HelloWorld_cortexA9.png hÚjì<häjó:hæjhè}rS=(UuriX&rtos/../images/HelloWorld_cortexA9.pngrT=hí]hì]hê]hë]j}rU=U*jT=shð]uhòK¨hóhhô]ubj/)�rV=}rW=(hÙX~6. On RSTC window select platform name: **ti.platforms.evmAM437X** and check that the target is set to **gnu.targets.arm.A9F**hÚjì<häjó:hæj3hè}rX=(hê]hë]hì]hí]hð]uhòK©hóhhô]rY=(hýX(6. On RSTC window select platform name: rZ=…�r[=}r\=(hÙX(6. On RSTC window select platform name: hÚjV=ubjW)�r]=}r^=(hÙX**ti.platforms.evmAM437X**hè}r_=(hê]hë]hì]hí]hð]uhÚjV=hô]r`=hýXti.platforms.evmAM437Xra=…�rb=}rc=(hÙUhÚj]=ubahæj_ubhýX% and check that the target is set to rd=…�re=}rf=(hÙX% and check that the target is set to hÚjV=ubjW)�rg=}rh=(hÙX**gnu.targets.arm.A9F**hè}ri=(hê]hë]hì]hí]hð]uhÚjV=hô]rj=hýXgnu.targets.arm.A9Frk=…�rl=}rm=(hÙUhÚjg=ubahæj_ubeubj¼)�rn=}ro=(hÙUhÚjì<häjó:hæj¿hè}rp=(jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòK¬hóhhô]rq=jX)�rr=}rs=(hÙXFClick Finish. Your project should show up on Project Explorer window. hÚjn=häjó:hæj[hè}rt=(hê]hë]hì]hí]hð]uhòNhóhhô]ru=j/)�rv=}rw=(hÙXEClick Finish. Your project should show up on Project Explorer window.rx=hÚjr=häjó:hæj3hè}ry=(hê]hë]hì]hí]hð]uhòK¬hô]rz=hýXEClick Finish. Your project should show up on Project Explorer window.r{=…�r|=}r}=(hÙjx=hÚjv=ubaubaubaubj/)�r~=}r=(hÙXN8. To get log message to print on console add this variable to hello.cfg file:r€=hÚjì<häjó:hæj3hè}r�=(hê]hë]hì]hí]hð]uhòK®hóhhô]r‚=hýXN8. To get log message to print on console add this variable to hello.cfg file:rƒ=…�r„=}r…=(hÙj€=hÚj~=ubaubjÅ;)�r†=}r‡=(hÙX7
hÚjì<häjó:hæjÈ;hè}rˆ=(UformatXhtmljjhí]hì]hê]hë]hð]uhòK±hóhhô]r‰=hýX7
rŠ=…�r‹=}rŒ=(hÙUhÚj†=ubaubjÅ;)�r�=}rŽ=(hÙX
hÚjì<häjó:hæjÈ;hè}r�=(UformatXhtmljjhí]hì]hê]hë]hð]uhòKµhóhhô]r�=hýX
r‘=…�r’=}r“=(hÙUhÚj�=ubaubjË)�r”=}r•=(hÙXJvar SemiHostSupport = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');hÚjì<häjó:hæjÎhè}r–=(jjhí]hì]hê]hë]r—=(jÙ;Xcehð]uhòK¼hóhhô]r˜=(jb)�r™=}rš=(hÙXvarhè}r›=(hê]hë]rœ=Unamer�=ahì]hí]hð]uhÚj”=hô]rž=hýXvarrŸ=…�r =}r¡=(hÙUhÚj™=ubahæjlubhýX …�r¢=}r£=(hÙX hÚj”=ubjb)�r¤=}r¥=(hÙXSemiHostSupporthè}r¦=(hê]hë]r§=Unamer¨=ahì]hí]hð]uhÚj”=hô]r©=hýXSemiHostSupportrª=…�r«=}r¬=(hÙUhÚj¤=ubahæjlubhýX …�r­=}r®=(hÙX hÚj”=ubjb)�r¯=}r°=(hÙX=hè}r±=(hê]hë]r²=Uoperatorr³=ahì]hí]hð]uhÚj”=hô]r´=hýX=…�rµ=}r¶=(hÙUhÚj¯=ubahæjlubhýX …�r·=}r¸=(hÙX hÚj”=ubjb)�r¹=}rº=(hÙXxdchè}r»=(hê]hë]r¼=Unamer½=ahì]hí]hð]uhÚj”=hô]r¾=hýXxdcr¿=…�rÀ=}rÁ=(hÙUhÚj¹=ubahæjlubjb)�rÂ=}rÃ=(hÙX.hè}rÄ=(hê]hë]rÅ=U punctuationrÆ=ahì]hí]hð]uhÚj”=hô]rÇ=hýX.…�rÈ=}rÉ=(hÙUhÚjÂ=ubahæjlubjb)�rÊ=}rË=(hÙX useModulehè}rÌ=(hê]hë]rÍ=UnamerÎ=ahì]hí]hð]uhÚj”=hô]rÏ=hýX useModulerÐ=…�rÑ=}rÒ=(hÙUhÚjÊ=ubahæjlubjb)�rÓ=}rÔ=(hÙX(hè}rÕ=(hê]hë]rÖ=U punctuationr×=ahì]hí]hð]uhÚj”=hô]rØ=hýX(…�rÙ=}rÚ=(hÙUhÚjÓ=ubahæjlubjb)�rÛ=}rÜ=(hÙX'hè}rÝ=(hê]hë]rÞ=Uerrorrß=ahì]hí]hð]uhÚj”=hô]rà=hýX'…�rá=}râ=(hÙUhÚjÛ=ubahæjlubjb)�rã=}rä=(hÙXtihè}rå=(hê]hë]ræ=Unamerç=ahì]hí]hð]uhÚj”=hô]rè=hýXtiré=…�rê=}rë=(hÙUhÚjã=ubahæjlubjb)�rì=}rí=(hÙX.hè}rî=(hê]hë]rï=U punctuationrð=ahì]hí]hð]uhÚj”=hô]rñ=hýX.…�rò=}ró=(hÙUhÚjì=ubahæjlubjb)�rô=}rõ=(hÙXsysbioshè}rö=(hê]hë]r÷=Unamerø=ahì]hí]hð]uhÚj”=hô]rù=hýXsysbiosrú=…�rû=}rü=(hÙUhÚjô=ubahæjlubjb)�rý=}rþ=(hÙX.hè}rÿ=(hê]hë]r>U punctuationr>ahì]hí]hð]uhÚj”=hô]r>hýX.…�r>}r>(hÙUhÚjý=ubahæjlubjb)�r>}r>(hÙXrtshè}r>(hê]hë]r>Unamer >ahì]hí]hð]uhÚj”=hô]r >hýXrtsr >…�r >}r >(hÙUhÚj>ubahæjlubjb)�r>}r>(hÙX.hè}r>(hê]hë]r>U punctuationr>ahì]hí]hð]uhÚj”=hô]r>hýX.…�r>}r>(hÙUhÚj>ubahæjlubjb)�r>}r>(hÙXgnuhè}r>(hê]hë]r>Unamer>ahì]hí]hð]uhÚj”=hô]r>hýXgnur>…�r>}r>(hÙUhÚj>ubahæjlubjb)�r>}r >(hÙX.hè}r!>(hê]hë]r">U punctuationr#>ahì]hí]hð]uhÚj”=hô]r$>hýX.…�r%>}r&>(hÙUhÚj>ubahæjlubjb)�r'>}r(>(hÙXSemiHostSupporthè}r)>(hê]hë]r*>Unamer+>ahì]hí]hð]uhÚj”=hô]r,>hýXSemiHostSupportr->…�r.>}r/>(hÙUhÚj'>ubahæjlubjb)�r0>}r1>(hÙX'hè}r2>(hê]hë]r3>Uerrorr4>ahì]hí]hð]uhÚj”=hô]r5>hýX'…�r6>}r7>(hÙUhÚj0>ubahæjlubjb)�r8>}r9>(hÙX);hè}r:>(hê]hë]r;>U punctuationr<>ahì]hí]hð]uhÚj”=hô]r=>hýX);r>>…�r?>}r@>(hÙUhÚj8>ubahæjlubeubjÅ;)�rA>}rB>(hÙX
hÚjì<häjó:hæjÈ;hè}rC>(UformatXhtmljjhí]hì]hê]hë]hð]uhòK½hóhhô]rD>hýX
rE>…�rF>}rG>(hÙUhÚjA>ubaubjÅ;)�rH>}rI>(hÙX
hÚjì<häjó:hæjÈ;hè}rJ>(UformatXhtmljjhí]hì]hê]hë]hð]uhòKÁhóhhô]rK>hýX
rL>…�rM>}rN>(hÙUhÚjH>ubaubj))�rO>}rP>(hÙXoYou also need to replace the nosys library in linker with rdimon which is the Semi-Hosting enabled BSP library.hÚjì<häjó:hæj,hè}rQ>(hê]hë]hì]hí]hð]uhòNhóhhô]rR>j/)�rS>}rT>(hÙXoYou also need to replace the nosys library in linker with rdimon which is the Semi-Hosting enabled BSP library.rU>hÚjO>häjó:hæj3hè}rV>(hê]hë]hì]hí]hð]uhòKÆhô]rW>hýXoYou also need to replace the nosys library in linker with rdimon which is the Semi-Hosting enabled BSP library.rX>…�rY>}rZ>(hÙjU>hÚjS>ubaubaubj/)�r[>}r\>(hÙXXRight click on project --> Show Build Settings... --> Build --> GNU Linker --> Librariesr]>hÚjì<häjó:hæj3hè}r^>(hê]hë]hì]hí]hð]uhòKÉhóhhô]r_>hýXXRight click on project --> Show Build Settings... --> Build --> GNU Linker --> Librariesr`>…�ra>}rb>(hÙj]>hÚj[>ubaubj/)�rc>}rd>(hÙXW9. Build Hello Example project by Right click on Hello Project and click Build project.re>hÚjì<häjó:hæj3hè}rf>(hê]hë]hì]hí]hð]uhòKÌhóhhô]rg>hýXW9. Build Hello Example project by Right click on Hello Project and click Build project.rh>…�ri>}rj>(hÙje>hÚjc>ubaubj/)�rk>}rl>(hÙX­10. Create new target configuration (if one doesn`t exist) as described here :ref:`Create Target Configuration File for EVM `hÚjì<häjó:hæj3hè}rm>(hê]hë]hì]hí]hð]uhòKÏhóhhô]rn>(hýXM10. Create new target configuration (if one doesn`t exist) as described here ro>…�rp>}rq>(hÙXM10. Create new target configuration (if one doesn`t exist) as described here hÚjk>ubjZ)�rr>}rs>(hÙX`:ref:`Create Target Configuration File for EVM `rt>hÚjk>häjó:hæj^hè}ru>(UreftypeXrefj¢ ˆj£ X.create-target-configuration-file-for-evm-labelU refdomainXstdrv>hí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòKÏhô]rw>jb)�rx>}ry>(hÙjt>hè}rz>(hê]hë]r{>(j­ jv>Xstd-refr|>ehì]hí]hð]uhÚjr>hô]r}>hýX(Create Target Configuration File for EVMr~>…�r>}r€>(hÙUhÚjx>ubahæjlubaubeubj/)�r�>}r‚>(hÙXM11. Right click on the target configuration and Launch target configurations.rƒ>hÚjì<häjó:hæj3hè}r„>(hê]hë]hì]hí]hð]uhòKÒhóhhô]r…>hýXM11. Right click on the target configuration and Launch target configurations.r†>…�r‡>}rˆ>(hÙjƒ>hÚj�>ubaubj¼)�r‰>}rŠ>(hÙUhÚjì<häjó:hæj¿hè}r‹>(jÁU.jf5K hí]hì]hê]jÂUhë]hð]jÃjÄuhòKÕhóhhô]rŒ>jX)�r�>}rŽ>(hÙX+Right click CortexA9_0 and connect target. hÚj‰>häjó:hæj[hè}r�>(hê]hë]hì]hí]hð]uhòNhóhhô]r�>j/)�r‘>}r’>(hÙX*Right click CortexA9_0 and connect target.r“>hÚj�>häjó:hæj3hè}r”>(hê]hë]hì]hí]hð]uhòKÕhô]r•>hýX*Right click CortexA9_0 and connect target.r–>…�r—>}r˜>(hÙj“>hÚj‘>ubaubaubaubj/)�r™>}rš>(hÙXk13. Load and run Hello Example out file. You should see **Hello World** string displayed on console window.hÚjì<häjó:hæj3hè}r›>(hê]hë]hì]hí]hð]uhòK×hóhhô]rœ>(hýX813. Load and run Hello Example out file. You should see r�>…�rž>}rŸ>(hÙX813. Load and run Hello Example out file. You should see hÚj™>ubjW)�r >}r¡>(hÙX**Hello World**hè}r¢>(hê]hë]hì]hí]hð]uhÚj™>hô]r£>hýX Hello Worldr¤>…�r¥>}r¦>(hÙUhÚj >ubahæj_ubhýX$ string displayed on console window.r§>…�r¨>}r©>(hÙX$ string displayed on console window.hÚj™>ubeubjÎ)�rª>}r«>(hÙUhÚjì<häjó:hæjÑhè}r¬>(hê]hë]hì]hí]hð]uhòKÚhóhhô]r­>jÔ)�r®>}r¯>(hÙUj×KhÚjª>häjó:hæhòhè}r°>(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubhÛ)�r±>}r²>(hÙUjKhÚjá:häjó:hæhçhè}r³>(hê]r´>X arm cortex-a8rµ>ahë]hì]hí]r¶>U arm-cortex-a8r·>ahð]uhòKÝhóhhô]r¸>(hö)�r¹>}rº>(hÙX ARM Cortex-A8r»>hÚj±>häjó:hæhúhè}r¼>(hê]hë]hì]hí]hð]uhòKÝhóhhô]r½>hýX ARM Cortex-A8r¾>…�r¿>}rÀ>(hÙj»>hÚj¹>ubaubj/)�rÁ>}rÂ>(hÙX‡The hello example serves as a basic sanity check program for SYS/BIOS. It demonstrates how to print the string 'hello world' to stdout.rÃ>hÚj±>häjó:hæj3hè}rÄ>(hê]hë]hì]hí]hð]uhòKßhóhhô]rÅ>hýX‡The hello example serves as a basic sanity check program for SYS/BIOS. It demonstrates how to print the string 'hello world' to stdout.rÆ>…�rÇ>}rÈ>(hÙjÃ>hÚjÁ>ubaubj/)�rÉ>}rÊ>(hÙXÞ1. Create a work space folder (\\ti\\am_335x_hello_workspace) under ti folder to be used for Hello Example project, and start CCS. You may be prompted with **New Products Discovered**, so select all and **click on Finish**hÚj±>häjó:hæj3hè}rË>(hê]hë]hì]hí]hð]uhòKâhóhhô]rÌ>(hýXš1. Create a work space folder (\ti\am_335x_hello_workspace) under ti folder to be used for Hello Example project, and start CCS. You may be prompted with rÍ>…�rÎ>}rÏ>(hÙXœ1. Create a work space folder (\\ti\\am_335x_hello_workspace) under ti folder to be used for Hello Example project, and start CCS. You may be prompted with hÚjÉ>ubjW)�rÐ>}rÑ>(hÙX**New Products Discovered**hè}rÒ>(hê]hë]hì]hí]hð]uhÚjÉ>hô]rÓ>hýXNew Products DiscoveredrÔ>…�rÕ>}rÖ>(hÙUhÚjÐ>ubahæj_ubhýX, so select all and r×>…�rØ>}rÙ>(hÙX, so select all and hÚjÉ>ubjW)�rÚ>}rÛ>(hÙX**click on Finish**hè}rÜ>(hê]hë]hì]hí]hð]uhÚjÉ>hô]rÝ>hýXclick on FinishrÞ>…�rß>}rà>(hÙUhÚjÚ>ubahæj_ubeubj/)�rá>}râ>(hÙX62. On CCS click View --> Resource Explorer (Examples).rã>hÚj±>häjó:hæj3hè}rä>(hê]hë]hì]hí]hð]uhòKçhóhhô]rå>hýX62. On CCS click View --> Resource Explorer (Examples).ræ>…�rç>}rè>(hÙjã>hÚjá>ubaubj/)�ré>}rê>(hÙXa3. On SYS/BIOS scroll down to AM3352 --> Cortex A --> Generic Example --> click on Hello Example.rë>hÚj±>häjó:hæj3hè}rì>(hê]hë]hì]hí]hð]uhòKêhóhhô]rí>hýXa3. On SYS/BIOS scroll down to AM3352 --> Cortex A --> Generic Example --> click on Hello Example.rî>…�rï>}rð>(hÙjë>hÚjé>ubaubj)�rñ>}rò>(hÙX2.. Image:: ../images/RTOS_CortexA8_HelloWorld.png hÚj±>häjó:hæjhè}ró>(UuriX+rtos/../images/RTOS_CortexA8_HelloWorld.pngrô>hí]hì]hê]hë]j}rõ>U*jô>shð]uhòKîhóhhô]ubj/)�rö>}r÷>(hÙXc4. To import Hello Example, on the right window click on step 1. Import The Example to CCS Project.rø>hÚj±>häjó:hæj3hè}rù>(hê]hë]hì]hí]hð]uhòKïhóhhô]rú>hýXc4. To import Hello Example, on the right window click on step 1. Import The Example to CCS Project.rû>…�rü>}rý>(hÙjø>hÚjö>ubaubj/)�rþ>}rÿ>(hÙXD5. On New CCS Project window enter project name and then click Next.r?hÚj±>häjó:hæj3hè}r?(hê]hë]hì]hí]hð]uhòKòhóhhô]r?hýXD5. On New CCS Project window enter project name and then click Next.r?…�r?}r?(hÙj?hÚjþ>ubaubj)�r?}r?(hÙX-.. Image:: ../images/HelloWorld_cortexA8.png hÚj±>häjó:hæjhè}r?(UuriX&rtos/../images/HelloWorld_cortexA8.pngr ?hí]hì]hê]hë]j}r ?U*j ?shð]uhòKöhóhhô]ubj/)�r ?}r ?(hÙX~6. On RSTC window select platform name: **ti.platforms.evmAM335X** and check that the target is set to **gnu.targets.arm.A8F**hÚj±>häjó:hæj3hè}r ?(hê]hë]hì]hí]hð]uhòK÷hóhhô]r?(hýX(6. On RSTC window select platform name: r?…�r?}r?(hÙX(6. On RSTC window select platform name: hÚj ?ubjW)�r?}r?(hÙX**ti.platforms.evmAM335X**hè}r?(hê]hë]hì]hí]hð]uhÚj ?hô]r?hýXti.platforms.evmAM335Xr?…�r?}r?(hÙUhÚj?ubahæj_ubhýX% and check that the target is set to r?…�r?}r?(hÙX% and check that the target is set to hÚj ?ubjW)�r?}r?(hÙX**gnu.targets.arm.A8F**hè}r?(hê]hë]hì]hí]hð]uhÚj ?hô]r?hýXgnu.targets.arm.A8Fr ?…�r!?}r"?(hÙUhÚj?ubahæj_ubeubj/)�r#?}r$?(hÙXH7. Click Finish. Your project should show up on Project Explorer window.r%?hÚj±>häjó:hæj3hè}r&?(hê]hë]hì]hí]hð]uhòKúhóhhô]r'?hýXH7. Click Finish. Your project should show up on Project Explorer window.r(?…�r)?}r*?(hÙj%?hÚj#?ubaubj/)�r+?}r,?(hÙXN8. To get log message to print on console add this variable to hello.cfg file:r-?hÚj±>häjó:hæj3hè}r.?(hê]hë]hì]hí]hð]uhòKýhóhhô]r/?hýXN8. To get log message to print on console add this variable to hello.cfg file:r0?…�r1?}r2?(hÙj-?hÚj+?ubaubjÅ;)�r3?}r4?(hÙX7
hÚj±>häjó:hæjÈ;hè}r5?(UformatXhtmljjhí]hì]hê]hë]hð]uhòMhóhhô]r6?hýX7
r7?…�r8?}r9?(hÙUhÚj3?ubaubjÅ;)�r:?}r;?(hÙX
hÚj±>häjó:hæjÈ;hè}rr>?…�r??}r@?(hÙUhÚj:?ubaubjË)�rA?}rB?(hÙXJvar SemiHostSupport = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');hÚj±>häjó:hæjÎhè}rC?(jjhí]hì]hê]hë]rD?(jÙ;Xcehð]uhòM hóhhô]rE?(jb)�rF?}rG?(hÙXvarhè}rH?(hê]hë]rI?UnamerJ?ahì]hí]hð]uhÚjA?hô]rK?hýXvarrL?…�rM?}rN?(hÙUhÚjF?ubahæjlubhýX …�rO?}rP?(hÙX hÚjA?ubjb)�rQ?}rR?(hÙXSemiHostSupporthè}rS?(hê]hë]rT?UnamerU?ahì]hí]hð]uhÚjA?hô]rV?hýXSemiHostSupportrW?…�rX?}rY?(hÙUhÚjQ?ubahæjlubhýX …�rZ?}r[?(hÙX hÚjA?ubjb)�r\?}r]?(hÙX=hè}r^?(hê]hë]r_?Uoperatorr`?ahì]hí]hð]uhÚjA?hô]ra?hýX=…�rb?}rc?(hÙUhÚj\?ubahæjlubhýX …�rd?}re?(hÙX hÚjA?ubjb)�rf?}rg?(hÙXxdchè}rh?(hê]hë]ri?Unamerj?ahì]hí]hð]uhÚjA?hô]rk?hýXxdcrl?…�rm?}rn?(hÙUhÚjf?ubahæjlubjb)�ro?}rp?(hÙX.hè}rq?(hê]hë]rr?U punctuationrs?ahì]hí]hð]uhÚjA?hô]rt?hýX.…�ru?}rv?(hÙUhÚjo?ubahæjlubjb)�rw?}rx?(hÙX useModulehè}ry?(hê]hë]rz?Unamer{?ahì]hí]hð]uhÚjA?hô]r|?hýX useModuler}?…�r~?}r?(hÙUhÚjw?ubahæjlubjb)�r€?}r�?(hÙX(hè}r‚?(hê]hë]rƒ?U punctuationr„?ahì]hí]hð]uhÚjA?hô]r…?hýX(…�r†?}r‡?(hÙUhÚj€?ubahæjlubjb)�rˆ?}r‰?(hÙX'hè}rŠ?(hê]hë]r‹?UerrorrŒ?ahì]hí]hð]uhÚjA?hô]r�?hýX'…�rŽ?}r�?(hÙUhÚjˆ?ubahæjlubjb)�r�?}r‘?(hÙXtihè}r’?(hê]hë]r“?Unamer”?ahì]hí]hð]uhÚjA?hô]r•?hýXtir–?…�r—?}r˜?(hÙUhÚj�?ubahæjlubjb)�r™?}rš?(hÙX.hè}r›?(hê]hë]rœ?U punctuationr�?ahì]hí]hð]uhÚjA?hô]rž?hýX.…�rŸ?}r ?(hÙUhÚj™?ubahæjlubjb)�r¡?}r¢?(hÙXsysbioshè}r£?(hê]hë]r¤?Unamer¥?ahì]hí]hð]uhÚjA?hô]r¦?hýXsysbiosr§?…�r¨?}r©?(hÙUhÚj¡?ubahæjlubjb)�rª?}r«?(hÙX.hè}r¬?(hê]hë]r­?U punctuationr®?ahì]hí]hð]uhÚjA?hô]r¯?hýX.…�r°?}r±?(hÙUhÚjª?ubahæjlubjb)�r²?}r³?(hÙXrtshè}r´?(hê]hë]rµ?Unamer¶?ahì]hí]hð]uhÚjA?hô]r·?hýXrtsr¸?…�r¹?}rº?(hÙUhÚj²?ubahæjlubjb)�r»?}r¼?(hÙX.hè}r½?(hê]hë]r¾?U punctuationr¿?ahì]hí]hð]uhÚjA?hô]rÀ?hýX.…�rÁ?}rÂ?(hÙUhÚj»?ubahæjlubjb)�rÃ?}rÄ?(hÙXgnuhè}rÅ?(hê]hë]rÆ?UnamerÇ?ahì]hí]hð]uhÚjA?hô]rÈ?hýXgnurÉ?…�rÊ?}rË?(hÙUhÚjÃ?ubahæjlubjb)�rÌ?}rÍ?(hÙX.hè}rÎ?(hê]hë]rÏ?U punctuationrÐ?ahì]hí]hð]uhÚjA?hô]rÑ?hýX.…�rÒ?}rÓ?(hÙUhÚjÌ?ubahæjlubjb)�rÔ?}rÕ?(hÙXSemiHostSupporthè}rÖ?(hê]hë]r×?UnamerØ?ahì]hí]hð]uhÚjA?hô]rÙ?hýXSemiHostSupportrÚ?…�rÛ?}rÜ?(hÙUhÚjÔ?ubahæjlubjb)�rÝ?}rÞ?(hÙX'hè}rß?(hê]hë]rà?Uerrorrá?ahì]hí]hð]uhÚjA?hô]râ?hýX'…�rã?}rä?(hÙUhÚjÝ?ubahæjlubjb)�rå?}ræ?(hÙX);hè}rç?(hê]hë]rè?U punctuationré?ahì]hí]hð]uhÚjA?hô]rê?hýX);rë?…�rì?}rí?(hÙUhÚjå?ubahæjlubeubjÅ;)�rî?}rï?(hÙX
hÚj±>häjó:hæjÈ;hè}rð?(UformatXhtmljjhí]hì]hê]hë]hð]uhòM hóhhô]rñ?hýX
rò?…�ró?}rô?(hÙUhÚjî?ubaubjÅ;)�rõ?}rö?(hÙX
hÚj±>häjó:hæjÈ;hè}r÷?(UformatXhtmljjhí]hì]hê]hë]hð]uhòMhóhhô]rø?hýX
rù?…�rú?}rû?(hÙUhÚjõ?ubaubj))�rü?}rý?(hÙXoYou also need to replace the nosys library in linker with rdimon which is the Semi-Hosting enabled BSP library.hÚj±>häjó:hæj,hè}rþ?(hê]hë]hì]hí]hð]uhòNhóhhô]rÿ?j/)�r@}r@(hÙXoYou also need to replace the nosys library in linker with rdimon which is the Semi-Hosting enabled BSP library.r@hÚjü?häjó:hæj3hè}r@(hê]hë]hì]hí]hð]uhòMhô]r@hýXoYou also need to replace the nosys library in linker with rdimon which is the Semi-Hosting enabled BSP library.r@…�r@}r@(hÙj@hÚj@ubaubaubj/)�r@}r @(hÙXXRight click on project --> Show Build Settings... --> Build --> GNU Linker --> Librariesr @hÚj±>häjó:hæj3hè}r @(hê]hë]hì]hí]hð]uhòMhóhhô]r @hýXXRight click on project --> Show Build Settings... --> Build --> GNU Linker --> Librariesr @…�r@}r@(hÙj @hÚj@ubaubj/)�r@}r@(hÙXW9. Build Hello Example project by Right click on Hello Project and click Build project.r@hÚj±>häjó:hæj3hè}r@(hê]hë]hì]hí]hð]uhòMhóhhô]r@hýXW9. Build Hello Example project by Right click on Hello Project and click Build project.r@…�r@}r@(hÙj@hÚj@ubaubj/)�r@}r@(hÙX­10. Create new target configuration (if one doesn`t exist) as described here :ref:`Create Target Configuration File for EVM `hÚj±>häjó:hæj3hè}r@(hê]hë]hì]hí]hð]uhòMhóhhô]r@(hýXM10. Create new target configuration (if one doesn`t exist) as described here r@…�r@}r@(hÙXM10. Create new target configuration (if one doesn`t exist) as described here hÚj@ubjZ)�r@}r @(hÙX`:ref:`Create Target Configuration File for EVM `r!@hÚj@häjó:hæj^hè}r"@(UreftypeXrefj¢ ˆj£ X.create-target-configuration-file-for-evm-labelU refdomainXstdr#@hí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòMhô]r$@jb)�r%@}r&@(hÙj!@hè}r'@(hê]hë]r(@(j­ j#@Xstd-refr)@ehì]hí]hð]uhÚj@hô]r*@hýX(Create Target Configuration File for EVMr+@…�r,@}r-@(hÙUhÚj%@ubahæjlubaubeubj/)�r.@}r/@(hÙXM11. Right click on the target configuration and Launch target configurations.r0@hÚj±>häjó:hæj3hè}r1@(hê]hë]hì]hí]hð]uhòM!hóhhô]r2@hýXM11. Right click on the target configuration and Launch target configurations.r3@…�r4@}r5@(hÙj0@hÚj.@ubaubj¼)�r6@}r7@(hÙUhÚj±>häjó:hæj¿hè}r8@(jÁU.jf5K hí]hì]hê]jÂUhë]hð]jÃjÄuhòM$hóhhô]r9@jX)�r:@}r;@(hÙX+Right click CortexA8_0 and connect target. hÚj6@häjó:hæj[hè}r<@(hê]hë]hì]hí]hð]uhòNhóhhô]r=@j/)�r>@}r?@(hÙX*Right click CortexA8_0 and connect target.r@@hÚj:@häjó:hæj3hè}rA@(hê]hë]hì]hí]hð]uhòM$hô]rB@hýX*Right click CortexA8_0 and connect target.rC@…�rD@}rE@(hÙj@@hÚj>@ubaubaubaubj/)�rF@}rG@(hÙXk13. Load and run Hello Example out file. You should see **Hello World** string displayed on console window.hÚj±>häjó:hæj3hè}rH@(hê]hë]hì]hí]hð]uhòM&hóhhô]rI@(hýX813. Load and run Hello Example out file. You should see rJ@…�rK@}rL@(hÙX813. Load and run Hello Example out file. You should see hÚjF@ubjW)�rM@}rN@(hÙX**Hello World**hè}rO@(hê]hë]hì]hí]hð]uhÚjF@hô]rP@hýX Hello WorldrQ@…�rR@}rS@(hÙUhÚjM@ubahæj_ubhýX$ string displayed on console window.rT@…�rU@}rV@(hÙX$ string displayed on console window.hÚjF@ubeubjÎ)�rW@}rX@(hÙUhÚj±>häjó:hæjÑhè}rY@(hê]hë]hì]hí]hð]uhòM)hóhhô]rZ@jÔ)�r[@}r\@(hÙUj×KhÚjW@häjó:hæhòhè}r]@(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubhÛ)�r^@}r_@(hÙUjKhÚjá:häjó:hæhçhè}r`@(hê]ra@X arm cortex-r5rb@ahë]hì]hí]rc@U arm-cortex-r5rd@ahð]uhòM,hóhhô]re@(hö)�rf@}rg@(hÙX ARM Cortex-R5rh@hÚj^@häjó:hæhúhè}ri@(hê]hë]hì]hí]hð]uhòM,hóhhô]rj@hýX ARM Cortex-R5rk@…�rl@}rm@(hÙjh@hÚjf@ubaubj/)�rn@}ro@(hÙX‡The hello example serves as a basic sanity check program for SYS/BIOS. It demonstrates how to print the string 'hello world' to stdout.rp@hÚj^@häjó:hæj3hè}rq@(hê]hë]hì]hí]hð]uhòM.hóhhô]rr@hýX‡The hello example serves as a basic sanity check program for SYS/BIOS. It demonstrates how to print the string 'hello world' to stdout.rs@…�rt@}ru@(hÙjp@hÚjn@ubaubj/)�rv@}rw@(hÙXÝ1. Create a work space folder (/ti/am65x_r5_hello_workspace) under ti folder to be used for Hello Example project, and start CCS. You may be prompted with **New Products Discovered**, so select all and **click on Finish**hÚj^@häjó:hæj3hè}rx@(hê]hë]hì]hí]hð]uhòM1hóhhô]ry@(hýX›1. Create a work space folder (/ti/am65x_r5_hello_workspace) under ti folder to be used for Hello Example project, and start CCS. You may be prompted with rz@…�r{@}r|@(hÙX›1. Create a work space folder (/ti/am65x_r5_hello_workspace) under ti folder to be used for Hello Example project, and start CCS. You may be prompted with hÚjv@ubjW)�r}@}r~@(hÙX**New Products Discovered**hè}r@(hê]hë]hì]hí]hð]uhÚjv@hô]r€@hýXNew Products Discoveredr�@…�r‚@}rƒ@(hÙUhÚj}@ubahæj_ubhýX, so select all and r„@…�r…@}r†@(hÙX, so select all and hÚjv@ubjW)�r‡@}rˆ@(hÙX**click on Finish**hè}r‰@(hê]hë]hì]hí]hð]uhÚjv@hô]rŠ@hýXclick on Finishr‹@…�rŒ@}r�@(hÙUhÚj‡@ubahæj_ubeubj/)�rŽ@}r�@(hÙX'2. Select File --> New --> CCS Project.r�@hÚj^@häjó:hæj3hè}r‘@(hê]hë]hì]hí]hð]uhòM6hóhhô]r’@hýX'2. Select File --> New --> CCS Project.r“@…�r”@}r•@(hÙj�@hÚjŽ@ubaubj/)�r–@}r—@(hÙX3. Select Target: AM6548.r˜@hÚj^@häjó:hæj3hè}r™@(hê]hë]hì]hí]hð]uhòM9hóhhô]rš@hýX3. Select Target: AM6548.r›@…�rœ@}r�@(hÙj˜@hÚj–@ubaubj/)�rž@}rŸ@(hÙX4. Select Cortex R [ARM] tab.r @hÚj^@häjó:hæj3hè}r¡@(hê]hë]hì]hí]hð]uhòM<hóhhô]r¢@hýX4. Select Cortex R [ARM] tab.r£@…�r¤@}r¥@(hÙj @hÚjž@ubaubj/)�r¦@}r§@(hÙXt5. Under Project templates and examples, expand SYS/BIOS. Expand More Examples..., click Search using Import Wizard.r¨@hÚj^@häjó:hæj3hè}r©@(hê]hë]hì]hí]hð]uhòM?hóhhô]rª@hýXt5. Under Project templates and examples, expand SYS/BIOS. Expand More Examples..., click Search using Import Wizard.r«@…�r¬@}r­@(hÙj¨@hÚj¦@ubaubj/)�r®@}r¯@(hÙX(6. Select "hello" project, click Finish.r°@hÚj^@häjó:hæj3hè}r±@(hê]hë]hì]hí]hð]uhòMBhóhhô]r²@hýX(6. Select "hello" project, click Finish.r³@…�r´@}rµ@(hÙj°@hÚj®@ubaubj/)�r¶@}r·@(hÙX�7. Launch the target configuration using the appropriate emulator to connect to AM65x EVM as described in the AM65x EVM Hardware Setup Guide.r¸@hÚj^@häjó:hæj3hè}r¹@(hê]hë]hì]hí]hð]uhòMEhóhhô]rº@hýX�7. Launch the target configuration using the appropriate emulator to connect to AM65x EVM as described in the AM65x EVM Hardware Setup Guide.r»@…�r¼@}r½@(hÙj¸@hÚj¶@ubaubj/)�r¾@}r¿@(hÙX<8. Right click on DMSC_Cortex_M3_0 and click Connect Target.rÀ@hÚj^@häjó:hæj3hè}rÁ@(hê]hë]hì]hí]hð]uhòMHhóhhô]rÂ@hýX<8. Right click on DMSC_Cortex_M3_0 and click Connect Target.rÃ@…�rÄ@}rÅ@(hÙjÀ@hÚj¾@ubaubj/)�rÆ@}rÇ@(hÙX’9. Connect to the MCU_PULSAR_Cortex_R5_0 core. Load and run Hello Example out file. You should see Hello World string displayed on console window.rÈ@hÚj^@häjó:hæj3hè}rÉ@(hê]hë]hì]hí]hð]uhòMKhóhhô]rÊ@hýX’9. Connect to the MCU_PULSAR_Cortex_R5_0 core. Load and run Hello Example out file. You should see Hello World string displayed on console window.rË@…�rÌ@}rÍ@(hÙjÈ@hÚjÆ@ubaubeubhÛ)�rÎ@}rÏ@(hÙUjKhÚjá:häjó:hæhçhè}rÐ@(hê]rÑ@X arm cortex-m4rÒ@ahë]hì]hí]rÓ@U arm-cortex-m4rÔ@ahð]uhòMPhóhhô]rÕ@(hö)�rÖ@}r×@(hÙX ARM Cortex-M4rØ@hÚjÎ@häjó:hæhúhè}rÙ@(hê]hë]hì]hí]hð]uhòMPhóhhô]rÚ@hýX ARM Cortex-M4rÛ@…�rÜ@}rÝ@(hÙjØ@hÚjÖ@ubaubj/)�rÞ@}rß@(hÙX‡The hello example serves as a basic sanity check program for SYS/BIOS. It demonstrates how to print the string 'hello world' to stdout.rà@hÚjÎ@häjó:hæj3hè}rá@(hê]hë]hì]hí]hð]uhòMRhóhhô]râ@hýX‡The hello example serves as a basic sanity check program for SYS/BIOS. It demonstrates how to print the string 'hello world' to stdout.rã@…�rä@}rå@(hÙjà@hÚjÞ@ubaubj/)�ræ@}rç@(hÙXÜ1. Create a work space folder (/ti/am_572x_hello_workspace) under ti folder to be used for Hello Example project, and start CCS. You may be prompted with **New Products Discovered**, so select all and **click on Finish**hÚjÎ@häjó:hæj3hè}rè@(hê]hë]hì]hí]hð]uhòMUhóhhô]ré@(hýXš1. Create a work space folder (/ti/am_572x_hello_workspace) under ti folder to be used for Hello Example project, and start CCS. You may be prompted with rê@…�rë@}rì@(hÙXš1. Create a work space folder (/ti/am_572x_hello_workspace) under ti folder to be used for Hello Example project, and start CCS. You may be prompted with hÚjæ@ubjW)�rí@}rî@(hÙX**New Products Discovered**hè}rï@(hê]hë]hì]hí]hð]uhÚjæ@hô]rð@hýXNew Products Discoveredrñ@…�rò@}ró@(hÙUhÚjí@ubahæj_ubhýX, so select all and rô@…�rõ@}rö@(hÙX, so select all and hÚjæ@ubjW)�r÷@}rø@(hÙX**click on Finish**hè}rù@(hê]hë]hì]hí]hð]uhÚjæ@hô]rú@hýXclick on Finishrû@…�rü@}rý@(hÙUhÚj÷@ubahæj_ubeubj/)�rþ@}rÿ@(hÙX62. On CCS click View --> Resource Explorer (Examples).rAhÚjÎ@häjó:hæj3hè}rA(hê]hë]hì]hí]hð]uhòMZhóhhô]rAhýX62. On CCS click View --> Resource Explorer (Examples).rA…�rA}rA(hÙjAhÚjþ@ubaubj/)�rA}rA(hÙXa3. on SYS/BIOS scroll down to AM572X --> Cortex M --> Generic Example --> click on Hello Example.rAhÚjÎ@häjó:hæj3hè}r A(hê]hë]hì]hí]hð]uhòM]hóhhô]r AhýXa3. on SYS/BIOS scroll down to AM572X --> Cortex M --> Generic Example --> click on Hello Example.r A…�r A}r A(hÙjAhÚjAubaubj)�rA}rA(hÙX9.. Image:: ../images/SYSBIOS_hello_world_M4_template.jpg hÚjÎ@häjó:hæjhè}rA(UuriX2rtos/../images/SYSBIOS_hello_world_M4_template.jpgrAhí]hì]hê]hë]j}rAU*jAshð]uhòMahóhhô]ubj/)�rA}rA(hÙXc4. To import Hello Example, on the right window click on step 1. Import The Example to CCS Project.rAhÚjÎ@häjó:hæj3hè}rA(hê]hë]hì]hí]hð]uhòMbhóhhô]rAhýXc4. To import Hello Example, on the right window click on step 1. Import The Example to CCS Project.rA…�rA}rA(hÙjAhÚjAubaubj¼)�rA}rA(hÙUhÚjÎ@häjó:hæj¿hè}rA(jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòMehóhhô]rAjX)�rA}r A(hÙX?Go to Project Explorer window and click on project properties. hÚjAhäjó:hæj[hè}r!A(hê]hë]hì]hí]hð]uhòNhóhhô]r"Aj/)�r#A}r$A(hÙX>Go to Project Explorer window and click on project properties.r%AhÚjAhäjó:hæj3hè}r&A(hê]hë]hì]hí]hð]uhòMehô]r'AhýX>Go to Project Explorer window and click on project properties.r(A…�r)A}r*A(hÙj%AhÚj#Aubaubaubaubj)�r+A}r,A(hÙX3.. Image:: ../images/SYSBIOS_M4_platformSelect.jpg hÚjÎ@häjó:hæjhè}r-A(UuriX,rtos/../images/SYSBIOS_M4_platformSelect.jpgr.Ahí]hì]hê]hë]j}r/AU*j.Ashð]uhòMhhóhhô]ubj/)�r0A}r1A(hÙX�6. On RSTC window select platform name: **ti.platforms.evmAM572X** and check that the target is set to **gnu.targets.arm.elf.M4**hÚjÎ@häjó:hæj3hè}r2A(hê]hë]hì]hí]hð]uhòMihóhhô]r3A(hýX(6. On RSTC window select platform name: r4A…�r5A}r6A(hÙX(6. On RSTC window select platform name: hÚj0AubjW)�r7A}r8A(hÙX**ti.platforms.evmAM572X**hè}r9A(hê]hë]hì]hí]hð]uhÚj0Ahô]r:AhýXti.platforms.evmAM572Xr;A…�rA…�r?A}r@A(hÙX% and check that the target is set to hÚj0AubjW)�rAA}rBA(hÙX**gnu.targets.arm.elf.M4**hè}rCA(hê]hë]hì]hí]hð]uhÚj0Ahô]rDAhýXgnu.targets.arm.elf.M4rEA…�rFA}rGA(hÙUhÚjAAubahæj_ubeubj/)�rHA}rIA(hÙXH7. Click Finish. Your project should show up on Project Explorer window.rJAhÚjÎ@häjó:hæj3hè}rKA(hê]hë]hì]hí]hð]uhòMlhóhhô]rLAhýXH7. Click Finish. Your project should show up on Project Explorer window.rMA…�rNA}rOA(hÙjJAhÚjHAubaubj/)�rPA}rQA(hÙXW8. Build Hello Example project by Right click on Hello Project and click Build project.rRAhÚjÎ@häjó:hæj3hè}rSA(hê]hë]hì]hí]hð]uhòMohóhhô]rTAhýXW8. Build Hello Example project by Right click on Hello Project and click Build project.rUA…�rVA}rWA(hÙjRAhÚjPAubaubj/)�rXA}rYA(hÙXT9. Launch target configurations using appropriate emulator to connect to AM572X EVM.rZAhÚjÎ@häjó:hæj3hè}r[A(hê]hë]hì]hí]hð]uhòMrhóhhô]r\AhýXT9. Launch target configurations using appropriate emulator to connect to AM572X EVM.r]A…�r^A}r_A(hÙjZAhÚjXAubaubj/)�r`A}raA(hÙX¾10. Right click CortexA15_0 and connect target. From the Scripts menu select `AM572x Multicore Initialization->IPU1SSClkEnable_API `__.hÚjÎ@häjó:hæj3hè}rbA(hê]hë]hì]hí]hð]uhòMuhóhhô]rcA(hýXM10. Right click CortexA15_0 and connect target. From the Scripts menu select rdA…�reA}rfA(hÙXM10. Right click CortexA15_0 and connect target. From the Scripts menu select hÚj`Aubj)�rgA}rhA(hÙXp`AM572x Multicore Initialization->IPU1SSClkEnable_API `__hè}riA(UnameX4AM572x Multicore Initialization->IPU1SSClkEnable_APIjX5index_how_to_guides.html#connect-to-am57x-slave-coreshí]hì]hê]hë]hð]uhÚj`Ahô]rjAhýX4AM572x Multicore Initialization->IPU1SSClkEnable_APIrkA…�rlA}rmA(hÙUhÚjgAubahæjubhýX.…�rnA}roA(hÙX.hÚj`Aubeubj/)�rpA}rqA(hÙX�11. Connect to the Cortex_M4_IPU1_C0. Load and run Hello Example out file. You should see **Hello World** string displayed on console window.hÚjÎ@häjó:hæj3hè}rrA(hê]hë]hì]hí]hð]uhòMyhóhhô]rsA(hýXZ11. Connect to the Cortex_M4_IPU1_C0. Load and run Hello Example out file. You should see rtA…�ruA}rvA(hÙXZ11. Connect to the Cortex_M4_IPU1_C0. Load and run Hello Example out file. You should see hÚjpAubjW)�rwA}rxA(hÙX**Hello World**hè}ryA(hê]hë]hì]hí]hð]uhÚjpAhô]rzAhýX Hello Worldr{A…�r|A}r}A(hÙUhÚjwAubahæj_ubhýX$ string displayed on console window.r~A…�rA}r€A(hÙX$ string displayed on console window.hÚjpAubeubjÎ)�r�A}r‚A(hÙUhÚjÎ@häjó:hæjÑhè}rƒA(hê]hë]hì]hí]hð]uhòM|hóhhô]r„AjÔ)�r…A}r†A(hÙUj×KhÚj�Ahäjó:hæhòhè}r‡A(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubhÛ)�rˆA}r‰A(hÙUjKhÚjá:häjó:hæhçhè}rŠA(hê]r‹AXarm9rŒAahë]hì]hí]r�AUarm9rŽAahð]uhòMhóhhô]r�A(hö)�r�A}r‘A(hÙXARM9r’AhÚjˆAhäjó:hæhúhè}r“A(hê]hë]hì]hí]hð]uhòMhóhhô]r”AhýXARM9r•A…�r–A}r—A(hÙj’AhÚj�Aubaubj/)�r˜A}r™A(hÙXËThe hello example serves as a basic sanity check program for SYS/BIOS. It demonstrates how to print the string 'hello world' to stdout. As a sample we will use the OMAP-L138 device to describe the steps.ršAhÚjˆAhäjó:hæj3hè}r›A(hê]hë]hì]hí]hð]uhòM�hóhhô]rœAhýXËThe hello example serves as a basic sanity check program for SYS/BIOS. It demonstrates how to print the string 'hello world' to stdout. As a sample we will use the OMAP-L138 device to describe the steps.r�A…�ržA}rŸA(hÙjšAhÚj˜Aubaubj/)�r A}r¡A(hÙXÆ1. Create a workspace folder inside the ti folder to be used for the Hello Example project, and start CCS. You may be prompted with **New Products Discovered**, so select all and **click on Finish**hÚjˆAhäjó:hæj3hè}r¢A(hê]hë]hì]hí]hð]uhòM…hóhhô]r£A(hýX„1. Create a workspace folder inside the ti folder to be used for the Hello Example project, and start CCS. You may be prompted with r¤A…�r¥A}r¦A(hÙX„1. Create a workspace folder inside the ti folder to be used for the Hello Example project, and start CCS. You may be prompted with hÚj AubjW)�r§A}r¨A(hÙX**New Products Discovered**hè}r©A(hê]hë]hì]hí]hð]uhÚj Ahô]rªAhýXNew Products Discoveredr«A…�r¬A}r­A(hÙUhÚj§Aubahæj_ubhýX, so select all and r®A…�r¯A}r°A(hÙX, so select all and hÚj AubjW)�r±A}r²A(hÙX**click on Finish**hè}r³A(hê]hë]hì]hí]hð]uhÚj Ahô]r´AhýXclick on FinishrµA…�r¶A}r·A(hÙUhÚj±Aubahæj_ubeubj¼)�r¸A}r¹A(hÙUhÚjˆAhäjó:hæj¿hè}rºA(jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòMŠhóhhô]r»AjX)�r¼A}r½A(hÙX<On CCS click View --> Resource Explorer Classic (Examples). hÚj¸Ahäjó:hæj[hè}r¾A(hê]hë]hì]hí]hð]uhòNhóhhô]r¿Aj/)�rÀA}rÁA(hÙX;On CCS click View --> Resource Explorer Classic (Examples).rÂAhÚj¼Ahäjó:hæj3hè}rÃA(hê]hë]hì]hí]hð]uhòMŠhô]rÄAhýX;On CCS click View --> Resource Explorer Classic (Examples).rÅA…�rÆA}rÇA(hÙjÂAhÚjÀAubaubaubaubj/)�rÈA}rÉA(hÙX3. On SYS/BIOS scroll down to OMAP-L1x --> LCDKOMAPL138 --> TI Target Examples --> Generic Examples --> click on Hello Example.rÊAhÚjˆAhäjó:hæj3hè}rËA(hê]hë]hì]hí]hð]uhòMŒhóhhô]rÌAhýX3. On SYS/BIOS scroll down to OMAP-L1x --> LCDKOMAPL138 --> TI Target Examples --> Generic Examples --> click on Hello Example.rÍA…�rÎA}rÏA(hÙjÊAhÚjÈAubaubj)�rÐA}rÑA(hÙX8.. Image:: ../images/omapl13x_arm9_hello_rtos_tirex.png hÚjˆAhäjó:hæjhè}rÒA(UuriX1rtos/../images/omapl13x_arm9_hello_rtos_tirex.pngrÓAhí]hì]hê]hë]j}rÔAU*jÓAshð]uhòM�hóhhô]ubj/)�rÕA}rÖA(hÙXc4. To import Hello Example, on the right window click on step 1. Import The Example to CCS Project.r×AhÚjˆAhäjó:hæj3hè}rØA(hê]hë]hì]hí]hð]uhòM‘hóhhô]rÙAhýXc4. To import Hello Example, on the right window click on step 1. Import The Example to CCS Project.rÚA…�rÛA}rÜA(hÙj×AhÚjÕAubaubj¼)�rÝA}rÞA(hÙUhÚjˆAhäjó:hæj¿hè}rßA(jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòM”hóhhô]ràAjX)�ráA}râA(hÙXBOn New CCS Project window enter project name and then click Next. hÚjÝAhäjó:hæj[hè}rãA(hê]hë]hì]hí]hð]uhòNhóhhô]räAj/)�råA}ræA(hÙXAOn New CCS Project window enter project name and then click Next.rçAhÚjáAhäjó:hæj3hè}rèA(hê]hë]hì]hí]hð]uhòM”hô]réAhýXAOn New CCS Project window enter project name and then click Next.rêA…�rëA}rìA(hÙjçAhÚjåAubaubaubaubj)�ríA}rîA(hÙX6.. Image:: ../images/omapl13x_arm9_hello_rtos_ccs.png hÚjˆAhäjó:hæjhè}rïA(UuriX/rtos/../images/omapl13x_arm9_hello_rtos_ccs.pngrðAhí]hì]hê]hë]j}rñAU*jðAshð]uhòM—hóhhô]ubj/)�ròA}róA(hÙX„6. On RSTC window select platform name: **ti.platforms.evmOMAPL138** and check that the target is set to **ti.targets.arm.elf.Arm9**hÚjˆAhäjó:hæj3hè}rôA(hê]hë]hì]hí]hð]uhòM˜hóhhô]rõA(hýX(6. On RSTC window select platform name: röA…�r÷A}røA(hÙX(6. On RSTC window select platform name: hÚjòAubjW)�rùA}rúA(hÙX**ti.platforms.evmOMAPL138**hè}rûA(hê]hë]hì]hí]hð]uhÚjòAhô]rüAhýXti.platforms.evmOMAPL138rýA…�rþA}rÿA(hÙUhÚjùAubahæj_ubhýX% and check that the target is set to rB…�rB}rB(hÙX% and check that the target is set to hÚjòAubjW)�rB}rB(hÙX**ti.targets.arm.elf.Arm9**hè}rB(hê]hë]hì]hí]hð]uhÚjòAhô]rBhýXti.targets.arm.elf.Arm9rB…�rB}r B(hÙUhÚjBubahæj_ubeubj¼)�r B}r B(hÙUhÚjˆAhäjó:hæj¿hè}r B(jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòM›hóhhô]r BjX)�rB}rB(hÙXFClick Finish. Your project should show up on Project Explorer window. hÚj Bhäjó:hæj[hè}rB(hê]hë]hì]hí]hð]uhòNhóhhô]rBj/)�rB}rB(hÙXEClick Finish. Your project should show up on Project Explorer window.rBhÚjBhäjó:hæj3hè}rB(hê]hë]hì]hí]hð]uhòM›hô]rBhýXEClick Finish. Your project should show up on Project Explorer window.rB…�rB}rB(hÙjBhÚjBubaubaubaubj/)�rB}rB(hÙXW8. Build Hello Example project by Right click on Hello Project and click Build project.rBhÚjˆAhäjó:hæj3hè}rB(hê]hë]hì]hí]hð]uhòM�hóhhô]rBhýXW8. Build Hello Example project by Right click on Hello Project and click Build project.rB…�r B}r!B(hÙjBhÚjBubaubj/)�r"B}r#B(hÙX°9. Create new target configuration (if one doesn`t exist) as described in here :ref:`Create Target Configuration File for EVM `hÚjˆAhäjó:hæj3hè}r$B(hê]hë]hì]hí]hð]uhòM hóhhô]r%B(hýXO9. Create new target configuration (if one doesn`t exist) as described in here r&B…�r'B}r(B(hÙXO9. Create new target configuration (if one doesn`t exist) as described in here hÚj"BubjZ)�r)B}r*B(hÙXa:ref:`Create Target Configuration File for EVM `r+BhÚj"Bhäjó:hæj^hè}r,B(UreftypeXrefj¢ ˆj£ X/create-target-configuration-file-for-evm-label/U refdomainXstdr-Bhí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòM hô]r.Bjb)�r/B}r0B(hÙj+Bhè}r1B(hê]hë]r2B(j­ j-BXstd-refr3Behì]hí]hð]uhÚj)Bhô]r4BhýX(Create Target Configuration File for EVMr5B…�r6B}r7B(hÙUhÚj/Bubahæjlubaubeubj/)�r8B}r9B(hÙXM10. Right click on the target configuration and Launch target configurations.r:BhÚjˆAhäjó:hæj3hè}r;B(hê]hë]hì]hí]hð]uhòM£hóhhô]rB}r?B(hÙj:BhÚj8Bubaubj¼)�r@B}rAB(hÙUhÚjˆAhäjó:hæj¿hè}rBB(jÁU.jf5K hí]hì]hê]jÂUhë]hð]jÃjÄuhòM¦hóhhô]rCBjX)�rDB}rEB(hÙX'Right click ARM9_0 and connect target. hÚj@Bhäjó:hæj[hè}rFB(hê]hë]hì]hí]hð]uhòNhóhhô]rGBj/)�rHB}rIB(hÙX&Right click ARM9_0 and connect target.rJBhÚjDBhäjó:hæj3hè}rKB(hê]hë]hì]hí]hð]uhòM¦hô]rLBhýX&Right click ARM9_0 and connect target.rMB…�rNB}rOB(hÙjJBhÚjHBubaubaubaubj/)�rPB}rQB(hÙXo12. Load and run Hello Example out file. You should see **Hello World** string displayed on the console window.hÚjˆAhäjó:hæj3hè}rRB(hê]hë]hì]hí]hð]uhòM¨hóhhô]rSB(hýX812. Load and run Hello Example out file. You should see rTB…�rUB}rVB(hÙX812. Load and run Hello Example out file. You should see hÚjPBubjW)�rWB}rXB(hÙX**Hello World**hè}rYB(hê]hë]hì]hí]hð]uhÚjPBhô]rZBhýX Hello Worldr[B…�r\B}r]B(hÙUhÚjWBubahæj_ubhýX( string displayed on the console window.r^B…�r_B}r`B(hÙX( string displayed on the console window.hÚjPBubeubjÎ)�raB}rbB(hÙUhÚjˆAhäjó:hæjÑhè}rcB(hê]hë]hì]hí]hð]uhòM«hóhhô]rdBjÔ)�reB}rfB(hÙUj×KhÚjaBhäjó:hæhòhè}rgB(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubhÛ)�rhB}riB(hÙUjKhÚjá:häjó:hæhçhè}rjB(hê]rkBXdsp c66xrlBahë]hì]hí]rmBUdsp-c66xrnBahð]uhòM®hóhhô]roB(hö)�rpB}rqB(hÙXDSP C66xrrBhÚjhBhäjó:hæhúhè}rsB(hê]hë]hì]hí]hð]uhòM®hóhhô]rtBhýXDSP C66xruB…�rvB}rwB(hÙjrBhÚjpBubaubj/)�rxB}ryB(hÙXEThe hello example serves as a basic sanity check program for SYS/BIOS. It demonstrates how to print the string 'hello world' to stdout. As a sample we will use the AM572x device to describe the steps but the same steps can be used for create hello world examples for C66x cores in Keystone I and Keystone 2 family of devices.rzBhÚjhBhäjó:hæj3hè}r{B(hê]hë]hì]hí]hð]uhòM°hóhhô]r|BhýXEThe hello example serves as a basic sanity check program for SYS/BIOS. It demonstrates how to print the string 'hello world' to stdout. As a sample we will use the AM572x device to describe the steps but the same steps can be used for create hello world examples for C66x cores in Keystone I and Keystone 2 family of devices.r}B…�r~B}rB(hÙjzBhÚjxBubaubj))�r€B}r�B(hÙXœ- The C66x examples corresponding Keystone I devices can be located under C66x Multi-core DSP devies in the Resource Explorer. Refer below screenshothÚjhBhäNhæj,hè}r‚B(hê]hë]hì]hí]hð]uhòNhóhhô]rƒBjQ)�r„B}r…B(hÙUhè}r†B(jVX-hí]hì]hê]hë]hð]uhÚj€Bhô]r‡BjX)�rˆB}r‰B(hÙX“The C66x examples corresponding Keystone I devices can be located under C66x Multi-core DSP devies in the Resource Explorer. Refer below screenshothè}rŠB(hê]hë]hì]hí]hð]uhÚj„Bhô]r‹Bj/)�rŒB}r�B(hÙX“The C66x examples corresponding Keystone I devices can be located under C66x Multi-core DSP devies in the Resource Explorer. Refer below screenshotrŽBhÚjˆBhäjó:hæj3hè}r�B(hê]hë]hì]hí]hð]uhòM¸hô]r�BhýX“The C66x examples corresponding Keystone I devices can be located under C66x Multi-core DSP devies in the Resource Explorer. Refer below screenshotr‘B…�r’B}r“B(hÙjŽBhÚjŒBubaubahæj[ubahæjTubaubj)�r”B}r•B(hÙX .. Image:: ../images/KSI_RS.png hÚjhBhäjó:hæjhè}r–B(UuriXrtos/../images/KSI_RS.pngr—Bhí]hì]hê]hë]j}r˜BU*j—Bshð]uhòM½hóhhô]ubj))�r™B}ršB(hÙX- The K2G, K2E and K2H devices, can be located under Unclassified devices in the Resource Explorer. Refer below screen shothÚjhBhäNhæj,hè}r›B(hê]hë]hì]hí]hð]uhòNhóhhô]rœBjQ)�r�B}ržB(hÙUhè}rŸB(jVX-hí]hì]hê]hë]hð]uhÚj™Bhô]r BjX)�r¡B}r¢B(hÙXyThe K2G, K2E and K2H devices, can be located under Unclassified devices in the Resource Explorer. Refer below screen shothè}r£B(hê]hë]hì]hí]hð]uhÚj�Bhô]r¤Bj/)�r¥B}r¦B(hÙXyThe K2G, K2E and K2H devices, can be located under Unclassified devices in the Resource Explorer. Refer below screen shotr§BhÚj¡Bhäjó:hæj3hè}r¨B(hê]hë]hì]hí]hð]uhòMÀhô]r©BhýXyThe K2G, K2E and K2H devices, can be located under Unclassified devices in the Resource Explorer. Refer below screen shotrªB…�r«B}r¬B(hÙj§BhÚj¥Bubaubahæj[ubahæjTubaubj)�r­B}r®B(hÙX!.. Image:: ../images/KSII_RS.png hÚjhBhäjó:hæjhè}r¯B(UuriXrtos/../images/KSII_RS.pngr°Bhí]hì]hê]hë]j}r±BU*j°Bshð]uhòMÄhóhhô]ubj/)�r²B}r³B(hÙXÜ1. Create a work space folder (\ti\am_572x_hello_workspace) under ti folder to be used for Hello Example project, and start CCS. You may be prompted with **New Products Discovered**, so select all and **click on Finish**hÚjhBhäjó:hæj3hè}r´B(hê]hë]hì]hí]hð]uhòMÅhóhhô]rµB(hýX˜1. Create a work space folder (tiam_572x_hello_workspace) under ti folder to be used for Hello Example project, and start CCS. You may be prompted with r¶B…�r·B}r¸B(hÙXš1. Create a work space folder (\ti\am_572x_hello_workspace) under ti folder to be used for Hello Example project, and start CCS. You may be prompted with hÚj²BubjW)�r¹B}rºB(hÙX**New Products Discovered**hè}r»B(hê]hë]hì]hí]hð]uhÚj²Bhô]r¼BhýXNew Products Discoveredr½B…�r¾B}r¿B(hÙUhÚj¹Bubahæj_ubhýX, so select all and rÀB…�rÁB}rÂB(hÙX, so select all and hÚj²BubjW)�rÃB}rÄB(hÙX**click on Finish**hè}rÅB(hê]hë]hì]hí]hð]uhÚj²Bhô]rÆBhýXclick on FinishrÇB…�rÈB}rÉB(hÙUhÚjÃBubahæj_ubeubj¼)�rÊB}rËB(hÙUhÚjhBhäjó:hæj¿hè}rÌB(jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòMÊhóhhô]rÍBjX)�rÎB}rÏB(hÙX4On CCS click View --> Resource Explorer (Examples). hÚjÊBhäjó:hæj[hè}rÐB(hê]hë]hì]hí]hð]uhòNhóhhô]rÑBj/)�rÒB}rÓB(hÙX3On CCS click View --> Resource Explorer (Examples).rÔBhÚjÎBhäjó:hæj3hè}rÕB(hê]hë]hì]hí]hð]uhòMÊhô]rÖBhýX3On CCS click View --> Resource Explorer (Examples).r×B…�rØB}rÙB(hÙjÔBhÚjÒBubaubaubaubj/)�rÚB}rÛB(hÙX]3. on SYS/BIOS scroll down to AM572X --> C66x --> Generic Example --> click on Hello Example.rÜBhÚjhBhäjó:hæj3hè}rÝB(hê]hë]hì]hí]hð]uhòMÌhóhhô]rÞBhýX]3. on SYS/BIOS scroll down to AM572X --> C66x --> Generic Example --> click on Hello Example.rßB…�ràB}ráB(hÙjÜBhÚjÚBubaubj)�râB}rãB(hÙX:.. Image:: ../images/SYSBIOS_hello_world_dsp_template.jpg hÚjhBhäjó:hæjhè}räB(UuriX3rtos/../images/SYSBIOS_hello_world_dsp_template.jpgråBhí]hì]hê]hë]j}ræBU*jåBshð]uhòMÐhóhhô]ubj/)�rçB}rèB(hÙXc4. To import Hello Example, on the right window click on step 1. Import The Example to CCS Project.réBhÚjhBhäjó:hæj3hè}rêB(hê]hë]hì]hí]hð]uhòMÑhóhhô]rëBhýXc4. To import Hello Example, on the right window click on step 1. Import The Example to CCS Project.rìB…�ríB}rîB(hÙjéBhÚjçBubaubj¼)�rïB}rðB(hÙUhÚjhBhäjó:hæj¿hè}rñB(jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòMÔhóhhô]ròBjX)�róB}rôB(hÙXBOn New CCS Project window enter project name and then click Next. hÚjïBhäjó:hæj[hè}rõB(hê]hë]hì]hí]hð]uhòNhóhhô]röBj/)�r÷B}røB(hÙXAOn New CCS Project window enter project name and then click Next.rùBhÚjóBhäjó:hæj3hè}rúB(hê]hë]hì]hí]hð]uhòMÔhô]rûBhýXAOn New CCS Project window enter project name and then click Next.rüB…�rýB}rþB(hÙjùBhÚj÷Bubaubaubaubj)�rÿB}rC(hÙX4.. Image:: ../images/SYSBIOS_DSP_platformSelect.jpg hÚjhBhäjó:hæjhè}rC(UuriX-rtos/../images/SYSBIOS_DSP_platformSelect.jpgrChí]hì]hê]hë]j}rCU*jCshð]uhòM×hóhhô]ubj/)�rC}rC(hÙXŽ6. On RSTC window select platform name: **ti.platforms.evmAM572X** and check that the target is set to **ti.targets.elf.C66** (Auto populated)hÚjhBhäjó:hæj3hè}rC(hê]hë]hì]hí]hð]uhòMØhóhhô]rC(hýX(6. On RSTC window select platform name: rC…�r C}r C(hÙX(6. On RSTC window select platform name: hÚjCubjW)�r C}r C(hÙX**ti.platforms.evmAM572X**hè}r C(hê]hë]hì]hí]hð]uhÚjChô]rChýXti.platforms.evmAM572XrC…�rC}rC(hÙUhÚj Cubahæj_ubhýX% and check that the target is set to rC…�rC}rC(hÙX% and check that the target is set to hÚjCubjW)�rC}rC(hÙX**ti.targets.elf.C66**hè}rC(hê]hë]hì]hí]hð]uhÚjChô]rChýXti.targets.elf.C66rC…�rC}rC(hÙUhÚjCubahæj_ubhýX (Auto populated)rC…�rC}rC(hÙX (Auto populated)hÚjCubeubj¼)�rC}r C(hÙUhÚjhBhäjó:hæj¿hè}r!C(jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòMÛhóhhô]r"CjX)�r#C}r$C(hÙXFClick Finish. Your project should show up on Project Explorer window. hÚjChäjó:hæj[hè}r%C(hê]hë]hì]hí]hð]uhòNhóhhô]r&Cj/)�r'C}r(C(hÙXEClick Finish. Your project should show up on Project Explorer window.r)ChÚj#Chäjó:hæj3hè}r*C(hê]hë]hì]hí]hð]uhòMÛhô]r+ChýXEClick Finish. Your project should show up on Project Explorer window.r,C…�r-C}r.C(hÙj)ChÚj'Cubaubaubaubj/)�r/C}r0C(hÙXW8. Build Hello Example project by Right click on Hello Project and click Build project.r1ChÚjhBhäjó:hæj3hè}r2C(hê]hë]hì]hí]hð]uhòMÝhóhhô]r3ChýXW8. Build Hello Example project by Right click on Hello Project and click Build project.r4C…�r5C}r6C(hÙj1ChÚj/Cubaubj/)�r7C}r8C(hÙX•10. Create new target configuration (if one doesn`t exist) as described `here `__.hÚjhBhäjó:hæj3hè}r9C(hê]hë]hì]hí]hð]uhòMàhóhhô]r:C(hýXH10. Create new target configuration (if one doesn`t exist) as described r;C…�rC}r?C(hÙXL`here `__hè}r@C(UnameXherejXAindex_how_to_guides.html#create-target-configuration-file-for-evmhí]hì]hê]hë]hð]uhÚj7Chô]rAChýXhererBC…�rCC}rDC(hÙUhÚj>CubahæjubhýX.…�rEC}rFC(hÙX.hÚj7Cubeubj/)�rGC}rHC(hÙXM11. Right click on the target configuration and Launch target configurations.rIChÚjhBhäjó:hæj3hè}rJC(hê]hë]hì]hí]hð]uhòMãhóhhô]rKChýXM11. Right click on the target configuration and Launch target configurations.rLC…�rMC}rNC(hÙjIChÚjGCubaubj/)�rOC}rPC(hÙX¾12. Right click CortexA15_0 and connect target. From the Scripts menu select `AM572x Multicore Initialization->DSP1SSClkEnable_API `__.hÚjhBhäjó:hæj3hè}rQC(hê]hë]hì]hí]hð]uhòMæhóhhô]rRC(hýXM12. Right click CortexA15_0 and connect target. From the Scripts menu select rSC…�rTC}rUC(hÙXM12. Right click CortexA15_0 and connect target. From the Scripts menu select hÚjOCubj)�rVC}rWC(hÙXp`AM572x Multicore Initialization->DSP1SSClkEnable_API `__hè}rXC(UnameX4AM572x Multicore Initialization->DSP1SSClkEnable_APIjX5index_how_to_guides.html#connect-to-am57x-slave-coreshí]hì]hê]hë]hð]uhÚjOChô]rYChýX4AM572x Multicore Initialization->DSP1SSClkEnable_APIrZC…�r[C}r\C(hÙUhÚjVCubahæjubhýX.…�r]C}r^C(hÙX.hÚjOCubeubj/)�r_C}r`C(hÙXÜ13. Route the GPTimer5 suspend ctrl signal to the DSP using the Scripts menu GP timer Suspend Ctrl -> GPTimer5SuspendCtl_DSP1SS_BIOS as described `here `__.hÚjhBhäjó:hæj3hè}raC(hê]hë]hì]hí]hð]uhòMêhóhhô]rbC(hýX’13. Route the GPTimer5 suspend ctrl signal to the DSP using the Scripts menu GP timer Suspend Ctrl -> GPTimer5SuspendCtl_DSP1SS_BIOS as described rcC…�rdC}reC(hÙX’13. Route the GPTimer5 suspend ctrl signal to the DSP using the Scripts menu GP timer Suspend Ctrl -> GPTimer5SuspendCtl_DSP1SS_BIOS as described hÚj_Cubj)�rfC}rgC(hÙXI`here `__hè}rhC(UnameXherejX>index_how_to_guides.html#timer-suspend-control-options-for-dsphí]hì]hê]hë]hð]uhÚj_Chô]riChýXhererjC…�rkC}rlC(hÙUhÚjfCubahæjubhýX.…�rmC}rnC(hÙX.hÚj_Cubeubj/)�roC}rpC(hÙX€14. Connect to C66x_DSP1 Load and run Hello Example out file. You should see **Hello World** string displayed on console window.hÚjhBhäjó:hæj3hè}rqC(hê]hë]hì]hí]hð]uhòMîhóhhô]rrC(hýXM14. Connect to C66x_DSP1 Load and run Hello Example out file. You should see rsC…�rtC}ruC(hÙXM14. Connect to C66x_DSP1 Load and run Hello Example out file. You should see hÚjoCubjW)�rvC}rwC(hÙX**Hello World**hè}rxC(hê]hë]hì]hí]hð]uhÚjoChô]ryChýX Hello WorldrzC…�r{C}r|C(hÙUhÚjvCubahæj_ubhýX$ string displayed on console window.r}C…�r~C}rC(hÙX$ string displayed on console window.hÚjoCubeubeubhÛ)�r€C}r�C(hÙUjKhÚjá:häjó:hæhçhè}r‚C(hê]rƒCX dsp c674xr„Cahë]hì]hí]r…CU dsp-c674xr†Cahð]uhòMòhóhhô]r‡C(hö)�rˆC}r‰C(hÙX DSP C674xrŠChÚj€Chäjó:hæhúhè}r‹C(hê]hë]hì]hí]hð]uhòMòhóhhô]rŒChýX DSP C674xr�C…�rŽC}r�C(hÙjŠChÚjˆCubaubj/)�r�C}r‘C(hÙX8The hello example serves as a basic sanity check program for SYS/BIOS. It demonstrates how to print the string 'hello world' to stdout. As a sample we will use the C6748 device to describe the steps but the same steps can be used for create hello world examples for C674x cores in OMAPL1x/DA8x family of devices.r’ChÚj€Chäjó:hæj3hè}r“C(hê]hë]hì]hí]hð]uhòMôhóhhô]r”ChýX8The hello example serves as a basic sanity check program for SYS/BIOS. It demonstrates how to print the string 'hello world' to stdout. As a sample we will use the C6748 device to describe the steps but the same steps can be used for create hello world examples for C674x cores in OMAPL1x/DA8x family of devices.r•C…�r–C}r—C(hÙj’ChÚj�Cubaubj))�r˜C}r™C(hÙXƒ- Locate the appropriate device that you are using to make sure the correct SYSBIOS platform definiition gets used in the buildhÚj€ChäNhæj,hè}ršC(hê]hë]hì]hí]hð]uhòNhóhhô]r›CjQ)�rœC}r�C(hÙUhè}ržC(jVX-hí]hì]hê]hë]hð]uhÚj˜Chô]rŸCjX)�r C}r¡C(hÙX}Locate the appropriate device that you are using to make sure the correct SYSBIOS platform definiition gets used in the buildhè}r¢C(hê]hë]hì]hí]hð]uhÚjœChô]r£Cj/)�r¤C}r¥C(hÙX}Locate the appropriate device that you are using to make sure the correct SYSBIOS platform definiition gets used in the buildr¦ChÚj Chäjó:hæj3hè}r§C(hê]hë]hì]hí]hð]uhòMühô]r¨ChýX}Locate the appropriate device that you are using to make sure the correct SYSBIOS platform definiition gets used in the buildr©C…�rªC}r«C(hÙj¦ChÚj¤Cubaubahæj[ubahæjTubaubj/)�r¬C}r­C(hÙXÁ1. Create a work space folder ( Eg. tirtos_hello_workspace) that can be used for Hello Example project, and start CCS. You may be prompted with **New Products Discovered**, so select all and **click on Finish** Note: at this stage the version of SYSBIOS and corresponding dependencies are assumed to be discovered by CCS. If not please follow the steps described here: `Discovering_SDK_products `__hÚj€Chäjó:hæj3hè}r®C(hê]hë]hì]hí]hð]uhòMÿhóhhô]r¯C(hýX�1. Create a work space folder ( Eg. tirtos_hello_workspace) that can be used for Hello Example project, and start CCS. You may be prompted with r°C…�r±C}r²C(hÙX�1. Create a work space folder ( Eg. tirtos_hello_workspace) that can be used for Hello Example project, and start CCS. You may be prompted with hÚj¬CubjW)�r³C}r´C(hÙX**New Products Discovered**hè}rµC(hê]hë]hì]hí]hð]uhÚj¬Chô]r¶ChýXNew Products Discoveredr·C…�r¸C}r¹C(hÙUhÚj³Cubahæj_ubhýX, so select all and rºC…�r»C}r¼C(hÙX, so select all and hÚj¬CubjW)�r½C}r¾C(hÙX**click on Finish**hè}r¿C(hê]hë]hì]hí]hð]uhÚj¬Chô]rÀChýXclick on FinishrÁC…�rÂC}rÃC(hÙUhÚj½Cubahæj_ubhýXŸ Note: at this stage the version of SYSBIOS and corresponding dependencies are assumed to be discovered by CCS. If not please follow the steps described here: rÄC…�rÅC}rÆC(hÙXŸ Note: at this stage the version of SYSBIOS and corresponding dependencies are assumed to be discovered by CCS. If not please follow the steps described here: hÚj¬Cubj)�rÇC}rÈC(hÙXP`Discovering_SDK_products `__hè}rÉC(UnameXDiscovering_SDK_productsjX1index_how_to_guides.html#discovering-sdk-productshí]hì]hê]hë]hð]uhÚj¬Chô]rÊChýXDiscovering_SDK_productsrËC…�rÌC}rÍC(hÙUhÚjÇCubahæjubeubj¼)�rÎC}rÏC(hÙUhÚj€Chäjó:hæj¿hè}rÐC(jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòMhóhhô]rÑCjX)�rÒC}rÓC(hÙX<On CCS click View --> Resource Explorer Classic (Examples). hÚjÎChäjó:hæj[hè}rÔC(hê]hë]hì]hí]hð]uhòNhóhhô]rÕCj/)�rÖC}r×C(hÙX;On CCS click View --> Resource Explorer Classic (Examples).rØChÚjÒChäjó:hæj3hè}rÙC(hê]hë]hì]hí]hð]uhòMhô]rÚChýX;On CCS click View --> Resource Explorer Classic (Examples).rÛC…�rÜC}rÝC(hÙjØChÚjÖCubaubaubaubj/)�rÞC}rßC(hÙXq3. on SYS/BIOS scroll down to C6748 /OMAPL1x and select --> C674x --> Generic Example --> click on Hello Example.ràChÚj€Chäjó:hæj3hè}ráC(hê]hë]hì]hí]hð]uhòM hóhhô]râChýXq3. on SYS/BIOS scroll down to C6748 /OMAPL1x and select --> C674x --> Generic Example --> click on Hello Example.rãC…�räC}råC(hÙjàChÚjÞCubaubj)�ræC}rçC(hÙX8.. Image:: ../images/OMAPL138_SYSBIOS_TI_RTOS_CCSv7.png hÚj€Chäjó:hæjhè}rèC(UuriX1rtos/../images/OMAPL138_SYSBIOS_TI_RTOS_CCSv7.pngréChí]hì]hê]hë]j}rêCU*jéCshð]uhòM hóhhô]ubj/)�rëC}rìC(hÙXc4. To import Hello Example, on the right window click on step 1. Import The Example to CCS Project.ríChÚj€Chäjó:hæj3hè}rîC(hê]hë]hì]hí]hð]uhòMhóhhô]rïChýXc4. To import Hello Example, on the right window click on step 1. Import The Example to CCS Project.rðC…�rñC}ròC(hÙjíChÚjëCubaubj¼)�róC}rôC(hÙUhÚj€Chäjó:hæj¿hè}rõC(jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòMhóhhô]röCjX)�r÷C}røC(hÙXBOn New CCS Project window enter project name and then click Next. hÚjóChäjó:hæj[hè}rùC(hê]hë]hì]hí]hð]uhòNhóhhô]rúCj/)�rûC}rüC(hÙXAOn New CCS Project window enter project name and then click Next.rýChÚj÷Chäjó:hæj3hè}rþC(hê]hë]hì]hí]hð]uhòMhô]rÿChýXAOn New CCS Project window enter project name and then click Next.rD…�rD}rD(hÙjýChÚjûCubaubaubaubj)�rD}rD(hÙX... Image:: ../images/Create_Project_Step1.png hÚj€Chäjó:hæjhè}rD(UuriX'rtos/../images/Create_Project_Step1.pngrDhí]hì]hê]hë]j}rDU*jDshð]uhòMhóhhô]ubj/)�rD}r D(hÙXŽ6. On RSTC window select platform name: **ti.platforms.evmc6748** and check that the target is set to **ti.targets.elf.C674** (Auto populated)hÚj€Chäjó:hæj3hè}r D(hê]hë]hì]hí]hð]uhòMhóhhô]r D(hýX(6. On RSTC window select platform name: r D…�r D}rD(hÙX(6. On RSTC window select platform name: hÚjDubjW)�rD}rD(hÙX**ti.platforms.evmc6748**hè}rD(hê]hë]hì]hí]hð]uhÚjDhô]rDhýXti.platforms.evmc6748rD…�rD}rD(hÙUhÚjDubahæj_ubhýX% and check that the target is set to rD…�rD}rD(hÙX% and check that the target is set to hÚjDubjW)�rD}rD(hÙX**ti.targets.elf.C674**hè}rD(hê]hë]hì]hí]hð]uhÚjDhô]rDhýXti.targets.elf.C674rD…�rD}rD(hÙUhÚjDubahæj_ubhýX (Auto populated)r D…�r!D}r"D(hÙX (Auto populated)hÚjDubeubj)�r#D}r$D(hÙX... Image:: ../images/Create_Project_Step2.png hÚj€Chäjó:hæjhè}r%D(UuriX'rtos/../images/Create_Project_Step2.pngr&Dhí]hì]hê]hë]j}r'DU*j&Dshð]uhòMhóhhô]ubj¼)�r(D}r)D(hÙUhÚj€Chäjó:hæj¿hè}r*D(jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòMhóhhô]r+DjX)�r,D}r-D(hÙXFClick Finish. Your project should show up on Project Explorer window. hÚj(Dhäjó:hæj[hè}r.D(hê]hë]hì]hí]hð]uhòNhóhhô]r/Dj/)�r0D}r1D(hÙXEClick Finish. Your project should show up on Project Explorer window.r2DhÚj,Dhäjó:hæj3hè}r3D(hê]hë]hì]hí]hð]uhòMhô]r4DhýXEClick Finish. Your project should show up on Project Explorer window.r5D…�r6D}r7D(hÙj2DhÚj0Dubaubaubaubj/)�r8D}r9D(hÙXW8. Build Hello Example project by Right click on Hello Project and click Build project.r:DhÚj€Chäjó:hæj3hè}r;D(hê]hë]hì]hí]hð]uhòMhóhhô]rD}r?D(hÙj:DhÚj8Dubaubj/)�r@D}rAD(hÙX•10. Create new target configuration (if one doesn`t exist) as described `here `__.hÚj€Chäjó:hæj3hè}rBD(hê]hë]hì]hí]hð]uhòMhóhhô]rCD(hýXH10. Create new target configuration (if one doesn`t exist) as described rDD…�rED}rFD(hÙXH10. Create new target configuration (if one doesn`t exist) as described hÚj@Dubj)�rGD}rHD(hÙXL`here `__hè}rID(UnameXherejXAindex_how_to_guides.html#create-target-configuration-file-for-evmhí]hì]hê]hë]hð]uhÚj@Dhô]rJDhýXhererKD…�rLD}rMD(hÙUhÚjGDubahæjubhýX.…�rND}rOD(hÙX.hÚj@Dubeubj/)�rPD}rQD(hÙXM11. Right click on the target configuration and Launch target configurations.rRDhÚj€Chäjó:hæj3hè}rSD(hê]hë]hì]hí]hð]uhòM"hóhhô]rTDhýXM11. Right click on the target configuration and Launch target configurations.rUD…�rVD}rWD(hÙjRDhÚjPDubaubj/)�rXD}rYD(hÙX 12. Developers can Connect to the C674x on OMAPL137/C6747/C6748 can connect directly to the DSP. For OMAPL138 device, you will need to connect to the ARM as this is ARM master boot device and ARM needs to power up the DSP You should see the following log in the ConsolerZDhÚj€Chäjó:hæj3hè}r[D(hê]hë]hì]hí]hð]uhòM%hóhhô]r\DhýX 12. Developers can Connect to the C674x on OMAPL137/C6747/C6748 can connect directly to the DSP. For OMAPL138 device, you will need to connect to the ARM as this is ARM master boot device and ARM needs to power up the DSP You should see the following log in the Consoler]D…�r^D}r_D(hÙjZDhÚjXDubaubjË)�r`D}raD(hÙXôC674X_0: Output: Target Connected. C674X_0: Output: --------------------------------------------- C674X_0: Output: Memory Map Cleared. C674X_0: Output: --------------------------------------------- C674X_0: Output: Memory Map Setup Complete. C674X_0: Output: --------------------------------------------- C674X_0: Output: PSC Enable Complete. C674X_0: Output: --------------------------------------------- C674X_0: Output: PLL0 init done for Core:300MHz, EMIFA:25MHz C674X_0: Output: DDR initialization is in progress.... C674X_0: Output: PLL1 init done for DDR:150MHz C674X_0: Output: Using DDR2 settings C674X_0: Output: DDR2 init for 150 MHz is done C674X_0: Output: ---------------------------------------------hÚj€Chäjó:hæjÎhè}rbD(jjhí]hì]hê]hë]hð]uhòMÎhóhhô]rcDhýXôC674X_0: Output: Target Connected. C674X_0: Output: --------------------------------------------- C674X_0: Output: Memory Map Cleared. C674X_0: Output: --------------------------------------------- C674X_0: Output: Memory Map Setup Complete. C674X_0: Output: --------------------------------------------- C674X_0: Output: PSC Enable Complete. C674X_0: Output: --------------------------------------------- C674X_0: Output: PLL0 init done for Core:300MHz, EMIFA:25MHz C674X_0: Output: DDR initialization is in progress.... C674X_0: Output: PLL1 init done for DDR:150MHz C674X_0: Output: Using DDR2 settings C674X_0: Output: DDR2 init for 150 MHz is done C674X_0: Output: ---------------------------------------------rdD…�reD}rfD(hÙUhÚj`Dubaubj/)�rgD}rhD(hÙX�13. Connect to C674x_DSP1 Load and run Hello Example out file. You should see **Hello World** string displayed on console window.hÚj€Chäjó:hæj3hè}riD(hê]hë]hì]hí]hð]uhòM;hóhhô]rjD(hýXN13. Connect to C674x_DSP1 Load and run Hello Example out file. You should see rkD…�rlD}rmD(hÙXN13. Connect to C674x_DSP1 Load and run Hello Example out file. You should see hÚjgDubjW)�rnD}roD(hÙX**Hello World**hè}rpD(hê]hë]hì]hí]hð]uhÚjgDhô]rqDhýX Hello WorldrrD…�rsD}rtD(hÙUhÚjnDubahæj_ubhýX$ string displayed on console window.ruD…�rvD}rwD(hÙX$ string displayed on console window.hÚjgDubeubj)�rxD}ryD(hÙX2.. Image:: ../images/Hello_world_dsp674x_rtos.png hÚj€Chäjó:hæjhè}rzD(UuriX+rtos/../images/Hello_world_dsp674x_rtos.pngr{Dhí]hì]hê]hë]j}r|DU*j{Dshð]uhòM?hóhhô]ubjÎ)�r}D}r~D(hÙUhÚj€Chäjó:hæjÑhè}rD(hê]hë]hì]hí]hð]uhòM@hóhhô]r€DjÔ)�r�D}r‚D(hÙUj×KhÚj}Dhäjó:hæhòhè}rƒD(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubhÛ)�r„D}r…D(hÙUhÚjá:häjó:hæhçhè}r†D(hê]hë]hì]hí]r‡DU usage-notesrˆDahð]r‰Dh‰auhòMChóhhô]rŠD(hö)�r‹D}rŒD(hÙX Usage Notesr�DhÚj„Dhäjó:hæhúhè}rŽD(hê]hë]hì]hí]hð]uhòMChóhhô]r�DhýX Usage Notesr�D…�r‘D}r’D(hÙj�DhÚj‹Dubaubj/)�r“D}r”D(hÙX After execution of the hello world examples on the core, the CCS Editor may report "Can't find a source file" error messages when you pause or the application exits/aborts after completion. This occurs due to source files from SYSBIOS or XDC packages not being in the default search path of the CCS Editor. when you run into this issue, you can navigate to the file using Locate file option in the Editor. Once you provide the location the CCS Editor will be able to locate all the other required files from that package based on relative path.r•DhÚj„Dhäjó:hæj3hè}r–D(hê]hë]hì]hí]hð]uhòMEhóhhô]r—DhýX After execution of the hello world examples on the core, the CCS Editor may report "Can't find a source file" error messages when you pause or the application exits/aborts after completion. This occurs due to source files from SYSBIOS or XDC packages not being in the default search path of the CCS Editor. when you run into this issue, you can navigate to the file using Locate file option in the Editor. Once you provide the location the CCS Editor will be able to locate all the other required files from that package based on relative path.r˜D…�r™D}ršD(hÙj•DhÚj“Dubaubj/)�r›D}rœD(hÙXZFor example, when running SYS/BIOS Hello Example using AM57x-GP EVM if you see the messager�DhÚj„Dhäjó:hæj3hè}ržD(hê]hë]hì]hí]hð]uhòMNhóhhô]rŸDhýXZFor example, when running SYS/BIOS Hello Example using AM57x-GP EVM if you see the messager D…�r¡D}r¢D(hÙj�DhÚj›DubaubjË)�r£D}r¤D(hÙX,Can't find a source file at "/db/ztree/library/trees/xdctargets/xdctargets-i02/src/gnu/targets /arm/rtsv7A/syscalls.c" Locate the file or edit the source lookup path to include its location. The above file is located under file path ${PROC_SDK_DIR}\bios_6_42_02_29\packages\gnu\targets\arm\rtsv7AhÚj„Dhäjó:hæjÎhè}r¥D(jjhí]hì]hê]hë]hð]uhòMõhóhhô]r¦DhýX,Can't find a source file at "/db/ztree/library/trees/xdctargets/xdctargets-i02/src/gnu/targets /arm/rtsv7A/syscalls.c" Locate the file or edit the source lookup path to include its location. The above file is located under file path ${PROC_SDK_DIR}\bios_6_42_02_29\packages\gnu\targets\arm\rtsv7Ar§D…�r¨D}r©D(hÙUhÚj£Dubaubj/)�rªD}r«D(hÙX‹You can also prevent these issues by adding the Processor SDK components to file search path under Windows->Preferences options in CCS GUI.r¬DhÚj„Dhäjó:hæj3hè}r­D(hê]hë]hì]hí]hð]uhòMVhóhhô]r®DhýX‹You can also prevent these issues by adding the Processor SDK components to file search path under Windows->Preferences options in CCS GUI.r¯D…�r°D}r±D(hÙj¬DhÚjªDubaubjÎ)�r²D}r³D(hÙUhÚj„Dhäjó:hæjÑhè}r´D(hê]hë]hì]hí]hð]uhòMYhóhhô]rµDjÔ)�r¶D}r·D(hÙUj×KhÚj²Dhäjó:hæhòhè}r¸D(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubhÛ)�r¹D}rºD(hÙUhÚjá:häjó:hæhçhè}r»D(hê]hë]hì]hí]r¼DU known-issuesr½Dahð]r¾DhauhòM\hóhhô]r¿D(hö)�rÀD}rÁD(hÙX Known IssuesrÂDhÚj¹Dhäjó:hæhúhè}rÃD(hê]hë]hì]hí]hð]uhòM\hóhhô]rÄDhýX Known IssuesrÅD…�rÆD}rÇD(hÙjÂDhÚjÀDubaubjQ)�rÈD}rÉD(hÙUhÚj¹Dhäjó:hæjThè}rÊD(jVX-hí]hì]hê]hë]hð]uhòM^hóhhô]rËDjX)�rÌD}rÍD(hÙXY**SYS/BIOS examples for Cortex-A15 generate linker errors due to the FPU related flags** hÚjÈDhäjó:hæj[hè}rÎD(hê]hë]hì]hí]hð]uhòNhóhhô]rÏDj/)�rÐD}rÑD(hÙXX**SYS/BIOS examples for Cortex-A15 generate linker errors due to the FPU related flags**rÒDhÚjÌDhäjó:hæj3hè}rÓD(hê]hë]hì]hí]hð]uhòM^hô]rÔDjW)�rÕD}rÖD(hÙjÒDhè}r×D(hê]hë]hì]hí]hð]uhÚjÐDhô]rØDhýXTSYS/BIOS examples for Cortex-A15 generate linker errors due to the FPU related flagsrÙD…�rÚD}rÛD(hÙUhÚjÕDubahæj_ubaubaubaubj/)�rÜD}rÝD(hÙX„Some versions of CCS are impacted by linker setting used in CCS RTOS templates and may need some manual modification to set the correct -mfpu, -mcpu and -march. If you are seeing VFP errors in the link step, you are most likely running into this issue. To correct this issue please check the resolution here: https://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/539973hÚj¹Dhäjó:hæj3hè}rÞD(hê]hë]hì]hí]hð]uhòMahóhhô]rßD(hýX5Some versions of CCS are impacted by linker setting used in CCS RTOS templates and may need some manual modification to set the correct -mfpu, -mcpu and -march. If you are seeing VFP errors in the link step, you are most likely running into this issue. To correct this issue please check the resolution here: ràD…�ráD}râD(hÙX5Some versions of CCS are impacted by linker setting used in CCS RTOS templates and may need some manual modification to set the correct -mfpu, -mcpu and -march. If you are seeing VFP errors in the link step, you are most likely running into this issue. To correct this issue please check the resolution here: hÚjÜDubj)�rãD}räD(hÙXOhttps://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/539973råDhè}ræD(UrefurijåDhí]hì]hê]hë]hð]uhÚjÜDhô]rçDhýXOhttps://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/539973rèD…�réD}rêD(hÙUhÚjãDubahæjubeubjÎ)�rëD}rìD(hÙUhÚj¹Dhäjó:hæjÑhè}ríD(hê]hë]hì]hí]hð]uhòMhhóhhô]rîDjÔ)�rïD}rðD(hÙUj×KhÚjëDhäjó:hæhòhè}rñD(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubhÛ)�ròD}róD(hÙUhÚjá:häjó:hæhçhè}rôD(hê]hë]hì]hí]rõDUuseful-resourcesröDahð]r÷DhÎauhòMlhóhhô]røD(hö)�rùD}rúD(hÙXUseful ResourcesrûDhÚjòDhäjó:hæhúhè}rüD(hê]hë]hì]hí]hð]uhòMlhóhhô]rýDhýXUseful ResourcesrþD…�rÿD}rE(hÙjûDhÚjùDubaubjQ)�rE}rE(hÙUhÚjòDhäjó:hæjThè}rE(jVX-hí]hì]hê]hë]hð]uhòMnhóhhô]rE(jX)�rE}rE(hÙXj`TI RTOS training `__hÚjEhäjó:hæj[hè}rE(hê]hë]hì]hí]hð]uhòNhóhhô]rEj/)�r E}r E(hÙXj`TI RTOS training `__r EhÚjEhäjó:hæj3hè}r E(hê]hë]hì]hí]hð]uhòMnhô]r Ej)�rE}rE(hÙj Ehè}rE(UnameXTI RTOS trainingjXShttp://processors.wiki.ti.com/index.php/Introduction_to_the_TI-RTOS_Kernel_Workshophí]hì]hê]hë]hð]uhÚj Ehô]rEhýXTI RTOS trainingrE…�rE}rE(hÙUhÚjEubahæjubaubaubjX)�rE}rE(hÙXS`SYS/BIOS Information `__hÚjEhäjó:hæj[hè}rE(hê]hë]hì]hí]hð]uhòNhóhhô]rEj/)�rE}rE(hÙXS`SYS/BIOS Information `__rEhÚjEhäjó:hæj3hè}rE(hê]hë]hì]hí]hð]uhòMphô]rEj)�rE}rE(hÙjEhè}r E(UnameXSYS/BIOS InformationjX8http://processors.wiki.ti.com/index.php/Category:SYSBIOShí]hì]hê]hë]hð]uhÚjEhô]r!EhýXSYS/BIOS Informationr"E…�r#E}r$E(hÙUhÚjEubahæjubaubaubjX)�r%E}r&E(hÙXI`SYS/BIOS FAQ `__ hÚjEhäjó:hæj[hè}r'E(hê]hë]hì]hí]hð]uhòNhóhhô]r(Ej/)�r)E}r*E(hÙXH`SYS/BIOS FAQ `__r+EhÚj%Ehäjó:hæj3hè}r,E(hê]hë]hì]hí]hð]uhòMrhô]r-Ej)�r.E}r/E(hÙj+Ehè}r0E(UnameX SYS/BIOS FAQjX5http://processors.wiki.ti.com/index.php/SYS/BIOS_FAQshí]hì]hê]hë]hð]uhÚj)Ehô]r1EhýX SYS/BIOS FAQr2E…�r3E}r4E(hÙUhÚj.EubahæjubaubaubeubjÎ)�r5E}r6E(hÙUhÚjòDhäjó:hæjÑhè}r7E(hê]hë]hì]hí]hð]uhòMuhóhhô]r8EjÔ)�r9E}r:E(hÙUj×KhÚj5Ehäjó:hæhòhè}r;E(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubeubhäjó:hæhçhè}rEahë]hì]hí]r?EUarm-cortex-a53r@Eahð]uhòK hóhhô]rAE(hö)�rBE}rCE(hÙXARM Cortex-A53rDEhÚjß:häjó:hæhúhè}rEE(hê]hë]hì]hí]hð]uhòK hóhhô]rFEhýXARM Cortex-A53rGE…�rHE}rIE(hÙjDEhÚjBEubaubj/)�rJE}rKE(hÙXÚThe hello example serves as a basic sanity check program for SYS/BIOS. It demonstrates how to print the string 'hello world' to stdout. As a sample we will use the AM65x device to describe the steps for the Cortex-A53.rLEhÚjß:häjó:hæj3hè}rME(hê]hë]hì]hí]hð]uhòKhóhhô]rNEhýXÚThe hello example serves as a basic sanity check program for SYS/BIOS. It demonstrates how to print the string 'hello world' to stdout. As a sample we will use the AM65x device to describe the steps for the Cortex-A53.rOE…�rPE}rQE(hÙjLEhÚjJEubaubj))�rRE}rSE(hÙXˆFor future Device Support Package releases, the Hello World example for the Cortex-A53 will be added to CCS as an out-of-box experience.rTEhÚjß:häjó:hæj,hè}rUE(hê]hë]hì]hí]hð]uhòNhóhhô]rVEj/)�rWE}rXE(hÙjTEhÚjREhäjó:hæj3hè}rYE(hê]hë]hì]hí]hð]uhòKhô]rZEhýXˆFor future Device Support Package releases, the Hello World example for the Cortex-A53 will be added to CCS as an out-of-box experience.r[E…�r\E}r]E(hÙjTEhÚjWEubaubaubj/)�r^E}r_E(hÙXà1. Create a work space folder to be used for Hello Example project (e.g. /ti/am65x_am53_hello_workspace), and start CCS. If prompted with **New Products Discovered**, install any desired products and restart CCS if required.hÚjß:häjó:hæj3hè}r`E(hê]hë]hì]hí]hð]uhòKhóhhô]raE(hýXŠ1. Create a work space folder to be used for Hello Example project (e.g. /ti/am65x_am53_hello_workspace), and start CCS. If prompted with rbE…�rcE}rdE(hÙXŠ1. Create a work space folder to be used for Hello Example project (e.g. /ti/am65x_am53_hello_workspace), and start CCS. If prompted with hÚj^EubjW)�reE}rfE(hÙX**New Products Discovered**hè}rgE(hê]hë]hì]hí]hð]uhÚj^Ehô]rhEhýXNew Products DiscoveredriE…�rjE}rkE(hÙUhÚjeEubahæj_ubhýX;, install any desired products and restart CCS if required.rlE…�rmE}rnE(hÙX;, install any desired products and restart CCS if required.hÚj^Eubeubj/)�roE}rpE(hÙX.2. In CCS, go to File --> New --> CCS Project.rqEhÚjß:häjó:hæj3hè}rrE(hê]hë]hì]hí]hð]uhòKhóhhô]rsEhýX.2. In CCS, go to File --> New --> CCS Project.rtE…�ruE}rvE(hÙjqEhÚjoEubaubj¼)�rwE}rxE(hÙUhÚjß:häjó:hæj¿hè}ryE(jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòKhóhhô]rzEjX)�r{E}r|E(hÙXCEnter a project name and configure the new CCS project as follows: hÚjwEhäjó:hæj[hè}r}E(hê]hë]hì]hí]hð]uhòNhóhhô]r~Ej/)�rE}r€E(hÙXBEnter a project name and configure the new CCS project as follows:r�EhÚj{Ehäjó:hæj3hè}r‚E(hê]hë]hì]hí]hð]uhòKhô]rƒEhýXBEnter a project name and configure the new CCS project as follows:r„E…�r…E}r†E(hÙj�EhÚjEubaubaubaubjž)�r‡E}rˆE(hÙUhÚjß:häNhæjªhè}r‰E(hê]hë]hì]hí]hð]uhòNhóhhô]rŠEjQ)�r‹E}rŒE(hÙUhè}r�E(jVX*hí]hì]hê]hë]hð]uhÚj‡Ehô]rŽE(jX)�r�E}r�E(hÙX**Target**: GPEVM_AM65xr‘Ehè}r’E(hê]hë]hì]hí]hð]uhÚj‹Ehô]r“Ej/)�r”E}r•E(hÙj‘EhÚj�Ehäjó:hæj3hè}r–E(hê]hë]hì]hí]hð]uhòKhô]r—E(jW)�r˜E}r™E(hÙX **Target**hè}ršE(hê]hë]hì]hí]hð]uhÚj”Ehô]r›EhýXTargetrœE…�r�E}ržE(hÙUhÚj˜Eubahæj_ubhýX : GPEVM_AM65xrŸE…�r E}r¡E(hÙX : GPEVM_AM65xhÚj”Eubeubahæj[ubjX)�r¢E}r£E(hÙX **Cortex A**r¤Ehè}r¥E(hê]hë]hì]hí]hð]uhÚj‹Ehô]r¦Ej/)�r§E}r¨E(hÙj¤EhÚj¢Ehäjó:hæj3hè}r©E(hê]hë]hì]hí]hð]uhòKhô]rªEjW)�r«E}r¬E(hÙj¤Ehè}r­E(hê]hë]hì]hí]hð]uhÚj§Ehô]r®EhýXCortex Ar¯E…�r°E}r±E(hÙUhÚj«Eubahæj_ubaubahæj[ubjX)�r²E}r³E(hÙX**Device Endianness**: little hè}r´E(hê]hë]hì]hí]hð]uhÚj‹Ehô]rµEj/)�r¶E}r·E(hÙX**Device Endianness**: littlehÚj²Ehäjó:hæj3hè}r¸E(hê]hë]hì]hí]hð]uhòK hô]r¹E(jW)�rºE}r»E(hÙX**Device Endianness**hè}r¼E(hê]hë]hì]hí]hð]uhÚj¶Ehô]r½EhýXDevice Endiannessr¾E…�r¿E}rÀE(hÙUhÚjºEubahæj_ubhýX: littlerÁE…�rÂE}rÃE(hÙX: littlehÚj¶Eubeubahæj[ubehæjTubaubj/)�rÄE}rÅE(hÙX�4. Under "Project Templates and examples", select "More Examples... --> Search Using Import Wizard". Select "hello" project and click "Finish".rÆEhÚjß:häjó:hæj3hè}rÇE(hê]hë]hì]hí]hð]uhòK"hóhhô]rÈEhýX�4. Under "Project Templates and examples", select "More Examples... --> Search Using Import Wizard". Select "hello" project and click "Finish".rÉE…�rÊE}rËE(hÙjÆEhÚjÄEubaubj/)�rÌE}rÍE(hÙX™5. Remove AM6548.lds from the project. Add the file **linker_a53.lds** located in the folder (PDK INSTALL PATH)/packages/ti/build/am65xx/ to the project.hÚjß:häjó:hæj3hè}rÎE(hê]hë]hì]hí]hð]uhòK%hóhhô]rÏE(hýX45. Remove AM6548.lds from the project. Add the file rÐE…�rÑE}rÒE(hÙX45. Remove AM6548.lds from the project. Add the file hÚjÌEubjW)�rÓE}rÔE(hÙX**linker_a53.lds**hè}rÕE(hê]hë]hì]hí]hð]uhÚjÌEhô]rÖEhýXlinker_a53.ldsr×E…�rØE}rÙE(hÙUhÚjÓEubahæj_ubhýXS located in the folder (PDK INSTALL PATH)/packages/ti/build/am65xx/ to the project.rÚE…�rÛE}rÜE(hÙXS located in the folder (PDK INSTALL PATH)/packages/ti/build/am65xx/ to the project.hÚjÌEubeubj/)�rÝE}rÞE(hÙX™6. Remove hello.cfg from the project. Add the file **sysbios_a53.cfg** located in the folder (PDK INSTALL PATH)/packages/ti/build/am65xx/ to the project.hÚjß:häjó:hæj3hè}rßE(hê]hë]hì]hí]hð]uhòK(hóhhô]ràE(hýX36. Remove hello.cfg from the project. Add the file ráE…�râE}rãE(hÙX36. Remove hello.cfg from the project. Add the file hÚjÝEubjW)�räE}råE(hÙX**sysbios_a53.cfg**hè}ræE(hê]hë]hì]hí]hð]uhÚjÝEhô]rçEhýXsysbios_a53.cfgrèE…�réE}rêE(hÙUhÚjäEubahæj_ubhýXS located in the folder (PDK INSTALL PATH)/packages/ti/build/am65xx/ to the project.rëE…�rìE}ríE(hÙXS located in the folder (PDK INSTALL PATH)/packages/ti/build/am65xx/ to the project.hÚjÝEubeubj/)�rîE}rïE(hÙXz7. Add the file **InitMmu.c** located under (IPC INSTALL PATH)/examples/AM65XX_bios_elf/ex02_messageq/host to the project.hÚjß:häjó:hæj3hè}rðE(hê]hë]hì]hí]hð]uhòK+hóhhô]rñE(hýX7. Add the file ròE…�róE}rôE(hÙX7. Add the file hÚjîEubjW)�rõE}röE(hÙX **InitMmu.c**hè}r÷E(hê]hë]hì]hí]hð]uhÚjîEhô]røEhýX InitMmu.crùE…�rúE}rûE(hÙUhÚjõEubahæj_ubhýX] located under (IPC INSTALL PATH)/examples/AM65XX_bios_elf/ex02_messageq/host to the project.rüE…�rýE}rþE(hÙX] located under (IPC INSTALL PATH)/examples/AM65XX_bios_elf/ex02_messageq/host to the project.hÚjîEubeubj/)�rÿE}rF(hÙXŠ8. Select Compiler: right-click on the project, select "Properites". Under "Tool-chain", select "GNU v7.2.1 (Linaro aarch64)" (or higher).rFhÚjß:häjó:hæj3hè}rF(hê]hë]hì]hí]hð]uhòK.hóhhô]rFhýXŠ8. Select Compiler: right-click on the project, select "Properites". Under "Tool-chain", select "GNU v7.2.1 (Linaro aarch64)" (or higher).rF…�rF}rF(hÙjFhÚjÿEubaubj/)�rF}rF(hÙXL9. Build the project: right-click on the project and select "Build Project".r FhÚjß:häjó:hæj3hè}r F(hê]hë]hì]hí]hð]uhòK1hóhhô]r FhýXL9. Build the project: right-click on the project and select "Build Project".r F…�r F}rF(hÙj FhÚjFubaubj/)�rF}rF(hÙXŽ10. Launch the target configuration using the appropriate emulator to connect to AM65x EVM as described in the AM65x EVM Hardware Setup Guide.rFhÚjß:häjó:hæj3hè}rF(hê]hë]hì]hí]hð]uhòK4hóhhô]rFhýXŽ10. Launch the target configuration using the appropriate emulator to connect to AM65x EVM as described in the AM65x EVM Hardware Setup Guide.rF…�rF}rF(hÙjFhÚjFubaubj¼)�rF}rF(hÙUhÚjß:häjó:hæj¿hè}rF(jÁU.jf5K hí]hì]hê]jÂUhë]hð]jÃjÄuhòK7hóhhô]rFjX)�rF}rF(hÙX:Right click on DMSC_Cortex_M3_0 and click Connect Target. hÚjFhäjó:hæj[hè}rF(hê]hë]hì]hí]hð]uhòNhóhhô]rFj/)�rF}r F(hÙX9Right click on DMSC_Cortex_M3_0 and click Connect Target.r!FhÚjFhäjó:hæj3hè}r"F(hê]hë]hì]hí]hð]uhòK7hô]r#FhýX9Right click on DMSC_Cortex_M3_0 and click Connect Target.r$F…�r%F}r&F(hÙj!FhÚjFubaubaubaubj/)�r'F}r(F(hÙXŠ12. Connect to the CortexA53_0_0 core. Load and run Hello Example out file. You should see Hello World string displayed on console window.r)FhÚjß:häjó:hæj3hè}r*F(hê]hë]hì]hí]hð]uhòK9hóhhô]r+FhýXŠ12. Connect to the CortexA53_0_0 core. Load and run Hello Example out file. You should see Hello World string displayed on console window.r,F…�r-F}r.F(hÙj)FhÚj'FubaubjÎ)�r/F}r0F(hÙUhÚjß:häjó:hæjÑhè}r1F(hê]hë]hì]hí]hð]uhòKhè}r6F(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK-UtypejAuhòKhóhhô]r7Fj/)�r8F}r9F(hÙX:Enumerated list start value not ordinal-1: "3" (ordinal 3)hè}r:F(hê]hë]hì]hí]hð]uhÚjÝ:hô]r;FhýX:Enumerated list start value not ordinal-1: "3" (ordinal 3)rF(hÙUhÚj8Fubahæj3ubaubj¬)�r?F}r@F(hÙUhÚjß:häjó:hæj>hè}rAF(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK-UtypejAuhòK7hóhhô]rBFj/)�rCF}rDF(hÙX<Enumerated list start value not ordinal-1: "11" (ordinal 11)hè}rEF(hê]hë]hì]hí]hð]uhÚj?Fhô]rFFhýX<Enumerated list start value not ordinal-1: "11" (ordinal 11)rGF…�rHF}rIF(hÙUhÚjCFubahæj3ubaubj¬)�rJF}rKF(hÙUhÚj;häjó:hæj>hè}rLF(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK-UtypejAuhòKShóhhô]rMFj/)�rNF}rOF(hÙX:Enumerated list start value not ordinal-1: "2" (ordinal 2)hè}rPF(hê]hë]hì]hí]hð]uhÚjJFhô]rQFhýX:Enumerated list start value not ordinal-1: "2" (ordinal 2)rRF…�rSF}rTF(hÙUhÚjNFubahæj3ubaubj¬)�rUF}rVF(hÙUhÚj;häjó:hæj>hè}rWF(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK-UtypejAuhòK]hóhhô]rXFj/)�rYF}rZF(hÙX:Enumerated list start value not ordinal-1: "5" (ordinal 5)hè}r[F(hê]hë]hì]hí]hð]uhÚjUFhô]r\FhýX:Enumerated list start value not ordinal-1: "5" (ordinal 5)r]F…�r^F}r_F(hÙUhÚjYFubahæj3ubaubj¬)�r`F}raF(hÙUhÚj;häjó:hæj>hè}rbF(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK-UtypejAuhòKdhóhhô]rcFj/)�rdF}reF(hÙX:Enumerated list start value not ordinal-1: "7" (ordinal 7)hè}rfF(hê]hë]hì]hí]hð]uhÚj`Fhô]rgFhýX:Enumerated list start value not ordinal-1: "7" (ordinal 7)rhF…�riF}rjF(hÙUhÚjdFubahæj3ubaubj¬)�rkF}rlF(hÙUhÚj;häjó:hæj>hè}rmF(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK-UtypejAuhòK‰hóhhô]rnFj/)�roF}rpF(hÙX<Enumerated list start value not ordinal-1: "12" (ordinal 12)hè}rqF(hê]hë]hì]hí]hð]uhÚjkFhô]rrFhýX<Enumerated list start value not ordinal-1: "12" (ordinal 12)rsF…�rtF}ruF(hÙUhÚjoFubahæj3ubaubj¬)�rvF}rwF(hÙUhÚjì<häjó:hæj>hè}rxF(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK-UtypejAuhòK›hóhhô]ryFj/)�rzF}r{F(hÙX:Enumerated list start value not ordinal-1: "2" (ordinal 2)hè}r|F(hê]hë]hì]hí]hð]uhÚjvFhô]r}FhýX:Enumerated list start value not ordinal-1: "2" (ordinal 2)r~F…�rF}r€F(hÙUhÚjzFubahæj3ubaubj¬)�r�F}r‚F(hÙUhÚjì<häjó:hæj>hè}rƒF(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK-UtypejAuhòK¥hóhhô]r„Fj/)�r…F}r†F(hÙX:Enumerated list start value not ordinal-1: "5" (ordinal 5)hè}r‡F(hê]hë]hì]hí]hð]uhÚj�Fhô]rˆFhýX:Enumerated list start value not ordinal-1: "5" (ordinal 5)r‰F…�rŠF}r‹F(hÙUhÚj…Fubahæj3ubaubj¬)�rŒF}r�F(hÙUhÚjì<häjó:hæj>hè}rŽF(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK-UtypejAuhòK¬hóhhô]r�Fj/)�r�F}r‘F(hÙX:Enumerated list start value not ordinal-1: "7" (ordinal 7)hè}r’F(hê]hë]hì]hí]hð]uhÚjŒFhô]r“FhýX:Enumerated list start value not ordinal-1: "7" (ordinal 7)r”F…�r•F}r–F(hÙUhÚj�Fubahæj3ubaubj¬)�r—F}r˜F(hÙUhÚjì<häjó:hæj>hè}r™F(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK-UtypejAuhòKÕhóhhô]ršFj/)�r›F}rœF(hÙX<Enumerated list start value not ordinal-1: "12" (ordinal 12)hè}r�F(hê]hë]hì]hí]hð]uhÚj—Fhô]ržFhýX<Enumerated list start value not ordinal-1: "12" (ordinal 12)rŸF…�r F}r¡F(hÙUhÚj›Fubahæj3ubaubj¬)�r¢F}r£F(hÙUhÚj±>häjó:hæj>hè}r¤F(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK-UtypejAuhòM$hóhhô]r¥Fj/)�r¦F}r§F(hÙX<Enumerated list start value not ordinal-1: "12" (ordinal 12)hè}r¨F(hê]hë]hì]hí]hð]uhÚj¢Fhô]r©FhýX<Enumerated list start value not ordinal-1: "12" (ordinal 12)rªF…�r«F}r¬F(hÙUhÚj¦Fubahæj3ubaubj¬)�r­F}r®F(hÙUhÚjÎ@häjó:hæj>hè}r¯F(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK-UtypejAuhòMehóhhô]r°Fj/)�r±F}r²F(hÙX:Enumerated list start value not ordinal-1: "5" (ordinal 5)hè}r³F(hê]hë]hì]hí]hð]uhÚj­Fhô]r´FhýX:Enumerated list start value not ordinal-1: "5" (ordinal 5)rµF…�r¶F}r·F(hÙUhÚj±Fubahæj3ubaubj¬)�r¸F}r¹F(hÙUhÚjˆAhäjó:hæj>hè}rºF(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK-UtypejAuhòMŠhóhhô]r»Fj/)�r¼F}r½F(hÙX:Enumerated list start value not ordinal-1: "2" (ordinal 2)hè}r¾F(hê]hë]hì]hí]hð]uhÚj¸Fhô]r¿FhýX:Enumerated list start value not ordinal-1: "2" (ordinal 2)rÀF…�rÁF}rÂF(hÙUhÚj¼Fubahæj3ubaubj¬)�rÃF}rÄF(hÙUhÚjˆAhäjó:hæj>hè}rÅF(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK-UtypejAuhòM”hóhhô]rÆFj/)�rÇF}rÈF(hÙX:Enumerated list start value not ordinal-1: "5" (ordinal 5)hè}rÉF(hê]hë]hì]hí]hð]uhÚjÃFhô]rÊFhýX:Enumerated list start value not ordinal-1: "5" (ordinal 5)rËF…�rÌF}rÍF(hÙUhÚjÇFubahæj3ubaubj¬)�rÎF}rÏF(hÙUhÚjˆAhäjó:hæj>hè}rÐF(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK-UtypejAuhòM›hóhhô]rÑFj/)�rÒF}rÓF(hÙX:Enumerated list start value not ordinal-1: "7" (ordinal 7)hè}rÔF(hê]hë]hì]hí]hð]uhÚjÎFhô]rÕFhýX:Enumerated list start value not ordinal-1: "7" (ordinal 7)rÖF…�r×F}rØF(hÙUhÚjÒFubahæj3ubaubj¬)�rÙF}rÚF(hÙUhÚjˆAhäjó:hæj>hè}rÛF(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK-UtypejAuhòM¦hóhhô]rÜFj/)�rÝF}rÞF(hÙX<Enumerated list start value not ordinal-1: "11" (ordinal 11)hè}rßF(hê]hë]hì]hí]hð]uhÚjÙFhô]ràFhýX<Enumerated list start value not ordinal-1: "11" (ordinal 11)ráF…�râF}rãF(hÙUhÚjÝFubahæj3ubaubj¬)�räF}råF(hÙUhÚjhBhäjó:hæj>hè}ræF(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK-UtypejAuhòMÊhóhhô]rçFj/)�rèF}réF(hÙX:Enumerated list start value not ordinal-1: "2" (ordinal 2)hè}rêF(hê]hë]hì]hí]hð]uhÚjäFhô]rëFhýX:Enumerated list start value not ordinal-1: "2" (ordinal 2)rìF…�ríF}rîF(hÙUhÚjèFubahæj3ubaubj¬)�rïF}rðF(hÙUhÚjhBhäjó:hæj>hè}rñF(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK-UtypejAuhòMÔhóhhô]ròFj/)�róF}rôF(hÙX:Enumerated list start value not ordinal-1: "5" (ordinal 5)hè}rõF(hê]hë]hì]hí]hð]uhÚjïFhô]röFhýX:Enumerated list start value not ordinal-1: "5" (ordinal 5)r÷F…�røF}rùF(hÙUhÚjóFubahæj3ubaubj¬)�rúF}rûF(hÙUhÚjhBhäjó:hæj>hè}rüF(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK-UtypejAuhòMÛhóhhô]rýFj/)�rþF}rÿF(hÙX:Enumerated list start value not ordinal-1: "7" (ordinal 7)hè}rG(hê]hë]hì]hí]hð]uhÚjúFhô]rGhýX:Enumerated list start value not ordinal-1: "7" (ordinal 7)rG…�rG}rG(hÙUhÚjþFubahæj3ubaubj¬)�rG}rG(hÙUhÚj€Chäjó:hæj>hè}rG(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK-UtypejAuhòMhóhhô]rGj/)�r G}r G(hÙX:Enumerated list start value not ordinal-1: "2" (ordinal 2)hè}r G(hê]hë]hì]hí]hð]uhÚjGhô]r GhýX:Enumerated list start value not ordinal-1: "2" (ordinal 2)r G…�rG}rG(hÙUhÚj Gubahæj3ubaubj¬)�rG}rG(hÙUhÚj€Chäjó:hæj>hè}rG(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK-UtypejAuhòMhóhhô]rGj/)�rG}rG(hÙX:Enumerated list start value not ordinal-1: "5" (ordinal 5)hè}rG(hê]hë]hì]hí]hð]uhÚjGhô]rGhýX:Enumerated list start value not ordinal-1: "5" (ordinal 5)rG…�rG}rG(hÙUhÚjGubahæj3ubaubj¬)�rG}rG(hÙUhÚj€Chäjó:hæj>hè}rG(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK-UtypejAuhòMhóhhô]rGj/)�rG}r G(hÙX:Enumerated list start value not ordinal-1: "7" (ordinal 7)hè}r!G(hê]hë]hì]hí]hð]uhÚjGhô]r"GhýX:Enumerated list start value not ordinal-1: "7" (ordinal 7)r#G…�r$G}r%G(hÙUhÚjGubahæj3ubaubj¬)�r&G}r'G(hÙUhÚjòDhäXTinternal padding after source/rtos/Examples_and_Demonstrations/RTOS_Examples.rst.incr(Ghæj>hè}r)G(hê]UlevelKhí]hì]Usourcejó:hë]hð]UlineMwUtypejfuhòMyhóhhô]r*G(j/)�r+G}r,G(hÙX;Content block expected for the "raw" directive; none found.hè}r-G(hê]hë]hì]hí]hð]uhÚj&Ghô]r.GhýX;Content block expected for the "raw" directive; none found.r/G…�r0G}r1G(hÙUhÚj+Gubahæj3ubjË)�r2G}r3G(hÙX.. raw:: html hè}r4G(jjhí]hì]hê]hë]hð]uhÚj&Ghô]r5GhýX.. raw:: html r6G…�r7G}r8G(hÙUhÚj2GubahæjÎubeubj¬)�r9G}r:G(hÙUhÚhÛ)�r;G}rG(hÙUhÚhhähåhæhçhè}r?G(hê]hë]hì]hí]r@GUno-os-bare-metal-examplerAGahð]rBGh6auhòK3hóhhô]rCG(hö)�rDG}rEG(hÙXNo OS (Bare Metal) ExamplerFGhÚj=Ghähåhæhúhè}rGG(hê]hë]hì]hí]hð]uhòK3hóhhô]rHGhýXNo OS (Bare Metal) ExamplerIG…�rJG}rKG(hÙjFGhÚjDGubaubj )�rLG}rMG(hÙXIhttp://processors.wiki.ti.com/index.php/Processor_SDK_Bare_Metal_ExampleshÚj=Ghäj XCsource/rtos/Examples_and_Demonstrations/Bare_Metal_Examples.rst.incrNG…�rOG}rPGbhæjhè}rQG(jjhí]hì]hê]hë]hð]uhòKhóhhô]rRGhýXIhttp://processors.wiki.ti.com/index.php/Processor_SDK_Bare_Metal_ExamplesrSG…�rTG}rUG(hÙUhÚjLGubaubj;GhÛ)�rVG}rWG(hÙUjKhÚj=GhäjOGhæhçhè}rXG(hê]rYGj>Eahë]hì]hí]rZGUid46r[Gahð]uhòKhóhhô]r\G(hö)�r]G}r^G(hÙXARM Cortex-A53r_GhÚjVGhäjOGhæhúhè}r`G(hê]hë]hì]hí]hð]uhòKhóhhô]raGhýXARM Cortex-A53rbG…�rcG}rdG(hÙj_GhÚj]Gubaubj/)�reG}rfG(hÙX�In this article, we take a look at creating bare-metal hello world examples for the Cortex-A53 core in CCS. We will be using the AM654x device as an example.rgGhÚjVGhäjOGhæj3hè}rhG(hê]hë]hì]hí]hð]uhòKhóhhô]riGhýX�In this article, we take a look at creating bare-metal hello world examples for the Cortex-A53 core in CCS. We will be using the AM654x device as an example.rjG…�rkG}rlG(hÙjgGhÚjeGubaubj))�rmG}rnG(hÙXvFor future Device Support Package releases, the Hello World examples will be added to CCS as an out-of-box experience.roGhÚjVGhäjOGhæj,hè}rpG(hê]hë]hì]hí]hð]uhòNhóhhô]rqGj/)�rrG}rsG(hÙjoGhÚjmGhäjOGhæj3hè}rtG(hê]hë]hì]hí]hð]uhòKhô]ruGhýXvFor future Device Support Package releases, the Hello World examples will be added to CCS as an out-of-box experience.rvG…�rwG}rxG(hÙjoGhÚjrGubaubaubj/)�ryG}rzG(hÙX?1. Start CCS and create a workspace for generating the project.r{GhÚjVGhäjOGhæj3hè}r|G(hê]hë]hì]hí]hð]uhòKhóhhô]r}GhýX?1. Start CCS and create a workspace for generating the project.r~G…�rG}r€G(hÙj{GhÚjyGubaubj/)�r�G}r‚G(hÙXy2. Configure the CCS Tools discovery path to allow CCS to use the code generation tools supplied with Processor-SDK-RTOS.rƒGhÚjVGhäjOGhæj3hè}r„G(hê]hë]hì]hí]hð]uhòKhóhhô]r…GhýXy2. Configure the CCS Tools discovery path to allow CCS to use the code generation tools supplied with Processor-SDK-RTOS.r†G…�r‡G}rˆG(hÙjƒGhÚj�Gubaubjž)�r‰G}rŠG(hÙUhÚjVGhäNhæjªhè}r‹G(hê]hë]hì]hí]hð]uhòNhóhhô]rŒGjQ)�r�G}rŽG(hÙUhè}r�G(jVX-hí]hì]hê]hë]hð]uhÚj‰Ghô]r�G(jX)�r‘G}r’G(hÙX#Select the menu Window->Preferencesr“Ghè}r”G(hê]hë]hì]hí]hð]uhÚj�Ghô]r•Gj/)�r–G}r—G(hÙj“GhÚj‘GhäjOGhæj3hè}r˜G(hê]hë]hì]hí]hð]uhòKhô]r™GhýX#Select the menu Window->PreferencesršG…�r›G}rœG(hÙj“GhÚj–Gubaubahæj[ubjX)�r�G}ržG(hÙX^On the left-hand side of the Preferences window, select Code Composer Studio->Build->CompilersrŸGhè}r G(hê]hë]hì]hí]hð]uhÚj�Ghô]r¡Gj/)�r¢G}r£G(hÙjŸGhÚj�GhäjOGhæj3hè}r¤G(hê]hë]hì]hí]hð]uhòKhô]r¥GhýX^On the left-hand side of the Preferences window, select Code Composer Studio->Build->Compilersr¦G…�r§G}r¨G(hÙjŸGhÚj¢Gubaubahæj[ubjX)�r©G}rªG(hÙX›On the right-hand side of the Preferences window, click the "Add" button. Select the Processor-SDK-RTOS root install folder, then click "Apply and Close". hè}r«G(hê]hë]hì]hí]hð]uhÚj�Ghô]r¬Gj/)�r­G}r®G(hÙXšOn the right-hand side of the Preferences window, click the "Add" button. Select the Processor-SDK-RTOS root install folder, then click "Apply and Close".r¯GhÚj©GhäjOGhæj3hè}r°G(hê]hë]hì]hí]hð]uhòKhô]r±GhýXšOn the right-hand side of the Preferences window, click the "Add" button. Select the Processor-SDK-RTOS root install folder, then click "Apply and Close".r²G…�r³G}r´G(hÙj¯GhÚj­Gubaubahæj[ubehæjTubaubj/)�rµG}r¶G(hÙX*3. Navigate to File -> New -> CCS Project.r·GhÚjVGhäjOGhæj3hè}r¸G(hê]hë]hì]hí]hð]uhòK hóhhô]r¹GhýX*3. Navigate to File -> New -> CCS Project.rºG…�r»G}r¼G(hÙj·GhÚjµGubaubj/)�r½G}r¾G(hÙXS4. Select Target as AM65x - Cortex A53 and GPEVM_AM65x as shown in the image below.r¿GhÚjVGhäjOGhæj3hè}rÀG(hê]hë]hì]hí]hð]uhòK#hóhhô]rÁGhýXS4. Select Target as AM65x - Cortex A53 and GPEVM_AM65x as shown in the image below.rÂG…�rÃG}rÄG(hÙj¿GhÚj½Gubaubj/)�rÅG}rÆG(hÙXV5. Select **Cortex A setting** in the options below and provide a name for the project. Use the default advanced settings for the project. Select **GNU v7.2.1 (Linaro aarch64)** (or higher) for the Compiler Version. Under Tool-chain, for the Linker Command file, select the file (PDK INSTALL PATH)/packages/ti/build/am65xx/**linker_a53.lds**.hÚjVGhäjOGhæj3hè}rÇG(hê]hë]hì]hí]hð]uhòK&hóhhô]rÈG(hýX 5. Select rÉG…�rÊG}rËG(hÙX 5. Select hÚjÅGubjW)�rÌG}rÍG(hÙX**Cortex A setting**hè}rÎG(hê]hë]hì]hí]hð]uhÚjÅGhô]rÏGhýXCortex A settingrÐG…�rÑG}rÒG(hÙUhÚjÌGubahæj_ubhýXt in the options below and provide a name for the project. Use the default advanced settings for the project. Select rÓG…�rÔG}rÕG(hÙXt in the options below and provide a name for the project. Use the default advanced settings for the project. Select hÚjÅGubjW)�rÖG}r×G(hÙX**GNU v7.2.1 (Linaro aarch64)**hè}rØG(hê]hë]hì]hí]hð]uhÚjÅGhô]rÙGhýXGNU v7.2.1 (Linaro aarch64)rÚG…�rÛG}rÜG(hÙUhÚjÖGubahæj_ubhýX’ (or higher) for the Compiler Version. Under Tool-chain, for the Linker Command file, select the file (PDK INSTALL PATH)/packages/ti/build/am65xx/rÝG…�rÞG}rßG(hÙX’ (or higher) for the Compiler Version. Under Tool-chain, for the Linker Command file, select the file (PDK INSTALL PATH)/packages/ti/build/am65xx/hÚjÅGubjW)�ràG}ráG(hÙX**linker_a53.lds**hè}râG(hê]hë]hì]hí]hð]uhÚjÅGhô]rãGhýXlinker_a53.ldsräG…�råG}ræG(hÙUhÚjàGubahæj_ubhýX.…�rçG}rèG(hÙX.hÚjÅGubeubj/)�réG}rêG(hÙXMUnder Project templates and examples, select **Empty Project (with main.c).**rëGhÚjVGhäjOGhæj3hè}rìG(hê]hë]hì]hí]hð]uhòK)hóhhô]ríG(hýX-Under Project templates and examples, select rîG…�rïG}rðG(hÙX-Under Project templates and examples, select hÚjéGubjW)�rñG}ròG(hÙX **Empty Project (with main.c).**hè}róG(hê]hë]hì]hí]hð]uhÚjéGhô]rôGhýXEmpty Project (with main.c).rõG…�röG}r÷G(hÙUhÚjñGubahæj_ubeubj/)�røG}rùG(hÙX\Click Finish after you are done to allow CCS to auto generate the project from the template.rúGhÚjVGhäjOGhæj3hè}rûG(hê]hë]hì]hí]hð]uhòK+hóhhô]rüGhýX\Click Finish after you are done to allow CCS to auto generate the project from the template.rýG…�rþG}rÿG(hÙjúGhÚjøGubaubj)�rH}rH(hÙX3.. Image:: ../images/AM65x_Create_CCS_Project.png hÚjVGhäjOGhæjhè}rH(UuriX+rtos/../images/AM65x_Create_CCS_Project.pngrHhí]hì]hê]hë]j}rHU*jHshð]uhòK1hóhhô]ubj/)�rH}rH(hÙXÇ6. The generated CCS project contains source file **main.c**, ARM assembly code **startup_ARMCA53.S** and a linker command file **AM65X.lds**. Remove startup_ARMCA53.S and AM65X.lds from the project.hÚjVGhäjOGhæj3hè}rH(hê]hë]hì]hí]hð]uhòK2hóhhô]rH(hýX26. The generated CCS project contains source file r H…�r H}r H(hÙX26. The generated CCS project contains source file hÚjHubjW)�r H}r H(hÙX **main.c**hè}rH(hê]hë]hì]hí]hð]uhÚjHhô]rHhýXmain.crH…�rH}rH(hÙUhÚj Hubahæj_ubhýX, ARM assembly code rH…�rH}rH(hÙX, ARM assembly code hÚjHubjW)�rH}rH(hÙX**startup_ARMCA53.S**hè}rH(hê]hë]hì]hí]hð]uhÚjHhô]rHhýXstartup_ARMCA53.SrH…�rH}rH(hÙUhÚjHubahæj_ubhýX and a linker command file rH…�rH}rH(hÙX and a linker command file hÚjHubjW)�r H}r!H(hÙX **AM65X.lds**hè}r"H(hê]hë]hì]hí]hð]uhÚjHhô]r#HhýX AM65X.ldsr$H…�r%H}r&H(hÙUhÚj Hubahæj_ubhýX:. Remove startup_ARMCA53.S and AM65X.lds from the project.r'H…�r(H}r)H(hÙX:. Remove startup_ARMCA53.S and AM65X.lds from the project.hÚjHubeubj/)�r*H}r+H(hÙX;7. Add the following linker command file to the project. ::hÚjVGhäjOGhæj3hè}r,H(hê]hë]hì]hí]hð]uhòK6hóhhô]r-HhýX87. Add the following linker command file to the project.r.H…�r/H}r0H(hÙX87. Add the following linker command file to the project.hÚj*HubaubjË)�r1H}r2H(hÙX:(PDK INSTALL PATH)/packages/ti/build/am65xx/linker_a53.ldshÚjVGhäjOGhæjÎhè}r3H(jjhí]hì]hê]hë]hð]uhòM[hóhhô]r4HhýX:(PDK INSTALL PATH)/packages/ti/build/am65xx/linker_a53.ldsr5H…�r6H}r7H(hÙUhÚj1HubaubjÎ)�r8H}r9H(hÙUhÚjVGhäjOGhæjÑhè}r:H(hê]hë]hì]hí]hð]uhòKH(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubj/)�r?H}r@H(hÙX+8. Modify main.c to include the following::hÚjVGhäjOGhæj3hè}rAH(hê]hë]hì]hí]hð]uhòK>hóhhô]rBHhýX*8. Modify main.c to include the following:rCH…�rDH}rEH(hÙX*8. Modify main.c to include the following:hÚj?HubaubjË)�rFH}rGH(hÙX€/* Header files */ #include #include "stdio.h" int main(void) { printf("Hello World\n"); while(1); }hÚjVGhäjOGhæjÎhè}rHH(jjhí]hì]hê]hë]hð]uhòMchóhhô]rIHhýX€/* Header files */ #include #include "stdio.h" int main(void) { printf("Hello World\n"); while(1); }rJH…�rKH}rLH(hÙUhÚjFHubaubj¼)�rMH}rNH(hÙUhÚjVGhäjOGhæj¿hè}rOH(jÁU.jf5K hí]hì]hê]jÂUhë]hð]jÃjÄuhòKKhóhhô]rPHjX)�rQH}rRH(hÙXmNavigate to Project Properties -> CCS Build -> GNU Linker and add "Entry" to the "Set start address" field. hÚjMHhäjOGhæj[hè}rSH(hê]hë]hì]hí]hð]uhòNhóhhô]rTHj/)�rUH}rVH(hÙXkNavigate to Project Properties -> CCS Build -> GNU Linker and add "Entry" to the "Set start address" field.rWHhÚjQHhäjOGhæj3hè}rXH(hê]hë]hì]hí]hð]uhòKKhô]rYHhýXkNavigate to Project Properties -> CCS Build -> GNU Linker and add "Entry" to the "Set start address" field.rZH…�r[H}r\H(hÙjWHhÚjUHubaubaubaubj/)�r]H}r^H(hÙXX10. Navigate to CCS Build -> GNU Linker -> Libraries and add the following libraries. ::hÚjVGhäjOGhæj3hè}r_H(hê]hë]hì]hí]hð]uhòKNhóhhô]r`HhýXU10. Navigate to CCS Build -> GNU Linker -> Libraries and add the following libraries.raH…�rbH}rcH(hÙXU10. Navigate to CCS Build -> GNU Linker -> Libraries and add the following libraries.hÚj]HubaubjË)�rdH}reH(hÙX6ti.csl.init.aa53fg ti.csl.aa53fg rdimon stdc++ gcc c mhÚjVGhäjOGhæjÎhè}rfH(jjhí]hì]hê]hë]hð]uhòMthóhhô]rgHhýX6ti.csl.init.aa53fg ti.csl.aa53fg rdimon stdc++ gcc c mrhH…�riH}rjH(hÙUhÚjdHubaubj/)�rkH}rlH(hÙX-11. Add the following library search path. ::hÚjVGhäjOGhæj3hè}rmH(hê]hë]hì]hí]hð]uhòKZhóhhô]rnHhýX*11. Add the following library search path.roH…�rpH}rqH(hÙX*11. Add the following library search path.hÚjkHubaubjË)�rrH}rsH(hÙX0(PDK INSTALL PATH)/ti/csl/lib/am65xx/a53/releasehÚjVGhäjOGhæjÎhè}rtH(jjhí]hì]hê]hë]hð]uhòM€hóhhô]ruHhýX0(PDK INSTALL PATH)/ti/csl/lib/am65xx/a53/releaservH…�rwH}rxH(hÙUhÚjrHubaubj/)�ryH}rzH(hÙX€12. Save all changes, and right click on the project and select Build Project to build the project and generate hello_world.out.r{HhÚjVGhäjOGhæj3hè}r|H(hê]hë]hì]hí]hð]uhòKahóhhô]r}HhýX€12. Save all changes, and right click on the project and select Build Project to build the project and generate hello_world.out.r~H…�rH}r€H(hÙj{HhÚjyHubaubj/)�r�H}r‚H(hÙXž13. Launch the target configuration using your emulator to connect to the AM65x EVM as described in the :ref:`Processor-SDK-RTOS-Getting-Started-Guide-label`.hÚjVGhäjOGhæj3hè}rƒH(hê]hë]hì]hí]hð]uhòKdhóhhô]r„H(hýXh13. Launch the target configuration using your emulator to connect to the AM65x EVM as described in the r…H…�r†H}r‡H(hÙXh13. Launch the target configuration using your emulator to connect to the AM65x EVM as described in the hÚj�HubjZ)�rˆH}r‰H(hÙX5:ref:`Processor-SDK-RTOS-Getting-Started-Guide-label`rŠHhÚj�HhäjOGhæj^hè}r‹H(UreftypeXrefj¢ ˆj£ X.processor-sdk-rtos-getting-started-guide-labelU refdomainXstdrŒHhí]hì]U refexplicit‰hê]hë]hð]j¤ j¥ uhòKdhô]r�Hjb)�rŽH}r�H(hÙjŠHhè}r�H(hê]hë]r‘H(j­ jŒHXstd-refr’Hehì]hí]hð]uhÚjˆHhô]r“HhýX.Processor-SDK-RTOS-Getting-Started-Guide-labelr”H…�r•H}r–H(hÙUhÚjŽHubahæjlubaubhýX.…�r—H}r˜H(hÙX.hÚj�Hubeubj/)�r™H}ršH(hÙX”14. Right click on **DMSC_Cortex_M3_0** and click connect to target. After connecting to the M3, right click on **CortexA53_0_0** and connect to it.hÚjVGhäjOGhæj3hè}r›H(hê]hë]hì]hí]hð]uhòKghóhhô]rœH(hýX14. Right click on r�H…�ržH}rŸH(hÙX14. Right click on hÚj™HubjW)�r H}r¡H(hÙX**DMSC_Cortex_M3_0**hè}r¢H(hê]hë]hì]hí]hð]uhÚj™Hhô]r£HhýXDMSC_Cortex_M3_0r¤H…�r¥H}r¦H(hÙUhÚj Hubahæj_ubhýXI and click connect to target. After connecting to the M3, right click on r§H…�r¨H}r©H(hÙXI and click connect to target. After connecting to the M3, right click on hÚj™HubjW)�rªH}r«H(hÙX**CortexA53_0_0**hè}r¬H(hê]hë]hì]hí]hð]uhÚj™Hhô]r­HhýX CortexA53_0_0r®H…�r¯H}r°H(hÙUhÚjªHubahæj_ubhýX and connect to it.r±H…�r²H}r³H(hÙX and connect to it.hÚj™Hubeubj/)�r´H}rµH(hÙX‰15. Load and run hello_world.out example file on the Cortex-A53. You should see a Hello_world string displayed in the CCS console window.r¶HhÚjVGhäjOGhæj3hè}r·H(hê]hë]hì]hí]hð]uhòKjhóhhô]r¸HhýX‰15. Load and run hello_world.out example file on the Cortex-A53. You should see a Hello_world string displayed in the CCS console window.r¹H…�rºH}r»H(hÙj¶HhÚj´Hubaubj)�r¼H}r½H(hÙX/.. Image:: ../images/AM65x_CCS_Hello_World.PNG hÚjVGhäjOGhæjhè}r¾H(UuriX(rtos/../images/AM65x_CCS_Hello_World.PNGr¿Hhí]hì]hê]hë]j}rÀHU*j¿Hshð]uhòKnhóhhô]ubeubhÛ)�rÁH}rÂH(hÙUjKhÚj=GhäjOGhæhçhè}rÃH(hê]rÄHj;ahë]hì]hí]rÅHUid47rÆHahð]uhòKphóhhô]rÇH(hö)�rÈH}rÉH(hÙXARM Cortex-A15rÊHhÚjÁHhäjOGhæhúhè}rËH(hê]hë]hì]hí]hð]uhòKphóhhô]rÌHhýXARM Cortex-A15rÍH…�rÎH}rÏH(hÙjÊHhÚjÈHubaubj/)�rÐH}rÑH(hÙX:In this article, we take a look at creating bare-metal hello world examples for Cortex A15 core using pre-built templates in CCS. As a sample we will use the AM572x device to describe the steps but the same steps can be used for create hello world examples for Cortex A15 cores in the Keystone 2 family of devices.rÒHhÚjÁHhäjOGhæj3hè}rÓH(hê]hë]hì]hí]hð]uhòKrhóhhô]rÔHhýX:In this article, we take a look at creating bare-metal hello world examples for Cortex A15 core using pre-built templates in CCS. As a sample we will use the AM572x device to describe the steps but the same steps can be used for create hello world examples for Cortex A15 cores in the Keystone 2 family of devices.rÕH…�rÖH}r×H(hÙjÒHhÚjÐHubaubj))�rØH}rÙH(hÙX - Only major difference between A15 examples for AM572x and Keystone 2 is that the Keystone 2 device contain MSMC memory instead of OCMC memory as the shared memory. - For K2G devices, the hello world template will be created with the .lds file that specifies MSMC and DDR memory sections. For K2E and K2H, the CCS template doesn`t populate the .lds file. K2H & K2E users can choose to use 66AK2G02.lds located at ccsv6\ccs_base\arm\include as reference to add .lds file to their hello world projects.hÚjÁHhäNhæj,hè}rÚH(hê]hë]hì]hí]hð]uhòNhóhhô]rÛHjQ)�rÜH}rÝH(hÙUhè}rÞH(jVX-hí]hì]hê]hë]hð]uhÚjØHhô]rßH(jX)�ràH}ráH(hÙX£Only major difference between A15 examples for AM572x and Keystone 2 is that the Keystone 2 device contain MSMC memory instead of OCMC memory as the shared memory.hè}râH(hê]hë]hì]hí]hð]uhÚjÜHhô]rãHj/)�räH}råH(hÙX£Only major difference between A15 examples for AM572x and Keystone 2 is that the Keystone 2 device contain MSMC memory instead of OCMC memory as the shared memory.ræHhÚjàHhäjOGhæj3hè}rçH(hê]hë]hì]hí]hð]uhòKzhô]rèHhýX£Only major difference between A15 examples for AM572x and Keystone 2 is that the Keystone 2 device contain MSMC memory instead of OCMC memory as the shared memory.réH…�rêH}rëH(hÙjæHhÚjäHubaubahæj[ubjX)�rìH}ríH(hÙXMFor K2G devices, the hello world template will be created with the .lds file that specifies MSMC and DDR memory sections. For K2E and K2H, the CCS template doesn`t populate the .lds file. K2H & K2E users can choose to use 66AK2G02.lds located at ccsv6\ccs_base\arm\include as reference to add .lds file to their hello world projects.hè}rîH(hê]hë]hì]hí]hð]uhÚjÜHhô]rïHj/)�rðH}rñH(hÙXMFor K2G devices, the hello world template will be created with the .lds file that specifies MSMC and DDR memory sections. For K2E and K2H, the CCS template doesn`t populate the .lds file. K2H & K2E users can choose to use 66AK2G02.lds located at ccsv6\ccs_base\arm\include as reference to add .lds file to their hello world projects.hÚjìHhäjOGhæj3hè}ròH(hê]hë]hì]hí]hð]uhòK}hô]róHhýXJFor K2G devices, the hello world template will be created with the .lds file that specifies MSMC and DDR memory sections. For K2E and K2H, the CCS template doesn`t populate the .lds file. K2H & K2E users can choose to use 66AK2G02.lds located at ccsv6ccs_basearminclude as reference to add .lds file to their hello world projects.rôH…�rõH}röH(hÙXMFor K2G devices, the hello world template will be created with the .lds file that specifies MSMC and DDR memory sections. For K2E and K2H, the CCS template doesn`t populate the .lds file. K2H & K2E users can choose to use 66AK2G02.lds located at ccsv6\ccs_base\arm\include as reference to add .lds file to their hello world projects.hÚjðHubaubahæj[ubehæjTubaubj¼)�r÷H}røH(hÙUhÚjÁHhäjOGhæj¿hè}rùH(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòK„hóhhô]rúH(jX)�rûH}rüH(hÙX>Start CCS and create a work space for generating the project. hÚj÷HhäjOGhæj[hè}rýH(hê]hë]hì]hí]hð]uhòNhóhhô]rþHj/)�rÿH}rI(hÙX=Start CCS and create a work space for generating the project.rIhÚjûHhäjOGhæj3hè}rI(hê]hë]hì]hí]hð]uhòK„hô]rIhýX=Start CCS and create a work space for generating the project.rI…�rI}rI(hÙjIhÚjÿHubaubaubjX)�rI}rI(hÙX9Click on File menu option and select New--> CCS Project. hÚj÷HhäjOGhæj[hè}r I(hê]hë]hì]hí]hð]uhòNhóhhô]r Ij/)�r I}r I(hÙX8Click on File menu option and select New--> CCS Project.r IhÚjIhäjOGhæj3hè}rI(hê]hë]hì]hí]hð]uhòK†hô]rIhýX8Click on File menu option and select New--> CCS Project.rI…�rI}rI(hÙj IhÚj Iubaubaubeubj/)�rI}rI(hÙXM3. Select Target as AM572x -Cortex A15 and GPEVM_AM572x as shown in the imagerIhÚjÁHhäjOGhæj3hè}rI(hê]hë]hì]hí]hð]uhòKˆhóhhô]rIhýXM3. Select Target as AM572x -Cortex A15 and GPEVM_AM572x as shown in the imagerI…�rI}rI(hÙjIhÚjIubaubj/)�rI}rI(hÙXŸ4. Select **Cortex A setting** in the options below and provide name of the project as "hello_world" and use default Advanced settings for the project. If the Default settings uses "TI ARM compiler 5.x.x" switch to **GNU Linaro 4.8.4** (or higher) tool chain for A15 and check the build **little** endian **ELF** binary for the A15 core. Under Project templates and examples, select **Basic Examples-> Hello World**hÚjÁHhäjOGhæj3hè}rI(hê]hë]hì]hí]hð]uhòK‹hóhhô]rI(hýX 4. Select rI…�r I}r!I(hÙX 4. Select hÚjIubjW)�r"I}r#I(hÙX**Cortex A setting**hè}r$I(hê]hë]hì]hí]hð]uhÚjIhô]r%IhýXCortex A settingr&I…�r'I}r(I(hÙUhÚj"Iubahæj_ubhýX¹ in the options below and provide name of the project as "hello_world" and use default Advanced settings for the project. If the Default settings uses "TI ARM compiler 5.x.x" switch to r)I…�r*I}r+I(hÙX¹ in the options below and provide name of the project as "hello_world" and use default Advanced settings for the project. If the Default settings uses "TI ARM compiler 5.x.x" switch to hÚjIubjW)�r,I}r-I(hÙX**GNU Linaro 4.8.4**hè}r.I(hê]hë]hì]hí]hð]uhÚjIhô]r/IhýXGNU Linaro 4.8.4r0I…�r1I}r2I(hÙUhÚj,Iubahæj_ubhýX4 (or higher) tool chain for A15 and check the build r3I…�r4I}r5I(hÙX4 (or higher) tool chain for A15 and check the build hÚjIubjW)�r6I}r7I(hÙX **little**hè}r8I(hê]hë]hì]hí]hð]uhÚjIhô]r9IhýXlittler:I…�r;I}rI}r?I(hÙX endian hÚjIubjW)�r@I}rAI(hÙX**ELF**hè}rBI(hê]hë]hì]hí]hð]uhÚjIhô]rCIhýXELFrDI…�rEI}rFI(hÙUhÚj@Iubahæj_ubhýXG binary for the A15 core. Under Project templates and examples, select rGI…�rHI}rII(hÙXG binary for the A15 core. Under Project templates and examples, select hÚjIubjW)�rJI}rKI(hÙX **Basic Examples-> Hello World**hè}rLI(hê]hë]hì]hí]hð]uhÚjIhô]rMIhýXBasic Examples-> Hello WorldrNI…�rOI}rPI(hÙUhÚjJIubahæj_ubeubj/)�rQI}rRI(hÙX}Click Finish after you are done to allow CCS to auto generate the project from the template **Basic Examples-> Hello World**.hÚjÁHhäjOGhæj3hè}rSI(hê]hë]hì]hí]hð]uhòK’hóhhô]rTI(hýX\Click Finish after you are done to allow CCS to auto generate the project from the template rUI…�rVI}rWI(hÙX\Click Finish after you are done to allow CCS to auto generate the project from the template hÚjQIubjW)�rXI}rYI(hÙX **Basic Examples-> Hello World**hè}rZI(hê]hë]hì]hí]hð]uhÚjQIhô]r[IhýXBasic Examples-> Hello Worldr\I…�r]I}r^I(hÙUhÚjXIubahæj_ubhýX.…�r_I}r`I(hÙX.hÚjQIubeubj)�raI}rbI(hÙX3.. Image:: ../images/NewCCSProject_Hello_world.png hÚjÁHhäjOGhæjhè}rcI(UuriX,rtos/../images/NewCCSProject_Hello_world.pngrdIhí]hì]hê]hë]j}reIU*jdIshð]uhòK–hóhhô]ubj/)�rfI}rgI(hÙXò5. The generated CCS project contains source file **main.c**, ARM assembly code **startup_ARMCA15.S** and a linker command file **AM572x.lds**. Please modify the main.c file by adding the following highlighted code lines and save main.c file.hÚjÁHhäjOGhæj3hè}rhI(hê]hë]hì]hí]hð]uhòK—hóhhô]riI(hýX25. The generated CCS project contains source file rjI…�rkI}rlI(hÙX25. The generated CCS project contains source file hÚjfIubjW)�rmI}rnI(hÙX **main.c**hè}roI(hê]hë]hì]hí]hð]uhÚjfIhô]rpIhýXmain.crqI…�rrI}rsI(hÙUhÚjmIubahæj_ubhýX, ARM assembly code rtI…�ruI}rvI(hÙX, ARM assembly code hÚjfIubjW)�rwI}rxI(hÙX**startup_ARMCA15.S**hè}ryI(hê]hë]hì]hí]hð]uhÚjfIhô]rzIhýXstartup_ARMCA15.Sr{I…�r|I}r}I(hÙUhÚjwIubahæj_ubhýX and a linker command file r~I…�rI}r€I(hÙX and a linker command file hÚjfIubjW)�r�I}r‚I(hÙX**AM572x.lds**hè}rƒI(hê]hë]hì]hí]hð]uhÚjfIhô]r„IhýX AM572x.ldsr…I…�r†I}r‡I(hÙUhÚj�Iubahæj_ubhýXd. Please modify the main.c file by adding the following highlighted code lines and save main.c file.rˆI…�r‰I}rŠI(hÙXd. Please modify the main.c file by adding the following highlighted code lines and save main.c file.hÚjfIubeubjÅ;)�r‹I}rŒI(hÙX7
hÚjÁHhäjOGhæjÈ;hè}r�I(UformatXhtmljjhí]hì]hê]hë]hð]uhòKœhóhhô]rŽIhýX7
r�I…�r�I}r‘I(hÙUhÚj‹IubaubjÅ;)�r’I}r“I(hÙX
hÚjÁHhäjOGhæjÈ;hè}r”I(UformatXhtmljjhí]hì]hê]hë]hð]uhòK hóhhô]r•IhýX
r–I…�r—I}r˜I(hÙUhÚj’IubaubjË)�r™I}ršI(hÙXi /* * hello.c */ #include int main(void) { printf("Hello_world\n"); return 0; }hÚjÁHhäjOGhæjÎhè}r›I(jjhí]hì]hê]hë]rœI(jÙ;Xcehð]uhòK°hóhhô]r�I(hýX …�ržI}rŸI(hÙX hÚj™Iubjb)�r I}r¡I(hÙX/* * hello.c */hè}r¢I(hê]hë]r£I(Ucommentr¤IU multiliner¥Iehì]hí]hð]uhÚj™Ihô]r¦IhýX/* * hello.c */r§I…�r¨I}r©I(hÙUhÚj IubahæjlubhýX rªI…�r«I}r¬I(hÙX hÚj™Iubjb)�r­I}r®I(hÙX#includehè}r¯I(hê]hë]r°I(Ucommentr±IUpreprocr²Iehì]hí]hð]uhÚj™Ihô]r³IhýX#includer´I…�rµI}r¶I(hÙUhÚj­IubahæjlubhýX …�r·I}r¸I(hÙX hÚj™Iubjb)�r¹I}rºI(hÙX hè}r»I(hê]hë]r¼I(Ucommentr½IU preprocfiler¾Iehì]hí]hð]uhÚj™Ihô]r¿IhýX rÀI…�rÁI}rÂI(hÙUhÚj¹Iubahæjlubjb)�rÃI}rÄI(hÙX hè}rÅI(hê]hë]rÆI(UcommentrÇIUpreprocrÈIehì]hí]hð]uhÚj™Ihô]rÉIhýX …�rÊI}rËI(hÙUhÚjÃIubahæjlubhýX rÌI…�rÍI}rÎI(hÙX hÚj™Iubjb)�rÏI}rÐI(hÙXinthè}rÑI(hê]hë]rÒI(UkeywordrÓIUtyperÔIehì]hí]hð]uhÚj™Ihô]rÕIhýXintrÖI…�r×I}rØI(hÙUhÚjÏIubahæjlubhýX …�rÙI}rÚI(hÙX hÚj™Iubjb)�rÛI}rÜI(hÙXmainhè}rÝI(hê]hë]rÞI(UnamerßIUfunctionràIehì]hí]hð]uhÚj™Ihô]ráIhýXmainrâI…�rãI}räI(hÙUhÚjÛIubahæjlubjb)�råI}ræI(hÙX(hè}rçI(hê]hë]rèIU punctuationréIahì]hí]hð]uhÚj™Ihô]rêIhýX(…�rëI}rìI(hÙUhÚjåIubahæjlubjb)�ríI}rîI(hÙXvoidhè}rïI(hê]hë]rðI(UkeywordrñIUtyperòIehì]hí]hð]uhÚj™Ihô]róIhýXvoidrôI…�rõI}röI(hÙUhÚjíIubahæjlubjb)�r÷I}røI(hÙX)hè}rùI(hê]hë]rúIU punctuationrûIahì]hí]hð]uhÚj™Ihô]rüIhýX)…�rýI}rþI(hÙUhÚj÷IubahæjlubhýX …�rÿI}rJ(hÙX hÚj™Iubjb)�rJ}rJ(hÙX{hè}rJ(hê]hë]rJU punctuationrJahì]hí]hð]uhÚj™Ihô]rJhýX{…�rJ}rJ(hÙUhÚjJubahæjlubhýX r J…�r J}r J(hÙX hÚj™Iubjb)�r J}r J(hÙXprintfhè}rJ(hê]hë]rJUnamerJahì]hí]hð]uhÚj™Ihô]rJhýXprintfrJ…�rJ}rJ(hÙUhÚj Jubahæjlubjb)�rJ}rJ(hÙX(hè}rJ(hê]hë]rJU punctuationrJahì]hí]hð]uhÚj™Ihô]rJhýX(…�rJ}rJ(hÙUhÚjJubahæjlubjb)�rJ}rJ(hÙX "Hello_worldhè}rJ(hê]hë]r J(Uliteralr!JUstringr"Jehì]hí]hð]uhÚj™Ihô]r#JhýX "Hello_worldr$J…�r%J}r&J(hÙUhÚjJubahæjlubjb)�r'J}r(J(hÙX\nhè}r)J(hê]hë]r*J(Uliteralr+JUstringr,JUescaper-Jehì]hí]hð]uhÚj™Ihô]r.JhýX\nr/J…�r0J}r1J(hÙUhÚj'Jubahæjlubjb)�r2J}r3J(hÙX"hè}r4J(hê]hë]r5J(Uliteralr6JUstringr7Jehì]hí]hð]uhÚj™Ihô]r8JhýX"…�r9J}r:J(hÙUhÚj2Jubahæjlubjb)�r;J}rJU punctuationr?Jahì]hí]hð]uhÚj™Ihô]r@JhýX);rAJ…�rBJ}rCJ(hÙUhÚj;JubahæjlubhýX rDJ…�rEJ}rFJ(hÙX hÚj™Iubjb)�rGJ}rHJ(hÙXreturnhè}rIJ(hê]hë]rJJUkeywordrKJahì]hí]hð]uhÚj™Ihô]rLJhýXreturnrMJ…�rNJ}rOJ(hÙUhÚjGJubahæjlubhýX …�rPJ}rQJ(hÙX hÚj™Iubjb)�rRJ}rSJ(hÙX0hè}rTJ(hê]hë]rUJ(UliteralrVJUnumberrWJUintegerrXJehì]hí]hð]uhÚj™Ihô]rYJhýX0…�rZJ}r[J(hÙUhÚjRJubahæjlubjb)�r\J}r]J(hÙX;hè}r^J(hê]hë]r_JU punctuationr`Jahì]hí]hð]uhÚj™Ihô]raJhýX;…�rbJ}rcJ(hÙUhÚj\JubahæjlubhýX …�rdJ}reJ(hÙX hÚj™Iubjb)�rfJ}rgJ(hÙX}hè}rhJ(hê]hë]riJU punctuationrjJahì]hí]hð]uhÚj™Ihô]rkJhýX}…�rlJ}rmJ(hÙUhÚjfJubahæjlubeubjÅ;)�rnJ}roJ(hÙX
hÚjÁHhäjOGhæjÈ;hè}rpJ(UformatXhtmljjhí]hì]hê]hë]hð]uhòK±hóhhô]rqJhýX
rrJ…�rsJ}rtJ(hÙUhÚjnJubaubjÅ;)�ruJ}rvJ(hÙX
hÚjÁHhäjOGhæjÈ;hè}rwJ(UformatXhtmljjhí]hì]hê]hë]hð]uhòKµhóhhô]rxJhýX
ryJ…�rzJ}r{J(hÙUhÚjuJubaubj))�r|J}r}J(hÙX For Keystone2 users, the startup_ARMCA15.S and .lds file is not auto populated by CCS. To add these file, right click the project and add files and locate the 66AK2Gxx.lds and startup_ARMCA15.S under the file path ccsvX/ccs_base/arm/include and add them to the projecthÚjÁHhäjOGhæj,hè}r~J(hê]hë]hì]hí]hð]uhòNhóhhô]rJj/)�r€J}r�J(hÙX For Keystone2 users, the startup_ARMCA15.S and .lds file is not auto populated by CCS. To add these file, right click the project and add files and locate the 66AK2Gxx.lds and startup_ARMCA15.S under the file path ccsvX/ccs_base/arm/include and add them to the projectr‚JhÚj|JhäjOGhæj3hè}rƒJ(hê]hë]hì]hí]hð]uhòKºhô]r„JhýX For Keystone2 users, the startup_ARMCA15.S and .lds file is not auto populated by CCS. To add these file, right click the project and add files and locate the 66AK2Gxx.lds and startup_ARMCA15.S under the file path ccsvX/ccs_base/arm/include and add them to the projectr…J…�r†J}r‡J(hÙj‚JhÚj€Jubaubaubj/)�rˆJ}r‰J(hÙXo6. Ensure that CCSv6 generated linker command file **AM572x.lds** contains the following Memory configurations.hÚjÁHhäjOGhæj3hè}rŠJ(hê]hë]hì]hí]hð]uhòKÀhóhhô]r‹J(hýX36. Ensure that CCSv6 generated linker command file rŒJ…�r�J}rŽJ(hÙX36. Ensure that CCSv6 generated linker command file hÚjˆJubjW)�r�J}r�J(hÙX**AM572x.lds**hè}r‘J(hê]hë]hì]hí]hð]uhÚjˆJhô]r’JhýX AM572x.ldsr“J…�r”J}r•J(hÙUhÚj�Jubahæj_ubhýX. contains the following Memory configurations.r–J…�r—J}r˜J(hÙX. contains the following Memory configurations.hÚjˆJubeubjÅ;)�r™J}ršJ(hÙX7
hÚjÁHhäjOGhæjÈ;hè}r›J(UformatXhtmljjhí]hì]hê]hë]hð]uhòKÃhóhhô]rœJhýX7
r�J…�ržJ}rŸJ(hÙUhÚj™JubaubjÅ;)�r J}r¡J(hÙX
hÚjÁHhäjOGhæjÈ;hè}r¢J(UformatXhtmljjhí]hì]hê]hë]hð]uhòKÇhóhhô]r£JhýX
r¤J…�r¥J}r¦J(hÙUhÚj JubaubjË)�r§J}r¨J(hÙX‚MEMORY { OCMC_RAM1 : o = 0x40300000, l = 0x00080000 /* 512kB L3 OCMC RAM1 */ OCMC_RAM2 : o = 0x40400000, l = 0x00100000 /* 1MB L3 OCMC RAM2 */ OCMC_RAM3 : o = 0x40500000, l = 0x00100000 /* 1MB L3 OCMC RAM3 */ DDR0 : o = 0x80000000, l = 0x40000000 /* 1GB external DDR Bank 0 */ DDR1 : o = 0xC0000000, l = 0x40000000 /* 1GB external DDR Bank 1 */ }hÚjÁHhäjOGhæjÎhè}r©J(jjhí]hì]hê]hë]rªJ(jÙ;Xcehð]uhòKÕhóhhô]r«J(jb)�r¬J}r­J(hÙXMEMORYhè}r®J(hê]hë]r¯JUnamer°Jahì]hí]hð]uhÚj§Jhô]r±JhýXMEMORYr²J…�r³J}r´J(hÙUhÚj¬JubahæjlubhýX …�rµJ}r¶J(hÙX hÚj§Jubjb)�r·J}r¸J(hÙX{hè}r¹J(hê]hë]rºJU punctuationr»Jahì]hí]hð]uhÚj§Jhô]r¼JhýX{…�r½J}r¾J(hÙUhÚj·JubahæjlubhýX r¿J…�rÀJ}rÁJ(hÙX hÚj§Jubjb)�rÂJ}rÃJ(hÙX OCMC_RAM1hè}rÄJ(hê]hë]rÅJ(UnamerÆJUlabelrÇJehì]hí]hð]uhÚj§Jhô]rÈJhýX OCMC_RAM1rÉJ…�rÊJ}rËJ(hÙUhÚjÂJubahæjlubhýX …�rÌJ}rÍJ(hÙX hÚj§Jubjb)�rÎJ}rÏJ(hÙX:hè}rÐJ(hê]hë]rÑJU punctuationrÒJahì]hí]hð]uhÚj§Jhô]rÓJhýX:…�rÔJ}rÕJ(hÙUhÚjÎJubahæjlubhýX rÖJ…�r×J}rØJ(hÙX hÚj§Jubjb)�rÙJ}rÚJ(hÙXohè}rÛJ(hê]hë]rÜJUnamerÝJahì]hí]hð]uhÚj§Jhô]rÞJhýXo…�rßJ}ràJ(hÙUhÚjÙJubahæjlubhýX …�ráJ}râJ(hÙX hÚj§Jubjb)�rãJ}räJ(hÙX=hè}råJ(hê]hë]ræJUoperatorrçJahì]hí]hð]uhÚj§Jhô]rèJhýX=…�réJ}rêJ(hÙUhÚjãJubahæjlubhýX …�rëJ}rìJ(hÙX hÚj§Jubjb)�ríJ}rîJ(hÙX 0x40300000hè}rïJ(hê]hë]rðJ(UliteralrñJUnumberròJUhexróJehì]hí]hð]uhÚj§Jhô]rôJhýX 0x40300000rõJ…�röJ}r÷J(hÙUhÚjíJubahæjlubjb)�røJ}rùJ(hÙX,hè}rúJ(hê]hë]rûJU punctuationrüJahì]hí]hð]uhÚj§Jhô]rýJhýX,…�rþJ}rÿJ(hÙUhÚjøJubahæjlubhýX rK…�rK}rK(hÙX hÚj§Jubjb)�rK}rK(hÙXlhè}rK(hê]hë]rKUnamerKahì]hí]hð]uhÚj§Jhô]rKhýXl…�r K}r K(hÙUhÚjKubahæjlubhýX …�r K}r K(hÙX hÚj§Jubjb)�r K}rK(hÙX=hè}rK(hê]hë]rKUoperatorrKahì]hí]hð]uhÚj§Jhô]rKhýX=…�rK}rK(hÙUhÚj KubahæjlubhýX …�rK}rK(hÙX hÚj§Jubjb)�rK}rK(hÙX 0x00080000hè}rK(hê]hë]rK(UliteralrKUnumberrKUhexrKehì]hí]hð]uhÚj§Jhô]rKhýX 0x00080000rK…�r K}r!K(hÙUhÚjKubahæjlubhýX r"K…�r#K}r$K(hÙX hÚj§Jubjb)�r%K}r&K(hÙX/* 512kB L3 OCMC RAM1 */hè}r'K(hê]hë]r(K(Ucommentr)KU multiliner*Kehì]hí]hð]uhÚj§Jhô]r+KhýX/* 512kB L3 OCMC RAM1 */r,K…�r-K}r.K(hÙUhÚj%KubahæjlubhýX r/K…�r0K}r1K(hÙX hÚj§Jubjb)�r2K}r3K(hÙX OCMC_RAM2hè}r4K(hê]hë]r5K(Unamer6KUlabelr7Kehì]hí]hð]uhÚj§Jhô]r8KhýX OCMC_RAM2r9K…�r:K}r;K(hÙUhÚj2KubahæjlubhýX …�rK}r?K(hÙX:hè}r@K(hê]hë]rAKU punctuationrBKahì]hí]hð]uhÚj§Jhô]rCKhýX:…�rDK}rEK(hÙUhÚj>KubahæjlubhýX rFK…�rGK}rHK(hÙX hÚj§Jubjb)�rIK}rJK(hÙXohè}rKK(hê]hë]rLKUnamerMKahì]hí]hð]uhÚj§Jhô]rNKhýXo…�rOK}rPK(hÙUhÚjIKubahæjlubhýX …�rQK}rRK(hÙX hÚj§Jubjb)�rSK}rTK(hÙX=hè}rUK(hê]hë]rVKUoperatorrWKahì]hí]hð]uhÚj§Jhô]rXKhýX=…�rYK}rZK(hÙUhÚjSKubahæjlubhýX …�r[K}r\K(hÙX hÚj§Jubjb)�r]K}r^K(hÙX 0x40400000hè}r_K(hê]hë]r`K(UliteralraKUnumberrbKUhexrcKehì]hí]hð]uhÚj§Jhô]rdKhýX 0x40400000reK…�rfK}rgK(hÙUhÚj]Kubahæjlubjb)�rhK}riK(hÙX,hè}rjK(hê]hë]rkKU punctuationrlKahì]hí]hð]uhÚj§Jhô]rmKhýX,…�rnK}roK(hÙUhÚjhKubahæjlubhýX rpK…�rqK}rrK(hÙX hÚj§Jubjb)�rsK}rtK(hÙXlhè}ruK(hê]hë]rvKUnamerwKahì]hí]hð]uhÚj§Jhô]rxKhýXl…�ryK}rzK(hÙUhÚjsKubahæjlubhýX …�r{K}r|K(hÙX hÚj§Jubjb)�r}K}r~K(hÙX=hè}rK(hê]hë]r€KUoperatorr�Kahì]hí]hð]uhÚj§Jhô]r‚KhýX=…�rƒK}r„K(hÙUhÚj}KubahæjlubhýX …�r…K}r†K(hÙX hÚj§Jubjb)�r‡K}rˆK(hÙX 0x00100000hè}r‰K(hê]hë]rŠK(Uliteralr‹KUnumberrŒKUhexr�Kehì]hí]hð]uhÚj§Jhô]rŽKhýX 0x00100000r�K…�r�K}r‘K(hÙUhÚj‡KubahæjlubhýX r’K…�r“K}r”K(hÙX hÚj§Jubjb)�r•K}r–K(hÙX/* 1MB L3 OCMC RAM2 */hè}r—K(hê]hë]r˜K(Ucommentr™KU multilineršKehì]hí]hð]uhÚj§Jhô]r›KhýX/* 1MB L3 OCMC RAM2 */rœK…�r�K}ržK(hÙUhÚj•KubahæjlubhýX rŸK…�r K}r¡K(hÙX hÚj§Jubjb)�r¢K}r£K(hÙX OCMC_RAM3hè}r¤K(hê]hë]r¥K(Unamer¦KUlabelr§Kehì]hí]hð]uhÚj§Jhô]r¨KhýX OCMC_RAM3r©K…�rªK}r«K(hÙUhÚj¢KubahæjlubhýX …�r¬K}r­K(hÙX hÚj§Jubjb)�r®K}r¯K(hÙX:hè}r°K(hê]hë]r±KU punctuationr²Kahì]hí]hð]uhÚj§Jhô]r³KhýX:…�r´K}rµK(hÙUhÚj®KubahæjlubhýX r¶K…�r·K}r¸K(hÙX hÚj§Jubjb)�r¹K}rºK(hÙXohè}r»K(hê]hë]r¼KUnamer½Kahì]hí]hð]uhÚj§Jhô]r¾KhýXo…�r¿K}rÀK(hÙUhÚj¹KubahæjlubhýX …�rÁK}rÂK(hÙX hÚj§Jubjb)�rÃK}rÄK(hÙX=hè}rÅK(hê]hë]rÆKUoperatorrÇKahì]hí]hð]uhÚj§Jhô]rÈKhýX=…�rÉK}rÊK(hÙUhÚjÃKubahæjlubhýX …�rËK}rÌK(hÙX hÚj§Jubjb)�rÍK}rÎK(hÙX 0x40500000hè}rÏK(hê]hë]rÐK(UliteralrÑKUnumberrÒKUhexrÓKehì]hí]hð]uhÚj§Jhô]rÔKhýX 0x40500000rÕK…�rÖK}r×K(hÙUhÚjÍKubahæjlubjb)�rØK}rÙK(hÙX,hè}rÚK(hê]hë]rÛKU punctuationrÜKahì]hí]hð]uhÚj§Jhô]rÝKhýX,…�rÞK}rßK(hÙUhÚjØKubahæjlubhýX ràK…�ráK}râK(hÙX hÚj§Jubjb)�rãK}räK(hÙXlhè}råK(hê]hë]ræKUnamerçKahì]hí]hð]uhÚj§Jhô]rèKhýXl…�réK}rêK(hÙUhÚjãKubahæjlubhýX …�rëK}rìK(hÙX hÚj§Jubjb)�ríK}rîK(hÙX=hè}rïK(hê]hë]rðKUoperatorrñKahì]hí]hð]uhÚj§Jhô]ròKhýX=…�róK}rôK(hÙUhÚjíKubahæjlubhýX …�rõK}röK(hÙX hÚj§Jubjb)�r÷K}røK(hÙX 0x00100000hè}rùK(hê]hë]rúK(UliteralrûKUnumberrüKUhexrýKehì]hí]hð]uhÚj§Jhô]rþKhýX 0x00100000rÿK…�rL}rL(hÙUhÚj÷KubahæjlubhýX rL…�rL}rL(hÙX hÚj§Jubjb)�rL}rL(hÙX/* 1MB L3 OCMC RAM3 */hè}rL(hê]hë]rL(Ucommentr LU multiliner Lehì]hí]hð]uhÚj§Jhô]r LhýX/* 1MB L3 OCMC RAM3 */r L…�r L}rL(hÙUhÚjLubahæjlubhýX rL…�rL}rL(hÙX hÚj§Jubjb)�rL}rL(hÙXDDR0hè}rL(hê]hë]rL(UnamerLUlabelrLehì]hí]hð]uhÚj§Jhô]rLhýXDDR0rL…�rL}rL(hÙUhÚjLubahæjlubhýX …�rL}rL(hÙX hÚj§Jubjb)�rL}rL(hÙX:hè}r L(hê]hë]r!LU punctuationr"Lahì]hí]hð]uhÚj§Jhô]r#LhýX:…�r$L}r%L(hÙUhÚjLubahæjlubhýX r&L…�r'L}r(L(hÙX hÚj§Jubjb)�r)L}r*L(hÙXohè}r+L(hê]hë]r,LUnamer-Lahì]hí]hð]uhÚj§Jhô]r.LhýXo…�r/L}r0L(hÙUhÚj)LubahæjlubhýX …�r1L}r2L(hÙX hÚj§Jubjb)�r3L}r4L(hÙX=hè}r5L(hê]hë]r6LUoperatorr7Lahì]hí]hð]uhÚj§Jhô]r8LhýX=…�r9L}r:L(hÙUhÚj3LubahæjlubhýX …�r;L}rL(hÙX 0x80000000hè}r?L(hê]hë]r@L(UliteralrALUnumberrBLUhexrCLehì]hí]hð]uhÚj§Jhô]rDLhýX 0x80000000rEL…�rFL}rGL(hÙUhÚj=Lubahæjlubjb)�rHL}rIL(hÙX,hè}rJL(hê]hë]rKLU punctuationrLLahì]hí]hð]uhÚj§Jhô]rMLhýX,…�rNL}rOL(hÙUhÚjHLubahæjlubhýX rPL…�rQL}rRL(hÙX hÚj§Jubjb)�rSL}rTL(hÙXlhè}rUL(hê]hë]rVLUnamerWLahì]hí]hð]uhÚj§Jhô]rXLhýXl…�rYL}rZL(hÙUhÚjSLubahæjlubhýX …�r[L}r\L(hÙX hÚj§Jubjb)�r]L}r^L(hÙX=hè}r_L(hê]hë]r`LUoperatorraLahì]hí]hð]uhÚj§Jhô]rbLhýX=…�rcL}rdL(hÙUhÚj]LubahæjlubhýX …�reL}rfL(hÙX hÚj§Jubjb)�rgL}rhL(hÙX 0x40000000hè}riL(hê]hë]rjL(UliteralrkLUnumberrlLUhexrmLehì]hí]hð]uhÚj§Jhô]rnLhýX 0x40000000roL…�rpL}rqL(hÙUhÚjgLubahæjlubhýX rrL…�rsL}rtL(hÙX hÚj§Jubjb)�ruL}rvL(hÙX/* 1GB external DDR Bank 0 */hè}rwL(hê]hë]rxL(UcommentryLU multilinerzLehì]hí]hð]uhÚj§Jhô]r{LhýX/* 1GB external DDR Bank 0 */r|L…�r}L}r~L(hÙUhÚjuLubahæjlubhýX rL…�r€L}r�L(hÙX hÚj§Jubjb)�r‚L}rƒL(hÙXDDR1hè}r„L(hê]hë]r…L(Unamer†LUlabelr‡Lehì]hí]hð]uhÚj§Jhô]rˆLhýXDDR1r‰L…�rŠL}r‹L(hÙUhÚj‚LubahæjlubhýX …�rŒL}r�L(hÙX hÚj§Jubjb)�rŽL}r�L(hÙX:hè}r�L(hê]hë]r‘LU punctuationr’Lahì]hí]hð]uhÚj§Jhô]r“LhýX:…�r”L}r•L(hÙUhÚjŽLubahæjlubhýX r–L…�r—L}r˜L(hÙX hÚj§Jubjb)�r™L}ršL(hÙXohè}r›L(hê]hë]rœLUnamer�Lahì]hí]hð]uhÚj§Jhô]ržLhýXo…�rŸL}r L(hÙUhÚj™LubahæjlubhýX …�r¡L}r¢L(hÙX hÚj§Jubjb)�r£L}r¤L(hÙX=hè}r¥L(hê]hë]r¦LUoperatorr§Lahì]hí]hð]uhÚj§Jhô]r¨LhýX=…�r©L}rªL(hÙUhÚj£LubahæjlubhýX …�r«L}r¬L(hÙX hÚj§Jubjb)�r­L}r®L(hÙX 0xC0000000hè}r¯L(hê]hë]r°L(Uliteralr±LUnumberr²LUhexr³Lehì]hí]hð]uhÚj§Jhô]r´LhýX 0xC0000000rµL…�r¶L}r·L(hÙUhÚj­Lubahæjlubjb)�r¸L}r¹L(hÙX,hè}rºL(hê]hë]r»LU punctuationr¼Lahì]hí]hð]uhÚj§Jhô]r½LhýX,…�r¾L}r¿L(hÙUhÚj¸LubahæjlubhýX rÀL…�rÁL}rÂL(hÙX hÚj§Jubjb)�rÃL}rÄL(hÙXlhè}rÅL(hê]hë]rÆLUnamerÇLahì]hí]hð]uhÚj§Jhô]rÈLhýXl…�rÉL}rÊL(hÙUhÚjÃLubahæjlubhýX …�rËL}rÌL(hÙX hÚj§Jubjb)�rÍL}rÎL(hÙX=hè}rÏL(hê]hë]rÐLUoperatorrÑLahì]hí]hð]uhÚj§Jhô]rÒLhýX=…�rÓL}rÔL(hÙUhÚjÍLubahæjlubhýX …�rÕL}rÖL(hÙX hÚj§Jubjb)�r×L}rØL(hÙX 0x40000000hè}rÙL(hê]hë]rÚL(UliteralrÛLUnumberrÜLUhexrÝLehì]hí]hð]uhÚj§Jhô]rÞLhýX 0x40000000rßL…�ràL}ráL(hÙUhÚj×LubahæjlubhýX râL…�rãL}räL(hÙX hÚj§Jubjb)�råL}ræL(hÙX/* 1GB external DDR Bank 1 */hè}rçL(hê]hë]rèL(UcommentréLU multilinerêLehì]hí]hð]uhÚj§Jhô]rëLhýX/* 1GB external DDR Bank 1 */rìL…�ríL}rîL(hÙUhÚjåLubahæjlubhýX …�rïL}rðL(hÙX hÚj§Jubjb)�rñL}ròL(hÙX}hè}róL(hê]hë]rôLU punctuationrõLahì]hí]hð]uhÚj§Jhô]röLhýX}…�r÷L}røL(hÙUhÚjñLubahæjlubeubjÅ;)�rùL}rúL(hÙX
hÚjÁHhäjOGhæjÈ;hè}rûL(UformatXhtmljjhí]hì]hê]hë]hð]uhòKÖhóhhô]rüLhýX
rýL…�rþL}rÿL(hÙUhÚjùLubaubjÅ;)�rM}rM(hÙX
hÚjÁHhäjOGhæjÈ;hè}rM(UformatXhtmljjhí]hì]hê]hë]hð]uhòKÚhóhhô]rMhýX
rM…�rM}rM(hÙUhÚjMubaubj))�rM}rM(hÙXàFor Keystone 2 devices, replace all the OCMC_RAM# regions in the lds file and replace it with MSMC memory section as shown below. Refer to 66AK2G02.lds file in ccs installation under directory path ccsv6\ccs_base\arm\includehÚjÁHhäjOGhæj,hè}r M(hê]hë]hì]hí]hð]uhòNhóhhô]r Mj/)�r M}r M(hÙXàFor Keystone 2 devices, replace all the OCMC_RAM# regions in the lds file and replace it with MSMC memory section as shown below. Refer to 66AK2G02.lds file in ccs installation under directory path ccsv6\ccs_base\arm\includehÚjMhäjOGhæj3hè}r M(hê]hë]hì]hí]hð]uhòKßhô]rMhýXÝFor Keystone 2 devices, replace all the OCMC_RAM# regions in the lds file and replace it with MSMC memory section as shown below. Refer to 66AK2G02.lds file in ccs installation under directory path ccsv6ccs_basearmincluderM…�rM}rM(hÙXàFor Keystone 2 devices, replace all the OCMC_RAM# regions in the lds file and replace it with MSMC memory section as shown below. Refer to 66AK2G02.lds file in ccs installation under directory path ccsv6\ccs_base\arm\includehÚj MubaubaubjË)�rM}rM(hÙXOMSMC  : o=0x0c000000, l = 0x00600000 /* 6MB Muticore shared memory */hÚjÁHhäjOGhæjÎhè}rM(jjhí]hì]hê]hë]hð]uhòMhóhhô]rMhýXOMSMC  : o=0x0c000000, l = 0x00600000 /* 6MB Muticore shared memory */rM…�rM}rM(hÙUhÚjMubaubj))�rM}rM(hÙXThe .lds file expects users to provide STACKSIZE and HEAPSIZE from linker settings. To provide these settings got to Build Settings GNU Linker add the following to the Symbols section. Keystone II devices require this to be done explicitly in the linker settingshÚjÁHhäjOGhæj,hè}rM(hê]hë]hì]hí]hð]uhòNhóhhô]rMj/)�rM}rM(hÙXThe .lds file expects users to provide STACKSIZE and HEAPSIZE from linker settings. To provide these settings got to Build Settings GNU Linker add the following to the Symbols section. Keystone II devices require this to be done explicitly in the linker settingsrMhÚjMhäjOGhæj3hè}r M(hê]hë]hì]hí]hð]uhòKéhô]r!MhýXThe .lds file expects users to provide STACKSIZE and HEAPSIZE from linker settings. To provide these settings got to Build Settings GNU Linker add the following to the Symbols section. Keystone II devices require this to be done explicitly in the linker settingsr"M…�r#M}r$M(hÙjMhÚjMubaubaubjË)�r%M}r&M(hÙXSTACKSIZE=10000 HEAPSIZE=400hÚjÁHhäjOGhæjÎhè}r'M(jjhí]hì]hê]hë]hð]uhòMhóhhô]r(MhýXSTACKSIZE=10000 HEAPSIZE=400r)M…�r*M}r+M(hÙUhÚj%Mubaubj/)�r,M}r-M(hÙXj7. Right click on the project and select Build Project, to build the project and generate hello_world.out.r.MhÚjÁHhäjOGhæj3hè}r/M(hê]hë]hì]hí]hð]uhòKóhóhhô]r0MhýXj7. Right click on the project and select Build Project, to build the project and generate hello_world.out.r1M…�r2M}r3M(hÙj.MhÚj,Mubaubj/)�r4M}r5M(hÙX–8. Launch target configuration using your emulator to connect to AM572X EVM as described in the :ref:`Processor-SDK-RTOS-Getting-Started-Guide-label`.hÚjÁHhäjOGhæj3hè}r6M(hê]hë]hì]hí]hð]uhòKöhóhhô]r7M(hýX`8. Launch target configuration using your emulator to connect to AM572X EVM as described in the r8M…�r9M}r:M(hÙX`8. Launch target configuration using your emulator to connect to AM572X EVM as described in the hÚj4MubjZ)�r;M}rM(UreftypeXrefj¢ ˆj£ X.processor-sdk-rtos-getting-started-guide-labelU refdomainXstdr?Mhí]hì]U refexplicit‰hê]hë]hð]j¤ j¥ uhòKöhô]r@Mjb)�rAM}rBM(hÙj=Mhè}rCM(hê]hë]rDM(j­ j?MXstd-refrEMehì]hí]hð]uhÚj;Mhô]rFMhýX.Processor-SDK-RTOS-Getting-Started-Guide-labelrGM…�rHM}rIM(hÙUhÚjAMubahæjlubaubhýX.…�rJM}rKM(hÙX.hÚj4Mubeubj¼)�rLM}rMM(hÙUhÚjÁHhäjOGhæj¿hè}rNM(jÁU.jf5K hí]hì]hê]jÂUhë]hð]jÃjÄuhòKùhóhhô]rOMjX)�rPM}rQM(hÙX7Right click **CortexA15_0** and select connect target. hÚjLMhäjOGhæj[hè}rRM(hê]hë]hì]hí]hð]uhòNhóhhô]rSMj/)�rTM}rUM(hÙX6Right click **CortexA15_0** and select connect target.hÚjPMhäjOGhæj3hè}rVM(hê]hë]hì]hí]hð]uhòKùhô]rWM(hýX Right click rXM…�rYM}rZM(hÙX Right click hÚjTMubjW)�r[M}r\M(hÙX**CortexA15_0**hè}r]M(hê]hë]hì]hí]hð]uhÚjTMhô]r^MhýX CortexA15_0r_M…�r`M}raM(hÙUhÚj[Mubahæj_ubhýX and select connect target.rbM…�rcM}rdM(hÙX and select connect target.hÚjTMubeubaubaubj/)�reM}rfM(hÙXh10. Initialize DDR configuration. On CCS --> Scripts --> DDR configurations --> AM572_DDR3_532MHz_configrgMhÚjÁHhäjOGhæj3hè}rhM(hê]hë]hì]hí]hð]uhòKûhóhhô]riMhýXh10. Initialize DDR configuration. On CCS --> Scripts --> DDR configurations --> AM572_DDR3_532MHz_configrjM…�rkM}rlM(hÙjgMhÚjeMubaubj/)�rmM}rnM(hÙXu11. Load and run hello_world.out example file. You should see **Hello_world** string displayed on CCS console window.hÚjÁHhäjOGhæj3hè}roM(hê]hë]hì]hí]hð]uhòKþhóhhô]rpM(hýX>11. Load and run hello_world.out example file. You should see rqM…�rrM}rsM(hÙX>11. Load and run hello_world.out example file. You should see hÚjmMubjW)�rtM}ruM(hÙX**Hello_world**hè}rvM(hê]hë]hì]hí]hð]uhÚjmMhô]rwMhýX Hello_worldrxM…�ryM}rzM(hÙUhÚjtMubahæj_ubhýX( string displayed on CCS console window.r{M…�r|M}r}M(hÙX( string displayed on CCS console window.hÚjmMubeubj)�r~M}rM(hÙX*.. Image:: ../images/HelloWorldOutput.jpg hÚjÁHhäjOGhæjhè}r€M(UuriX#rtos/../images/HelloWorldOutput.jpgr�Mhí]hì]hê]hë]j}r‚MU*j�Mshð]uhòMhóhhô]ubj))�rƒM}r„M(hÙX‘- If the example does not load correctly in the first attempt, reload and **ensure ARM core starts at main**. - If the ARM loads correctly but you don`t see any output then check to see if the GNU linker is linking to Semihosting library (librdimon) in the linker setting. If it is not linked go to GNU linker settings in CCS project and add **"rdimon"** to the libraries that are linkedhÚjÁHhäNhæj,hè}r…M(hê]hë]hì]hí]hð]uhòNhóhhô]r†MjQ)�r‡M}rˆM(hÙUhè}r‰M(jVX-hí]hì]hê]hë]hð]uhÚjƒMhô]rŠM(jX)�r‹M}rŒM(hÙXkIf the example does not load correctly in the first attempt, reload and **ensure ARM core starts at main**.hè}r�M(hê]hë]hì]hí]hð]uhÚj‡Mhô]rŽMj/)�r�M}r�M(hÙXkIf the example does not load correctly in the first attempt, reload and **ensure ARM core starts at main**.hÚj‹MhäjOGhæj3hè}r‘M(hê]hë]hì]hí]hð]uhòMhô]r’M(hýXHIf the example does not load correctly in the first attempt, reload and r“M…�r”M}r•M(hÙXHIf the example does not load correctly in the first attempt, reload and hÚj�MubjW)�r–M}r—M(hÙX"**ensure ARM core starts at main**hè}r˜M(hê]hë]hì]hí]hð]uhÚj�Mhô]r™MhýXensure ARM core starts at mainršM…�r›M}rœM(hÙUhÚj–Mubahæj_ubhýX.…�r�M}ržM(hÙX.hÚj�Mubeubahæj[ubjX)�rŸM}r M(hÙXIf the ARM loads correctly but you don`t see any output then check to see if the GNU linker is linking to Semihosting library (librdimon) in the linker setting. If it is not linked go to GNU linker settings in CCS project and add **"rdimon"** to the libraries that are linkedhè}r¡M(hê]hë]hì]hí]hð]uhÚj‡Mhô]r¢Mj/)�r£M}r¤M(hÙXIf the ARM loads correctly but you don`t see any output then check to see if the GNU linker is linking to Semihosting library (librdimon) in the linker setting. If it is not linked go to GNU linker settings in CCS project and add **"rdimon"** to the libraries that are linkedhÚjŸMhäjOGhæj3hè}r¥M(hê]hë]hì]hí]hð]uhòMhô]r¦M(hýXæIf the ARM loads correctly but you don`t see any output then check to see if the GNU linker is linking to Semihosting library (librdimon) in the linker setting. If it is not linked go to GNU linker settings in CCS project and add r§M…�r¨M}r©M(hÙXæIf the ARM loads correctly but you don`t see any output then check to see if the GNU linker is linking to Semihosting library (librdimon) in the linker setting. If it is not linked go to GNU linker settings in CCS project and add hÚj£MubjW)�rªM}r«M(hÙX **"rdimon"**hè}r¬M(hê]hë]hì]hí]hð]uhÚj£Mhô]r­MhýX"rdimon"r®M…�r¯M}r°M(hÙUhÚjªMubahæj_ubhýX! to the libraries that are linkedr±M…�r²M}r³M(hÙX! to the libraries that are linkedhÚj£Mubeubahæj[ubehæjTubaubjÎ)�r´M}rµM(hÙUhÚjÁHhäjOGhæjÑhè}r¶M(hê]hë]hì]hí]hð]uhòM hóhhô]r·MjÔ)�r¸M}r¹M(hÙUj×KhÚj´MhäjOGhæhòhè}rºM(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubhÛ)�r»M}r¼M(hÙUjKhÚj=GhäjOGhæhçhè}r½M(hê]r¾Mjð<ahë]hì]hí]r¿MUid48rÀMahð]uhòMhóhhô]rÁM(hö)�rÂM}rÃM(hÙX ARM Cortex-A9rÄMhÚj»MhäjOGhæhúhè}rÅM(hê]hë]hì]hí]hð]uhòMhóhhô]rÆMhýX ARM Cortex-A9rÇM…�rÈM}rÉM(hÙjÄMhÚjÂMubaubj¼)�rÊM}rËM(hÙUhÚj»MhäjOGhæj¿hè}rÌM(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòMhóhhô]rÍMjX)�rÎM}rÏM(hÙX@Start CCSv6 and create a work space for generating the project. hÚjÊMhäjOGhæj[hè}rÐM(hê]hë]hì]hí]hð]uhòNhóhhô]rÑMj/)�rÒM}rÓM(hÙX?Start CCSv6 and create a work space for generating the project.rÔMhÚjÎMhäjOGhæj3hè}rÕM(hê]hë]hì]hí]hð]uhòMhô]rÖMhýX?Start CCSv6 and create a work space for generating the project.r×M…�rØM}rÙM(hÙjÔMhÚjÒMubaubaubaubj))�rÚM}rÛM(hÙXøCCSv6.1.1 doesn`t contain a hello world project template for Cortex A9 core using GNU Linaro 4.8.x tool chain. Due to code compatibility of Cortex A8 and cortex A9 platforms, We recommend that you create a project for Cortex A8 platform like AM335x using the GNU Linaro tool chain and then use the code to test hello world application on the Cortex A9 on the AM437x platform. If you wish to use TI ARM compiler 5.2.x, then you can use the default hello world template in CCSv6 for the Cortex A9 on AM437xhÚj»MhäjOGhæj,hè}rÜM(hê]hë]hì]hí]hð]uhòNhóhhô]rÝMj/)�rÞM}rßM(hÙXøCCSv6.1.1 doesn`t contain a hello world project template for Cortex A9 core using GNU Linaro 4.8.x tool chain. Due to code compatibility of Cortex A8 and cortex A9 platforms, We recommend that you create a project for Cortex A8 platform like AM335x using the GNU Linaro tool chain and then use the code to test hello world application on the Cortex A9 on the AM437x platform. If you wish to use TI ARM compiler 5.2.x, then you can use the default hello world template in CCSv6 for the Cortex A9 on AM437xràMhÚjÚMhäjOGhæj3hè}ráM(hê]hë]hì]hí]hð]uhòMhô]râMhýXøCCSv6.1.1 doesn`t contain a hello world project template for Cortex A9 core using GNU Linaro 4.8.x tool chain. Due to code compatibility of Cortex A8 and cortex A9 platforms, We recommend that you create a project for Cortex A8 platform like AM335x using the GNU Linaro tool chain and then use the code to test hello world application on the Cortex A9 on the AM437x platform. If you wish to use TI ARM compiler 5.2.x, then you can use the default hello world template in CCSv6 for the Cortex A9 on AM437xrãM…�räM}råM(hÙjàMhÚjÞMubaubaubj/)�ræM}rçM(hÙX2. Click on File menu option and select New--> CCS Project. Steps assume that user is using GN Linaro tool chain for Cortex A9.rèMhÚj»MhäjOGhæj3hè}réM(hê]hë]hì]hí]hð]uhòMhóhhô]rêMhýX2. Click on File menu option and select New--> CCS Project. Steps assume that user is using GN Linaro tool chain for Cortex A9.rëM…�rìM}ríM(hÙjèMhÚjæMubaubj/)�rîM}rïM(hÙX`3. Select Target as AM33xx -Cortex A8 and appropriate target Board setting as shown in the imagerðMhÚj»MhäjOGhæj3hè}rñM(hê]hë]hì]hí]hð]uhòM hóhhô]ròMhýX`3. Select Target as AM33xx -Cortex A8 and appropriate target Board setting as shown in the imageróM…�rôM}rõM(hÙjðMhÚjîMubaubj/)�röM}r÷M(hÙXÑ4. Select **Cortex A8** setting in the options below and provide name of the project as "hello_world_a9" and use default Advanced settings for the project. If the Default settings uses "TI ARM compiler 5.x.x" switch to **GNU Linaro 4.8.4** (or higher) tool chain for A9 and check the build **little** endian **ELF** binary for the A9 core. Click Finish after you are done to allow CCS to auto generate the project from the template **Basic Examples-> Hello World**.hÚj»MhäjOGhæj3hè}røM(hê]hë]hì]hí]hð]uhòM#hóhhô]rùM(hýX 4. Select rúM…�rûM}rüM(hÙX 4. Select hÚjöMubjW)�rýM}rþM(hÙX **Cortex A8**hè}rÿM(hê]hë]hì]hí]hð]uhÚjöMhô]rNhýX Cortex A8rN…�rN}rN(hÙUhÚjýMubahæj_ubhýXÄ setting in the options below and provide name of the project as "hello_world_a9" and use default Advanced settings for the project. If the Default settings uses "TI ARM compiler 5.x.x" switch to rN…�rN}rN(hÙXÄ setting in the options below and provide name of the project as "hello_world_a9" and use default Advanced settings for the project. If the Default settings uses "TI ARM compiler 5.x.x" switch to hÚjöMubjW)�rN}rN(hÙX**GNU Linaro 4.8.4**hè}r N(hê]hë]hì]hí]hð]uhÚjöMhô]r NhýXGNU Linaro 4.8.4r N…�r N}r N(hÙUhÚjNubahæj_ubhýX3 (or higher) tool chain for A9 and check the build rN…�rN}rN(hÙX3 (or higher) tool chain for A9 and check the build hÚjöMubjW)�rN}rN(hÙX **little**hè}rN(hê]hë]hì]hí]hð]uhÚjöMhô]rNhýXlittlerN…�rN}rN(hÙUhÚjNubahæj_ubhýX endian rN…�rN}rN(hÙX endian hÚjöMubjW)�rN}rN(hÙX**ELF**hè}rN(hê]hë]hì]hí]hð]uhÚjöMhô]rNhýXELFrN…�r N}r!N(hÙUhÚjNubahæj_ubhýXu binary for the A9 core. Click Finish after you are done to allow CCS to auto generate the project from the template r"N…�r#N}r$N(hÙXu binary for the A9 core. Click Finish after you are done to allow CCS to auto generate the project from the template hÚjöMubjW)�r%N}r&N(hÙX **Basic Examples-> Hello World**hè}r'N(hê]hë]hì]hí]hð]uhÚjöMhô]r(NhýXBasic Examples-> Hello Worldr)N…�r*N}r+N(hÙUhÚj%Nubahæj_ubhýX.…�r,N}r-N(hÙX.hÚjöMubeubj)�r.N}r/N(hÙX6.. Image:: ../images/Bare-Metal_A9_templateselect.jpg hÚj»MhäjOGhæjhè}r0N(UuriX/rtos/../images/Bare-Metal_A9_templateselect.jpgr1Nhí]hì]hê]hë]j}r2NU*j1Nshð]uhòM,hóhhô]ubj/)�r3N}r4N(hÙX?5. The generated CCS project contains source file **main.c**, ARM assembly code **startup_ARMCA8.S** and a linker command file **AM335x.lds**. The startup file does some basic setup and there is no difference between A8 and A9, so it can be used directly on A9 target. Ensure the main.c file contains the following codehÚj»MhäjOGhæj3hè}r5N(hê]hë]hì]hí]hð]uhòM-hóhhô]r6N(hýX25. The generated CCS project contains source file r7N…�r8N}r9N(hÙX25. The generated CCS project contains source file hÚj3NubjW)�r:N}r;N(hÙX **main.c**hè}rN…�r?N}r@N(hÙUhÚj:Nubahæj_ubhýX, ARM assembly code rAN…�rBN}rCN(hÙX, ARM assembly code hÚj3NubjW)�rDN}rEN(hÙX**startup_ARMCA8.S**hè}rFN(hê]hë]hì]hí]hð]uhÚj3Nhô]rGNhýXstartup_ARMCA8.SrHN…�rIN}rJN(hÙUhÚjDNubahæj_ubhýX and a linker command file rKN…�rLN}rMN(hÙX and a linker command file hÚj3NubjW)�rNN}rON(hÙX**AM335x.lds**hè}rPN(hê]hë]hì]hí]hð]uhÚj3Nhô]rQNhýX AM335x.ldsrRN…�rSN}rTN(hÙUhÚjNNubahæj_ubhýX². The startup file does some basic setup and there is no difference between A8 and A9, so it can be used directly on A9 target. Ensure the main.c file contains the following coderUN…�rVN}rWN(hÙX². The startup file does some basic setup and there is no difference between A8 and A9, so it can be used directly on A9 target. Ensure the main.c file contains the following codehÚj3NubeubjÅ;)�rXN}rYN(hÙX7
hÚj»MhäjOGhæjÈ;hè}rZN(UformatXhtmljjhí]hì]hê]hë]hð]uhòM3hóhhô]r[NhýX7
r\N…�r]N}r^N(hÙUhÚjXNubaubjÅ;)�r_N}r`N(hÙX
hÚj»MhäjOGhæjÈ;hè}raN(UformatXhtmljjhí]hì]hê]hë]hð]uhòM7hóhhô]rbNhýX
rcN…�rdN}reN(hÙUhÚj_NubaubjË)�rfN}rgN(hÙXi /* * hello.c */ #include int main(void) { printf("Hello_world\n"); return 0; }hÚj»MhäjOGhæjÎhè}rhN(jjhí]hì]hê]hë]riN(jÙ;Xcehð]uhòMGhóhhô]rjN(hýX …�rkN}rlN(hÙX hÚjfNubjb)�rmN}rnN(hÙX/* * hello.c */hè}roN(hê]hë]rpN(UcommentrqNU multilinerrNehì]hí]hð]uhÚjfNhô]rsNhýX/* * hello.c */rtN…�ruN}rvN(hÙUhÚjmNubahæjlubhýX rwN…�rxN}ryN(hÙX hÚjfNubjb)�rzN}r{N(hÙX#includehè}r|N(hê]hë]r}N(Ucommentr~NUpreprocrNehì]hí]hð]uhÚjfNhô]r€NhýX#includer�N…�r‚N}rƒN(hÙUhÚjzNubahæjlubhýX …�r„N}r…N(hÙX hÚjfNubjb)�r†N}r‡N(hÙX hè}rˆN(hê]hë]r‰N(UcommentrŠNU preprocfiler‹Nehì]hí]hð]uhÚjfNhô]rŒNhýX r�N…�rŽN}r�N(hÙUhÚj†Nubahæjlubjb)�r�N}r‘N(hÙX hè}r’N(hê]hë]r“N(Ucommentr”NUpreprocr•Nehì]hí]hð]uhÚjfNhô]r–NhýX …�r—N}r˜N(hÙUhÚj�NubahæjlubhýX r™N…�ršN}r›N(hÙX hÚjfNubjb)�rœN}r�N(hÙXinthè}ržN(hê]hë]rŸN(Ukeywordr NUtyper¡Nehì]hí]hð]uhÚjfNhô]r¢NhýXintr£N…�r¤N}r¥N(hÙUhÚjœNubahæjlubhýX …�r¦N}r§N(hÙX hÚjfNubjb)�r¨N}r©N(hÙXmainhè}rªN(hê]hë]r«N(Unamer¬NUfunctionr­Nehì]hí]hð]uhÚjfNhô]r®NhýXmainr¯N…�r°N}r±N(hÙUhÚj¨Nubahæjlubjb)�r²N}r³N(hÙX(hè}r´N(hê]hë]rµNU punctuationr¶Nahì]hí]hð]uhÚjfNhô]r·NhýX(…�r¸N}r¹N(hÙUhÚj²Nubahæjlubjb)�rºN}r»N(hÙXvoidhè}r¼N(hê]hë]r½N(Ukeywordr¾NUtyper¿Nehì]hí]hð]uhÚjfNhô]rÀNhýXvoidrÁN…�rÂN}rÃN(hÙUhÚjºNubahæjlubjb)�rÄN}rÅN(hÙX)hè}rÆN(hê]hë]rÇNU punctuationrÈNahì]hí]hð]uhÚjfNhô]rÉNhýX)…�rÊN}rËN(hÙUhÚjÄNubahæjlubhýX …�rÌN}rÍN(hÙX hÚjfNubjb)�rÎN}rÏN(hÙX{hè}rÐN(hê]hë]rÑNU punctuationrÒNahì]hí]hð]uhÚjfNhô]rÓNhýX{…�rÔN}rÕN(hÙUhÚjÎNubahæjlubhýX rÖN…�r×N}rØN(hÙX hÚjfNubjb)�rÙN}rÚN(hÙXprintfhè}rÛN(hê]hë]rÜNUnamerÝNahì]hí]hð]uhÚjfNhô]rÞNhýXprintfrßN…�ràN}ráN(hÙUhÚjÙNubahæjlubjb)�râN}rãN(hÙX(hè}räN(hê]hë]råNU punctuationræNahì]hí]hð]uhÚjfNhô]rçNhýX(…�rèN}réN(hÙUhÚjâNubahæjlubjb)�rêN}rëN(hÙX "Hello_worldhè}rìN(hê]hë]ríN(UliteralrîNUstringrïNehì]hí]hð]uhÚjfNhô]rðNhýX "Hello_worldrñN…�ròN}róN(hÙUhÚjêNubahæjlubjb)�rôN}rõN(hÙX\nhè}röN(hê]hë]r÷N(UliteralrøNUstringrùNUescaperúNehì]hí]hð]uhÚjfNhô]rûNhýX\nrüN…�rýN}rþN(hÙUhÚjôNubahæjlubjb)�rÿN}rO(hÙX"hè}rO(hê]hë]rO(UliteralrOUstringrOehì]hí]hð]uhÚjfNhô]rOhýX"…�rO}rO(hÙUhÚjÿNubahæjlubjb)�rO}r O(hÙX);hè}r O(hê]hë]r OU punctuationr Oahì]hí]hð]uhÚjfNhô]r OhýX);rO…�rO}rO(hÙUhÚjOubahæjlubhýX rO…�rO}rO(hÙX hÚjfNubjb)�rO}rO(hÙXreturnhè}rO(hê]hë]rOUkeywordrOahì]hí]hð]uhÚjfNhô]rOhýXreturnrO…�rO}rO(hÙUhÚjOubahæjlubhýX …�rO}rO(hÙX hÚjfNubjb)�rO}r O(hÙX0hè}r!O(hê]hë]r"O(Uliteralr#OUnumberr$OUintegerr%Oehì]hí]hð]uhÚjfNhô]r&OhýX0…�r'O}r(O(hÙUhÚjOubahæjlubjb)�r)O}r*O(hÙX;hè}r+O(hê]hë]r,OU punctuationr-Oahì]hí]hð]uhÚjfNhô]r.OhýX;…�r/O}r0O(hÙUhÚj)OubahæjlubhýX …�r1O}r2O(hÙX hÚjfNubjb)�r3O}r4O(hÙX}hè}r5O(hê]hë]r6OU punctuationr7Oahì]hí]hð]uhÚjfNhô]r8OhýX}…�r9O}r:O(hÙUhÚj3OubahæjlubeubjÅ;)�r;O}rhÚj»MhäjOGhæjÈ;hè}r=O(UformatXhtmljjhí]hì]hê]hë]hð]uhòMHhóhhô]r>OhýX
r?O…�r@O}rAO(hÙUhÚj;OubaubjÅ;)�rBO}rCO(hÙX
hÚj»MhäjOGhæjÈ;hè}rDO(UformatXhtmljjhí]hì]hê]hë]hð]uhòMLhóhhô]rEOhýX
rFO…�rGO}rHO(hÙUhÚjBOubaubj¼)�rIO}rJO(hÙUhÚj»MhäjOGhæj¿hè}rKO(jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòMPhóhhô]rLOjX)�rMO}rNO(hÙXDEnsure that CCSv6 generates the linker command file **AM335x.lds**. hÚjIOhäjOGhæj[hè}rOO(hê]hë]hì]hí]hð]uhòNhóhhô]rPOj/)�rQO}rRO(hÙXCEnsure that CCSv6 generates the linker command file **AM335x.lds**.hÚjMOhäjOGhæj3hè}rSO(hê]hë]hì]hí]hð]uhòMPhô]rTO(hýX4Ensure that CCSv6 generates the linker command file rUO…�rVO}rWO(hÙX4Ensure that CCSv6 generates the linker command file hÚjQOubjW)�rXO}rYO(hÙX**AM335x.lds**hè}rZO(hê]hë]hì]hí]hð]uhÚjQOhô]r[OhýX AM335x.ldsr\O…�r]O}r^O(hÙUhÚjXOubahæj_ubhýX.…�r_O}r`O(hÙX.hÚjQOubeubaubaubjÅ;)�raO}rbO(hÙX7
hÚj»MhäjOGhæjÈ;hè}rcO(UformatXhtmljjhí]hì]hê]hë]hð]uhòMRhóhhô]rdOhýX7
reO…�rfO}rgO(hÙUhÚjaOubaubjÅ;)�rhO}riO(hÙX
hÚj»MhäjOGhæjÈ;hè}rjO(UformatXhtmljjhí]hì]hê]hë]hð]uhòMVhóhhô]rkOhýX
rlO…�rmO}rnO(hÙUhÚjhOubaubjË)�roO}rpO(hÙXŒMEMORY { SRAM : o = 0x402F0400, l = 0x0000FC00 /* 64kB internal SRAM */ L3OCMC0 : o = 0x40300000, l = 0x00010000 /* 64kB L3 OCMC SRAM */ M3SHUMEM : o = 0x44D00000, l = 0x00004000 /* 16kB M3 Shared Unified Code Space */ M3SHDMEM : o = 0x44D80000, l = 0x00002000 /* 8kB M3 Shared Data Memory */ DDR0 : o = 0x80000000, l = 0x40000000 /* 1GB external DDR Bank 0 */ }hÚj»MhäjOGhæjÎhè}rqO(jjhí]hì]hê]hë]rrO(jÙ;Xcehð]uhòMdhóhhô]rsO(jb)�rtO}ruO(hÙXMEMORYhè}rvO(hê]hë]rwOUnamerxOahì]hí]hð]uhÚjoOhô]ryOhýXMEMORYrzO…�r{O}r|O(hÙUhÚjtOubahæjlubhýX …�r}O}r~O(hÙX hÚjoOubjb)�rO}r€O(hÙX{hè}r�O(hê]hë]r‚OU punctuationrƒOahì]hí]hð]uhÚjoOhô]r„OhýX{…�r…O}r†O(hÙUhÚjOubahæjlubhýX r‡O…�rˆO}r‰O(hÙX hÚjoOubjb)�rŠO}r‹O(hÙXSRAMhè}rŒO(hê]hë]r�O(UnamerŽOUlabelr�Oehì]hí]hð]uhÚjoOhô]r�OhýXSRAMr‘O…�r’O}r“O(hÙUhÚjŠOubahæjlubhýX …�r”O}r•O(hÙX hÚjoOubjb)�r–O}r—O(hÙX:hè}r˜O(hê]hë]r™OU punctuationršOahì]hí]hð]uhÚjoOhô]r›OhýX:…�rœO}r�O(hÙUhÚj–OubahæjlubhýX ržO…�rŸO}r O(hÙX hÚjoOubjb)�r¡O}r¢O(hÙXohè}r£O(hê]hë]r¤OUnamer¥Oahì]hí]hð]uhÚjoOhô]r¦OhýXo…�r§O}r¨O(hÙUhÚj¡OubahæjlubhýX …�r©O}rªO(hÙX hÚjoOubjb)�r«O}r¬O(hÙX=hè}r­O(hê]hë]r®OUoperatorr¯Oahì]hí]hð]uhÚjoOhô]r°OhýX=…�r±O}r²O(hÙUhÚj«OubahæjlubhýX …�r³O}r´O(hÙX hÚjoOubjb)�rµO}r¶O(hÙX 0x402F0400hè}r·O(hê]hë]r¸O(Uliteralr¹OUnumberrºOUhexr»Oehì]hí]hð]uhÚjoOhô]r¼OhýX 0x402F0400r½O…�r¾O}r¿O(hÙUhÚjµOubahæjlubjb)�rÀO}rÁO(hÙX,hè}rÂO(hê]hë]rÃOU punctuationrÄOahì]hí]hð]uhÚjoOhô]rÅOhýX,…�rÆO}rÇO(hÙUhÚjÀOubahæjlubhýX rÈO…�rÉO}rÊO(hÙX hÚjoOubjb)�rËO}rÌO(hÙXlhè}rÍO(hê]hë]rÎOUnamerÏOahì]hí]hð]uhÚjoOhô]rÐOhýXl…�rÑO}rÒO(hÙUhÚjËOubahæjlubhýX …�rÓO}rÔO(hÙX hÚjoOubjb)�rÕO}rÖO(hÙX=hè}r×O(hê]hë]rØOUoperatorrÙOahì]hí]hð]uhÚjoOhô]rÚOhýX=…�rÛO}rÜO(hÙUhÚjÕOubahæjlubhýX …�rÝO}rÞO(hÙX hÚjoOubjb)�rßO}ràO(hÙX 0x0000FC00hè}ráO(hê]hë]râO(UliteralrãOUnumberräOUhexråOehì]hí]hð]uhÚjoOhô]ræOhýX 0x0000FC00rçO…�rèO}réO(hÙUhÚjßOubahæjlubhýX rêO…�rëO}rìO(hÙX hÚjoOubjb)�ríO}rîO(hÙX/* 64kB internal SRAM */hè}rïO(hê]hë]rðO(UcommentrñOU multilineròOehì]hí]hð]uhÚjoOhô]róOhýX/* 64kB internal SRAM */rôO…�rõO}röO(hÙUhÚjíOubahæjlubhýX r÷O…�røO}rùO(hÙX hÚjoOubjb)�rúO}rûO(hÙXL3OCMC0hè}rüO(hê]hë]rýO(UnamerþOUlabelrÿOehì]hí]hð]uhÚjoOhô]rPhýXL3OCMC0rP…�rP}rP(hÙUhÚjúOubahæjlubhýX …�rP}rP(hÙX hÚjoOubjb)�rP}rP(hÙX:hè}rP(hê]hë]r PU punctuationr Pahì]hí]hð]uhÚjoOhô]r PhýX:…�r P}r P(hÙUhÚjPubahæjlubhýX rP…�rP}rP(hÙX hÚjoOubjb)�rP}rP(hÙXohè}rP(hê]hë]rPUnamerPahì]hí]hð]uhÚjoOhô]rPhýXo…�rP}rP(hÙUhÚjPubahæjlubhýX …�rP}rP(hÙX hÚjoOubjb)�rP}rP(hÙX=hè}rP(hê]hë]rPUoperatorrPahì]hí]hð]uhÚjoOhô]r PhýX=…�r!P}r"P(hÙUhÚjPubahæjlubhýX …�r#P}r$P(hÙX hÚjoOubjb)�r%P}r&P(hÙX 0x40300000hè}r'P(hê]hë]r(P(Uliteralr)PUnumberr*PUhexr+Pehì]hí]hð]uhÚjoOhô]r,PhýX 0x40300000r-P…�r.P}r/P(hÙUhÚj%Pubahæjlubjb)�r0P}r1P(hÙX,hè}r2P(hê]hë]r3PU punctuationr4Pahì]hí]hð]uhÚjoOhô]r5PhýX,…�r6P}r7P(hÙUhÚj0PubahæjlubhýX r8P…�r9P}r:P(hÙX hÚjoOubjb)�r;P}rPUnamer?Pahì]hí]hð]uhÚjoOhô]r@PhýXl…�rAP}rBP(hÙUhÚj;PubahæjlubhýX …�rCP}rDP(hÙX hÚjoOubjb)�rEP}rFP(hÙX=hè}rGP(hê]hë]rHPUoperatorrIPahì]hí]hð]uhÚjoOhô]rJPhýX=…�rKP}rLP(hÙUhÚjEPubahæjlubhýX …�rMP}rNP(hÙX hÚjoOubjb)�rOP}rPP(hÙX 0x00010000hè}rQP(hê]hë]rRP(UliteralrSPUnumberrTPUhexrUPehì]hí]hð]uhÚjoOhô]rVPhýX 0x00010000rWP…�rXP}rYP(hÙUhÚjOPubahæjlubhýX rZP…�r[P}r\P(hÙX hÚjoOubjb)�r]P}r^P(hÙX/* 64kB L3 OCMC SRAM */hè}r_P(hê]hë]r`P(UcommentraPU multilinerbPehì]hí]hð]uhÚjoOhô]rcPhýX/* 64kB L3 OCMC SRAM */rdP…�reP}rfP(hÙUhÚj]PubahæjlubhýX rgP…�rhP}riP(hÙX hÚjoOubjb)�rjP}rkP(hÙXM3SHUMEMhè}rlP(hê]hë]rmP(UnamernPUlabelroPehì]hí]hð]uhÚjoOhô]rpPhýXM3SHUMEMrqP…�rrP}rsP(hÙUhÚjjPubahæjlubhýX …�rtP}ruP(hÙX hÚjoOubjb)�rvP}rwP(hÙX:hè}rxP(hê]hë]ryPU punctuationrzPahì]hí]hð]uhÚjoOhô]r{PhýX:…�r|P}r}P(hÙUhÚjvPubahæjlubhýX …�r~P}rP(hÙX hÚjoOubjb)�r€P}r�P(hÙXohè}r‚P(hê]hë]rƒPUnamer„Pahì]hí]hð]uhÚjoOhô]r…PhýXo…�r†P}r‡P(hÙUhÚj€PubahæjlubhýX …�rˆP}r‰P(hÙX hÚjoOubjb)�rŠP}r‹P(hÙX=hè}rŒP(hê]hë]r�PUoperatorrŽPahì]hí]hð]uhÚjoOhô]r�PhýX=…�r�P}r‘P(hÙUhÚjŠPubahæjlubhýX …�r’P}r“P(hÙX hÚjoOubjb)�r”P}r•P(hÙX 0x44D00000hè}r–P(hê]hë]r—P(Uliteralr˜PUnumberr™PUhexršPehì]hí]hð]uhÚjoOhô]r›PhýX 0x44D00000rœP…�r�P}ržP(hÙUhÚj”Pubahæjlubjb)�rŸP}r P(hÙX,hè}r¡P(hê]hë]r¢PU punctuationr£Pahì]hí]hð]uhÚjoOhô]r¤PhýX,…�r¥P}r¦P(hÙUhÚjŸPubahæjlubhýX r§P…�r¨P}r©P(hÙX hÚjoOubjb)�rªP}r«P(hÙXlhè}r¬P(hê]hë]r­PUnamer®Pahì]hí]hð]uhÚjoOhô]r¯PhýXl…�r°P}r±P(hÙUhÚjªPubahæjlubhýX …�r²P}r³P(hÙX hÚjoOubjb)�r´P}rµP(hÙX=hè}r¶P(hê]hë]r·PUoperatorr¸Pahì]hí]hð]uhÚjoOhô]r¹PhýX=…�rºP}r»P(hÙUhÚj´PubahæjlubhýX …�r¼P}r½P(hÙX hÚjoOubjb)�r¾P}r¿P(hÙX 0x00004000hè}rÀP(hê]hë]rÁP(UliteralrÂPUnumberrÃPUhexrÄPehì]hí]hð]uhÚjoOhô]rÅPhýX 0x00004000rÆP…�rÇP}rÈP(hÙUhÚj¾PubahæjlubhýX rÉP…�rÊP}rËP(hÙX hÚjoOubjb)�rÌP}rÍP(hÙX'/* 16kB M3 Shared Unified Code Space */hè}rÎP(hê]hë]rÏP(UcommentrÐPU multilinerÑPehì]hí]hð]uhÚjoOhô]rÒPhýX'/* 16kB M3 Shared Unified Code Space */rÓP…�rÔP}rÕP(hÙUhÚjÌPubahæjlubhýX rÖP…�r×P}rØP(hÙX hÚjoOubjb)�rÙP}rÚP(hÙXM3SHDMEMhè}rÛP(hê]hë]rÜP(UnamerÝPUlabelrÞPehì]hí]hð]uhÚjoOhô]rßPhýXM3SHDMEMràP…�ráP}râP(hÙUhÚjÙPubahæjlubhýX …�rãP}räP(hÙX hÚjoOubjb)�råP}ræP(hÙX:hè}rçP(hê]hë]rèPU punctuationréPahì]hí]hð]uhÚjoOhô]rêPhýX:…�rëP}rìP(hÙUhÚjåPubahæjlubhýX …�ríP}rîP(hÙX hÚjoOubjb)�rïP}rðP(hÙXohè}rñP(hê]hë]ròPUnameróPahì]hí]hð]uhÚjoOhô]rôPhýXo…�rõP}röP(hÙUhÚjïPubahæjlubhýX …�r÷P}røP(hÙX hÚjoOubjb)�rùP}rúP(hÙX=hè}rûP(hê]hë]rüPUoperatorrýPahì]hí]hð]uhÚjoOhô]rþPhýX=…�rÿP}rQ(hÙUhÚjùPubahæjlubhýX …�rQ}rQ(hÙX hÚjoOubjb)�rQ}rQ(hÙX 0x44D80000hè}rQ(hê]hë]rQ(UliteralrQUnumberrQUhexr Qehì]hí]hð]uhÚjoOhô]r QhýX 0x44D80000r Q…�r Q}r Q(hÙUhÚjQubahæjlubjb)�rQ}rQ(hÙX,hè}rQ(hê]hë]rQU punctuationrQahì]hí]hð]uhÚjoOhô]rQhýX,…�rQ}rQ(hÙUhÚjQubahæjlubhýX rQ…�rQ}rQ(hÙX hÚjoOubjb)�rQ}rQ(hÙXlhè}rQ(hê]hë]rQUnamerQahì]hí]hð]uhÚjoOhô]rQhýXl…�rQ}r Q(hÙUhÚjQubahæjlubhýX …�r!Q}r"Q(hÙX hÚjoOubjb)�r#Q}r$Q(hÙX=hè}r%Q(hê]hë]r&QUoperatorr'Qahì]hí]hð]uhÚjoOhô]r(QhýX=…�r)Q}r*Q(hÙUhÚj#QubahæjlubhýX …�r+Q}r,Q(hÙX hÚjoOubjb)�r-Q}r.Q(hÙX 0x00002000hè}r/Q(hê]hë]r0Q(Uliteralr1QUnumberr2QUhexr3Qehì]hí]hð]uhÚjoOhô]r4QhýX 0x00002000r5Q…�r6Q}r7Q(hÙUhÚj-QubahæjlubhýX r8Q…�r9Q}r:Q(hÙX hÚjoOubjb)�r;Q}rQ(Ucommentr?QU multiliner@Qehì]hí]hð]uhÚjoOhô]rAQhýX/* 8kB M3 Shared Data Memory */rBQ…�rCQ}rDQ(hÙUhÚj;QubahæjlubhýX rEQ…�rFQ}rGQ(hÙX hÚjoOubjb)�rHQ}rIQ(hÙXDDR0hè}rJQ(hê]hë]rKQ(UnamerLQUlabelrMQehì]hí]hð]uhÚjoOhô]rNQhýXDDR0rOQ…�rPQ}rQQ(hÙUhÚjHQubahæjlubhýX …�rRQ}rSQ(hÙX hÚjoOubjb)�rTQ}rUQ(hÙX:hè}rVQ(hê]hë]rWQU punctuationrXQahì]hí]hð]uhÚjoOhô]rYQhýX:…�rZQ}r[Q(hÙUhÚjTQubahæjlubhýX r\Q…�r]Q}r^Q(hÙX hÚjoOubjb)�r_Q}r`Q(hÙXohè}raQ(hê]hë]rbQUnamercQahì]hí]hð]uhÚjoOhô]rdQhýXo…�reQ}rfQ(hÙUhÚj_QubahæjlubhýX …�rgQ}rhQ(hÙX hÚjoOubjb)�riQ}rjQ(hÙX=hè}rkQ(hê]hë]rlQUoperatorrmQahì]hí]hð]uhÚjoOhô]rnQhýX=…�roQ}rpQ(hÙUhÚjiQubahæjlubhýX …�rqQ}rrQ(hÙX hÚjoOubjb)�rsQ}rtQ(hÙX 0x80000000hè}ruQ(hê]hë]rvQ(UliteralrwQUnumberrxQUhexryQehì]hí]hð]uhÚjoOhô]rzQhýX 0x80000000r{Q…�r|Q}r}Q(hÙUhÚjsQubahæjlubjb)�r~Q}rQ(hÙX,hè}r€Q(hê]hë]r�QU punctuationr‚Qahì]hí]hð]uhÚjoOhô]rƒQhýX,…�r„Q}r…Q(hÙUhÚj~QubahæjlubhýX r†Q…�r‡Q}rˆQ(hÙX hÚjoOubjb)�r‰Q}rŠQ(hÙXlhè}r‹Q(hê]hë]rŒQUnamer�Qahì]hí]hð]uhÚjoOhô]rŽQhýXl…�r�Q}r�Q(hÙUhÚj‰QubahæjlubhýX …�r‘Q}r’Q(hÙX hÚjoOubjb)�r“Q}r”Q(hÙX=hè}r•Q(hê]hë]r–QUoperatorr—Qahì]hí]hð]uhÚjoOhô]r˜QhýX=…�r™Q}ršQ(hÙUhÚj“QubahæjlubhýX …�r›Q}rœQ(hÙX hÚjoOubjb)�r�Q}ržQ(hÙX 0x40000000hè}rŸQ(hê]hë]r Q(Uliteralr¡QUnumberr¢QUhexr£Qehì]hí]hð]uhÚjoOhô]r¤QhýX 0x40000000r¥Q…�r¦Q}r§Q(hÙUhÚj�QubahæjlubhýX r¨Q…�r©Q}rªQ(hÙX hÚjoOubjb)�r«Q}r¬Q(hÙX/* 1GB external DDR Bank 0 */hè}r­Q(hê]hë]r®Q(Ucommentr¯QU multiliner°Qehì]hí]hð]uhÚjoOhô]r±QhýX/* 1GB external DDR Bank 0 */r²Q…�r³Q}r´Q(hÙUhÚj«QubahæjlubhýX …�rµQ}r¶Q(hÙX hÚjoOubjb)�r·Q}r¸Q(hÙX}hè}r¹Q(hê]hë]rºQU punctuationr»Qahì]hí]hð]uhÚjoOhô]r¼QhýX}…�r½Q}r¾Q(hÙUhÚj·QubahæjlubeubjÅ;)�r¿Q}rÀQ(hÙX
hÚj»MhäjOGhæjÈ;hè}rÁQ(UformatXhtmljjhí]hì]hê]hë]hð]uhòMehóhhô]rÂQhýX
rÃQ…�rÄQ}rÅQ(hÙUhÚj¿QubaubjÅ;)�rÆQ}rÇQ(hÙX
hÚj»MhäjOGhæjÈ;hè}rÈQ(UformatXhtmljjhí]hì]hê]hë]hð]uhòMihóhhô]rÉQhýX
rÊQ…�rËQ}rÌQ(hÙUhÚjÆQubaubj))�rÍQ}rÎQ(hÙX|An optional step is to modify the section definition in AM437x.lds file if you wish to introduce more sections or partition the existing sections. If you renamed the startup file from startup_ARMCA8.S to startup_ARMCA9.S in your project, then the linker command file needs to be updated as well for code section placement: from startup_ARMCA8.o (.text) to startup_ARMCA9.o (.text)hÚj»MhäjOGhæj,hè}rÏQ(hê]hë]hì]hí]hð]uhòNhóhhô]rÐQj/)�rÑQ}rÒQ(hÙX|An optional step is to modify the section definition in AM437x.lds file if you wish to introduce more sections or partition the existing sections. If you renamed the startup file from startup_ARMCA8.S to startup_ARMCA9.S in your project, then the linker command file needs to be updated as well for code section placement: from startup_ARMCA8.o (.text) to startup_ARMCA9.o (.text)rÓQhÚjÍQhäjOGhæj3hè}rÔQ(hê]hë]hì]hí]hð]uhòMnhô]rÕQhýX|An optional step is to modify the section definition in AM437x.lds file if you wish to introduce more sections or partition the existing sections. If you renamed the startup file from startup_ARMCA8.S to startup_ARMCA9.S in your project, then the linker command file needs to be updated as well for code section placement: from startup_ARMCA8.o (.text) to startup_ARMCA9.o (.text)rÖQ…�r×Q}rØQ(hÙjÓQhÚjÑQubaubaubj¼)�rÙQ}rÚQ(hÙUhÚj»MhäjOGhæj¿hè}rÛQ(jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòMvhóhhô]rÜQjX)�rÝQ}rÞQ(hÙX8Now build the project to generate hello_world.out file. hÚjÙQhäjOGhæj[hè}rßQ(hê]hë]hì]hí]hð]uhòNhóhhô]ràQj/)�ráQ}râQ(hÙX7Now build the project to generate hello_world.out file.rãQhÚjÝQhäjOGhæj3hè}räQ(hê]hë]hì]hí]hð]uhòMvhô]råQhýX7Now build the project to generate hello_world.out file.ræQ…�rçQ}rèQ(hÙjãQhÚjáQubaubaubaubj/)�réQ}rêQ(hÙX¯8. Launch target configurations using your emulator to connect to AM335X EVM as described in the :ref:`Getting Started Guide `.hÚj»MhäjOGhæj3hè}rëQ(hê]hë]hì]hí]hð]uhòMxhóhhô]rìQ(hýXa8. Launch target configurations using your emulator to connect to AM335X EVM as described in the ríQ…�rîQ}rïQ(hÙXa8. Launch target configurations using your emulator to connect to AM335X EVM as described in the hÚjéQubjZ)�rðQ}rñQ(hÙXM:ref:`Getting Started Guide `ròQhÚjéQhäjOGhæj^hè}róQ(UreftypeXrefj¢ ˆj£ X.processor-sdk-rtos-getting-started-guide-labelU refdomainXstdrôQhí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòMxhô]rõQjb)�röQ}r÷Q(hÙjòQhè}røQ(hê]hë]rùQ(j­ jôQXstd-refrúQehì]hí]hð]uhÚjðQhô]rûQhýXGetting Started GuiderüQ…�rýQ}rþQ(hÙUhÚjöQubahæjlubaubhýX.…�rÿQ}rR(hÙX.hÚjéQubeubj/)�rR}rR(hÙXv9. Right click CortexA9 and connect target. The on target functionality in the GEL will initialize the clocks and DDR.rRhÚj»MhäjOGhæj3hè}rR(hê]hë]hì]hí]hð]uhòM{hóhhô]rRhýXv9. Right click CortexA9 and connect target. The on target functionality in the GEL will initialize the clocks and DDR.rR…�rR}rR(hÙjRhÚjRubaubj/)�r R}r R(hÙXq10. Load and run hello_world_a9.out file. You should see **Hello World!** string displayed on CCS console window.hÚj»MhäjOGhæj3hè}r R(hê]hë]hì]hí]hð]uhòM~hóhhô]r R(hýX910. Load and run hello_world_a9.out file. You should see r R…�rR}rR(hÙX910. Load and run hello_world_a9.out file. You should see hÚj RubjW)�rR}rR(hÙX**Hello World!**hè}rR(hê]hë]hì]hí]hð]uhÚj Rhô]rRhýX Hello World!rR…�rR}rR(hÙUhÚjRubahæj_ubhýX( string displayed on CCS console window.rR…�rR}rR(hÙX( string displayed on CCS console window.hÚj Rubeubj)�rR}rR(hÙX(.. Image:: ../images/Hello_world_a9.jpg hÚj»MhäjOGhæjhè}rR(UuriX!rtos/../images/Hello_world_a9.jpgrRhí]hì]hê]hë]j}rRU*jRshð]uhòM‚hóhhô]ubj))�rR}r R(hÙXkIf the example does not load correctly in the first attempt, reload and **ensure ARM core starts at main**.hÚj»MhäjOGhæj,hè}r!R(hê]hë]hì]hí]hð]uhòNhóhhô]r"Rj/)�r#R}r$R(hÙXkIf the example does not load correctly in the first attempt, reload and **ensure ARM core starts at main**.hÚjRhäjOGhæj3hè}r%R(hê]hë]hì]hí]hð]uhòM„hô]r&R(hýXHIf the example does not load correctly in the first attempt, reload and r'R…�r(R}r)R(hÙXHIf the example does not load correctly in the first attempt, reload and hÚj#RubjW)�r*R}r+R(hÙX"**ensure ARM core starts at main**hè}r,R(hê]hë]hì]hí]hð]uhÚj#Rhô]r-RhýXensure ARM core starts at mainr.R…�r/R}r0R(hÙUhÚj*Rubahæj_ubhýX.…�r1R}r2R(hÙX.hÚj#RubeubaubeubhÛ)�r3R}r4R(hÙUjKhÚj=GhäjOGhæhçhè}r5R(hê]r6Rjµ>ahë]hì]hí]r7RUid49r8Rahð]uhòM‰hóhhô]r9R(hö)�r:R}r;R(hÙX ARM Cortex-A8rRhýX ARM Cortex-A8r?R…�r@R}rAR(hÙj CCS Project. hÚjBRhäjOGhæj[hè}rTR(hê]hë]hì]hí]hð]uhòNhóhhô]rURj/)�rVR}rWR(hÙX8Click on File menu option and select New--> CCS Project.rXRhÚjRRhäjOGhæj3hè}rYR(hê]hë]hì]hí]hð]uhòM�hô]rZRhýX8Click on File menu option and select New--> CCS Project.r[R…�r\R}r]R(hÙjXRhÚjVRubaubaubeubj/)�r^R}r_R(hÙX`3. Select Target as AM33xx -Cortex A8 and appropriate target Board setting as shown in the imager`RhÚj3RhäjOGhæj3hè}raR(hê]hë]hì]hí]hð]uhòM�hóhhô]rbRhýX`3. Select Target as AM33xx -Cortex A8 and appropriate target Board setting as shown in the imagercR…�rdR}reR(hÙj`RhÚj^Rubaubj/)�rfR}rgR(hÙXÑ4. Select **Cortex A8** setting in the options below and provide name of the project as "hello_world_a8" and use default Advanced settings for the project. If the Default settings uses "TI ARM compiler 5.x.x" switch to **GNU Linaro 4.8.4** (or higher) tool chain for A8 and check the build **little** endian **ELF** binary for the A8 core. Click Finish after you are done to allow CCS to auto generate the project from the template **Basic Examples-> Hello World**.hÚj3RhäjOGhæj3hè}rhR(hê]hë]hì]hí]hð]uhòM’hóhhô]riR(hýX 4. Select rjR…�rkR}rlR(hÙX 4. Select hÚjfRubjW)�rmR}rnR(hÙX **Cortex A8**hè}roR(hê]hë]hì]hí]hð]uhÚjfRhô]rpRhýX Cortex A8rqR…�rrR}rsR(hÙUhÚjmRubahæj_ubhýXÄ setting in the options below and provide name of the project as "hello_world_a8" and use default Advanced settings for the project. If the Default settings uses "TI ARM compiler 5.x.x" switch to rtR…�ruR}rvR(hÙXÄ setting in the options below and provide name of the project as "hello_world_a8" and use default Advanced settings for the project. If the Default settings uses "TI ARM compiler 5.x.x" switch to hÚjfRubjW)�rwR}rxR(hÙX**GNU Linaro 4.8.4**hè}ryR(hê]hë]hì]hí]hð]uhÚjfRhô]rzRhýXGNU Linaro 4.8.4r{R…�r|R}r}R(hÙUhÚjwRubahæj_ubhýX3 (or higher) tool chain for A8 and check the build r~R…�rR}r€R(hÙX3 (or higher) tool chain for A8 and check the build hÚjfRubjW)�r�R}r‚R(hÙX **little**hè}rƒR(hê]hë]hì]hí]hð]uhÚjfRhô]r„RhýXlittler…R…�r†R}r‡R(hÙUhÚj�Rubahæj_ubhýX endian rˆR…�r‰R}rŠR(hÙX endian hÚjfRubjW)�r‹R}rŒR(hÙX**ELF**hè}r�R(hê]hë]hì]hí]hð]uhÚjfRhô]rŽRhýXELFr�R…�r�R}r‘R(hÙUhÚj‹Rubahæj_ubhýXu binary for the A8 core. Click Finish after you are done to allow CCS to auto generate the project from the template r’R…�r“R}r”R(hÙXu binary for the A8 core. Click Finish after you are done to allow CCS to auto generate the project from the template hÚjfRubjW)�r•R}r–R(hÙX **Basic Examples-> Hello World**hè}r—R(hê]hë]hì]hí]hð]uhÚjfRhô]r˜RhýXBasic Examples-> Hello Worldr™R…�ršR}r›R(hÙUhÚj•Rubahæj_ubhýX.…�rœR}r�R(hÙX.hÚjfRubeubj)�ržR}rŸR(hÙX6.. Image:: ../images/Bare-Metal_A8_templateselect.jpg hÚj3RhäjOGhæjhè}r R(UuriX/rtos/../images/Bare-Metal_A8_templateselect.jpgr¡Rhí]hì]hê]hë]j}r¢RU*j¡Rshð]uhòM›hóhhô]ubj/)�r£R}r¤R(hÙXÂ5. The generated CCS project contains source file **hello.c**, ARM assembly code **startup_ARMCA8.S** and a linker command file **AM335x.lds**. Ensure the main.c file contains the following codehÚj3RhäjOGhæj3hè}r¥R(hê]hë]hì]hí]hð]uhòMœhóhhô]r¦R(hýX25. The generated CCS project contains source file r§R…�r¨R}r©R(hÙX25. The generated CCS project contains source file hÚj£RubjW)�rªR}r«R(hÙX **hello.c**hè}r¬R(hê]hë]hì]hí]hð]uhÚj£Rhô]r­RhýXhello.cr®R…�r¯R}r°R(hÙUhÚjªRubahæj_ubhýX, ARM assembly code r±R…�r²R}r³R(hÙX, ARM assembly code hÚj£RubjW)�r´R}rµR(hÙX**startup_ARMCA8.S**hè}r¶R(hê]hë]hì]hí]hð]uhÚj£Rhô]r·RhýXstartup_ARMCA8.Sr¸R…�r¹R}rºR(hÙUhÚj´Rubahæj_ubhýX and a linker command file r»R…�r¼R}r½R(hÙX and a linker command file hÚj£RubjW)�r¾R}r¿R(hÙX**AM335x.lds**hè}rÀR(hê]hë]hì]hí]hð]uhÚj£Rhô]rÁRhýX AM335x.ldsrÂR…�rÃR}rÄR(hÙUhÚj¾Rubahæj_ubhýX4. Ensure the main.c file contains the following coderÅR…�rÆR}rÇR(hÙX4. Ensure the main.c file contains the following codehÚj£RubeubjÅ;)�rÈR}rÉR(hÙX7
hÚj3RhäjOGhæjÈ;hè}rÊR(UformatXhtmljjhí]hì]hê]hë]hð]uhòM hóhhô]rËRhýX7
rÌR…�rÍR}rÎR(hÙUhÚjÈRubaubjÅ;)�rÏR}rÐR(hÙX
hÚj3RhäjOGhæjÈ;hè}rÑR(UformatXhtmljjhí]hì]hê]hë]hð]uhòM¤hóhhô]rÒRhýX
rÓR…�rÔR}rÕR(hÙUhÚjÏRubaubjË)�rÖR}r×R(hÙXi /* * hello.c */ #include int main(void) { printf("Hello_world\n"); return 0; }hÚj3RhäjOGhæjÎhè}rØR(jjhí]hì]hê]hë]rÙR(jÙ;Xcehð]uhòM´hóhhô]rÚR(hýX …�rÛR}rÜR(hÙX hÚjÖRubjb)�rÝR}rÞR(hÙX/* * hello.c */hè}rßR(hê]hë]ràR(UcommentráRU multilinerâRehì]hí]hð]uhÚjÖRhô]rãRhýX/* * hello.c */räR…�råR}ræR(hÙUhÚjÝRubahæjlubhýX rçR…�rèR}réR(hÙX hÚjÖRubjb)�rêR}rëR(hÙX#includehè}rìR(hê]hë]ríR(UcommentrîRUpreprocrïRehì]hí]hð]uhÚjÖRhô]rðRhýX#includerñR…�ròR}róR(hÙUhÚjêRubahæjlubhýX …�rôR}rõR(hÙX hÚjÖRubjb)�röR}r÷R(hÙX hè}røR(hê]hë]rùR(UcommentrúRU preprocfilerûRehì]hí]hð]uhÚjÖRhô]rüRhýX rýR…�rþR}rÿR(hÙUhÚjöRubahæjlubjb)�rS}rS(hÙX hè}rS(hê]hë]rS(UcommentrSUpreprocrSehì]hí]hð]uhÚjÖRhô]rShýX …�rS}rS(hÙUhÚjSubahæjlubhýX r S…�r S}r S(hÙX hÚjÖRubjb)�r S}r S(hÙXinthè}rS(hê]hë]rS(UkeywordrSUtyperSehì]hí]hð]uhÚjÖRhô]rShýXintrS…�rS}rS(hÙUhÚj SubahæjlubhýX …�rS}rS(hÙX hÚjÖRubjb)�rS}rS(hÙXmainhè}rS(hê]hë]rS(UnamerSUfunctionrSehì]hí]hð]uhÚjÖRhô]rShýXmainrS…�r S}r!S(hÙUhÚjSubahæjlubjb)�r"S}r#S(hÙX(hè}r$S(hê]hë]r%SU punctuationr&Sahì]hí]hð]uhÚjÖRhô]r'ShýX(…�r(S}r)S(hÙUhÚj"Subahæjlubjb)�r*S}r+S(hÙXvoidhè}r,S(hê]hë]r-S(Ukeywordr.SUtyper/Sehì]hí]hð]uhÚjÖRhô]r0ShýXvoidr1S…�r2S}r3S(hÙUhÚj*Subahæjlubjb)�r4S}r5S(hÙX)hè}r6S(hê]hë]r7SU punctuationr8Sahì]hí]hð]uhÚjÖRhô]r9ShýX)…�r:S}r;S(hÙUhÚj4SubahæjlubhýX …�rS}r?S(hÙX{hè}r@S(hê]hë]rASU punctuationrBSahì]hí]hð]uhÚjÖRhô]rCShýX{…�rDS}rES(hÙUhÚj>SubahæjlubhýX rFS…�rGS}rHS(hÙX hÚjÖRubjb)�rIS}rJS(hÙXprintfhè}rKS(hê]hë]rLSUnamerMSahì]hí]hð]uhÚjÖRhô]rNShýXprintfrOS…�rPS}rQS(hÙUhÚjISubahæjlubjb)�rRS}rSS(hÙX(hè}rTS(hê]hë]rUSU punctuationrVSahì]hí]hð]uhÚjÖRhô]rWShýX(…�rXS}rYS(hÙUhÚjRSubahæjlubjb)�rZS}r[S(hÙX "Hello_worldhè}r\S(hê]hë]r]S(Uliteralr^SUstringr_Sehì]hí]hð]uhÚjÖRhô]r`ShýX "Hello_worldraS…�rbS}rcS(hÙUhÚjZSubahæjlubjb)�rdS}reS(hÙX\nhè}rfS(hê]hë]rgS(UliteralrhSUstringriSUescaperjSehì]hí]hð]uhÚjÖRhô]rkShýX\nrlS…�rmS}rnS(hÙUhÚjdSubahæjlubjb)�roS}rpS(hÙX"hè}rqS(hê]hë]rrS(UliteralrsSUstringrtSehì]hí]hð]uhÚjÖRhô]ruShýX"…�rvS}rwS(hÙUhÚjoSubahæjlubjb)�rxS}ryS(hÙX);hè}rzS(hê]hë]r{SU punctuationr|Sahì]hí]hð]uhÚjÖRhô]r}ShýX);r~S…�rS}r€S(hÙUhÚjxSubahæjlubhýX r�S…�r‚S}rƒS(hÙX hÚjÖRubjb)�r„S}r…S(hÙXreturnhè}r†S(hê]hë]r‡SUkeywordrˆSahì]hí]hð]uhÚjÖRhô]r‰ShýXreturnrŠS…�r‹S}rŒS(hÙUhÚj„SubahæjlubhýX …�r�S}rŽS(hÙX hÚjÖRubjb)�r�S}r�S(hÙX0hè}r‘S(hê]hë]r’S(Uliteralr“SUnumberr”SUintegerr•Sehì]hí]hð]uhÚjÖRhô]r–ShýX0…�r—S}r˜S(hÙUhÚj�Subahæjlubjb)�r™S}ršS(hÙX;hè}r›S(hê]hë]rœSU punctuationr�Sahì]hí]hð]uhÚjÖRhô]ržShýX;…�rŸS}r S(hÙUhÚj™SubahæjlubhýX …�r¡S}r¢S(hÙX hÚjÖRubjb)�r£S}r¤S(hÙX}hè}r¥S(hê]hë]r¦SU punctuationr§Sahì]hí]hð]uhÚjÖRhô]r¨ShýX}…�r©S}rªS(hÙUhÚj£SubahæjlubeubjÅ;)�r«S}r¬S(hÙX
hÚj3RhäjOGhæjÈ;hè}r­S(UformatXhtmljjhí]hì]hê]hë]hð]uhòMµhóhhô]r®ShýX
r¯S…�r°S}r±S(hÙUhÚj«SubaubjÅ;)�r²S}r³S(hÙX
hÚj3RhäjOGhæjÈ;hè}r´S(UformatXhtmljjhí]hì]hê]hë]hð]uhòM¹hóhhô]rµShýX
r¶S…�r·S}r¸S(hÙUhÚj²Subaubj¼)�r¹S}rºS(hÙUhÚj3RhäjOGhæj¿hè}r»S(jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòM½hóhhô]r¼SjX)�r½S}r¾S(hÙXDEnsure that CCSv6 generates the linker command file **AM335x.lds**. hÚj¹ShäjOGhæj[hè}r¿S(hê]hë]hì]hí]hð]uhòNhóhhô]rÀSj/)�rÁS}rÂS(hÙXCEnsure that CCSv6 generates the linker command file **AM335x.lds**.hÚj½ShäjOGhæj3hè}rÃS(hê]hë]hì]hí]hð]uhòM½hô]rÄS(hýX4Ensure that CCSv6 generates the linker command file rÅS…�rÆS}rÇS(hÙX4Ensure that CCSv6 generates the linker command file hÚjÁSubjW)�rÈS}rÉS(hÙX**AM335x.lds**hè}rÊS(hê]hë]hì]hí]hð]uhÚjÁShô]rËShýX AM335x.ldsrÌS…�rÍS}rÎS(hÙUhÚjÈSubahæj_ubhýX.…�rÏS}rÐS(hÙX.hÚjÁSubeubaubaubjÅ;)�rÑS}rÒS(hÙX7
hÚj3RhäjOGhæjÈ;hè}rÓS(UformatXhtmljjhí]hì]hê]hë]hð]uhòM¿hóhhô]rÔShýX7
rÕS…�rÖS}r×S(hÙUhÚjÑSubaubjÅ;)�rØS}rÙS(hÙX
hÚj3RhäjOGhæjÈ;hè}rÚS(UformatXhtmljjhí]hì]hê]hë]hð]uhòMÃhóhhô]rÛShýX
rÜS…�rÝS}rÞS(hÙUhÚjØSubaubjË)�rßS}ràS(hÙXŒMEMORY { SRAM : o = 0x402F0400, l = 0x0000FC00 /* 64kB internal SRAM */ L3OCMC0 : o = 0x40300000, l = 0x00010000 /* 64kB L3 OCMC SRAM */ M3SHUMEM : o = 0x44D00000, l = 0x00004000 /* 16kB M3 Shared Unified Code Space */ M3SHDMEM : o = 0x44D80000, l = 0x00002000 /* 8kB M3 Shared Data Memory */ DDR0 : o = 0x80000000, l = 0x40000000 /* 1GB external DDR Bank 0 */ }hÚj3RhäjOGhæjÎhè}ráS(jjhí]hì]hê]hë]râS(jÙ;Xcehð]uhòMÑhóhhô]rãS(jb)�räS}råS(hÙXMEMORYhè}ræS(hê]hë]rçSUnamerèSahì]hí]hð]uhÚjßShô]réShýXMEMORYrêS…�rëS}rìS(hÙUhÚjäSubahæjlubhýX …�ríS}rîS(hÙX hÚjßSubjb)�rïS}rðS(hÙX{hè}rñS(hê]hë]ròSU punctuationróSahì]hí]hð]uhÚjßShô]rôShýX{…�rõS}röS(hÙUhÚjïSubahæjlubhýX r÷S…�røS}rùS(hÙX hÚjßSubjb)�rúS}rûS(hÙXSRAMhè}rüS(hê]hë]rýS(UnamerþSUlabelrÿSehì]hí]hð]uhÚjßShô]rThýXSRAMrT…�rT}rT(hÙUhÚjúSubahæjlubhýX …�rT}rT(hÙX hÚjßSubjb)�rT}rT(hÙX:hè}rT(hê]hë]r TU punctuationr Tahì]hí]hð]uhÚjßShô]r ThýX:…�r T}r T(hÙUhÚjTubahæjlubhýX rT…�rT}rT(hÙX hÚjßSubjb)�rT}rT(hÙXohè}rT(hê]hë]rTUnamerTahì]hí]hð]uhÚjßShô]rThýXo…�rT}rT(hÙUhÚjTubahæjlubhýX …�rT}rT(hÙX hÚjßSubjb)�rT}rT(hÙX=hè}rT(hê]hë]rTUoperatorrTahì]hí]hð]uhÚjßShô]r ThýX=…�r!T}r"T(hÙUhÚjTubahæjlubhýX …�r#T}r$T(hÙX hÚjßSubjb)�r%T}r&T(hÙX 0x402F0400hè}r'T(hê]hë]r(T(Uliteralr)TUnumberr*TUhexr+Tehì]hí]hð]uhÚjßShô]r,ThýX 0x402F0400r-T…�r.T}r/T(hÙUhÚj%Tubahæjlubjb)�r0T}r1T(hÙX,hè}r2T(hê]hë]r3TU punctuationr4Tahì]hí]hð]uhÚjßShô]r5ThýX,…�r6T}r7T(hÙUhÚj0TubahæjlubhýX r8T…�r9T}r:T(hÙX hÚjßSubjb)�r;T}rTUnamer?Tahì]hí]hð]uhÚjßShô]r@ThýXl…�rAT}rBT(hÙUhÚj;TubahæjlubhýX …�rCT}rDT(hÙX hÚjßSubjb)�rET}rFT(hÙX=hè}rGT(hê]hë]rHTUoperatorrITahì]hí]hð]uhÚjßShô]rJThýX=…�rKT}rLT(hÙUhÚjETubahæjlubhýX …�rMT}rNT(hÙX hÚjßSubjb)�rOT}rPT(hÙX 0x0000FC00hè}rQT(hê]hë]rRT(UliteralrSTUnumberrTTUhexrUTehì]hí]hð]uhÚjßShô]rVThýX 0x0000FC00rWT…�rXT}rYT(hÙUhÚjOTubahæjlubhýX rZT…�r[T}r\T(hÙX hÚjßSubjb)�r]T}r^T(hÙX/* 64kB internal SRAM */hè}r_T(hê]hë]r`T(UcommentraTU multilinerbTehì]hí]hð]uhÚjßShô]rcThýX/* 64kB internal SRAM */rdT…�reT}rfT(hÙUhÚj]TubahæjlubhýX rgT…�rhT}riT(hÙX hÚjßSubjb)�rjT}rkT(hÙXL3OCMC0hè}rlT(hê]hë]rmT(UnamernTUlabelroTehì]hí]hð]uhÚjßShô]rpThýXL3OCMC0rqT…�rrT}rsT(hÙUhÚjjTubahæjlubhýX …�rtT}ruT(hÙX hÚjßSubjb)�rvT}rwT(hÙX:hè}rxT(hê]hë]ryTU punctuationrzTahì]hí]hð]uhÚjßShô]r{ThýX:…�r|T}r}T(hÙUhÚjvTubahæjlubhýX r~T…�rT}r€T(hÙX hÚjßSubjb)�r�T}r‚T(hÙXohè}rƒT(hê]hë]r„TUnamer…Tahì]hí]hð]uhÚjßShô]r†ThýXo…�r‡T}rˆT(hÙUhÚj�TubahæjlubhýX …�r‰T}rŠT(hÙX hÚjßSubjb)�r‹T}rŒT(hÙX=hè}r�T(hê]hë]rŽTUoperatorr�Tahì]hí]hð]uhÚjßShô]r�ThýX=…�r‘T}r’T(hÙUhÚj‹TubahæjlubhýX …�r“T}r”T(hÙX hÚjßSubjb)�r•T}r–T(hÙX 0x40300000hè}r—T(hê]hë]r˜T(Uliteralr™TUnumberršTUhexr›Tehì]hí]hð]uhÚjßShô]rœThýX 0x40300000r�T…�ržT}rŸT(hÙUhÚj•Tubahæjlubjb)�r T}r¡T(hÙX,hè}r¢T(hê]hë]r£TU punctuationr¤Tahì]hí]hð]uhÚjßShô]r¥ThýX,…�r¦T}r§T(hÙUhÚj TubahæjlubhýX r¨T…�r©T}rªT(hÙX hÚjßSubjb)�r«T}r¬T(hÙXlhè}r­T(hê]hë]r®TUnamer¯Tahì]hí]hð]uhÚjßShô]r°ThýXl…�r±T}r²T(hÙUhÚj«TubahæjlubhýX …�r³T}r´T(hÙX hÚjßSubjb)�rµT}r¶T(hÙX=hè}r·T(hê]hë]r¸TUoperatorr¹Tahì]hí]hð]uhÚjßShô]rºThýX=…�r»T}r¼T(hÙUhÚjµTubahæjlubhýX …�r½T}r¾T(hÙX hÚjßSubjb)�r¿T}rÀT(hÙX 0x00010000hè}rÁT(hê]hë]rÂT(UliteralrÃTUnumberrÄTUhexrÅTehì]hí]hð]uhÚjßShô]rÆThýX 0x00010000rÇT…�rÈT}rÉT(hÙUhÚj¿TubahæjlubhýX rÊT…�rËT}rÌT(hÙX hÚjßSubjb)�rÍT}rÎT(hÙX/* 64kB L3 OCMC SRAM */hè}rÏT(hê]hë]rÐT(UcommentrÑTU multilinerÒTehì]hí]hð]uhÚjßShô]rÓThýX/* 64kB L3 OCMC SRAM */rÔT…�rÕT}rÖT(hÙUhÚjÍTubahæjlubhýX r×T…�rØT}rÙT(hÙX hÚjßSubjb)�rÚT}rÛT(hÙXM3SHUMEMhè}rÜT(hê]hë]rÝT(UnamerÞTUlabelrßTehì]hí]hð]uhÚjßShô]ràThýXM3SHUMEMráT…�râT}rãT(hÙUhÚjÚTubahæjlubhýX …�räT}råT(hÙX hÚjßSubjb)�ræT}rçT(hÙX:hè}rèT(hê]hë]réTU punctuationrêTahì]hí]hð]uhÚjßShô]rëThýX:…�rìT}ríT(hÙUhÚjæTubahæjlubhýX …�rîT}rïT(hÙX hÚjßSubjb)�rðT}rñT(hÙXohè}ròT(hê]hë]róTUnamerôTahì]hí]hð]uhÚjßShô]rõThýXo…�röT}r÷T(hÙUhÚjðTubahæjlubhýX …�røT}rùT(hÙX hÚjßSubjb)�rúT}rûT(hÙX=hè}rüT(hê]hë]rýTUoperatorrþTahì]hí]hð]uhÚjßShô]rÿThýX=…�rU}rU(hÙUhÚjúTubahæjlubhýX …�rU}rU(hÙX hÚjßSubjb)�rU}rU(hÙX 0x44D00000hè}rU(hê]hë]rU(UliteralrUUnumberr UUhexr Uehì]hí]hð]uhÚjßShô]r UhýX 0x44D00000r U…�r U}rU(hÙUhÚjUubahæjlubjb)�rU}rU(hÙX,hè}rU(hê]hë]rUU punctuationrUahì]hí]hð]uhÚjßShô]rUhýX,…�rU}rU(hÙUhÚjUubahæjlubhýX rU…�rU}rU(hÙX hÚjßSubjb)�rU}rU(hÙXlhè}rU(hê]hë]rUUnamerUahì]hí]hð]uhÚjßShô]rUhýXl…�r U}r!U(hÙUhÚjUubahæjlubhýX …�r"U}r#U(hÙX hÚjßSubjb)�r$U}r%U(hÙX=hè}r&U(hê]hë]r'UUoperatorr(Uahì]hí]hð]uhÚjßShô]r)UhýX=…�r*U}r+U(hÙUhÚj$UubahæjlubhýX …�r,U}r-U(hÙX hÚjßSubjb)�r.U}r/U(hÙX 0x00004000hè}r0U(hê]hë]r1U(Uliteralr2UUnumberr3UUhexr4Uehì]hí]hð]uhÚjßShô]r5UhýX 0x00004000r6U…�r7U}r8U(hÙUhÚj.UubahæjlubhýX r9U…�r:U}r;U(hÙX hÚjßSubjb)�rU(hê]hë]r?U(Ucommentr@UU multilinerAUehì]hí]hð]uhÚjßShô]rBUhýX'/* 16kB M3 Shared Unified Code Space */rCU…�rDU}rEU(hÙUhÚjhÚj3RhäjOGhæjÈ;hè}r1V(UformatXhtmljjhí]hì]hê]hë]hð]uhòMÒhóhhô]r2VhýX
r3V…�r4V}r5V(hÙUhÚj/VubaubjÅ;)�r6V}r7V(hÙX
hÚj3RhäjOGhæjÈ;hè}r8V(UformatXhtmljjhí]hì]hê]hë]hð]uhòMÖhóhhô]r9VhýX
r:V…�r;V}rV(hÙX’An optional step is to modify the section definition in AM335x.lds file if you wish to introduce more sections or partition the existing sections.hÚj3RhäjOGhæj,hè}r?V(hê]hë]hì]hí]hð]uhòNhóhhô]r@Vj/)�rAV}rBV(hÙX’An optional step is to modify the section definition in AM335x.lds file if you wish to introduce more sections or partition the existing sections.rCVhÚj=VhäjOGhæj3hè}rDV(hê]hë]hì]hí]hð]uhòMÛhô]rEVhýX’An optional step is to modify the section definition in AM335x.lds file if you wish to introduce more sections or partition the existing sections.rFV…�rGV}rHV(hÙjCVhÚjAVubaubaubj¼)�rIV}rJV(hÙUhÚj3RhäjOGhæj¿hè}rKV(jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòMßhóhhô]rLVjX)�rMV}rNV(hÙX;Now build the project to generate hello_world_a8.out file. hÚjIVhäjOGhæj[hè}rOV(hê]hë]hì]hí]hð]uhòNhóhhô]rPVj/)�rQV}rRV(hÙX:Now build the project to generate hello_world_a8.out file.rSVhÚjMVhäjOGhæj3hè}rTV(hê]hë]hì]hí]hð]uhòMßhô]rUVhýX:Now build the project to generate hello_world_a8.out file.rVV…�rWV}rXV(hÙjSVhÚjQVubaubaubaubj/)�rYV}rZV(hÙX¯8. Launch target configurations using your emulator to connect to AM335X EVM as described in the :ref:`Getting Started Guide `.hÚj3RhäjOGhæj3hè}r[V(hê]hë]hì]hí]hð]uhòMáhóhhô]r\V(hýXa8. Launch target configurations using your emulator to connect to AM335X EVM as described in the r]V…�r^V}r_V(hÙXa8. Launch target configurations using your emulator to connect to AM335X EVM as described in the hÚjYVubjZ)�r`V}raV(hÙXM:ref:`Getting Started Guide `rbVhÚjYVhäjOGhæj^hè}rcV(UreftypeXrefj¢ ˆj£ X.processor-sdk-rtos-getting-started-guide-labelU refdomainXstdrdVhí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòMáhô]reVjb)�rfV}rgV(hÙjbVhè}rhV(hê]hë]riV(j­ jdVXstd-refrjVehì]hí]hð]uhÚj`Vhô]rkVhýXGetting Started GuiderlV…�rmV}rnV(hÙUhÚjfVubahæjlubaubhýX.…�roV}rpV(hÙX.hÚjYVubeubj/)�rqV}rrV(hÙX}9. Right click CortexA8 and select connect target. The on target functionality in the GEL will initialize the clocks and DDR.rsVhÚj3RhäjOGhæj3hè}rtV(hê]hë]hì]hí]hð]uhòMähóhhô]ruVhýX}9. Right click CortexA8 and select connect target. The on target functionality in the GEL will initialize the clocks and DDR.rvV…�rwV}rxV(hÙjsVhÚjqVubaubj/)�ryV}rzV(hÙXq10. Load and run hello_world_a8.out file. You should see **Hello World!** string displayed on CCS console window.hÚj3RhäjOGhæj3hè}r{V(hê]hë]hì]hí]hð]uhòMçhóhhô]r|V(hýX910. Load and run hello_world_a8.out file. You should see r}V…�r~V}rV(hÙX910. Load and run hello_world_a8.out file. You should see hÚjyVubjW)�r€V}r�V(hÙX**Hello World!**hè}r‚V(hê]hë]hì]hí]hð]uhÚjyVhô]rƒVhýX Hello World!r„V…�r…V}r†V(hÙUhÚj€Vubahæj_ubhýX( string displayed on CCS console window.r‡V…�rˆV}r‰V(hÙX( string displayed on CCS console window.hÚjyVubeubj)�rŠV}r‹V(hÙX(.. Image:: ../images/Hello_world_a8.jpg hÚj3RhäjOGhæjhè}rŒV(UuriX!rtos/../images/Hello_world_a8.jpgr�Vhí]hì]hê]hë]j}rŽVU*j�Vshð]uhòMëhóhhô]ubj))�r�V}r�V(hÙXkIf the example does not load correctly in the first attempt, reload and **ensure ARM core starts at main**.hÚj3RhäjOGhæj,hè}r‘V(hê]hë]hì]hí]hð]uhòNhóhhô]r’Vj/)�r“V}r”V(hÙXkIf the example does not load correctly in the first attempt, reload and **ensure ARM core starts at main**.hÚj�VhäjOGhæj3hè}r•V(hê]hë]hì]hí]hð]uhòMíhô]r–V(hýXHIf the example does not load correctly in the first attempt, reload and r—V…�r˜V}r™V(hÙXHIf the example does not load correctly in the first attempt, reload and hÚj“VubjW)�ršV}r›V(hÙX"**ensure ARM core starts at main**hè}rœV(hê]hë]hì]hí]hð]uhÚj“Vhô]r�VhýXensure ARM core starts at mainržV…�rŸV}r V(hÙUhÚjšVubahæj_ubhýX.…�r¡V}r¢V(hÙX.hÚj“VubeubaubjÎ)�r£V}r¤V(hÙUhÚj3RhäjOGhæjÑhè}r¥V(hê]hë]hì]hí]hð]uhòMðhóhhô]r¦VjÔ)�r§V}r¨V(hÙUj×KhÚj£VhäjOGhæhòhè}r©V(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubhÛ)�rªV}r«V(hÙUjKhÚj=GhäjOGhæhçhè}r¬V(hê]r­Vjb@ahë]hì]hí]r®VUid50r¯Vahð]uhòMóhóhhô]r°V(hö)�r±V}r²V(hÙX ARM Cortex-R5r³VhÚjªVhäjOGhæhúhè}r´V(hê]hë]hì]hí]hð]uhòMóhóhhô]rµVhýX ARM Cortex-R5r¶V…�r·V}r¸V(hÙj³VhÚj±Vubaubj/)�r¹V}rºV(hÙXœIn this article, we take a look at creating bare-metal hello world examples for the Cortex-R5 core in CCS. We will be using the AM654x device as an example.r»VhÚjªVhäjOGhæj3hè}r¼V(hê]hë]hì]hí]hð]uhòMõhóhhô]r½VhýXœIn this article, we take a look at creating bare-metal hello world examples for the Cortex-R5 core in CCS. We will be using the AM654x device as an example.r¾V…�r¿V}rÀV(hÙj»VhÚj¹Vubaubj))�rÁV}rÂV(hÙXvFor future Device Support Package releases, the Hello World examples will be added to CCS as an out-of-box experience.rÃVhÚjªVhäjOGhæj,hè}rÄV(hê]hë]hì]hí]hð]uhòNhóhhô]rÅVj/)�rÆV}rÇV(hÙjÃVhÚjÁVhäjOGhæj3hè}rÈV(hê]hë]hì]hí]hð]uhòM÷hô]rÉVhýXvFor future Device Support Package releases, the Hello World examples will be added to CCS as an out-of-box experience.rÊV…�rËV}rÌV(hÙjÃVhÚjÆVubaubaubj/)�rÍV}rÎV(hÙX?1. Start CCS and create a workspace for generating the project.rÏVhÚjªVhäjOGhæj3hè}rÐV(hê]hë]hì]hí]hð]uhòMùhóhhô]rÑVhýX?1. Start CCS and create a workspace for generating the project.rÒV…�rÓV}rÔV(hÙjÏVhÚjÍVubaubj/)�rÕV}rÖV(hÙX*2. Navigate to File -> New -> CCS Project.r×VhÚjªVhäjOGhæj3hè}rØV(hê]hë]hì]hí]hð]uhòMühóhhô]rÙVhýX*2. Navigate to File -> New -> CCS Project.rÚV…�rÛV}rÜV(hÙj×VhÚjÕVubaubj/)�rÝV}rÞV(hÙXR3. Select Target as AM65x - Cortex R5 and GPEVM_AM65x as shown in the image below.rßVhÚjªVhäjOGhæj3hè}ràV(hê]hë]hì]hí]hð]uhòMÿhóhhô]ráVhýXR3. Select Target as AM65x - Cortex R5 and GPEVM_AM65x as shown in the image below.râV…�rãV}räV(hÙjßVhÚjÝVubaubj/)�råV}ræV(hÙX;4. Select the **Cortex R** tab and provide a name for the project. Select **TI v16.9.4.LTS** (or higher) for the Compiler Version. Under Tool-chain, set the Device Endianness to **little**, and for the Linker Command file, select **linker_r5.lds** located in the folder (PDK INSTALL PATH)/packages/ti/build/am65xx/.hÚjªVhäjOGhæj3hè}rçV(hê]hë]hì]hí]hð]uhòMhóhhô]rèV(hýX4. Select the réV…�rêV}rëV(hÙX4. Select the hÚjåVubjW)�rìV}ríV(hÙX **Cortex R**hè}rîV(hê]hë]hì]hí]hð]uhÚjåVhô]rïVhýXCortex RrðV…�rñV}ròV(hÙUhÚjìVubahæj_ubhýX0 tab and provide a name for the project. Select róV…�rôV}rõV(hÙX0 tab and provide a name for the project. Select hÚjåVubjW)�röV}r÷V(hÙX**TI v16.9.4.LTS**hè}røV(hê]hë]hì]hí]hð]uhÚjåVhô]rùVhýXTI v16.9.4.LTSrúV…�rûV}rüV(hÙUhÚjöVubahæj_ubhýXV (or higher) for the Compiler Version. Under Tool-chain, set the Device Endianness to rýV…�rþV}rÿV(hÙXV (or higher) for the Compiler Version. Under Tool-chain, set the Device Endianness to hÚjåVubjW)�rW}rW(hÙX **little**hè}rW(hê]hë]hì]hí]hð]uhÚjåVhô]rWhýXlittlerW…�rW}rW(hÙUhÚjWubahæj_ubhýX*, and for the Linker Command file, select rW…�rW}r W(hÙX*, and for the Linker Command file, select hÚjåVubjW)�r W}r W(hÙX**linker_r5.lds**hè}r W(hê]hë]hì]hí]hð]uhÚjåVhô]r WhýX linker_r5.ldsrW…�rW}rW(hÙUhÚj Wubahæj_ubhýXD located in the folder (PDK INSTALL PATH)/packages/ti/build/am65xx/.rW…�rW}rW(hÙXD located in the folder (PDK INSTALL PATH)/packages/ti/build/am65xx/.hÚjåVubeubj))�rW}rW(hÙXGPlease refer to the Release Notes for the recommended Compiler version.rWhÚjªVhäjOGhæj,hè}rW(hê]hë]hì]hí]hð]uhòNhóhhô]rWj/)�rW}rW(hÙjWhÚjWhäjOGhæj3hè}rW(hê]hë]hì]hí]hð]uhòMhô]rWhýXGPlease refer to the Release Notes for the recommended Compiler version.rW…�rW}rW(hÙjWhÚjWubaubaubj/)�r W}r!W(hÙXNUnder Project templates and examples, select **Basic Examples -> Hello World**r"WhÚjªVhäjOGhæj3hè}r#W(hê]hë]hì]hí]hð]uhòMhóhhô]r$W(hýX-Under Project templates and examples, select r%W…�r&W}r'W(hÙX-Under Project templates and examples, select hÚj WubjW)�r(W}r)W(hÙX!**Basic Examples -> Hello World**hè}r*W(hê]hë]hì]hí]hð]uhÚj Whô]r+WhýXBasic Examples -> Hello Worldr,W…�r-W}r.W(hÙUhÚj(Wubahæj_ubeubj/)�r/W}r0W(hÙX\Click Finish after you are done to allow CCS to auto generate the project from the template.r1WhÚjªVhäjOGhæj3hè}r2W(hê]hë]hì]hí]hð]uhòM hóhhô]r3WhýX\Click Finish after you are done to allow CCS to auto generate the project from the template.r4W…�r5W}r6W(hÙj1WhÚj/Wubaubj)�r7W}r8W(hÙX5.. Image:: ../images/AM65x_Create_CCS_Project_R5.png hÚjªVhäjOGhæjhè}r9W(UuriX.rtos/../images/AM65x_Create_CCS_Project_R5.pngr:Whí]hì]hê]hë]j}r;WU*j:Wshð]uhòM hóhhô]ubj/)�rW(hê]hë]hì]hí]hð]uhòMhóhhô]r?W(hýX25. The generated CCS project contains source file r@W…�rAW}rBW(hÙX25. The generated CCS project contains source file hÚj ARM Linker -> File Search Path and add the following libraries. ::hÚjªVhäjOGhæj3hè}rXW(hê]hë]hì]hí]hð]uhòMhóhhô]rYWhýX[6. Navigate to CCS Build -> ARM Linker -> File Search Path and add the following libraries.rZW…�r[W}r\W(hÙX[6. Navigate to CCS Build -> ARM Linker -> File Search Path and add the following libraries.hÚjVWubaubjË)�r]W}r^W(hÙX%ti.csl.aer5f ti.csl.init.aer5f libc.ahÚjªVhäjOGhæjÎhè}r_W(jjhí]hì]hê]hë]hð]uhòM7hóhhô]r`WhýX%ti.csl.aer5f ti.csl.init.aer5f libc.araW…�rbW}rcW(hÙUhÚj]Wubaubj/)�rdW}reW(hÙX,7. Add the following library search path. ::hÚjªVhäjOGhæj3hè}rfW(hê]hë]hì]hí]hð]uhòMhóhhô]rgWhýX)7. Add the following library search path.rhW…�riW}rjW(hÙX)7. Add the following library search path.hÚjdWubaubjË)�rkW}rlW(hÙX0(PDK INSTALL PATH)/ti/csl/lib/am65xx/r5f/releasehÚjªVhäjOGhæjÎhè}rmW(jjhí]hì]hê]hë]hð]uhòM?hóhhô]rnWhýX0(PDK INSTALL PATH)/ti/csl/lib/am65xx/r5f/releaseroW…�rpW}rqW(hÙUhÚjkWubaubj/)�rrW}rsW(hÙX8. Save all changes, and right click on the project and select Build Project to build the project and generate hello_world.out.rtWhÚjªVhäjOGhæj3hè}ruW(hê]hë]hì]hí]hð]uhòM hóhhô]rvWhýX8. Save all changes, and right click on the project and select Build Project to build the project and generate hello_world.out.rwW…�rxW}ryW(hÙjtWhÚjrWubaubj/)�rzW}r{W(hÙX�9. Launch the target configuration using your emulator to connect to the AM65x EVM as described in the :ref:`Processor-SDK-RTOS-Getting-Started-Guide-label`.hÚjªVhäjOGhæj3hè}r|W(hê]hë]hì]hí]hð]uhòM#hóhhô]r}W(hýXg9. Launch the target configuration using your emulator to connect to the AM65x EVM as described in the r~W…�rW}r€W(hÙXg9. Launch the target configuration using your emulator to connect to the AM65x EVM as described in the hÚjzWubjZ)�r�W}r‚W(hÙX5:ref:`Processor-SDK-RTOS-Getting-Started-Guide-label`rƒWhÚjzWhäjOGhæj^hè}r„W(UreftypeXrefj¢ ˆj£ X.processor-sdk-rtos-getting-started-guide-labelU refdomainXstdr…Whí]hì]U refexplicit‰hê]hë]hð]j¤ j¥ uhòM#hô]r†Wjb)�r‡W}rˆW(hÙjƒWhè}r‰W(hê]hë]rŠW(j­ j…WXstd-refr‹Wehì]hí]hð]uhÚj�Whô]rŒWhýX.Processor-SDK-RTOS-Getting-Started-Guide-labelr�W…�rŽW}r�W(hÙUhÚj‡WubahæjlubaubhýX.…�r�W}r‘W(hÙX.hÚjzWubeubj/)�r’W}r“W(hÙX�10. Right click on **DMSC_Cortex_M3_0** and click connect to target. After connecting to the M3, right click on **MCU_PULSAR_Cortex_R5_0** and connect to it.hÚjªVhäjOGhæj3hè}r”W(hê]hë]hì]hí]hð]uhòM&hóhhô]r•W(hýX10. Right click on r–W…�r—W}r˜W(hÙX10. Right click on hÚj’WubjW)�r™W}ršW(hÙX**DMSC_Cortex_M3_0**hè}r›W(hê]hë]hì]hí]hð]uhÚj’Whô]rœWhýXDMSC_Cortex_M3_0r�W…�ržW}rŸW(hÙUhÚj™Wubahæj_ubhýXI and click connect to target. After connecting to the M3, right click on r W…�r¡W}r¢W(hÙXI and click connect to target. After connecting to the M3, right click on hÚj’WubjW)�r£W}r¤W(hÙX**MCU_PULSAR_Cortex_R5_0**hè}r¥W(hê]hë]hì]hí]hð]uhÚj’Whô]r¦WhýXMCU_PULSAR_Cortex_R5_0r§W…�r¨W}r©W(hÙUhÚj£Wubahæj_ubhýX and connect to it.rªW…�r«W}r¬W(hÙX and connect to it.hÚj’Wubeubj/)�r­W}r®W(hÙXˆ11. Load and run hello_world.out example file on the Cortex-R5. You should see a Hello_world string displayed in the CCS console window.r¯WhÚjªVhäjOGhæj3hè}r°W(hê]hë]hì]hí]hð]uhòM)hóhhô]r±WhýXˆ11. Load and run hello_world.out example file on the Cortex-R5. You should see a Hello_world string displayed in the CCS console window.r²W…�r³W}r´W(hÙj¯WhÚj­Wubaubj)�rµW}r¶W(hÙX2.. Image:: ../images/AM65x_CCS_Hello_World_R5.PNG hÚjªVhäjOGhæjhè}r·W(UuriX+rtos/../images/AM65x_CCS_Hello_World_R5.PNGr¸Whí]hì]hê]hë]j}r¹WU*j¸Wshð]uhòM-hóhhô]ubjÎ)�rºW}r»W(hÙUhÚjªVhäjOGhæjÑhè}r¼W(hê]hë]hì]hí]hð]uhòM.hóhhô]r½WjÔ)�r¾W}r¿W(hÙUj×KhÚjºWhäjOGhæhòhè}rÀW(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubhÛ)�rÁW}rÂW(hÙUjKhÚj=GhäjOGhæhçhè}rÃW(hê]rÄWjÒ@ahë]hì]hí]rÅWUid51rÆWahð]uhòM1hóhhô]rÇW(hö)�rÈW}rÉW(hÙX ARM Cortex-M4rÊWhÚjÁWhäjOGhæhúhè}rËW(hê]hë]hì]hí]hð]uhòM1hóhhô]rÌWhýX ARM Cortex-M4rÍW…�rÎW}rÏW(hÙjÊWhÚjÈWubaubj¼)�rÐW}rÑW(hÙUhÚjÁWhäjOGhæj¿hè}rÒW(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòM3hóhhô]rÓW(jX)�rÔW}rÕW(hÙX@Start CCSv6 and create a work space for generating the project. hÚjÐWhäjOGhæj[hè}rÖW(hê]hë]hì]hí]hð]uhòNhóhhô]r×Wj/)�rØW}rÙW(hÙX?Start CCSv6 and create a work space for generating the project.rÚWhÚjÔWhäjOGhæj3hè}rÛW(hê]hë]hì]hí]hð]uhòM3hô]rÜWhýX?Start CCSv6 and create a work space for generating the project.rÝW…�rÞW}rßW(hÙjÚWhÚjØWubaubaubjX)�ràW}ráW(hÙX9Click on File menu option and select New--> CCS Project. hÚjÐWhäjOGhæj[hè}râW(hê]hë]hì]hí]hð]uhòNhóhhô]rãWj/)�räW}råW(hÙX8Click on File menu option and select New--> CCS Project.ræWhÚjàWhäjOGhæj3hè}rçW(hê]hë]hì]hí]hð]uhòM5hô]rèWhýX8Click on File menu option and select New--> CCS Project.réW…�rêW}rëW(hÙjæWhÚjäWubaubaubeubj/)�rìW}ríW(hÙXL3. Select Target as AM572x -Cortex M4 and GPEVM_AM572x as shown in the imagerîWhÚjÁWhäjOGhæj3hè}rïW(hê]hë]hì]hí]hð]uhòM7hóhhô]rðWhýXL3. Select Target as AM572x -Cortex M4 and GPEVM_AM572x as shown in the imagerñW…�ròW}róW(hÙjîWhÚjìWubaubj/)�rôW}rõW(hÙX¬4. Select **Cortex M** setting in the options below and provide name of the project as "hello_world_m4" and use default Advanced settings for the project. Click Finish after you are done to allow CCS to auto generate the project from the template **Basic Examples-> Hello World**. The Default settings uses "TI ARM compiler 5.x.x" tool chain for cortex M4 and sets the build for **little** endian **ELF** binary for the M4 core.hÚjÁWhäjOGhæj3hè}röW(hê]hë]hì]hí]hð]uhòM:hóhhô]r÷W(hýX 4. Select røW…�rùW}rúW(hÙX 4. Select hÚjôWubjW)�rûW}rüW(hÙX **Cortex M**hè}rýW(hê]hë]hì]hí]hð]uhÚjôWhô]rþWhýXCortex MrÿW…�rX}rX(hÙUhÚjûWubahæj_ubhýXá setting in the options below and provide name of the project as "hello_world_m4" and use default Advanced settings for the project. Click Finish after you are done to allow CCS to auto generate the project from the template rX…�rX}rX(hÙXá setting in the options below and provide name of the project as "hello_world_m4" and use default Advanced settings for the project. Click Finish after you are done to allow CCS to auto generate the project from the template hÚjôWubjW)�rX}rX(hÙX **Basic Examples-> Hello World**hè}rX(hê]hë]hì]hí]hð]uhÚjôWhô]rXhýXBasic Examples-> Hello Worldr X…�r X}r X(hÙUhÚjXubahæj_ubhýXd. The Default settings uses "TI ARM compiler 5.x.x" tool chain for cortex M4 and sets the build for r X…�r X}rX(hÙXd. The Default settings uses "TI ARM compiler 5.x.x" tool chain for cortex M4 and sets the build for hÚjôWubjW)�rX}rX(hÙX **little**hè}rX(hê]hë]hì]hí]hð]uhÚjôWhô]rXhýXlittlerX…�rX}rX(hÙUhÚjXubahæj_ubhýX endian rX…�rX}rX(hÙX endian hÚjôWubjW)�rX}rX(hÙX**ELF**hè}rX(hê]hë]hì]hí]hð]uhÚjôWhô]rXhýXELFrX…�rX}rX(hÙUhÚjXubahæj_ubhýX binary for the M4 core.r X…�r!X}r"X(hÙX binary for the M4 core.hÚjôWubeubj)�r#X}r$X(hÙX6.. Image:: ../images/Bare-Metal_M4_templateselect.jpg hÚjÁWhäjOGhæjhè}r%X(UuriX/rtos/../images/Bare-Metal_M4_templateselect.jpgr&Xhí]hì]hê]hë]j}r'XU*j&Xshð]uhòMChóhhô]ubj/)�r(X}r)X(hÙXz5. The generated CCS project contains only one source file **hello.c**. Ensure the main.c file contains the following codehÚjÁWhäjOGhæj3hè}r*X(hê]hë]hì]hí]hð]uhòMDhóhhô]r+X(hýX;5. The generated CCS project contains only one source file r,X…�r-X}r.X(hÙX;5. The generated CCS project contains only one source file hÚj(XubjW)�r/X}r0X(hÙX **hello.c**hè}r1X(hê]hë]hì]hí]hð]uhÚj(Xhô]r2XhýXhello.cr3X…�r4X}r5X(hÙUhÚj/Xubahæj_ubhýX4. Ensure the main.c file contains the following coder6X…�r7X}r8X(hÙX4. Ensure the main.c file contains the following codehÚj(XubeubjÅ;)�r9X}r:X(hÙX7
hÚjÁWhäjOGhæjÈ;hè}r;X(UformatXhtmljjhí]hì]hê]hë]hð]uhòMGhóhhô]rr=X…�r>X}r?X(hÙUhÚj9XubaubjÅ;)�r@X}rAX(hÙX
hÚjÁWhäjOGhæjÈ;hè}rBX(UformatXhtmljjhí]hì]hê]hë]hð]uhòMKhóhhô]rCXhýX
rDX…�rEX}rFX(hÙUhÚj@XubaubjË)�rGX}rHX(hÙXi /* * hello.c */ #include int main(void) { printf("Hello_world\n"); return 0; }hÚjÁWhäjOGhæjÎhè}rIX(jjhí]hì]hê]hë]rJX(jÙ;Xcehð]uhòM[hóhhô]rKX(hýX …�rLX}rMX(hÙX hÚjGXubjb)�rNX}rOX(hÙX/* * hello.c */hè}rPX(hê]hë]rQX(UcommentrRXU multilinerSXehì]hí]hð]uhÚjGXhô]rTXhýX/* * hello.c */rUX…�rVX}rWX(hÙUhÚjNXubahæjlubhýX rXX…�rYX}rZX(hÙX hÚjGXubjb)�r[X}r\X(hÙX#includehè}r]X(hê]hë]r^X(Ucommentr_XUpreprocr`Xehì]hí]hð]uhÚjGXhô]raXhýX#includerbX…�rcX}rdX(hÙUhÚj[XubahæjlubhýX …�reX}rfX(hÙX hÚjGXubjb)�rgX}rhX(hÙX hè}riX(hê]hë]rjX(UcommentrkXU preprocfilerlXehì]hí]hð]uhÚjGXhô]rmXhýX rnX…�roX}rpX(hÙUhÚjgXubahæjlubjb)�rqX}rrX(hÙX hè}rsX(hê]hë]rtX(UcommentruXUpreprocrvXehì]hí]hð]uhÚjGXhô]rwXhýX …�rxX}ryX(hÙUhÚjqXubahæjlubhýX rzX…�r{X}r|X(hÙX hÚjGXubjb)�r}X}r~X(hÙXinthè}rX(hê]hë]r€X(Ukeywordr�XUtyper‚Xehì]hí]hð]uhÚjGXhô]rƒXhýXintr„X…�r…X}r†X(hÙUhÚj}XubahæjlubhýX …�r‡X}rˆX(hÙX hÚjGXubjb)�r‰X}rŠX(hÙXmainhè}r‹X(hê]hë]rŒX(Unamer�XUfunctionrŽXehì]hí]hð]uhÚjGXhô]r�XhýXmainr�X…�r‘X}r’X(hÙUhÚj‰Xubahæjlubjb)�r“X}r”X(hÙX(hè}r•X(hê]hë]r–XU punctuationr—Xahì]hí]hð]uhÚjGXhô]r˜XhýX(…�r™X}ršX(hÙUhÚj“Xubahæjlubjb)�r›X}rœX(hÙXvoidhè}r�X(hê]hë]ržX(UkeywordrŸXUtyper Xehì]hí]hð]uhÚjGXhô]r¡XhýXvoidr¢X…�r£X}r¤X(hÙUhÚj›Xubahæjlubjb)�r¥X}r¦X(hÙX)hè}r§X(hê]hë]r¨XU punctuationr©Xahì]hí]hð]uhÚjGXhô]rªXhýX)…�r«X}r¬X(hÙUhÚj¥XubahæjlubhýX …�r­X}r®X(hÙX hÚjGXubjb)�r¯X}r°X(hÙX{hè}r±X(hê]hë]r²XU punctuationr³Xahì]hí]hð]uhÚjGXhô]r´XhýX{…�rµX}r¶X(hÙUhÚj¯XubahæjlubhýX r·X…�r¸X}r¹X(hÙX hÚjGXubjb)�rºX}r»X(hÙXprintfhè}r¼X(hê]hë]r½XUnamer¾Xahì]hí]hð]uhÚjGXhô]r¿XhýXprintfrÀX…�rÁX}rÂX(hÙUhÚjºXubahæjlubjb)�rÃX}rÄX(hÙX(hè}rÅX(hê]hë]rÆXU punctuationrÇXahì]hí]hð]uhÚjGXhô]rÈXhýX(…�rÉX}rÊX(hÙUhÚjÃXubahæjlubjb)�rËX}rÌX(hÙX "Hello_worldhè}rÍX(hê]hë]rÎX(UliteralrÏXUstringrÐXehì]hí]hð]uhÚjGXhô]rÑXhýX "Hello_worldrÒX…�rÓX}rÔX(hÙUhÚjËXubahæjlubjb)�rÕX}rÖX(hÙX\nhè}r×X(hê]hë]rØX(UliteralrÙXUstringrÚXUescaperÛXehì]hí]hð]uhÚjGXhô]rÜXhýX\nrÝX…�rÞX}rßX(hÙUhÚjÕXubahæjlubjb)�ràX}ráX(hÙX"hè}râX(hê]hë]rãX(UliteralräXUstringråXehì]hí]hð]uhÚjGXhô]ræXhýX"…�rçX}rèX(hÙUhÚjàXubahæjlubjb)�réX}rêX(hÙX);hè}rëX(hê]hë]rìXU punctuationríXahì]hí]hð]uhÚjGXhô]rîXhýX);rïX…�rðX}rñX(hÙUhÚjéXubahæjlubhýX ròX…�róX}rôX(hÙX hÚjGXubjb)�rõX}röX(hÙXreturnhè}r÷X(hê]hë]røXUkeywordrùXahì]hí]hð]uhÚjGXhô]rúXhýXreturnrûX…�rüX}rýX(hÙUhÚjõXubahæjlubhýX …�rþX}rÿX(hÙX hÚjGXubjb)�rY}rY(hÙX0hè}rY(hê]hë]rY(UliteralrYUnumberrYUintegerrYehì]hí]hð]uhÚjGXhô]rYhýX0…�rY}r Y(hÙUhÚjYubahæjlubjb)�r Y}r Y(hÙX;hè}r Y(hê]hë]r YU punctuationrYahì]hí]hð]uhÚjGXhô]rYhýX;…�rY}rY(hÙUhÚj YubahæjlubhýX …�rY}rY(hÙX hÚjGXubjb)�rY}rY(hÙX}hè}rY(hê]hë]rYU punctuationrYahì]hí]hð]uhÚjGXhô]rYhýX}…�rY}rY(hÙUhÚjYubahæjlubeubjÅ;)�rY}rY(hÙX
hÚjÁWhäjOGhæjÈ;hè}rY(UformatXhtmljjhí]hì]hê]hë]hð]uhòM\hóhhô]rYhýX
r Y…�r!Y}r"Y(hÙUhÚjYubaubjÅ;)�r#Y}r$Y(hÙX
hÚjÁWhäjOGhæjÈ;hè}r%Y(UformatXhtmljjhí]hì]hê]hë]hð]uhòM`hóhhô]r&YhýX
r'Y…�r(Y}r)Y(hÙUhÚj#Yubaubj/)�r*Y}r+Y(hÙXÆ6. CCSv6 includes a default linker command file(AM57xx_CM4.cmd) for the M4 (IPU) core which will place code into appropriate device memory. The linker command file has the following memory sections.r,YhÚjÁWhäjOGhæj3hè}r-Y(hê]hë]hì]hí]hð]uhòMdhóhhô]r.YhýXÆ6. CCSv6 includes a default linker command file(AM57xx_CM4.cmd) for the M4 (IPU) core which will place code into appropriate device memory. The linker command file has the following memory sections.r/Y…�r0Y}r1Y(hÙj,YhÚj*YubaubjÅ;)�r2Y}r3Y(hÙX7
hÚjÁWhäjOGhæjÈ;hè}r4Y(UformatXhtmljjhí]hì]hê]hë]hð]uhòMhhóhhô]r5YhýX7
r6Y…�r7Y}r8Y(hÙUhÚj2YubaubjÅ;)�r9Y}r:Y(hÙX
hÚjÁWhäjOGhæjÈ;hè}r;Y(UformatXhtmljjhí]hì]hê]hë]hð]uhòMlhóhhô]rr=Y…�r>Y}r?Y(hÙUhÚj9YubaubjË)�r@Y}rAY(hÙXuMEMORY { IRAM: o = 0x00000000 l = 0x00001000 /* 4kB internal SRAM */ OCMC_RAM1: o = 0x40300000 l = 0x00080000 /* 512kB L3 OCMC SRAM1 */ OCMC_RAM2: o = 0x40400000 l = 0x00100000 /* 1MB L3 OCMC SRAM2 */ OCMC_RAM3: o = 0x40500000 l = 0x00100000 /* 1MB L3 OCMC SRAM3 */ DDR0: o = 0x80000000 l = 0x40000000 /* 1GB external DDR Bank 0 */ }hÚjÁWhäjOGhæjÎhè}rBY(jjhí]hì]hê]hë]rCY(jÙ;Xcehð]uhòMzhóhhô]rDY(jb)�rEY}rFY(hÙXMEMORYhè}rGY(hê]hë]rHYUnamerIYahì]hí]hð]uhÚj@Yhô]rJYhýXMEMORYrKY…�rLY}rMY(hÙUhÚjEYubahæjlubhýX …�rNY}rOY(hÙX hÚj@Yubjb)�rPY}rQY(hÙX{hè}rRY(hê]hë]rSYU punctuationrTYahì]hí]hð]uhÚj@Yhô]rUYhýX{…�rVY}rWY(hÙUhÚjPYubahæjlubhýX rXY…�rYY}rZY(hÙX hÚj@Yubjb)�r[Y}r\Y(hÙXIRAMhè}r]Y(hê]hë]r^Y(Unamer_YUlabelr`Yehì]hí]hð]uhÚj@Yhô]raYhýXIRAMrbY…�rcY}rdY(hÙUhÚj[Yubahæjlubjb)�reY}rfY(hÙX:hè}rgY(hê]hë]rhYU punctuationriYahì]hí]hð]uhÚj@Yhô]rjYhýX:…�rkY}rlY(hÙUhÚjeYubahæjlubhýX rmY…�rnY}roY(hÙX hÚj@Yubjb)�rpY}rqY(hÙXohè}rrY(hê]hë]rsYUnamertYahì]hí]hð]uhÚj@Yhô]ruYhýXo…�rvY}rwY(hÙUhÚjpYubahæjlubhýX …�rxY}ryY(hÙX hÚj@Yubjb)�rzY}r{Y(hÙX=hè}r|Y(hê]hë]r}YUoperatorr~Yahì]hí]hð]uhÚj@Yhô]rYhýX=…�r€Y}r�Y(hÙUhÚjzYubahæjlubhýX …�r‚Y}rƒY(hÙX hÚj@Yubjb)�r„Y}r…Y(hÙX 0x00000000hè}r†Y(hê]hë]r‡Y(UliteralrˆYUnumberr‰YUhexrŠYehì]hí]hð]uhÚj@Yhô]r‹YhýX 0x00000000rŒY…�r�Y}rŽY(hÙUhÚj„YubahæjlubhýX …�r�Y}r�Y(hÙX hÚj@Yubjb)�r‘Y}r’Y(hÙXlhè}r“Y(hê]hë]r”YUnamer•Yahì]hí]hð]uhÚj@Yhô]r–YhýXl…�r—Y}r˜Y(hÙUhÚj‘YubahæjlubhýX …�r™Y}ršY(hÙX hÚj@Yubjb)�r›Y}rœY(hÙX=hè}r�Y(hê]hë]ržYUoperatorrŸYahì]hí]hð]uhÚj@Yhô]r YhýX=…�r¡Y}r¢Y(hÙUhÚj›YubahæjlubhýX …�r£Y}r¤Y(hÙX hÚj@Yubjb)�r¥Y}r¦Y(hÙX 0x00001000hè}r§Y(hê]hë]r¨Y(Uliteralr©YUnumberrªYUhexr«Yehì]hí]hð]uhÚj@Yhô]r¬YhýX 0x00001000r­Y…�r®Y}r¯Y(hÙUhÚj¥YubahæjlubhýX r°Y…�r±Y}r²Y(hÙX hÚj@Yubjb)�r³Y}r´Y(hÙX/* 4kB internal SRAM */hè}rµY(hê]hë]r¶Y(Ucommentr·YU multiliner¸Yehì]hí]hð]uhÚj@Yhô]r¹YhýX/* 4kB internal SRAM */rºY…�r»Y}r¼Y(hÙUhÚj³YubahæjlubhýX r½Y…�r¾Y}r¿Y(hÙX hÚj@Yubjb)�rÀY}rÁY(hÙX OCMC_RAM1hè}rÂY(hê]hë]rÃY(UnamerÄYUlabelrÅYehì]hí]hð]uhÚj@Yhô]rÆYhýX OCMC_RAM1rÇY…�rÈY}rÉY(hÙUhÚjÀYubahæjlubjb)�rÊY}rËY(hÙX:hè}rÌY(hê]hë]rÍYU punctuationrÎYahì]hí]hð]uhÚj@Yhô]rÏYhýX:…�rÐY}rÑY(hÙUhÚjÊYubahæjlubhýX …�rÒY}rÓY(hÙX hÚj@Yubjb)�rÔY}rÕY(hÙXohè}rÖY(hê]hë]r×YUnamerØYahì]hí]hð]uhÚj@Yhô]rÙYhýXo…�rÚY}rÛY(hÙUhÚjÔYubahæjlubhýX …�rÜY}rÝY(hÙX hÚj@Yubjb)�rÞY}rßY(hÙX=hè}ràY(hê]hë]ráYUoperatorrâYahì]hí]hð]uhÚj@Yhô]rãYhýX=…�räY}råY(hÙUhÚjÞYubahæjlubhýX …�ræY}rçY(hÙX hÚj@Yubjb)�rèY}réY(hÙX 0x40300000hè}rêY(hê]hë]rëY(UliteralrìYUnumberríYUhexrîYehì]hí]hð]uhÚj@Yhô]rïYhýX 0x40300000rðY…�rñY}ròY(hÙUhÚjèYubahæjlubhýX …�róY}rôY(hÙX hÚj@Yubjb)�rõY}röY(hÙXlhè}r÷Y(hê]hë]røYUnamerùYahì]hí]hð]uhÚj@Yhô]rúYhýXl…�rûY}rüY(hÙUhÚjõYubahæjlubhýX …�rýY}rþY(hÙX hÚj@Yubjb)�rÿY}rZ(hÙX=hè}rZ(hê]hë]rZUoperatorrZahì]hí]hð]uhÚj@Yhô]rZhýX=…�rZ}rZ(hÙUhÚjÿYubahæjlubhýX …�rZ}rZ(hÙX hÚj@Yubjb)�r Z}r Z(hÙX 0x00080000hè}r Z(hê]hë]r Z(Uliteralr ZUnumberrZUhexrZehì]hí]hð]uhÚj@Yhô]rZhýX 0x00080000rZ…�rZ}rZ(hÙUhÚj ZubahæjlubhýX rZ…�rZ}rZ(hÙX hÚj@Yubjb)�rZ}rZ(hÙX/* 512kB L3 OCMC SRAM1 */hè}rZ(hê]hë]rZ(UcommentrZU multilinerZehì]hí]hð]uhÚj@Yhô]rZhýX/* 512kB L3 OCMC SRAM1 */rZ…�rZ}r Z(hÙUhÚjZubahæjlubhýX r!Z…�r"Z}r#Z(hÙX hÚj@Yubjb)�r$Z}r%Z(hÙX OCMC_RAM2hè}r&Z(hê]hë]r'Z(Unamer(ZUlabelr)Zehì]hí]hð]uhÚj@Yhô]r*ZhýX OCMC_RAM2r+Z…�r,Z}r-Z(hÙUhÚj$Zubahæjlubjb)�r.Z}r/Z(hÙX:hè}r0Z(hê]hë]r1ZU punctuationr2Zahì]hí]hð]uhÚj@Yhô]r3ZhýX:…�r4Z}r5Z(hÙUhÚj.ZubahæjlubhýX …�r6Z}r7Z(hÙX hÚj@Yubjb)�r8Z}r9Z(hÙXohè}r:Z(hê]hë]r;ZUnamerZ}r?Z(hÙUhÚj8ZubahæjlubhýX …�r@Z}rAZ(hÙX hÚj@Yubjb)�rBZ}rCZ(hÙX=hè}rDZ(hê]hë]rEZUoperatorrFZahì]hí]hð]uhÚj@Yhô]rGZhýX=…�rHZ}rIZ(hÙUhÚjBZubahæjlubhýX …�rJZ}rKZ(hÙX hÚj@Yubjb)�rLZ}rMZ(hÙX 0x40400000hè}rNZ(hê]hë]rOZ(UliteralrPZUnumberrQZUhexrRZehì]hí]hð]uhÚj@Yhô]rSZhýX 0x40400000rTZ…�rUZ}rVZ(hÙUhÚjLZubahæjlubhýX …�rWZ}rXZ(hÙX hÚj@Yubjb)�rYZ}rZZ(hÙXlhè}r[Z(hê]hë]r\ZUnamer]Zahì]hí]hð]uhÚj@Yhô]r^ZhýXl…�r_Z}r`Z(hÙUhÚjYZubahæjlubhýX …�raZ}rbZ(hÙX hÚj@Yubjb)�rcZ}rdZ(hÙX=hè}reZ(hê]hë]rfZUoperatorrgZahì]hí]hð]uhÚj@Yhô]rhZhýX=…�riZ}rjZ(hÙUhÚjcZubahæjlubhýX …�rkZ}rlZ(hÙX hÚj@Yubjb)�rmZ}rnZ(hÙX 0x00100000hè}roZ(hê]hë]rpZ(UliteralrqZUnumberrrZUhexrsZehì]hí]hð]uhÚj@Yhô]rtZhýX 0x00100000ruZ…�rvZ}rwZ(hÙUhÚjmZubahæjlubhýX rxZ…�ryZ}rzZ(hÙX hÚj@Yubjb)�r{Z}r|Z(hÙX/* 1MB L3 OCMC SRAM2 */hè}r}Z(hê]hë]r~Z(UcommentrZU multiliner€Zehì]hí]hð]uhÚj@Yhô]r�ZhýX/* 1MB L3 OCMC SRAM2 */r‚Z…�rƒZ}r„Z(hÙUhÚj{ZubahæjlubhýX r…Z…�r†Z}r‡Z(hÙX hÚj@Yubjb)�rˆZ}r‰Z(hÙX OCMC_RAM3hè}rŠZ(hê]hë]r‹Z(UnamerŒZUlabelr�Zehì]hí]hð]uhÚj@Yhô]rŽZhýX OCMC_RAM3r�Z…�r�Z}r‘Z(hÙUhÚjˆZubahæjlubjb)�r’Z}r“Z(hÙX:hè}r”Z(hê]hë]r•ZU punctuationr–Zahì]hí]hð]uhÚj@Yhô]r—ZhýX:…�r˜Z}r™Z(hÙUhÚj’ZubahæjlubhýX …�ršZ}r›Z(hÙX hÚj@Yubjb)�rœZ}r�Z(hÙXohè}ržZ(hê]hë]rŸZUnamer Zahì]hí]hð]uhÚj@Yhô]r¡ZhýXo…�r¢Z}r£Z(hÙUhÚjœZubahæjlubhýX …�r¤Z}r¥Z(hÙX hÚj@Yubjb)�r¦Z}r§Z(hÙX=hè}r¨Z(hê]hë]r©ZUoperatorrªZahì]hí]hð]uhÚj@Yhô]r«ZhýX=…�r¬Z}r­Z(hÙUhÚj¦ZubahæjlubhýX …�r®Z}r¯Z(hÙX hÚj@Yubjb)�r°Z}r±Z(hÙX 0x40500000hè}r²Z(hê]hë]r³Z(Uliteralr´ZUnumberrµZUhexr¶Zehì]hí]hð]uhÚj@Yhô]r·ZhýX 0x40500000r¸Z…�r¹Z}rºZ(hÙUhÚj°ZubahæjlubhýX …�r»Z}r¼Z(hÙX hÚj@Yubjb)�r½Z}r¾Z(hÙXlhè}r¿Z(hê]hë]rÀZUnamerÁZahì]hí]hð]uhÚj@Yhô]rÂZhýXl…�rÃZ}rÄZ(hÙUhÚj½ZubahæjlubhýX …�rÅZ}rÆZ(hÙX hÚj@Yubjb)�rÇZ}rÈZ(hÙX=hè}rÉZ(hê]hë]rÊZUoperatorrËZahì]hí]hð]uhÚj@Yhô]rÌZhýX=…�rÍZ}rÎZ(hÙUhÚjÇZubahæjlubhýX …�rÏZ}rÐZ(hÙX hÚj@Yubjb)�rÑZ}rÒZ(hÙX 0x00100000hè}rÓZ(hê]hë]rÔZ(UliteralrÕZUnumberrÖZUhexr×Zehì]hí]hð]uhÚj@Yhô]rØZhýX 0x00100000rÙZ…�rÚZ}rÛZ(hÙUhÚjÑZubahæjlubhýX rÜZ…�rÝZ}rÞZ(hÙX hÚj@Yubjb)�rßZ}ràZ(hÙX/* 1MB L3 OCMC SRAM3 */hè}ráZ(hê]hë]râZ(UcommentrãZU multilineräZehì]hí]hð]uhÚj@Yhô]råZhýX/* 1MB L3 OCMC SRAM3 */ræZ…�rçZ}rèZ(hÙUhÚjßZubahæjlubhýX réZ…�rêZ}rëZ(hÙX hÚj@Yubjb)�rìZ}ríZ(hÙXDDR0hè}rîZ(hê]hë]rïZ(UnamerðZUlabelrñZehì]hí]hð]uhÚj@Yhô]ròZhýXDDR0róZ…�rôZ}rõZ(hÙUhÚjìZubahæjlubjb)�röZ}r÷Z(hÙX:hè}røZ(hê]hë]rùZU punctuationrúZahì]hí]hð]uhÚj@Yhô]rûZhýX:…�rüZ}rýZ(hÙUhÚjöZubahæjlubhýX rþZ…�rÿZ}r[(hÙX hÚj@Yubjb)�r[}r[(hÙXohè}r[(hê]hë]r[Unamer[ahì]hí]hð]uhÚj@Yhô]r[hýXo…�r[}r[(hÙUhÚj[ubahæjlubhýX …�r [}r [(hÙX hÚj@Yubjb)�r [}r [(hÙX=hè}r [(hê]hë]r[Uoperatorr[ahì]hí]hð]uhÚj@Yhô]r[hýX=…�r[}r[(hÙUhÚj [ubahæjlubhýX …�r[}r[(hÙX hÚj@Yubjb)�r[}r[(hÙX 0x80000000hè}r[(hê]hë]r[(Uliteralr[Unumberr[Uhexrhì]hí]hð]uhÚj@Yhô]r[hýX 0x80000000r[…�r[}r[(hÙUhÚj[ubahæjlubhýX …�r [}r![(hÙX hÚj@Yubjb)�r"[}r#[(hÙXlhè}r$[(hê]hë]r%[Unamer&[ahì]hí]hð]uhÚj@Yhô]r'[hýXl…�r([}r)[(hÙUhÚj"[ubahæjlubhýX …�r*[}r+[(hÙX hÚj@Yubjb)�r,[}r-[(hÙX=hè}r.[(hê]hë]r/[Uoperatorr0[ahì]hí]hð]uhÚj@Yhô]r1[hýX=…�r2[}r3[(hÙUhÚj,[ubahæjlubhýX …�r4[}r5[(hÙX hÚj@Yubjb)�r6[}r7[(hÙX 0x40000000hè}r8[(hê]hë]r9[(Uliteralr:[Unumberr;[Uhexr<[ehì]hí]hð]uhÚj@Yhô]r=[hýX 0x40000000r>[…�r?[}r@[(hÙUhÚj6[ubahæjlubhýX rA[…�rB[}rC[(hÙX hÚj@Yubjb)�rD[}rE[(hÙX/* 1GB external DDR Bank 0 */hè}rF[(hê]hë]rG[(UcommentrH[U multilinerI[ehì]hí]hð]uhÚj@Yhô]rJ[hýX/* 1GB external DDR Bank 0 */rK[…�rL[}rM[(hÙUhÚjD[ubahæjlubhýX …�rN[}rO[(hÙX hÚj@Yubjb)�rP[}rQ[(hÙX}hè}rR[(hê]hë]rS[U punctuationrT[ahì]hí]hð]uhÚj@Yhô]rU[hýX}…�rV[}rW[(hÙUhÚjP[ubahæjlubeubjÅ;)�rX[}rY[(hÙX
hÚjÁWhäjOGhæjÈ;hè}rZ[(UformatXhtmljjhí]hì]hê]hë]hð]uhòM{hóhhô]r[[hýX
r\[…�r][}r^[(hÙUhÚjX[ubaubjÅ;)�r_[}r`[(hÙX
hÚjÁWhäjOGhæjÈ;hè}ra[(UformatXhtmljjhí]hì]hê]hë]hð]uhòMhóhhô]rb[hýX
rc[…�rd[}re[(hÙUhÚj_[ubaubj/)�rf[}rg[(hÙX¦The linker command file is designed to place code in OCMC memory with interrupt vectors and .intc_txt generated by the compiler being place in device internal memory.rh[hÚjÁWhäjOGhæj3hè}ri[(hê]hë]hì]hí]hð]uhòMƒhóhhô]rj[hýX¦The linker command file is designed to place code in OCMC memory with interrupt vectors and .intc_txt generated by the compiler being place in device internal memory.rk[…�rl[}rm[(hÙjh[hÚjf[ubaubj))�rn[}ro[(hÙX™- Please note that if the device GEL files are setting up MMU for the core then the code will not load correctly on the core and will cause a CPU exception. We recommend that you modify the linker command file appropriately to match the MMU settings in the GEL file. The linker command file in all CCS releases prior to CCS 6.1.3 don`t account for this MMU Setting in AM57xx GEL files. Please modify the OCMC addresses to the logical address set in the GEL file - An optional step is to modify the section definition in AM57xx_CM4.cmd file if you wish to introduce/partition existing sections or place the code in different memory section.hÚjÁWhäNhæj,hè}rp[(hê]hë]hì]hí]hð]uhòNhóhhô]rq[jQ)�rr[}rs[(hÙUhè}rt[(jVX-hí]hì]hê]hë]hð]uhÚjn[hô]ru[(jX)�rv[}rw[(hÙXËPlease note that if the device GEL files are setting up MMU for the core then the code will not load correctly on the core and will cause a CPU exception. We recommend that you modify the linker command file appropriately to match the MMU settings in the GEL file. The linker command file in all CCS releases prior to CCS 6.1.3 don`t account for this MMU Setting in AM57xx GEL files. Please modify the OCMC addresses to the logical address set in the GEL filehè}rx[(hê]hë]hì]hí]hð]uhÚjr[hô]ry[j/)�rz[}r{[(hÙXËPlease note that if the device GEL files are setting up MMU for the core then the code will not load correctly on the core and will cause a CPU exception. We recommend that you modify the linker command file appropriately to match the MMU settings in the GEL file. The linker command file in all CCS releases prior to CCS 6.1.3 don`t account for this MMU Setting in AM57xx GEL files. Please modify the OCMC addresses to the logical address set in the GEL filer|[hÚjv[häjOGhæj3hè}r}[(hê]hë]hì]hí]hð]uhòM‰hô]r~[hýXËPlease note that if the device GEL files are setting up MMU for the core then the code will not load correctly on the core and will cause a CPU exception. We recommend that you modify the linker command file appropriately to match the MMU settings in the GEL file. The linker command file in all CCS releases prior to CCS 6.1.3 don`t account for this MMU Setting in AM57xx GEL files. Please modify the OCMC addresses to the logical address set in the GEL filer[…�r€[}r�[(hÙj|[hÚjz[ubaubahæj[ubjX)�r‚[}rƒ[(hÙX¯An optional step is to modify the section definition in AM57xx_CM4.cmd file if you wish to introduce/partition existing sections or place the code in different memory section.hè}r„[(hê]hë]hì]hí]hð]uhÚjr[hô]r…[j/)�r†[}r‡[(hÙX¯An optional step is to modify the section definition in AM57xx_CM4.cmd file if you wish to introduce/partition existing sections or place the code in different memory section.rˆ[hÚj‚[häjOGhæj3hè}r‰[(hê]hë]hì]hí]hð]uhòM�hô]rŠ[hýX¯An optional step is to modify the section definition in AM57xx_CM4.cmd file if you wish to introduce/partition existing sections or place the code in different memory section.r‹[…�rŒ[}r�[(hÙjˆ[hÚj†[ubaubahæj[ubehæjTubaubj¼)�rŽ[}r�[(hÙUhÚjÁWhäjOGhæj¿hè}r�[(jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòM”hóhhô]r‘[jX)�r’[}r“[(hÙX6Now build the project to generate hello_world_m4.out. hÚjŽ[häjOGhæj[hè}r”[(hê]hë]hì]hí]hð]uhòNhóhhô]r•[j/)�r–[}r—[(hÙX5Now build the project to generate hello_world_m4.out.r˜[hÚj’[häjOGhæj3hè}r™[(hê]hë]hì]hí]hð]uhòM”hô]rš[hýX5Now build the project to generate hello_world_m4.out.r›[…�rœ[}r�[(hÙj˜[hÚj–[ubaubaubaubj/)�rž[}rŸ[(hÙX®8. Launch target configurations using your emulator to connect to AM572X EVM as described in the :ref:`Getting Started Guide `hÚjÁWhäjOGhæj3hè}r [(hê]hë]hì]hí]hð]uhòM–hóhhô]r¡[(hýXa8. Launch target configurations using your emulator to connect to AM572X EVM as described in the r¢[…�r£[}r¤[(hÙXa8. Launch target configurations using your emulator to connect to AM572X EVM as described in the hÚjž[ubjZ)�r¥[}r¦[(hÙXM:ref:`Getting Started Guide `r§[hÚjž[häjOGhæj^hè}r¨[(UreftypeXrefj¢ ˆj£ X.processor-sdk-rtos-getting-started-guide-labelU refdomainXstdr©[hí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòM–hô]rª[jb)�r«[}r¬[(hÙj§[hè}r­[(hê]hë]r®[(j­ j©[Xstd-refr¯[ehì]hí]hð]uhÚj¥[hô]r°[hýXGetting Started Guider±[…�r²[}r³[(hÙUhÚj«[ubahæjlubaubeubj/)�r´[}rµ[(hÙXä9. In order to wake up the M4 core from A15, Go to Menu option Scripts->AM572x_Multicore_Initialization->IPU1SSClkEnable_API. Refer to the `Processor_SDK_RTOS_Setup_CCS `__.hÚjÁWhäjOGhæj3hè}r¶[(hê]hë]hì]hí]hð]uhòM™hóhhô]r·[(hýX‹9. In order to wake up the M4 core from A15, Go to Menu option Scripts->AM572x_Multicore_Initialization->IPU1SSClkEnable_API. Refer to the r¸[…�r¹[}rº[(hÙX‹9. In order to wake up the M4 core from A15, Go to Menu option Scripts->AM572x_Multicore_Initialization->IPU1SSClkEnable_API. Refer to the hÚj´[ubj)�r»[}r¼[(hÙXX`Processor_SDK_RTOS_Setup_CCS `__hè}r½[(UnameXProcessor_SDK_RTOS_Setup_CCSjX5index_how_to_guides.html#connect-to-am57x-slave-coreshí]hì]hê]hë]hð]uhÚj´[hô]r¾[hýXProcessor_SDK_RTOS_Setup_CCSr¿[…�rÀ[}rÁ[(hÙUhÚj»[ubahæjubhýX.…�rÂ[}rÃ[(hÙX.hÚj´[ubeubj/)�rÄ[}rÅ[(hÙX/You should see the following log in the ConsolerÆ[hÚjÁWhäjOGhæj3hè}rÇ[(hê]hë]hì]hí]hð]uhòMžhóhhô]rÈ[hýX/You should see the following log in the ConsolerÉ[…�rÊ[}rË[(hÙjÆ[hÚjÄ[ubaubjË)�rÌ[}rÍ[(hÙX•CortexA15_0: GEL Output: --->>> IPU1SS Initialization is in progress ... <<<--- CortexA15_0: GEL Output: --->>> IPU1SS Initialization is DONE! <<<---hÚjÁWhäjOGhæjÎhè}rÎ[(jjhí]hì]hê]hë]hð]uhòMÄhóhhô]rÏ[hýX•CortexA15_0: GEL Output: --->>> IPU1SS Initialization is in progress ... <<<--- CortexA15_0: GEL Output: --->>> IPU1SS Initialization is DONE! <<<---rÐ[…�rÑ[}rÒ[(hÙUhÚjÌ[ubaubj/)�rÓ[}rÔ[(hÙX—11. Select and Connect to Cortex_M4_IPU1_C0. Load and run Hello_Example_m4.out file. You should see **Hello World** string displayed on console window.hÚjÁWhäjOGhæj3hè}rÕ[(hê]hë]hì]hí]hð]uhòM¥hóhhô]rÖ[(hýXd11. Select and Connect to Cortex_M4_IPU1_C0. Load and run Hello_Example_m4.out file. You should see r×[…�rØ[}rÙ[(hÙXd11. Select and Connect to Cortex_M4_IPU1_C0. Load and run Hello_Example_m4.out file. You should see hÚjÓ[ubjW)�rÚ[}rÛ[(hÙX**Hello World**hè}rÜ[(hê]hë]hì]hí]hð]uhÚjÓ[hô]rÝ[hýX Hello WorldrÞ[…�rß[}rà[(hÙUhÚjÚ[ubahæj_ubhýX$ string displayed on console window.rá[…�râ[}rã[(hÙX$ string displayed on console window.hÚjÓ[ubeubj)�rä[}rå[(hÙX(.. Image:: ../images/Hello_world_m4.jpg hÚjÁWhäjOGhæjhè}ræ[(UuriX!rtos/../images/Hello_world_m4.jpgrç[hí]hì]hê]hë]j}rè[U*jç[shð]uhòMªhóhhô]ubj))�ré[}rê[(hÙXkIf the example does not load correctly in the first attempt, reload and **ensure ARM core starts at main**.hÚjÁWhäjOGhæj,hè}rë[(hê]hë]hì]hí]hð]uhòNhóhhô]rì[j/)�rí[}rî[(hÙXkIf the example does not load correctly in the first attempt, reload and **ensure ARM core starts at main**.hÚjé[häjOGhæj3hè}rï[(hê]hë]hì]hí]hð]uhòM­hô]rð[(hýXHIf the example does not load correctly in the first attempt, reload and rñ[…�rò[}ró[(hÙXHIf the example does not load correctly in the first attempt, reload and hÚjí[ubjW)�rô[}rõ[(hÙX"**ensure ARM core starts at main**hè}rö[(hê]hë]hì]hí]hð]uhÚjí[hô]r÷[hýXensure ARM core starts at mainrø[…�rù[}rú[(hÙUhÚjô[ubahæj_ubhýX.…�rû[}rü[(hÙX.hÚjí[ubeubaubjÎ)�rý[}rþ[(hÙUhÚjÁWhäjOGhæjÑhè}rÿ[(hê]hë]hì]hí]hð]uhòM°hóhhô]r\jÔ)�r\}r\(hÙUj×KhÚjý[häjOGhæhòhè}r\(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubhÛ)�r\}r\(hÙUjKhÚj=GhäjOGhæhçhè}r\(hê]r\jŒAahë]hì]hí]r\Uid52r \ahð]uhòM³hóhhô]r \(hö)�r \}r \(hÙXARM9r \hÚj\häjOGhæhúhè}r\(hê]hë]hì]hí]hð]uhòM³hóhhô]r\hýXARM9r\…�r\}r\(hÙj \hÚj \ubaubj/)�r\}r\(hÙXÃIn this article, we take a look at creating bare-metal hello world examples for the ARM9 core using pre-built templates in CCS. As a sample we will use the OMAP-L138 device to describe the steps.r\hÚj\häjOGhæj3hè}r\(hê]hë]hì]hí]hð]uhòMµhóhhô]r\hýXÃIn this article, we take a look at creating bare-metal hello world examples for the ARM9 core using pre-built templates in CCS. As a sample we will use the OMAP-L138 device to describe the steps.r\…�r\}r\(hÙj\hÚj\ubaubj¼)�r\}r\(hÙUhÚj\häjOGhæj¿hè}r\(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòM¸hóhhô]r\(jX)�r\}r \(hÙX=Start CCS and create a workspace for generating the project. hÚj\häjOGhæj[hè}r!\(hê]hë]hì]hí]hð]uhòNhóhhô]r"\j/)�r#\}r$\(hÙX<Start CCS and create a workspace for generating the project.r%\hÚj\häjOGhæj3hè}r&\(hê]hë]hì]hí]hð]uhòM¸hô]r'\hýX<Start CCS and create a workspace for generating the project.r(\…�r)\}r*\(hÙj%\hÚj#\ubaubaubjX)�r+\}r,\(hÙX9Click on File menu option and select New--> CCS Project. hÚj\häjOGhæj[hè}r-\(hê]hë]hì]hí]hð]uhòNhóhhô]r.\j/)�r/\}r0\(hÙX8Click on File menu option and select New--> CCS Project.r1\hÚj+\häjOGhæj3hè}r2\(hê]hë]hì]hí]hð]uhòMºhô]r3\hýX8Click on File menu option and select New--> CCS Project.r4\…�r5\}r6\(hÙj1\hÚj/\ubaubaubjX)�r7\}r8\(hÙX]Select Target as OMAP-L1x --> ARM9 and appropriate target board as shown in the image below. hÚj\häjOGhæj[hè}r9\(hê]hë]hì]hí]hð]uhòNhóhhô]r:\j/)�r;\}r<\(hÙX\Select Target as OMAP-L1x --> ARM9 and appropriate target board as shown in the image below.r=\hÚj7\häjOGhæj3hè}r>\(hê]hë]hì]hí]hð]uhòM¼hô]r?\hýX\Select Target as OMAP-L1x --> ARM9 and appropriate target board as shown in the image below.r@\…�rA\}rB\(hÙj=\hÚj;\ubaubaubeubj)�rC\}rD\(hÙX8.. Image:: ../images/omapl13x_arm9_hello_nonos_ccs.png hÚj\häjOGhæjhè}rE\(UuriX0rtos/../images/omapl13x_arm9_hello_nonos_ccs.pngrF\hí]hì]hê]hë]j}rG\U*jF\shð]uhòMÀhóhhô]ubj/)�rH\}rI\(hÙXÕ4. In the ARM9 tab, provide a name for the project, such as "hello_world_arm9" and use the default settings for the project as shown in the image below. Ensure OMAPL138.cmd is selected for the linker command file.rJ\hÚj\häjOGhæj3hè}rK\(hê]hë]hì]hí]hð]uhòMÁhóhhô]rL\hýXÕ4. In the ARM9 tab, provide a name for the project, such as "hello_world_arm9" and use the default settings for the project as shown in the image below. Ensure OMAPL138.cmd is selected for the linker command file.rM\…�rN\}rO\(hÙjJ\hÚjH\ubaubj)�rP\}rQ\(hÙX8.. Image:: ../images/omapl13x_arm9_hello_nonos_ccs2.png hÚj\häjOGhæjhè}rR\(UuriX1rtos/../images/omapl13x_arm9_hello_nonos_ccs2.pngrS\hí]hì]hê]hë]j}rT\U*jS\shð]uhòMÆhóhhô]ubj/)�rU\}rV\(hÙX€5. Click Finish after you are done to allow CCS to auto generate the project from the template **Basic Examples-> Hello World**.hÚj\häjOGhæj3hè}rW\(hê]hë]hì]hí]hð]uhòMÇhóhhô]rX\(hýX_5. Click Finish after you are done to allow CCS to auto generate the project from the template rY\…�rZ\}r[\(hÙX_5. Click Finish after you are done to allow CCS to auto generate the project from the template hÚjU\ubjW)�r\\}r]\(hÙX **Basic Examples-> Hello World**hè}r^\(hê]hë]hì]hí]hð]uhÚjU\hô]r_\hýXBasic Examples-> Hello Worldr`\…�ra\}rb\(hÙUhÚj\\ubahæj_ubhýX.…�rc\}rd\(hÙX.hÚjU\ubeubj/)�re\}rf\(hÙX�6. The generated CCS project contains source file **main.c**, and a linker command file **OMAPL138.cmd**. Ensure the main.c file contains the following code.hÚj\häjOGhæj3hè}rg\(hê]hë]hì]hí]hð]uhòMËhóhhô]rh\(hýX26. The generated CCS project contains source file ri\…�rj\}rk\(hÙX26. The generated CCS project contains source file hÚje\ubjW)�rl\}rm\(hÙX **main.c**hè}rn\(hê]hë]hì]hí]hð]uhÚje\hô]ro\hýXmain.crp\…�rq\}rr\(hÙUhÚjl\ubahæj_ubhýX, and a linker command file rs\…�rt\}ru\(hÙX, and a linker command file hÚje\ubjW)�rv\}rw\(hÙX**OMAPL138.cmd**hè}rx\(hê]hë]hì]hí]hð]uhÚje\hô]ry\hýX OMAPL138.cmdrz\…�r{\}r|\(hÙUhÚjv\ubahæj_ubhýX5. Ensure the main.c file contains the following code.r}\…�r~\}r\(hÙX5. Ensure the main.c file contains the following code.hÚje\ubeubjË)�r€\}r�\(hÙXi /* * hello.c */ #include int main(void) { printf("Hello_world\n"); return 0; }hÚj\häjOGhæjÎhè}r‚\(jjhí]hì]hê]hë]rƒ\(jÙ;Xcehð]uhòMÛhóhhô]r„\(hýX …�r…\}r†\(hÙX hÚj€\ubjb)�r‡\}rˆ\(hÙX/* * hello.c */hè}r‰\(hê]hë]rŠ\(Ucommentr‹\U multilinerŒ\ehì]hí]hð]uhÚj€\hô]r�\hýX/* * hello.c */rŽ\…�r�\}r�\(hÙUhÚj‡\ubahæjlubhýX r‘\…�r’\}r“\(hÙX hÚj€\ubjb)�r”\}r•\(hÙX#includehè}r–\(hê]hë]r—\(Ucommentr˜\Upreprocr™\ehì]hí]hð]uhÚj€\hô]rš\hýX#includer›\…�rœ\}r�\(hÙUhÚj”\ubahæjlubhýX …�rž\}rŸ\(hÙX hÚj€\ubjb)�r \}r¡\(hÙX hè}r¢\(hê]hë]r£\(Ucommentr¤\U preprocfiler¥\ehì]hí]hð]uhÚj€\hô]r¦\hýX r§\…�r¨\}r©\(hÙUhÚj \ubahæjlubjb)�rª\}r«\(hÙX hè}r¬\(hê]hë]r­\(Ucommentr®\Upreprocr¯\ehì]hí]hð]uhÚj€\hô]r°\hýX …�r±\}r²\(hÙUhÚjª\ubahæjlubhýX r³\…�r´\}rµ\(hÙX hÚj€\ubjb)�r¶\}r·\(hÙXinthè}r¸\(hê]hë]r¹\(Ukeywordrº\Utyper»\ehì]hí]hð]uhÚj€\hô]r¼\hýXintr½\…�r¾\}r¿\(hÙUhÚj¶\ubahæjlubhýX …�rÀ\}rÁ\(hÙX hÚj€\ubjb)�rÂ\}rÃ\(hÙXmainhè}rÄ\(hê]hë]rÅ\(UnamerÆ\UfunctionrÇ\ehì]hí]hð]uhÚj€\hô]rÈ\hýXmainrÉ\…�rÊ\}rË\(hÙUhÚjÂ\ubahæjlubjb)�rÌ\}rÍ\(hÙX(hè}rÎ\(hê]hë]rÏ\U punctuationrÐ\ahì]hí]hð]uhÚj€\hô]rÑ\hýX(…�rÒ\}rÓ\(hÙUhÚjÌ\ubahæjlubjb)�rÔ\}rÕ\(hÙXvoidhè}rÖ\(hê]hë]r×\(UkeywordrØ\UtyperÙ\ehì]hí]hð]uhÚj€\hô]rÚ\hýXvoidrÛ\…�rÜ\}rÝ\(hÙUhÚjÔ\ubahæjlubjb)�rÞ\}rß\(hÙX)hè}rà\(hê]hë]rá\U punctuationrâ\ahì]hí]hð]uhÚj€\hô]rã\hýX)…�rä\}rå\(hÙUhÚjÞ\ubahæjlubhýX …�ræ\}rç\(hÙX hÚj€\ubjb)�rè\}ré\(hÙX{hè}rê\(hê]hë]rë\U punctuationrì\ahì]hí]hð]uhÚj€\hô]rí\hýX{…�rî\}rï\(hÙUhÚjè\ubahæjlubhýX rð\…�rñ\}rò\(hÙX hÚj€\ubjb)�ró\}rô\(hÙXprintfhè}rõ\(hê]hë]rö\Unamer÷\ahì]hí]hð]uhÚj€\hô]rø\hýXprintfrù\…�rú\}rû\(hÙUhÚjó\ubahæjlubjb)�rü\}rý\(hÙX(hè}rþ\(hê]hë]rÿ\U punctuationr]ahì]hí]hð]uhÚj€\hô]r]hýX(…�r]}r](hÙUhÚjü\ubahæjlubjb)�r]}r](hÙX "Hello_worldhè}r](hê]hë]r](Uliteralr]Ustringr ]ehì]hí]hð]uhÚj€\hô]r ]hýX "Hello_worldr ]…�r ]}r ](hÙUhÚj]ubahæjlubjb)�r]}r](hÙX\nhè}r](hê]hë]r](Uliteralr]Ustringr]Uescaper]ehì]hí]hð]uhÚj€\hô]r]hýX\nr]…�r]}r](hÙUhÚj]ubahæjlubjb)�r]}r](hÙX"hè}r](hê]hë]r](Uliteralr]Ustringr]ehì]hí]hð]uhÚj€\hô]r]hýX"…�r ]}r!](hÙUhÚj]ubahæjlubjb)�r"]}r#](hÙX);hè}r$](hê]hë]r%]U punctuationr&]ahì]hí]hð]uhÚj€\hô]r']hýX);r(]…�r)]}r*](hÙUhÚj"]ubahæjlubhýX r+]…�r,]}r-](hÙX hÚj€\ubjb)�r.]}r/](hÙXreturnhè}r0](hê]hë]r1]Ukeywordr2]ahì]hí]hð]uhÚj€\hô]r3]hýXreturnr4]…�r5]}r6](hÙUhÚj.]ubahæjlubhýX …�r7]}r8](hÙX hÚj€\ubjb)�r9]}r:](hÙX0hè}r;](hê]hë]r<](Uliteralr=]Unumberr>]Uintegerr?]ehì]hí]hð]uhÚj€\hô]r@]hýX0…�rA]}rB](hÙUhÚj9]ubahæjlubjb)�rC]}rD](hÙX;hè}rE](hê]hë]rF]U punctuationrG]ahì]hí]hð]uhÚj€\hô]rH]hýX;…�rI]}rJ](hÙUhÚjC]ubahæjlubhýX …�rK]}rL](hÙX hÚj€\ubjb)�rM]}rN](hÙX}hè}rO](hê]hë]rP]U punctuationrQ]ahì]hí]hð]uhÚj€\hô]rR]hýX}…�rS]}rT](hÙUhÚjM]ubahæjlubeubj¼)�rU]}rV](hÙUhÚj\häjOGhæj¿hè}rW](jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòMÜhóhhô]rX]jX)�rY]}rZ](hÙXSEnsure that CCS generates the linker command file **OMAPL138.cmd** as shown below. hÚjU]häjOGhæj[hè}r[](hê]hë]hì]hí]hð]uhòNhóhhô]r\]j/)�r]]}r^](hÙXREnsure that CCS generates the linker command file **OMAPL138.cmd** as shown below.hÚjY]häjOGhæj3hè}r_](hê]hë]hì]hí]hð]uhòMÜhô]r`](hýX2Ensure that CCS generates the linker command file ra]…�rb]}rc](hÙX2Ensure that CCS generates the linker command file hÚj]]ubjW)�rd]}re](hÙX**OMAPL138.cmd**hè}rf](hê]hë]hì]hí]hð]uhÚj]]hô]rg]hýX OMAPL138.cmdrh]…�ri]}rj](hÙUhÚjd]ubahæj_ubhýX as shown below.rk]…�rl]}rm](hÙX as shown below.hÚj]]ubeubaubaubjË)�rn]}ro](hÙX MEMORY { #ifdef DSP_CORE /* DSP exclusive memory regions */ DSPL2ROM o = 0x00700000 l = 0x00100000 /* 1MB L2 DSP local ROM */ DSPL2RAM o = 0x00800000 l = 0x00040000 /* 256kB L2 DSP local RAM */ DSPL1PRAM o = 0x00E00000 l = 0x00008000 /* 32kB L1 DSP local Program RAM */ DSPL1DRAM o = 0x00F00000 l = 0x00008000 /* 32kB L1 DSP local Data RAM */ #endif SHDSPL2ROM o = 0x11700000 l = 0x00100000 /* 1MB L2 Shared Internal ROM */ SHDSPL2RAM o = 0x11800000 l = 0x00040000 /* 256kB L2 Shared Internal RAM */ SHDSPL1PRAM o = 0x11E00000 l = 0x00008000 /* 32kB L1 Shared Internal Program RAM */ SHDSPL1DRAM o = 0x11F00000 l = 0x00008000 /* 32kB L1 Shared Internal Data RAM */ EMIFACS0 o = 0x40000000 l = 0x20000000 /* 512MB SDRAM Data (CS0) */ EMIFACS2 o = 0x60000000 l = 0x02000000 /* 32MB Async Data (CS2) */ EMIFACS3 o = 0x62000000 l = 0x02000000 /* 32MB Async Data (CS3) */ EMIFACS4 o = 0x64000000 l = 0x02000000 /* 32MB Async Data (CS4) */ EMIFACS5 o = 0x66000000 l = 0x02000000 /* 32MB Async Data (CS5) */ SHRAM o = 0x80000000 l = 0x00020000 /* 128kB Shared RAM */ DDR2 o = 0xC0000000 l = 0x20000000 /* 512MB DDR2 Data */ #ifndef DSP_CORE /* ARM exclusive memory regions */ ARMROM o = 0xFFFD0000 l = 0x00010000 /* 64kB ARM local ROM */ ARMRAM o = 0xFFFF0000 l = 0x00002000 /* 8kB ARM local RAM */ #endif } SECTIONS { .text > SHRAM .stack > SHRAM .bss > SHRAM .cio > SHRAM .const > SHRAM .data > SHRAM .switch > SHRAM .sysmem > SHRAM .far > SHRAM .args > SHRAM .ppinfo > SHRAM .ppdata > SHRAM /* TI-ABI or COFF sections */ .pinit > SHRAM .cinit > SHRAM /* EABI sections */ .binit > SHRAM .init_array > SHRAM .neardata > SHRAM .fardata > SHRAM .rodata > SHRAM .c6xabi.exidx > SHRAM .c6xabi.extab > SHRAM }hÚj\häjOGhæjÎhè}rp](jjhí]hì]hê]hë]rq](jÙ;Xcehð]uhòMhóhhô]rr](jb)�rs]}rt](hÙXMEMORYhè}ru](hê]hë]rv]Unamerw]ahì]hí]hð]uhÚjn]hô]rx]hýXMEMORYry]…�rz]}r{](hÙUhÚjs]ubahæjlubhýX …�r|]}r}](hÙX hÚjn]ubjb)�r~]}r](hÙX{hè}r€](hê]hë]r�]U punctuationr‚]ahì]hí]hð]uhÚjn]hô]rƒ]hýX{…�r„]}r…](hÙUhÚj~]ubahæjlubhýX …�r†]}r‡](hÙX hÚjn]ubjb)�rˆ]}r‰](hÙX#ifdef DSP_CORE hè}rŠ](hê]hë]r‹](UcommentrŒ]Upreprocr�]ehì]hí]hð]uhÚjn]hô]rŽ]hýX#ifdef DSP_CORE r�]…�r�]}r‘](hÙUhÚjˆ]ubahæjlubjb)�r’]}r“](hÙX"/* DSP exclusive memory regions */hè}r”](hê]hë]r•](Ucommentr–]U multiliner—]ehì]hí]hð]uhÚjn]hô]r˜]hýX"/* DSP exclusive memory regions */r™]…�rš]}r›](hÙUhÚj’]ubahæjlubjb)�rœ]}r�](hÙX hè}rž](hê]hë]rŸ](Ucommentr ]Upreprocr¡]ehì]hí]hð]uhÚjn]hô]r¢]hýX …�r£]}r¤](hÙUhÚjœ]ubahæjlubhýX r¥]…�r¦]}r§](hÙX hÚjn]ubjb)�r¨]}r©](hÙXDSPL2ROMhè}rª](hê]hë]r«]Unamer¬]ahì]hí]hð]uhÚjn]hô]r­]hýXDSPL2ROMr®]…�r¯]}r°](hÙUhÚj¨]ubahæjlubhýX r±]…�r²]}r³](hÙX hÚjn]ubjb)�r´]}rµ](hÙXohè}r¶](hê]hë]r·]Unamer¸]ahì]hí]hð]uhÚjn]hô]r¹]hýXo…�rº]}r»](hÙUhÚj´]ubahæjlubhýX …�r¼]}r½](hÙX hÚjn]ubjb)�r¾]}r¿](hÙX=hè}rÀ](hê]hë]rÁ]UoperatorrÂ]ahì]hí]hð]uhÚjn]hô]rÃ]hýX=…�rÄ]}rÅ](hÙUhÚj¾]ubahæjlubhýX …�rÆ]}rÇ](hÙX hÚjn]ubjb)�rÈ]}rÉ](hÙX 0x00700000hè}rÊ](hê]hë]rË](UliteralrÌ]UnumberrÍ]UhexrÎ]ehì]hí]hð]uhÚjn]hô]rÏ]hýX 0x00700000rÐ]…�rÑ]}rÒ](hÙUhÚjÈ]ubahæjlubhýX rÓ]…�rÔ]}rÕ](hÙX hÚjn]ubjb)�rÖ]}r×](hÙXlhè}rØ](hê]hë]rÙ]UnamerÚ]ahì]hí]hð]uhÚjn]hô]rÛ]hýXl…�rÜ]}rÝ](hÙUhÚjÖ]ubahæjlubhýX …�rÞ]}rß](hÙX hÚjn]ubjb)�rà]}rá](hÙX=hè}râ](hê]hë]rã]Uoperatorrä]ahì]hí]hð]uhÚjn]hô]rå]hýX=…�ræ]}rç](hÙUhÚjà]ubahæjlubhýX …�rè]}ré](hÙX hÚjn]ubjb)�rê]}rë](hÙX 0x00100000hè}rì](hê]hë]rí](Uliteralrî]Unumberrï]Uhexrð]ehì]hí]hð]uhÚjn]hô]rñ]hýX 0x00100000rò]…�ró]}rô](hÙUhÚjê]ubahæjlubhýX rõ]…�rö]}r÷](hÙX hÚjn]ubjb)�rø]}rù](hÙX/* 1MB L2 DSP local ROM */hè}rú](hê]hë]rû](Ucommentrü]U multilinerý]ehì]hí]hð]uhÚjn]hô]rþ]hýX/* 1MB L2 DSP local ROM */rÿ]…�r^}r^(hÙUhÚjø]ubahæjlubhýX r^…�r^}r^(hÙX hÚjn]ubjb)�r^}r^(hÙXDSPL2RAMhè}r^(hê]hë]r^Unamer ^ahì]hí]hð]uhÚjn]hô]r ^hýXDSPL2RAMr ^…�r ^}r ^(hÙUhÚj^ubahæjlubhýX r^…�r^}r^(hÙX hÚjn]ubjb)�r^}r^(hÙXohè}r^(hê]hë]r^Unamer^ahì]hí]hð]uhÚjn]hô]r^hýXo…�r^}r^(hÙUhÚj^ubahæjlubhýX …�r^}r^(hÙX hÚjn]ubjb)�r^}r^(hÙX=hè}r^(hê]hë]r^Uoperatorr^ahì]hí]hð]uhÚjn]hô]r ^hýX=…�r!^}r"^(hÙUhÚj^ubahæjlubhýX …�r#^}r$^(hÙX hÚjn]ubjb)�r%^}r&^(hÙX 0x00800000hè}r'^(hê]hë]r(^(Uliteralr)^Unumberr*^Uhexr+^ehì]hí]hð]uhÚjn]hô]r,^hýX 0x00800000r-^…�r.^}r/^(hÙUhÚj%^ubahæjlubhýX r0^…�r1^}r2^(hÙX hÚjn]ubjb)�r3^}r4^(hÙXlhè}r5^(hê]hë]r6^Unamer7^ahì]hí]hð]uhÚjn]hô]r8^hýXl…�r9^}r:^(hÙUhÚj3^ubahæjlubhýX …�r;^}r<^(hÙX hÚjn]ubjb)�r=^}r>^(hÙX=hè}r?^(hê]hë]r@^UoperatorrA^ahì]hí]hð]uhÚjn]hô]rB^hýX=…�rC^}rD^(hÙUhÚj=^ubahæjlubhýX …�rE^}rF^(hÙX hÚjn]ubjb)�rG^}rH^(hÙX 0x00040000hè}rI^(hê]hë]rJ^(UliteralrK^UnumberrL^UhexrM^ehì]hí]hð]uhÚjn]hô]rN^hýX 0x00040000rO^…�rP^}rQ^(hÙUhÚjG^ubahæjlubhýX rR^…�rS^}rT^(hÙX hÚjn]ubjb)�rU^}rV^(hÙX/* 256kB L2 DSP local RAM */hè}rW^(hê]hë]rX^(UcommentrY^U multilinerZ^ehì]hí]hð]uhÚjn]hô]r[^hýX/* 256kB L2 DSP local RAM */r\^…�r]^}r^^(hÙUhÚjU^ubahæjlubhýX r_^…�r`^}ra^(hÙX hÚjn]ubjb)�rb^}rc^(hÙX DSPL1PRAMhè}rd^(hê]hë]re^Unamerf^ahì]hí]hð]uhÚjn]hô]rg^hýX DSPL1PRAMrh^…�ri^}rj^(hÙUhÚjb^ubahæjlubhýX rk^…�rl^}rm^(hÙX hÚjn]ubjb)�rn^}ro^(hÙXohè}rp^(hê]hë]rq^Unamerr^ahì]hí]hð]uhÚjn]hô]rs^hýXo…�rt^}ru^(hÙUhÚjn^ubahæjlubhýX …�rv^}rw^(hÙX hÚjn]ubjb)�rx^}ry^(hÙX=hè}rz^(hê]hë]r{^Uoperatorr|^ahì]hí]hð]uhÚjn]hô]r}^hýX=…�r~^}r^(hÙUhÚjx^ubahæjlubhýX …�r€^}r�^(hÙX hÚjn]ubjb)�r‚^}rƒ^(hÙX 0x00E00000hè}r„^(hê]hë]r…^(Uliteralr†^Unumberr‡^Uhexrˆ^ehì]hí]hð]uhÚjn]hô]r‰^hýX 0x00E00000rŠ^…�r‹^}rŒ^(hÙUhÚj‚^ubahæjlubhýX r�^…�rŽ^}r�^(hÙX hÚjn]ubjb)�r�^}r‘^(hÙXlhè}r’^(hê]hë]r“^Unamer”^ahì]hí]hð]uhÚjn]hô]r•^hýXl…�r–^}r—^(hÙUhÚj�^ubahæjlubhýX …�r˜^}r™^(hÙX hÚjn]ubjb)�rš^}r›^(hÙX=hè}rœ^(hê]hë]r�^Uoperatorrž^ahì]hí]hð]uhÚjn]hô]rŸ^hýX=…�r ^}r¡^(hÙUhÚjš^ubahæjlubhýX …�r¢^}r£^(hÙX hÚjn]ubjb)�r¤^}r¥^(hÙX 0x00008000hè}r¦^(hê]hë]r§^(Uliteralr¨^Unumberr©^Uhexrª^ehì]hí]hð]uhÚjn]hô]r«^hýX 0x00008000r¬^…�r­^}r®^(hÙUhÚj¤^ubahæjlubhýX r¯^…�r°^}r±^(hÙX hÚjn]ubjb)�r²^}r³^(hÙX#/* 32kB L1 DSP local Program RAM */hè}r´^(hê]hë]rµ^(Ucommentr¶^U multiliner·^ehì]hí]hð]uhÚjn]hô]r¸^hýX#/* 32kB L1 DSP local Program RAM */r¹^…�rº^}r»^(hÙUhÚj²^ubahæjlubhýX r¼^…�r½^}r¾^(hÙX hÚjn]ubjb)�r¿^}rÀ^(hÙX DSPL1DRAMhè}rÁ^(hê]hë]rÂ^UnamerÃ^ahì]hí]hð]uhÚjn]hô]rÄ^hýX DSPL1DRAMrÅ^…�rÆ^}rÇ^(hÙUhÚj¿^ubahæjlubhýX rÈ^…�rÉ^}rÊ^(hÙX hÚjn]ubjb)�rË^}rÌ^(hÙXohè}rÍ^(hê]hë]rÎ^UnamerÏ^ahì]hí]hð]uhÚjn]hô]rÐ^hýXo…�rÑ^}rÒ^(hÙUhÚjË^ubahæjlubhýX …�rÓ^}rÔ^(hÙX hÚjn]ubjb)�rÕ^}rÖ^(hÙX=hè}r×^(hê]hë]rØ^UoperatorrÙ^ahì]hí]hð]uhÚjn]hô]rÚ^hýX=…�rÛ^}rÜ^(hÙUhÚjÕ^ubahæjlubhýX …�rÝ^}rÞ^(hÙX hÚjn]ubjb)�rß^}rà^(hÙX 0x00F00000hè}rá^(hê]hë]râ^(Uliteralrã^Unumberrä^Uhexrå^ehì]hí]hð]uhÚjn]hô]ræ^hýX 0x00F00000rç^…�rè^}ré^(hÙUhÚjß^ubahæjlubhýX rê^…�rë^}rì^(hÙX hÚjn]ubjb)�rí^}rî^(hÙXlhè}rï^(hê]hë]rð^Unamerñ^ahì]hí]hð]uhÚjn]hô]rò^hýXl…�ró^}rô^(hÙUhÚjí^ubahæjlubhýX …�rõ^}rö^(hÙX hÚjn]ubjb)�r÷^}rø^(hÙX=hè}rù^(hê]hë]rú^Uoperatorrû^ahì]hí]hð]uhÚjn]hô]rü^hýX=…�rý^}rþ^(hÙUhÚj÷^ubahæjlubhýX …�rÿ^}r_(hÙX hÚjn]ubjb)�r_}r_(hÙX 0x00008000hè}r_(hê]hë]r_(Uliteralr_Unumberr_Uhexr_ehì]hí]hð]uhÚjn]hô]r_hýX 0x00008000r _…�r _}r _(hÙUhÚj_ubahæjlubhýX r _…�r _}r_(hÙX hÚjn]ubjb)�r_}r_(hÙX /* 32kB L1 DSP local Data RAM */hè}r_(hê]hë]r_(Ucommentr_U multiliner_ehì]hí]hð]uhÚjn]hô]r_hýX /* 32kB L1 DSP local Data RAM */r_…�r_}r_(hÙUhÚj_ubahæjlubhýX r_…�r_}r_(hÙX hÚjn]ubjb)�r_}r_(hÙX#endif hè}r_(hê]hë]r_(Ucommentr _Upreprocr!_ehì]hí]hð]uhÚjn]hô]r"_hýX#endif r#_…�r$_}r%_(hÙUhÚj_ubahæjlubhýX r&_…�r'_}r(_(hÙX hÚjn]ubjb)�r)_}r*_(hÙX SHDSPL2ROMhè}r+_(hê]hë]r,_Unamer-_ahì]hí]hð]uhÚjn]hô]r._hýX SHDSPL2ROMr/_…�r0_}r1_(hÙUhÚj)_ubahæjlubhýX r2_…�r3_}r4_(hÙX hÚjn]ubjb)�r5_}r6_(hÙXohè}r7_(hê]hë]r8_Unamer9_ahì]hí]hð]uhÚjn]hô]r:_hýXo…�r;_}r<_(hÙUhÚj5_ubahæjlubhýX …�r=_}r>_(hÙX hÚjn]ubjb)�r?_}r@_(hÙX=hè}rA_(hê]hë]rB_UoperatorrC_ahì]hí]hð]uhÚjn]hô]rD_hýX=…�rE_}rF_(hÙUhÚj?_ubahæjlubhýX …�rG_}rH_(hÙX hÚjn]ubjb)�rI_}rJ_(hÙX 0x11700000hè}rK_(hê]hë]rL_(UliteralrM_UnumberrN_UhexrO_ehì]hí]hð]uhÚjn]hô]rP_hýX 0x11700000rQ_…�rR_}rS_(hÙUhÚjI_ubahæjlubhýX rT_…�rU_}rV_(hÙX hÚjn]ubjb)�rW_}rX_(hÙXlhè}rY_(hê]hë]rZ_Unamer[_ahì]hí]hð]uhÚjn]hô]r\_hýXl…�r]_}r^_(hÙUhÚjW_ubahæjlubhýX …�r__}r`_(hÙX hÚjn]ubjb)�ra_}rb_(hÙX=hè}rc_(hê]hë]rd_Uoperatorre_ahì]hí]hð]uhÚjn]hô]rf_hýX=…�rg_}rh_(hÙUhÚja_ubahæjlubhýX …�ri_}rj_(hÙX hÚjn]ubjb)�rk_}rl_(hÙX 0x00100000hè}rm_(hê]hë]rn_(Uliteralro_Unumberrp_Uhexrq_ehì]hí]hð]uhÚjn]hô]rr_hýX 0x00100000rs_…�rt_}ru_(hÙUhÚjk_ubahæjlubhýX rv_…�rw_}rx_(hÙX hÚjn]ubjb)�ry_}rz_(hÙX /* 1MB L2 Shared Internal ROM */hè}r{_(hê]hë]r|_(Ucommentr}_U multiliner~_ehì]hí]hð]uhÚjn]hô]r_hýX /* 1MB L2 Shared Internal ROM */r€_…�r�_}r‚_(hÙUhÚjy_ubahæjlubhýX rƒ_…�r„_}r…_(hÙX hÚjn]ubjb)�r†_}r‡_(hÙX SHDSPL2RAMhè}rˆ_(hê]hë]r‰_UnamerŠ_ahì]hí]hð]uhÚjn]hô]r‹_hýX SHDSPL2RAMrŒ_…�r�_}rŽ_(hÙUhÚj†_ubahæjlubhýX r�_…�r�_}r‘_(hÙX hÚjn]ubjb)�r’_}r“_(hÙXohè}r”_(hê]hë]r•_Unamer–_ahì]hí]hð]uhÚjn]hô]r—_hýXo…�r˜_}r™_(hÙUhÚj’_ubahæjlubhýX …�rš_}r›_(hÙX hÚjn]ubjb)�rœ_}r�_(hÙX=hè}rž_(hê]hë]rŸ_Uoperatorr _ahì]hí]hð]uhÚjn]hô]r¡_hýX=…�r¢_}r£_(hÙUhÚjœ_ubahæjlubhýX …�r¤_}r¥_(hÙX hÚjn]ubjb)�r¦_}r§_(hÙX 0x11800000hè}r¨_(hê]hë]r©_(Uliteralrª_Unumberr«_Uhexr¬_ehì]hí]hð]uhÚjn]hô]r­_hýX 0x11800000r®_…�r¯_}r°_(hÙUhÚj¦_ubahæjlubhýX r±_…�r²_}r³_(hÙX hÚjn]ubjb)�r´_}rµ_(hÙXlhè}r¶_(hê]hë]r·_Unamer¸_ahì]hí]hð]uhÚjn]hô]r¹_hýXl…�rº_}r»_(hÙUhÚj´_ubahæjlubhýX …�r¼_}r½_(hÙX hÚjn]ubjb)�r¾_}r¿_(hÙX=hè}rÀ_(hê]hë]rÁ_UoperatorrÂ_ahì]hí]hð]uhÚjn]hô]rÃ_hýX=…�rÄ_}rÅ_(hÙUhÚj¾_ubahæjlubhýX …�rÆ_}rÇ_(hÙX hÚjn]ubjb)�rÈ_}rÉ_(hÙX 0x00040000hè}rÊ_(hê]hë]rË_(UliteralrÌ_UnumberrÍ_UhexrÎ_ehì]hí]hð]uhÚjn]hô]rÏ_hýX 0x00040000rÐ_…�rÑ_}rÒ_(hÙUhÚjÈ_ubahæjlubhýX rÓ_…�rÔ_}rÕ_(hÙX hÚjn]ubjb)�rÖ_}r×_(hÙX"/* 256kB L2 Shared Internal RAM */hè}rØ_(hê]hë]rÙ_(UcommentrÚ_U multilinerÛ_ehì]hí]hð]uhÚjn]hô]rÜ_hýX"/* 256kB L2 Shared Internal RAM */rÝ_…�rÞ_}rß_(hÙUhÚjÖ_ubahæjlubhýX rà_…�rá_}râ_(hÙX hÚjn]ubjb)�rã_}rä_(hÙX SHDSPL1PRAMhè}rå_(hê]hë]ræ_Unamerç_ahì]hí]hð]uhÚjn]hô]rè_hýX SHDSPL1PRAMré_…�rê_}rë_(hÙUhÚjã_ubahæjlubhýX rì_…�rí_}rî_(hÙX hÚjn]ubjb)�rï_}rð_(hÙXohè}rñ_(hê]hë]rò_Unameró_ahì]hí]hð]uhÚjn]hô]rô_hýXo…�rõ_}rö_(hÙUhÚjï_ubahæjlubhýX …�r÷_}rø_(hÙX hÚjn]ubjb)�rù_}rú_(hÙX=hè}rû_(hê]hë]rü_Uoperatorrý_ahì]hí]hð]uhÚjn]hô]rþ_hýX=…�rÿ_}r`(hÙUhÚjù_ubahæjlubhýX …�r`}r`(hÙX hÚjn]ubjb)�r`}r`(hÙX 0x11E00000hè}r`(hê]hë]r`(Uliteralr`Unumberr`Uhexr `ehì]hí]hð]uhÚjn]hô]r `hýX 0x11E00000r `…�r `}r `(hÙUhÚj`ubahæjlubhýX r`…�r`}r`(hÙX hÚjn]ubjb)�r`}r`(hÙXlhè}r`(hê]hë]r`Unamer`ahì]hí]hð]uhÚjn]hô]r`hýXl…�r`}r`(hÙUhÚj`ubahæjlubhýX …�r`}r`(hÙX hÚjn]ubjb)�r`}r`(hÙX=hè}r`(hê]hë]r`Uoperatorr`ahì]hí]hð]uhÚjn]hô]r `hýX=…�r!`}r"`(hÙUhÚj`ubahæjlubhýX …�r#`}r$`(hÙX hÚjn]ubjb)�r%`}r&`(hÙX 0x00008000hè}r'`(hê]hë]r(`(Uliteralr)`Unumberr*`Uhexr+`ehì]hí]hð]uhÚjn]hô]r,`hýX 0x00008000r-`…�r.`}r/`(hÙUhÚj%`ubahæjlubhýX r0`…�r1`}r2`(hÙX hÚjn]ubjb)�r3`}r4`(hÙX)/* 32kB L1 Shared Internal Program RAM */hè}r5`(hê]hë]r6`(Ucommentr7`U multiliner8`ehì]hí]hð]uhÚjn]hô]r9`hýX)/* 32kB L1 Shared Internal Program RAM */r:`…�r;`}r<`(hÙUhÚj3`ubahæjlubhýX r=`…�r>`}r?`(hÙX hÚjn]ubjb)�r@`}rA`(hÙX SHDSPL1DRAMhè}rB`(hê]hë]rC`UnamerD`ahì]hí]hð]uhÚjn]hô]rE`hýX SHDSPL1DRAMrF`…�rG`}rH`(hÙUhÚj@`ubahæjlubhýX rI`…�rJ`}rK`(hÙX hÚjn]ubjb)�rL`}rM`(hÙXohè}rN`(hê]hë]rO`UnamerP`ahì]hí]hð]uhÚjn]hô]rQ`hýXo…�rR`}rS`(hÙUhÚjL`ubahæjlubhýX …�rT`}rU`(hÙX hÚjn]ubjb)�rV`}rW`(hÙX=hè}rX`(hê]hë]rY`UoperatorrZ`ahì]hí]hð]uhÚjn]hô]r[`hýX=…�r\`}r]`(hÙUhÚjV`ubahæjlubhýX …�r^`}r_`(hÙX hÚjn]ubjb)�r``}ra`(hÙX 0x11F00000hè}rb`(hê]hë]rc`(Uliteralrd`Unumberre`Uhexrf`ehì]hí]hð]uhÚjn]hô]rg`hýX 0x11F00000rh`…�ri`}rj`(hÙUhÚj``ubahæjlubhýX rk`…�rl`}rm`(hÙX hÚjn]ubjb)�rn`}ro`(hÙXlhè}rp`(hê]hë]rq`Unamerr`ahì]hí]hð]uhÚjn]hô]rs`hýXl…�rt`}ru`(hÙUhÚjn`ubahæjlubhýX …�rv`}rw`(hÙX hÚjn]ubjb)�rx`}ry`(hÙX=hè}rz`(hê]hë]r{`Uoperatorr|`ahì]hí]hð]uhÚjn]hô]r}`hýX=…�r~`}r`(hÙUhÚjx`ubahæjlubhýX …�r€`}r�`(hÙX hÚjn]ubjb)�r‚`}rƒ`(hÙX 0x00008000hè}r„`(hê]hë]r…`(Uliteralr†`Unumberr‡`Uhexrˆ`ehì]hí]hð]uhÚjn]hô]r‰`hýX 0x00008000rŠ`…�r‹`}rŒ`(hÙUhÚj‚`ubahæjlubhýX r�`…�rŽ`}r�`(hÙX hÚjn]ubjb)�r�`}r‘`(hÙX&/* 32kB L1 Shared Internal Data RAM */hè}r’`(hê]hë]r“`(Ucommentr”`U multiliner•`ehì]hí]hð]uhÚjn]hô]r–`hýX&/* 32kB L1 Shared Internal Data RAM */r—`…�r˜`}r™`(hÙUhÚj�`ubahæjlubhýX rš`…�r›`}rœ`(hÙX hÚjn]ubjb)�r�`}rž`(hÙXEMIFACS0hè}rŸ`(hê]hë]r `Unamer¡`ahì]hí]hð]uhÚjn]hô]r¢`hýXEMIFACS0r£`…�r¤`}r¥`(hÙUhÚj�`ubahæjlubhýX r¦`…�r§`}r¨`(hÙX hÚjn]ubjb)�r©`}rª`(hÙXohè}r«`(hê]hë]r¬`Unamer­`ahì]hí]hð]uhÚjn]hô]r®`hýXo…�r¯`}r°`(hÙUhÚj©`ubahæjlubhýX …�r±`}r²`(hÙX hÚjn]ubjb)�r³`}r´`(hÙX=hè}rµ`(hê]hë]r¶`Uoperatorr·`ahì]hí]hð]uhÚjn]hô]r¸`hýX=…�r¹`}rº`(hÙUhÚj³`ubahæjlubhýX …�r»`}r¼`(hÙX hÚjn]ubjb)�r½`}r¾`(hÙX 0x40000000hè}r¿`(hê]hë]rÀ`(UliteralrÁ`UnumberrÂ`UhexrÃ`ehì]hí]hð]uhÚjn]hô]rÄ`hýX 0x40000000rÅ`…�rÆ`}rÇ`(hÙUhÚj½`ubahæjlubhýX rÈ`…�rÉ`}rÊ`(hÙX hÚjn]ubjb)�rË`}rÌ`(hÙXlhè}rÍ`(hê]hë]rÎ`UnamerÏ`ahì]hí]hð]uhÚjn]hô]rÐ`hýXl…�rÑ`}rÒ`(hÙUhÚjË`ubahæjlubhýX …�rÓ`}rÔ`(hÙX hÚjn]ubjb)�rÕ`}rÖ`(hÙX=hè}r×`(hê]hë]rØ`UoperatorrÙ`ahì]hí]hð]uhÚjn]hô]rÚ`hýX=…�rÛ`}rÜ`(hÙUhÚjÕ`ubahæjlubhýX …�rÝ`}rÞ`(hÙX hÚjn]ubjb)�rß`}rà`(hÙX 0x20000000hè}rá`(hê]hë]râ`(Uliteralrã`Unumberrä`Uhexrå`ehì]hí]hð]uhÚjn]hô]ræ`hýX 0x20000000rç`…�rè`}ré`(hÙUhÚjß`ubahæjlubhýX rê`…�rë`}rì`(hÙX hÚjn]ubjb)�rí`}rî`(hÙX/* 512MB SDRAM Data (CS0) */hè}rï`(hê]hë]rð`(Ucommentrñ`U multilinerò`ehì]hí]hð]uhÚjn]hô]ró`hýX/* 512MB SDRAM Data (CS0) */rô`…�rõ`}rö`(hÙUhÚjí`ubahæjlubhýX r÷`…�rø`}rù`(hÙX hÚjn]ubjb)�rú`}rû`(hÙXEMIFACS2hè}rü`(hê]hë]rý`Unamerþ`ahì]hí]hð]uhÚjn]hô]rÿ`hýXEMIFACS2ra…�ra}ra(hÙUhÚjú`ubahæjlubhýX ra…�ra}ra(hÙX hÚjn]ubjb)�ra}ra(hÙXohè}ra(hê]hë]r aUnamer aahì]hí]hð]uhÚjn]hô]r ahýXo…�r a}r a(hÙUhÚjaubahæjlubhýX …�ra}ra(hÙX hÚjn]ubjb)�ra}ra(hÙX=hè}ra(hê]hë]raUoperatorraahì]hí]hð]uhÚjn]hô]rahýX=…�ra}ra(hÙUhÚjaubahæjlubhýX …�ra}ra(hÙX hÚjn]ubjb)�ra}ra(hÙX 0x60000000hè}ra(hê]hë]ra(UliteralraUnumberraUhexr aehì]hí]hð]uhÚjn]hô]r!ahýX 0x60000000r"a…�r#a}r$a(hÙUhÚjaubahæjlubhýX r%a…�r&a}r'a(hÙX hÚjn]ubjb)�r(a}r)a(hÙXlhè}r*a(hê]hë]r+aUnamer,aahì]hí]hð]uhÚjn]hô]r-ahýXl…�r.a}r/a(hÙUhÚj(aubahæjlubhýX …�r0a}r1a(hÙX hÚjn]ubjb)�r2a}r3a(hÙX=hè}r4a(hê]hë]r5aUoperatorr6aahì]hí]hð]uhÚjn]hô]r7ahýX=…�r8a}r9a(hÙUhÚj2aubahæjlubhýX …�r:a}r;a(hÙX hÚjn]ubjb)�ra(hê]hë]r?a(Uliteralr@aUnumberrAaUhexrBaehì]hí]hð]uhÚjn]hô]rCahýX 0x02000000rDa…�rEa}rFa(hÙUhÚjb(hÙX hÚjn]ubjb)�r?b}r@b(hÙXlhè}rAb(hê]hë]rBbUnamerCbahì]hí]hð]uhÚjn]hô]rDbhýXl…�rEb}rFb(hÙUhÚj?bubahæjlubhýX …�rGb}rHb(hÙX hÚjn]ubjb)�rIb}rJb(hÙX=hè}rKb(hê]hë]rLbUoperatorrMbahì]hí]hð]uhÚjn]hô]rNbhýX=…�rOb}rPb(hÙUhÚjIbubahæjlubhýX …�rQb}rRb(hÙX hÚjn]ubjb)�rSb}rTb(hÙX 0x02000000hè}rUb(hê]hë]rVb(UliteralrWbUnumberrXbUhexrYbehì]hí]hð]uhÚjn]hô]rZbhýX 0x02000000r[b…�r\b}r]b(hÙUhÚjSbubahæjlubhýX r^b…�r_b}r`b(hÙX hÚjn]ubjb)�rab}rbb(hÙX/* 32MB Async Data (CS5) */hè}rcb(hê]hë]rdb(UcommentrebU multilinerfbehì]hí]hð]uhÚjn]hô]rgbhýX/* 32MB Async Data (CS5) */rhb…�rib}rjb(hÙUhÚjabubahæjlubhýX rkb…�rlb}rmb(hÙX hÚjn]ubjb)�rnb}rob(hÙXSHRAMhè}rpb(hê]hë]rqbUnamerrbahì]hí]hð]uhÚjn]hô]rsbhýXSHRAMrtb…�rub}rvb(hÙUhÚjnbubahæjlubhýX rwb…�rxb}ryb(hÙX hÚjn]ubjb)�rzb}r{b(hÙXohè}r|b(hê]hë]r}bUnamer~bahì]hí]hð]uhÚjn]hô]rbhýXo…�r€b}r�b(hÙUhÚjzbubahæjlubhýX …�r‚b}rƒb(hÙX hÚjn]ubjb)�r„b}r…b(hÙX=hè}r†b(hê]hë]r‡bUoperatorrˆbahì]hí]hð]uhÚjn]hô]r‰bhýX=…�rŠb}r‹b(hÙUhÚj„bubahæjlubhýX …�rŒb}r�b(hÙX hÚjn]ubjb)�rŽb}r�b(hÙX 0x80000000hè}r�b(hê]hë]r‘b(Uliteralr’bUnumberr“bUhexr”behì]hí]hð]uhÚjn]hô]r•bhýX 0x80000000r–b…�r—b}r˜b(hÙUhÚjŽbubahæjlubhýX r™b…�ršb}r›b(hÙX hÚjn]ubjb)�rœb}r�b(hÙXlhè}ržb(hê]hë]rŸbUnamer bahì]hí]hð]uhÚjn]hô]r¡bhýXl…�r¢b}r£b(hÙUhÚjœbubahæjlubhýX …�r¤b}r¥b(hÙX hÚjn]ubjb)�r¦b}r§b(hÙX=hè}r¨b(hê]hë]r©bUoperatorrªbahì]hí]hð]uhÚjn]hô]r«bhýX=…�r¬b}r­b(hÙUhÚj¦bubahæjlubhýX …�r®b}r¯b(hÙX hÚjn]ubjb)�r°b}r±b(hÙX 0x00020000hè}r²b(hê]hë]r³b(Uliteralr´bUnumberrµbUhexr¶behì]hí]hð]uhÚjn]hô]r·bhýX 0x00020000r¸b…�r¹b}rºb(hÙUhÚj°bubahæjlubhýX r»b…�r¼b}r½b(hÙX hÚjn]ubjb)�r¾b}r¿b(hÙX/* 128kB Shared RAM */hè}rÀb(hê]hë]rÁb(UcommentrÂbU multilinerÃbehì]hí]hð]uhÚjn]hô]rÄbhýX/* 128kB Shared RAM */rÅb…�rÆb}rÇb(hÙUhÚj¾bubahæjlubhýX rÈb…�rÉb}rÊb(hÙX hÚjn]ubjb)�rËb}rÌb(hÙXDDR2hè}rÍb(hê]hë]rÎbUnamerÏbahì]hí]hð]uhÚjn]hô]rÐbhýXDDR2rÑb…�rÒb}rÓb(hÙUhÚjËbubahæjlubhýX rÔb…�rÕb}rÖb(hÙX hÚjn]ubjb)�r×b}rØb(hÙXohè}rÙb(hê]hë]rÚbUnamerÛbahì]hí]hð]uhÚjn]hô]rÜbhýXo…�rÝb}rÞb(hÙUhÚj×bubahæjlubhýX …�rßb}ràb(hÙX hÚjn]ubjb)�ráb}râb(hÙX=hè}rãb(hê]hë]räbUoperatorråbahì]hí]hð]uhÚjn]hô]ræbhýX=…�rçb}rèb(hÙUhÚjábubahæjlubhýX …�réb}rêb(hÙX hÚjn]ubjb)�rëb}rìb(hÙX 0xC0000000hè}ríb(hê]hë]rîb(UliteralrïbUnumberrðbUhexrñbehì]hí]hð]uhÚjn]hô]ròbhýX 0xC0000000rób…�rôb}rõb(hÙUhÚjëbubahæjlubhýX röb…�r÷b}røb(hÙX hÚjn]ubjb)�rùb}rúb(hÙXlhè}rûb(hê]hë]rübUnamerýbahì]hí]hð]uhÚjn]hô]rþbhýXl…�rÿb}rc(hÙUhÚjùbubahæjlubhýX …�rc}rc(hÙX hÚjn]ubjb)�rc}rc(hÙX=hè}rc(hê]hë]rcUoperatorrcahì]hí]hð]uhÚjn]hô]rchýX=…�r c}r c(hÙUhÚjcubahæjlubhýX …�r c}r c(hÙX hÚjn]ubjb)�r c}rc(hÙX 0x20000000hè}rc(hê]hë]rc(UliteralrcUnumberrcUhexrcehì]hí]hð]uhÚjn]hô]rchýX 0x20000000rc…�rc}rc(hÙUhÚj cubahæjlubhýX rc…�rc}rc(hÙX hÚjn]ubjb)�rc}rc(hÙX/* 512MB DDR2 Data */hè}rc(hê]hë]rc(UcommentrcU multiliner cehì]hí]hð]uhÚjn]hô]r!chýX/* 512MB DDR2 Data */r"c…�r#c}r$c(hÙUhÚjcubahæjlubhýX r%c…�r&c}r'c(hÙX hÚjn]ubjb)�r(c}r)c(hÙX#ifndef DSP_CORE hè}r*c(hê]hë]r+c(Ucommentr,cUpreprocr-cehì]hí]hð]uhÚjn]hô]r.chýX#ifndef DSP_CORE r/c…�r0c}r1c(hÙUhÚj(cubahæjlubjb)�r2c}r3c(hÙX"/* ARM exclusive memory regions */hè}r4c(hê]hë]r5c(Ucommentr6cU multiliner7cehì]hí]hð]uhÚjn]hô]r8chýX"/* ARM exclusive memory regions */r9c…�r:c}r;c(hÙUhÚj2cubahæjlubjb)�rc(hê]hë]r?c(Ucommentr@cUpreprocrAcehì]hí]hð]uhÚjn]hô]rBchýX …�rCc}rDc(hÙUhÚjd…�r?d}r@d(hÙX hÚjn]ubjb)�rAd}rBd(hÙX>hè}rCd(hê]hë]rDdUoperatorrEdahì]hí]hð]uhÚjn]hô]rFdhýX>…�rGd}rHd(hÙUhÚjAdubahæjlubhýX rId…�rJd}rKd(hÙX hÚjn]ubjb)�rLd}rMd(hÙXSHRAMhè}rNd(hê]hë]rOdUnamerPdahì]hí]hð]uhÚjn]hô]rQdhýXSHRAMrRd…�rSd}rTd(hÙUhÚjLdubahæjlubhýX rUd…�rVd}rWd(hÙX hÚjn]ubjb)�rXd}rYd(hÙX.hè}rZd(hê]hë]r[dU punctuationr\dahì]hí]hð]uhÚjn]hô]r]dhýX.…�r^d}r_d(hÙUhÚjXdubahæjlubjb)�r`d}rad(hÙXstackhè}rbd(hê]hë]rcdUnamerddahì]hí]hð]uhÚjn]hô]redhýXstackrfd…�rgd}rhd(hÙUhÚj`dubahæjlubhýX rid…�rjd}rkd(hÙX hÚjn]ubjb)�rld}rmd(hÙX>hè}rnd(hê]hë]rodUoperatorrpdahì]hí]hð]uhÚjn]hô]rqdhýX>…�rrd}rsd(hÙUhÚjldubahæjlubhýX rtd…�rud}rvd(hÙX hÚjn]ubjb)�rwd}rxd(hÙXSHRAMhè}ryd(hê]hë]rzdUnamer{dahì]hí]hð]uhÚjn]hô]r|dhýXSHRAMr}d…�r~d}rd(hÙUhÚjwdubahæjlubhýX r€d…�r�d}r‚d(hÙX hÚjn]ubjb)�rƒd}r„d(hÙX.hè}r…d(hê]hë]r†dU punctuationr‡dahì]hí]hð]uhÚjn]hô]rˆdhýX.…�r‰d}rŠd(hÙUhÚjƒdubahæjlubjb)�r‹d}rŒd(hÙXbsshè}r�d(hê]hë]rŽdUnamer�dahì]hí]hð]uhÚjn]hô]r�dhýXbssr‘d…�r’d}r“d(hÙUhÚj‹dubahæjlubhýX r”d…�r•d}r–d(hÙX hÚjn]ubjb)�r—d}r˜d(hÙX>hè}r™d(hê]hë]ršdUoperatorr›dahì]hí]hð]uhÚjn]hô]rœdhýX>…�r�d}ržd(hÙUhÚj—dubahæjlubhýX rŸd…�r d}r¡d(hÙX hÚjn]ubjb)�r¢d}r£d(hÙXSHRAMhè}r¤d(hê]hë]r¥dUnamer¦dahì]hí]hð]uhÚjn]hô]r§dhýXSHRAMr¨d…�r©d}rªd(hÙUhÚj¢dubahæjlubhýX r«d…�r¬d}r­d(hÙX hÚjn]ubjb)�r®d}r¯d(hÙX.hè}r°d(hê]hë]r±dU punctuationr²dahì]hí]hð]uhÚjn]hô]r³dhýX.…�r´d}rµd(hÙUhÚj®dubahæjlubjb)�r¶d}r·d(hÙXciohè}r¸d(hê]hë]r¹dUnamerºdahì]hí]hð]uhÚjn]hô]r»dhýXcior¼d…�r½d}r¾d(hÙUhÚj¶dubahæjlubhýX r¿d…�rÀd}rÁd(hÙX hÚjn]ubjb)�rÂd}rÃd(hÙX>hè}rÄd(hê]hë]rÅdUoperatorrÆdahì]hí]hð]uhÚjn]hô]rÇdhýX>…�rÈd}rÉd(hÙUhÚjÂdubahæjlubhýX rÊd…�rËd}rÌd(hÙX hÚjn]ubjb)�rÍd}rÎd(hÙXSHRAMhè}rÏd(hê]hë]rÐdUnamerÑdahì]hí]hð]uhÚjn]hô]rÒdhýXSHRAMrÓd…�rÔd}rÕd(hÙUhÚjÍdubahæjlubhýX rÖd…�r×d}rØd(hÙX hÚjn]ubjb)�rÙd}rÚd(hÙX.hè}rÛd(hê]hë]rÜdU punctuationrÝdahì]hí]hð]uhÚjn]hô]rÞdhýX.…�rßd}ràd(hÙUhÚjÙdubahæjlubjb)�rád}râd(hÙXconsthè}rãd(hê]hë]rädUkeywordrådahì]hí]hð]uhÚjn]hô]rædhýXconstrçd…�rèd}réd(hÙUhÚjádubahæjlubhýX rêd…�rëd}rìd(hÙX hÚjn]ubjb)�ríd}rîd(hÙX>hè}rïd(hê]hë]rðdUoperatorrñdahì]hí]hð]uhÚjn]hô]ròdhýX>…�ród}rôd(hÙUhÚjídubahæjlubhýX rõd…�röd}r÷d(hÙX hÚjn]ubjb)�rød}rùd(hÙXSHRAMhè}rúd(hê]hë]rûdUnamerüdahì]hí]hð]uhÚjn]hô]rýdhýXSHRAMrþd…�rÿd}re(hÙUhÚjødubahæjlubhýX re…�re}re(hÙX hÚjn]ubjb)�re}re(hÙX.hè}re(hê]hë]reU punctuationreahì]hí]hð]uhÚjn]hô]r ehýX.…�r e}r e(hÙUhÚjeubahæjlubjb)�r e}r e(hÙXdatahè}re(hê]hë]reUnamereahì]hí]hð]uhÚjn]hô]rehýXdatare…�re}re(hÙUhÚj eubahæjlubhýX re…�re}re(hÙX hÚjn]ubjb)�re}re(hÙX>hè}re(hê]hë]reUoperatorreahì]hí]hð]uhÚjn]hô]rehýX>…�re}re(hÙUhÚjeubahæjlubhýX r e…�r!e}r"e(hÙX hÚjn]ubjb)�r#e}r$e(hÙXSHRAMhè}r%e(hê]hë]r&eUnamer'eahì]hí]hð]uhÚjn]hô]r(ehýXSHRAMr)e…�r*e}r+e(hÙUhÚj#eubahæjlubhýX r,e…�r-e}r.e(hÙX hÚjn]ubjb)�r/e}r0e(hÙX.hè}r1e(hê]hë]r2eU punctuationr3eahì]hí]hð]uhÚjn]hô]r4ehýX.…�r5e}r6e(hÙUhÚj/eubahæjlubjb)�r7e}r8e(hÙXswitchhè}r9e(hê]hë]r:eUkeywordr;eahì]hí]hð]uhÚjn]hô]re}r?e(hÙUhÚj7eubahæjlubhýX r@e…�rAe}rBe(hÙX hÚjn]ubjb)�rCe}rDe(hÙX>hè}rEe(hê]hë]rFeUoperatorrGeahì]hí]hð]uhÚjn]hô]rHehýX>…�rIe}rJe(hÙUhÚjCeubahæjlubhýX rKe…�rLe}rMe(hÙX hÚjn]ubjb)�rNe}rOe(hÙXSHRAMhè}rPe(hê]hë]rQeUnamerReahì]hí]hð]uhÚjn]hô]rSehýXSHRAMrTe…�rUe}rVe(hÙUhÚjNeubahæjlubhýX rWe…�rXe}rYe(hÙX hÚjn]ubjb)�rZe}r[e(hÙX.hè}r\e(hê]hë]r]eU punctuationr^eahì]hí]hð]uhÚjn]hô]r_ehýX.…�r`e}rae(hÙUhÚjZeubahæjlubjb)�rbe}rce(hÙXsysmemhè}rde(hê]hë]reeUnamerfeahì]hí]hð]uhÚjn]hô]rgehýXsysmemrhe…�rie}rje(hÙUhÚjbeubahæjlubhýX rke…�rle}rme(hÙX hÚjn]ubjb)�rne}roe(hÙX>hè}rpe(hê]hë]rqeUoperatorrreahì]hí]hð]uhÚjn]hô]rsehýX>…�rte}rue(hÙUhÚjneubahæjlubhýX rve…�rwe}rxe(hÙX hÚjn]ubjb)�rye}rze(hÙXSHRAMhè}r{e(hê]hë]r|eUnamer}eahì]hí]hð]uhÚjn]hô]r~ehýXSHRAMre…�r€e}r�e(hÙUhÚjyeubahæjlubhýX r‚e…�rƒe}r„e(hÙX hÚjn]ubjb)�r…e}r†e(hÙX.hè}r‡e(hê]hë]rˆeU punctuationr‰eahì]hí]hð]uhÚjn]hô]rŠehýX.…�r‹e}rŒe(hÙUhÚj…eubahæjlubjb)�r�e}rŽe(hÙXfarhè}r�e(hê]hë]r�eUnamer‘eahì]hí]hð]uhÚjn]hô]r’ehýXfarr“e…�r”e}r•e(hÙUhÚj�eubahæjlubhýX r–e…�r—e}r˜e(hÙX hÚjn]ubjb)�r™e}rše(hÙX>hè}r›e(hê]hë]rœeUoperatorr�eahì]hí]hð]uhÚjn]hô]ržehýX>…�rŸe}r e(hÙUhÚj™eubahæjlubhýX r¡e…�r¢e}r£e(hÙX hÚjn]ubjb)�r¤e}r¥e(hÙXSHRAMhè}r¦e(hê]hë]r§eUnamer¨eahì]hí]hð]uhÚjn]hô]r©ehýXSHRAMrªe…�r«e}r¬e(hÙUhÚj¤eubahæjlubhýX r­e…�r®e}r¯e(hÙX hÚjn]ubjb)�r°e}r±e(hÙX.hè}r²e(hê]hë]r³eU punctuationr´eahì]hí]hð]uhÚjn]hô]rµehýX.…�r¶e}r·e(hÙUhÚj°eubahæjlubjb)�r¸e}r¹e(hÙXargshè}rºe(hê]hë]r»eUnamer¼eahì]hí]hð]uhÚjn]hô]r½ehýXargsr¾e…�r¿e}rÀe(hÙUhÚj¸eubahæjlubhýX rÁe…�rÂe}rÃe(hÙX hÚjn]ubjb)�rÄe}rÅe(hÙX>hè}rÆe(hê]hë]rÇeUoperatorrÈeahì]hí]hð]uhÚjn]hô]rÉehýX>…�rÊe}rËe(hÙUhÚjÄeubahæjlubhýX rÌe…�rÍe}rÎe(hÙX hÚjn]ubjb)�rÏe}rÐe(hÙXSHRAMhè}rÑe(hê]hë]rÒeUnamerÓeahì]hí]hð]uhÚjn]hô]rÔehýXSHRAMrÕe…�rÖe}r×e(hÙUhÚjÏeubahæjlubhýX rØe…�rÙe}rÚe(hÙX hÚjn]ubjb)�rÛe}rÜe(hÙX.hè}rÝe(hê]hë]rÞeU punctuationrßeahì]hí]hð]uhÚjn]hô]ràehýX.…�ráe}râe(hÙUhÚjÛeubahæjlubjb)�rãe}räe(hÙXppinfohè}råe(hê]hë]ræeUnamerçeahì]hí]hð]uhÚjn]hô]rèehýXppinforée…�rêe}rëe(hÙUhÚjãeubahæjlubhýX rìe…�ríe}rîe(hÙX hÚjn]ubjb)�rïe}rðe(hÙX>hè}rñe(hê]hë]ròeUoperatorróeahì]hí]hð]uhÚjn]hô]rôehýX>…�rõe}röe(hÙUhÚjïeubahæjlubhýX r÷e…�røe}rùe(hÙX hÚjn]ubjb)�rúe}rûe(hÙXSHRAMhè}rüe(hê]hë]rýeUnamerþeahì]hí]hð]uhÚjn]hô]rÿehýXSHRAMrf…�rf}rf(hÙUhÚjúeubahæjlubhýX rf…�rf}rf(hÙX hÚjn]ubjb)�rf}rf(hÙX.hè}rf(hê]hë]r fU punctuationr fahì]hí]hð]uhÚjn]hô]r fhýX.…�r f}r f(hÙUhÚjfubahæjlubjb)�rf}rf(hÙXppdatahè}rf(hê]hë]rfUnamerfahì]hí]hð]uhÚjn]hô]rfhýXppdatarf…�rf}rf(hÙUhÚjfubahæjlubhýX rf…�rf}rf(hÙX hÚjn]ubjb)�rf}rf(hÙX>hè}rf(hê]hë]rfUoperatorrfahì]hí]hð]uhÚjn]hô]rfhýX>…�r f}r!f(hÙUhÚjfubahæjlubhýX r"f…�r#f}r$f(hÙX hÚjn]ubjb)�r%f}r&f(hÙXSHRAMhè}r'f(hê]hë]r(fUnamer)fahì]hí]hð]uhÚjn]hô]r*fhýXSHRAMr+f…�r,f}r-f(hÙUhÚj%fubahæjlubhýX r.f…�r/f}r0f(hÙX hÚjn]ubjb)�r1f}r2f(hÙX/* TI-ABI or COFF sections */hè}r3f(hê]hë]r4f(Ucommentr5fU multiliner6fehì]hí]hð]uhÚjn]hô]r7fhýX/* TI-ABI or COFF sections */r8f…�r9f}r:f(hÙUhÚj1fubahæjlubhýX r;f…�rf}r?f(hÙX.hè}r@f(hê]hë]rAfU punctuationrBfahì]hí]hð]uhÚjn]hô]rCfhýX.…�rDf}rEf(hÙUhÚj>fubahæjlubjb)�rFf}rGf(hÙXpinithè}rHf(hê]hë]rIfUnamerJfahì]hí]hð]uhÚjn]hô]rKfhýXpinitrLf…�rMf}rNf(hÙUhÚjFfubahæjlubhýX rOf…�rPf}rQf(hÙX hÚjn]ubjb)�rRf}rSf(hÙX>hè}rTf(hê]hë]rUfUoperatorrVfahì]hí]hð]uhÚjn]hô]rWfhýX>…�rXf}rYf(hÙUhÚjRfubahæjlubhýX rZf…�r[f}r\f(hÙX hÚjn]ubjb)�r]f}r^f(hÙXSHRAMhè}r_f(hê]hë]r`fUnamerafahì]hí]hð]uhÚjn]hô]rbfhýXSHRAMrcf…�rdf}ref(hÙUhÚj]fubahæjlubhýX rff…�rgf}rhf(hÙX hÚjn]ubjb)�rif}rjf(hÙX.hè}rkf(hê]hë]rlfU punctuationrmfahì]hí]hð]uhÚjn]hô]rnfhýX.…�rof}rpf(hÙUhÚjifubahæjlubjb)�rqf}rrf(hÙXcinithè}rsf(hê]hë]rtfUnamerufahì]hí]hð]uhÚjn]hô]rvfhýXcinitrwf…�rxf}ryf(hÙUhÚjqfubahæjlubhýX rzf…�r{f}r|f(hÙX hÚjn]ubjb)�r}f}r~f(hÙX>hè}rf(hê]hë]r€fUoperatorr�fahì]hí]hð]uhÚjn]hô]r‚fhýX>…�rƒf}r„f(hÙUhÚj}fubahæjlubhýX r…f…�r†f}r‡f(hÙX hÚjn]ubjb)�rˆf}r‰f(hÙXSHRAMhè}rŠf(hê]hë]r‹fUnamerŒfahì]hí]hð]uhÚjn]hô]r�fhýXSHRAMrŽf…�r�f}r�f(hÙUhÚjˆfubahæjlubhýX r‘f…�r’f}r“f(hÙX hÚjn]ubjb)�r”f}r•f(hÙX/* EABI sections */hè}r–f(hê]hë]r—f(Ucommentr˜fU multiliner™fehì]hí]hð]uhÚjn]hô]ršfhýX/* EABI sections */r›f…�rœf}r�f(hÙUhÚj”fubahæjlubhýX ržf…�rŸf}r f(hÙX hÚjn]ubjb)�r¡f}r¢f(hÙX.hè}r£f(hê]hë]r¤fU punctuationr¥fahì]hí]hð]uhÚjn]hô]r¦fhýX.…�r§f}r¨f(hÙUhÚj¡fubahæjlubjb)�r©f}rªf(hÙXbinithè}r«f(hê]hë]r¬fUnamer­fahì]hí]hð]uhÚjn]hô]r®fhýXbinitr¯f…�r°f}r±f(hÙUhÚj©fubahæjlubhýX r²f…�r³f}r´f(hÙX hÚjn]ubjb)�rµf}r¶f(hÙX>hè}r·f(hê]hë]r¸fUoperatorr¹fahì]hí]hð]uhÚjn]hô]rºfhýX>…�r»f}r¼f(hÙUhÚjµfubahæjlubhýX r½f…�r¾f}r¿f(hÙX hÚjn]ubjb)�rÀf}rÁf(hÙXSHRAMhè}rÂf(hê]hë]rÃfUnamerÄfahì]hí]hð]uhÚjn]hô]rÅfhýXSHRAMrÆf…�rÇf}rÈf(hÙUhÚjÀfubahæjlubhýX rÉf…�rÊf}rËf(hÙX hÚjn]ubjb)�rÌf}rÍf(hÙX.hè}rÎf(hê]hë]rÏfU punctuationrÐfahì]hí]hð]uhÚjn]hô]rÑfhýX.…�rÒf}rÓf(hÙUhÚjÌfubahæjlubjb)�rÔf}rÕf(hÙX init_arrayhè}rÖf(hê]hë]r×fUnamerØfahì]hí]hð]uhÚjn]hô]rÙfhýX init_arrayrÚf…�rÛf}rÜf(hÙUhÚjÔfubahæjlubhýX rÝf…�rÞf}rßf(hÙX hÚjn]ubjb)�ràf}ráf(hÙX>hè}râf(hê]hë]rãfUoperatorräfahì]hí]hð]uhÚjn]hô]råfhýX>…�ræf}rçf(hÙUhÚjàfubahæjlubhýX rèf…�réf}rêf(hÙX hÚjn]ubjb)�rëf}rìf(hÙXSHRAMhè}ríf(hê]hë]rîfUnamerïfahì]hí]hð]uhÚjn]hô]rðfhýXSHRAMrñf…�ròf}róf(hÙUhÚjëfubahæjlubhýX rôf…�rõf}röf(hÙX hÚjn]ubjb)�r÷f}røf(hÙX.hè}rùf(hê]hë]rúfU punctuationrûfahì]hí]hð]uhÚjn]hô]rüfhýX.…�rýf}rþf(hÙUhÚj÷fubahæjlubjb)�rÿf}rg(hÙXneardatahè}rg(hê]hë]rgUnamergahì]hí]hð]uhÚjn]hô]rghýXneardatarg…�rg}rg(hÙUhÚjÿfubahæjlubhýX rg…�r g}r g(hÙX hÚjn]ubjb)�r g}r g(hÙX>hè}r g(hê]hë]rgUoperatorrgahì]hí]hð]uhÚjn]hô]rghýX>…�rg}rg(hÙUhÚj gubahæjlubhýX rg…�rg}rg(hÙX hÚjn]ubjb)�rg}rg(hÙXSHRAMhè}rg(hê]hë]rgUnamergahì]hí]hð]uhÚjn]hô]rghýXSHRAMrg…�rg}rg(hÙUhÚjgubahæjlubhýX rg…�r g}r!g(hÙX hÚjn]ubjb)�r"g}r#g(hÙX.hè}r$g(hê]hë]r%gU punctuationr&gahì]hí]hð]uhÚjn]hô]r'ghýX.…�r(g}r)g(hÙUhÚj"gubahæjlubjb)�r*g}r+g(hÙXfardatahè}r,g(hê]hë]r-gUnamer.gahì]hí]hð]uhÚjn]hô]r/ghýXfardatar0g…�r1g}r2g(hÙUhÚj*gubahæjlubhýX r3g…�r4g}r5g(hÙX hÚjn]ubjb)�r6g}r7g(hÙX>hè}r8g(hê]hë]r9gUoperatorr:gahì]hí]hð]uhÚjn]hô]r;ghýX>…�rg…�r?g}r@g(hÙX hÚjn]ubjb)�rAg}rBg(hÙXSHRAMhè}rCg(hê]hë]rDgUnamerEgahì]hí]hð]uhÚjn]hô]rFghýXSHRAMrGg…�rHg}rIg(hÙUhÚjAgubahæjlubhýX rJg…�rKg}rLg(hÙX hÚjn]ubjb)�rMg}rNg(hÙX.hè}rOg(hê]hë]rPgU punctuationrQgahì]hí]hð]uhÚjn]hô]rRghýX.…�rSg}rTg(hÙUhÚjMgubahæjlubjb)�rUg}rVg(hÙXrodatahè}rWg(hê]hë]rXgUnamerYgahì]hí]hð]uhÚjn]hô]rZghýXrodatar[g…�r\g}r]g(hÙUhÚjUgubahæjlubhýX r^g…�r_g}r`g(hÙX hÚjn]ubjb)�rag}rbg(hÙX>hè}rcg(hê]hë]rdgUoperatorregahì]hí]hð]uhÚjn]hô]rfghýX>…�rgg}rhg(hÙUhÚjagubahæjlubhýX rig…�rjg}rkg(hÙX hÚjn]ubjb)�rlg}rmg(hÙXSHRAMhè}rng(hê]hë]rogUnamerpgahì]hí]hð]uhÚjn]hô]rqghýXSHRAMrrg…�rsg}rtg(hÙUhÚjlgubahæjlubhýX rug…�rvg}rwg(hÙX hÚjn]ubjb)�rxg}ryg(hÙX.hè}rzg(hê]hë]r{gU punctuationr|gahì]hí]hð]uhÚjn]hô]r}ghýX.…�r~g}rg(hÙUhÚjxgubahæjlubjb)�r€g}r�g(hÙXc6xabihè}r‚g(hê]hë]rƒgUnamer„gahì]hí]hð]uhÚjn]hô]r…ghýXc6xabir†g…�r‡g}rˆg(hÙUhÚj€gubahæjlubjb)�r‰g}rŠg(hÙX.hè}r‹g(hê]hë]rŒgU punctuationr�gahì]hí]hð]uhÚjn]hô]rŽghýX.…�r�g}r�g(hÙUhÚj‰gubahæjlubjb)�r‘g}r’g(hÙXexidxhè}r“g(hê]hë]r”gUnamer•gahì]hí]hð]uhÚjn]hô]r–ghýXexidxr—g…�r˜g}r™g(hÙUhÚj‘gubahæjlubhýX ršg…�r›g}rœg(hÙX hÚjn]ubjb)�r�g}ržg(hÙX>hè}rŸg(hê]hë]r gUoperatorr¡gahì]hí]hð]uhÚjn]hô]r¢ghýX>…�r£g}r¤g(hÙUhÚj�gubahæjlubhýX r¥g…�r¦g}r§g(hÙX hÚjn]ubjb)�r¨g}r©g(hÙXSHRAMhè}rªg(hê]hë]r«gUnamer¬gahì]hí]hð]uhÚjn]hô]r­ghýXSHRAMr®g…�r¯g}r°g(hÙUhÚj¨gubahæjlubhýX r±g…�r²g}r³g(hÙX hÚjn]ubjb)�r´g}rµg(hÙX.hè}r¶g(hê]hë]r·gU punctuationr¸gahì]hí]hð]uhÚjn]hô]r¹ghýX.…�rºg}r»g(hÙUhÚj´gubahæjlubjb)�r¼g}r½g(hÙXc6xabihè}r¾g(hê]hë]r¿gUnamerÀgahì]hí]hð]uhÚjn]hô]rÁghýXc6xabirÂg…�rÃg}rÄg(hÙUhÚj¼gubahæjlubjb)�rÅg}rÆg(hÙX.hè}rÇg(hê]hë]rÈgU punctuationrÉgahì]hí]hð]uhÚjn]hô]rÊghýX.…�rËg}rÌg(hÙUhÚjÅgubahæjlubjb)�rÍg}rÎg(hÙXextabhè}rÏg(hê]hë]rÐgUnamerÑgahì]hí]hð]uhÚjn]hô]rÒghýXextabrÓg…�rÔg}rÕg(hÙUhÚjÍgubahæjlubhýX rÖg…�r×g}rØg(hÙX hÚjn]ubjb)�rÙg}rÚg(hÙX>hè}rÛg(hê]hë]rÜgUoperatorrÝgahì]hí]hð]uhÚjn]hô]rÞghýX>…�rßg}ràg(hÙUhÚjÙgubahæjlubhýX rág…�râg}rãg(hÙX hÚjn]ubjb)�räg}råg(hÙXSHRAMhè}ræg(hê]hë]rçgUnamerègahì]hí]hð]uhÚjn]hô]réghýXSHRAMrêg…�rëg}rìg(hÙUhÚjägubahæjlubhýX …�ríg}rîg(hÙX hÚjn]ubjb)�rïg}rðg(hÙX}hè}rñg(hê]hë]rògU punctuationrógahì]hí]hð]uhÚjn]hô]rôghýX}…�rõg}rög(hÙUhÚjïgubahæjlubeubj¼)�r÷g}røg(hÙUhÚj\häjOGhæj¿hè}rùg(jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòMhóhhô]rúgjX)�rûg}rüg(hÙX8Now build the project to generate hello_world.out file. hÚj÷ghäjOGhæj[hè}rýg(hê]hë]hì]hí]hð]uhòNhóhhô]rþgj/)�rÿg}rh(hÙX7Now build the project to generate hello_world.out file.rhhÚjûghäjOGhæj3hè}rh(hê]hë]hì]hí]hð]uhòMhô]rhhýX7Now build the project to generate hello_world.out file.rh…�rh}rh(hÙjhhÚjÿgubaubaubaubj/)�rh}rh(hÙX²9. Launch target configurations using your emulator to connect to the OMAP-L138 as described in the :ref:`Getting Started Guide `.hÚj\häjOGhæj3hè}r h(hê]hë]hì]hí]hð]uhòMhóhhô]r h(hýXd9. Launch target configurations using your emulator to connect to the OMAP-L138 as described in the r h…�r h}r h(hÙXd9. Launch target configurations using your emulator to connect to the OMAP-L138 as described in the hÚjhubjZ)�rh}rh(hÙXM:ref:`Getting Started Guide `rhhÚjhhäjOGhæj^hè}rh(UreftypeXrefj¢ ˆj£ X.processor-sdk-rtos-getting-started-guide-labelU refdomainXstdrhhí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòMhô]rhjb)�rh}rh(hÙjhhè}rh(hê]hë]rh(j­ jhXstd-refrhehì]hí]hð]uhÚjhhô]rhhýXGetting Started Guiderh…�rh}rh(hÙUhÚjhubahæjlubaubhýX.…�rh}rh(hÙX.hÚjhubeubj/)�rh}r h(hÙX{10. Right click on ARM9_0 and connect to target. The on target functionality in the GEL will initialize the clocks and DDR.r!hhÚj\häjOGhæj3hè}r"h(hê]hë]hì]hí]hð]uhòM"hóhhô]r#hhýX{10. Right click on ARM9_0 and connect to target. The on target functionality in the GEL will initialize the clocks and DDR.r$h…�r%h}r&h(hÙj!hhÚjhubaubj/)�r'h}r(h(hÙXs11. Load and run hello_world_arm9.out file. You should see **Hello World!** string displayed on CCS console window.hÚj\häjOGhæj3hè}r)h(hê]hë]hì]hí]hð]uhòM%hóhhô]r*h(hýX;11. Load and run hello_world_arm9.out file. You should see r+h…�r,h}r-h(hÙX;11. Load and run hello_world_arm9.out file. You should see hÚj'hubjW)�r.h}r/h(hÙX**Hello World!**hè}r0h(hê]hë]hì]hí]hð]uhÚj'hhô]r1hhýX Hello World!r2h…�r3h}r4h(hÙUhÚj.hubahæj_ubhýX( string displayed on CCS console window.r5h…�r6h}r7h(hÙX( string displayed on CCS console window.hÚj'hubeubjÎ)�r8h}r9h(hÙUhÚj\häjOGhæjÑhè}r:h(hê]hë]hì]hí]hð]uhòM(hóhhô]r;hjÔ)�rh(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubhÛ)�r?h}r@h(hÙUjKhÚj=GhäjOGhæhçhè}rAh(hê]rBhjlBahë]hì]hí]rChUid53rDhahð]uhòM+hóhhô]rEh(hö)�rFh}rGh(hÙXDSP C66xrHhhÚj?hhäjOGhæhúhè}rIh(hê]hë]hì]hí]hð]uhòM+hóhhô]rJhhýXDSP C66xrKh…�rLh}rMh(hÙjHhhÚjFhubaubj/)�rNh}rOh(hÙX.In this article, we take a look at creating bare-metal hello world examples for C66x core using pre-built templates in CCS. As a sample we will use the AM572x device to describe the steps but the same steps can be used for create hello world examples for C66x cores in the Keystone 2 family of devices.rPhhÚj?hhäjOGhæj3hè}rQh(hê]hë]hì]hí]hð]uhòM-hóhhô]rRhhýX.In this article, we take a look at creating bare-metal hello world examples for C66x core using pre-built templates in CCS. As a sample we will use the AM572x device to describe the steps but the same steps can be used for create hello world examples for C66x cores in the Keystone 2 family of devices.rSh…�rTh}rUh(hÙjPhhÚjNhubaubj))�rVh}rWh(hÙX¤Only major difference C66x examples for AM572x and Keystone 2 is that the Keystone 2 device contain MSMC memory instead of OCMC memory as the shared on chip memory.hÚj?hhäjOGhæj,hè}rXh(hê]hë]hì]hí]hð]uhòNhóhhô]rYhj/)�rZh}r[h(hÙX¤Only major difference C66x examples for AM572x and Keystone 2 is that the Keystone 2 device contain MSMC memory instead of OCMC memory as the shared on chip memory.r\hhÚjVhhäjOGhæj3hè}r]h(hê]hë]hì]hí]hð]uhòM4hô]r^hhýX¤Only major difference C66x examples for AM572x and Keystone 2 is that the Keystone 2 device contain MSMC memory instead of OCMC memory as the shared on chip memory.r_h…�r`h}rah(hÙj\hhÚjZhubaubaubj¼)�rbh}rch(hÙUhÚj?hhäjOGhæj¿hè}rdh(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòM8hóhhô]reh(jX)�rfh}rgh(hÙX@Start CCSv6 and create a work space for generating the project. hÚjbhhäjOGhæj[hè}rhh(hê]hë]hì]hí]hð]uhòNhóhhô]rihj/)�rjh}rkh(hÙX?Start CCSv6 and create a work space for generating the project.rlhhÚjfhhäjOGhæj3hè}rmh(hê]hë]hì]hí]hð]uhòM8hô]rnhhýX?Start CCSv6 and create a work space for generating the project.roh…�rph}rqh(hÙjlhhÚjjhubaubaubjX)�rrh}rsh(hÙX9Click on File menu option and select New--> CCS Project. hÚjbhhäjOGhæj[hè}rth(hê]hë]hì]hí]hð]uhòNhóhhô]ruhj/)�rvh}rwh(hÙX8Click on File menu option and select New--> CCS Project.rxhhÚjrhhäjOGhæj3hè}ryh(hê]hë]hì]hí]hð]uhòM:hô]rzhhýX8Click on File menu option and select New--> CCS Project.r{h…�r|h}r}h(hÙjxhhÚjvhubaubaubjX)�r~h}rh(hÙXFSelect Target as AM572x -C66xx and GPEVM_AM572x as shown in the image hÚjbhhäjOGhæj[hè}r€h(hê]hë]hì]hí]hð]uhòNhóhhô]r�hj/)�r‚h}rƒh(hÙXESelect Target as AM572x -C66xx and GPEVM_AM572x as shown in the imager„hhÚj~hhäjOGhæj3hè}r…h(hê]hë]hì]hí]hð]uhòM<hô]r†hhýXESelect Target as AM572x -C66xx and GPEVM_AM572x as shown in the imager‡h…�rˆh}r‰h(hÙj„hhÚj‚hubaubaubeubj/)�rŠh}r‹h(hÙX¸4. Select **C66XX [C6000]** DSP setting in the options below and provide name of the project as "hello_world_dsp" and use default Advanced settings for the project. Click Finish after you are done to allow CCS to auto generate the project from the template **Basic Examples-> Hello World**. The Default settings uses "TI CG Tools compiler 8.x.x" tool chain for C66x and sets the build for **little** endian **ELF** binary for the C66x core.hÚj?hhäjOGhæj3hè}rŒh(hê]hë]hì]hí]hð]uhòM>hóhhô]r�h(hýX 4. Select rŽh…�r�h}r�h(hÙX 4. Select hÚjŠhubjW)�r‘h}r’h(hÙX**C66XX [C6000]**hè}r“h(hê]hë]hì]hí]hð]uhÚjŠhhô]r”hhýX C66XX [C6000]r•h…�r–h}r—h(hÙUhÚj‘hubahæj_ubhýXæ DSP setting in the options below and provide name of the project as "hello_world_dsp" and use default Advanced settings for the project. Click Finish after you are done to allow CCS to auto generate the project from the template r˜h…�r™h}ršh(hÙXæ DSP setting in the options below and provide name of the project as "hello_world_dsp" and use default Advanced settings for the project. Click Finish after you are done to allow CCS to auto generate the project from the template hÚjŠhubjW)�r›h}rœh(hÙX **Basic Examples-> Hello World**hè}r�h(hê]hë]hì]hí]hð]uhÚjŠhhô]ržhhýXBasic Examples-> Hello WorldrŸh…�r h}r¡h(hÙUhÚj›hubahæj_ubhýXd. The Default settings uses "TI CG Tools compiler 8.x.x" tool chain for C66x and sets the build for r¢h…�r£h}r¤h(hÙXd. The Default settings uses "TI CG Tools compiler 8.x.x" tool chain for C66x and sets the build for hÚjŠhubjW)�r¥h}r¦h(hÙX **little**hè}r§h(hê]hë]hì]hí]hð]uhÚjŠhhô]r¨hhýXlittler©h…�rªh}r«h(hÙUhÚj¥hubahæj_ubhýX endian r¬h…�r­h}r®h(hÙX endian hÚjŠhubjW)�r¯h}r°h(hÙX**ELF**hè}r±h(hê]hë]hì]hí]hð]uhÚjŠhhô]r²hhýXELFr³h…�r´h}rµh(hÙUhÚj¯hubahæj_ubhýX binary for the C66x core.r¶h…�r·h}r¸h(hÙX binary for the C66x core.hÚjŠhubeubj)�r¹h}rºh(hÙX8.. Image:: ../images/Bare-Metal_C66x_templateselect.jpg hÚj?hhäjOGhæjhè}r»h(UuriX1rtos/../images/Bare-Metal_C66x_templateselect.jpgr¼hhí]hì]hê]hë]j}r½hU*j¼hshð]uhòMGhóhhô]ubj/)�r¾h}r¿h(hÙXz5. The generated CCS project contains only one source file **hello.c**. Ensure the main.c file contains the following codehÚj?hhäjOGhæj3hè}rÀh(hê]hë]hì]hí]hð]uhòMHhóhhô]rÁh(hýX;5. The generated CCS project contains only one source file rÂh…�rÃh}rÄh(hÙX;5. The generated CCS project contains only one source file hÚj¾hubjW)�rÅh}rÆh(hÙX **hello.c**hè}rÇh(hê]hë]hì]hí]hð]uhÚj¾hhô]rÈhhýXhello.crÉh…�rÊh}rËh(hÙUhÚjÅhubahæj_ubhýX4. Ensure the main.c file contains the following coderÌh…�rÍh}rÎh(hÙX4. Ensure the main.c file contains the following codehÚj¾hubeubjÅ;)�rÏh}rÐh(hÙX7
hÚj?hhäjOGhæjÈ;hè}rÑh(UformatXhtmljjhí]hì]hê]hë]hð]uhòMKhóhhô]rÒhhýX7
rÓh…�rÔh}rÕh(hÙUhÚjÏhubaubjÅ;)�rÖh}r×h(hÙX
hÚj?hhäjOGhæjÈ;hè}rØh(UformatXhtmljjhí]hì]hê]hë]hð]uhòMOhóhhô]rÙhhýX
rÚh…�rÛh}rÜh(hÙUhÚjÖhubaubjË)�rÝh}rÞh(hÙXi /* * hello.c */ #include int main(void) { printf("Hello_world\n"); return 0; }hÚj?hhäjOGhæjÎhè}rßh(jjhí]hì]hê]hë]ràh(jÙ;Xcehð]uhòM_hóhhô]ráh(hýX …�râh}rãh(hÙX hÚjÝhubjb)�räh}råh(hÙX/* * hello.c */hè}ræh(hê]hë]rçh(UcommentrèhU multilineréhehì]hí]hð]uhÚjÝhhô]rêhhýX/* * hello.c */rëh…�rìh}ríh(hÙUhÚjähubahæjlubhýX rîh…�rïh}rðh(hÙX hÚjÝhubjb)�rñh}ròh(hÙX#includehè}róh(hê]hë]rôh(UcommentrõhUpreprocröhehì]hí]hð]uhÚjÝhhô]r÷hhýX#includerøh…�rùh}rúh(hÙUhÚjñhubahæjlubhýX …�rûh}rüh(hÙX hÚjÝhubjb)�rýh}rþh(hÙX hè}rÿh(hê]hë]ri(UcommentriU preprocfileriehì]hí]hð]uhÚjÝhhô]rihýX ri…�ri}ri(hÙUhÚjýhubahæjlubjb)�ri}ri(hÙX hè}r i(hê]hë]r i(Ucommentr iUpreprocr iehì]hí]hð]uhÚjÝhhô]r ihýX …�ri}ri(hÙUhÚjiubahæjlubhýX ri…�ri}ri(hÙX hÚjÝhubjb)�ri}ri(hÙXinthè}ri(hê]hë]ri(UkeywordriUtyperiehì]hí]hð]uhÚjÝhhô]rihýXintri…�ri}ri(hÙUhÚjiubahæjlubhýX …�ri}ri(hÙX hÚjÝhubjb)�ri}r i(hÙXmainhè}r!i(hê]hë]r"i(Unamer#iUfunctionr$iehì]hí]hð]uhÚjÝhhô]r%ihýXmainr&i…�r'i}r(i(hÙUhÚjiubahæjlubjb)�r)i}r*i(hÙX(hè}r+i(hê]hë]r,iU punctuationr-iahì]hí]hð]uhÚjÝhhô]r.ihýX(…�r/i}r0i(hÙUhÚj)iubahæjlubjb)�r1i}r2i(hÙXvoidhè}r3i(hê]hë]r4i(Ukeywordr5iUtyper6iehì]hí]hð]uhÚjÝhhô]r7ihýXvoidr8i…�r9i}r:i(hÙUhÚj1iubahæjlubjb)�r;i}riU punctuationr?iahì]hí]hð]uhÚjÝhhô]r@ihýX)…�rAi}rBi(hÙUhÚj;iubahæjlubhýX …�rCi}rDi(hÙX hÚjÝhubjb)�rEi}rFi(hÙX{hè}rGi(hê]hë]rHiU punctuationrIiahì]hí]hð]uhÚjÝhhô]rJihýX{…�rKi}rLi(hÙUhÚjEiubahæjlubhýX rMi…�rNi}rOi(hÙX hÚjÝhubjb)�rPi}rQi(hÙXprintfhè}rRi(hê]hë]rSiUnamerTiahì]hí]hð]uhÚjÝhhô]rUihýXprintfrVi…�rWi}rXi(hÙUhÚjPiubahæjlubjb)�rYi}rZi(hÙX(hè}r[i(hê]hë]r\iU punctuationr]iahì]hí]hð]uhÚjÝhhô]r^ihýX(…�r_i}r`i(hÙUhÚjYiubahæjlubjb)�rai}rbi(hÙX "Hello_worldhè}rci(hê]hë]rdi(UliteralreiUstringrfiehì]hí]hð]uhÚjÝhhô]rgihýX "Hello_worldrhi…�rii}rji(hÙUhÚjaiubahæjlubjb)�rki}rli(hÙX\nhè}rmi(hê]hë]rni(UliteralroiUstringrpiUescaperqiehì]hí]hð]uhÚjÝhhô]rrihýX\nrsi…�rti}rui(hÙUhÚjkiubahæjlubjb)�rvi}rwi(hÙX"hè}rxi(hê]hë]ryi(UliteralrziUstringr{iehì]hí]hð]uhÚjÝhhô]r|ihýX"…�r}i}r~i(hÙUhÚjviubahæjlubjb)�ri}r€i(hÙX);hè}r�i(hê]hë]r‚iU punctuationrƒiahì]hí]hð]uhÚjÝhhô]r„ihýX);r…i…�r†i}r‡i(hÙUhÚjiubahæjlubhýX rˆi…�r‰i}rŠi(hÙX hÚjÝhubjb)�r‹i}rŒi(hÙXreturnhè}r�i(hê]hë]rŽiUkeywordr�iahì]hí]hð]uhÚjÝhhô]r�ihýXreturnr‘i…�r’i}r“i(hÙUhÚj‹iubahæjlubhýX …�r”i}r•i(hÙX hÚjÝhubjb)�r–i}r—i(hÙX0hè}r˜i(hê]hë]r™i(UliteralršiUnumberr›iUintegerrœiehì]hí]hð]uhÚjÝhhô]r�ihýX0…�rži}rŸi(hÙUhÚj–iubahæjlubjb)�r i}r¡i(hÙX;hè}r¢i(hê]hë]r£iU punctuationr¤iahì]hí]hð]uhÚjÝhhô]r¥ihýX;…�r¦i}r§i(hÙUhÚj iubahæjlubhýX …�r¨i}r©i(hÙX hÚjÝhubjb)�rªi}r«i(hÙX}hè}r¬i(hê]hë]r­iU punctuationr®iahì]hí]hð]uhÚjÝhhô]r¯ihýX}…�r°i}r±i(hÙUhÚjªiubahæjlubeubjÅ;)�r²i}r³i(hÙX
hÚj?hhäjOGhæjÈ;hè}r´i(UformatXhtmljjhí]hì]hê]hë]hð]uhòM`hóhhô]rµihýX
r¶i…�r·i}r¸i(hÙUhÚj²iubaubjÅ;)�r¹i}rºi(hÙX
hÚj?hhäjOGhæjÈ;hè}r»i(UformatXhtmljjhí]hì]hê]hë]hð]uhòMdhóhhô]r¼ihýX
r½i…�r¾i}r¿i(hÙUhÚj¹iubaubj/)�rÀi}rÁi(hÙXÆ6. CCSv6 includes a default linker command file(AM57xx_C66.cmd) for the C66x DSP core which will place code into appropriate device memory. The linker command file has the following memory sections.rÂihÚj?hhäjOGhæj3hè}rÃi(hê]hë]hì]hí]hð]uhòMhhóhhô]rÄihýXÆ6. CCSv6 includes a default linker command file(AM57xx_C66.cmd) for the C66x DSP core which will place code into appropriate device memory. The linker command file has the following memory sections.rÅi…�rÆi}rÇi(hÙjÂihÚjÀiubaubjÅ;)�rÈi}rÉi(hÙX7
hÚj?hhäjOGhæjÈ;hè}rÊi(UformatXhtmljjhí]hì]hê]hë]hð]uhòMlhóhhô]rËihýX7
rÌi…�rÍi}rÎi(hÙUhÚjÈiubaubjÅ;)�rÏi}rÐi(hÙX
hÚj?hhäjOGhæjÈ;hè}rÑi(UformatXhtmljjhí]hì]hê]hë]hð]uhòMphóhhô]rÒihýX
rÓi…�rÔi}rÕi(hÙUhÚjÏiubaubjË)�rÖi}r×i(hÙXvMEMORY { IRAM_MEM: o = 0x00800000 l = 0x00008000 /* 32kB internal SRAM */ OCMC_RAM1: o = 0x40300000 l = 0x00080000 /* 512kB L3 OCMC SRAM1 */ OCMC_RAM2: o = 0x40400000 l = 0x00100000 /* 1MB L3 OCMC SRAM2 */ OCMC_RAM3: o = 0x40500000 l = 0x00100000 /* 1MB L3 OCMC SRAM3 */ DDR0: o = 0x80000000 l = 0x40000000 /* 1GB external DDR Bank 0 */ }hÚj?hhäjOGhæjÎhè}rØi(jjhí]hì]hê]hë]rÙi(jÙ;Xcehð]uhòM~hóhhô]rÚi(jb)�rÛi}rÜi(hÙXMEMORYhè}rÝi(hê]hë]rÞiUnamerßiahì]hí]hð]uhÚjÖihô]ràihýXMEMORYrái…�râi}rãi(hÙUhÚjÛiubahæjlubhýX …�räi}råi(hÙX hÚjÖiubjb)�ræi}rçi(hÙX{hè}rèi(hê]hë]réiU punctuationrêiahì]hí]hð]uhÚjÖihô]rëihýX{…�rìi}ríi(hÙUhÚjæiubahæjlubhýX rîi…�rïi}rði(hÙX hÚjÖiubjb)�rñi}ròi(hÙXIRAM_MEMhè}rói(hê]hë]rôi(UnamerõiUlabelröiehì]hí]hð]uhÚjÖihô]r÷ihýXIRAM_MEMrøi…�rùi}rúi(hÙUhÚjñiubahæjlubjb)�rûi}rüi(hÙX:hè}rýi(hê]hë]rþiU punctuationrÿiahì]hí]hð]uhÚjÖihô]rjhýX:…�rj}rj(hÙUhÚjûiubahæjlubhýX rj…�rj}rj(hÙX hÚjÖiubjb)�rj}rj(hÙXohè}rj(hê]hë]r jUnamer jahì]hí]hð]uhÚjÖihô]r jhýXo…�r j}r j(hÙUhÚjjubahæjlubhýX …�rj}rj(hÙX hÚjÖiubjb)�rj}rj(hÙX=hè}rj(hê]hë]rjUoperatorrjahì]hí]hð]uhÚjÖihô]rjhýX=…�rj}rj(hÙUhÚjjubahæjlubhýX …�rj}rj(hÙX hÚjÖiubjb)�rj}rj(hÙX 0x00800000hè}rj(hê]hë]rj(UliteralrjUnumberrjUhexr jehì]hí]hð]uhÚjÖihô]r!jhýX 0x00800000r"j…�r#j}r$j(hÙUhÚjjubahæjlubhýX …�r%j}r&j(hÙX hÚjÖiubjb)�r'j}r(j(hÙXlhè}r)j(hê]hë]r*jUnamer+jahì]hí]hð]uhÚjÖihô]r,jhýXl…�r-j}r.j(hÙUhÚj'jubahæjlubhýX …�r/j}r0j(hÙX hÚjÖiubjb)�r1j}r2j(hÙX=hè}r3j(hê]hë]r4jUoperatorr5jahì]hí]hð]uhÚjÖihô]r6jhýX=…�r7j}r8j(hÙUhÚj1jubahæjlubhýX …�r9j}r:j(hÙX hÚjÖiubjb)�r;j}rj(Uliteralr?jUnumberr@jUhexrAjehì]hí]hð]uhÚjÖihô]rBjhýX 0x00008000rCj…�rDj}rEj(hÙUhÚj;jubahæjlubhýX rFj…�rGj}rHj(hÙX hÚjÖiubjb)�rIj}rJj(hÙX/* 32kB internal SRAM */hè}rKj(hê]hë]rLj(UcommentrMjU multilinerNjehì]hí]hð]uhÚjÖihô]rOjhýX/* 32kB internal SRAM */rPj…�rQj}rRj(hÙUhÚjIjubahæjlubhýX rSj…�rTj}rUj(hÙX hÚjÖiubjb)�rVj}rWj(hÙX OCMC_RAM1hè}rXj(hê]hë]rYj(UnamerZjUlabelr[jehì]hí]hð]uhÚjÖihô]r\jhýX OCMC_RAM1r]j…�r^j}r_j(hÙUhÚjVjubahæjlubjb)�r`j}raj(hÙX:hè}rbj(hê]hë]rcjU punctuationrdjahì]hí]hð]uhÚjÖihô]rejhýX:…�rfj}rgj(hÙUhÚj`jubahæjlubhýX …�rhj}rij(hÙX hÚjÖiubjb)�rjj}rkj(hÙXohè}rlj(hê]hë]rmjUnamernjahì]hí]hð]uhÚjÖihô]rojhýXo…�rpj}rqj(hÙUhÚjjjubahæjlubhýX …�rrj}rsj(hÙX hÚjÖiubjb)�rtj}ruj(hÙX=hè}rvj(hê]hë]rwjUoperatorrxjahì]hí]hð]uhÚjÖihô]ryjhýX=…�rzj}r{j(hÙUhÚjtjubahæjlubhýX …�r|j}r}j(hÙX hÚjÖiubjb)�r~j}rj(hÙX 0x40300000hè}r€j(hê]hë]r�j(Uliteralr‚jUnumberrƒjUhexr„jehì]hí]hð]uhÚjÖihô]r…jhýX 0x40300000r†j…�r‡j}rˆj(hÙUhÚj~jubahæjlubhýX …�r‰j}rŠj(hÙX hÚjÖiubjb)�r‹j}rŒj(hÙXlhè}r�j(hê]hë]rŽjUnamer�jahì]hí]hð]uhÚjÖihô]r�jhýXl…�r‘j}r’j(hÙUhÚj‹jubahæjlubhýX …�r“j}r”j(hÙX hÚjÖiubjb)�r•j}r–j(hÙX=hè}r—j(hê]hë]r˜jUoperatorr™jahì]hí]hð]uhÚjÖihô]ršjhýX=…�r›j}rœj(hÙUhÚj•jubahæjlubhýX …�r�j}ržj(hÙX hÚjÖiubjb)�rŸj}r j(hÙX 0x00080000hè}r¡j(hê]hë]r¢j(Uliteralr£jUnumberr¤jUhexr¥jehì]hí]hð]uhÚjÖihô]r¦jhýX 0x00080000r§j…�r¨j}r©j(hÙUhÚjŸjubahæjlubhýX rªj…�r«j}r¬j(hÙX hÚjÖiubjb)�r­j}r®j(hÙX/* 512kB L3 OCMC SRAM1 */hè}r¯j(hê]hë]r°j(Ucommentr±jU multiliner²jehì]hí]hð]uhÚjÖihô]r³jhýX/* 512kB L3 OCMC SRAM1 */r´j…�rµj}r¶j(hÙUhÚj­jubahæjlubhýX r·j…�r¸j}r¹j(hÙX hÚjÖiubjb)�rºj}r»j(hÙX OCMC_RAM2hè}r¼j(hê]hë]r½j(Unamer¾jUlabelr¿jehì]hí]hð]uhÚjÖihô]rÀjhýX OCMC_RAM2rÁj…�rÂj}rÃj(hÙUhÚjºjubahæjlubjb)�rÄj}rÅj(hÙX:hè}rÆj(hê]hë]rÇjU punctuationrÈjahì]hí]hð]uhÚjÖihô]rÉjhýX:…�rÊj}rËj(hÙUhÚjÄjubahæjlubhýX …�rÌj}rÍj(hÙX hÚjÖiubjb)�rÎj}rÏj(hÙXohè}rÐj(hê]hë]rÑjUnamerÒjahì]hí]hð]uhÚjÖihô]rÓjhýXo…�rÔj}rÕj(hÙUhÚjÎjubahæjlubhýX …�rÖj}r×j(hÙX hÚjÖiubjb)�rØj}rÙj(hÙX=hè}rÚj(hê]hë]rÛjUoperatorrÜjahì]hí]hð]uhÚjÖihô]rÝjhýX=…�rÞj}rßj(hÙUhÚjØjubahæjlubhýX …�ràj}ráj(hÙX hÚjÖiubjb)�râj}rãj(hÙX 0x40400000hè}räj(hê]hë]råj(UliteralræjUnumberrçjUhexrèjehì]hí]hð]uhÚjÖihô]réjhýX 0x40400000rêj…�rëj}rìj(hÙUhÚjâjubahæjlubhýX …�ríj}rîj(hÙX hÚjÖiubjb)�rïj}rðj(hÙXlhè}rñj(hê]hë]ròjUnamerójahì]hí]hð]uhÚjÖihô]rôjhýXl…�rõj}röj(hÙUhÚjïjubahæjlubhýX …�r÷j}røj(hÙX hÚjÖiubjb)�rùj}rúj(hÙX=hè}rûj(hê]hë]rüjUoperatorrýjahì]hí]hð]uhÚjÖihô]rþjhýX=…�rÿj}rk(hÙUhÚjùjubahæjlubhýX …�rk}rk(hÙX hÚjÖiubjb)�rk}rk(hÙX 0x00100000hè}rk(hê]hë]rk(UliteralrkUnumberrkUhexr kehì]hí]hð]uhÚjÖihô]r khýX 0x00100000r k…�r k}r k(hÙUhÚjkubahæjlubhýX rk…�rk}rk(hÙX hÚjÖiubjb)�rk}rk(hÙX/* 1MB L3 OCMC SRAM2 */hè}rk(hê]hë]rk(UcommentrkU multilinerkehì]hí]hð]uhÚjÖihô]rkhýX/* 1MB L3 OCMC SRAM2 */rk…�rk}rk(hÙUhÚjkubahæjlubhýX rk…�rk}rk(hÙX hÚjÖiubjb)�rk}rk(hÙX OCMC_RAM3hè}r k(hê]hë]r!k(Unamer"kUlabelr#kehì]hí]hð]uhÚjÖihô]r$khýX OCMC_RAM3r%k…�r&k}r'k(hÙUhÚjkubahæjlubjb)�r(k}r)k(hÙX:hè}r*k(hê]hë]r+kU punctuationr,kahì]hí]hð]uhÚjÖihô]r-khýX:…�r.k}r/k(hÙUhÚj(kubahæjlubhýX …�r0k}r1k(hÙX hÚjÖiubjb)�r2k}r3k(hÙXohè}r4k(hê]hë]r5kUnamer6kahì]hí]hð]uhÚjÖihô]r7khýXo…�r8k}r9k(hÙUhÚj2kubahæjlubhýX …�r:k}r;k(hÙX hÚjÖiubjb)�rk(hê]hë]r?kUoperatorr@kahì]hí]hð]uhÚjÖihô]rAkhýX=…�rBk}rCk(hÙUhÚjhÚj?hhäjOGhæjÈ;hè}rðk(UformatXhtmljjhí]hì]hê]hë]hð]uhòMhóhhô]rñkhýX
ròk…�rók}rôk(hÙUhÚjîkubaubjÅ;)�rõk}rök(hÙX
hÚj?hhäjOGhæjÈ;hè}r÷k(UformatXhtmljjhí]hì]hê]hë]hð]uhòMƒhóhhô]røkhýX
rùk…�rúk}rûk(hÙUhÚjõkubaubj/)�rük}rýk(hÙXAThe linker command file is designed to place code in OCMC memory.rþkhÚj?hhäjOGhæj3hè}rÿk(hê]hë]hì]hí]hð]uhòM‡hóhhô]rlhýXAThe linker command file is designed to place code in OCMC memory.rl…�rl}rl(hÙjþkhÚjükubaubj))�rl}rl(hÙX�For Keystone 2 devices, replace all the OCMC_RAM# regions in the lds file and replace it with MSMC memory section as shown below.hÚj?hhäjOGhæj,hè}rl(hê]hë]hì]hí]hð]uhòNhóhhô]rlj/)�rl}r l(hÙX�For Keystone 2 devices, replace all the OCMC_RAM# regions in the lds file and replace it with MSMC memory section as shown below.r lhÚjlhäjOGhæj3hè}r l(hê]hë]hì]hí]hð]uhòMŠhô]r lhýX�For Keystone 2 devices, replace all the OCMC_RAM# regions in the lds file and replace it with MSMC memory section as shown below.r l…�rl}rl(hÙj lhÚjlubaubaubjË)�rl}rl(hÙXOMSMC  : o=0x0c000000, l = 0x00600000 /* 6MB Muticore shared memory */hÚj?hhäjOGhæjÎhè}rl(jjhí]hì]hê]hë]hð]uhòM²hóhhô]rlhýXOMSMC  : o=0x0c000000, l = 0x00600000 /* 6MB Muticore shared memory */rl…�rl}rl(hÙUhÚjlubaubj))�rl}rl(hÙX¯An optional step is to modify the section definition in linker command file if you wish to introduce/partition existing sections or place the code in different memory section.hÚj?hhäjOGhæj,hè}rl(hê]hë]hì]hí]hð]uhòNhóhhô]rlj/)�rl}rl(hÙX¯An optional step is to modify the section definition in linker command file if you wish to introduce/partition existing sections or place the code in different memory section.rlhÚjlhäjOGhæj3hè}rl(hê]hë]hì]hí]hð]uhòM“hô]rlhýX¯An optional step is to modify the section definition in linker command file if you wish to introduce/partition existing sections or place the code in different memory section.r l…�r!l}r"l(hÙjlhÚjlubaubaubj¼)�r#l}r$l(hÙUhÚj?hhäjOGhæj¿hè}r%l(jÁU.jf5Khí]hì]hê]jÂUhë]hð]jÃjÄuhòM˜hóhhô]r&ljX)�r'l}r(l(hÙX7Now build the project to generate hello_world_dsp.out. hÚj#lhäjOGhæj[hè}r)l(hê]hë]hì]hí]hð]uhòNhóhhô]r*lj/)�r+l}r,l(hÙX6Now build the project to generate hello_world_dsp.out.r-lhÚj'lhäjOGhæj3hè}r.l(hê]hë]hì]hí]hð]uhòM˜hô]r/lhýX6Now build the project to generate hello_world_dsp.out.r0l…�r1l}r2l(hÙj-lhÚj+lubaubaubaubj/)�r3l}r4l(hÙX®8. Launch target configurations using your emulator to connect to AM572X EVM as described in the :ref:`Getting Started Guide `hÚj?hhäjOGhæj3hè}r5l(hê]hë]hì]hí]hð]uhòMšhóhhô]r6l(hýXa8. Launch target configurations using your emulator to connect to AM572X EVM as described in the r7l…�r8l}r9l(hÙXa8. Launch target configurations using your emulator to connect to AM572X EVM as described in the hÚj3lubjZ)�r:l}r;l(hÙXM:ref:`Getting Started Guide `rlhí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòMšhô]r?ljb)�r@l}rAl(hÙjlXstd-refrDlehì]hí]hð]uhÚj:lhô]rElhýXGetting Started GuiderFl…�rGl}rHl(hÙUhÚj@lubahæjlubaubeubj/)�rIl}rJl(hÙXæ9. In order to wake up the DSP1 core from A15, Go to Menu option Scripts->AM572x_Multicore_Initialization->DSP1SSClkEnable_API. Refer to the `Processor_SDK_RTOS_Setup_CCS `__.hÚj?hhäjOGhæj3hè}rKl(hê]hë]hì]hí]hð]uhòM�hóhhô]rLl(hýX�9. In order to wake up the DSP1 core from A15, Go to Menu option Scripts->AM572x_Multicore_Initialization->DSP1SSClkEnable_API. Refer to the rMl…�rNl}rOl(hÙX�9. In order to wake up the DSP1 core from A15, Go to Menu option Scripts->AM572x_Multicore_Initialization->DSP1SSClkEnable_API. Refer to the hÚjIlubj)�rPl}rQl(hÙXX`Processor_SDK_RTOS_Setup_CCS `__hè}rRl(UnameXProcessor_SDK_RTOS_Setup_CCSjX5index_how_to_guides.html#connect-to-am57x-slave-coreshí]hì]hê]hë]hð]uhÚjIlhô]rSlhýXProcessor_SDK_RTOS_Setup_CCSrTl…�rUl}rVl(hÙUhÚjPlubahæjubhýX.…�rWl}rXl(hÙX.hÚjIlubeubj/)�rYl}rZl(hÙX/You should see the following log in the Consoler[lhÚj?hhäjOGhæj3hè}r\l(hê]hë]hì]hí]hð]uhòM¢hóhhô]r]lhýX/You should see the following log in the Consoler^l…�r_l}r`l(hÙj[lhÚjYlubaubjË)�ral}rbl(hÙXhCortexA15_0: GEL Output: --->>> DSP1SS Initialization is in progress ... <<<--- CortexA15_0: GEL Output: DEBUG: Clock is active ... CortexA15_0: GEL Output: DEBUG: Checking for data integrity in DSPSS L2RAM ... CortexA15_0: GEL Output: DEBUG: Data integrity check in GEM L2RAM is sucessful! CortexA15_0: GEL Output: --->>> DSP1SS Initialization is DONE! <<<---hÚj?hhäjOGhæjÎhè}rcl(jjhí]hì]hê]hë]hð]uhòMÈhóhhô]rdlhýXhCortexA15_0: GEL Output: --->>> DSP1SS Initialization is in progress ... <<<--- CortexA15_0: GEL Output: DEBUG: Clock is active ... CortexA15_0: GEL Output: DEBUG: Checking for data integrity in DSPSS L2RAM ... CortexA15_0: GEL Output: DEBUG: Data integrity check in GEM L2RAM is sucessful! CortexA15_0: GEL Output: --->>> DSP1SS Initialization is DONE! <<<---rel…�rfl}rgl(hÙUhÚjalubaubj/)�rhl}ril(hÙXŽ10. Select and Connect to C66x_DSP1. Load and run hello_world_dsp.out file. You should see **Hello World** string displayed on console window.hÚj?hhäjOGhæj3hè}rjl(hê]hë]hì]hí]hð]uhòM¬hóhhô]rkl(hýX[10. Select and Connect to C66x_DSP1. Load and run hello_world_dsp.out file. You should see rll…�rml}rnl(hÙX[10. Select and Connect to C66x_DSP1. Load and run hello_world_dsp.out file. You should see hÚjhlubjW)�rol}rpl(hÙX**Hello World**hè}rql(hê]hë]hì]hí]hð]uhÚjhlhô]rrlhýX Hello Worldrsl…�rtl}rul(hÙUhÚjolubahæj_ubhýX$ string displayed on console window.rvl…�rwl}rxl(hÙX$ string displayed on console window.hÚjhlubeubj)�ryl}rzl(hÙX).. Image:: ../images/Hello_world_dsp.jpg hÚj?hhäjOGhæjhè}r{l(UuriX"rtos/../images/Hello_world_dsp.jpgr|lhí]hì]hê]hë]j}r}lU*j|lshð]uhòM°hóhhô]ubjÎ)�r~l}rl(hÙUhÚj?hhäjOGhæjÑhè}r€l(hê]hë]hì]hí]hð]uhòM±hóhhô]r�ljÔ)�r‚l}rƒl(hÙUj×KhÚj~lhäjOGhæhòhè}r„l(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubhÛ)�r…l}r†l(hÙUjKhÚj=GhäjOGhæhçhè}r‡l(hê]rˆlj„Cahë]hì]hí]r‰lUid54rŠlahð]uhòM´hóhhô]r‹l(hö)�rŒl}r�l(hÙX DSP C674xrŽlhÚj…lhäjOGhæhúhè}r�l(hê]hë]hì]hí]hð]uhòM´hóhhô]r�lhýX DSP C674xr‘l…�r’l}r“l(hÙjŽlhÚjŒlubaubj/)�r”l}r•l(hÙX=In this article, we take a look at creating bare-metal hello world examples for C674x core using pre-built templates in CCS. As a sample we will use the C6748 LCDK device to describe the steps but the same steps can be used for create hello world examples for C674x cores in the OMAPL13x/C647x/DA8x family of devices.r–lhÚj…lhäjOGhæj3hè}r—l(hê]hë]hì]hí]hð]uhòM¶hóhhô]r˜lhýX=In this article, we take a look at creating bare-metal hello world examples for C674x core using pre-built templates in CCS. As a sample we will use the C6748 LCDK device to describe the steps but the same steps can be used for create hello world examples for C674x cores in the OMAPL13x/C647x/DA8x family of devices.r™l…�ršl}r›l(hÙj–lhÚj”lubaubj))�rœl}r�l(hÙX¤All the C674x DSP cores on in OMAPL13x/C674x/DA8x have the same memory map so modification are limited to selecting the correct platform when generating the projecthÚj…lhäjOGhæj,hè}ržl(hê]hë]hì]hí]hð]uhòNhóhhô]rŸlj/)�r l}r¡l(hÙX¤All the C674x DSP cores on in OMAPL13x/C674x/DA8x have the same memory map so modification are limited to selecting the correct platform when generating the projectr¢lhÚjœlhäjOGhæj3hè}r£l(hê]hë]hì]hí]hð]uhòM½hô]r¤lhýX¤All the C674x DSP cores on in OMAPL13x/C674x/DA8x have the same memory map so modification are limited to selecting the correct platform when generating the projectr¥l…�r¦l}r§l(hÙj¢lhÚj lubaubaubj¼)�r¨l}r©l(hÙUhÚj…lhäjOGhæj¿hè}rªl(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòMÂhóhhô]r«l(jX)�r¬l}r­l(hÙX>Start CCS and create a work space for generating the project. hÚj¨lhäjOGhæj[hè}r®l(hê]hë]hì]hí]hð]uhòNhóhhô]r¯lj/)�r°l}r±l(hÙX=Start CCS and create a work space for generating the project.r²lhÚj¬lhäjOGhæj3hè}r³l(hê]hë]hì]hí]hð]uhòMÂhô]r´lhýX=Start CCS and create a work space for generating the project.rµl…�r¶l}r·l(hÙj²lhÚj°lubaubaubjX)�r¸l}r¹l(hÙX9Click on File menu option and select New--> CCS Project. hÚj¨lhäjOGhæj[hè}rºl(hê]hë]hì]hí]hð]uhòNhóhhô]r»lj/)�r¼l}r½l(hÙX8Click on File menu option and select New--> CCS Project.r¾lhÚj¸lhäjOGhæj3hè}r¿l(hê]hë]hì]hí]hð]uhòMÄhô]rÀlhýX8Click on File menu option and select New--> CCS Project.rÁl…�rÂl}rÃl(hÙj¾lhÚj¼lubaubaubjX)�rÄl}rÅl(hÙXCSelect Target as OMAPLx -C674xx and LCDK674x as shown in the image hÚj¨lhäjOGhæj[hè}rÆl(hê]hë]hì]hí]hð]uhòNhóhhô]rÇlj/)�rÈl}rÉl(hÙXBSelect Target as OMAPLx -C674xx and LCDK674x as shown in the imagerÊlhÚjÄlhäjOGhæj3hè}rËl(hê]hë]hì]hí]hð]uhòMÆhô]rÌlhýXBSelect Target as OMAPLx -C674xx and LCDK674x as shown in the imagerÍl…�rÎl}rÏl(hÙjÊlhÚjÈlubaubaubeubj/)�rÐl}rÑl(hÙX¿4. Select **C67XX [C6000]** DSP setting in the options below and provide name of the project as "hello_world_lcdk674x" and use default Advanced settings for the project. Click Finish after you are done to allow CCS to auto generate the project from the template **Basic Examples-> Hello World**. The Default settings uses "TI CG Tools compiler 8.x.x" tool chain for C674x and sets the build for **little** endian **ELF** binary for the C674x core.hÚj…lhäjOGhæj3hè}rÒl(hê]hë]hì]hí]hð]uhòMÈhóhhô]rÓl(hýX 4. Select rÔl…�rÕl}rÖl(hÙX 4. Select hÚjÐlubjW)�r×l}rØl(hÙX**C67XX [C6000]**hè}rÙl(hê]hë]hì]hí]hð]uhÚjÐlhô]rÚlhýX C67XX [C6000]rÛl…�rÜl}rÝl(hÙUhÚj×lubahæj_ubhýXë DSP setting in the options below and provide name of the project as "hello_world_lcdk674x" and use default Advanced settings for the project. Click Finish after you are done to allow CCS to auto generate the project from the template rÞl…�rßl}ràl(hÙXë DSP setting in the options below and provide name of the project as "hello_world_lcdk674x" and use default Advanced settings for the project. Click Finish after you are done to allow CCS to auto generate the project from the template hÚjÐlubjW)�rál}râl(hÙX **Basic Examples-> Hello World**hè}rãl(hê]hë]hì]hí]hð]uhÚjÐlhô]rälhýXBasic Examples-> Hello Worldrål…�ræl}rçl(hÙUhÚjálubahæj_ubhýXe. The Default settings uses "TI CG Tools compiler 8.x.x" tool chain for C674x and sets the build for rèl…�rél}rêl(hÙXe. The Default settings uses "TI CG Tools compiler 8.x.x" tool chain for C674x and sets the build for hÚjÐlubjW)�rël}rìl(hÙX **little**hè}ríl(hê]hë]hì]hí]hð]uhÚjÐlhô]rîlhýXlittlerïl…�rðl}rñl(hÙUhÚjëlubahæj_ubhýX endian ròl…�ról}rôl(hÙX endian hÚjÐlubjW)�rõl}röl(hÙX**ELF**hè}r÷l(hê]hë]hì]hí]hð]uhÚjÐlhô]rølhýXELFrùl…�rúl}rûl(hÙUhÚjõlubahæj_ubhýX binary for the C674x core.rül…�rýl}rþl(hÙX binary for the C674x core.hÚjÐlubeubj)�rÿl}rm(hÙXB.. Image:: ../images/Baremetal_helloWorld_ProjectCreate_step1.png hÚj…lhäjOGhæjhè}rm(UuriX;rtos/../images/Baremetal_helloWorld_ProjectCreate_step1.pngrmhí]hì]hê]hë]j}rmU*jmshð]uhòMÑhóhhô]ubj/)�rm}rm(hÙXz5. The generated CCS project contains only one source file **hello.c**. Ensure the main.c file contains the following codehÚj…lhäjOGhæj3hè}rm(hê]hë]hì]hí]hð]uhòMÒhóhhô]rm(hýX;5. The generated CCS project contains only one source file rm…�r m}r m(hÙX;5. The generated CCS project contains only one source file hÚjmubjW)�r m}r m(hÙX **hello.c**hè}r m(hê]hë]hì]hí]hð]uhÚjmhô]rmhýXhello.crm…�rm}rm(hÙUhÚj mubahæj_ubhýX4. Ensure the main.c file contains the following coderm…�rm}rm(hÙX4. Ensure the main.c file contains the following codehÚjmubeubjÅ;)�rm}rm(hÙX7
hÚj…lhäjOGhæjÈ;hè}rm(UformatXhtmljjhí]hì]hê]hë]hð]uhòMÕhóhhô]rmhýX7
rm…�rm}rm(hÙUhÚjmubaubjÅ;)�rm}rm(hÙX
hÚj…lhäjOGhæjÈ;hè}rm(UformatXhtmljjhí]hì]hê]hë]hð]uhòMÙhóhhô]rmhýX
r m…�r!m}r"m(hÙUhÚjmubaubjË)�r#m}r$m(hÙXi /* * hello.c */ #include int main(void) { printf("Hello_world\n"); return 0; }hÚj…lhäjOGhæjÎhè}r%m(jjhí]hì]hê]hë]r&m(jÙ;Xcehð]uhòMéhóhhô]r'm(hýX …�r(m}r)m(hÙX hÚj#mubjb)�r*m}r+m(hÙX/* * hello.c */hè}r,m(hê]hë]r-m(Ucommentr.mU multiliner/mehì]hí]hð]uhÚj#mhô]r0mhýX/* * hello.c */r1m…�r2m}r3m(hÙUhÚj*mubahæjlubhýX r4m…�r5m}r6m(hÙX hÚj#mubjb)�r7m}r8m(hÙX#includehè}r9m(hê]hë]r:m(Ucommentr;mUpreprocrm…�r?m}r@m(hÙUhÚj7mubahæjlubhýX …�rAm}rBm(hÙX hÚj#mubjb)�rCm}rDm(hÙX hè}rEm(hê]hë]rFm(UcommentrGmU preprocfilerHmehì]hí]hð]uhÚj#mhô]rImhýX rJm…�rKm}rLm(hÙUhÚjCmubahæjlubjb)�rMm}rNm(hÙX hè}rOm(hê]hë]rPm(UcommentrQmUpreprocrRmehì]hí]hð]uhÚj#mhô]rSmhýX …�rTm}rUm(hÙUhÚjMmubahæjlubhýX rVm…�rWm}rXm(hÙX hÚj#mubjb)�rYm}rZm(hÙXinthè}r[m(hê]hë]r\m(Ukeywordr]mUtyper^mehì]hí]hð]uhÚj#mhô]r_mhýXintr`m…�ram}rbm(hÙUhÚjYmubahæjlubhýX …�rcm}rdm(hÙX hÚj#mubjb)�rem}rfm(hÙXmainhè}rgm(hê]hë]rhm(UnamerimUfunctionrjmehì]hí]hð]uhÚj#mhô]rkmhýXmainrlm…�rmm}rnm(hÙUhÚjemubahæjlubjb)�rom}rpm(hÙX(hè}rqm(hê]hë]rrmU punctuationrsmahì]hí]hð]uhÚj#mhô]rtmhýX(…�rum}rvm(hÙUhÚjomubahæjlubjb)�rwm}rxm(hÙXvoidhè}rym(hê]hë]rzm(Ukeywordr{mUtyper|mehì]hí]hð]uhÚj#mhô]r}mhýXvoidr~m…�rm}r€m(hÙUhÚjwmubahæjlubjb)�r�m}r‚m(hÙX)hè}rƒm(hê]hë]r„mU punctuationr…mahì]hí]hð]uhÚj#mhô]r†mhýX)…�r‡m}rˆm(hÙUhÚj�mubahæjlubhýX …�r‰m}rŠm(hÙX hÚj#mubjb)�r‹m}rŒm(hÙX{hè}r�m(hê]hë]rŽmU punctuationr�mahì]hí]hð]uhÚj#mhô]r�mhýX{…�r‘m}r’m(hÙUhÚj‹mubahæjlubhýX r“m…�r”m}r•m(hÙX hÚj#mubjb)�r–m}r—m(hÙXprintfhè}r˜m(hê]hë]r™mUnameršmahì]hí]hð]uhÚj#mhô]r›mhýXprintfrœm…�r�m}ržm(hÙUhÚj–mubahæjlubjb)�rŸm}r m(hÙX(hè}r¡m(hê]hë]r¢mU punctuationr£mahì]hí]hð]uhÚj#mhô]r¤mhýX(…�r¥m}r¦m(hÙUhÚjŸmubahæjlubjb)�r§m}r¨m(hÙX "Hello_worldhè}r©m(hê]hë]rªm(Uliteralr«mUstringr¬mehì]hí]hð]uhÚj#mhô]r­mhýX "Hello_worldr®m…�r¯m}r°m(hÙUhÚj§mubahæjlubjb)�r±m}r²m(hÙX\nhè}r³m(hê]hë]r´m(UliteralrµmUstringr¶mUescaper·mehì]hí]hð]uhÚj#mhô]r¸mhýX\nr¹m…�rºm}r»m(hÙUhÚj±mubahæjlubjb)�r¼m}r½m(hÙX"hè}r¾m(hê]hë]r¿m(UliteralrÀmUstringrÁmehì]hí]hð]uhÚj#mhô]rÂmhýX"…�rÃm}rÄm(hÙUhÚj¼mubahæjlubjb)�rÅm}rÆm(hÙX);hè}rÇm(hê]hë]rÈmU punctuationrÉmahì]hí]hð]uhÚj#mhô]rÊmhýX);rËm…�rÌm}rÍm(hÙUhÚjÅmubahæjlubhýX rÎm…�rÏm}rÐm(hÙX hÚj#mubjb)�rÑm}rÒm(hÙXreturnhè}rÓm(hê]hë]rÔmUkeywordrÕmahì]hí]hð]uhÚj#mhô]rÖmhýXreturnr×m…�rØm}rÙm(hÙUhÚjÑmubahæjlubhýX …�rÚm}rÛm(hÙX hÚj#mubjb)�rÜm}rÝm(hÙX0hè}rÞm(hê]hë]rßm(UliteralràmUnumberrámUintegerrâmehì]hí]hð]uhÚj#mhô]rãmhýX0…�räm}råm(hÙUhÚjÜmubahæjlubjb)�ræm}rçm(hÙX;hè}rèm(hê]hë]rémU punctuationrêmahì]hí]hð]uhÚj#mhô]rëmhýX;…�rìm}rím(hÙUhÚjæmubahæjlubhýX …�rîm}rïm(hÙX hÚj#mubjb)�rðm}rñm(hÙX}hè}ròm(hê]hë]rómU punctuationrômahì]hí]hð]uhÚj#mhô]rõmhýX}…�röm}r÷m(hÙUhÚjðmubahæjlubeubjÅ;)�røm}rùm(hÙX
hÚj…lhäjOGhæjÈ;hè}rúm(UformatXhtmljjhí]hì]hê]hë]hð]uhòMêhóhhô]rûmhýX
rüm…�rým}rþm(hÙUhÚjømubaubjÅ;)�rÿm}rn(hÙX
hÚj…lhäjOGhæjÈ;hè}rn(UformatXhtmljjhí]hì]hê]hë]hð]uhòMîhóhhô]rnhýX
rn…�rn}rn(hÙUhÚjÿmubaubj/)�rn}rn(hÙXÀ6. CCS includes a default linker command file(C6748.cmd) for the C674x DSP core which will place code into appropriate device memory. The linker command file has the following memory sections.rnhÚj…lhäjOGhæj3hè}r n(hê]hë]hì]hí]hð]uhòMòhóhhô]r nhýXÀ6. CCS includes a default linker command file(C6748.cmd) for the C674x DSP core which will place code into appropriate device memory. The linker command file has the following memory sections.r n…�r n}r n(hÙjnhÚjnubaubjÅ;)�rn}rn(hÙX7
hÚj…lhäjOGhæjÈ;hè}rn(UformatXhtmljjhí]hì]hê]hë]hð]uhòMöhóhhô]rnhýX7
rn…�rn}rn(hÙUhÚjnubaubjÅ;)�rn}rn(hÙX
hÚj…lhäjOGhæjÈ;hè}rn(UformatXhtmljjhí]hì]hê]hë]hð]uhòMúhóhhô]rnhýX
rn…�rn}rn(hÙUhÚjnubaubjË)�rn}rn(hÙXÀMEMORY { DSPL2ROM o = 0x00700000 l = 0x00100000 /* 1MB L2 Internal ROM */ DSPL2RAM o = 0x00800000 l = 0x00040000 /* 256kB L2 Internal RAM */ DSPL1PRAM o = 0x00E00000 l = 0x00008000 /* 32kB L1 Internal Program RAM */ DSPL1DRAM o = 0x00F00000 l = 0x00008000 /* 32kB L1 Internal Data RAM */ SHDSPL2ROM o = 0x11700000 l = 0x00100000 /* 1MB L2 Shared Internal ROM */ SHDSPL2RAM o = 0x11800000 l = 0x00040000 /* 256kB L2 Shared Internal RAM */ SHDSPL1PRAM o = 0x11E00000 l = 0x00008000 /* 32kB L1 Shared Internal Program RAM */ SHDSPL1DRAM o = 0x11F00000 l = 0x00008000 /* 32kB L1 Shared Internal Data RAM */ EMIFACS0 o = 0x40000000 l = 0x20000000 /* 512MB SDRAM Data (CS0) */ EMIFACS2 o = 0x60000000 l = 0x02000000 /* 32MB Async Data (CS2) */ EMIFACS3 o = 0x62000000 l = 0x02000000 /* 32MB Async Data (CS3) */ EMIFACS4 o = 0x64000000 l = 0x02000000 /* 32MB Async Data (CS4) */ EMIFACS5 o = 0x66000000 l = 0x02000000 /* 32MB Async Data (CS5) */ SHRAM o = 0x80000000 l = 0x00020000 /* 128kB Shared RAM */ DDR2 o = 0xC0000000 l = 0x20000000 /* 512MB DDR2 Data */ }hÚj…lhäjOGhæjÎhè}rn(jjhí]hì]hê]hë]rn(jÙ;Xcehð]uhòMhóhhô]r n(jb)�r!n}r"n(hÙXMEMORYhè}r#n(hê]hë]r$nUnamer%nahì]hí]hð]uhÚjnhô]r&nhýXMEMORYr'n…�r(n}r)n(hÙUhÚj!nubahæjlubhýX …�r*n}r+n(hÙX hÚjnubjb)�r,n}r-n(hÙX{hè}r.n(hê]hë]r/nU punctuationr0nahì]hí]hð]uhÚjnhô]r1nhýX{…�r2n}r3n(hÙUhÚj,nubahæjlubhýX r4n…�r5n}r6n(hÙX hÚjnubjb)�r7n}r8n(hÙXDSPL2ROMhè}r9n(hê]hë]r:nUnamer;nahì]hí]hð]uhÚjnhô]rn}r?n(hÙUhÚj7nubahæjlubhýX r@n…�rAn}rBn(hÙX hÚjnubjb)�rCn}rDn(hÙXohè}rEn(hê]hë]rFnUnamerGnahì]hí]hð]uhÚjnhô]rHnhýXo…�rIn}rJn(hÙUhÚjCnubahæjlubhýX …�rKn}rLn(hÙX hÚjnubjb)�rMn}rNn(hÙX=hè}rOn(hê]hë]rPnUoperatorrQnahì]hí]hð]uhÚjnhô]rRnhýX=…�rSn}rTn(hÙUhÚjMnubahæjlubhýX …�rUn}rVn(hÙX hÚjnubjb)�rWn}rXn(hÙX 0x00700000hè}rYn(hê]hë]rZn(Uliteralr[nUnumberr\nUhexr]nehì]hí]hð]uhÚjnhô]r^nhýX 0x00700000r_n…�r`n}ran(hÙUhÚjWnubahæjlubhýX rbn…�rcn}rdn(hÙX hÚjnubjb)�ren}rfn(hÙXlhè}rgn(hê]hë]rhnUnamerinahì]hí]hð]uhÚjnhô]rjnhýXl…�rkn}rln(hÙUhÚjenubahæjlubhýX …�rmn}rnn(hÙX hÚjnubjb)�ron}rpn(hÙX=hè}rqn(hê]hë]rrnUoperatorrsnahì]hí]hð]uhÚjnhô]rtnhýX=…�run}rvn(hÙUhÚjonubahæjlubhýX …�rwn}rxn(hÙX hÚjnubjb)�ryn}rzn(hÙX 0x00100000hè}r{n(hê]hë]r|n(Uliteralr}nUnumberr~nUhexrnehì]hí]hð]uhÚjnhô]r€nhýX 0x00100000r�n…�r‚n}rƒn(hÙUhÚjynubahæjlubhýX r„n…�r…n}r†n(hÙX hÚjnubjb)�r‡n}rˆn(hÙX/* 1MB L2 Internal ROM */hè}r‰n(hê]hë]rŠn(Ucommentr‹nU multilinerŒnehì]hí]hð]uhÚjnhô]r�nhýX/* 1MB L2 Internal ROM */rŽn…�r�n}r�n(hÙUhÚj‡nubahæjlubhýX r‘n…�r’n}r“n(hÙX hÚjnubjb)�r”n}r•n(hÙXDSPL2RAMhè}r–n(hê]hë]r—nUnamer˜nahì]hí]hð]uhÚjnhô]r™nhýXDSPL2RAMršn…�r›n}rœn(hÙUhÚj”nubahæjlubhýX r�n…�ržn}rŸn(hÙX hÚjnubjb)�r n}r¡n(hÙXohè}r¢n(hê]hë]r£nUnamer¤nahì]hí]hð]uhÚjnhô]r¥nhýXo…�r¦n}r§n(hÙUhÚj nubahæjlubhýX …�r¨n}r©n(hÙX hÚjnubjb)�rªn}r«n(hÙX=hè}r¬n(hê]hë]r­nUoperatorr®nahì]hí]hð]uhÚjnhô]r¯nhýX=…�r°n}r±n(hÙUhÚjªnubahæjlubhýX …�r²n}r³n(hÙX hÚjnubjb)�r´n}rµn(hÙX 0x00800000hè}r¶n(hê]hë]r·n(Uliteralr¸nUnumberr¹nUhexrºnehì]hí]hð]uhÚjnhô]r»nhýX 0x00800000r¼n…�r½n}r¾n(hÙUhÚj´nubahæjlubhýX r¿n…�rÀn}rÁn(hÙX hÚjnubjb)�rÂn}rÃn(hÙXlhè}rÄn(hê]hë]rÅnUnamerÆnahì]hí]hð]uhÚjnhô]rÇnhýXl…�rÈn}rÉn(hÙUhÚjÂnubahæjlubhýX …�rÊn}rËn(hÙX hÚjnubjb)�rÌn}rÍn(hÙX=hè}rÎn(hê]hë]rÏnUoperatorrÐnahì]hí]hð]uhÚjnhô]rÑnhýX=…�rÒn}rÓn(hÙUhÚjÌnubahæjlubhýX …�rÔn}rÕn(hÙX hÚjnubjb)�rÖn}r×n(hÙX 0x00040000hè}rØn(hê]hë]rÙn(UliteralrÚnUnumberrÛnUhexrÜnehì]hí]hð]uhÚjnhô]rÝnhýX 0x00040000rÞn…�rßn}ràn(hÙUhÚjÖnubahæjlubhýX rán…�rân}rãn(hÙX hÚjnubjb)�rän}rån(hÙX/* 256kB L2 Internal RAM */hè}ræn(hê]hë]rçn(UcommentrènU multilinerénehì]hí]hð]uhÚjnhô]rênhýX/* 256kB L2 Internal RAM */rën…�rìn}rín(hÙUhÚjänubahæjlubhýX rîn…�rïn}rðn(hÙX hÚjnubjb)�rñn}ròn(hÙX DSPL1PRAMhè}rón(hê]hë]rônUnamerõnahì]hí]hð]uhÚjnhô]rönhýX DSPL1PRAMr÷n…�røn}rùn(hÙUhÚjñnubahæjlubhýX rún…�rûn}rün(hÙX hÚjnubjb)�rýn}rþn(hÙXohè}rÿn(hê]hë]roUnameroahì]hí]hð]uhÚjnhô]rohýXo…�ro}ro(hÙUhÚjýnubahæjlubhýX …�ro}ro(hÙX hÚjnubjb)�ro}ro(hÙX=hè}r o(hê]hë]r oUoperatorr oahì]hí]hð]uhÚjnhô]r ohýX=…�r o}ro(hÙUhÚjoubahæjlubhýX …�ro}ro(hÙX hÚjnubjb)�ro}ro(hÙX 0x00E00000hè}ro(hê]hë]ro(UliteralroUnumberroUhexroehì]hí]hð]uhÚjnhô]rohýX 0x00E00000ro…�ro}ro(hÙUhÚjoubahæjlubhýX ro…�ro}ro(hÙX hÚjnubjb)�ro}r o(hÙXlhè}r!o(hê]hë]r"oUnamer#oahì]hí]hð]uhÚjnhô]r$ohýXl…�r%o}r&o(hÙUhÚjoubahæjlubhýX …�r'o}r(o(hÙX hÚjnubjb)�r)o}r*o(hÙX=hè}r+o(hê]hë]r,oUoperatorr-oahì]hí]hð]uhÚjnhô]r.ohýX=…�r/o}r0o(hÙUhÚj)oubahæjlubhýX …�r1o}r2o(hÙX hÚjnubjb)�r3o}r4o(hÙX 0x00008000hè}r5o(hê]hë]r6o(Uliteralr7oUnumberr8oUhexr9oehì]hí]hð]uhÚjnhô]r:ohýX 0x00008000r;o…�ro…�r?o}r@o(hÙX hÚjnubjb)�rAo}rBo(hÙX"/* 32kB L1 Internal Program RAM */hè}rCo(hê]hë]rDo(UcommentrEoU multilinerFoehì]hí]hð]uhÚjnhô]rGohýX"/* 32kB L1 Internal Program RAM */rHo…�rIo}rJo(hÙUhÚjAoubahæjlubhýX rKo…�rLo}rMo(hÙX hÚjnubjb)�rNo}rOo(hÙX DSPL1DRAMhè}rPo(hê]hë]rQoUnamerRoahì]hí]hð]uhÚjnhô]rSohýX DSPL1DRAMrTo…�rUo}rVo(hÙUhÚjNoubahæjlubhýX rWo…�rXo}rYo(hÙX hÚjnubjb)�rZo}r[o(hÙXohè}r\o(hê]hë]r]oUnamer^oahì]hí]hð]uhÚjnhô]r_ohýXo…�r`o}rao(hÙUhÚjZoubahæjlubhýX …�rbo}rco(hÙX hÚjnubjb)�rdo}reo(hÙX=hè}rfo(hê]hë]rgoUoperatorrhoahì]hí]hð]uhÚjnhô]riohýX=…�rjo}rko(hÙUhÚjdoubahæjlubhýX …�rlo}rmo(hÙX hÚjnubjb)�rno}roo(hÙX 0x00F00000hè}rpo(hê]hë]rqo(UliteralrroUnumberrsoUhexrtoehì]hí]hð]uhÚjnhô]ruohýX 0x00F00000rvo…�rwo}rxo(hÙUhÚjnoubahæjlubhýX ryo…�rzo}r{o(hÙX hÚjnubjb)�r|o}r}o(hÙXlhè}r~o(hê]hë]roUnamer€oahì]hí]hð]uhÚjnhô]r�ohýXl…�r‚o}rƒo(hÙUhÚj|oubahæjlubhýX …�r„o}r…o(hÙX hÚjnubjb)�r†o}r‡o(hÙX=hè}rˆo(hê]hë]r‰oUoperatorrŠoahì]hí]hð]uhÚjnhô]r‹ohýX=…�rŒo}r�o(hÙUhÚj†oubahæjlubhýX …�rŽo}r�o(hÙX hÚjnubjb)�r�o}r‘o(hÙX 0x00008000hè}r’o(hê]hë]r“o(Uliteralr”oUnumberr•oUhexr–oehì]hí]hð]uhÚjnhô]r—ohýX 0x00008000r˜o…�r™o}ršo(hÙUhÚj�oubahæjlubhýX r›o…�rœo}r�o(hÙX hÚjnubjb)�ržo}rŸo(hÙX/* 32kB L1 Internal Data RAM */hè}r o(hê]hë]r¡o(Ucommentr¢oU multiliner£oehì]hí]hð]uhÚjnhô]r¤ohýX/* 32kB L1 Internal Data RAM */r¥o…�r¦o}r§o(hÙUhÚjžoubahæjlubhýX r¨o…�r©o}rªo(hÙX hÚjnubjb)�r«o}r¬o(hÙX SHDSPL2ROMhè}r­o(hê]hë]r®oUnamer¯oahì]hí]hð]uhÚjnhô]r°ohýX SHDSPL2ROMr±o…�r²o}r³o(hÙUhÚj«oubahæjlubhýX r´o…�rµo}r¶o(hÙX hÚjnubjb)�r·o}r¸o(hÙXohè}r¹o(hê]hë]rºoUnamer»oahì]hí]hð]uhÚjnhô]r¼ohýXo…�r½o}r¾o(hÙUhÚj·oubahæjlubhýX …�r¿o}rÀo(hÙX hÚjnubjb)�rÁo}rÂo(hÙX=hè}rÃo(hê]hë]rÄoUoperatorrÅoahì]hí]hð]uhÚjnhô]rÆohýX=…�rÇo}rÈo(hÙUhÚjÁoubahæjlubhýX …�rÉo}rÊo(hÙX hÚjnubjb)�rËo}rÌo(hÙX 0x11700000hè}rÍo(hê]hë]rÎo(UliteralrÏoUnumberrÐoUhexrÑoehì]hí]hð]uhÚjnhô]rÒohýX 0x11700000rÓo…�rÔo}rÕo(hÙUhÚjËoubahæjlubhýX rÖo…�r×o}rØo(hÙX hÚjnubjb)�rÙo}rÚo(hÙXlhè}rÛo(hê]hë]rÜoUnamerÝoahì]hí]hð]uhÚjnhô]rÞohýXl…�rßo}rào(hÙUhÚjÙoubahæjlubhýX …�ráo}râo(hÙX hÚjnubjb)�rão}räo(hÙX=hè}råo(hê]hë]ræoUoperatorrçoahì]hí]hð]uhÚjnhô]rèohýX=…�réo}rêo(hÙUhÚjãoubahæjlubhýX …�rëo}rìo(hÙX hÚjnubjb)�río}rîo(hÙX 0x00100000hè}rïo(hê]hë]rðo(UliteralrñoUnumberròoUhexróoehì]hí]hð]uhÚjnhô]rôohýX 0x00100000rõo…�röo}r÷o(hÙUhÚjíoubahæjlubhýX røo…�rùo}rúo(hÙX hÚjnubjb)�rûo}rüo(hÙX /* 1MB L2 Shared Internal ROM */hè}rýo(hê]hë]rþo(UcommentrÿoU multilinerpehì]hí]hð]uhÚjnhô]rphýX /* 1MB L2 Shared Internal ROM */rp…�rp}rp(hÙUhÚjûoubahæjlubhýX rp…�rp}rp(hÙX hÚjnubjb)�rp}r p(hÙX SHDSPL2RAMhè}r p(hê]hë]r pUnamer pahì]hí]hð]uhÚjnhô]r phýX SHDSPL2RAMrp…�rp}rp(hÙUhÚjpubahæjlubhýX rp…�rp}rp(hÙX hÚjnubjb)�rp}rp(hÙXohè}rp(hê]hë]rpUnamerpahì]hí]hð]uhÚjnhô]rphýXo…�rp}rp(hÙUhÚjpubahæjlubhýX …�rp}rp(hÙX hÚjnubjb)�rp}rp(hÙX=hè}r p(hê]hë]r!pUoperatorr"pahì]hí]hð]uhÚjnhô]r#phýX=…�r$p}r%p(hÙUhÚjpubahæjlubhýX …�r&p}r'p(hÙX hÚjnubjb)�r(p}r)p(hÙX 0x11800000hè}r*p(hê]hë]r+p(Uliteralr,pUnumberr-pUhexr.pehì]hí]hð]uhÚjnhô]r/phýX 0x11800000r0p…�r1p}r2p(hÙUhÚj(pubahæjlubhýX r3p…�r4p}r5p(hÙX hÚjnubjb)�r6p}r7p(hÙXlhè}r8p(hê]hë]r9pUnamer:pahì]hí]hð]uhÚjnhô]r;phýXl…�rp}r?p(hÙX hÚjnubjb)�r@p}rAp(hÙX=hè}rBp(hê]hë]rCpUoperatorrDpahì]hí]hð]uhÚjnhô]rEphýX=…�rFp}rGp(hÙUhÚj@pubahæjlubhýX …�rHp}rIp(hÙX hÚjnubjb)�rJp}rKp(hÙX 0x00040000hè}rLp(hê]hë]rMp(UliteralrNpUnumberrOpUhexrPpehì]hí]hð]uhÚjnhô]rQphýX 0x00040000rRp…�rSp}rTp(hÙUhÚjJpubahæjlubhýX rUp…�rVp}rWp(hÙX hÚjnubjb)�rXp}rYp(hÙX"/* 256kB L2 Shared Internal RAM */hè}rZp(hê]hë]r[p(Ucommentr\pU multiliner]pehì]hí]hð]uhÚjnhô]r^phýX"/* 256kB L2 Shared Internal RAM */r_p…�r`p}rap(hÙUhÚjXpubahæjlubhýX rbp…�rcp}rdp(hÙX hÚjnubjb)�rep}rfp(hÙX SHDSPL1PRAMhè}rgp(hê]hë]rhpUnameripahì]hí]hð]uhÚjnhô]rjphýX SHDSPL1PRAMrkp…�rlp}rmp(hÙUhÚjepubahæjlubhýX rnp…�rop}rpp(hÙX hÚjnubjb)�rqp}rrp(hÙXohè}rsp(hê]hë]rtpUnamerupahì]hí]hð]uhÚjnhô]rvphýXo…�rwp}rxp(hÙUhÚjqpubahæjlubhýX …�ryp}rzp(hÙX hÚjnubjb)�r{p}r|p(hÙX=hè}r}p(hê]hë]r~pUoperatorrpahì]hí]hð]uhÚjnhô]r€phýX=…�r�p}r‚p(hÙUhÚj{pubahæjlubhýX …�rƒp}r„p(hÙX hÚjnubjb)�r…p}r†p(hÙX 0x11E00000hè}r‡p(hê]hë]rˆp(Uliteralr‰pUnumberrŠpUhexr‹pehì]hí]hð]uhÚjnhô]rŒphýX 0x11E00000r�p…�rŽp}r�p(hÙUhÚj…pubahæjlubhýX r�p…�r‘p}r’p(hÙX hÚjnubjb)�r“p}r”p(hÙXlhè}r•p(hê]hë]r–pUnamer—pahì]hí]hð]uhÚjnhô]r˜phýXl…�r™p}ršp(hÙUhÚj“pubahæjlubhýX …�r›p}rœp(hÙX hÚjnubjb)�r�p}ržp(hÙX=hè}rŸp(hê]hë]r pUoperatorr¡pahì]hí]hð]uhÚjnhô]r¢phýX=…�r£p}r¤p(hÙUhÚj�pubahæjlubhýX …�r¥p}r¦p(hÙX hÚjnubjb)�r§p}r¨p(hÙX 0x00008000hè}r©p(hê]hë]rªp(Uliteralr«pUnumberr¬pUhexr­pehì]hí]hð]uhÚjnhô]r®phýX 0x00008000r¯p…�r°p}r±p(hÙUhÚj§pubahæjlubhýX r²p…�r³p}r´p(hÙX hÚjnubjb)�rµp}r¶p(hÙX)/* 32kB L1 Shared Internal Program RAM */hè}r·p(hê]hë]r¸p(Ucommentr¹pU multilinerºpehì]hí]hð]uhÚjnhô]r»phýX)/* 32kB L1 Shared Internal Program RAM */r¼p…�r½p}r¾p(hÙUhÚjµpubahæjlubhýX r¿p…�rÀp}rÁp(hÙX hÚjnubjb)�rÂp}rÃp(hÙX SHDSPL1DRAMhè}rÄp(hê]hë]rÅpUnamerÆpahì]hí]hð]uhÚjnhô]rÇphýX SHDSPL1DRAMrÈp…�rÉp}rÊp(hÙUhÚjÂpubahæjlubhýX rËp…�rÌp}rÍp(hÙX hÚjnubjb)�rÎp}rÏp(hÙXohè}rÐp(hê]hë]rÑpUnamerÒpahì]hí]hð]uhÚjnhô]rÓphýXo…�rÔp}rÕp(hÙUhÚjÎpubahæjlubhýX …�rÖp}r×p(hÙX hÚjnubjb)�rØp}rÙp(hÙX=hè}rÚp(hê]hë]rÛpUoperatorrÜpahì]hí]hð]uhÚjnhô]rÝphýX=…�rÞp}rßp(hÙUhÚjØpubahæjlubhýX …�ràp}ráp(hÙX hÚjnubjb)�râp}rãp(hÙX 0x11F00000hè}räp(hê]hë]råp(UliteralræpUnumberrçpUhexrèpehì]hí]hð]uhÚjnhô]réphýX 0x11F00000rêp…�rëp}rìp(hÙUhÚjâpubahæjlubhýX ríp…�rîp}rïp(hÙX hÚjnubjb)�rðp}rñp(hÙXlhè}ròp(hê]hë]rópUnamerôpahì]hí]hð]uhÚjnhô]rõphýXl…�röp}r÷p(hÙUhÚjðpubahæjlubhýX …�røp}rùp(hÙX hÚjnubjb)�rúp}rûp(hÙX=hè}rüp(hê]hë]rýpUoperatorrþpahì]hí]hð]uhÚjnhô]rÿphýX=…�rq}rq(hÙUhÚjúpubahæjlubhýX …�rq}rq(hÙX hÚjnubjb)�rq}rq(hÙX 0x00008000hè}rq(hê]hë]rq(UliteralrqUnumberr qUhexr qehì]hí]hð]uhÚjnhô]r qhýX 0x00008000r q…�r q}rq(hÙUhÚjqubahæjlubhýX rq…�rq}rq(hÙX hÚjnubjb)�rq}rq(hÙX&/* 32kB L1 Shared Internal Data RAM */hè}rq(hê]hë]rq(UcommentrqU multilinerqehì]hí]hð]uhÚjnhô]rqhýX&/* 32kB L1 Shared Internal Data RAM */rq…�rq}rq(hÙUhÚjqubahæjlubhýX rq…�rq}rq(hÙX hÚjnubjb)�rq}r q(hÙXEMIFACS0hè}r!q(hê]hë]r"qUnamer#qahì]hí]hð]uhÚjnhô]r$qhýXEMIFACS0r%q…�r&q}r'q(hÙUhÚjqubahæjlubhýX r(q…�r)q}r*q(hÙX hÚjnubjb)�r+q}r,q(hÙXohè}r-q(hê]hë]r.qUnamer/qahì]hí]hð]uhÚjnhô]r0qhýXo…�r1q}r2q(hÙUhÚj+qubahæjlubhýX …�r3q}r4q(hÙX hÚjnubjb)�r5q}r6q(hÙX=hè}r7q(hê]hë]r8qUoperatorr9qahì]hí]hð]uhÚjnhô]r:qhýX=…�r;q}rq(hÙX hÚjnubjb)�r?q}r@q(hÙX 0x40000000hè}rAq(hê]hë]rBq(UliteralrCqUnumberrDqUhexrEqehì]hí]hð]uhÚjnhô]rFqhýX 0x40000000rGq…�rHq}rIq(hÙUhÚj?qubahæjlubhýX rJq…�rKq}rLq(hÙX hÚjnubjb)�rMq}rNq(hÙXlhè}rOq(hê]hë]rPqUnamerQqahì]hí]hð]uhÚjnhô]rRqhýXl…�rSq}rTq(hÙUhÚjMqubahæjlubhýX …�rUq}rVq(hÙX hÚjnubjb)�rWq}rXq(hÙX=hè}rYq(hê]hë]rZqUoperatorr[qahì]hí]hð]uhÚjnhô]r\qhýX=…�r]q}r^q(hÙUhÚjWqubahæjlubhýX …�r_q}r`q(hÙX hÚjnubjb)�raq}rbq(hÙX 0x20000000hè}rcq(hê]hë]rdq(UliteralreqUnumberrfqUhexrgqehì]hí]hð]uhÚjnhô]rhqhýX 0x20000000riq…�rjq}rkq(hÙUhÚjaqubahæjlubhýX rlq…�rmq}rnq(hÙX hÚjnubjb)�roq}rpq(hÙX/* 512MB SDRAM Data (CS0) */hè}rqq(hê]hë]rrq(UcommentrsqU multilinertqehì]hí]hð]uhÚjnhô]ruqhýX/* 512MB SDRAM Data (CS0) */rvq…�rwq}rxq(hÙUhÚjoqubahæjlubhýX ryq…�rzq}r{q(hÙX hÚjnubjb)�r|q}r}q(hÙXEMIFACS2hè}r~q(hê]hë]rqUnamer€qahì]hí]hð]uhÚjnhô]r�qhýXEMIFACS2r‚q…�rƒq}r„q(hÙUhÚj|qubahæjlubhýX r…q…�r†q}r‡q(hÙX hÚjnubjb)�rˆq}r‰q(hÙXohè}rŠq(hê]hë]r‹qUnamerŒqahì]hí]hð]uhÚjnhô]r�qhýXo…�rŽq}r�q(hÙUhÚjˆqubahæjlubhýX …�r�q}r‘q(hÙX hÚjnubjb)�r’q}r“q(hÙX=hè}r”q(hê]hë]r•qUoperatorr–qahì]hí]hð]uhÚjnhô]r—qhýX=…�r˜q}r™q(hÙUhÚj’qubahæjlubhýX …�ršq}r›q(hÙX hÚjnubjb)�rœq}r�q(hÙX 0x60000000hè}ržq(hê]hë]rŸq(Uliteralr qUnumberr¡qUhexr¢qehì]hí]hð]uhÚjnhô]r£qhýX 0x60000000r¤q…�r¥q}r¦q(hÙUhÚjœqubahæjlubhýX r§q…�r¨q}r©q(hÙX hÚjnubjb)�rªq}r«q(hÙXlhè}r¬q(hê]hë]r­qUnamer®qahì]hí]hð]uhÚjnhô]r¯qhýXl…�r°q}r±q(hÙUhÚjªqubahæjlubhýX …�r²q}r³q(hÙX hÚjnubjb)�r´q}rµq(hÙX=hè}r¶q(hê]hë]r·qUoperatorr¸qahì]hí]hð]uhÚjnhô]r¹qhýX=…�rºq}r»q(hÙUhÚj´qubahæjlubhýX …�r¼q}r½q(hÙX hÚjnubjb)�r¾q}r¿q(hÙX 0x02000000hè}rÀq(hê]hë]rÁq(UliteralrÂqUnumberrÃqUhexrÄqehì]hí]hð]uhÚjnhô]rÅqhýX 0x02000000rÆq…�rÇq}rÈq(hÙUhÚj¾qubahæjlubhýX rÉq…�rÊq}rËq(hÙX hÚjnubjb)�rÌq}rÍq(hÙX/* 32MB Async Data (CS2) */hè}rÎq(hê]hë]rÏq(UcommentrÐqU multilinerÑqehì]hí]hð]uhÚjnhô]rÒqhýX/* 32MB Async Data (CS2) */rÓq…�rÔq}rÕq(hÙUhÚjÌqubahæjlubhýX rÖq…�r×q}rØq(hÙX hÚjnubjb)�rÙq}rÚq(hÙXEMIFACS3hè}rÛq(hê]hë]rÜqUnamerÝqahì]hí]hð]uhÚjnhô]rÞqhýXEMIFACS3rßq…�ràq}ráq(hÙUhÚjÙqubahæjlubhýX râq…�rãq}räq(hÙX hÚjnubjb)�råq}ræq(hÙXohè}rçq(hê]hë]rèqUnameréqahì]hí]hð]uhÚjnhô]rêqhýXo…�rëq}rìq(hÙUhÚjåqubahæjlubhýX …�ríq}rîq(hÙX hÚjnubjb)�rïq}rðq(hÙX=hè}rñq(hê]hë]ròqUoperatorróqahì]hí]hð]uhÚjnhô]rôqhýX=…�rõq}röq(hÙUhÚjïqubahæjlubhýX …�r÷q}røq(hÙX hÚjnubjb)�rùq}rúq(hÙX 0x62000000hè}rûq(hê]hë]rüq(UliteralrýqUnumberrþqUhexrÿqehì]hí]hð]uhÚjnhô]rrhýX 0x62000000rr…�rr}rr(hÙUhÚjùqubahæjlubhýX rr…�rr}rr(hÙX hÚjnubjb)�rr}rr(hÙXlhè}r r(hê]hë]r rUnamer rahì]hí]hð]uhÚjnhô]r rhýXl…�r r}rr(hÙUhÚjrubahæjlubhýX …�rr}rr(hÙX hÚjnubjb)�rr}rr(hÙX=hè}rr(hê]hë]rrUoperatorrrahì]hí]hð]uhÚjnhô]rrhýX=…�rr}rr(hÙUhÚjrubahæjlubhýX …�rr}rr(hÙX hÚjnubjb)�rr}rr(hÙX 0x02000000hè}rr(hê]hë]rr(UliteralrrUnumberr rUhexr!rehì]hí]hð]uhÚjnhô]r"rhýX 0x02000000r#r…�r$r}r%r(hÙUhÚjrubahæjlubhýX r&r…�r'r}r(r(hÙX hÚjnubjb)�r)r}r*r(hÙX/* 32MB Async Data (CS3) */hè}r+r(hê]hë]r,r(Ucommentr-rU multiliner.rehì]hí]hð]uhÚjnhô]r/rhýX/* 32MB Async Data (CS3) */r0r…�r1r}r2r(hÙUhÚj)rubahæjlubhýX r3r…�r4r}r5r(hÙX hÚjnubjb)�r6r}r7r(hÙXEMIFACS4hè}r8r(hê]hë]r9rUnamer:rahì]hí]hð]uhÚjnhô]r;rhýXEMIFACS4rr(hÙUhÚj6rubahæjlubhýX r?r…�r@r}rAr(hÙX hÚjnubjb)�rBr}rCr(hÙXohè}rDr(hê]hë]rErUnamerFrahì]hí]hð]uhÚjnhô]rGrhýXo…�rHr}rIr(hÙUhÚjBrubahæjlubhýX …�rJr}rKr(hÙX hÚjnubjb)�rLr}rMr(hÙX=hè}rNr(hê]hë]rOrUoperatorrPrahì]hí]hð]uhÚjnhô]rQrhýX=…�rRr}rSr(hÙUhÚjLrubahæjlubhýX …�rTr}rUr(hÙX hÚjnubjb)�rVr}rWr(hÙX 0x64000000hè}rXr(hê]hë]rYr(UliteralrZrUnumberr[rUhexr\rehì]hí]hð]uhÚjnhô]r]rhýX 0x64000000r^r…�r_r}r`r(hÙUhÚjVrubahæjlubhýX rar…�rbr}rcr(hÙX hÚjnubjb)�rdr}rer(hÙXlhè}rfr(hê]hë]rgrUnamerhrahì]hí]hð]uhÚjnhô]rirhýXl…�rjr}rkr(hÙUhÚjdrubahæjlubhýX …�rlr}rmr(hÙX hÚjnubjb)�rnr}ror(hÙX=hè}rpr(hê]hë]rqrUoperatorrrrahì]hí]hð]uhÚjnhô]rsrhýX=…�rtr}rur(hÙUhÚjnrubahæjlubhýX …�rvr}rwr(hÙX hÚjnubjb)�rxr}ryr(hÙX 0x02000000hè}rzr(hê]hë]r{r(Uliteralr|rUnumberr}rUhexr~rehì]hí]hð]uhÚjnhô]rrhýX 0x02000000r€r…�r�r}r‚r(hÙUhÚjxrubahæjlubhýX rƒr…�r„r}r…r(hÙX hÚjnubjb)�r†r}r‡r(hÙX/* 32MB Async Data (CS4) */hè}rˆr(hê]hë]r‰r(UcommentrŠrU multiliner‹rehì]hí]hð]uhÚjnhô]rŒrhýX/* 32MB Async Data (CS4) */r�r…�rŽr}r�r(hÙUhÚj†rubahæjlubhýX r�r…�r‘r}r’r(hÙX hÚjnubjb)�r“r}r”r(hÙXEMIFACS5hè}r•r(hê]hë]r–rUnamer—rahì]hí]hð]uhÚjnhô]r˜rhýXEMIFACS5r™r…�ršr}r›r(hÙUhÚj“rubahæjlubhýX rœr…�r�r}ržr(hÙX hÚjnubjb)�rŸr}r r(hÙXohè}r¡r(hê]hë]r¢rUnamer£rahì]hí]hð]uhÚjnhô]r¤rhýXo…�r¥r}r¦r(hÙUhÚjŸrubahæjlubhýX …�r§r}r¨r(hÙX hÚjnubjb)�r©r}rªr(hÙX=hè}r«r(hê]hë]r¬rUoperatorr­rahì]hí]hð]uhÚjnhô]r®rhýX=…�r¯r}r°r(hÙUhÚj©rubahæjlubhýX …�r±r}r²r(hÙX hÚjnubjb)�r³r}r´r(hÙX 0x66000000hè}rµr(hê]hë]r¶r(Uliteralr·rUnumberr¸rUhexr¹rehì]hí]hð]uhÚjnhô]rºrhýX 0x66000000r»r…�r¼r}r½r(hÙUhÚj³rubahæjlubhýX r¾r…�r¿r}rÀr(hÙX hÚjnubjb)�rÁr}rÂr(hÙXlhè}rÃr(hê]hë]rÄrUnamerÅrahì]hí]hð]uhÚjnhô]rÆrhýXl…�rÇr}rÈr(hÙUhÚjÁrubahæjlubhýX …�rÉr}rÊr(hÙX hÚjnubjb)�rËr}rÌr(hÙX=hè}rÍr(hê]hë]rÎrUoperatorrÏrahì]hí]hð]uhÚjnhô]rÐrhýX=…�rÑr}rÒr(hÙUhÚjËrubahæjlubhýX …�rÓr}rÔr(hÙX hÚjnubjb)�rÕr}rÖr(hÙX 0x02000000hè}r×r(hê]hë]rØr(UliteralrÙrUnumberrÚrUhexrÛrehì]hí]hð]uhÚjnhô]rÜrhýX 0x02000000rÝr…�rÞr}rßr(hÙUhÚjÕrubahæjlubhýX ràr…�rár}râr(hÙX hÚjnubjb)�rãr}rär(hÙX/* 32MB Async Data (CS5) */hè}rår(hê]hë]rær(UcommentrçrU multilinerèrehì]hí]hð]uhÚjnhô]rérhýX/* 32MB Async Data (CS5) */rêr…�rër}rìr(hÙUhÚjãrubahæjlubhýX rír…�rîr}rïr(hÙX hÚjnubjb)�rðr}rñr(hÙXSHRAMhè}ròr(hê]hë]rórUnamerôrahì]hí]hð]uhÚjnhô]rõrhýXSHRAMrör…�r÷r}rør(hÙUhÚjðrubahæjlubhýX rùr…�rúr}rûr(hÙX hÚjnubjb)�rür}rýr(hÙXohè}rþr(hê]hë]rÿrUnamersahì]hí]hð]uhÚjnhô]rshýXo…�rs}rs(hÙUhÚjürubahæjlubhýX …�rs}rs(hÙX hÚjnubjb)�rs}rs(hÙX=hè}rs(hê]hë]r sUoperatorr sahì]hí]hð]uhÚjnhô]r shýX=…�r s}r s(hÙUhÚjsubahæjlubhýX …�rs}rs(hÙX hÚjnubjb)�rs}rs(hÙX 0x80000000hè}rs(hê]hë]rs(UliteralrsUnumberrsUhexrsehì]hí]hð]uhÚjnhô]rshýX 0x80000000rs…�rs}rs(hÙUhÚjsubahæjlubhýX rs…�rs}rs(hÙX hÚjnubjb)�rs}rs(hÙXlhè}r s(hê]hë]r!sUnamer"sahì]hí]hð]uhÚjnhô]r#shýXl…�r$s}r%s(hÙUhÚjsubahæjlubhýX …�r&s}r's(hÙX hÚjnubjb)�r(s}r)s(hÙX=hè}r*s(hê]hë]r+sUoperatorr,sahì]hí]hð]uhÚjnhô]r-shýX=…�r.s}r/s(hÙUhÚj(subahæjlubhýX …�r0s}r1s(hÙX hÚjnubjb)�r2s}r3s(hÙX 0x00020000hè}r4s(hê]hë]r5s(Uliteralr6sUnumberr7sUhexr8sehì]hí]hð]uhÚjnhô]r9shýX 0x00020000r:s…�r;s}rs}r?s(hÙX hÚjnubjb)�r@s}rAs(hÙX/* 128kB Shared RAM */hè}rBs(hê]hë]rCs(UcommentrDsU multilinerEsehì]hí]hð]uhÚjnhô]rFshýX/* 128kB Shared RAM */rGs…�rHs}rIs(hÙUhÚj@subahæjlubhýX rJs…�rKs}rLs(hÙX hÚjnubjb)�rMs}rNs(hÙXDDR2hè}rOs(hê]hë]rPsUnamerQsahì]hí]hð]uhÚjnhô]rRshýXDDR2rSs…�rTs}rUs(hÙUhÚjMsubahæjlubhýX rVs…�rWs}rXs(hÙX hÚjnubjb)�rYs}rZs(hÙXohè}r[s(hê]hë]r\sUnamer]sahì]hí]hð]uhÚjnhô]r^shýXo…�r_s}r`s(hÙUhÚjYsubahæjlubhýX …�ras}rbs(hÙX hÚjnubjb)�rcs}rds(hÙX=hè}res(hê]hë]rfsUoperatorrgsahì]hí]hð]uhÚjnhô]rhshýX=…�ris}rjs(hÙUhÚjcsubahæjlubhýX …�rks}rls(hÙX hÚjnubjb)�rms}rns(hÙX 0xC0000000hè}ros(hê]hë]rps(UliteralrqsUnumberrrsUhexrssehì]hí]hð]uhÚjnhô]rtshýX 0xC0000000rus…�rvs}rws(hÙUhÚjmsubahæjlubhýX rxs…�rys}rzs(hÙX hÚjnubjb)�r{s}r|s(hÙXlhè}r}s(hê]hë]r~sUnamersahì]hí]hð]uhÚjnhô]r€shýXl…�r�s}r‚s(hÙUhÚj{subahæjlubhýX …�rƒs}r„s(hÙX hÚjnubjb)�r…s}r†s(hÙX=hè}r‡s(hê]hë]rˆsUoperatorr‰sahì]hí]hð]uhÚjnhô]rŠshýX=…�r‹s}rŒs(hÙUhÚj…subahæjlubhýX …�r�s}rŽs(hÙX hÚjnubjb)�r�s}r�s(hÙX 0x20000000hè}r‘s(hê]hë]r’s(Uliteralr“sUnumberr”sUhexr•sehì]hí]hð]uhÚjnhô]r–shýX 0x20000000r—s…�r˜s}r™s(hÙUhÚj�subahæjlubhýX ršs…�r›s}rœs(hÙX hÚjnubjb)�r�s}ržs(hÙX/* 512MB DDR2 Data */hè}rŸs(hê]hë]r s(Ucommentr¡sU multiliner¢sehì]hí]hð]uhÚjnhô]r£shýX/* 512MB DDR2 Data */r¤s…�r¥s}r¦s(hÙUhÚj�subahæjlubhýX …�r§s}r¨s(hÙX hÚjnubjb)�r©s}rªs(hÙX}hè}r«s(hê]hë]r¬sU punctuationr­sahì]hí]hð]uhÚjnhô]r®shýX}…�r¯s}r°s(hÙUhÚj©subahæjlubeubjÅ;)�r±s}r²s(hÙX
hÚj…lhäjOGhæjÈ;hè}r³s(UformatXhtmljjhí]hì]hê]hë]hð]uhòMhóhhô]r´shýX
rµs…�r¶s}r·s(hÙUhÚj±subaubjÅ;)�r¸s}r¹s(hÙX
hÚj…lhäjOGhæjÈ;hè}rºs(UformatXhtmljjhí]hì]hê]hë]hð]uhòMhóhhô]r»shýX
r¼s…�r½s}r¾s(hÙUhÚj¸subaubj/)�r¿s}rÀs(hÙXAThe linker command file is designed to place code in OCMC memory.rÁshÚj…lhäjOGhæj3hè}rÂs(hê]hë]hì]hí]hð]uhòMhóhhô]rÃshýXAThe linker command file is designed to place code in OCMC memory.rÄs…�rÅs}rÆs(hÙjÁshÚj¿subaubj))�rÇs}rÈs(hÙXkFor OMAPL13x/C674x devices, the linker command file places code in the SHRAM memory section as shown below.hÚj…lhäjOGhæj,hè}rÉs(hê]hë]hì]hí]hð]uhòNhóhhô]rÊsj/)�rËs}rÌs(hÙXkFor OMAPL13x/C674x devices, the linker command file places code in the SHRAM memory section as shown below.rÍshÚjÇshäjOGhæj3hè}rÎs(hê]hë]hì]hí]hð]uhòMhô]rÏshýXkFor OMAPL13x/C674x devices, the linker command file places code in the SHRAM memory section as shown below.rÐs…�rÑs}rÒs(hÙjÍshÚjËsubaubaubjË)�rÓs}rÔs(hÙXb SECTIONS { .text > SHRAM .stack > SHRAM .bss > SHRAM ....... }hÚj…lhäjOGhæjÎhè}rÕs(jjhí]hì]hê]hë]hð]uhòMEhóhhô]rÖshýXb SECTIONS { .text > SHRAM .stack > SHRAM .bss > SHRAM ....... }r×s…�rØs}rÙs(hÙUhÚjÓsubaubj))�rÚs}rÛs(hÙX¯An optional step is to modify the section definition in linker command file if you wish to introduce/partition existing sections or place the code in different memory section.hÚj…lhäjOGhæj,hè}rÜs(hê]hë]hì]hí]hð]uhòNhóhhô]rÝsj/)�rÞs}rßs(hÙX¯An optional step is to modify the section definition in linker command file if you wish to introduce/partition existing sections or place the code in different memory section.ràshÚjÚshäjOGhæj3hè}rás(hê]hë]hì]hí]hð]uhòM,hô]râshýX¯An optional step is to modify the section definition in linker command file if you wish to introduce/partition existing sections or place the code in different memory section.rãs…�räs}rås(hÙjàshÚjÞsubaubaubj/)�ræs}rçs(hÙX}7. Now build the project by right clicking on the Project and selecting "Build Project" to generate hello_world_lcdk674x.out.rèshÚj…lhäjOGhæj3hè}rés(hê]hë]hì]hí]hð]uhòM0hóhhô]rêshýX}7. Now build the project by right clicking on the Project and selecting "Build Project" to generate hello_world_lcdk674x.out.rës…�rìs}rís(hÙjèshÚjæsubaubj/)�rîs}rïs(hÙX¶8. Launch target configurations using your emulator to connect to OMAPLx/C674x LCDK as described in the :ref:`Getting Started Guide `.hÚj…lhäjOGhæj3hè}rðs(hê]hë]hì]hí]hð]uhòM3hóhhô]rñs(hýXh8. Launch target configurations using your emulator to connect to OMAPLx/C674x LCDK as described in the ròs…�rós}rôs(hÙXh8. Launch target configurations using your emulator to connect to OMAPLx/C674x LCDK as described in the hÚjîsubjZ)�rõs}rös(hÙXM:ref:`Getting Started Guide `r÷shÚjîshäjOGhæj^hè}røs(UreftypeXrefj¢ ˆj£ X.processor-sdk-rtos-getting-started-guide-labelU refdomainXstdrùshí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòM3hô]rúsjb)�rûs}rüs(hÙj÷shè}rýs(hê]hë]rþs(j­ jùsXstd-refrÿsehì]hí]hð]uhÚjõshô]rthýXGetting Started Guidert…�rt}rt(hÙUhÚjûsubahæjlubaubhýX.…�rt}rt(hÙX.hÚjîsubeubj/)�rt}rt(hÙXõ9. Developers on OMAPL137/C6747/C6748 can connect directly to the DSP. For OMAPL138 device, you will need to connect to the ARM as this is ARM master boot device and ARM needs to power up the DSP. You should see the following log in the console.rthÚj…lhäjOGhæj3hè}r t(hê]hë]hì]hí]hð]uhòM6hóhhô]r thýXõ9. Developers on OMAPL137/C6747/C6748 can connect directly to the DSP. For OMAPL138 device, you will need to connect to the ARM as this is ARM master boot device and ARM needs to power up the DSP. You should see the following log in the console.r t…�r t}r t(hÙjthÚjtubaubjË)�rt}rt(hÙXôC674X_0: Output: Target Connected. C674X_0: Output: --------------------------------------------- C674X_0: Output: Memory Map Cleared. C674X_0: Output: --------------------------------------------- C674X_0: Output: Memory Map Setup Complete. C674X_0: Output: --------------------------------------------- C674X_0: Output: PSC Enable Complete. C674X_0: Output: --------------------------------------------- C674X_0: Output: PLL0 init done for Core:300MHz, EMIFA:25MHz C674X_0: Output: DDR initialization is in progress.... C674X_0: Output: PLL1 init done for DDR:150MHz C674X_0: Output: Using DDR2 settings C674X_0: Output: DDR2 init for 150 MHz is done C674X_0: Output: ---------------------------------------------hÚj…lhäjOGhæjÎhè}rt(jjhí]hì]hê]hë]hð]uhòM_hóhhô]rthýXôC674X_0: Output: Target Connected. C674X_0: Output: --------------------------------------------- C674X_0: Output: Memory Map Cleared. C674X_0: Output: --------------------------------------------- C674X_0: Output: Memory Map Setup Complete. C674X_0: Output: --------------------------------------------- C674X_0: Output: PSC Enable Complete. C674X_0: Output: --------------------------------------------- C674X_0: Output: PLL0 init done for Core:300MHz, EMIFA:25MHz C674X_0: Output: DDR initialization is in progress.... C674X_0: Output: PLL1 init done for DDR:150MHz C674X_0: Output: Using DDR2 settings C674X_0: Output: DDR2 init for 150 MHz is done C674X_0: Output: ---------------------------------------------rt…�rt}rt(hÙUhÚjtubaubjÎ)�rt}rt(hÙUhÚj…lhäjOGhæjÑhè}rt(hê]hë]hì]hí]hð]uhòMLhóhhô]rtjÔ)�rt}rt(hÙUj×KhÚjthäjOGhæhòhè}rt(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubj/)�rt}rt(hÙXŠ11. Select and Connect to C674x. Load and run hello_world_dsp.out file. You should see **Hello World** string displayed on console window.hÚj…lhäjOGhæj3hè}rt(hê]hë]hì]hí]hð]uhòMNhóhhô]rt(hýXW11. Select and Connect to C674x. Load and run hello_world_dsp.out file. You should see r t…�r!t}r"t(hÙXW11. Select and Connect to C674x. Load and run hello_world_dsp.out file. You should see hÚjtubjW)�r#t}r$t(hÙX**Hello World**hè}r%t(hê]hë]hì]hí]hð]uhÚjthô]r&thýX Hello Worldr't…�r(t}r)t(hÙUhÚj#tubahæj_ubhýX$ string displayed on console window.r*t…�r+t}r,t(hÙX$ string displayed on console window.hÚjtubeubj)�r-t}r.t(hÙX-.. Image:: ../images/Hello_world_dsp674x.png hÚj…lhäjOGhæjhè}r/t(UuriX&rtos/../images/Hello_world_dsp674x.pngr0thí]hì]hê]hë]j}r1tU*j0tshð]uhòMRhóhhô]ubjÎ)�r2t}r3t(hÙUhÚj…lhäjOGhæjÑhè}r4t(hê]hë]hì]hí]hð]uhòMShóhhô]r5tjÔ)�r6t}r7t(hÙUj×KhÚj2thäjOGhæhòhè}r8t(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubeubhäjOGhæhçhè}r9t(hê]r:tjþ:ahë]hì]hí]r;tUid45rt}r?t(hÙXOverviewr@thÚj;GhäjOGhæhúhè}rAt(hê]hë]hì]hí]hð]uhòKhóhhô]rBthýXOverviewrCt…�rDt}rEt(hÙj@thÚj>tubaubj/)�rFt}rGt(hÙX=The bare-metal examples gets user started with development of code without an operating system. These are simple examples that does not get into details of software components provided in the SDK. Consequently, make sure there are no SD cards installed on the EVM with an OS prior to exploring the following examples.rHthÚj;GhäjOGhæj3hè}rIt(hê]hë]hì]hí]hð]uhòKhóhhô]rJthýX=The bare-metal examples gets user started with development of code without an operating system. These are simple examples that does not get into details of software components provided in the SDK. Consequently, make sure there are no SD cards installed on the EVM with an OS prior to exploring the following examples.rKt…�rLt}rMt(hÙjHthÚjFtubaubj/)�rNt}rOt(hÙXzIf you face any problems with CCS or JTAG, try these `troubleshooting steps `__.hÚj;GhäjOGhæj3hè}rPt(hê]hë]hì]hí]hð]uhòK hóhhô]rQt(hýX5If you face any problems with CCS or JTAG, try these rRt…�rSt}rTt(hÙX5If you face any problems with CCS or JTAG, try these hÚjNtubj)�rUt}rVt(hÙXD`troubleshooting steps `__hè}rWt(UnameXtroubleshooting stepsjX(index_how_to_guides.html#troubleshootinghí]hì]hê]hë]hð]uhÚjNthô]rXthýXtroubleshooting stepsrYt…�rZt}r[t(hÙUhÚjUtubahæjubhýX.…�r\t}r]t(hÙX.hÚjNtubeubeubhäjOGhæj>hè}r^t(hê]UlevelKhí]hì]r_tjhè}rjt(hê]UlevelKhí]hì]rktj[GaUsourcejOGhë]hð]UlineKUtypejAuhòKhóhhô]rltj/)�rmt}rnt(hÙX1Duplicate implicit target name: "arm cortex-a53".hè}rot(hê]hë]hì]hí]hð]uhÚjhthô]rpthýX1Duplicate implicit target name: "arm cortex-a53".rqt…�rrt}rst(hÙUhÚjmtubahæj3ubaubj¬)�rtt}rut(hÙUhÚjVGhäjOGhæj>hè}rvt(hê]UlevelKhí]hì]UsourcejOGhë]hð]UlineK7UtypejAuhòK7hóhhô]rwtj/)�rxt}ryt(hÙXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.hè}rzt(hê]hë]hì]hí]hð]uhÚjtthô]r{thýXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.r|t…�r}t}r~t(hÙUhÚjxtubahæj3ubaubj¬)�rt}r€t(hÙUhÚjVGhäjOGhæj>hè}r�t(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK3UtypejAuhòKKhóhhô]r‚tj/)�rƒt}r„t(hÙX:Enumerated list start value not ordinal-1: "9" (ordinal 9)hè}r…t(hê]hë]hì]hí]hð]uhÚjthô]r†thýX:Enumerated list start value not ordinal-1: "9" (ordinal 9)r‡t…�rˆt}r‰t(hÙUhÚjƒtubahæj3ubaubj¬)�rŠt}r‹t(hÙUhÚjÁHhäjOGhæj>hè}rŒt(hê]UlevelKhí]hì]r�tjÆHaUsourcejOGhë]hð]UlineKpUtypejAuhòKphóhhô]rŽtj/)�r�t}r�t(hÙX1Duplicate implicit target name: "arm cortex-a15".hè}r‘t(hê]hë]hì]hí]hð]uhÚjŠthô]r’thýX1Duplicate implicit target name: "arm cortex-a15".r“t…�r”t}r•t(hÙUhÚj�tubahæj3ubaubj¬)�r–t}r—t(hÙUhÚjÁHhäjOGhæj>hè}r˜t(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK3UtypejAuhòKùhóhhô]r™tj/)�ršt}r›t(hÙX:Enumerated list start value not ordinal-1: "9" (ordinal 9)hè}rœt(hê]hë]hì]hí]hð]uhÚj–thô]r�thýX:Enumerated list start value not ordinal-1: "9" (ordinal 9)ržt…�rŸt}r t(hÙUhÚjštubahæj3ubaubj¬)�r¡t}r¢t(hÙUhÚj»MhäjOGhæj>hè}r£t(hê]UlevelKhí]hì]r¤tjÀMaUsourcejOGhë]hð]UlineMUtypejAuhòMhóhhô]r¥tj/)�r¦t}r§t(hÙX0Duplicate implicit target name: "arm cortex-a9".hè}r¨t(hê]hë]hì]hí]hð]uhÚj¡thô]r©thýX0Duplicate implicit target name: "arm cortex-a9".rªt…�r«t}r¬t(hÙUhÚj¦tubahæj3ubaubj¬)�r­t}r®t(hÙUhÚj»MhäjOGhæj>hè}r¯t(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK3UtypejAuhòMPhóhhô]r°tj/)�r±t}r²t(hÙX:Enumerated list start value not ordinal-1: "6" (ordinal 6)hè}r³t(hê]hë]hì]hí]hð]uhÚj­thô]r´thýX:Enumerated list start value not ordinal-1: "6" (ordinal 6)rµt…�r¶t}r·t(hÙUhÚj±tubahæj3ubaubj¬)�r¸t}r¹t(hÙUhÚj»MhäjOGhæj>hè}rºt(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK3UtypejAuhòMvhóhhô]r»tj/)�r¼t}r½t(hÙX:Enumerated list start value not ordinal-1: "7" (ordinal 7)hè}r¾t(hê]hë]hì]hí]hð]uhÚj¸thô]r¿thýX:Enumerated list start value not ordinal-1: "7" (ordinal 7)rÀt…�rÁt}rÂt(hÙUhÚj¼tubahæj3ubaubj¬)�rÃt}rÄt(hÙUhÚj3RhäjOGhæj>hè}rÅt(hê]UlevelKhí]hì]rÆtj8RaUsourcejOGhë]hð]UlineM‰UtypejAuhòM‰hóhhô]rÇtj/)�rÈt}rÉt(hÙX0Duplicate implicit target name: "arm cortex-a8".hè}rÊt(hê]hë]hì]hí]hð]uhÚjÃthô]rËthýX0Duplicate implicit target name: "arm cortex-a8".rÌt…�rÍt}rÎt(hÙUhÚjÈtubahæj3ubaubj¬)�rÏt}rÐt(hÙUhÚj3RhäjOGhæj>hè}rÑt(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK3UtypejAuhòM½hóhhô]rÒtj/)�rÓt}rÔt(hÙX:Enumerated list start value not ordinal-1: "6" (ordinal 6)hè}rÕt(hê]hë]hì]hí]hð]uhÚjÏthô]rÖthýX:Enumerated list start value not ordinal-1: "6" (ordinal 6)r×t…�rØt}rÙt(hÙUhÚjÓtubahæj3ubaubj¬)�rÚt}rÛt(hÙUhÚj3RhäjOGhæj>hè}rÜt(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK3UtypejAuhòMßhóhhô]rÝtj/)�rÞt}rßt(hÙX:Enumerated list start value not ordinal-1: "7" (ordinal 7)hè}ràt(hê]hë]hì]hí]hð]uhÚjÚthô]ráthýX:Enumerated list start value not ordinal-1: "7" (ordinal 7)rât…�rãt}rät(hÙUhÚjÞtubahæj3ubaubj¬)�råt}ræt(hÙUhÚjªVhäjOGhæj>hè}rçt(hê]UlevelKhí]hì]rètj¯VaUsourcejOGhë]hð]UlineMóUtypejAuhòMóhóhhô]rétj/)�rêt}rët(hÙX0Duplicate implicit target name: "arm cortex-r5".hè}rìt(hê]hë]hì]hí]hð]uhÚjåthô]ríthýX0Duplicate implicit target name: "arm cortex-r5".rît…�rït}rðt(hÙUhÚjêtubahæj3ubaubj¬)�rñt}ròt(hÙUhÚjÁWhäjOGhæj>hè}rót(hê]UlevelKhí]hì]rôtjÆWaUsourcejOGhë]hð]UlineM1UtypejAuhòM1hóhhô]rõtj/)�röt}r÷t(hÙX0Duplicate implicit target name: "arm cortex-m4".hè}røt(hê]hë]hì]hí]hð]uhÚjñthô]rùthýX0Duplicate implicit target name: "arm cortex-m4".rút…�rût}rüt(hÙUhÚjötubahæj3ubaubj¬)�rýt}rþt(hÙUhÚjÁWhäjOGhæj>hè}rÿt(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK3UtypejAuhòM”hóhhô]ruj/)�ru}ru(hÙX:Enumerated list start value not ordinal-1: "7" (ordinal 7)hè}ru(hê]hë]hì]hí]hð]uhÚjýthô]ruhýX:Enumerated list start value not ordinal-1: "7" (ordinal 7)ru…�ru}ru(hÙUhÚjuubahæj3ubaubj¬)�ru}r u(hÙUhÚj\häjOGhæj>hè}r u(hê]UlevelKhí]hì]r uj \aUsourcejOGhë]hð]UlineM³UtypejAuhòM³hóhhô]r uj/)�r u}ru(hÙX'Duplicate implicit target name: "arm9".hè}ru(hê]hë]hì]hí]hð]uhÚjuhô]ruhýX'Duplicate implicit target name: "arm9".ru…�ru}ru(hÙUhÚj uubahæj3ubaubj¬)�ru}ru(hÙUhÚj\häjOGhæj>hè}ru(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK3UtypejAuhòMÜhóhhô]ruj/)�ru}ru(hÙX:Enumerated list start value not ordinal-1: "7" (ordinal 7)hè}ru(hê]hë]hì]hí]hð]uhÚjuhô]ruhýX:Enumerated list start value not ordinal-1: "7" (ordinal 7)ru…�ru}ru(hÙUhÚjuubahæj3ubaubj¬)�ru}r u(hÙUhÚj\häjOGhæj>hè}r!u(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK3UtypejAuhòMhóhhô]r"uj/)�r#u}r$u(hÙX:Enumerated list start value not ordinal-1: "8" (ordinal 8)hè}r%u(hê]hë]hì]hí]hð]uhÚjuhô]r&uhýX:Enumerated list start value not ordinal-1: "8" (ordinal 8)r'u…�r(u}r)u(hÙUhÚj#uubahæj3ubaubj¬)�r*u}r+u(hÙUhÚj?hhäjOGhæj>hè}r,u(hê]UlevelKhí]hì]r-ujDhaUsourcejOGhë]hð]UlineM+UtypejAuhòM+hóhhô]r.uj/)�r/u}r0u(hÙX+Duplicate implicit target name: "dsp c66x".hè}r1u(hê]hë]hì]hí]hð]uhÚj*uhô]r2uhýX+Duplicate implicit target name: "dsp c66x".r3u…�r4u}r5u(hÙUhÚj/uubahæj3ubaubj¬)�r6u}r7u(hÙUhÚj?hhäjOGhæj>hè}r8u(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK3UtypejAuhòM˜hóhhô]r9uj/)�r:u}r;u(hÙX:Enumerated list start value not ordinal-1: "7" (ordinal 7)hè}ru…�r?u}r@u(hÙUhÚj:uubahæj3ubaubj¬)�rAu}rBu(hÙUhÚj…lhäjOGhæj>hè}rCu(hê]UlevelKhí]hì]rDujŠlaUsourcejOGhë]hð]UlineM´UtypejAuhòM´hóhhô]rEuj/)�rFu}rGu(hÙX,Duplicate implicit target name: "dsp c674x".hè}rHu(hê]hë]hì]hí]hð]uhÚjAuhô]rIuhýX,Duplicate implicit target name: "dsp c674x".rJu…�rKu}rLu(hÙUhÚjFuubahæj3ubaubj¬)�rMu}rNu(hÙUhÚj…lhäXZinternal padding after source/rtos/Examples_and_Demonstrations/Bare_Metal_Examples.rst.incrOuhæj>hè}rPu(hê]UlevelKhí]hì]UsourcejOGhë]hð]UlineMUUtypejfuhòMWhóhhô]rQu(j/)�rRu}rSu(hÙX;Content block expected for the "raw" directive; none found.hè}rTu(hê]hë]hì]hí]hð]uhÚjMuhô]rUuhýX;Content block expected for the "raw" directive; none found.rVu…�rWu}rXu(hÙUhÚjRuubahæj3ubjË)�rYu}rZu(hÙX.. raw:: html hè}r[u(jjhí]hì]hê]hë]hð]uhÚjMuhô]r\uhýX.. raw:: html r]u…�r^u}r_u(hÙUhÚjYuubahæjÎubeubj¬)�r`u}rau(hÙUhÚhÛ)�rbu}rcu(hÙUjKhÚhÛ)�rdu}reu(hÙUhÚhhähåhæhçhè}rfu(hê]hë]hì]hí]rguUgravity-simulator-demorhuahð]riuhmauhòK9hóhhô]rju(hö)�rku}rlu(hÙXGravity Simulator DemormuhÚjduhähåhæhúhè}rnu(hê]hë]hì]hí]hð]uhòK9hóhhô]rouhýXGravity Simulator Demorpu…�rqu}rru(hÙjmuhÚjkuubaubj )�rsu}rtu(hÙXQhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Gravity_Simulator_DemohÚjduhäj XFsource/rtos/Examples_and_Demonstrations/Gravity_Simulator_Demo.rst.incruu…�rvu}rwubhæjhè}rxu(jjhí]hì]hê]hë]hð]uhòKhóhhô]ryuhýXQhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Gravity_Simulator_Demorzu…�r{u}r|u(hÙUhÚjsuubaubjbuhÛ)�r}u}r~u(hÙUhÚjduhäjvuhæhçhè}ru(hê]hë]hì]hí]r€uUversion-detailsr�uahð]r‚uhauhòK hóhhô]rƒu(hö)�r„u}r…u(hÙXVersion Detailsr†uhÚj}uhäjvuhæhúhè}r‡u(hê]hë]hì]hí]hð]uhòK hóhhô]rˆuhýXVersion Detailsr‰u…�rŠu}r‹u(hÙj†uhÚj„uubaubj/)�rŒu}r�u(hÙXLatest version: 1.0.0rŽuhÚj}uhäjvuhæj3hè}r�u(hê]hë]hì]hí]hð]uhòK hóhhô]r�uhýXLatest version: 1.0.0r‘u…�r’u}r“u(hÙjŽuhÚjŒuubaubj/)�r”u}r•u(hÙXSupported platforms: idkAM572xr–uhÚj}uhäjvuhæj3hè}r—u(hê]hë]hì]hí]hð]uhòKhóhhô]r˜uhýXSupported platforms: idkAM572xr™u…�ršu}r›u(hÙj–uhÚj”uubaubj/)�rœu}r�u(hÙX(Available in: Processor SDK RTOS 4.0.0.4ržuhÚj}uhäjvuhæj3hè}rŸu(hê]hë]hì]hí]hð]uhòKhóhhô]r uhýX(Available in: Processor SDK RTOS 4.0.0.4r¡u…�r¢u}r£u(hÙjžuhÚjœuubaubeubhÛ)�r¤u}r¥u(hÙUjKhÚjduhäjvuhæhçhè}r¦u(hê]r§ujgahë]hì]hí]r¨uUid56r©uahð]uhòKhóhhô]rªu(hö)�r«u}r¬u(hÙXComponents Usedr­uhÚj¤uhäjvuhæhúhè}r®u(hê]hë]hì]hí]hð]uhòKhóhhô]r¯uhýXComponents Usedr°u…�r±u}r²u(hÙj­uhÚj«uubaubj/)�r³u}r´u(hÙXOpen Sourced Libraries:rµuhÚj¤uhäjvuhæj3hè}r¶u(hê]hë]hì]hí]hð]uhòKhóhhô]r·uhýXOpen Sourced Libraries:r¸u…�r¹u}rºu(hÙjµuhÚj³uubaubjQ)�r»u}r¼u(hÙUhÚj¤uhäjvuhæjThè}r½u(jVX-hí]hì]hê]hë]hð]uhòKhóhhô]r¾ujX)�r¿u}rÀu(hÙXGravit hÚj»uhäjvuhæj[hè}rÁu(hê]hë]hì]hí]hð]uhòNhóhhô]rÂuj/)�rÃu}rÄu(hÙXGravitrÅuhÚj¿uhäjvuhæj3hè}rÆu(hê]hë]hì]hí]hð]uhòKhô]rÇuhýXGravitrÈu…�rÉu}rÊu(hÙjÅuhÚjÃuubaubaubaubj/)�rËu}rÌu(hÙXRTOS Components:rÍuhÚj¤uhäjvuhæj3hè}rÎu(hê]hë]hì]hí]hð]uhòKhóhhô]rÏuhýXRTOS Components:rÐu…�rÑu}rÒu(hÙjÍuhÚjËuubaubjQ)�rÓu}rÔu(hÙUhÚj¤uhäjvuhæjThè}rÕu(jVX-hí]hì]hê]hë]hð]uhòKhóhhô]rÖu(jX)�r×u}rØu(hÙXSYSBIOSrÙuhÚjÓuhäjvuhæj[hè}rÚu(hê]hë]hì]hí]hð]uhòNhóhhô]rÛuj/)�rÜu}rÝu(hÙjÙuhÚj×uhäjvuhæj3hè}rÞu(hê]hë]hì]hí]hð]uhòKhô]rßuhýXSYSBIOSràu…�ráu}râu(hÙjÙuhÚjÜuubaubaubjX)�rãu}räu(hÙXXDC hÚjÓuhäjvuhæj[hè}råu(hê]hë]hì]hí]hð]uhòNhóhhô]ræuj/)�rçu}rèu(hÙXXDCréuhÚjãuhäjvuhæj3hè}rêu(hê]hë]hì]hí]hð]uhòKhô]rëuhýXXDCrìu…�ríu}rîu(hÙjéuhÚjçuubaubaubeubj/)�rïu}rðu(hÙXProcessor SDK RTOS Drivers:rñuhÚj¤uhäjvuhæj3hè}ròu(hê]hë]hì]hí]hð]uhòKhóhhô]róuhýXProcessor SDK RTOS Drivers:rôu…�rõu}röu(hÙjñuhÚjïuubaubjQ)�r÷u}røu(hÙUhÚj¤uhäjvuhæjThè}rùu(jVX-hí]hì]hê]hë]hð]uhòK!hóhhô]rúu(jX)�rûu}rüu(hÙXVPSrýuhÚj÷uhäjvuhæj[hè}rþu(hê]hë]hì]hí]hð]uhòNhóhhô]rÿuj/)�rv}rv(hÙjýuhÚjûuhäjvuhæj3hè}rv(hê]hë]hì]hí]hð]uhòK!hô]rvhýXVPSrv…�rv}rv(hÙjýuhÚjvubaubaubjX)�rv}rv(hÙXPMr vhÚj÷uhäjvuhæj[hè}r v(hê]hë]hì]hí]hð]uhòNhóhhô]r vj/)�r v}r v(hÙj vhÚjvhäjvuhæj3hè}rv(hê]hë]hì]hí]hð]uhòK"hô]rvhýXPMrv…�rv}rv(hÙj vhÚj vubaubaubjX)�rv}rv(hÙXI2CrvhÚj÷uhäjvuhæj[hè}rv(hê]hë]hì]hí]hð]uhòNhóhhô]rvj/)�rv}rv(hÙjvhÚjvhäjvuhæj3hè}rv(hê]hë]hì]hí]hð]uhòK#hô]rvhýXI2Crv…�rv}rv(hÙjvhÚjvubaubaubjX)�rv}r v(hÙXUARTr!vhÚj÷uhäjvuhæj[hè}r"v(hê]hë]hì]hí]hð]uhòNhóhhô]r#vj/)�r$v}r%v(hÙj!vhÚjvhäjvuhæj3hè}r&v(hê]hë]hì]hí]hð]uhòK$hô]r'vhýXUARTr(v…�r)v}r*v(hÙj!vhÚj$vubaubaubjX)�r+v}r,v(hÙXBoardr-vhÚj÷uhäjvuhæj[hè}r.v(hê]hë]hì]hí]hð]uhòNhóhhô]r/vj/)�r0v}r1v(hÙj-vhÚj+vhäjvuhæj3hè}r2v(hê]hë]hì]hí]hð]uhòK%hô]r3vhýXBoardr4v…�r5v}r6v(hÙj-vhÚj0vubaubaubjX)�r7v}r8v(hÙXOSALr9vhÚj÷uhäjvuhæj[hè}r:v(hê]hë]hì]hí]hð]uhòNhóhhô]r;vj/)�rv(hê]hë]hì]hí]hð]uhòK&hô]r?vhýXOSALr@v…�rAv}rBv(hÙj9vhÚj`__ page for information on setting up your build environment.hÚjOvhäjvuhæj3hè}rav(hê]hë]hì]hí]hð]uhòK,hóhhô]rbv(hýX“The demo is available pre-built for Processor SDK RTOS version 4.0.0.4 or higher. You must first set up your development environment. Refer to the rcv…�rdv}rev(hÙX“The demo is available pre-built for Processor SDK RTOS version 4.0.0.4 or higher. You must first set up your development environment. Refer to the hÚj_vubj)�rfv}rgv(hÙXF`Processor SDK RTOS Building `__hè}rhv(UnameXProcessor SDK RTOS BuildingjX$index_overview.html#building-the-sdkhí]hì]hê]hë]hð]uhÚj_vhô]rivhýXProcessor SDK RTOS Buildingrjv…�rkv}rlv(hÙUhÚjfvubahæjubhýX; page for information on setting up your build environment.rmv…�rnv}rov(hÙX; page for information on setting up your build environment.hÚj_vubeubj/)�rpv}rqv(hÙX*The following are steps to clean the demo:rrvhÚjOvhäjvuhæj3hè}rsv(hê]hë]hì]hí]hð]uhòK1hóhhô]rtvhýX*The following are steps to clean the demo:ruv…�rvv}rwv(hÙjrvhÚjpvubaubjË)�rxv}ryv(hÙX`cd [SDK Install Path]/processor_sdk_rtos_[soc]_[version]/demos/gravit make clean BOARD=idkAM572xhÚjOvhäjvuhæjÎhè}rzv(jjhí]hì]hê]hë]hð]uhòMµhóhhô]r{vhýX`cd [SDK Install Path]/processor_sdk_rtos_[soc]_[version]/demos/gravit make clean BOARD=idkAM572xr|v…�r}v}r~v(hÙUhÚjxvubaubj/)�rv}r€v(hÙX,The following are steps to compile the demo:r�vhÚjOvhäjvuhæj3hè}r‚v(hê]hë]hì]hí]hð]uhòK8hóhhô]rƒvhýX,The following are steps to compile the demo:r„v…�r…v}r†v(hÙj�vhÚjvubaubjË)�r‡v}rˆv(hÙXZcd [SDK Install Path]/processor_sdk_rtos_[soc]_[version]/demos/gravit make BOARD=idkAM572xhÚjOvhäjvuhæjÎhè}r‰v(jjhí]hì]hê]hë]hð]uhòM¼hóhhô]rŠvhýXZcd [SDK Install Path]/processor_sdk_rtos_[soc]_[version]/demos/gravit make BOARD=idkAM572xr‹v…�rŒv}r�v(hÙUhÚj‡vubaubeubhÛ)�rŽv}r�v(hÙUjKhÚjduhäjvuhæhçhè}r�v(hê]r‘vXrunning the demor’vahë]hì]hí]r“vUrunning-the-demor”vahð]uhòK@hóhhô]r•v(hö)�r–v}r—v(hÙXRunning the Demor˜vhÚjŽvhäjvuhæhúhè}r™v(hê]hë]hì]hí]hð]uhòK@hóhhô]ršvhýXRunning the Demor›v…�rœv}r�v(hÙj˜vhÚj–vubaubj/)�ržv}rŸv(hÙXYou will need the following:r vhÚjŽvhäjvuhæj3hè}r¡v(hê]hë]hì]hí]hð]uhòKBhóhhô]r¢vhýXYou will need the following:r£v…�r¤v}r¥v(hÙj vhÚjžvubaubj¼)�r¦v}r§v(hÙUhÚjŽvhäjvuhæj¿hè}r¨v(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòKDhóhhô]r©v(jX)�rªv}r«v(hÙX¬Code Composer Studio to load and run the demo. Refer to :ref:`Processor SDK RTOS Getting Started Guide ` for installing CCS.hÚj¦vhäjvuhæj[hè}r¬v(hê]hë]hì]hí]hð]uhòNhóhhô]r­vj/)�r®v}r¯v(hÙX¬Code Composer Studio to load and run the demo. Refer to :ref:`Processor SDK RTOS Getting Started Guide ` for installing CCS.hÚjªvhäjvuhæj3hè}r°v(hê]hë]hì]hí]hð]uhòKDhô]r±v(hýX8Code Composer Studio to load and run the demo. Refer to r²v…�r³v}r´v(hÙX8Code Composer Studio to load and run the demo. Refer to hÚj®vubjZ)�rµv}r¶v(hÙX`:ref:`Processor SDK RTOS Getting Started Guide `r·vhÚj®vhäjvuhæj^hè}r¸v(UreftypeXrefj¢ ˆj£ X.processor-sdk-rtos-getting-started-guide-labelU refdomainXstdr¹vhí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòKDhô]rºvjb)�r»v}r¼v(hÙj·vhè}r½v(hê]hë]r¾v(j­ j¹vXstd-refr¿vehì]hí]hð]uhÚjµvhô]rÀvhýX(Processor SDK RTOS Getting Started GuiderÁv…�rÂv}rÃv(hÙUhÚj»vubahæjlubaubhýX for installing CCS.rÄv…�rÅv}rÆv(hÙX for installing CCS.hÚj®vubeubaubjX)�rÇv}rÈv(hÙX(idkAM572x board with attached LCD screenrÉvhÚj¦vhäjvuhæj[hè}rÊv(hê]hë]hì]hí]hð]uhòNhóhhô]rËvj/)�rÌv}rÍv(hÙjÉvhÚjÇvhäjvuhæj3hè}rÎv(hê]hë]hì]hí]hð]uhòKGhô]rÏvhýX(idkAM572x board with attached LCD screenrÐv…�rÑv}rÒv(hÙjÉvhÚjÌvubaubaubjX)�rÓv}rÔv(hÙX8USB cable for JTAG and serial terminal (micro USB port) hÚj¦vhäjvuhæj[hè}rÕv(hê]hë]hì]hí]hð]uhòNhóhhô]rÖvj/)�r×v}rØv(hÙX7USB cable for JTAG and serial terminal (micro USB port)rÙvhÚjÓvhäjvuhæj3hè}rÚv(hê]hë]hì]hí]hð]uhòKHhô]rÛvhýX7USB cable for JTAG and serial terminal (micro USB port)rÜv…�rÝv}rÞv(hÙjÙvhÚj×vubaubaubeubj/)�rßv}ràv(hÙXTo load and run the demo:rávhÚjŽvhäjvuhæj3hè}râv(hê]hë]hì]hí]hð]uhòKJhóhhô]rãvhýXTo load and run the demo:räv…�råv}ræv(hÙjávhÚjßvubaubj¼)�rçv}rèv(hÙUhÚjŽvhäjvuhæj¿hè}rév(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòKLhóhhô]rêv(jX)�rëv}rìv(hÙXEConnect the USB cable from your computer to the idkAM572x's JTAG portrívhÚjçvhäjvuhæj[hè}rîv(hê]hë]hì]hí]hð]uhòNhóhhô]rïvj/)�rðv}rñv(hÙjívhÚjëvhäjvuhæj3hè}ròv(hê]hë]hì]hí]hð]uhòKLhô]róvhýXEConnect the USB cable from your computer to the idkAM572x's JTAG portrôv…�rõv}röv(hÙjívhÚjðvubaubaubjX)�r÷v}røv(hÙXnPower on the idkAM572x board. Ensure that no boot mode is entered (do not have SD card loaded or QSPI flashed)hÚjçvhäjvuhæj[hè}rùv(hê]hë]hì]hí]hð]uhòNhóhhô]rúvj/)�rûv}rüv(hÙXnPower on the idkAM572x board. Ensure that no boot mode is entered (do not have SD card loaded or QSPI flashed)rývhÚj÷vhäjvuhæj3hè}rþv(hê]hë]hì]hí]hð]uhòKMhô]rÿvhýXnPower on the idkAM572x board. Ensure that no boot mode is entered (do not have SD card loaded or QSPI flashed)rw…�rw}rw(hÙjývhÚjûvubaubaubjX)�rw}rw(hÙX°Open up a serial terminal for UART communication (Refer to :ref:`Processor SDK RTOS Getting Started Guide `, setup EVM hardware)hÚjçvhäjvuhæj[hè}rw(hê]hë]hì]hí]hð]uhòNhóhhô]rwj/)�rw}rw(hÙX°Open up a serial terminal for UART communication (Refer to :ref:`Processor SDK RTOS Getting Started Guide `, setup EVM hardware)hÚjwhäjvuhæj3hè}r w(hê]hë]hì]hí]hð]uhòKOhô]r w(hýX;Open up a serial terminal for UART communication (Refer to r w…�r w}r w(hÙX;Open up a serial terminal for UART communication (Refer to hÚjwubjZ)�rw}rw(hÙX`:ref:`Processor SDK RTOS Getting Started Guide `rwhÚjwhäjvuhæj^hè}rw(UreftypeXrefj¢ ˆj£ X.processor-sdk-rtos-getting-started-guide-labelU refdomainXstdrwhí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòKOhô]rwjb)�rw}rw(hÙjwhè}rw(hê]hë]rw(j­ jwXstd-refrwehì]hí]hð]uhÚjwhô]rwhýX(Processor SDK RTOS Getting Started Guiderw…�rw}rw(hÙUhÚjwubahæjlubaubhýX, setup EVM hardware)rw…�rw}rw(hÙX, setup EVM hardware)hÚjwubeubaubjX)�r w}r!w(hÙX·Open CCS and launch target config file for idkAM572x (Refer to `Processor SDK RTOS Setup CCS `__ for setting up CCS)hÚjçvhäjvuhæj[hè}r"w(hê]hë]hì]hí]hð]uhòNhóhhô]r#wj/)�r$w}r%w(hÙX·Open CCS and launch target config file for idkAM572x (Refer to `Processor SDK RTOS Setup CCS `__ for setting up CCS)hÚj whäjvuhæj3hè}r&w(hê]hë]hì]hí]hð]uhòKRhô]r'w(hýX?Open CCS and launch target config file for idkAM572x (Refer to r(w…�r)w}r*w(hÙX?Open CCS and launch target config file for idkAM572x (Refer to hÚj$wubj)�r+w}r,w(hÙXd`Processor SDK RTOS Setup CCS `__hè}r-w(UnameXProcessor SDK RTOS Setup CCSjXAindex_how_to_guides.html#setup-ccs-for-evm-and-processor-sdk-rtoshí]hì]hê]hë]hð]uhÚj$whô]r.whýXProcessor SDK RTOS Setup CCSr/w…�r0w}r1w(hÙUhÚj+wubahæjubhýX for setting up CCS)r2w…�r3w}r4w(hÙX for setting up CCS)hÚj$wubeubaubjX)�r5w}r6w(hÙXConnect to CortexA15_0r7whÚjçvhäjvuhæj[hè}r8w(hê]hë]hì]hí]hð]uhòNhóhhô]r9wj/)�r:w}r;w(hÙj7whÚj5whäjvuhæj3hè}rw…�r?w}r@w(hÙj7whÚj:wubaubaubjX)�rAw}rBw(hÙX%Load and launch the demo executable: hÚjçvhäjvuhæj[hè}rCw(hê]hë]hì]hí]hð]uhòNhóhhô]rDwj/)�rEw}rFw(hÙX$Load and launch the demo executable:rGwhÚjAwhäjvuhæj3hè}rHw(hê]hë]hì]hí]hð]uhòKUhô]rIwhýX$Load and launch the demo executable:rJw…�rKw}rLw(hÙjGwhÚjEwubaubaubeubjË)�rMw}rNw(hÙXl[SDK Install Path]/processor_sdk_rtos_[soc]_[version]/demos/gravit/bin/idkAM572x/gravit_a15_0_release.xa15fghÚjŽvhäjvuhæjÎhè}rOw(jjhí]hì]hê]hë]hð]uhòMÙhóhhô]rPwhýXl[SDK Install Path]/processor_sdk_rtos_[soc]_[version]/demos/gravit/bin/idkAM572x/gravit_a15_0_release.xa15fgrQw…�rRw}rSw(hÙUhÚjMwubaubeubhÛ)�rTw}rUw(hÙUhÚjduhäjvuhæhçhè}rVw(hê]hë]hì]hí]rWwUterminal-screenshotrXwahð]rYwhauhòK\hóhhô]rZw(hö)�r[w}r\w(hÙXTerminal Screenshotr]whÚjTwhäjvuhæhúhè}r^w(hê]hë]hì]hí]hð]uhòK\hóhhô]r_whýXTerminal Screenshotr`w…�raw}rbw(hÙj]whÚj[wubaubjQ)�rcw}rdw(hÙUhÚjTwhäjvuhæjThè}rew(jVX-hí]hì]hê]hë]hð]uhòK^hóhhô]rfw(jX)�rgw}rhw(hÙX`When launched, you will be prompt for number of particles to simulate. Enter a value up to 1000.hÚjcwhäjvuhæj[hè}riw(hê]hë]hì]hí]hð]uhòNhóhhô]rjwj/)�rkw}rlw(hÙX`When launched, you will be prompt for number of particles to simulate. Enter a value up to 1000.rmwhÚjgwhäjvuhæj3hè}rnw(hê]hë]hì]hí]hð]uhòK^hô]rowhýX`When launched, you will be prompt for number of particles to simulate. Enter a value up to 1000.rpw…�rqw}rrw(hÙjmwhÚjkwubaubaubjX)�rsw}rtw(hÙX Use w-a-s-d for display rotationruwhÚjcwhäjvuhæj[hè}rvw(hê]hë]hì]hí]hð]uhòNhóhhô]rwwj/)�rxw}ryw(hÙjuwhÚjswhäjvuhæj3hè}rzw(hê]hë]hì]hí]hð]uhòK`hô]r{whýX Use w-a-s-d for display rotationr|w…�r}w}r~w(hÙjuwhÚjxwubaubaubjX)�rw}r€w(hÙX#Use i-j-k-l for display translationr�whÚjcwhäjvuhæj[hè}r‚w(hê]hë]hì]hí]hð]uhòNhóhhô]rƒwj/)�r„w}r…w(hÙj�whÚjwhäjvuhæj3hè}r†w(hê]hë]hì]hí]hð]uhòKahô]r‡whýX#Use i-j-k-l for display translationrˆw…�r‰w}rŠw(hÙj�whÚj„wubaubaubjX)�r‹w}rŒw(hÙXFPress Esc to end current simulation and display accumulated statisticshÚjcwhäjvuhæj[hè}r�w(hê]hë]hì]hí]hð]uhòNhóhhô]rŽwj/)�r�w}r�w(hÙXFPress Esc to end current simulation and display accumulated statisticsr‘whÚj‹whäjvuhæj3hè}r’w(hê]hë]hì]hí]hð]uhòKbhô]r“whýXFPress Esc to end current simulation and display accumulated statisticsr”w…�r•w}r–w(hÙj‘whÚj�wubaubaubjX)�r—w}r˜w(hÙXgFrames per second (FPS) and floating point operations per second (FLOPS) are displayed on the terminal hÚjcwhäjvuhæj[hè}r™w(hê]hë]hì]hí]hð]uhòNhóhhô]ršwj/)�r›w}rœw(hÙXfFrames per second (FPS) and floating point operations per second (FLOPS) are displayed on the terminalr�whÚj—whäjvuhæj3hè}ržw(hê]hë]hì]hí]hð]uhòKdhô]rŸwhýXfFrames per second (FPS) and floating point operations per second (FLOPS) are displayed on the terminalr w…�r¡w}r¢w(hÙj�whÚj›wubaubaubeubj/)�r£w}r¤w(hÙX;Below is a screenshot of the terminal after one simulation:r¥whÚjTwhäjvuhæj3hè}r¦w(hê]hë]hì]hí]hð]uhòKghóhhô]r§whýX;Below is a screenshot of the terminal after one simulation:r¨w…�r©w}rªw(hÙj¥whÚj£wubaubj)�r«w}r¬w(hÙX<.. Image:: ../images/Gravit-screenshot_version_01_00_00.png hÚjTwhäjvuhæjhè}r­w(UuriX5rtos/../images/Gravit-screenshot_version_01_00_00.pngr®whí]hì]hê]hë]j}r¯wU*j®wshð]uhòKjhóhhô]ubeubhÛ)�r°w}r±w(hÙUhÚjduhäjvuhæhçhè}r²w(hê]hë]hì]hí]r³wUdisplay-outputr´wahð]rµwh5auhòKlhóhhô]r¶w(hö)�r·w}r¸w(hÙXDisplay Outputr¹whÚj°whäjvuhæhúhè}rºw(hê]hë]hì]hí]hð]uhòKlhóhhô]r»whýXDisplay Outputr¼w…�r½w}r¾w(hÙj¹whÚj·wubaubjQ)�r¿w}rÀw(hÙUhÚj°whäjvuhæjThè}rÁw(jVX-hí]hì]hê]hë]hð]uhòKnhóhhô]rÂw(jX)�rÃw}rÄw(hÙX^Particles are set to rotate around a gravity center positioned at the center of the LCD screenhÚj¿whäjvuhæj[hè}rÅw(hê]hë]hì]hí]hð]uhòNhóhhô]rÆwj/)�rÇw}rÈw(hÙX^Particles are set to rotate around a gravity center positioned at the center of the LCD screenrÉwhÚjÃwhäjvuhæj3hè}rÊw(hê]hë]hì]hí]hð]uhòKnhô]rËwhýX^Particles are set to rotate around a gravity center positioned at the center of the LCD screenrÌw…�rÍw}rÎw(hÙjÉwhÚjÇwubaubaubjX)�rÏw}rÐw(hÙX¯Particles are represented with 3D coordinates, projected to a 2D LCD screen. The projection is simplified such that the camera (or the viewer) does not change display angles. hÚj¿whäjvuhæj[hè}rÑw(hê]hë]hì]hí]hð]uhòNhóhhô]rÒwj/)�rÓw}rÔw(hÙX®Particles are represented with 3D coordinates, projected to a 2D LCD screen. The projection is simplified such that the camera (or the viewer) does not change display angles.rÕwhÚjÏwhäjvuhæj3hè}rÖw(hê]hë]hì]hí]hð]uhòKphô]r×whýX®Particles are represented with 3D coordinates, projected to a 2D LCD screen. The projection is simplified such that the camera (or the viewer) does not change display angles.rØw…�rÙw}rÚw(hÙjÕwhÚjÓwubaubaubeubj/)�rÛw}rÜw(hÙX9Below is an example display of a 500-particle simulation:rÝwhÚj°whäjvuhæj3hè}rÞw(hê]hë]hì]hí]hð]uhòKthóhhô]rßwhýX9Below is an example display of a 500-particle simulation:ràw…�ráw}râw(hÙjÝwhÚjÛwubaubj)�rãw}räw(hÙX=.. Image:: ../images/Gravit-displayshot_version_01_00_00.jpg hÚj°whäjvuhæjhè}råw(UuriX6rtos/../images/Gravit-displayshot_version_01_00_00.jpgræwhí]hì]hê]hë]j}rçwU*jæwshð]uhòKwhóhhô]ubeubhÛ)�rèw}réw(hÙUhÚjduhäjvuhæhçhè}rêw(hê]hë]hì]hí]rëwUuseful-referencesrìwahð]ríwh€auhòKyhóhhô]rîw(hö)�rïw}rðw(hÙXUseful ReferencesrñwhÚjèwhäjvuhæhúhè}ròw(hê]hë]hì]hí]hð]uhòKyhóhhô]rówhýXUseful Referencesrôw…�rõw}röw(hÙjñwhÚjïwubaubj/)�r÷w}røw(hÙX1Main Gravit website: https://gravit.slowchop.com/rùwhÚjèwhäjvuhæj3hè}rúw(hê]hë]hì]hí]hð]uhòK{hóhhô]rûw(hýXMain Gravit website: rüw…�rýw}rþw(hÙXMain Gravit website: hÚj÷wubj)�rÿw}rx(hÙXhttps://gravit.slowchop.com/rxhè}rx(Urefurijxhí]hì]hê]hë]hð]uhÚj÷whô]rxhýXhttps://gravit.slowchop.com/rx…�rx}rx(hÙUhÚjÿwubahæjubeubj/)�rx}rx(hÙX,Gravit github: https://github.com/gak/gravitr xhÚjèwhäjvuhæj3hè}r x(hê]hë]hì]hí]hð]uhòK}hóhhô]r x(hýXGravit github: r x…�r x}rx(hÙXGravit github: hÚjxubj)�rx}rx(hÙXhttps://github.com/gak/gravitrxhè}rx(Urefurijxhí]hì]hê]hë]hð]uhÚjxhô]rxhýXhttps://github.com/gak/gravitrx…�rx}rx(hÙUhÚjxubahæjubeubj/)�rx}rx(hÙX¢Physics algorithm behind gravit, Barnes-hut: `https://en.wikipedia.org/wiki/Barnes-Hut_simulation `__hÚjèwhäjvuhæj3hè}rx(hê]hë]hì]hí]hð]uhòKhóhhô]rx(hýX-Physics algorithm behind gravit, Barnes-hut: rx…�rx}rx(hÙX-Physics algorithm behind gravit, Barnes-hut: hÚjxubj)�rx}rx(hÙXu`https://en.wikipedia.org/wiki/Barnes-Hut_simulation `__hè}r x(UnameX3https://en.wikipedia.org/wiki/Barnes-Hut_simulationjX;https://en.wikipedia.org/wiki/Barnes%E2%80%93Hut_simulationhí]hì]hê]hë]hð]uhÚjxhô]r!xhýX3https://en.wikipedia.org/wiki/Barnes-Hut_simulationr"x…�r#x}r$x(hÙUhÚjxubahæjubeubj/)�r%x}r&x(hÙX•Bresenham's line algorithm: `https://en.wikipedia.org/wiki/Bresenham's_line_algorithm `__hÚjèwhäjvuhæj3hè}r'x(hê]hë]hì]hí]hð]uhòK‚hóhhô]r(x(hýXBresenham's line algorithm: r)x…�r*x}r+x(hÙXBresenham's line algorithm: hÚj%xubj)�r,x}r-x(hÙXy`https://en.wikipedia.org/wiki/Bresenham's_line_algorithm `__hè}r.x(UnameX8https://en.wikipedia.org/wiki/Bresenham's_line_algorithmjX:https://en.wikipedia.org/wiki/Bresenham%27s_line_algorithmhí]hì]hê]hë]hð]uhÚj%xhô]r/xhýX8https://en.wikipedia.org/wiki/Bresenham's_line_algorithmr0x…�r1x}r2x(hÙUhÚj,xubahæjubeubeubeubhäjvuhæhçhè}r3x(hê]r4xXoverviewr5xahë]hì]hí]r6xUid55r7xahð]uhòKhóhhô]r8x(hö)�r9x}r:x(hÙXOverviewr;xhÚjbuhäjvuhæhúhè}rx…�r?x}r@x(hÙj;xhÚj9xubaubj/)�rAx}rBx(hÙXªThis demo showcases a simple video display with Processor SDK RTOS. This demo uses Gravit, a GPL-licensed open-sourced library, to simulate gravity of particles in space.rCxhÚjbuhäjvuhæj3hè}rDx(hê]hë]hì]hí]hð]uhòKhóhhô]rExhýXªThis demo showcases a simple video display with Processor SDK RTOS. This demo uses Gravit, a GPL-licensed open-sourced library, to simulate gravity of particles in space.rFx…�rGx}rHx(hÙjCxhÚjAxubaubeubhäjvuhæj>hè}rIx(hê]UlevelKhí]hì]rJxj7xaUsourcejvuhë]hð]UlineKUtypejAuhòKhóhhô]rKxj/)�rLx}rMx(hÙX+Duplicate implicit target name: "overview".hè}rNx(hê]hë]hì]hí]hð]uhÚj`uhô]rOxhýX+Duplicate implicit target name: "overview".rPx…�rQx}rRx(hÙUhÚjLxubahæj3ubaubj¬)�rSx}rTx(hÙUhÚj¤uhäjvuhæj>hè}rUx(hê]UlevelKhí]hì]rVxj©uaUsourcejvuhë]hð]UlineKUtypejAuhòKhóhhô]rWxj/)�rXx}rYx(hÙX2Duplicate implicit target name: "components used".hè}rZx(hê]hë]hì]hí]hð]uhÚjSxhô]r[xhýX2Duplicate implicit target name: "components used".r\x…�r]x}r^x(hÙUhÚjXxubahæj3ubaubj¬)�r_x}r`x(hÙUhÚjèwhäX]internal padding after source/rtos/Examples_and_Demonstrations/Gravity_Simulator_Demo.rst.incraxhæj>hè}rbx(hê]UlevelKhí]hì]Usourcejvuhë]hð]UlineK…UtypejfuhòK‡hóhhô]rcx(j/)�rdx}rex(hÙX;Content block expected for the "raw" directive; none found.hè}rfx(hê]hë]hì]hí]hð]uhÚj_xhô]rgxhýX;Content block expected for the "raw" directive; none found.rhx…�rix}rjx(hÙUhÚjdxubahæj3ubjË)�rkx}rlx(hÙX.. raw:: html hè}rmx(jjhí]hì]hê]hë]hð]uhÚj_xhô]rnxhýX.. raw:: html rox…�rpx}rqx(hÙUhÚjkxubahæjÎubeubj¬)�rrx}rsx(hÙUhÚhÛ)�rtx}rux(hÙUhÚhhähåhæhçhè}rvx(hê]hë]hì]hí]rwxUjailhouse-hypervisorrxxahð]ryxh$auhòK?hóhhô]rzx(hö)�r{x}r|x(hÙXJailhouse Hypervisorr}xhÚjtxhähåhæhúhè}r~x(hê]hë]hì]hí]hð]uhòK?hóhhô]rxhýXJailhouse Hypervisorr€x…�r�x}r‚x(hÙj}xhÚj{xubaubj )�rƒx}r„x(hÙXJhttp://processors.wiki.ti.com/index.php/Processor_SDK_Jailhouse_HypervisorhÚjtxhäj XDsource/rtos/Examples_and_Demonstrations/Jailhouse_Hypervisor.rst.incr…x…�r†x}r‡xbhæjhè}rˆx(jjhí]hì]hê]hë]hð]uhòKhóhhô]r‰xhýXJhttp://processors.wiki.ti.com/index.php/Processor_SDK_Jailhouse_HypervisorrŠx…�r‹x}rŒx(hÙUhÚjƒxubaubjF")�r�x}rŽx(hÙXOverviewr�xhÚjtxhäj†xhæjJ"hè}r�x(hí]r‘xUid57r’xahì]hê]hë]hð]r“xXoverviewr”xauhòNhóhhô]r•xhýXOverviewr–x…�r—x}r˜x(hÙj�xhÚj�xubaubj/)�r™x}ršx(hÙXÒJailhouse is a static partitioning hypervisor that runs bare metal binaries. It cooperates closely with Linux. Jailhouse doesn't emulate resources that don't exist. It just splits existing hardware resources into isolated compartments called "cells" that are wholly dedicated to guest software programs called "inmates". One of these cells runs the Linux OS and is known as the "root cell". Other cells borrow CPUs and devices from the root cell as they are created.r›xhÚjtxhäj†xhæj3hè}rœx(hê]hë]hì]hí]hð]uhòKhóhhô]r�xhýXÒJailhouse is a static partitioning hypervisor that runs bare metal binaries. It cooperates closely with Linux. Jailhouse doesn't emulate resources that don't exist. It just splits existing hardware resources into isolated compartments called "cells" that are wholly dedicated to guest software programs called "inmates". One of these cells runs the Linux OS and is known as the "root cell". Other cells borrow CPUs and devices from the root cell as they are created.ržx…�rŸx}r x(hÙj›xhÚj™xubaubjÎ)�r¡x}r¢x(hÙUhÚjtxhäj†xhæjÑhè}r£x(hê]hë]hì]hí]hð]uhòKhóhhô]r¤xjÔ)�r¥x}r¦x(hÙUj×KhÚj¡xhäj†xhæhòhè}r§x(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubj)�r¨x}r©x(hÙX#.. Image:: ../images/Jailhouse.png hÚjtxhäj†xhæjhè}rªx(UuriXrtos/../images/Jailhouse.pngr«xhí]hì]hê]hë]j}r¬xU*j«xshð]uhòKhóhhô]ubj/)�r­x}r®x(hÙX—*The picture above shows the jailhouse on a system a) before the jailhouse is enabled; b) after the jailhouse is enabled; c) after a cell is created. *hÚjtxhäj†xhæj3hè}r¯x(hê]hë]hì]hí]hð]uhòKhóhhô]r°x(j?.)�r±x}r²x(hÙX*hè}r³x(hí]r´xUid59rµxahì]hê]hë]hð]UrefidUid58r¶xuhÚj­xhô]r·xhýX*…�r¸x}r¹x(hÙUhÚj±xubahæjI.ubhýX–The picture above shows the jailhouse on a system a) before the jailhouse is enabled; b) after the jailhouse is enabled; c) after a cell is created. *rºx…�r»x}r¼x(hÙX–The picture above shows the jailhouse on a system a) before the jailhouse is enabled; b) after the jailhouse is enabled; c) after a cell is created. *hÚj­xubeubjÎ)�r½x}r¾x(hÙUhÚjtxhäj†xhæjÑhè}r¿x(hê]hë]hì]hí]hð]uhòKhóhhô]rÀxjÔ)�rÁx}rÂx(hÙUj×KhÚj½xhäj†xhæhòhè}rÃx(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubj/)�rÄx}rÅx(hÙX“Jailhouse consists of three parts: kernel module, hypervisor firmware and tools, which a user uses to enable the hypervisor, create a cell, load inmate binary, run and stop it. Jailhouse is an example of Asynchronous Multiprocessing (AMP) architecture. When we boot Linux on AM57XX-EVM, which has 2 ARM cores, Linux uses the both cores. After we enable hypervisor it moves Linux to the root-cell. The root cell still uses the both ARM cores. When we create a new cell, hypervisor calls cpu_down() for the ARM1 core, leaving for Linux ARM0 only. The new cell will use the ARM1 core and hardware resources dedicated for this cell in the cell configuration file.rÆxhÚjtxhäj†xhæj3hè}rÇx(hê]hë]hì]hí]hð]uhòKhóhhô]rÈxhýX“Jailhouse consists of three parts: kernel module, hypervisor firmware and tools, which a user uses to enable the hypervisor, create a cell, load inmate binary, run and stop it. Jailhouse is an example of Asynchronous Multiprocessing (AMP) architecture. When we boot Linux on AM57XX-EVM, which has 2 ARM cores, Linux uses the both cores. After we enable hypervisor it moves Linux to the root-cell. The root cell still uses the both ARM cores. When we create a new cell, hypervisor calls cpu_down() for the ARM1 core, leaving for Linux ARM0 only. The new cell will use the ARM1 core and hardware resources dedicated for this cell in the cell configuration file.rÉx…�rÊx}rËx(hÙjÆxhÚjÄxubaubjÎ)�rÌx}rÍx(hÙUhÚjtxhäj†xhæjÑhè}rÎx(hê]hë]hì]hí]hð]uhòK#hóhhô]rÏxjÔ)�rÐx}rÑx(hÙUj×KhÚjÌxhäj†xhæhòhè}rÒx(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubj/)�rÓx}rÔx(hÙX`Jailhouse is an open source project, which can be found on https://github.com/siemens/jailhouse.hÚjtxhäj†xhæj3hè}rÕx(hê]hë]hì]hí]hð]uhòK%hóhhô]rÖx(hýX;Jailhouse is an open source project, which can be found on r×x…�rØx}rÙx(hÙX;Jailhouse is an open source project, which can be found on hÚjÓxubj)�rÚx}rÛx(hÙX$https://github.com/siemens/jailhouserÜxhè}rÝx(UrefurijÜxhí]hì]hê]hë]hð]uhÚjÓxhô]rÞxhýX$https://github.com/siemens/jailhouserßx…�ràx}ráx(hÙUhÚjÚxubahæjubhýX.…�râx}rãx(hÙX.hÚjÓxubeubjÎ)�räx}råx(hÙUhÚjtxhäj†xhæjÑhè}ræx(hê]hë]hì]hí]hð]uhòK(hóhhô]rçxjÔ)�rèx}réx(hÙUj×KhÚjäxhäj†xhæhòhè}rêx(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubjF")�rëx}rìx(hÙXDemoríxhÚjtxhäj†xhæjJ"hè}rîx(hí]rïxUdemorðxahì]hê]hë]hð]rñxh auhòNhóhhô]ròxhýXDemoróx…�rôx}rõx(hÙjíxhÚjëxubaubjÎ)�röx}r÷x(hÙUhÚjtxhäj†xhæjÑhè}røx(hê]hë]hì]hí]hð]uhòK-hóhhô]rùxjÔ)�rúx}rûx(hÙXßProcessor Linux SDK delivers Jailhouse’s prebuilt binaries. You may try it immediately after installation. This section assumes that you have already installed PLSDK, and have Linux booted on the AM572X-EVM or AM572x-IDK.rüxj×KhÚjöxhäj†xhæhòhè}rýx(hê]hë]hì]hí]hð]uhòK0hóhhô]rþxhýXßProcessor Linux SDK delivers Jailhouse’s prebuilt binaries. You may try it immediately after installation. This section assumes that you have already installed PLSDK, and have Linux booted on the AM572X-EVM or AM572x-IDK.rÿx…�ry}ry(hÙjüxhÚjúxubaubaubjÎ)�ry}ry(hÙUhÚjtxhäj†xhæjÑhè}ry(hê]hë]hì]hí]hð]uhòK2hóhhô]ryjÔ)�ry}ry(hÙX'**NOTE:** *to use Jailhouse hypervisor*j×KhÚjyhäj†xhæhòhè}ry(hê]hë]hì]hí]hð]uhòK2hóhhô]r y(jW)�r y}r y(hÙX **NOTE:**hè}r y(hê]hë]hì]hí]hð]uhÚjyhô]r yhýXNOTE:ry…�ry}ry(hÙUhÚj yubahæj_ubhýX …�ry}ry(hÙX hÚjyubj')�ry}ry(hÙX*to use Jailhouse hypervisor*hè}ry(hê]hë]hì]hí]hð]uhÚjyhô]ryhýXto use Jailhouse hypervisorry…�ry}ry(hÙUhÚjyubahæj/ubeubaubjÎ)�ry}ry(hÙUhÚjtxhäj†xhæjÑhè}ry(hê]hë]hì]hí]hð]uhòK4hóhhô]ryjÔ)�ry}ry(hÙXI*1) set u-boot environment variable optargs*: setenv optargs vmalloc=512Mj×KhÚjyhäj†xhæhòhè}r y(hê]hë]hì]hí]hð]uhòK5hóhhô]r!y(j')�r"y}r#y(hÙX,*1) set u-boot environment variable optargs*hè}r$y(hê]hë]hì]hí]hð]uhÚjyhô]r%yhýX*1) set u-boot environment variable optargsr&y…�r'y}r(y(hÙUhÚj"yubahæj/ubhýX: setenv optargs vmalloc=512Mr)y…�r*y}r+y(hÙX: setenv optargs vmalloc=512MhÚjyubeubaubj/)�r,y}r-y(hÙXj*2) use \ **am572x-evm-jailhouse.dtb** for AM572x-EVM or \ **am572x-idk-jailhouse.dtb** for AM572x-IDK *hÚjtxhäj†xhæj3hè}r.y(hê]hë]hì]hí]hð]uhòK7hóhhô]r/y(j')�r0y}r1y(hÙX'*2) use \ **am572x-evm-jailhouse.dtb**hè}r2y(hê]hë]hì]hí]hð]uhÚj,yhô]r3yhýX#2) use **am572x-evm-jailhouse.dtb*r4y…�r5y}r6y(hÙUhÚj0yubahæj/ubhýX for AM572x-EVM or r7y…�r8y}r9y(hÙX for AM572x-EVM or \ hÚj,yubjW)�r:y}r;y(hÙX**am572x-idk-jailhouse.dtb**hè}ry…�r?y}r@y(hÙUhÚj:yubahæj_ubhýX for AM572x-IDK *rAy…�rBy}rCy(hÙX for AM572x-IDK *hÚj,yubeubjÎ)�rDy}rEy(hÙUhÚjtxhäj†xhæjÑhè}rFy(hê]hë]hì]hí]hð]uhòK;hóhhô]rGyjÔ)�rHy}rIy(hÙUj×KhÚjDyhäj†xhæhòhè}rJy(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubjF")�rKy}rLy(hÙXPre-built componentsrMyhÚjtxhäj†xhæjJ"hè}rNy(hí]rOyUpre-built-componentsrPyahì]hê]hë]hð]rQyh�auhòNhóhhô]rRyhýXPre-built componentsrSy…�rTy}rUy(hÙjMyhÚjKyubaubjÎ)�rVy}rWy(hÙUhÚjtxhäj†xhæjÑhè}rXy(hê]hë]hì]hí]hð]uhòK@hóhhô]rYyjÔ)�rZy}r[y(hÙX�As it was mentioned in the previous section, Jailhouse consists of following components, which are prebuilt and copied to the target filesystem:r\yj×KhÚjVyhäj†xhæhòhè}r]y(hê]hë]hì]hí]hð]uhòKBhóhhô]r^yhýX�As it was mentioned in the previous section, Jailhouse consists of following components, which are prebuilt and copied to the target filesystem:r_y…�r`y}ray(hÙj\yhÚjZyubaubaubj¼)�rby}rcy(hÙUhÚjtxhäj†xhæj¿hè}rdy(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòKDhóhhô]rey(jX)�rfy}rgy(hÙXYjailhouse.ko kernel module located at /lib/modules/4.9.28-/extra/driver directory;hÚjbyhäj†xhæj[hè}rhy(hê]hë]hì]hí]hð]uhòNhóhhô]riyj/)�rjy}rky(hÙXYjailhouse.ko kernel module located at /lib/modules/4.9.28-/extra/driver directory;rlyhÚjfyhäj†xhæj3hè}rmy(hê]hë]hì]hí]hð]uhòKDhô]rnyhýXYjailhouse.ko kernel module located at /lib/modules/4.9.28-/extra/driver directory;roy…�rpy}rqy(hÙjlyhÚjjyubaubaubjX)�rry}rsy(hÙXEjailhouse.bin - hypervisor itself located at /lib/firmware directory;rtyhÚjbyhäj†xhæj[hè}ruy(hê]hë]hì]hí]hð]uhòNhóhhô]rvyj/)�rwy}rxy(hÙjtyhÚjryhäj†xhæj3hè}ryy(hê]hë]hì]hí]hð]uhòKFhô]rzyhýXEjailhouse.bin - hypervisor itself located at /lib/firmware directory;r{y…�r|y}r}y(hÙjtyhÚjwyubaubaubjX)�r~y}ry(hÙXbJailhouse management tools are located at /usr/local/libexec/jailhouse and /usr/sbin directories; hÚjbyhäj†xhæj[hè}r€y(hê]hë]hì]hí]hð]uhòNhóhhô]r�yj/)�r‚y}rƒy(hÙXaJailhouse management tools are located at /usr/local/libexec/jailhouse and /usr/sbin directories;r„yhÚj~yhäj†xhæj3hè}r…y(hê]hë]hì]hí]hð]uhòKGhô]r†yhýXaJailhouse management tools are located at /usr/local/libexec/jailhouse and /usr/sbin directories;r‡y…�rˆy}r‰y(hÙj„yhÚj‚yubaubaubeubj/)�rŠy}r‹y(hÙXÇIn order to create the root-cell and an inmate cell we need to provide cell configuration files. Those configuration files and example binaries are located at /usr/share/jailhouse/examples directory:rŒyhÚjtxhäj†xhæj3hè}r�y(hê]hë]hì]hí]hð]uhòKJhóhhô]rŽyhýXÇIn order to create the root-cell and an inmate cell we need to provide cell configuration files. Those configuration files and example binaries are located at /usr/share/jailhouse/examples directory:r�y…�r�y}r‘y(hÙjŒyhÚjŠyubaubjË)�r’y}r“y(hÙXároot@am57xx-evm:/usr/share/jailhouse/examples# ls -1 am572x-rtos-icss.cell am572x-rtos-pruss.cell am57xx-evm-ti-app.cell am57xx-evm.cell am57xx-pdk-leddiag.cell icss_emac.bin led_test.bin linux-loader.bin pruss.bin ti-app.binhÚjtxhäj†xhæjÎhè}r”y(jjhí]hì]hê]hë]hð]uhòM^hóhhô]r•yhýXároot@am57xx-evm:/usr/share/jailhouse/examples# ls -1 am572x-rtos-icss.cell am572x-rtos-pruss.cell am57xx-evm-ti-app.cell am57xx-evm.cell am57xx-pdk-leddiag.cell icss_emac.bin led_test.bin linux-loader.bin pruss.bin ti-app.binr–y…�r—y}r˜y(hÙUhÚj’yubaubj/)�r™y}ršy(hÙXwherer›yhÚjtxhäj†xhæj3hè}rœy(hê]hë]hì]hí]hð]uhòK\hóhhô]r�yhýXwhereržy…�rŸy}r y(hÙj›yhÚj™yubaubjQ)�r¡y}r¢y(hÙUhÚjtxhäj†xhæjThè}r£y(jVX-hí]hì]hê]hë]hð]uhòK^hóhhô]r¤y(jX)�r¥y}r¦y(hÙX3**am57xx-evm.cell** - root cell configuration file;r§yhÚj¡yhäj†xhæj[hè}r¨y(hê]hë]hì]hí]hð]uhòNhóhhô]r©yj/)�rªy}r«y(hÙj§yhÚj¥yhäj†xhæj3hè}r¬y(hê]hë]hì]hí]hð]uhòK^hô]r­y(jW)�r®y}r¯y(hÙX**am57xx-evm.cell**hè}r°y(hê]hë]hì]hí]hð]uhÚjªyhô]r±yhýXam57xx-evm.cellr²y…�r³y}r´y(hÙUhÚj®yubahæj_ubhýX - root cell configuration file;rµy…�r¶y}r·y(hÙX - root cell configuration file;hÚjªyubeubaubjX)�r¸y}r¹y(hÙX]**ti-app.bin** and **am57xx-evm-ti-app.cell** - bare metal inmate and its cell configuration;hÚj¡yhäj†xhæj[hè}rºy(hê]hë]hì]hí]hð]uhòNhóhhô]r»yj/)�r¼y}r½y(hÙX]**ti-app.bin** and **am57xx-evm-ti-app.cell** - bare metal inmate and its cell configuration;hÚj¸yhäj†xhæj3hè}r¾y(hê]hë]hì]hí]hð]uhòK_hô]r¿y(jW)�rÀy}rÁy(hÙX**ti-app.bin**hè}rÂy(hê]hë]hì]hí]hð]uhÚj¼yhô]rÃyhýX ti-app.binrÄy…�rÅy}rÆy(hÙUhÚjÀyubahæj_ubhýX and rÇy…�rÈy}rÉy(hÙX and hÚj¼yubjW)�rÊy}rËy(hÙX**am57xx-evm-ti-app.cell**hè}rÌy(hê]hë]hì]hí]hð]uhÚj¼yhô]rÍyhýXam57xx-evm-ti-app.cellrÎy…�rÏy}rÐy(hÙUhÚjÊyubahæj_ubhýX0 - bare metal inmate and its cell configuration;rÑy…�rÒy}rÓy(hÙX0 - bare metal inmate and its cell configuration;hÚj¼yubeubaubjX)�rÔy}rÕy(hÙX—**led_test.bin** and **am57xx-pdk-leddiag.cell** - PDK led_test inmate example and its cell configuration (led_test.bin can be run on AM572x-EVM only);hÚj¡yhäj†xhæj[hè}rÖy(hê]hë]hì]hí]hð]uhòNhóhhô]r×yj/)�rØy}rÙy(hÙX—**led_test.bin** and **am57xx-pdk-leddiag.cell** - PDK led_test inmate example and its cell configuration (led_test.bin can be run on AM572x-EVM only);hÚjÔyhäj†xhæj3hè}rÚy(hê]hë]hì]hí]hð]uhòKahô]rÛy(jW)�rÜy}rÝy(hÙX**led_test.bin**hè}rÞy(hê]hë]hì]hí]hð]uhÚjØyhô]rßyhýX led_test.binrày…�ráy}rây(hÙUhÚjÜyubahæj_ubhýX and rãy…�räy}råy(hÙX and hÚjØyubjW)�ræy}rçy(hÙX**am57xx-pdk-leddiag.cell**hè}rèy(hê]hë]hì]hí]hð]uhÚjØyhô]réyhýXam57xx-pdk-leddiag.cellrêy…�rëy}rìy(hÙUhÚjæyubahæj_ubhýXg - PDK led_test inmate example and its cell configuration (led_test.bin can be run on AM572x-EVM only);ríy…�rîy}rïy(hÙXg - PDK led_test inmate example and its cell configuration (led_test.bin can be run on AM572x-EVM only);hÚjØyubeubaubjX)�rðy}rñy(hÙX’**pruss.bin** and **am572x-rtos-pruss.cell** - TI-RTOS PRUSS inmate examples and its cell configuration (pruss.bin can be run on AM572x-IDK only);hÚj¡yhäj†xhæj[hè}ròy(hê]hë]hì]hí]hð]uhòNhóhhô]róyj/)�rôy}rõy(hÙX’**pruss.bin** and **am572x-rtos-pruss.cell** - TI-RTOS PRUSS inmate examples and its cell configuration (pruss.bin can be run on AM572x-IDK only);hÚjðyhäj†xhæj3hè}röy(hê]hë]hì]hí]hð]uhòKdhô]r÷y(jW)�røy}rùy(hÙX **pruss.bin**hè}rúy(hê]hë]hì]hí]hð]uhÚjôyhô]rûyhýX pruss.binrüy…�rýy}rþy(hÙUhÚjøyubahæj_ubhýX and rÿy…�rz}rz(hÙX and hÚjôyubjW)�rz}rz(hÙX**am572x-rtos-pruss.cell**hè}rz(hê]hë]hì]hí]hð]uhÚjôyhô]rzhýXam572x-rtos-pruss.cellrz…�rz}rz(hÙUhÚjzubahæj_ubhýXf - TI-RTOS PRUSS inmate examples and its cell configuration (pruss.bin can be run on AM572x-IDK only);r z…�r z}r z(hÙXf - TI-RTOS PRUSS inmate examples and its cell configuration (pruss.bin can be run on AM572x-IDK only);hÚjôyubeubaubjX)�r z}r z(hÙXœ**icss_emac.bin** and **am572x-rtos-icss.cell** - TI-RTOS ICSS-EMAC inmate example and its cell configuration (icss_emac.bin can be run on AM572x-IDK only);hÚj¡yhäj†xhæj[hè}rz(hê]hë]hì]hí]hð]uhòNhóhhô]rzj/)�rz}rz(hÙXœ**icss_emac.bin** and **am572x-rtos-icss.cell** - TI-RTOS ICSS-EMAC inmate example and its cell configuration (icss_emac.bin can be run on AM572x-IDK only);hÚj zhäj†xhæj3hè}rz(hê]hë]hì]hí]hð]uhòKghô]rz(jW)�rz}rz(hÙX**icss_emac.bin**hè}rz(hê]hë]hì]hí]hð]uhÚjzhô]rzhýX icss_emac.binrz…�rz}rz(hÙUhÚjzubahæj_ubhýX and rz…�rz}rz(hÙX and hÚjzubjW)�rz}rz(hÙX**am572x-rtos-icss.cell**hè}r z(hê]hë]hì]hí]hð]uhÚjzhô]r!zhýXam572x-rtos-icss.cellr"z…�r#z}r$z(hÙUhÚjzubahæj_ubhýXm - TI-RTOS ICSS-EMAC inmate example and its cell configuration (icss_emac.bin can be run on AM572x-IDK only);r%z…�r&z}r'z(hÙXm - TI-RTOS ICSS-EMAC inmate example and its cell configuration (icss_emac.bin can be run on AM572x-IDK only);hÚjzubeubaubjX)�r(z}r)z(hÙXW**linux-loader.bin** - loader required to run inmates, which start address is not 0x0; hÚj¡yhäj†xhæj[hè}r*z(hê]hë]hì]hí]hð]uhòNhóhhô]r+zj/)�r,z}r-z(hÙXV**linux-loader.bin** - loader required to run inmates, which start address is not 0x0;hÚj(zhäj†xhæj3hè}r.z(hê]hë]hì]hí]hð]uhòKjhô]r/z(jW)�r0z}r1z(hÙX**linux-loader.bin**hè}r2z(hê]hë]hì]hí]hð]uhÚj,zhô]r3zhýXlinux-loader.binr4z…�r5z}r6z(hÙUhÚj0zubahæj_ubhýXB - loader required to run inmates, which start address is not 0x0;r7z…�r8z}r9z(hÙXB - loader required to run inmates, which start address is not 0x0;hÚj,zubeubaubeubjÎ)�r:z}r;z(hÙUhÚjtxhäj†xhæjÑhè}rz}r?z(hÙUj×KhÚj:zhäj†xhæhòhè}r@z(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubjF")�rAz}rBz(hÙXRunning the Demo on AM572x-EVMrCzhÚjtxhäj†xhæjJ"hè}rDz(hí]rEzUrunning-the-demo-on-am572x-evmrFzahì]hê]hë]hð]rGzhqauhòNhóhhô]rHzhýXRunning the Demo on AM572x-EVMrIz…�rJz}rKz(hÙjCzhÚjAzubaubjF")�rLz}rMz(hÙXRunning bare-metal ti-app.binrNzhÚjtxhäj†xhæjJ"hè}rOz(hí]rPzUrunning-bare-metal-ti-app-binrQzahì]hê]hë]hð]rRzhKauhòNhóhhô]rSzhýXRunning bare-metal ti-app.binrTz…�rUz}rVz(hÙjNzhÚjLzubaubj/)�rWz}rXz(hÙX#Here are the steps to run the demo:rYzhÚjtxhäj†xhæj3hè}rZz(hê]hë]hì]hí]hð]uhòKuhóhhô]r[zhýX#Here are the steps to run the demo:r\z…�r]z}r^z(hÙjYzhÚjWzubaubjQ)�r_z}r`z(hÙUhÚjtxhäj†xhæjThè}raz(jVX-hí]hì]hê]hë]hð]uhòKwhóhhô]rbz(jX)�rcz}rdz(hÙXBoot the LinuxrezhÚj_zhäj†xhæj[hè}rfz(hê]hë]hì]hí]hð]uhòNhóhhô]rgzj/)�rhz}riz(hÙjezhÚjczhäj†xhæj3hè}rjz(hê]hë]hì]hí]hð]uhòKwhô]rkzhýXBoot the Linuxrlz…�rmz}rnz(hÙjezhÚjhzubaubaubjX)�roz}rpz(hÙX"Insert jailhouse.ko kernel module hÚj_zhäj†xhæj[hè}rqz(hê]hë]hì]hí]hð]uhòNhóhhô]rrzj/)�rsz}rtz(hÙX!Insert jailhouse.ko kernel moduleruzhÚjozhäj†xhæj3hè}rvz(hê]hë]hì]hí]hð]uhòKxhô]rwzhýX!Insert jailhouse.ko kernel modulerxz…�ryz}rzz(hÙjuzhÚjszubaubaubeubjË)�r{z}r|z(hÙX%root@am57xx-evm:~# modprobe jailhousehÚjtxhäj†xhæjÎhè}r}z(jjhí]hì]hê]hë]hð]uhòMŠhóhhô]r~zhýX%root@am57xx-evm:~# modprobe jailhouserz…�r€z}r�z(hÙUhÚj{zubaubjQ)�r‚z}rƒz(hÙUhÚjtxhäj†xhæjThè}r„z(jVX-hí]hì]hê]hë]hð]uhòK~hóhhô]r…zjX)�r†z}r‡z(hÙXIEnable the hypervisor using am57xx-evm.cell root-cell configuration file hÚj‚zhäj†xhæj[hè}rˆz(hê]hë]hì]hí]hð]uhòNhóhhô]r‰zj/)�rŠz}r‹z(hÙXHEnable the hypervisor using am57xx-evm.cell root-cell configuration filerŒzhÚj†zhäj†xhæj3hè}r�z(hê]hë]hì]hí]hð]uhòK~hô]rŽzhýXHEnable the hypervisor using am57xx-evm.cell root-cell configuration filer�z…�r�z}r‘z(hÙjŒzhÚjŠzubaubaubaubjË)�r’z}r“z(hÙXŒroot@am57xx-evm:~# jailhouse enable /usr/share/jailhouse/examples/am57xx-evm.cell Initializing Jailhouse hypervisor v0.6 on CPU 1 Code location: 0xf0000030 Page pool usage after early setup: mem 30/4073, remap 32/131072 Initializing processors: CPU 1... OK CPU 0... OK Page pool usage after late setup: mem 39/4073, remap 38/131072 Activating hypervisor [ 4155.880217] The Jailhouse is opening.hÚjtxhäj†xhæjÎhè}r”z(jjhí]hì]hê]hë]hð]uhòM‘hóhhô]r•zhýXŒroot@am57xx-evm:~# jailhouse enable /usr/share/jailhouse/examples/am57xx-evm.cell Initializing Jailhouse hypervisor v0.6 on CPU 1 Code location: 0xf0000030 Page pool usage after early setup: mem 30/4073, remap 32/131072 Initializing processors: CPU 1... OK CPU 0... OK Page pool usage after late setup: mem 39/4073, remap 38/131072 Activating hypervisor [ 4155.880217] The Jailhouse is opening.r–z…�r—z}r˜z(hÙUhÚj’zubaubjQ)�r™z}ršz(hÙUhÚjtxhäj†xhæjThè}r›z(jVX-hí]hì]hê]hë]hð]uhòKŽhóhhô]rœzjX)�r�z}ržz(hÙXCreate a cell for the inmate hÚj™zhäj†xhæj[hè}rŸz(hê]hë]hì]hí]hð]uhòNhóhhô]r zj/)�r¡z}r¢z(hÙXCreate a cell for the inmater£zhÚj�zhäj†xhæj3hè}r¤z(hê]hë]hì]hí]hð]uhòKŽhô]r¥zhýXCreate a cell for the inmater¦z…�r§z}r¨z(hÙj£zhÚj¡zubaubaubaubjË)�r©z}rªz(hÙXProot@am57xx-evm:~# jailhouse cell create /usr/share/jailhouse/examples/am57xx-evm-ti-app.cell [ 5270.449687] CPU1: shutdown [ 5270.453221] NOHZ: local_softirq_pending 20 Created cell "AM57XX-EVM-timer8-demo" Page pool usage after cell creation: mem 51/4073, remap 38/131072 [ 5270.487970] Created Jailhouse cell "AM57XX-EVM-timer8-demo"hÚjtxhäj†xhæjÎhè}r«z(jjhí]hì]hê]hë]hð]uhòM hóhhô]r¬zhýXProot@am57xx-evm:~# jailhouse cell create /usr/share/jailhouse/examples/am57xx-evm-ti-app.cell [ 5270.449687] CPU1: shutdown [ 5270.453221] NOHZ: local_softirq_pending 20 Created cell "AM57XX-EVM-timer8-demo" Page pool usage after cell creation: mem 51/4073, remap 38/131072 [ 5270.487970] Created Jailhouse cell "AM57XX-EVM-timer8-demo"r­z…�r®z}r¯z(hÙUhÚj©zubaubjQ)�r°z}r±z(hÙUhÚjtxhäj†xhæjThè}r²z(jVX-hí]hì]hê]hë]hð]uhòK™hóhhô]r³zjX)�r´z}rµz(hÙX"Load the ti-app.bin inmate binary hÚj°zhäj†xhæj[hè}r¶z(hê]hë]hì]hí]hð]uhòNhóhhô]r·zj/)�r¸z}r¹z(hÙX!Load the ti-app.bin inmate binaryrºzhÚj´zhäj†xhæj3hè}r»z(hê]hë]hì]hí]hð]uhòK™hô]r¼zhýX!Load the ti-app.bin inmate binaryr½z…�r¾z}r¿z(hÙjºzhÚj¸zubaubaubaubjË)�rÀz}rÁz(hÙX}root@am57xx-evm:~# jailhouse cell load 1 /usr/share/jailhouse/examples/ti-app.bin Cell "AM57XX-EVM-timer8-demo" can be loadedhÚjtxhäj†xhæjÎhè}rÂz(jjhí]hì]hê]hë]hð]uhòM«hóhhô]rÃzhýX}root@am57xx-evm:~# jailhouse cell load 1 /usr/share/jailhouse/examples/ti-app.bin Cell "AM57XX-EVM-timer8-demo" can be loadedrÄz…�rÅz}rÆz(hÙUhÚjÀzubaubjQ)�rÇz}rÈz(hÙUhÚjtxhäj†xhæjThè}rÉz(jVX-hí]hì]hê]hë]hð]uhòK hóhhô]rÊzjX)�rËz}rÌz(hÙXStart the binary hÚjÇzhäj†xhæj[hè}rÍz(hê]hë]hì]hí]hð]uhòNhóhhô]rÎzj/)�rÏz}rÐz(hÙXStart the binaryrÑzhÚjËzhäj†xhæj3hè}rÒz(hê]hë]hì]hí]hð]uhòK hô]rÓzhýXStart the binaryrÔz…�rÕz}rÖz(hÙjÑzhÚjÏzubaubaubaubjË)�r×z}rØz(hÙX‡root@am57xx-evm:~# jailhouse cell start 1 Hey, I'm working !!!!!!!!!!! timer id 4fff2b01 timer value fffffc17; irq status 00000002; raw 00000002 min 00000017; avr 0000001b; max 000002c1 min 00000017; avr 0000001b; max 000000f3 min 00000017; avr 0000001b; max 000002c8 min 00000017; avr 0000001b; max 00000148 min 00000017; avr 0000001b; max 000002d4 min 00000017; avr 0000001b; max 00000158hÚjtxhäj†xhæjÎhè}rÙz(jjhí]hì]hê]hë]hð]uhòM²hóhhô]rÚzhýX‡root@am57xx-evm:~# jailhouse cell start 1 Hey, I'm working !!!!!!!!!!! timer id 4fff2b01 timer value fffffc17; irq status 00000002; raw 00000002 min 00000017; avr 0000001b; max 000002c1 min 00000017; avr 0000001b; max 000000f3 min 00000017; avr 0000001b; max 000002c8 min 00000017; avr 0000001b; max 00000148 min 00000017; avr 0000001b; max 000002d4 min 00000017; avr 0000001b; max 00000158rÛz…�rÜz}rÝz(hÙUhÚj×zubaubj/)�rÞz}rßz(hÙX“**NOTE**: *becase all of the components: root-cell, hypervisor and demo inmate use the same UART, there is a conflict. Once the inmate started to use the UART, Linux stops getting any input from console. To workaround this and continue to control the hypervisor, you may telnet to the EVM and issue all commands from the telnet shell. Hypervisor still will use Linux console to print it sdebug messages*hÚjtxhäj†xhæj3hè}ràz(hê]hë]hì]hí]hð]uhòK¯hóhhô]ráz(jW)�râz}rãz(hÙX**NOTE**hè}räz(hê]hë]hì]hí]hð]uhÚjÞzhô]råzhýXNOTEræz…�rçz}rèz(hÙUhÚjâzubahæj_ubhýX: réz…�rêz}rëz(hÙX: hÚjÞzubj')�rìz}ríz(hÙX‰*becase all of the components: root-cell, hypervisor and demo inmate use the same UART, there is a conflict. Once the inmate started to use the UART, Linux stops getting any input from console. To workaround this and continue to control the hypervisor, you may telnet to the EVM and issue all commands from the telnet shell. Hypervisor still will use Linux console to print it sdebug messages*hè}rîz(hê]hë]hì]hí]hð]uhÚjÞzhô]rïzhýX‡becase all of the components: root-cell, hypervisor and demo inmate use the same UART, there is a conflict. Once the inmate started to use the UART, Linux stops getting any input from console. To workaround this and continue to control the hypervisor, you may telnet to the EVM and issue all commands from the telnet shell. Hypervisor still will use Linux console to print it sdebug messagesrðz…�rñz}ròz(hÙUhÚjìzubahæj/ubeubjQ)�róz}rôz(hÙUhÚjtxhäj†xhæjThè}rõz(jVX-hí]hì]hê]hë]hð]uhòK¶hóhhô]rözjX)�r÷z}røz(hÙXStop the binary hÚjózhäj†xhæj[hè}rùz(hê]hë]hì]hí]hð]uhòNhóhhô]rúzj/)�rûz}rüz(hÙXStop the binaryrýzhÚj÷zhäj†xhæj3hè}rþz(hê]hë]hì]hí]hð]uhòK¶hô]rÿzhýXStop the binaryr{…�r{}r{(hÙjýzhÚjûzubaubaubaubjË)�r{}r{(hÙX,root@am57xx-evm:~# jailhouse cell shutdown 1hÚjtxhäj†xhæjÎhè}r{(jjhí]hì]hê]hë]hð]uhòMÈhóhhô]r{hýX,root@am57xx-evm:~# jailhouse cell shutdown 1r{…�r{}r {(hÙUhÚj{ubaubj/)�r {}r {(hÙXe**NOTE**: *You may restore Linux console by killing the "/bin/login --" process from telnet session.*hÚjtxhäj†xhæj3hè}r {(hê]hë]hì]hí]hð]uhòK¼hóhhô]r {(jW)�r{}r{(hÙX**NOTE**hè}r{(hê]hë]hì]hí]hð]uhÚj {hô]r{hýXNOTEr{…�r{}r{(hÙUhÚj{ubahæj_ubhýX: r{…�r{}r{(hÙX: hÚj {ubj')�r{}r{(hÙX[*You may restore Linux console by killing the "/bin/login --" process from telnet session.*hè}r{(hê]hë]hì]hí]hð]uhÚj {hô]r{hýXYYou may restore Linux console by killing the "/bin/login --" process from telnet session.r{…�r{}r{(hÙUhÚj{ubahæj/ubeubjQ)�r{}r {(hÙUhÚjtxhäj†xhæjThè}r!{(jVX-hí]hì]hê]hë]hð]uhòK¿hóhhô]r"{jX)�r#{}r${(hÙX destroy cell hÚj{häj†xhæj[hè}r%{(hê]hë]hì]hí]hð]uhòNhóhhô]r&{j/)�r'{}r({(hÙX destroy cellr){hÚj#{häj†xhæj3hè}r*{(hê]hë]hì]hí]hð]uhòK¿hô]r+{hýX destroy cellr,{…�r-{}r.{(hÙj){hÚj'{ubaubaubaubjË)�r/{}r0{(hÙX×root@am57xx-evm:~# jailhouse cell destroy 1 Closing cell "AM57XX-EVM-timer8-demo" Page pool usage after cell destruction: mem 39/4073, remap 38/131072 [ 6201.111168] Destroyed Jailhouse cell "AM57XX-EVM-timer8-demo"hÚjtxhäj†xhæjÎhè}r1{(jjhí]hì]hê]hë]hð]uhòMÑhóhhô]r2{hýX×root@am57xx-evm:~# jailhouse cell destroy 1 Closing cell "AM57XX-EVM-timer8-demo" Page pool usage after cell destruction: mem 39/4073, remap 38/131072 [ 6201.111168] Destroyed Jailhouse cell "AM57XX-EVM-timer8-demo"r3{…�r4{}r5{(hÙUhÚj/{ubaubjQ)�r6{}r7{(hÙUhÚjtxhäj†xhæjThè}r8{(jVX-hí]hì]hê]hë]hð]uhòKÈhóhhô]r9{jX)�r:{}r;{(hÙXdisable hypervisor hÚj6{häj†xhæj[hè}r<{(hê]hë]hì]hí]hð]uhòNhóhhô]r={j/)�r>{}r?{(hÙXdisable hypervisorr@{hÚj:{häj†xhæj3hè}rA{(hê]hë]hì]hí]hð]uhòKÈhô]rB{hýXdisable hypervisorrC{…�rD{}rE{(hÙj@{hÚj>{ubaubaubaubjË)�rF{}rG{(hÙXˆroot@am57xx-evm:~# jailhouse disable Shutting down hypervisor Releasing CPU 0 Releasing CPU 1 [ 6248.149728] The Jailhouse was closed.hÚjtxhäj†xhæjÎhè}rH{(jjhí]hì]hê]hë]hð]uhòMÚhóhhô]rI{hýXˆroot@am57xx-evm:~# jailhouse disable Shutting down hypervisor Releasing CPU 0 Releasing CPU 1 [ 6248.149728] The Jailhouse was closed.rJ{…�rK{}rL{(hÙUhÚjF{ubaubj/)�rM{}rN{(hÙX **NOTES**:rO{hÚjtxhäj†xhæj3hè}rP{(hê]hë]hì]hí]hð]uhòKÒhóhhô]rQ{(jW)�rR{}rS{(hÙX **NOTES**hè}rT{(hê]hë]hì]hí]hð]uhÚjM{hô]rU{hýXNOTESrV{…�rW{}rX{(hÙUhÚjR{ubahæj_ubhýX:…�rY{}rZ{(hÙX:hÚjM{ubeubj/)�r[{}r\{(hÙXyYou may shutdown and start the same binary multiple times. Every time you start the binary, it starts from the beginning.r]{hÚjtxhäj†xhæj3hè}r^{(hê]hë]hì]hí]hð]uhòKÔhóhhô]r_{hýXyYou may shutdown and start the same binary multiple times. Every time you start the binary, it starts from the beginning.r`{…�ra{}rb{(hÙj]{hÚj[{ubaubj/)�rc{}rd{(hÙXvIf you have different binaries which use the same cell resources, you may reuse the created cell to run them. You need just shutdown the cell, load another binary and start it. If you need to run different binaries that requires different resources, you need to shutdown the running cell, destroy it, create a new one with required resources, load a new binary and start it.re{hÚjtxhäj†xhæj3hè}rf{(hê]hë]hì]hí]hð]uhòK×hóhhô]rg{hýXvIf you have different binaries which use the same cell resources, you may reuse the created cell to run them. You need just shutdown the cell, load another binary and start it. If you need to run different binaries that requires different resources, you need to shutdown the running cell, destroy it, create a new one with required resources, load a new binary and start it.rh{…�ri{}rj{(hÙje{hÚjc{ubaubjF")�rk{}rl{(hÙX Running PDK led_test.bin examplerm{hÚjtxhäj†xhæjJ"hè}rn{(hí]ro{U running-pdk-led-test-bin-examplerp{ahì]hê]hë]hð]rq{h auhòNhóhhô]rr{hýX Running PDK led_test.bin examplers{…�rt{}ru{(hÙjm{hÚjk{ubaubj/)�rv{}rw{(hÙX.After you enable hyprevisor, create a pdk cellrx{hÚjtxhäj†xhæj3hè}ry{(hê]hë]hì]hí]hð]uhòKáhóhhô]rz{hýX.After you enable hyprevisor, create a pdk cellr{{…�r|{}r}{(hÙjx{hÚjv{ubaubjË)�r~{}r{(hÙX.root@am57xx-evm:~# jailhouse cell create /usr/share/jailhouse/examples/am57xx-pdk-leddiag.cell [ 312.419978] CPU1: shutdown Created cell "AM57XX-EVM-PDK-LED" Page pool usage after cell creation: mem 54/4075, remap 38/131072 [ 312.470723] Created Jailhouse cell "AM57XX-EVM-PDK-LED" root@am57xx-evm:~#hÚjtxhäj†xhæjÎhè}r€{(jjhí]hì]hê]hë]hð]uhòMóhóhhô]r�{hýX.root@am57xx-evm:~# jailhouse cell create /usr/share/jailhouse/examples/am57xx-pdk-leddiag.cell [ 312.419978] CPU1: shutdown Created cell "AM57XX-EVM-PDK-LED" Page pool usage after cell creation: mem 54/4075, remap 38/131072 [ 312.470723] Created Jailhouse cell "AM57XX-EVM-PDK-LED" root@am57xx-evm:~#r‚{…�rƒ{}r„{(hÙUhÚj~{ubaubjÎ)�r…{}r†{(hÙUhÚjtxhäj†xhæjÑhè}r‡{(hê]hë]hì]hí]hð]uhòKìhóhhô]rˆ{jÔ)�r‰{}rŠ{(hÙXload the led_test.bin binaryr‹{j×KhÚj…{häj†xhæhòhè}rŒ{(hê]hë]hì]hí]hð]uhòKìhóhhô]r�{hýXload the led_test.bin binaryrŽ{…�r�{}r�{(hÙj‹{hÚj‰{ubaubaubjË)�r‘{}r’{(hÙX{root@am57xx-evm:~# jailhouse cell load 1 /usr/share/jailhouse/examples/led_test.bin Cell "AM57XX-EVM-PDK-LED" can be loadedhÚjtxhäj†xhæjÎhè}r“{(jjhí]hì]hê]hë]hð]uhòMþhóhhô]r”{hýX{root@am57xx-evm:~# jailhouse cell load 1 /usr/share/jailhouse/examples/led_test.bin Cell "AM57XX-EVM-PDK-LED" can be loadedr•{…�r–{}r—{(hÙUhÚj‘{ubaubj/)�r˜{}r™{(hÙX and start itrš{hÚjtxhäj†xhæj3hè}r›{(hê]hë]hì]hí]hð]uhòKóhóhhô]rœ{hýX and start itr�{…�rž{}rŸ{(hÙjš{hÚj˜{ubaubjË)�r {}r¡{(hÙXãroot@am57xx-evm:~# jailhouse cell start 1 Started cell "AM57XX-EVM-PDK-LED" root@am57xx-e ********************************************* * LED Test * ********************************************* Testing LED Blinking LEDs... Press 'y' to verify pass, 'r' to blink again, or any other character to indicate failure: r Blinking again Press 'y' to verify pass, 'r' to blink again, or any other character to indicate failure: y Received: y Test PASSED!hÚjtxhäj†xhæjÎhè}r¢{(jjhí]hì]hê]hë]hð]uhòMhóhhô]r£{hýXãroot@am57xx-evm:~# jailhouse cell start 1 Started cell "AM57XX-EVM-PDK-LED" root@am57xx-e ********************************************* * LED Test * ********************************************* Testing LED Blinking LEDs... Press 'y' to verify pass, 'r' to blink again, or any other character to indicate failure: r Blinking again Press 'y' to verify pass, 'r' to blink again, or any other character to indicate failure: y Received: y Test PASSED!r¤{…�r¥{}r¦{(hÙUhÚj {ubaubj/)�r§{}r¨{(hÙX8You may see blinking leds, press "r" to repeat the test.r©{hÚjtxhäj†xhæj3hè}rª{(hê]hë]hì]hí]hð]uhòM hóhhô]r«{hýX8You may see blinking leds, press "r" to repeat the test.r¬{…�r­{}r®{(hÙj©{hÚj§{ubaubjÎ)�r¯{}r°{(hÙUhÚjtxhäj†xhæjÑhè}r±{(hê]hë]hì]hí]hð]uhòM hóhhô]r²{(jÔ)�r³{}r´{(hÙX **NOTE:**rµ{j×KhÚj¯{häj†xhæhòhè}r¶{(hê]hë]hì]hí]hð]uhòM hóhhô]r·{jW)�r¸{}r¹{(hÙjµ{hè}rº{(hê]hë]hì]hí]hð]uhÚj³{hô]r»{hýXNOTE:r¼{…�r½{}r¾{(hÙUhÚj¸{ubahæj_ubaubjÔ)�r¿{}rÀ{(hÙXþThis example just demonstrates hypervisor's ability to run binaries that were built outside of jailhouse source tree. This and other RTOS examples were ported for this purpose. Look to RTOS SDK documentation for description of the examples functionality.rÁ{j×KhÚj¯{häj†xhæhòhè}rÂ{(hê]hë]hì]hí]hð]uhòMhóhhô]rÃ{hýXþThis example just demonstrates hypervisor's ability to run binaries that were built outside of jailhouse source tree. This and other RTOS examples were ported for this purpose. Look to RTOS SDK documentation for description of the examples functionality.rÄ{…�rÅ{}rÆ{(hÙjÁ{hÚj¿{ubaubeubjF")�rÇ{}rÈ{(hÙXRunning the Demo on AM572x-IDKrÉ{hÚjtxhäj†xhæjJ"hè}rÊ{(hí]rË{Urunning-the-demo-on-am572x-idkrÌ{ahì]hê]hë]hð]rÍ{h½auhòNhóhhô]rÎ{hýXRunning the Demo on AM572x-IDKrÏ{…�rÐ{}rÑ{(hÙjÉ{hÚjÇ{ubaubj/)�rÒ{}rÓ{(hÙXüTwo TI-RTOS example applications were ported for Jailhouse hypervisor: pruss.bin and icss_emac.bin. In contrast to led_test.bin, which has its own startup code, linker script and was linked to start from address 0x0, the pruss.bin and icss_emac.bin used the TI-RTOS building infrustructure as much as possible. Therefore they are linked to EVM's DDR address space (starting from 0x80000000 ) and their entry points are not 0x0. To support loading and running such applicaiton a special command shell be used.rÔ{hÚjtxhäj†xhæj3hè}rÕ{(hê]hë]hì]hí]hð]uhòMhóhhô]rÖ{hýXüTwo TI-RTOS example applications were ported for Jailhouse hypervisor: pruss.bin and icss_emac.bin. In contrast to led_test.bin, which has its own startup code, linker script and was linked to start from address 0x0, the pruss.bin and icss_emac.bin used the TI-RTOS building infrustructure as much as possible. Therefore they are linked to EVM's DDR address space (starting from 0x80000000 ) and their entry points are not 0x0. To support loading and running such applicaiton a special command shell be used.r×{…�rØ{}rÙ{(hÙjÔ{hÚjÒ{ubaubj/)�rÚ{}rÛ{(hÙXYTo run the pruss.bin applicaton enable the hypervisor the same way as for other examples.rÜ{hÚjtxhäj†xhæj3hè}rÝ{(hê]hë]hì]hí]hð]uhòMhóhhô]rÞ{hýXYTo run the pruss.bin applicaton enable the hypervisor the same way as for other examples.rß{…�rà{}rá{(hÙjÜ{hÚjÚ{ubaubjË)�râ{}rã{(hÙXícd /usr/share/jailhouse/examples/ root@am57xx-evm:/usr/share/jailhouse/examples# modprobe jailhouse root@am57xx-evm:/usr/share/jailhouse/examples# jailhouse enable ./am57xx-evm.cell Initializing Jailhouse hypervisor on CPU 0 Code location: 0xf0000030 Page pool usage after early setup: mem 30/4075, remap 32/131072 Initializing processors: CPU 0... OK CPU 1... OK Page pool usage after late setup: mem 39/4075, remap 38/131072 Activating hypervisor [ 710.008555] The Jailhouse is opening.hÚjtxhäj†xhæjÎhè}rä{(jjhí]hì]hê]hë]hð]uhòM1hóhhô]rå{hýXícd /usr/share/jailhouse/examples/ root@am57xx-evm:/usr/share/jailhouse/examples# modprobe jailhouse root@am57xx-evm:/usr/share/jailhouse/examples# jailhouse enable ./am57xx-evm.cell Initializing Jailhouse hypervisor on CPU 0 Code location: 0xf0000030 Page pool usage after early setup: mem 30/4075, remap 32/131072 Initializing processors: CPU 0... OK CPU 1... OK Page pool usage after late setup: mem 39/4075, remap 38/131072 Activating hypervisor [ 710.008555] The Jailhouse is opening.ræ{…�rç{}rè{(hÙUhÚjâ{ubaubj/)�ré{}rê{(hÙXCreate a cell for pruss.binrë{hÚjtxhäj†xhæj3hè}rì{(hê]hë]hì]hí]hð]uhòM1hóhhô]rí{hýXCreate a cell for pruss.binrî{…�rï{}rð{(hÙjë{hÚjé{ubaubjË)�rñ{}rò{(hÙXEroot@am57xx-evm:/usr/share/jailhouse/examples# jailhouse cell create ./am572x-rtos-pruss.cell [ 745.067783] CPU1: shutdown Created cell "AM572X-IDK-PRUSS" Page pool usage after cell creation: mem 54/4075, remap 38/131072 [ 745.107324] Created Jailhouse cell "AM572X-IDK-PRUSS" root@am57xx-evm:/usr/share/jailhouse/examples#hÚjtxhäj†xhæjÎhè}ró{(jjhí]hì]hê]hë]hð]uhòMChóhhô]rô{hýXEroot@am57xx-evm:/usr/share/jailhouse/examples# jailhouse cell create ./am572x-rtos-pruss.cell [ 745.067783] CPU1: shutdown Created cell "AM572X-IDK-PRUSS" Page pool usage after cell creation: mem 54/4075, remap 38/131072 [ 745.107324] Created Jailhouse cell "AM572X-IDK-PRUSS" root@am57xx-evm:/usr/share/jailhouse/examples#rõ{…�rö{}r÷{(hÙUhÚjñ{ubaubj/)�rø{}rù{(hÙX:Use cell load command to load several required components:rú{hÚjtxhäj†xhæj3hè}rû{(hê]hë]hì]hí]hð]uhòM<hóhhô]rü{hýX:Use cell load command to load several required components:rý{…�rþ{}rÿ{(hÙjú{hÚjø{ubaubjË)�r|}r|(hÙX¸root@am57xx-evm:/usr/share/jailhouse/examples# jailhouse cell load 1 linux-loader.bin -a 0 -s "kernel=0x80005128" -a 0x100 pruss.bin -a 0x80000000 Cell "AM572X-IDK-PRUSS" can be loadedhÚjtxhäj†xhæjÎhè}r|(jjhí]hì]hê]hë]hð]uhòMNhóhhô]r|hýX¸root@am57xx-evm:/usr/share/jailhouse/examples# jailhouse cell load 1 linux-loader.bin -a 0 -s "kernel=0x80005128" -a 0x100 pruss.bin -a 0x80000000 Cell "AM572X-IDK-PRUSS" can be loadedr|…�r|}r|(hÙUhÚj|ubaubj/)�r|}r|(hÙXwherer |hÚjtxhäj†xhæj3hè}r |(hê]hë]hì]hí]hð]uhòMChóhhô]r |hýXwherer |…�r |}r|(hÙj |hÚj|ubaubjQ)�r|}r|(hÙUhÚjtxhäj†xhæjThè}r|(jVX-hí]hì]hê]hë]hð]uhòMEhóhhô]r|(jX)�r|}r|(hÙX�linux-loader.bin is a small application provided and built by jailhouse source tree. As you can see (-a 0) it is loaded to virtual address 0x0;hÚj|häj†xhæj[hè}r|(hê]hë]hì]hí]hð]uhòNhóhhô]r|j/)�r|}r|(hÙX�linux-loader.bin is a small application provided and built by jailhouse source tree. As you can see (-a 0) it is loaded to virtual address 0x0;r|hÚj|häj†xhæj3hè}r|(hê]hë]hì]hí]hð]uhòMEhô]r|hýX�linux-loader.bin is a small application provided and built by jailhouse source tree. As you can see (-a 0) it is loaded to virtual address 0x0;r|…�r|}r|(hÙj|hÚj|ubaubaubjX)�r|}r |(hÙX¿"-s "kernel=0x80005128" -a 0x100" - is the linux_loader argument loaded as string to virtual address 0x100, which instructs the linux-loader to branch to the pruss.bin 0x80005128 entry point;hÚj|häj†xhæj[hè}r!|(hê]hë]hì]hí]hð]uhòNhóhhô]r"|j/)�r#|}r$|(hÙX¿"-s "kernel=0x80005128" -a 0x100" - is the linux_loader argument loaded as string to virtual address 0x100, which instructs the linux-loader to branch to the pruss.bin 0x80005128 entry point;r%|hÚj|häj†xhæj3hè}r&|(hê]hë]hì]hí]hð]uhòMHhô]r'|hýX¿"-s "kernel=0x80005128" -a 0x100" - is the linux_loader argument loaded as string to virtual address 0x100, which instructs the linux-loader to branch to the pruss.bin 0x80005128 entry point;r(|…�r)|}r*|(hÙj%|hÚj#|ubaubaubjX)�r+|}r,|(hÙXmpruss.bin itself, loaded to the virtual address 0x80000000 - the address where this application is lined to; hÚj|häj†xhæj[hè}r-|(hê]hë]hì]hí]hð]uhòNhóhhô]r.|j/)�r/|}r0|(hÙXlpruss.bin itself, loaded to the virtual address 0x80000000 - the address where this application is lined to;r1|hÚj+|häj†xhæj3hè}r2|(hê]hë]hì]hí]hð]uhòMKhô]r3|hýXlpruss.bin itself, loaded to the virtual address 0x80000000 - the address where this application is lined to;r4|…�r5|}r6|(hÙj1|hÚj/|ubaubaubeubjÎ)�r7|}r8|(hÙUhÚjtxhäj†xhæjÑhè}r9|(hê]hë]hì]hí]hð]uhòMNhóhhô]r:|(jÔ)�r;|}r<|(hÙUj×KhÚj7|häj†xhæhòhè}r=|(hê]hë]hì]hí]hð]uhòKhóhhô]ubjÔ)�r>|}r?|(hÙX&After loading run the inmate as usual:r@|j×KhÚj7|häj†xhæhòhè}rA|(hê]hë]hì]hí]hð]uhòMOhóhhô]rB|hýX&After loading run the inmate as usual:rC|…�rD|}rE|(hÙj@|hÚj>|ubaubeubjË)�rF|}rG|(hÙXÖroot@am57xx-evm:/usr/share/jailhouse/examples# jailhouse cell start 1 Started cell "AM572X-IDK-PRUSS" root@am57xx-evm:/usr/share/jailhouse/examples# passed verify constant tbl entry for instance 1: pruNum: 0 eventwait: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 1 , pru num: 0 eventwait: got the INTC event from PRU, count: 1 eventwait: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 1 , pru num: 0 eventwait: got the INTC event from PRU, count: 2 eventwait: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 1 , pru num: 0 eventwait: got the INTC event from PRU, count: 3 eventwait: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 1 , pru num: 0 eventwait: got the INTC event from PRU, count: 4 eventwait: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 1 , pru num: 0 eventwait: got the INTC event from PRU, count: 5 eventwait: waiting for the INTC event from PRU Testing for instance: 1, pru num: 0 is complete passed verify constant tbl entry for instance 1: pruNum: 1 sending the INTC event to the PRU for instance: 1 , pru num: 1 eventwait: got the INTC event from PRU, count: 1 eventwait: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 1 , pru num: 1 eventwait: got the INTC event from PRU, count: 2 eventwait: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 1 , pru num: 1 eventwait: got the INTC event from PRU, count: 3 eventwait: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 1 , pru num: 1 eventwait: got the INTC event from PRU, count: 4 eventwait: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 1 , pru num: 1 eventwait: got the INTC event from PRU, count: 5 Testing for instance: 1, pru num: 1 is complete passed verify constant tbl entry for instance 2: pruNum: 0 eventwait2: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 2 , pru num: 0 eventwait2: got the INTC event from PRU, count: 1 eventwait2: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 2 , pru num: 0 eventwait2: got the INTC event from PRU, count: 2 eventwait2: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 2 , pru num: 0 eventwait2: got the INTC event from PRU, count: 3 eventwait2: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 2 , pru num: 0 eventwait2: got the INTC event from PRU, count: 4 eventwait2: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 2 , pru num: 0 eventwait2: got the INTC event from PRU, count: 5 eventwait2: waiting for the INTC event from PRU Testing for instance: 2, pru num: 0 is complete passed verify constant tbl entry for instance 2: pruNum: 1 sending the INTC event to the PRU for instance: 2 , pru num: 1 eventwait2: got the INTC event from PRU, count: 1 eventwait2: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 2 , pru num: 1 eventwait2: got the INTC event from PRU, count: 2 eventwait2: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 2 , pru num: 1 eventwait2: got the INTC event from PRU, count: 3 eventwait2: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 2 , pru num: 1 eventwait2: got the INTC event from PRU, count: 4 eventwait2: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 2 , pru num: 1 eventwait2: got the INTC event from PRU, count: 5 Testing for instance: 2, pru num: 1 is complete All tests have passedhÚjtxhäj†xhæjÎhè}rH|(jjhí]hì]hê]hë]hð]uhòMahóhhô]rI|hýXÖroot@am57xx-evm:/usr/share/jailhouse/examples# jailhouse cell start 1 Started cell "AM572X-IDK-PRUSS" root@am57xx-evm:/usr/share/jailhouse/examples# passed verify constant tbl entry for instance 1: pruNum: 0 eventwait: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 1 , pru num: 0 eventwait: got the INTC event from PRU, count: 1 eventwait: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 1 , pru num: 0 eventwait: got the INTC event from PRU, count: 2 eventwait: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 1 , pru num: 0 eventwait: got the INTC event from PRU, count: 3 eventwait: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 1 , pru num: 0 eventwait: got the INTC event from PRU, count: 4 eventwait: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 1 , pru num: 0 eventwait: got the INTC event from PRU, count: 5 eventwait: waiting for the INTC event from PRU Testing for instance: 1, pru num: 0 is complete passed verify constant tbl entry for instance 1: pruNum: 1 sending the INTC event to the PRU for instance: 1 , pru num: 1 eventwait: got the INTC event from PRU, count: 1 eventwait: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 1 , pru num: 1 eventwait: got the INTC event from PRU, count: 2 eventwait: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 1 , pru num: 1 eventwait: got the INTC event from PRU, count: 3 eventwait: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 1 , pru num: 1 eventwait: got the INTC event from PRU, count: 4 eventwait: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 1 , pru num: 1 eventwait: got the INTC event from PRU, count: 5 Testing for instance: 1, pru num: 1 is complete passed verify constant tbl entry for instance 2: pruNum: 0 eventwait2: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 2 , pru num: 0 eventwait2: got the INTC event from PRU, count: 1 eventwait2: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 2 , pru num: 0 eventwait2: got the INTC event from PRU, count: 2 eventwait2: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 2 , pru num: 0 eventwait2: got the INTC event from PRU, count: 3 eventwait2: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 2 , pru num: 0 eventwait2: got the INTC event from PRU, count: 4 eventwait2: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 2 , pru num: 0 eventwait2: got the INTC event from PRU, count: 5 eventwait2: waiting for the INTC event from PRU Testing for instance: 2, pru num: 0 is complete passed verify constant tbl entry for instance 2: pruNum: 1 sending the INTC event to the PRU for instance: 2 , pru num: 1 eventwait2: got the INTC event from PRU, count: 1 eventwait2: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 2 , pru num: 1 eventwait2: got the INTC event from PRU, count: 2 eventwait2: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 2 , pru num: 1 eventwait2: got the INTC event from PRU, count: 3 eventwait2: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 2 , pru num: 1 eventwait2: got the INTC event from PRU, count: 4 eventwait2: waiting for the INTC event from PRU sending the INTC event to the PRU for instance: 2 , pru num: 1 eventwait2: got the INTC event from PRU, count: 5 Testing for instance: 2, pru num: 1 is complete All tests have passedrJ|…�rK|}rL|(hÙUhÚjF|ubaubjÎ)�rM|}rN|(hÙUhÚjtxhäj†xhæjÑhè}rO|(hê]hë]hì]hí]hð]uhòM›hóhhô]rP|(jÔ)�rQ|}rR|(hÙUj×KhÚjM|häj†xhæhòhè}rS|(hê]hë]hì]hí]hð]uhòKhóhhô]ubjÔ)�rT|}rU|(hÙX–You may run the **icss_emac.bin** in similar way using appropriate cell configuration. **Note that icss_emac has different entry point - 0x80000000**.j×KhÚjM|häj†xhæhòhè}rV|(hê]hë]hì]hí]hð]uhòMžhóhhô]rW|(hýXYou may run the rX|…�rY|}rZ|(hÙXYou may run the hÚjT|ubjW)�r[|}r\|(hÙX**icss_emac.bin**hè}r]|(hê]hë]hì]hí]hð]uhÚjT|hô]r^|hýX icss_emac.binr_|…�r`|}ra|(hÙUhÚj[|ubahæj_ubhýX6 in similar way using appropriate cell configuration. rb|…�rc|}rd|(hÙX6 in similar way using appropriate cell configuration. hÚjT|ubjW)�re|}rf|(hÙX>**Note that icss_emac has different entry point - 0x80000000**hè}rg|(hê]hë]hì]hí]hð]uhÚjT|hô]rh|hýX:Note that icss_emac has different entry point - 0x80000000ri|…�rj|}rk|(hÙUhÚje|ubahæj_ubhýX.…�rl|}rm|(hÙX.hÚjT|ubeubeubjF")�rn|}ro|(hÙXJailhouse Performance on AM5728rp|hÚjtxhäj†xhæjJ"hè}rq|(hí]rr|Ujailhouse-performance-on-am5728rs|ahì]hê]hë]hð]rt|h+auhòNhóhhô]ru|hýXJailhouse Performance on AM5728rv|…�rw|}rx|(hÙjp|hÚjn|ubaubj/)�ry|}rz|(hÙX©To verify the real-time performance of Jailhouse Sitara AM5728 was setup to run Linux on one of the ARM Cortex A15 cores, and a TI-RTOS inmate on the other A15 core. A test was run to measure interrupt latency. Poll mode driver based application performance of an inmate should be identical to a system without virtualizationion in a static partitioning system like Jailhouse. Anything interrupt based is required to share the interrupt controller (GIC) which will introduce some interference from Linux to the real-time application. The measurements shown below over a million interrupts clearly shows the interference, and captures the upper bound at 8.8us. For the first run of interrupt latency test an unloaded Linux running on core 0 is in the first column. In the second column Linux on core 0 is running STREAM. STREAM is an external memory access benchmark that fully utilizes the number of outstanding reads and writes to memory. It is scalable from individual processors to clusters supercomputers, here it is used at the processor level. It was chosen as representative of a worst case memory access behaviour of a Linux based application on a Cortex A15, essentially with a memory access profile like an optimized memorytomemory copy. In AM5728 the two Cortex A15 cores share L2 cache and access to the rest of the SoC, which the STREAM benchmark running on core 0 stresses while core 1 access GIC registers to respond to the interrupt.r{|hÚjtxhäj†xhæj3hè}r||(hê]hë]hì]hí]hð]uhòM£hóhhô]r}|hýX©To verify the real-time performance of Jailhouse Sitara AM5728 was setup to run Linux on one of the ARM Cortex A15 cores, and a TI-RTOS inmate on the other A15 core. A test was run to measure interrupt latency. Poll mode driver based application performance of an inmate should be identical to a system without virtualizationion in a static partitioning system like Jailhouse. Anything interrupt based is required to share the interrupt controller (GIC) which will introduce some interference from Linux to the real-time application. The measurements shown below over a million interrupts clearly shows the interference, and captures the upper bound at 8.8us. For the first run of interrupt latency test an unloaded Linux running on core 0 is in the first column. In the second column Linux on core 0 is running STREAM. STREAM is an external memory access benchmark that fully utilizes the number of outstanding reads and writes to memory. It is scalable from individual processors to clusters supercomputers, here it is used at the processor level. It was chosen as representative of a worst case memory access behaviour of a Linux based application on a Cortex A15, essentially with a memory access profile like an optimized memorytomemory copy. In AM5728 the two Cortex A15 cores share L2 cache and access to the rest of the SoC, which the STREAM benchmark running on core 0 stresses while core 1 access GIC registers to respond to the interrupt.r~|…�r|}r€|(hÙj{|hÚjy|ubaubjÎ)�r�|}r‚|(hÙUhÚjtxhäj†xhæjÑhè}rƒ|(hê]hë]hì]hí]hð]uhòM¹hóhhô]r„|jÔ)�r…|}r†|(hÙUj×KhÚj�|häj†xhæhòhè}r‡|(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubj:)�rˆ|}r‰|(hÙUhÚjtxhäj†xhæj=hè}rŠ|(hê]hë]hì]hí]r‹|Uid87rŒ|ahð]uhòNhóhhô]r�|(hö)�rŽ|}r�|(hÙX5**Interrupt latency of a bare metal inmate (core 1)**r�|hÚjˆ|häj†xhæhúhè}r‘|(hê]hë]hì]hí]hð]uhòKhô]r’|jW)�r“|}r”|(hÙj�|hè}r•|(hê]hë]hì]hí]hð]uhÚjŽ|hô]r–|hýX1Interrupt latency of a bare metal inmate (core 1)r—|…�r˜|}r™|(hÙUhÚj“|ubahæj_ubaubj@)�rš|}r›|(hÙUhè}rœ|(hí]hì]hê]hë]hð]UcolsKuhÚjˆ|hô]r�|(jE)�rž|}rŸ|(hÙUhè}r |(hí]hì]hê]hë]hð]UcolwidthKuhÚjš|hô]hæjIubjE)�r¡|}r¢|(hÙUhè}r£|(hí]hì]hê]hë]hð]UcolwidthKuhÚjš|hô]hæjIubjE)�r¤|}r¥|(hÙUhè}r¦|(hí]hì]hê]hë]hð]UcolwidthKuhÚjš|hô]hæjIubjS)�r§|}r¨|(hÙUhè}r©|(hê]hë]hì]hí]hð]uhÚjš|hô]rª|jX)�r«|}r¬|(hÙUhè}r­|(hê]hë]hì]hí]hð]uhÚj§|hô]r®|(j])�r¯|}r°|(hÙUhè}r±|(hê]hë]hì]hí]hð]uhÚj«|hô]hæjjubj])�r²|}r³|(hÙUhè}r´|(hê]hë]hì]hí]hð]uhÚj«|hô]rµ|j/)�r¶|}r·|(hÙXUnloaded Linux on core 0r¸|hÚj²|häj†xhæj3hè}r¹|(hê]hë]hì]hí]hð]uhòM¾hô]rº|hýXUnloaded Linux on core 0r»|…�r¼|}r½|(hÙj¸|hÚj¶|ubaubahæjjubj])�r¾|}r¿|(hÙUhè}rÀ|(hê]hë]hì]hí]hð]uhÚj«|hô]rÁ|j/)�rÂ|}rÃ|(hÙX(Linux Running STREAM benchmark on core 0rÄ|hÚj¾|häj†xhæj3hè}rÅ|(hê]hë]hì]hí]hð]uhòM¾hô]rÆ|hýX(Linux Running STREAM benchmark on core 0rÇ|…�rÈ|}rÉ|(hÙjÄ|hÚjÂ|ubaubahæjjubehæj�ubahæj�ubj‘)�rÊ|}rË|(hÙUhè}rÌ|(hê]hë]hì]hí]hð]uhÚjš|hô]rÍ|(jX)�rÎ|}rÏ|(hÙUhè}rÐ|(hê]hë]hì]hí]hð]uhÚjÊ|hô]rÑ|(j])�rÒ|}rÓ|(hÙUhè}rÔ|(hê]hë]hì]hí]hð]uhÚjÎ|hô]rÕ|jÎ)�rÖ|}r×|(hÙUhè}rØ|(hê]hë]hì]hí]hð]uhÚjÒ|hô]rÙ|(jÔ)�rÚ|}rÛ|(hÙXInterrutp countrÜ|j×KhÚjÖ|häj†xhæhòhè}rÝ|(hê]hë]hì]hí]hð]uhòKhô]rÞ|hýXInterrutp countrß|…�rà|}rá|(hÙjÜ|hÚjÚ|ubaubjÔ)�râ|}rã|(hÙXBucket 1.6 us - 3.2 usrä|j×KhÚjÖ|häj†xhæhòhè}rå|(hê]hë]hì]hí]hð]uhòKhô]ræ|hýXBucket 1.6 us - 3.2 usrç|…�rè|}ré|(hÙjä|hÚjâ|ubaubehæjÑubahæjjubj])�rê|}rë|(hÙUhè}rì|(hê]hë]hì]hí]hð]uhÚjÎ|hô]rí|j/)�rî|}rï|(hÙX99.3756%rð|hÚjê|häj†xhæj3hè}rñ|(hê]hë]hì]hí]hð]uhòMÁhô]rò|hýX99.3756%ró|…�rô|}rõ|(hÙjð|hÚjî|ubaubahæjjubj])�rö|}r÷|(hÙUhè}rø|(hê]hë]hì]hí]hð]uhÚjÎ|hô]rù|j/)�rú|}rû|(hÙX33.9323%rü|hÚjö|häj†xhæj3hè}rý|(hê]hë]hì]hí]hð]uhòMÁhô]rþ|hýX33.9323%rÿ|…�r}}r}(hÙjü|hÚjú|ubaubahæjjubehæj�ubjX)�r}}r}(hÙUhè}r}(hê]hë]hì]hí]hð]uhÚjÊ|hô]r}(j])�r}}r}(hÙUhè}r}(hê]hë]hì]hí]hð]uhÚj}hô]r }jÎ)�r }}r }(hÙUhè}r }(hê]hë]hì]hí]hð]uhÚj}hô]r }(jÔ)�r}}r}(hÙXInterrutp countr}j×KhÚj }häj†xhæhòhè}r}(hê]hë]hì]hí]hð]uhòKhô]r}hýXInterrutp countr}…�r}}r}(hÙj}hÚj}ubaubjÔ)�r}}r}(hÙXBucket 3.2 us - 6.4 usr}j×KhÚj }häj†xhæhòhè}r}(hê]hë]hì]hí]hð]uhòKhô]r}hýXBucket 3.2 us - 6.4 usr}…�r}}r}(hÙj}hÚj}ubaubehæjÑubahæjjubj])�r}}r}(hÙUhè}r }(hê]hë]hì]hí]hð]uhÚj}hô]r!}j/)�r"}}r#}(hÙX0.6244%r$}hÚj}häj†xhæj3hè}r%}(hê]hë]hì]hí]hð]uhòMÅhô]r&}hýX0.6244%r'}…�r(}}r)}(hÙj$}hÚj"}ubaubahæjjubj])�r*}}r+}(hÙUhè}r,}(hê]hë]hì]hí]hð]uhÚj}hô]r-}j/)�r.}}r/}(hÙX66.0632%r0}hÚj*}häj†xhæj3hè}r1}(hê]hë]hì]hí]hð]uhòMÅhô]r2}hýX66.0632%r3}…�r4}}r5}(hÙj0}hÚj.}ubaubahæjjubehæj�ubjX)�r6}}r7}(hÙUhè}r8}(hê]hë]hì]hí]hð]uhÚjÊ|hô]r9}(j])�r:}}r;}(hÙUhè}r<}(hê]hë]hì]hí]hð]uhÚj6}hô]r=}jÎ)�r>}}r?}(hÙUhè}r@}(hê]hë]hì]hí]hð]uhÚj:}hô]rA}(jÔ)�rB}}rC}(hÙXInterrutp countrD}j×KhÚj>}häj†xhæhòhè}rE}(hê]hë]hì]hí]hð]uhòKhô]rF}hýXInterrutp countrG}…�rH}}rI}(hÙjD}hÚjB}ubaubjÔ)�rJ}}rK}(hÙXBucket 6.4 us - 12.8 usrL}j×KhÚj>}häj†xhæhòhè}rM}(hê]hë]hì]hí]hð]uhòKhô]rN}hýXBucket 6.4 us - 12.8 usrO}…�rP}}rQ}(hÙjL}hÚjJ}ubaubehæjÑubahæjjubj])�rR}}rS}(hÙUhè}rT}(hê]hë]hì]hí]hð]uhÚj6}hô]rU}j/)�rV}}rW}(hÙXnonerX}hÚjR}häj†xhæj3hè}rY}(hê]hë]hì]hí]hð]uhòMÉhô]rZ}hýXnoner[}…�r\}}r]}(hÙjX}hÚjV}ubaubahæjjubj])�r^}}r_}(hÙUhè}r`}(hê]hë]hì]hí]hð]uhÚj6}hô]ra}j/)�rb}}rc}(hÙX0.0045%rd}hÚj^}häj†xhæj3hè}re}(hê]hë]hì]hí]hð]uhòMÉhô]rf}hýX0.0045%rg}…�rh}}ri}(hÙjd}hÚjb}ubaubahæjjubehæj�ubjX)�rj}}rk}(hÙUhè}rl}(hê]hë]hì]hí]hð]uhÚjÊ|hô]rm}(j])�rn}}ro}(hÙUhè}rp}(hê]hë]hì]hí]hð]uhÚjj}hô]rq}j/)�rr}}rs}(hÙXMinimum interrupt latencyrt}hÚjn}häj†xhæj3hè}ru}(hê]hë]hì]hí]hð]uhòMÍhô]rv}hýXMinimum interrupt latencyrw}…�rx}}ry}(hÙjt}hÚjr}ubaubahæjjubj])�rz}}r{}(hÙUhè}r|}(hê]hë]hì]hí]hð]uhÚjj}hô]r}}j/)�r~}}r}(hÙX2.2 microsecondsr€}hÚjz}häj†xhæj3hè}r�}(hê]hë]hì]hí]hð]uhòMÍhô]r‚}hýX2.2 microsecondsrƒ}…�r„}}r…}(hÙj€}hÚj~}ubaubahæjjubj])�r†}}r‡}(hÙUhè}rˆ}(hê]hë]hì]hí]hð]uhÚjj}hô]r‰}j/)�rŠ}}r‹}(hÙX1.8 microsecondsrŒ}hÚj†}häj†xhæj3hè}r�}(hê]hë]hì]hí]hð]uhòMÍhô]rŽ}hýX1.8 microsecondsr�}…�r�}}r‘}(hÙjŒ}hÚjŠ}ubaubahæjjubehæj�ubjX)�r’}}r“}(hÙUhè}r”}(hê]hë]hì]hí]hð]uhÚjÊ|hô]r•}(j])�r–}}r—}(hÙUhè}r˜}(hê]hë]hì]hí]hð]uhÚj’}hô]r™}j/)�rš}}r›}(hÙXMaximim interrupt latencyrœ}hÚj–}häj†xhæj3hè}r�}(hê]hë]hì]hí]hð]uhòMÐhô]rž}hýXMaximim interrupt latencyrŸ}…�r }}r¡}(hÙjœ}hÚjš}ubaubahæjjubj])�r¢}}r£}(hÙUhè}r¤}(hê]hë]hì]hí]hð]uhÚj’}hô]r¥}j/)�r¦}}r§}(hÙX5.0 microsecondsr¨}hÚj¢}häj†xhæj3hè}r©}(hê]hë]hì]hí]hð]uhòMÐhô]rª}hýX5.0 microsecondsr«}…�r¬}}r­}(hÙj¨}hÚj¦}ubaubahæjjubj])�r®}}r¯}(hÙUhè}r°}(hê]hë]hì]hí]hð]uhÚj’}hô]r±}j/)�r²}}r³}(hÙX8.8 microsecondsr´}hÚj®}häj†xhæj3hè}rµ}(hê]hë]hì]hí]hð]uhòMÐhô]r¶}hýX8.8 microsecondsr·}…�r¸}}r¹}(hÙj´}hÚj²}ubaubahæjjubehæj�ubehæjÊubehæjËubeubjÎ)�rº}}r»}(hÙUhÚjtxhäj†xhæjÑhè}r¼}(hê]hë]hì]hí]hð]uhòMÔhóhhô]r½}jÔ)�r¾}}r¿}(hÙUj×KhÚjº}häj†xhæhòhè}rÀ}(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubjÎ)�rÁ}}rÂ}(hÙUhÚjtxhäj†xhæjÑhè}rÃ}(hê]hë]hì]hí]hð]uhòMÖhóhhô]rÄ}jÔ)�rÅ}}rÆ}(hÙUj×KhÚjÁ}häj†xhæhòhè}rÇ}(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubjF")�rÈ}}rÉ}(hÙXBuilding Jailhouse from SourcesrÊ}hÚjtxhäj†xhæjJ"hè}rË}(hí]rÌ}Ubuilding-jailhouse-from-sourcesrÍ}ahì]hê]hë]hð]rÎ}hœauhòNhóhhô]rÏ}hýXBuilding Jailhouse from SourcesrÐ}…�rÑ}}rÒ}(hÙjÊ}hÚjÈ}ubaubj/)�rÓ}}rÔ}(hÙX—Jailhouse sources are located at $TI_SDK_PATH/board-support/extra-drivers/jailhouse-0.7 directory. The directory contains the following subdirectories:rÕ}hÚjtxhäj†xhæj3hè}rÖ}(hê]hë]hì]hí]hð]uhòMÛhóhhô]r×}hýX—Jailhouse sources are located at $TI_SDK_PATH/board-support/extra-drivers/jailhouse-0.7 directory. The directory contains the following subdirectories:rØ}…�rÙ}}rÚ}(hÙjÕ}hÚjÓ}ubaubjQ)�rÛ}}rÜ}(hÙUhÚjtxhäj†xhæjThè}rÝ}(jVX-hí]hì]hê]hë]hð]uhòMßhóhhô]rÞ}(jX)�rß}}rà}(hÙX**Documentation**rá}hÚjÛ}häj†xhæj[hè}râ}(hê]hë]hì]hí]hð]uhòNhóhhô]rã}j/)�rä}}rå}(hÙjá}hÚjß}häj†xhæj3hè}ræ}(hê]hë]hì]hí]hð]uhòMßhô]rç}jW)�rè}}ré}(hÙjá}hè}rê}(hê]hë]hì]hí]hð]uhÚjä}hô]rë}hýX Documentationrì}…�rí}}rî}(hÙUhÚjè}ubahæj_ubaubaubjX)�rï}}rð}(hÙX­**ci** - configuration files for different platforms. ***Copy the jailhouse-config-am57xx-evm.h file into hypervisor/include/jailhouse directory and rename it to config.h***hÚjÛ}häj†xhæj[hè}rñ}(hê]hë]hì]hí]hð]uhòNhóhhô]rò}j/)�ró}}rô}(hÙX­**ci** - configuration files for different platforms. ***Copy the jailhouse-config-am57xx-evm.h file into hypervisor/include/jailhouse directory and rename it to config.h***hÚjï}häj†xhæj3hè}rõ}(hê]hë]hì]hí]hð]uhòMàhô]rö}(jW)�r÷}}rø}(hÙX**ci**hè}rù}(hê]hë]hì]hí]hð]uhÚjó}hô]rú}hýXcirû}…�rü}}rý}(hÙUhÚj÷}ubahæj_ubhýX0 - configuration files for different platforms. rþ}…�rÿ}}r~(hÙX0 - configuration files for different platforms. hÚjó}ubjW)�r~}r~(hÙXw***Copy the jailhouse-config-am57xx-evm.h file into hypervisor/include/jailhouse directory and rename it to config.h***hè}r~(hê]hë]hì]hí]hð]uhÚjó}hô]r~hýXs*Copy the jailhouse-config-am57xx-evm.h file into hypervisor/include/jailhouse directory and rename it to config.h*r~…�r~}r~(hÙUhÚj~ubahæj_ubeubaubjX)�r~}r ~(hÙX'**configs** - cell configuration files.r ~hÚjÛ}häj†xhæj[hè}r ~(hê]hë]hì]hí]hð]uhòNhóhhô]r ~j/)�r ~}r~(hÙj ~hÚj~häj†xhæj3hè}r~(hê]hë]hì]hí]hð]uhòMãhô]r~(jW)�r~}r~(hÙX **configs**hè}r~(hê]hë]hì]hí]hð]uhÚj ~hô]r~hýXconfigsr~…�r~}r~(hÙUhÚj~ubahæj_ubhýX - cell configuration files.r~…�r~}r~(hÙX - cell configuration files.hÚj ~ubeubaubjX)�r~}r~(hÙX,**driver** - jailhouse.ko kernel module coder~hÚjÛ}häj†xhæj[hè}r~(hê]hë]hì]hí]hð]uhòNhóhhô]r~j/)�r ~}r!~(hÙj~hÚj~häj†xhæj3hè}r"~(hê]hë]hì]hí]hð]uhòMähô]r#~(jW)�r$~}r%~(hÙX **driver**hè}r&~(hê]hë]hì]hí]hð]uhÚj ~hô]r'~hýXdriverr(~…�r)~}r*~(hÙUhÚj$~ubahæj_ubhýX" - jailhouse.ko kernel module coder+~…�r,~}r-~(hÙX" - jailhouse.ko kernel module codehÚj ~ubeubaubjX)�r.~}r/~(hÙX **hypervisor** - hypervisor coder0~hÚjÛ}häj†xhæj[hè}r1~(hê]hë]hì]hí]hð]uhòNhóhhô]r2~j/)�r3~}r4~(hÙj0~hÚj.~häj†xhæj3hè}r5~(hê]hë]hì]hí]hð]uhòMåhô]r6~(jW)�r7~}r8~(hÙX**hypervisor**hè}r9~(hê]hë]hì]hí]hð]uhÚj3~hô]r:~hýX hypervisorr;~…�r<~}r=~(hÙUhÚj7~ubahæj_ubhýX - hypervisor coder>~…�r?~}r@~(hÙX - hypervisor codehÚj3~ubeubaubjX)�rA~}rB~(hÙXM**inmates** - inmates demos. It also contains code for ti_app inmate example.hÚjÛ}häj†xhæj[hè}rC~(hê]hë]hì]hí]hð]uhòNhóhhô]rD~j/)�rE~}rF~(hÙXM**inmates** - inmates demos. It also contains code for ti_app inmate example.hÚjA~häj†xhæj3hè}rG~(hê]hë]hì]hí]hð]uhòMæhô]rH~(jW)�rI~}rJ~(hÙX **inmates**hè}rK~(hê]hë]hì]hí]hð]uhÚjE~hô]rL~hýXinmatesrM~…�rN~}rO~(hÙUhÚjI~ubahæj_ubhýXB - inmates demos. It also contains code for ti_app inmate example.rP~…�rQ~}rR~(hÙXB - inmates demos. It also contains code for ti_app inmate example.hÚjE~ubeubaubjX)�rS~}rT~(hÙX **scripts**rU~hÚjÛ}häj†xhæj[hè}rV~(hê]hë]hì]hí]hð]uhòNhóhhô]rW~j/)�rX~}rY~(hÙjU~hÚjS~häj†xhæj3hè}rZ~(hê]hë]hì]hí]hð]uhòMèhô]r[~jW)�r\~}r]~(hÙjU~hè}r^~(hê]hë]hì]hí]hð]uhÚjX~hô]r_~hýXscriptsr`~…�ra~}rb~(hÙUhÚj\~ubahæj_ubaubaubjX)�rc~}rd~(hÙX)**tools** - jailhouse management utility hÚjÛ}häj†xhæj[hè}re~(hê]hë]hì]hí]hð]uhòNhóhhô]rf~j/)�rg~}rh~(hÙX(**tools** - jailhouse management utilityhÚjc~häj†xhæj3hè}ri~(hê]hë]hì]hí]hð]uhòMéhô]rj~(jW)�rk~}rl~(hÙX **tools**hè}rm~(hê]hë]hì]hí]hð]uhÚjg~hô]rn~hýXtoolsro~…�rp~}rq~(hÙUhÚjk~ubahæj_ubhýX - jailhouse management utilityrr~…�rs~}rt~(hÙX - jailhouse management utilityhÚjg~ubeubaubeubj/)�ru~}rv~(hÙX´The top level SDK Makefile has the *jailhouse_clean*, *jailhouse* and *jailhouse_install* targets which can be used to clean, build and install jailhouse to the target file system.hÚjtxhäj†xhæj3hè}rw~(hê]hë]hì]hí]hð]uhòMëhóhhô]rx~(hýX#The top level SDK Makefile has the ry~…�rz~}r{~(hÙX#The top level SDK Makefile has the hÚju~ubj')�r|~}r}~(hÙX*jailhouse_clean*hè}r~~(hê]hë]hì]hí]hð]uhÚju~hô]r~hýXjailhouse_cleanr€~…�r�~}r‚~(hÙUhÚj|~ubahæj/ubhýX, rƒ~…�r„~}r…~(hÙX, hÚju~ubj')�r†~}r‡~(hÙX *jailhouse*hè}rˆ~(hê]hë]hì]hí]hð]uhÚju~hô]r‰~hýX jailhouserŠ~…�r‹~}rŒ~(hÙUhÚj†~ubahæj/ubhýX and r�~…�rŽ~}r�~(hÙX and hÚju~ubj')�r�~}r‘~(hÙX*jailhouse_install*hè}r’~(hê]hë]hì]hí]hð]uhÚju~hô]r“~hýXjailhouse_installr”~…�r•~}r–~(hÙUhÚj�~ubahæj/ubhýX[ targets which can be used to clean, build and install jailhouse to the target file system.r—~…�r˜~}r™~(hÙX[ targets which can be used to clean, build and install jailhouse to the target file system.hÚju~ubeubjÎ)�rš~}r›~(hÙUhÚjtxhäj†xhæjÑhè}rœ~(hê]hë]hì]hí]hð]uhòMïhóhhô]r�~jÔ)�rž~}rŸ~(hÙUj×KhÚjš~häj†xhæhòhè}r ~(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubjF")�r¡~}r¢~(hÙX,Building and Running the Ethercat Slave Demor£~hÚjtxhäj†xhæjJ"hè}r¤~(hí]r¥~U,building-and-running-the-ethercat-slave-demor¦~ahì]hê]hë]hð]r§~h‚auhòNhóhhô]r¨~hýX,Building and Running the Ethercat Slave Demor©~…�rª~}r«~(hÙj£~hÚj¡~ubaubj/)�r¬~}r­~(hÙXPTo build and run the Ethercat Slave Demo, you need to install the PLSDK-RT, PRSDK and PRU-ICSS-ETHERCAT-SLAVE builds. We assume that you already have the first two SDKs installed. The PRU-ICSS-ETHERCAT-SLAVE can be downloaded from http://software-dl.ti.com/processor-industrial-sw/esd/PRU-ICSS-ETHERCAT-SLAVE/01_00_05_00/index_FDS.html.hÚjtxhäj†xhæj3hè}r®~(hê]hë]hì]hí]hð]uhòMôhóhhô]r¯~(hýXçTo build and run the Ethercat Slave Demo, you need to install the PLSDK-RT, PRSDK and PRU-ICSS-ETHERCAT-SLAVE builds. We assume that you already have the first two SDKs installed. The PRU-ICSS-ETHERCAT-SLAVE can be downloaded from r°~…�r±~}r²~(hÙXçTo build and run the Ethercat Slave Demo, you need to install the PLSDK-RT, PRSDK and PRU-ICSS-ETHERCAT-SLAVE builds. We assume that you already have the first two SDKs installed. The PRU-ICSS-ETHERCAT-SLAVE can be downloaded from hÚj¬~ubj)�r³~}r´~(hÙXhhttp://software-dl.ti.com/processor-industrial-sw/esd/PRU-ICSS-ETHERCAT-SLAVE/01_00_05_00/index_FDS.htmlrµ~hè}r¶~(Urefurijµ~hí]hì]hê]hë]hð]uhÚj¬~hô]r·~hýXhhttp://software-dl.ti.com/processor-industrial-sw/esd/PRU-ICSS-ETHERCAT-SLAVE/01_00_05_00/index_FDS.htmlr¸~…�r¹~}rº~(hÙUhÚj³~ubahæjubhýX.…�r»~}r¼~(hÙX.hÚj¬~ubeubj/)�r½~}r¾~(hÙXIOnce you have this SDK installed you may build Ethercat slave components.r¿~hÚjtxhäj†xhæj3hè}rÀ~(hê]hë]hì]hí]hð]uhòMúhóhhô]rÁ~hýXIOnce you have this SDK installed you may build Ethercat slave components.rÂ~…�rÃ~}rÄ~(hÙj¿~hÚj½~ubaubj/)�rÅ~}rÆ~(hÙX¼If the am572x-ethercat.cell is not installed on target filesystem yet, build it from PLSDK-RT top level makefile "make jailhouse" and copy it to target under /usr/share/jailhouse/examples.rÇ~hÚjtxhäj†xhæj3hè}rÈ~(hê]hë]hì]hí]hð]uhòMýhóhhô]rÉ~hýX¼If the am572x-ethercat.cell is not installed on target filesystem yet, build it from PLSDK-RT top level makefile "make jailhouse" and copy it to target under /usr/share/jailhouse/examples.rÊ~…�rË~}rÌ~(hÙjÇ~hÚjÅ~ubaubj/)�rÍ~}rÎ~(hÙX%To build the ethercat_slave_demo.bin:rÏ~hÚjtxhäj†xhæj3hè}rÐ~(hê]hë]hì]hí]hð]uhòMhóhhô]rÑ~hýX%To build the ethercat_slave_demo.bin:rÒ~…�rÓ~}rÔ~(hÙjÏ~hÚjÍ~ubaubjQ)�rÕ~}rÖ~(hÙUhÚjtxhäj†xhæjThè}r×~(jVX-hí]hì]hê]hë]hð]uhòMhóhhô]rØ~(jX)�rÙ~}rÚ~(hÙX¹Modify the IA_SDK_HOME at ~/ti/processor_sdk_rtos_am57xx_[version]/demos/jailhouse-inmate/rtos/ethercat_slave_demo/Makefile to point to the install directory of PRU-ICSS-ETHERCAT-SLAVE.hÚjÕ~häj†xhæj[hè}rÛ~(hê]hë]hì]hí]hð]uhòNhóhhô]rÜ~j/)�rÝ~}rÞ~(hÙX¹Modify the IA_SDK_HOME at ~/ti/processor_sdk_rtos_am57xx_[version]/demos/jailhouse-inmate/rtos/ethercat_slave_demo/Makefile to point to the install directory of PRU-ICSS-ETHERCAT-SLAVE.rß~hÚjÙ~häj†xhæj3hè}rà~(hê]hë]hì]hí]hð]uhòMhô]rá~hýX¹Modify the IA_SDK_HOME at ~/ti/processor_sdk_rtos_am57xx_[version]/demos/jailhouse-inmate/rtos/ethercat_slave_demo/Makefile to point to the install directory of PRU-ICSS-ETHERCAT-SLAVE.râ~…�rã~}rä~(hÙjß~hÚjÝ~ubaubaubjX)�rå~}ræ~(hÙX§At ~/ti/processor_sdk_rtos_am57xx_[version]/demos/jailhouse-inmate/makefile: add ethercat_slave_demo\* entries as pruss-test/icss-emac-test to the end of the makefile hÚjÕ~häj†xhæj[hè}rç~(hê]hë]hì]hí]hð]uhòNhóhhô]rè~j/)�ré~}rê~(hÙX¦At ~/ti/processor_sdk_rtos_am57xx_[version]/demos/jailhouse-inmate/makefile: add ethercat_slave_demo\* entries as pruss-test/icss-emac-test to the end of the makefilehÚjå~häj†xhæj3hè}rë~(hê]hë]hì]hí]hð]uhòMhô]rì~hýX¥At ~/ti/processor_sdk_rtos_am57xx_[version]/demos/jailhouse-inmate/makefile: add ethercat_slave_demo* entries as pruss-test/icss-emac-test to the end of the makefilerí~…�rî~}rï~(hÙX¦At ~/ti/processor_sdk_rtos_am57xx_[version]/demos/jailhouse-inmate/makefile: add ethercat_slave_demo\* entries as pruss-test/icss-emac-test to the end of the makefilehÚjé~ubaubaubeubjË)�rð~}rñ~(hÙXÚethercat_slave_demo: $(MAKE) -C ./rtos/ethercat_slave_demo ethercat_slave_demo_clean: $(MAKE) -C ./rtos/ethercat_slave_demo clean ethercat_slave_demo_install: $(MAKE) -C ./rtos/ethercat_slave_demo installhÚjtxhäj†xhæjÎhè}rò~(jjhí]hì]hê]hë]hð]uhòMhóhhô]ró~hýXÚethercat_slave_demo: $(MAKE) -C ./rtos/ethercat_slave_demo ethercat_slave_demo_clean: $(MAKE) -C ./rtos/ethercat_slave_demo clean ethercat_slave_demo_install: $(MAKE) -C ./rtos/ethercat_slave_demo installrô~…�rõ~}rö~(hÙUhÚjð~ubaubjQ)�r÷~}rø~(hÙUhÚjtxhäj†xhæjThè}rù~(jVX-hí]hì]hê]hë]hð]uhòMhóhhô]rú~(jX)�rû~}rü~(hÙX,cd ~/ti/processor_sdk_rtos_am57xx_[version]/rý~hÚj÷~häj†xhæj[hè}rþ~(hê]hë]hì]hí]hð]uhòNhóhhô]rÿ~j/)�r}r(hÙjý~hÚjû~häj†xhæj3hè}r(hê]hë]hì]hí]hð]uhòMhô]rhýX,cd ~/ti/processor_sdk_rtos_am57xx_[version]/r…�r}r(hÙjý~hÚjubaubaubjX)�r}r(hÙXsource setupenv.shr hÚj÷~häj†xhæj[hè}r (hê]hë]hì]hí]hð]uhòNhóhhô]r j/)�r }r (hÙj hÚjhäj†xhæj3hè}r(hê]hë]hì]hí]hð]uhòMhô]rhýXsource setupenv.shr…�r}r(hÙj hÚj ubaubaubjX)�r}r(hÙXBcd ~/ti/processor_sdk_rtos_am57xx_[version]/demos/jailhouse-inmaterhÚj÷~häj†xhæj[hè}r(hê]hë]hì]hí]hð]uhòNhóhhô]rj/)�r}r(hÙjhÚjhäj†xhæj3hè}r(hê]hë]hì]hí]hð]uhòMhô]rhýXBcd ~/ti/processor_sdk_rtos_am57xx_[version]/demos/jailhouse-inmater…�r}r(hÙjhÚjubaubaubjX)�r}r (hÙXsource setenv.shr!hÚj÷~häj†xhæj[hè}r"(hê]hë]hì]hí]hð]uhòNhóhhô]r#j/)�r$}r%(hÙj!hÚjhäj†xhæj3hè}r&(hê]hë]hì]hí]hð]uhòMhô]r'hýXsource setenv.shr(…�r)}r*(hÙj!hÚj$ubaubaubjX)�r+}r,(hÙXmake ethercat_slave_demo hÚj÷~häj†xhæj[hè}r-(hê]hë]hì]hí]hð]uhòNhóhhô]r.j/)�r/}r0(hÙXmake ethercat_slave_demor1hÚj+häj†xhæj3hè}r2(hê]hë]hì]hí]hð]uhòMhô]r3hýXmake ethercat_slave_demor4…�r5}r6(hÙj1hÚj/ubaubaubeubj/)�r7}r8(hÙXbAfter the steps above, copy ethercat_slave_demo.bin to target under /usr/share/jailhouse/examples.r9hÚjtxhäj†xhæj3hè}r:(hê]hë]hì]hí]hð]uhòMhóhhô]r;hýXbAfter the steps above, copy ethercat_slave_demo.bin to target under /usr/share/jailhouse/examples.r<…�r=}r>(hÙj9hÚj7ubaubj/)�r?}r@(hÙXüTo run the inmate refer to the instructions for `**Running the Demo on AM572x-IDK** <#Running_the_Demo_on_AM572x-IDK>`__ . Be aware that the inmate start address is 0x80000000. So, you need to use it as a parameter at the "jailhouse cell load" command:hÚjtxhäj†xhæj3hè}rA(hê]hë]hì]hí]hð]uhòMhóhhô]rB(hýX0To run the inmate refer to the instructions for rC…�rD}rE(hÙX0To run the inmate refer to the instructions for hÚj?ubj)�rF}rG(hÙXH`**Running the Demo on AM572x-IDK** <#Running_the_Demo_on_AM572x-IDK>`__hè}rH(UnameX"**Running the Demo on AM572x-IDK**jX#Running_the_Demo_on_AM572x-IDKhí]hì]hê]hë]hð]uhÚj?hô]rIhýX"**Running the Demo on AM572x-IDK**rJ…�rK}rL(hÙUhÚjFubahæjubhýX„ . Be aware that the inmate start address is 0x80000000. So, you need to use it as a parameter at the "jailhouse cell load" command:rM…�rN}rO(hÙX„ . Be aware that the inmate start address is 0x80000000. So, you need to use it as a parameter at the "jailhouse cell load" command:hÚj?ubeubjË)�rP}rQ(hÙXqjailhouse cell load 1 linux-loader.bin -a 0 -s "kernel=0x80000000" -a 0x100 ethercat_slave_demo.bin -a 0x80000000hÚjtxhäj†xhæjÎhè}rR(jjhí]hì]hê]hë]hð]uhòM4hóhhô]rShýXqjailhouse cell load 1 linux-loader.bin -a 0 -s "kernel=0x80000000" -a 0x100 ethercat_slave_demo.bin -a 0x80000000rT…�rU}rV(hÙUhÚjPubaubjÎ)�rW}rX(hÙUhÚjtxhäj†xhæjÑhè}rY(hê]hë]hì]hí]hð]uhòM(hóhhô]rZ(jÔ)�r[}r\(hÙUj×KhÚjWhäj†xhæhòhè}r](hê]hë]hì]hí]hð]uhòKhóhhô]ubjÔ)�r^}r_(hÙXYProcedure to check two-way communication between the slave inmate and the master station:r`j×KhÚjWhäj†xhæhòhè}ra(hê]hë]hì]hí]hð]uhòM*hóhhô]rbhýXYProcedure to check two-way communication between the slave inmate and the master station:rc…�rd}re(hÙj`hÚj^ubaubeubjQ)�rf}rg(hÙUhÚjtxhäj†xhæjThè}rh(jVX-hí]hì]hê]hë]hð]uhòM,hóhhô]ri(jX)�rj}rk(hÙXRefer to http://processors.wiki.ti.com/index.php/PRU_ICSS_EtherCAT#Running_EtherCAT_Slave_Application to setup Ethercat master.hÚjfhäj†xhæj[hè}rl(hê]hë]hì]hí]hð]uhòNhóhhô]rmj/)�rn}ro(hÙXRefer to http://processors.wiki.ti.com/index.php/PRU_ICSS_EtherCAT#Running_EtherCAT_Slave_Application to setup Ethercat master.hÚjjhäj†xhæj3hè}rp(hê]hë]hì]hí]hð]uhòM,hô]rq(hýX Refer to rr…�rs}rt(hÙX Refer to hÚjnubj)�ru}rv(hÙX\http://processors.wiki.ti.com/index.php/PRU_ICSS_EtherCAT#Running_EtherCAT_Slave_Applicationrwhè}rx(Urefurijwhí]hì]hê]hë]hð]uhÚjnhô]ryhýX\http://processors.wiki.ti.com/index.php/PRU_ICSS_EtherCAT#Running_EtherCAT_Slave_Applicationrz…�r{}r|(hÙUhÚjuubahæjubhýX to setup Ethercat master.r}…�r~}r(hÙX to setup Ethercat master.hÚjnubeubaubjX)�r€}r�(hÙXÃMaster: Online write [data] to RxPDO 32Bit Output. After this, the slave should report the corresponding value via Board_setDigOutput. The value can be checked with “devmem2 0xeef00000â€� also.hÚjfhäj†xhæj[hè}r‚(hê]hë]hì]hí]hð]uhòNhóhhô]rƒj/)�r„}r…(hÙXÃMaster: Online write [data] to RxPDO 32Bit Output. After this, the slave should report the corresponding value via Board_setDigOutput. The value can be checked with “devmem2 0xeef00000â€� also.r†hÚj€häj†xhæj3hè}r‡(hê]hë]hì]hí]hð]uhòM/hô]rˆhýXÃMaster: Online write [data] to RxPDO 32Bit Output. After this, the slave should report the corresponding value via Board_setDigOutput. The value can be checked with “devmem2 0xeef00000â€� also.r‰…�rŠ}r‹(hÙj†hÚj„ubaubaubjX)�rŒ}r�(hÙXtSlave: devmem2 0xeef00004 b [data]. After this, Master should display the corresponding value in TXPDO 32Bit Input. hÚjfhäj†xhæj[hè}rŽ(hê]hë]hì]hí]hð]uhòNhóhhô]r�j/)�r�}r‘(hÙXsSlave: devmem2 0xeef00004 b [data]. After this, Master should display the corresponding value in TXPDO 32Bit Input.r’hÚjŒhäj†xhæj3hè}r“(hê]hë]hì]hí]hð]uhòM2hô]r”hýXsSlave: devmem2 0xeef00004 b [data]. After this, Master should display the corresponding value in TXPDO 32Bit Input.r•…�r–}r—(hÙj’hÚj�ubaubaubeubjÎ)�r˜}r™(hÙUhÚjtxhäj†xhæjÑhè}rš(hê]hë]hì]hí]hð]uhòM5hóhhô]r›jÔ)�rœ}r�(hÙUj×KhÚj˜häj†xhæhòhè}rž(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubjF")�rŸ}r (hÙXJailhouse Internalsr¡hÚjtxhäj†xhæjJ"hè}r¢(hí]r£Ujailhouse-internalsr¤ahì]hê]hë]hð]r¥h,auhòNhóhhô]r¦hýXJailhouse Internalsr§…�r¨}r©(hÙj¡hÚjŸubaubj/)�rª}r«(hÙXLThis section gives some Jailhouse details and required kernel modifications.r¬hÚjtxhäj†xhæj3hè}r­(hê]hë]hì]hí]hð]uhòM:hóhhô]r®hýXLThis section gives some Jailhouse details and required kernel modifications.r¯…�r°}r±(hÙj¬hÚjªubaubjF")�r²}r³(hÙXLinux Kernel Modificationsr´hÚjtxhäj†xhæjJ"hè}rµ(hí]r¶Ulinux-kernel-modificationsr·ahì]hê]hë]hð]r¸hauhòNhóhhô]r¹hýXLinux Kernel Modificationsrº…�r»}r¼(hÙj´hÚj²ubaubj/)�r½}r¾(hÙXIn order to run hypervisor itself and inmates Jailhouse requires additional nodes in kernel dtb. See the am572x-evm-jailhouse.dts and am572x-idk-jailhouse.dts. They add required nodes or modify existing nodes of the default am57xx-evm-reva3.dts and am57xx-idk.dts DTS files.r¿hÚjtxhäj†xhæj3hè}rÀ(hê]hë]hì]hí]hð]uhòM@hóhhô]rÁhýXIn order to run hypervisor itself and inmates Jailhouse requires additional nodes in kernel dtb. See the am572x-evm-jailhouse.dts and am572x-idk-jailhouse.dts. They add required nodes or modify existing nodes of the default am57xx-evm-reva3.dts and am57xx-idk.dts DTS files.rÂ…�rÃ}rÄ(hÙj¿hÚj½ubaubjF")�rÅ}rÆ(hÙXMemory ReservationrÇhÚjtxhäj†xhæjJ"hè}rÈ(hí]rÉUmemory-reservationrÊahì]hê]hë]hð]rËhauhòNhóhhô]rÌhýXMemory ReservationrÍ…�rÎ}rÏ(hÙjÇhÚjÅubaubj/)�rÐ}rÑ(hÙXÔLinux kernel has to reserve some memory for jailhouse hypervisor and for inmate. This memory has to be reserver statically. In this release we reserved 16MB of physical memory for hypervisor and 16MB for inmates.rÒhÚjtxhäj†xhæj3hè}rÓ(hê]hë]hì]hí]hð]uhòMHhóhhô]rÔhýXÔLinux kernel has to reserve some memory for jailhouse hypervisor and for inmate. This memory has to be reserver statically. In this release we reserved 16MB of physical memory for hypervisor and 16MB for inmates.rÕ…�rÖ}r×(hÙjÒhÚjÐubaubjË)�rØ}rÙ(hÙXQ/ { reserved-memory { jailhouse: jailhouse@ef000000 { reg = <0x0 0xef000000 0x0 0x1000000>; no-map; status = "okay"; }; jh_inmate: jh_inmate@ee000000 { reg = <0x0 0xee000000 0x0 0x1000000>; no-map; status = "okay"; }; }; };hÚjtxhäj†xhæjÎhè}rÚ(jjhí]hì]hê]hë]hð]uhòM\hóhhô]rÛhýXQ/ { reserved-memory { jailhouse: jailhouse@ef000000 { reg = <0x0 0xef000000 0x0 0x1000000>; no-map; status = "okay"; }; jh_inmate: jh_inmate@ee000000 { reg = <0x0 0xee000000 0x0 0x1000000>; no-map; status = "okay"; }; }; };rÜ…�rÝ}rÞ(hÙUhÚjØubaubjF")�rß}rà(hÙXHardware Modules ReservationráhÚjtxhäj†xhæjJ"hè}râ(hí]rãUhardware-modules-reservationräahì]hê]hë]hð]råhzauhòNhóhhô]ræhýXHardware Modules Reservationrç…�rè}ré(hÙjáhÚjßubaubj/)�rê}rë(hÙX˜Linux kernel enables all SOC HW modules which are required for its configuration. Appropriate drivers configure required clocks and initialize HW registers. For all unused IPs clocks are not configured. Also kernel power management can put a module into the sleep mode. A jailhouse inmate doesn't share the same hardware module with Linux kernel (except debug UART). But the inmate doesn't configure required clocks and doesn't deal with power domains. So, we still relay on Linux kernel (at least at the current release) to configure clocks to inmate HW modules. If we want to use some hardware modules for an inmate, we have to tell kernel about this in advance.rìhÚjtxhäj†xhæj3hè}rí(hê]hë]hì]hí]hð]uhòMbhóhhô]rîhýX˜Linux kernel enables all SOC HW modules which are required for its configuration. Appropriate drivers configure required clocks and initialize HW registers. For all unused IPs clocks are not configured. Also kernel power management can put a module into the sleep mode. A jailhouse inmate doesn't share the same hardware module with Linux kernel (except debug UART). But the inmate doesn't configure required clocks and doesn't deal with power domains. So, we still relay on Linux kernel (at least at the current release) to configure clocks to inmate HW modules. If we want to use some hardware modules for an inmate, we have to tell kernel about this in advance.rï…�rð}rñ(hÙjìhÚjêubaubj/)�rò}ró(hÙXThe following nodes disable using of the timer8 and uart9 by kernel. Also this restricts kernel to put those IPs to sleep mode.rôhÚjtxhäj†xhæj3hè}rõ(hê]hë]hì]hí]hð]uhòMmhóhhô]röhýXThe following nodes disable using of the timer8 and uart9 by kernel. Also this restricts kernel to put those IPs to sleep mode.r÷…�rø}rù(hÙjôhÚjòubaubjË)�rú}rû(hÙXk&timer8 { status = "disabled"; ti,no-idle; }; &uart9 { status = "disabled"; ti,no-idle; };hÚjtxhäj†xhæjÎhè}rü(jjhí]hì]hê]hë]hð]uhòM€hóhhô]rýhýXk&timer8 { status = "disabled"; ti,no-idle; }; &uart9 { status = "disabled"; ti,no-idle; };rþ…�rÿ}r€(hÙUhÚjúubaubj/)�r€}r€(hÙX±You may see other nodes in the jailhouse DTSes which reserve other IPs to be used for inmates. Thus IDK's DTS disables nodes, which IPs are used for icss_emac and pruss inmates.r€hÚjtxhäj†xhæj3hè}r€(hê]hë]hì]hí]hð]uhòM|hóhhô]r€hýX±You may see other nodes in the jailhouse DTSes which reserve other IPs to be used for inmates. Thus IDK's DTS disables nodes, which IPs are used for icss_emac and pruss inmates.r€…�r€}r€(hÙj€hÚj€ubaubjF")�r €}r €(hÙX GIC Interrupt Inputs Reservationr €hÚjtxhäj†xhæjJ"hè}r €(hí]r €U gic-interrupt-inputs-reservationr€ahì]hê]hë]hð]r€h3auhòNhóhhô]r€hýX GIC Interrupt Inputs Reservationr€…�r€}r€(hÙj €hÚj €ubaubj/)�r€}r€(hÙX.Interrupt lines from hardware modules don't go to ARM interrupt controller (GIC) directly. They go to a crossbar register, which selects a GIC distributor input. The selection is done dynamically by Linux kernel. Linux keeps track of all used and unused GIC inputs. If a jailhouse inmate has to use an interrupt, it has to configure the crossbar register by itself. To prevent conflicts between the Linux crossbar manager and the inmate, and give to the inmate some unused GIC input lines, which it can use, we need to reserve some of them in the kernel dts.r€hÚjtxhäj†xhæj3hè}r€(hê]hë]hì]hí]hð]uhòMƒhóhhô]r€hýX.Interrupt lines from hardware modules don't go to ARM interrupt controller (GIC) directly. They go to a crossbar register, which selects a GIC distributor input. The selection is done dynamically by Linux kernel. Linux keeps track of all used and unused GIC inputs. If a jailhouse inmate has to use an interrupt, it has to configure the crossbar register by itself. To prevent conflicts between the Linux crossbar manager and the inmate, and give to the inmate some unused GIC input lines, which it can use, we need to reserve some of them in the kernel dts.r€…�r€}r€(hÙj€hÚj€ubaubj/)�r€}r€(hÙX›This can be done by adding GIC input numbers to the "ti,irqs-skip" property of the "crossbar_mpu:" node. Lines 134 and 135 are added to the following node.r€hÚjtxhäj†xhæj3hè}r€(hê]hë]hì]hí]hð]uhòM�hóhhô]r €hýX›This can be done by adding GIC input numbers to the "ti,irqs-skip" property of the "crossbar_mpu:" node. Lines 134 and 135 are added to the following node.r!€…�r"€}r#€(hÙj€hÚj€ubaubjË)�r$€}r%€(hÙXScrossbar_mpu: crossbar@4a002a48 { ti,irqs-skip = <10 133 134 135 139 140>; };hÚjtxhäj†xhæjÎhè}r&€(jjhí]hì]hê]hë]hð]uhòM¡hóhhô]r'€hýXScrossbar_mpu: crossbar@4a002a48 { ti,irqs-skip = <10 133 134 135 139 140>; };r(€…�r)€}r*€(hÙUhÚj$€ubaubjÎ)�r+€}r,€(hÙUhÚjtxhäj†xhæjÑhè}r-€(hê]hë]hì]hí]hð]uhòM—hóhhô]r.€jÔ)�r/€}r0€(hÙXz**Note:** The icss_emac.bin application uses much more interrupt lines. Thats is why IDK's dtb skips aditional interrupts.j×KhÚj+€häj†xhæhòhè}r1€(hê]hë]hì]hí]hð]uhòM˜hóhhô]r2€(jW)�r3€}r4€(hÙX **Note:**hè}r5€(hê]hë]hì]hí]hð]uhÚj/€hô]r6€hýXNote:r7€…�r8€}r9€(hÙUhÚj3€ubahæj_ubhýXq The icss_emac.bin application uses much more interrupt lines. Thats is why IDK's dtb skips aditional interrupts.r:€…�r;€}r<€(hÙXq The icss_emac.bin application uses much more interrupt lines. Thats is why IDK's dtb skips aditional interrupts.hÚj/€ubeubaubjË)�r=€}r>€(hÙXdcrossbar_mpu: crossbar@4a002a48 { ti,irqs-skip = <10 44 127 129 133 134 135 136 137 139 140>; };hÚjtxhäj†xhæjÎhè}r?€(jjhí]hì]hê]hë]hð]uhòMªhóhhô]r@€hýXdcrossbar_mpu: crossbar@4a002a48 { ti,irqs-skip = <10 44 127 129 133 134 135 136 137 139 140>; };rA€…�rB€}rC€(hÙUhÚj=€ubaubjF")�rD€}rE€(hÙXRoot-cell configurationrF€hÚjtxhäj†xhæjJ"hè}rG€(hí]rH€Uroot-cell-configurationrI€ahì]hê]hë]hð]rJ€h¸auhòNhóhhô]rK€hýXRoot-cell configurationrL€…�rM€}rN€(hÙjF€hÚjD€ubaubj/)�rO€}rP€(hÙXxWhen hypervisor is being enabled it creates a cell for Linux and moves it to that cell. The cell is called as "root-cell". The cell configuration as a "*.c" file which is compiled to a special binary format "*.cell" file. The hypervisor uses the "cell" file to create a cell. The cell configuration describes memory regions and their attributes which will be used by the cell,hÚjtxhäj†xhæj3hè}rQ€(hê]hë]hì]hí]hð]uhòM£hóhhô]rR€(hýX˜When hypervisor is being enabled it creates a cell for Linux and moves it to that cell. The cell is called as "root-cell". The cell configuration as a "rS€…�rT€}rU€(hÙX˜When hypervisor is being enabled it creates a cell for Linux and moves it to that cell. The cell is called as "root-cell". The cell configuration as a "hÚjO€ubj')�rV€}rW€(hÙX9*.c" file which is compiled to a special binary format "*hè}rX€(hê]hë]hì]hí]hð]uhÚjO€hô]rY€hýX7.c" file which is compiled to a special binary format "rZ€…�r[€}r\€(hÙUhÚjV€ubahæj/ubhýX§.cell" file. The hypervisor uses the "cell" file to create a cell. The cell configuration describes memory regions and their attributes which will be used by the cell,r]€…�r^€}r_€(hÙX§.cell" file. The hypervisor uses the "cell" file to create a cell. The cell configuration describes memory regions and their attributes which will be used by the cell,hÚjO€ubeubjË)�r`€}ra€(hÙX¡.mem_regions = { /* OCMCRAM */ { .phys_start = 0x40300000, .virt_start = 0x40300000, .size = 0x80000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, /* 0x40380000 - 0x48020000 */ { .phys_start = 0x40380000, .virt_start = 0x40380000, .size = 0x7ca0000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, /* UART... */ { .phys_start = 0x48020000, .virt_start = 0x48020000, .size = 0xe0000,//0x00001000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, ... /* RAM */ { .phys_start = 0x80000000, .virt_start = 0x80000000, .size = 0x6F000000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE, }, /* Leave hole for hypervisor */ /* RAM */ { .phys_start = 0xF0000000, .virt_start = 0xF0000000, .size = 0x10000000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE, },hÚjtxhäj†xhæjÎhè}rb€(jjhí]hì]hê]hë]hð]uhòMºhóhhô]rc€hýX¡.mem_regions = { /* OCMCRAM */ { .phys_start = 0x40300000, .virt_start = 0x40300000, .size = 0x80000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, /* 0x40380000 - 0x48020000 */ { .phys_start = 0x40380000, .virt_start = 0x40380000, .size = 0x7ca0000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, /* UART... */ { .phys_start = 0x48020000, .virt_start = 0x48020000, .size = 0xe0000,//0x00001000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, ... /* RAM */ { .phys_start = 0x80000000, .virt_start = 0x80000000, .size = 0x6F000000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE, }, /* Leave hole for hypervisor */ /* RAM */ { .phys_start = 0xF0000000, .virt_start = 0xF0000000, .size = 0x10000000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE, },rd€…�re€}rf€(hÙUhÚj`€ubaubj/)�rg€}rh€(hÙX+bitmap of CPU cores dedicated for the cell,ri€hÚjtxhäj†xhæj3hè}rj€(hê]hë]hì]hí]hð]uhòMÔhóhhô]rk€hýX+bitmap of CPU cores dedicated for the cell,rl€…�rm€}rn€(hÙji€hÚjg€ubaubjË)�ro€}rp€(hÙX.cpus = { 0x3, },hÚjtxhäj†xhæjÎhè}rq€(jjhí]hì]hê]hë]hð]uhòMæhóhhô]rr€hýX.cpus = { 0x3, },rs€…�rt€}ru€(hÙUhÚjo€ubaubj/)�rv€}rw€(hÙX-bitmap of interrupt controller SPI interruptsrx€hÚjtxhäj†xhæj3hè}ry€(hê]hë]hì]hí]hð]uhòMÜhóhhô]rz€hýX-bitmap of interrupt controller SPI interruptsr{€…�r|€}r}€(hÙjx€hÚjv€ubaubjË)�r~€}r€(hÙX].irqchips = { /* GIC */ { .address = 0x48211000, .pin_base = 32, .pin_bitmap = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff }, }, /* GIC */ { .address = 0x48211000, .pin_base = 160, .pin_bitmap = { 0xffffffff, 0, 0, 0 }, }, },hÚjtxhäj†xhæjÎhè}r€€(jjhí]hì]hê]hë]hð]uhòMîhóhhô]r�€hýX].irqchips = { /* GIC */ { .address = 0x48211000, .pin_base = 32, .pin_bitmap = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff }, }, /* GIC */ { .address = 0x48211000, .pin_base = 160, .pin_bitmap = { 0xffffffff, 0, 0, 0 }, }, },r‚€…�rƒ€}r„€(hÙUhÚj~€ubaubj/)�r…€}r†€(hÙX1and some other parameters. That is for all cells.r‡€hÚjtxhäj†xhæj3hè}rˆ€(hê]hë]hì]hí]hð]uhòMñhóhhô]r‰€hýX1and some other parameters. That is for all cells.rŠ€…�r‹€}rŒ€(hÙj‡€hÚj…€ubaubj/)�r�€}rŽ€(hÙXXIn addition to that the root cell also allocates the physical memory for the hypervisor.r�€hÚjtxhäj†xhæj3hè}r�€(hê]hë]hì]hí]hð]uhòMóhóhhô]r‘€hýXXIn addition to that the root cell also allocates the physical memory for the hypervisor.r’€…�r“€}r”€(hÙj�€hÚj�€ubaubjË)�r•€}r–€(hÙXQ.hypervisor_memory = { .phys_start = 0xef000000, .size = 0x1000000, },hÚjtxhäj†xhæjÎhè}r—€(jjhí]hì]hê]hë]hð]uhòMhóhhô]r˜€hýXQ.hypervisor_memory = { .phys_start = 0xef000000, .size = 0x1000000, },r™€…�rš€}r›€(hÙUhÚj•€ubaubj/)�rœ€}r�€(hÙX«The "memory regions" section is used by hypervisor to create the second stage MMU translation table. Usually for root-cell the identical mapping is being used - "VA = PA".rž€hÚjtxhäj†xhæj3hè}rŸ€(hê]hë]hì]hí]hð]uhòMýhóhhô]r €hýX«The "memory regions" section is used by hypervisor to create the second stage MMU translation table. Usually for root-cell the identical mapping is being used - "VA = PA".r¡€…�r¢€}r£€(hÙjž€hÚjœ€ubaubj/)�r¤€}r¥€(hÙXMSee the am57xx-evm.c file is the complete am57xx-evm root cell configuration.r¦€hÚjtxhäj†xhæj3hè}r§€(hê]hë]hì]hí]hð]uhòMhóhhô]r¨€hýXMSee the am57xx-evm.c file is the complete am57xx-evm root cell configuration.r©€…�rª€}r«€(hÙj¦€hÚj¤€ubaubjF")�r¬€}r­€(hÙXBare Metal Inmate Exampler®€hÚjtxhäj†xhæjJ"hè}r¯€(hí]r°€Ubare-metal-inmate-exampler±€ahì]hê]hë]hð]r²€h¡auhòNhóhhô]r³€hýXBare Metal Inmate Exampler´€…�rµ€}r¶€(hÙj®€hÚj¬€ubaubj/)�r·€}r¸€(hÙX,Jailhouse comes with inmate demos located at the *inmates/demos* directory. Current (v0.6) version has two demo inmates: **gic-demo** and **uart-demo**. Those are very simple bare-metal applications that demonstrates a uart and arm-timer interrupt. Those demos are common for all jailhouse platforms.hÚjtxhäj†xhæj3hè}r¹€(hê]hë]hì]hí]hð]uhòMhóhhô]rº€(hýX1Jailhouse comes with inmate demos located at the r»€…�r¼€}r½€(hÙX1Jailhouse comes with inmate demos located at the hÚj·€ubj')�r¾€}r¿€(hÙX*inmates/demos*hè}rÀ€(hê]hë]hì]hí]hð]uhÚj·€hô]rÁ€hýX inmates/demosr€…�rÀ}rÄ€(hÙUhÚj¾€ubahæj/ubhýX9 directory. Current (v0.6) version has two demo inmates: rÅ€…�rÆ€}rÇ€(hÙX9 directory. Current (v0.6) version has two demo inmates: hÚj·€ubjW)�rÈ€}rÉ€(hÙX **gic-demo**hè}rÊ€(hê]hë]hì]hí]hð]uhÚj·€hô]rË€hýXgic-demorÌ€…�rÍ€}r΀(hÙUhÚjÈ€ubahæj_ubhýX and rÏ€…�rЀ}rÑ€(hÙX and hÚj·€ubjW)�rÒ€}rÓ€(hÙX **uart-demo**hè}rÔ€(hê]hë]hì]hí]hð]uhÚj·€hô]rÕ€hýX uart-demorÖ€…�r×€}rØ€(hÙUhÚjÒ€ubahæj_ubhýX•. Those are very simple bare-metal applications that demonstrates a uart and arm-timer interrupt. Those demos are common for all jailhouse platforms.rÙ€…�rÚ€}rÛ€(hÙX•. Those are very simple bare-metal applications that demonstrates a uart and arm-timer interrupt. Those demos are common for all jailhouse platforms.hÚj·€ubeubj/)�rÜ€}rÝ€(hÙX„More interesting may be the **ti-app**, a demo made especially for AM572x SOC. The code is located at the *inmate/ti_app* directory.hÚjtxhäj†xhæj3hè}rÞ€(hê]hë]hì]hí]hð]uhòM hóhhô]r߀(hýXMore interesting may be the rà€…�rá€}râ€(hÙXMore interesting may be the hÚjÜ€ubjW)�rã€}rä€(hÙX **ti-app**hè}rå€(hê]hë]hì]hí]hð]uhÚjÜ€hô]ræ€hýXti-appr瀅�rè€}ré€(hÙUhÚjã€ubahæj_ubhýXD, a demo made especially for AM572x SOC. The code is located at the rꀅ�rë€}rì€(hÙXD, a demo made especially for AM572x SOC. The code is located at the hÚjÜ€ubj')�rí€}rî€(hÙX*inmate/ti_app*hè}rï€(hê]hë]hì]hí]hð]uhÚjÜ€hô]rð€hýX inmate/ti_apprñ€…�rò€}ró€(hÙUhÚjí€ubahæj/ubhýX directory.rô€…�rõ€}rö€(hÙX directory.hÚjÜ€ubeubj/)�r÷€}rø€(hÙXBasically this application is a sandbox to make some experiments. The current version demonstrates of using a uart, timer and a GIC SPI interrupt (timer generates periodic interrupts). The application also has some extra code, which was used to measure interrupt latency.rù€hÚjtxhäj†xhæj3hè}rú€(hê]hë]hì]hí]hð]uhòMhóhhô]rû€hýXBasically this application is a sandbox to make some experiments. The current version demonstrates of using a uart, timer and a GIC SPI interrupt (timer generates periodic interrupts). The application also has some extra code, which was used to measure interrupt latency.rü€…�rý€}rþ€(hÙjù€hÚj÷€ubaubjÎ)�rÿ€}r�(hÙUhÚjtxhäj†xhæjÑhè}r�(hê]hë]hì]hí]hð]uhòMhóhhô]r�jÔ)�r�}r�(hÙUj×KhÚjÿ€häj†xhæhòhè}r�(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubj/)�r�}r�(hÙX“As any inmate the ti-app inmate works in a cell. The am57xx-evm-ti-app.c is the cell configuration file. For this cell only ARM1 core will be used:r�hÚjtxhäj†xhæj3hè}r �(hê]hë]hì]hí]hð]uhòMhóhhô]r �hýX“As any inmate the ti-app inmate works in a cell. The am57xx-evm-ti-app.c is the cell configuration file. For this cell only ARM1 core will be used:r �…�r �}r �(hÙj�hÚj�ubaubjË)�r�}r�(hÙX.cpus = { 0x2, },hÚjtxhäj†xhæjÎhè}r�(jjhí]hì]hê]hë]hð]uhòM+hóhhô]r�hýX.cpus = { 0x2, },r�…�r�}r�(hÙUhÚj�ubaubj/)�r�}r�(hÙX†**NOTE:** *Actually on am572 SOC, which has only 2 ARM core and Linux always uses the ARM0 core only ARM1 can be taken for an inmate.*hÚjtxhäj†xhæj3hè}r�(hê]hë]hì]hí]hð]uhòM!hóhhô]r�(jW)�r�}r�(hÙX **NOTE:**hè}r�(hê]hë]hì]hí]hð]uhÚj�hô]r�hýXNOTE:r�…�r�}r�(hÙUhÚj�ubahæj_ubhýX …�r �}r!�(hÙX hÚj�ubj')�r"�}r#�(hÙX|*Actually on am572 SOC, which has only 2 ARM core and Linux always uses the ARM0 core only ARM1 can be taken for an inmate.*hè}r$�(hê]hë]hì]hí]hð]uhÚj�hô]r%�hýXzActually on am572 SOC, which has only 2 ARM core and Linux always uses the ARM0 core only ARM1 can be taken for an inmate.r&�…�r'�}r(�(hÙUhÚj"�ubahæj/ubeubj/)�r)�}r*�(hÙX,The cell configuration has 5 memory regions:r+�hÚjtxhäj†xhæj3hè}r,�(hê]hë]hì]hí]hð]uhòM$hóhhô]r-�hýX,The cell configuration has 5 memory regions:r.�…�r/�}r0�(hÙj+�hÚj)�ubaubjË)�r1�}r2�(hÙX+/* UART... */ { .phys_start = 0x48020000, .virt_start = 0x48020000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO | JAILHOUSE_MEM_ROOTSHARED, }, /* UART... */ { .phys_start = 0x48424000, .virt_start = 0x48424000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO | JAILHOUSE_MEM_ROOTSHARED, }, /* TIMER... */ { .phys_start = 0x48826000, .virt_start = 0x48826000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO | JAILHOUSE_MEM_ROOTSHARED, }, /* L4_CFG */ { .phys_start = 0x4a000000, .virt_start = 0x4a000000, .size = 0xE00000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO | JAILHOUSE_MEM_ROOTSHARED, }, /* RAM */ { .phys_start = 0xee000000, .virt_start = 0, .size = 0x800000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_LOADABLE, },hÚjtxhäj†xhæjÎhè}r3�(jjhí]hì]hê]hë]hð]uhòM6hóhhô]r4�hýX+/* UART... */ { .phys_start = 0x48020000, .virt_start = 0x48020000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO | JAILHOUSE_MEM_ROOTSHARED, }, /* UART... */ { .phys_start = 0x48424000, .virt_start = 0x48424000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO | JAILHOUSE_MEM_ROOTSHARED, }, /* TIMER... */ { .phys_start = 0x48826000, .virt_start = 0x48826000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO | JAILHOUSE_MEM_ROOTSHARED, }, /* L4_CFG */ { .phys_start = 0x4a000000, .virt_start = 0x4a000000, .size = 0xE00000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO | JAILHOUSE_MEM_ROOTSHARED, }, /* RAM */ { .phys_start = 0xee000000, .virt_start = 0, .size = 0x800000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_LOADABLE, },r5�…�r6�}r7�(hÙUhÚj1�ubaubj/)�r8�}r9�(hÙXQTwo for UARTs. *The first one for UART3, which is a standard EVM debug uart. The second for UART9, using of which requires some board modifications. But UART9 doesn't conflict with Linux or hypervisor and may be more useful if the inmate needs a dedicated UART.* One region for timer9 and one for access multiple configuration registers.hÚjtxhäj†xhæj3hè}r:�(hê]hë]hì]hí]hð]uhòMLhóhhô]r;�(hýXTwo for UARTs. r<�…�r=�}r>�(hÙXTwo for UARTs. hÚj8�ubj')�r?�}r@�(hÙX÷*The first one for UART3, which is a standard EVM debug uart. The second for UART9, using of which requires some board modifications. But UART9 doesn't conflict with Linux or hypervisor and may be more useful if the inmate needs a dedicated UART.*hè}rA�(hê]hë]hì]hí]hð]uhÚj8�hô]rB�hýXõThe first one for UART3, which is a standard EVM debug uart. The second for UART9, using of which requires some board modifications. But UART9 doesn't conflict with Linux or hypervisor and may be more useful if the inmate needs a dedicated UART.rC�…�rD�}rE�(hÙUhÚj?�ubahæj/ubhýXK One region for timer9 and one for access multiple configuration registers.rF�…�rG�}rH�(hÙXK One region for timer9 and one for access multiple configuration registers.hÚj8�ubeubj/)�rI�}rJ�(hÙXVThe last region is for RAM allocated for the inmate. Similar to root-cell memory regions configuration memory mapping for all regions except for RAM are identical (VA = PA). For the RAM region virtual address has to be '0'. The physical addresses of the region must be inside of the physical memory reserved for inmates in the Linux DTS file.rK�hÚjtxhäj†xhæj3hè}rL�(hê]hë]hì]hí]hð]uhòMRhóhhô]rM�hýXVThe last region is for RAM allocated for the inmate. Similar to root-cell memory regions configuration memory mapping for all regions except for RAM are identical (VA = PA). For the RAM region virtual address has to be '0'. The physical addresses of the region must be inside of the physical memory reserved for inmates in the Linux DTS file.rN�…�rO�}rP�(hÙjK�hÚjI�ubaubj/)�rQ�}rR�(hÙXŠIn the .irqchip section of the cell configuration file we reserve GIC interrupt line #134 (*One of two lines reserved in the kernel DTS*).hÚjtxhäj†xhæj3hè}rS�(hê]hë]hì]hí]hð]uhòMYhóhhô]rT�(hýX[In the .irqchip section of the cell configuration file we reserve GIC interrupt line #134 (rU�…�rV�}rW�(hÙX[In the .irqchip section of the cell configuration file we reserve GIC interrupt line #134 (hÚjQ�ubj')�rX�}rY�(hÙX-*One of two lines reserved in the kernel DTS*hè}rZ�(hê]hë]hì]hí]hð]uhÚjQ�hô]r[�hýX+One of two lines reserved in the kernel DTSr\�…�r]�}r^�(hÙUhÚjX�ubahæj/ubhýX).r_�…�r`�}ra�(hÙX).hÚjQ�ubeubjË)�rb�}rc�(hÙXm/* GIC */ { .address = 0x48211000, .pin_base = 160, .pin_bitmap = { 0x00000040, }, },hÚjtxhäj†xhæjÎhè}rd�(jjhí]hì]hê]hë]hð]uhòMmhóhhô]re�hýXm/* GIC */ { .address = 0x48211000, .pin_base = 160, .pin_bitmap = { 0x00000040, }, },rf�…�rg�}rh�(hÙUhÚjb�ubaubj/)�ri�}rj�(hÙXž*Here where #134 comes from. The 0x00000040 is the bitmask of the sixth bit. So, .pin_base(160) + .pin_bitmap(6) - 32(number of SWI and PPI interrupt) = 134.*rk�hÚjtxhäj†xhæj3hè}rl�(hê]hë]hì]hí]hð]uhòMghóhhô]rm�j')�rn�}ro�(hÙjk�hè}rp�(hê]hë]hì]hí]hð]uhÚji�hô]rq�hýXœHere where #134 comes from. The 0x00000040 is the bitmask of the sixth bit. So, .pin_base(160) + .pin_bitmap(6) - 32(number of SWI and PPI interrupt) = 134.rr�…�rs�}rt�(hÙUhÚjn�ubahæj/ubaubj/)�ru�}rv�(hÙXÞAs other jailhouse demos the **ti-app** uses the jailhouse startup code, which sets the inmate vector table, zeros BSS segment, sets the stack up and calls the inmate_main(). The initialization of the GIC controller is done by hypervisor. Also the hypervisor remaps GICC interface to GICV interface and intercepts all inmates accesses to GICD. It allows to read/write only GICD registers, related to the lines given in the .irq_chips section. In our case for the line #134 only.hÚjtxhäj†xhæj3hè}rw�(hê]hë]hì]hí]hð]uhòMkhóhhô]rx�(hýXAs other jailhouse demos the ry�…�rz�}r{�(hÙXAs other jailhouse demos the hÚju�ubjW)�r|�}r}�(hÙX **ti-app**hè}r~�(hê]hë]hì]hí]hð]uhÚju�hô]r�hýXti-appr€�…�r��}r‚�(hÙUhÚj|�ubahæj_ubhýX· uses the jailhouse startup code, which sets the inmate vector table, zeros BSS segment, sets the stack up and calls the inmate_main(). The initialization of the GIC controller is done by hypervisor. Also the hypervisor remaps GICC interface to GICV interface and intercepts all inmates accesses to GICD. It allows to read/write only GICD registers, related to the lines given in the .irq_chips section. In our case for the line #134 only.rƒ�…�r„�}r…�(hÙX· uses the jailhouse startup code, which sets the inmate vector table, zeros BSS segment, sets the stack up and calls the inmate_main(). The initialization of the GIC controller is done by hypervisor. Also the hypervisor remaps GICC interface to GICV interface and intercepts all inmates accesses to GICD. It allows to read/write only GICD registers, related to the lines given in the .irq_chips section. In our case for the line #134 only.hÚju�ubeubj/)�r†�}r‡�(hÙXÚIn the inmate_main() the inmate initializes uart, sets the crossbar and calls the gic_setup() to set the inmate's interrupt handler. *The jailhouse provides inmate interrupt controller API. This can be used by inmate.*hÚjtxhäj†xhæj3hè}rˆ�(hê]hë]hì]hí]hð]uhòMshóhhô]r‰�(hýX…In the inmate_main() the inmate initializes uart, sets the crossbar and calls the gic_setup() to set the inmate's interrupt handler. rŠ�…�r‹�}rŒ�(hÙX…In the inmate_main() the inmate initializes uart, sets the crossbar and calls the gic_setup() to set the inmate's interrupt handler. hÚj†�ubj')�r��}rŽ�(hÙXU*The jailhouse provides inmate interrupt controller API. This can be used by inmate.*hè}r��(hê]hë]hì]hí]hð]uhÚj†�hô]r��hýXSThe jailhouse provides inmate interrupt controller API. This can be used by inmate.r‘�…�r’�}r“�(hÙUhÚj��ubahæj/ubeubj/)�r”�}r•�(hÙXAThe ti-app initializes the timer and enters to the infinite loop.r–�hÚjtxhäj†xhæj3hè}r—�(hê]hë]hì]hí]hð]uhòMxhóhhô]r˜�hýXAThe ti-app initializes the timer and enters to the infinite loop.r™�…�rš�}r›�(hÙj–�hÚj”�ubaubj/)�rœ�}r��(hÙX[Actually the inmate code has only about 100 lines and doesn't require any more explanation.rž�hÚjtxhäj†xhæj3hè}rŸ�(hê]hë]hì]hí]hð]uhòMzhóhhô]r �hýX[Actually the inmate code has only about 100 lines and doesn't require any more explanation.r¡�…�r¢�}r£�(hÙjž�hÚjœ�ubaubjF")�r¤�}r¥�(hÙXRTOS PDK Inmatesr¦�hÚjtxhäj†xhæjJ"hè}r§�(hí]r¨�Urtos-pdk-inmatesr©�ahì]hê]hë]hð]rª�h)auhòNhóhhô]r«�hýXRTOS PDK Inmatesr¬�…�r­�}r®�(hÙj¦�hÚj¤�ubaubj/)�r¯�}r°�(hÙX~The jailhouse demo applications and the "ti_app" are built by jailhouse's makefile inside the jailhouse's source tree. It is more interesting to build an inmate outside of the jailhouse source tree, using independent makefile and third party libraries. This release provides **led_test**, a simple example of a bare-metal application, which uses prebuilt RTOS PDK libraries and is built independently on Jailhouse. It also has ports of two TI RTOS SYSBIOS test applications - pruss and icss_emac. *There are two other examples: 1) bare-metal memcp_bm - a simple application to measure memory bandwidth; 2) Ethercat_slave_demo - ported to Jailhouse example from "PRU-ICSS Industrial Software for Sitaraâ„¢ Processors". The example requires some modifications of the PRU-ICSS Industrial Software, which is not published yet. That is why the ethercat_slave_demo included here as a reference only.*hÚjtxhäj†xhæj3hè}r±�(hê]hë]hì]hí]hð]uhòM€hóhhô]r²�(hýXThe jailhouse demo applications and the "ti_app" are built by jailhouse's makefile inside the jailhouse's source tree. It is more interesting to build an inmate outside of the jailhouse source tree, using independent makefile and third party libraries. This release provides r³�…�r´�}rµ�(hÙXThe jailhouse demo applications and the "ti_app" are built by jailhouse's makefile inside the jailhouse's source tree. It is more interesting to build an inmate outside of the jailhouse source tree, using independent makefile and third party libraries. This release provides hÚj¯�ubjW)�r¶�}r·�(hÙX **led_test**hè}r¸�(hê]hë]hì]hí]hð]uhÚj¯�hô]r¹�hýXled_testrº�…�r»�}r¼�(hÙUhÚj¶�ubahæj_ubhýXÒ, a simple example of a bare-metal application, which uses prebuilt RTOS PDK libraries and is built independently on Jailhouse. It also has ports of two TI RTOS SYSBIOS test applications - pruss and icss_emac. r½�…�r¾�}r¿�(hÙXÒ, a simple example of a bare-metal application, which uses prebuilt RTOS PDK libraries and is built independently on Jailhouse. It also has ports of two TI RTOS SYSBIOS test applications - pruss and icss_emac. hÚj¯�ubj')�rÀ�}rÁ�(hÙX�*There are two other examples: 1) bare-metal memcp_bm - a simple application to measure memory bandwidth; 2) Ethercat_slave_demo - ported to Jailhouse example from "PRU-ICSS Industrial Software for Sitaraâ„¢ Processors". The example requires some modifications of the PRU-ICSS Industrial Software, which is not published yet. That is why the ethercat_slave_demo included here as a reference only.*hè}rÂ�(hê]hë]hì]hí]hð]uhÚj¯�hô]rÃ�hýX‹There are two other examples: 1) bare-metal memcp_bm - a simple application to measure memory bandwidth; 2) Ethercat_slave_demo - ported to Jailhouse example from "PRU-ICSS Industrial Software for Sitaraâ„¢ Processors". The example requires some modifications of the PRU-ICSS Industrial Software, which is not published yet. That is why the ethercat_slave_demo included here as a reference only.rÄ�…�rÅ�}rÆ�(hÙUhÚjÀ�ubahæj/ubeubj/)�rÇ�}rÈ�(hÙX™The code of the applications is located on the $(SDK_INSTALL_PATH)/processor_sdk_rtos_am57xx_4_01_00_04/demos/jailhouse-inmate directory, which contains:rÉ�hÚjtxhäj†xhæj3hè}rÊ�(hê]hë]hì]hí]hð]uhòM�hóhhô]rË�hýX™The code of the applications is located on the $(SDK_INSTALL_PATH)/processor_sdk_rtos_am57xx_4_01_00_04/demos/jailhouse-inmate directory, which contains:rÌ�…�rÍ�}rÎ�(hÙjÉ�hÚjÇ�ubaubjË)�rÏ�}rÐ�(hÙXG├── baremetal │ ├── led │ │ ├── led_test.c │ │ └── makefile │ ├── memcp_bm │ │ ├── makefile │ │ └── memcp_bm.c │ └── soc │ └── am572x │ ├── evmAM572x │ │ ├── entry.S │ │ ├── gic.c │ │ ├── linker.cmd │ │ └── make.inc │ └── rules.mk ├── makefile ├── rtos │ ├── ethercat_slave_demo │ │ ├── bios │ │ │ ├── am572x_app.cfg │ │ │ └── makefile │ │ ├── Makefile │ │ └── src │ │ └── board_jh.c │ ├── icss_emac │ │ ├── bios │ │ │ ├── icss_emac_arm_wSoCLib.cfg │ │ │ └── makefile │ │ ├── lnk_pruss_fw.cmd │ │ ├── Makefile │ │ └── src │ │ ├── idkAM572x_ethernet_config_jh.c │ │ └── idkAM572x_jh.c │ ├── pru-icss │ │ ├── bios │ │ │ ├── makefile │ │ │ └── pruss_arm_wSoCLib.cfg │ │ ├── Makefile │ │ └── src │ │ └── idkAM572x_jh.c │ └── Rules.mk └── setenv.shhÚjtxhäj†xhæjÎhè}rÑ�(jjhí]hì]hê]hë]hð]uhòM£hóhhô]rÒ�hýXG├── baremetal │ ├── led │ │ ├── led_test.c │ │ └── makefile │ ├── memcp_bm │ │ ├── makefile │ │ └── memcp_bm.c │ └── soc │ └── am572x │ ├── evmAM572x │ │ ├── entry.S │ │ ├── gic.c │ │ ├── linker.cmd │ │ └── make.inc │ └── rules.mk ├── makefile ├── rtos │ ├── ethercat_slave_demo │ │ ├── bios │ │ │ ├── am572x_app.cfg │ │ │ └── makefile │ │ ├── Makefile │ │ └── src │ │ └── board_jh.c │ ├── icss_emac │ │ ├── bios │ │ │ ├── icss_emac_arm_wSoCLib.cfg │ │ │ └── makefile │ │ ├── lnk_pruss_fw.cmd │ │ ├── Makefile │ │ └── src │ │ ├── idkAM572x_ethernet_config_jh.c │ │ └── idkAM572x_jh.c │ ├── pru-icss │ │ ├── bios │ │ │ ├── makefile │ │ │ └── pruss_arm_wSoCLib.cfg │ │ ├── Makefile │ │ └── src │ │ └── idkAM572x_jh.c │ └── Rules.mk └── setenv.shrÓ�…�rÔ�}rÕ�(hÙUhÚjÏ�ubaubjF")�rÖ�}r×�(hÙXBare-metal examplerØ�hÚjtxhäj†xhæjJ"hè}rÙ�(hí]rÚ�Ubare-metal-examplerÛ�ahì]hê]hë]hð]rÜ�h­auhòNhóhhô]rÝ�hýXBare-metal examplerÞ�…�rß�}rà�(hÙjØ�hÚjÖ�ubaubj/)�rá�}râ�(hÙX¹The bare-metal directory has three subdirectories: **soc** - has common for bare-metal applications soc specific code; **led** - led_test application code; **memcp_bm** - memcp_bm code;hÚjtxhäj†xhæj3hè}rã�(hê]hë]hì]hí]hð]uhòMÃhóhhô]rä�(hýX3The bare-metal directory has three subdirectories: rå�…�ræ�}rç�(hÙX3The bare-metal directory has three subdirectories: hÚjá�ubjW)�rè�}ré�(hÙX**soc**hè}rê�(hê]hë]hì]hí]hð]uhÚjá�hô]rë�hýXsocrì�…�rí�}rî�(hÙUhÚjè�ubahæj_ubhýX= - has common for bare-metal applications soc specific code; rï�…�rð�}rñ�(hÙX= - has common for bare-metal applications soc specific code; hÚjá�ubjW)�rò�}ró�(hÙX**led**hè}rô�(hê]hë]hì]hí]hð]uhÚjá�hô]rõ�hýXledrö�…�r÷�}rø�(hÙUhÚjò�ubahæj_ubhýX - led_test application code; rù�…�rú�}rû�(hÙX - led_test application code; hÚjá�ubjW)�rü�}rý�(hÙX **memcp_bm**hè}rþ�(hê]hë]hì]hí]hð]uhÚjá�hô]rÿ�hýXmemcp_bmr‚…�r‚}r‚(hÙUhÚjü�ubahæj_ubhýX - memcp_bm code;r‚…�r‚}r‚(hÙX - memcp_bm code;hÚjá�ubeubj/)�r‚}r‚(hÙX4The **soc/am572x/evmAM572x** sub-directory contains:r‚hÚjtxhäj†xhæj3hè}r ‚(hê]hë]hì]hí]hð]uhòMÇhóhhô]r ‚(hýXThe r ‚…�r ‚}r ‚(hÙXThe hÚj‚ubjW)�r‚}r‚(hÙX**soc/am572x/evmAM572x**hè}r‚(hê]hë]hì]hí]hð]uhÚj‚hô]r‚hýXsoc/am572x/evmAM572xr‚…�r‚}r‚(hÙUhÚj‚ubahæj_ubhýX sub-directory contains:r‚…�r‚}r‚(hÙX sub-directory contains:hÚj‚ubeubjQ)�r‚}r‚(hÙUhÚjtxhäj†xhæjThè}r‚(jVX-hí]hì]hê]hë]hð]uhòMÉhóhhô]r‚(jX)�r‚}r‚(hÙX)**entry.S** - startup file for an inmate;r‚hÚj‚häj†xhæj[hè}r‚(hê]hë]hì]hí]hð]uhòNhóhhô]r ‚j/)�r!‚}r"‚(hÙj‚hÚj‚häj†xhæj3hè}r#‚(hê]hë]hì]hí]hð]uhòMÉhô]r$‚(jW)�r%‚}r&‚(hÙX **entry.S**hè}r'‚(hê]hë]hì]hí]hð]uhÚj!‚hô]r(‚hýXentry.Sr)‚…�r*‚}r+‚(hÙUhÚj%‚ubahæj_ubhýX - startup file for an inmate;r,‚…�r-‚}r.‚(hÙX - startup file for an inmate;hÚj!‚ubeubaubjX)�r/‚}r0‚(hÙXu**gic.c** - has the dummy \_weak\_ INTCCommonIntrHandler(), which can be overridden by an actual application handler.hÚj‚häj†xhæj[hè}r1‚(hê]hë]hì]hí]hð]uhòNhóhhô]r2‚j/)�r3‚}r4‚(hÙXu**gic.c** - has the dummy \_weak\_ INTCCommonIntrHandler(), which can be overridden by an actual application handler.hÚj/‚häj†xhæj3hè}r5‚(hê]hë]hì]hí]hð]uhòMÊhô]r6‚(jW)�r7‚}r8‚(hÙX **gic.c**hè}r9‚(hê]hë]hì]hí]hð]uhÚj3‚hô]r:‚hýXgic.cr;‚…�r<‚}r=‚(hÙUhÚj7‚ubahæj_ubhýXj - has the dummy _weak_ INTCCommonIntrHandler(), which can be overridden by an actual application handler.r>‚…�r?‚}r@‚(hÙXl - has the dummy \_weak\_ INTCCommonIntrHandler(), which can be overridden by an actual application handler.hÚj3‚ubeubaubjX)�rA‚}rB‚(hÙXÌ**linker.cmd** - jailhouse requires that an inmate shall start from address "0". It also requires that all inmates segments be located in contiguous memory. This linker.cmd is to meet these requirements. hÚj‚häj†xhæj[hè}rC‚(hê]hë]hì]hí]hð]uhòNhóhhô]rD‚j/)�rE‚}rF‚(hÙXË**linker.cmd** - jailhouse requires that an inmate shall start from address "0". It also requires that all inmates segments be located in contiguous memory. This linker.cmd is to meet these requirements.hÚjA‚häj†xhæj3hè}rG‚(hê]hë]hì]hí]hð]uhòMÌhô]rH‚(jW)�rI‚}rJ‚(hÙX**linker.cmd**hè}rK‚(hê]hë]hì]hí]hð]uhÚjE‚hô]rL‚hýX linker.cmdrM‚…�rN‚}rO‚(hÙUhÚjI‚ubahæj_ubhýX½ - jailhouse requires that an inmate shall start from address "0". It also requires that all inmates segments be located in contiguous memory. This linker.cmd is to meet these requirements.rP‚…�rQ‚}rR‚(hÙX½ - jailhouse requires that an inmate shall start from address "0". It also requires that all inmates segments be located in contiguous memory. This linker.cmd is to meet these requirements.hÚjE‚ubeubaubeubj/)�rS‚}rT‚(hÙXThe **led** directory contains:rU‚hÚjtxhäj†xhæj3hè}rV‚(hê]hë]hì]hí]hð]uhòMÐhóhhô]rW‚(hýXThe rX‚…�rY‚}rZ‚(hÙXThe hÚjS‚ubjW)�r[‚}r\‚(hÙX**led**hè}r]‚(hê]hë]hì]hí]hð]uhÚjS‚hô]r^‚hýXledr_‚…�r`‚}ra‚(hÙUhÚj[‚ubahæj_ubhýX directory contains:rb‚…�rc‚}rd‚(hÙX directory contains:hÚjS‚ubeubjQ)�re‚}rf‚(hÙUhÚjtxhäj†xhæjThè}rg‚(jVX-hí]hì]hê]hë]hð]uhòMÒhóhhô]rh‚(jX)�ri‚}rj‚(hÙX™The main inmate **led_test.c** code. This file is based on $(SDK_INSTALL_PATH)/pdk_am57xx_1_0_6/packages/ti/board/diag/led/src/led_test.c diagnostic application. Because the inmate works as a virtual machine in order to use caches MMU has to be enabled. So, the application creates the MMU translation table with identical mapping and enables MMU. It also has the gic_init(), which is now used at this relese.hÚje‚häj†xhæj[hè}rk‚(hê]hë]hì]hí]hð]uhòNhóhhô]rl‚j/)�rm‚}rn‚(hÙX™The main inmate **led_test.c** code. This file is based on $(SDK_INSTALL_PATH)/pdk_am57xx_1_0_6/packages/ti/board/diag/led/src/led_test.c diagnostic application. Because the inmate works as a virtual machine in order to use caches MMU has to be enabled. So, the application creates the MMU translation table with identical mapping and enables MMU. It also has the gic_init(), which is now used at this relese.hÚji‚häj†xhæj3hè}ro‚(hê]hë]hì]hí]hð]uhòMÒhô]rp‚(hýXThe main inmate rq‚…�rr‚}rs‚(hÙXThe main inmate hÚjm‚ubjW)�rt‚}ru‚(hÙX**led_test.c**hè}rv‚(hê]hë]hì]hí]hð]uhÚjm‚hô]rw‚hýX led_test.crx‚…�ry‚}rz‚(hÙUhÚjt‚ubahæj_ubhýX{ code. This file is based on $(SDK_INSTALL_PATH)/pdk_am57xx_1_0_6/packages/ti/board/diag/led/src/led_test.c diagnostic application. Because the inmate works as a virtual machine in order to use caches MMU has to be enabled. So, the application creates the MMU translation table with identical mapping and enables MMU. It also has the gic_init(), which is now used at this relese.r{‚…�r|‚}r}‚(hÙX{ code. This file is based on $(SDK_INSTALL_PATH)/pdk_am57xx_1_0_6/packages/ti/board/diag/led/src/led_test.c diagnostic application. Because the inmate works as a virtual machine in order to use caches MMU has to be enabled. So, the application creates the MMU translation table with identical mapping and enables MMU. It also has the gic_init(), which is now used at this relese.hÚjm‚ubeubaubjX)�r~‚}r‚(hÙX`**makefile** is to build the inmate. As you can see, it links number of brebuilt PDK libraries. hÚje‚häj†xhæj[hè}r€‚(hê]hë]hì]hí]hð]uhòNhóhhô]r�‚j/)�r‚‚}rƒ‚(hÙX_**makefile** is to build the inmate. As you can see, it links number of brebuilt PDK libraries.hÚj~‚häj†xhæj3hè}r„‚(hê]hë]hì]hí]hð]uhòMØhô]r…‚(jW)�r†‚}r‡‚(hÙX **makefile**hè}rˆ‚(hê]hë]hì]hí]hð]uhÚj‚‚hô]r‰‚hýXmakefilerŠ‚…�r‹‚}rŒ‚(hÙUhÚj†‚ubahæj_ubhýXS is to build the inmate. As you can see, it links number of brebuilt PDK libraries.r�‚…�rŽ‚}r�‚(hÙXS is to build the inmate. As you can see, it links number of brebuilt PDK libraries.hÚj‚‚ubeubaubeubjÎ)�r�‚}r‘‚(hÙUhÚjtxhäj†xhæjÑhè}r’‚(hê]hë]hì]hí]hð]uhòMÛhóhhô]r“‚(jÔ)�r”‚}r•‚(hÙUj×KhÚj�‚häj†xhæhòhè}r–‚(hê]hë]hì]hí]hð]uhòKhóhhô]ubjÔ)�r—‚}r˜‚(hÙXYTo build the **led_test.bin** (a jailhouse inmate has to be \*.bin, but not \*.out file):j×KhÚj�‚häj†xhæhòhè}r™‚(hê]hë]hì]hí]hð]uhòMÝhóhhô]rš‚(hýX To build the r›‚…�rœ‚}r�‚(hÙX To build the hÚj—‚ubjW)�rž‚}rŸ‚(hÙX**led_test.bin**hè}r ‚(hê]hë]hì]hí]hð]uhÚj—‚hô]r¡‚hýX led_test.binr¢‚…�r£‚}r¤‚(hÙUhÚjž‚ubahæj_ubhýX: (a jailhouse inmate has to be *.bin, but not *.out file):r¥‚…�r¦‚}r§‚(hÙX< (a jailhouse inmate has to be \*.bin, but not \*.out file):hÚj—‚ubeubeubjQ)�r¨‚}r©‚(hÙUhÚjtxhäj†xhæjThè}rª‚(jVX-hí]hì]hê]hë]hð]uhòMßhóhhô]r«‚(jX)�r¬‚}r­‚(hÙXGcd to $(SDK_INSTALL_PATH)/processor_sdk_rtos_am57xx_4_01_00_04 drectoryhÚj¨‚häj†xhæj[hè}r®‚(hê]hë]hì]hí]hð]uhòNhóhhô]r¯‚j/)�r°‚}r±‚(hÙXGcd to $(SDK_INSTALL_PATH)/processor_sdk_rtos_am57xx_4_01_00_04 drectoryr²‚hÚj¬‚häj†xhæj3hè}r³‚(hê]hë]hì]hí]hð]uhòMßhô]r´‚hýXGcd to $(SDK_INSTALL_PATH)/processor_sdk_rtos_am57xx_4_01_00_04 drectoryrµ‚…�r¶‚}r·‚(hÙj²‚hÚj°‚ubaubaubjX)�r¸‚}r¹‚(hÙXsource setupenv.shrº‚hÚj¨‚häj†xhæj[hè}r»‚(hê]hë]hì]hí]hð]uhòNhóhhô]r¼‚j/)�r½‚}r¾‚(hÙjº‚hÚj¸‚häj†xhæj3hè}r¿‚(hê]hë]hì]hí]hð]uhòMáhô]rÀ‚hýXsource setupenv.shrÁ‚…�r‚}rÂ(hÙjº‚hÚj½‚ubaubaubjX)�rÄ‚}rÅ‚(hÙXVcd to $(SDK_INSTALL_PATH)/processor_sdk_rtos_am57xx_4_01_00_04/demos/jailhouse-inmateshÚj¨‚häj†xhæj[hè}rÆ‚(hê]hë]hì]hí]hð]uhòNhóhhô]rÇ‚j/)�rÈ‚}rÉ‚(hÙXVcd to $(SDK_INSTALL_PATH)/processor_sdk_rtos_am57xx_4_01_00_04/demos/jailhouse-inmatesrÊ‚hÚjÄ‚häj†xhæj3hè}rË‚(hê]hë]hì]hí]hð]uhòMâhô]rÌ‚hýXVcd to $(SDK_INSTALL_PATH)/processor_sdk_rtos_am57xx_4_01_00_04/demos/jailhouse-inmatesrÍ‚…�r΂}rÏ‚(hÙjÊ‚hÚjÈ‚ubaubaubjX)�rЂ}rÑ‚(hÙXsource setenv.shrÒ‚hÚj¨‚häj†xhæj[hè}rÓ‚(hê]hë]hì]hí]hð]uhòNhóhhô]rÔ‚j/)�rÕ‚}rÖ‚(hÙjÒ‚hÚjЂhäj†xhæj3hè}rׂ(hê]hë]hì]hí]hð]uhòMähô]rØ‚hýXsource setenv.shrÙ‚…�rÚ‚}rÛ‚(hÙjÒ‚hÚjÕ‚ubaubaubjX)�rÜ‚}rÝ‚(hÙXrun **make led_test** hÚj¨‚häj†xhæj[hè}rÞ‚(hê]hë]hì]hí]hð]uhòNhóhhô]rß‚j/)�rà‚}rá‚(hÙXrun **make led_test**hÚjÜ‚häj†xhæj3hè}râ‚(hê]hë]hì]hí]hð]uhòMåhô]rã‚(hýXrun rä‚…�rå‚}ræ‚(hÙXrun hÚjà‚ubjW)�rç‚}rè‚(hÙX**make led_test**hè}ré‚(hê]hë]hì]hí]hð]uhÚjà‚hô]rê‚hýX make led_testrë‚…�rì‚}rí‚(hÙUhÚjç‚ubahæj_ubeubaubeubj/)�rî‚}rï‚(hÙXNThat should build the led_test.bin binary, that can be loaded to the jailhouse cell and run. As any other inmate it has to be run in a cell, created with appropriate cell configuration. In contrast to the led_test.bin, which is compiled independently on jailhouse, a corresponding cell configuration is compiled by jailhouse makefile.rð‚hÚjtxhäj†xhæj3hè}rñ‚(hê]hë]hì]hí]hð]uhòMçhóhhô]rò‚hýXNThat should build the led_test.bin binary, that can be loaded to the jailhouse cell and run. As any other inmate it has to be run in a cell, created with appropriate cell configuration. In contrast to the led_test.bin, which is compiled independently on jailhouse, a corresponding cell configuration is compiled by jailhouse makefile.ró‚…�rô‚}rõ‚(hÙjð‚hÚjî‚ubaubj/)�rö‚}r÷‚(hÙXìThe am57xx-pdk-leddiag.c cell configuration file is located in the $TI_SDK_PATH/board-support/extra-drivers/jailhouse-0.7/configs directory. Use the compiled am57xx-pdk-leddiag.cell file when you create the cell for led_test.bin inmate.rø‚hÚjtxhäj†xhæj3hè}rù‚(hê]hë]hì]hí]hð]uhòMíhóhhô]rú‚hýXìThe am57xx-pdk-leddiag.c cell configuration file is located in the $TI_SDK_PATH/board-support/extra-drivers/jailhouse-0.7/configs directory. Use the compiled am57xx-pdk-leddiag.cell file when you create the cell for led_test.bin inmate.rû‚…�rü‚}rý‚(hÙjø‚hÚjö‚ubaubj/)�rþ‚}rÿ‚(hÙX?See `Running the Demo <#Running_the_Demo>`__ to run the inmate.rƒhÚjtxhäj†xhæj3hè}rƒ(hê]hë]hì]hí]hð]uhòMòhóhhô]rƒ(hýXSee rƒ…�rƒ}rƒ(hÙXSee hÚjþ‚ubj)�rƒ}rƒ(hÙX(`Running the Demo <#Running_the_Demo>`__hè}rƒ(UnameXRunning the DemojX#Running_the_Demohí]hì]hê]hë]hð]uhÚjþ‚hô]r ƒhýXRunning the Demor ƒ…�r ƒ}r ƒ(hÙUhÚjƒubahæjubhýX to run the inmate.r ƒ…�rƒ}rƒ(hÙX to run the inmate.hÚjþ‚ubeubj/)�rƒ}rƒ(hÙXðThe **memcp_bm** is very similar to led_test. It is built in the same way as the led_test. Use the am57xx-bm.cell file from $TI_SDK_PATH/board-support/extra-drivers/jailhouse-0.7/configs to create the jailhouse cell for the memcp_bm inmate.hÚjtxhäj†xhæj3hè}rƒ(hê]hë]hì]hí]hð]uhòMôhóhhô]rƒ(hýXThe rƒ…�rƒ}rƒ(hÙXThe hÚjƒubjW)�rƒ}rƒ(hÙX **memcp_bm**hè}rƒ(hê]hë]hì]hí]hð]uhÚjƒhô]rƒhýXmemcp_bmrƒ…�rƒ}rƒ(hÙUhÚjƒubahæj_ubhýXà is very similar to led_test. It is built in the same way as the led_test. Use the am57xx-bm.cell file from $TI_SDK_PATH/board-support/extra-drivers/jailhouse-0.7/configs to create the jailhouse cell for the memcp_bm inmate.rƒ…�rƒ}r ƒ(hÙXà is very similar to led_test. It is built in the same way as the led_test. Use the am57xx-bm.cell file from $TI_SDK_PATH/board-support/extra-drivers/jailhouse-0.7/configs to create the jailhouse cell for the memcp_bm inmate.hÚjƒubeubjÎ)�r!ƒ}r"ƒ(hÙUhÚjtxhäj†xhæjÑhè}r#ƒ(hê]hë]hì]hí]hð]uhòMùhóhhô]r$ƒjÔ)�r%ƒ}r&ƒ(hÙUj×KhÚj!ƒhäj†xhæhòhè}r'ƒ(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubjF")�r(ƒ}r)ƒ(hÙXRTOS BIOS Examplesr*ƒhÚjtxhäj†xhæjJ"hè}r+ƒ(hí]r,ƒUrtos-bios-examplesr-ƒahì]hê]hë]hð]r.ƒhWauhòNhóhhô]r/ƒhýXRTOS BIOS Examplesr0ƒ…�r1ƒ}r2ƒ(hÙj*ƒhÚj(ƒubaubjÎ)�r3ƒ}r4ƒ(hÙUhÚjtxhäj†xhæjÑhè}r5ƒ(hê]hë]hì]hí]hð]uhòMþhóhhô]r6ƒjÔ)�r7ƒ}r8ƒ(hÙXThe pruss and icss_emac examples are located in the rtos/pruss and rtos/icss_emac directories. The structures of the both directories are identical. Each directory contains the bios and src subdirectories. The bios contains XDC type application configuration file and makefile. The configuration file is reworked copy of the original RTOS application configuration file. For example the configuration file for icss_emac inmate was ported from $(SDK_INSTALL_PATH)/ti/pdk_am57xx_1_0_7/packages/ti/drv/icss_emac/test/am572x/armv7/bios/icss_emac_arm_wSoCLib.cfg file. As far as jailhouse inmate is not responsible for board related configuration, the board library, i2c library, OCRAM MMU sections and some other unnecessary for the inmate components were removed from the configuration file.r9ƒj×KhÚj3ƒhäj†xhæhòhè}r:ƒ(hê]hë]hì]hí]hð]uhòM hóhhô]r;ƒhýXThe pruss and icss_emac examples are located in the rtos/pruss and rtos/icss_emac directories. The structures of the both directories are identical. Each directory contains the bios and src subdirectories. The bios contains XDC type application configuration file and makefile. The configuration file is reworked copy of the original RTOS application configuration file. For example the configuration file for icss_emac inmate was ported from $(SDK_INSTALL_PATH)/ti/pdk_am57xx_1_0_7/packages/ti/drv/icss_emac/test/am572x/armv7/bios/icss_emac_arm_wSoCLib.cfg file. As far as jailhouse inmate is not responsible for board related configuration, the board library, i2c library, OCRAM MMU sections and some other unnecessary for the inmate components were removed from the configuration file.r<ƒ…�r=ƒ}r>ƒ(hÙj9ƒhÚj7ƒubaubaubjÎ)�r?ƒ}r@ƒ(hÙUhÚjtxhäj†xhæjÑhè}rAƒ(hê]hë]hì]hí]hð]uhòM hóhhô]rBƒjÔ)�rCƒ}rDƒ(hÙXÚAs far as the application main function calls the board_init() function, this function as well as the Board_moduleClockInit() (with required for icss_emac application clocks) are implemented in the idkAM572x_jh.c file.rEƒj×KhÚj?ƒhäj†xhæhòhè}rFƒ(hê]hë]hì]hí]hð]uhòMhóhhô]rGƒhýXÚAs far as the application main function calls the board_init() function, this function as well as the Board_moduleClockInit() (with required for icss_emac application clocks) are implemented in the idkAM572x_jh.c file.rHƒ…�rIƒ}rJƒ(hÙjEƒhÚjCƒubaubaubjÎ)�rKƒ}rLƒ(hÙUhÚjtxhäj†xhæjÑhè}rMƒ(hê]hë]hì]hí]hð]uhòMhóhhô]rNƒjÔ)�rOƒ}rPƒ(hÙX—Thus the ported configuration file, the idkAM572x_jh.c and makefiles are only new files required to port RTOS SDK existing project to jailhouse inmate.rQƒj×KhÚjKƒhäj†xhæhòhè}rRƒ(hê]hë]hì]hí]hð]uhòMhóhhô]rSƒhýX—Thus the ported configuration file, the idkAM572x_jh.c and makefiles are only new files required to port RTOS SDK existing project to jailhouse inmate.rTƒ…�rUƒ}rVƒ(hÙjQƒhÚjOƒubaubaubj/)�rWƒ}rXƒ(hÙXjThe jailhouse-inmate/Makefile has the "pruss_test" and "icss_emac_test" targets to build the BIOS inmates.rYƒhÚjtxhäj†xhæj3hè}rZƒ(hê]hë]hì]hí]hð]uhòMhóhhô]r[ƒhýXjThe jailhouse-inmate/Makefile has the "pruss_test" and "icss_emac_test" targets to build the BIOS inmates.r\ƒ…�r]ƒ}r^ƒ(hÙjYƒhÚjWƒubaubj/)�r_ƒ}r`ƒ(hÙX$The structure of the ethercat_slave_demo example is very similar to the pruss and icss_emac examples. As far as it depends on a particular version of the "PRU-ICSS Industrial Software", which has to be installed independently, building of the demo is not included into the top level makefile.raƒhÚjtxhäj†xhæj3hè}rbƒ(hê]hë]hì]hí]hð]uhòMhóhhô]rcƒhýX$The structure of the ethercat_slave_demo example is very similar to the pruss and icss_emac examples. As far as it depends on a particular version of the "PRU-ICSS Industrial Software", which has to be installed independently, building of the demo is not included into the top level makefile.rdƒ…�reƒ}rfƒ(hÙjaƒhÚj_ƒubaubjÎ)�rgƒ}rhƒ(hÙUhÚjtxhäj†xhæjÑhè}riƒ(hê]hë]hì]hí]hð]uhòMhóhhô]rjƒjÔ)�rkƒ}rlƒ(hÙUj×KhÚjgƒhäj†xhæhòhè}rmƒ(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubjF")�rnƒ}roƒ(hÙXRTOS BIOS Porting NotesrpƒhÚjtxhäj†xhæjJ"hè}rqƒ(hí]rrƒUrtos-bios-porting-notesrsƒahì]hê]hë]hð]rtƒh¦auhòNhóhhô]ruƒhýXRTOS BIOS Porting Notesrvƒ…�rwƒ}rxƒ(hÙjpƒhÚjnƒubaubj/)�ryƒ}rzƒ(hÙXñAs you can see in the previous section, the RTOS BIOS inmates has only few new files. Almost all files were reused from RTOS SDK examples. But following notes have to be considered when porting an RTOS BIOS application to a Jailhouse inmate.r{ƒhÚjtxhäj†xhæj3hè}r|ƒ(hê]hë]hì]hí]hð]uhòM"hóhhô]r}ƒhýXñAs you can see in the previous section, the RTOS BIOS inmates has only few new files. Almost all files were reused from RTOS SDK examples. But following notes have to be considered when porting an RTOS BIOS application to a Jailhouse inmate.r~ƒ…�rƒ}r€ƒ(hÙj{ƒhÚjyƒubaubj/)�r�ƒ}r‚ƒ(hÙX2Jailhouse inmate runs in a small cell. The cell is created by hypervisor, which was started from already booted Linux OS. That says that the SOC, board and most clocks are already initialized and the inmate don't need and usually cannot touch any resources not listed in the inmate cell configuration file.rƒƒhÚjtxhäj†xhæj3hè}r„ƒ(hê]hë]hì]hí]hð]uhòM'hóhhô]r…ƒhýX2Jailhouse inmate runs in a small cell. The cell is created by hypervisor, which was started from already booted Linux OS. That says that the SOC, board and most clocks are already initialized and the inmate don't need and usually cannot touch any resources not listed in the inmate cell configuration file.r†ƒ…�r‡ƒ}rˆƒ(hÙjƒƒhÚj�ƒubaubj/)�r‰ƒ}rŠƒ(hÙXThus the using of board and i2c libraries were removed from cponfiguration file. Also OCRAM was removed from MMU configuration.r‹ƒhÚjtxhäj†xhæj3hè}rŒƒ(hê]hë]hì]hí]hð]uhòM-hóhhô]r�ƒhýXThus the using of board and i2c libraries were removed from cponfiguration file. Also OCRAM was removed from MMU configuration.rŽƒ…�r�ƒ}r�ƒ(hÙj‹ƒhÚj‰ƒubaubj/)�r‘ƒ}r’ƒ(hÙX!Jailhouse hypervisor allows inmate to access certain GICD registers, but only for those interrupt lines, which are listed in the cell configuration file. The cell creating routine reconfigures GICD target registers by itself. The standard gic_init() BIOS API configures target registers for all interrupt lines. That is not permitted for an inmate. To avoid this the latest SYSBIOS release has a special feature, which allows to disable target configuration from GIC initialization function. See the following fragment at the configuration file:r“ƒhÚjtxhäj†xhæj3hè}r”ƒ(hê]hë]hì]hí]hð]uhòM0hóhhô]r•ƒhýX!Jailhouse hypervisor allows inmate to access certain GICD registers, but only for those interrupt lines, which are listed in the cell configuration file. The cell creating routine reconfigures GICD target registers by itself. The standard gic_init() BIOS API configures target registers for all interrupt lines. That is not permitted for an inmate. To avoid this the latest SYSBIOS release has a special feature, which allows to disable target configuration from GIC initialization function. See the following fragment at the configuration file:r–ƒ…�r—ƒ}r˜ƒ(hÙj“ƒhÚj‘ƒubaubjË)�r™ƒ}ršƒ(hÙXOvar Hwi = xdc.useModule('ti.sysbios.family.arm.gic.Hwi'); Hwi.initGicd = false;hÚjtxhäj†xhæjÎhè}r›ƒ(jjhí]hì]hê]hë]hð]uhòMIhóhhô]rœƒhýXOvar Hwi = xdc.useModule('ti.sysbios.family.arm.gic.Hwi'); Hwi.initGicd = false;r�ƒ…�ržƒ}rŸƒ(hÙUhÚj™ƒubaubj/)�r ƒ}r¡ƒ(hÙX}The RTOS BIOS applications are built to \*.out format. RTOS loader may load this file to the board even if the image has multiple sections with their addresses spread across the entire SOC address range. The Jailhouse supports only \*.bin format, and inmate may use only allocated for it memory carved out from Linux. Therefore the ported application shall use only limited memory.hÚjtxhäj†xhæj3hè}r¢ƒ(hê]hë]hì]hí]hð]uhòM>hóhhô]r£ƒhýX{The RTOS BIOS applications are built to *.out format. RTOS loader may load this file to the board even if the image has multiple sections with their addresses spread across the entire SOC address range. The Jailhouse supports only *.bin format, and inmate may use only allocated for it memory carved out from Linux. Therefore the ported application shall use only limited memory.r¤ƒ…�r¥ƒ}r¦ƒ(hÙX}The RTOS BIOS applications are built to \*.out format. RTOS loader may load this file to the board even if the image has multiple sections with their addresses spread across the entire SOC address range. The Jailhouse supports only \*.bin format, and inmate may use only allocated for it memory carved out from Linux. Therefore the ported application shall use only limited memory.hÚj ƒubaubj/)�r§ƒ}r¨ƒ(hÙXAJailhouse may start an inmate that start from virtual address 0x0, but an usual RTOS application is linked to the 0x80000000 address and with different from that entry point. The Jailhouse allows to start such applications (see above). But using the linux-loader required additional node in the inmate cell configuration.r©ƒhÚjtxhäj†xhæj3hè}rªƒ(hê]hë]hì]hí]hð]uhòMEhóhhô]r«ƒhýXAJailhouse may start an inmate that start from virtual address 0x0, but an usual RTOS application is linked to the 0x80000000 address and with different from that entry point. The Jailhouse allows to start such applications (see above). But using the linux-loader required additional node in the inmate cell configuration.r¬ƒ…�r­ƒ}r®ƒ(hÙj©ƒhÚj§ƒubaubjË)�r¯ƒ}r°ƒ(hÙX¸/* RAM loader */ { .phys_start = 0xed000000, .virt_start = 0x0, .size = 0x10000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_LOADABLE, }, /* RAM RTOS 224MB*/ { .phys_start = 0xe0000000, .virt_start = 0x80000000, .size = 0xd000000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_LOADABLE, },hÚjtxhäj†xhæjÎhè}r±ƒ(jjhí]hì]hê]hë]hð]uhòM[hóhhô]r²ƒhýX¸/* RAM loader */ { .phys_start = 0xed000000, .virt_start = 0x0, .size = 0x10000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_LOADABLE, }, /* RAM RTOS 224MB*/ { .phys_start = 0xe0000000, .virt_start = 0x80000000, .size = 0xd000000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_LOADABLE, },r³ƒ…�r´ƒ}rµƒ(hÙUhÚj¯ƒubaubjÎ)�r¶ƒ}r·ƒ(hÙUhÚjtxhäj†xhæjÑhè}r¸ƒ(hê]hë]hì]hí]hð]uhòM\hóhhô]r¹ƒjÔ)�rºƒ}r»ƒ(hÙXTYou may see that cell configuration for icss_emac inmate configures two RAM regions:r¼ƒj×KhÚj¶ƒhäj†xhæhòhè}r½ƒ(hê]hë]hì]hí]hð]uhòM]hóhhô]r¾ƒhýXTYou may see that cell configuration for icss_emac inmate configures two RAM regions:r¿ƒ…�rÀƒ}rÁƒ(hÙj¼ƒhÚjºƒubaubaubj¼)�rƒ}rÃ(hÙUhÚjtxhäj†xhæj¿hè}ră(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòM_hóhhô]rŃ(jX)�rƃ}rǃ(hÙX8small one with virtual address 0x0 for the linux-loader;rȃhÚjƒhäj†xhæj[hè}rɃ(hê]hë]hì]hí]hð]uhòNhóhhô]rʃj/)�r˃}r̃(hÙjȃhÚjƃhäj†xhæj3hè}r̓(hê]hë]hì]hí]hð]uhòM_hô]r΃hýX8small one with virtual address 0x0 for the linux-loader;rσ…�rЃ}rу(hÙjȃhÚj˃ubaubaubjX)�rÒƒ}rÓƒ(hÙX+main region for the icss_emac test itself; hÚjƒhäj†xhæj[hè}rÔƒ(hê]hë]hì]hí]hð]uhòNhóhhô]rÕƒj/)�rÖƒ}r׃(hÙX*main region for the icss_emac test itself;r؃hÚjÒƒhäj†xhæj3hè}rÙƒ(hê]hë]hì]hí]hð]uhòM`hô]rÚƒhýX*main region for the icss_emac test itself;rÛƒ…�r܃}r݃(hÙj؃hÚjÖƒubaubaubeubjÎ)�rÞƒ}r߃(hÙUhÚjtxhäj†xhæjÑhè}ràƒ(hê]hë]hì]hí]hð]uhòMbhóhhô]ráƒjÔ)�râƒ}rãƒ(hÙUj×KhÚjÞƒhäj†xhæhòhè}räƒ(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubjF")�råƒ}ræƒ(hÙXGeneral Porting NotesrçƒhÚjtxhäj†xhæjJ"hè}rèƒ(hí]réƒUgeneral-porting-notesrêƒahì]hê]hë]hð]rëƒhžauhòNhóhhô]rìƒhýXGeneral Porting Notesr탅�rîƒ}rïƒ(hÙjçƒhÚjåƒubaubj/)�rðƒ}rñƒ(hÙXûWhen you start porting your RTOS or bare-metal application to Jailhouse inmate, you have to consider several things. They are listed below. *This list is not complete and has just recommendations based on common sense and previous porting experience*.hÚjtxhäj†xhæj3hè}ròƒ(hê]hë]hì]hí]hð]uhòMghóhhô]róƒ(hýXŒWhen you start porting your RTOS or bare-metal application to Jailhouse inmate, you have to consider several things. They are listed below. rôƒ…�rõƒ}röƒ(hÙXŒWhen you start porting your RTOS or bare-metal application to Jailhouse inmate, you have to consider several things. They are listed below. hÚjðƒubj')�r÷ƒ}røƒ(hÙXn*This list is not complete and has just recommendations based on common sense and previous porting experience*hè}rùƒ(hê]hë]hì]hí]hð]uhÚjðƒhô]rúƒhýXlThis list is not complete and has just recommendations based on common sense and previous porting experiencerûƒ…�rüƒ}rýƒ(hÙUhÚj÷ƒubahæj/ubhýX.…�rþƒ}rÿƒ(hÙX.hÚjðƒubeubjQ)�r„}r„(hÙUhÚjtxhäj†xhæjThè}r„(jVX-hí]hì]hê]hë]hð]uhòMlhóhhô]r„(jX)�r„}r„(hÙX**Linux always starts first** before hypervisor. Linux initializes all (or almost all) common resources of SOC. Thus it initializes memory controller, clocks, interrupt controller etc. It configures PINMUX registers. In most cases it takes care about board configuration as well. hÚj„häj†xhæj[hè}r„(hê]hë]hì]hí]hð]uhòNhóhhô]r„j/)�r„}r „(hÙX**Linux always starts first** before hypervisor. Linux initializes all (or almost all) common resources of SOC. Thus it initializes memory controller, clocks, interrupt controller etc. It configures PINMUX registers. In most cases it takes care about board configuration as well.hÚj„häj†xhæj3hè}r „(hê]hë]hì]hí]hð]uhòMlhô]r „(jW)�r „}r „(hÙX**Linux always starts first**hè}r„(hê]hë]hì]hí]hð]uhÚj„hô]r„hýXLinux always starts firstr„…�r„}r„(hÙUhÚj „ubahæj_ubhýXú before hypervisor. Linux initializes all (or almost all) common resources of SOC. Thus it initializes memory controller, clocks, interrupt controller etc. It configures PINMUX registers. In most cases it takes care about board configuration as well.r„…�r„}r„(hÙXú before hypervisor. Linux initializes all (or almost all) common resources of SOC. Thus it initializes memory controller, clocks, interrupt controller etc. It configures PINMUX registers. In most cases it takes care about board configuration as well.hÚj„ubeubaubjX)�r„}r„(hÙXÛ**Inmate Cell Configuration** defines resources, which are available for the inmate. The ported application can use only those resources and responsible for theirs initialization only. The ported application will not run on the board it used to run, but on a different **virtual board**, defined by the cell configuration. Thats is why the application cannot use any common board_init or soc_init functions that may touch used by Linux resources. **Inmate is a guest only**. hÚj„häj†xhæj[hè}r„(hê]hë]hì]hí]hð]uhòNhóhhô]r„j/)�r„}r„(hÙXÚ**Inmate Cell Configuration** defines resources, which are available for the inmate. The ported application can use only those resources and responsible for theirs initialization only. The ported application will not run on the board it used to run, but on a different **virtual board**, defined by the cell configuration. Thats is why the application cannot use any common board_init or soc_init functions that may touch used by Linux resources. **Inmate is a guest only**.hÚj„häj†xhæj3hè}r„(hê]hë]hì]hí]hð]uhòMrhô]r„(jW)�r„}r„(hÙX**Inmate Cell Configuration**hè}r „(hê]hë]hì]hí]hð]uhÚj„hô]r!„hýXInmate Cell Configurationr"„…�r#„}r$„(hÙUhÚj„ubahæj_ubhýXð defines resources, which are available for the inmate. The ported application can use only those resources and responsible for theirs initialization only. The ported application will not run on the board it used to run, but on a different r%„…�r&„}r'„(hÙXð defines resources, which are available for the inmate. The ported application can use only those resources and responsible for theirs initialization only. The ported application will not run on the board it used to run, but on a different hÚj„ubjW)�r(„}r)„(hÙX**virtual board**hè}r*„(hê]hë]hì]hí]hð]uhÚj„hô]r+„hýX virtual boardr,„…�r-„}r.„(hÙUhÚj(„ubahæj_ubhýX¡, defined by the cell configuration. Thats is why the application cannot use any common board_init or soc_init functions that may touch used by Linux resources. r/„…�r0„}r1„(hÙX¡, defined by the cell configuration. Thats is why the application cannot use any common board_init or soc_init functions that may touch used by Linux resources. hÚj„ubjW)�r2„}r3„(hÙX**Inmate is a guest only**hè}r4„(hê]hë]hì]hí]hð]uhÚj„hô]r5„hýXInmate is a guest onlyr6„…�r7„}r8„(hÙUhÚj2„ubahæj_ubhýX.…�r9„}r:„(hÙX.hÚj„ubeubaubjX)�r;„}r<„(hÙXÎAs it mentioned above Linux initializes **Interrupt Controller** and dynamically configures crossbar registers. It has to be planned ahead which interrupts inmate may use. Those interrupts has to be reserved at Linux's dts file. Also used by the inmate interrupts have to listed in the inmate cell configuration. Hypervisor configures GIC target registers for those interrupt. Inmate is responsible only for enabling, disabling and acknowledging the interrupts. hÚj„häj†xhæj[hè}r=„(hê]hë]hì]hí]hð]uhòNhóhhô]r>„j/)�r?„}r@„(hÙXÍAs it mentioned above Linux initializes **Interrupt Controller** and dynamically configures crossbar registers. It has to be planned ahead which interrupts inmate may use. Those interrupts has to be reserved at Linux's dts file. Also used by the inmate interrupts have to listed in the inmate cell configuration. Hypervisor configures GIC target registers for those interrupt. Inmate is responsible only for enabling, disabling and acknowledging the interrupts.hÚj;„häj†xhæj3hè}rA„(hê]hë]hì]hí]hð]uhòM{hô]rB„(hýX(As it mentioned above Linux initializes rC„…�rD„}rE„(hÙX(As it mentioned above Linux initializes hÚj?„ubjW)�rF„}rG„(hÙX**Interrupt Controller**hè}rH„(hê]hë]hì]hí]hð]uhÚj?„hô]rI„hýXInterrupt ControllerrJ„…�rK„}rL„(hÙUhÚjF„ubahæj_ubhýX� and dynamically configures crossbar registers. It has to be planned ahead which interrupts inmate may use. Those interrupts has to be reserved at Linux's dts file. Also used by the inmate interrupts have to listed in the inmate cell configuration. Hypervisor configures GIC target registers for those interrupt. Inmate is responsible only for enabling, disabling and acknowledging the interrupts.rM„…�rN„}rO„(hÙX� and dynamically configures crossbar registers. It has to be planned ahead which interrupts inmate may use. Those interrupts has to be reserved at Linux's dts file. Also used by the inmate interrupts have to listed in the inmate cell configuration. Hypervisor configures GIC target registers for those interrupt. Inmate is responsible only for enabling, disabling and acknowledging the interrupts.hÚj?„ubeubaubjX)�rP„}rQ„(hÙXëLinux owns **I2C** buses. Inmate cannot has its owe driver to control I2C bus. It is not practicable even if the both root-cell and inmate cell configurations share I2C region and Linux and the Inmate have an agreement not to use I2C at the same time. The problem is that the Linux I2C driver works in interrupt mode and if the Inmate issues an I2C transaction, Linux's interrupt handler will be called. It brakes the Linux's and Inmate's I2C drivers state machines (or whatever they have). hÚj„häj†xhæj[hè}rR„(hê]hë]hì]hí]hð]uhòNhóhhô]rS„j/)�rT„}rU„(hÙXêLinux owns **I2C** buses. Inmate cannot has its owe driver to control I2C bus. It is not practicable even if the both root-cell and inmate cell configurations share I2C region and Linux and the Inmate have an agreement not to use I2C at the same time. The problem is that the Linux I2C driver works in interrupt mode and if the Inmate issues an I2C transaction, Linux's interrupt handler will be called. It brakes the Linux's and Inmate's I2C drivers state machines (or whatever they have).hÚjP„häj†xhæj3hè}rV„(hê]hë]hì]hí]hð]uhòMƒhô]rW„(hýX Linux owns rX„…�rY„}rZ„(hÙX Linux owns hÚjT„ubjW)�r[„}r\„(hÙX**I2C**hè}r]„(hê]hë]hì]hí]hð]uhÚjT„hô]r^„hýXI2Cr_„…�r`„}ra„(hÙUhÚj[„ubahæj_ubhýXØ buses. Inmate cannot has its owe driver to control I2C bus. It is not practicable even if the both root-cell and inmate cell configurations share I2C region and Linux and the Inmate have an agreement not to use I2C at the same time. The problem is that the Linux I2C driver works in interrupt mode and if the Inmate issues an I2C transaction, Linux's interrupt handler will be called. It brakes the Linux's and Inmate's I2C drivers state machines (or whatever they have).rb„…�rc„}rd„(hÙXØ buses. Inmate cannot has its owe driver to control I2C bus. It is not practicable even if the both root-cell and inmate cell configurations share I2C region and Linux and the Inmate have an agreement not to use I2C at the same time. The problem is that the Linux I2C driver works in interrupt mode and if the Inmate issues an I2C transaction, Linux's interrupt handler will be called. It brakes the Linux's and Inmate's I2C drivers state machines (or whatever they have).hÚjT„ubeubaubjX)�re„}rf„(hÙX×Using **GPIO** may have the same as I2C problem. It is easy to disable an entire GPIO bank from using by Linux and use it for the Inmate. But it is not practical to share the same bank by the both Linux and Inmate. hÚj„häj†xhæj[hè}rg„(hê]hë]hì]hí]hð]uhòNhóhhô]rh„j/)�ri„}rj„(hÙXÖUsing **GPIO** may have the same as I2C problem. It is easy to disable an entire GPIO bank from using by Linux and use it for the Inmate. But it is not practical to share the same bank by the both Linux and Inmate.hÚje„häj†xhæj3hè}rk„(hê]hë]hì]hí]hð]uhòMŒhô]rl„(hýXUsing rm„…�rn„}ro„(hÙXUsing hÚji„ubjW)�rp„}rq„(hÙX**GPIO**hè}rr„(hê]hë]hì]hí]hð]uhÚji„hô]rs„hýXGPIOrt„…�ru„}rv„(hÙUhÚjp„ubahæj_ubhýXÈ may have the same as I2C problem. It is easy to disable an entire GPIO bank from using by Linux and use it for the Inmate. But it is not practical to share the same bank by the both Linux and Inmate.rw„…�rx„}ry„(hÙXÈ may have the same as I2C problem. It is easy to disable an entire GPIO bank from using by Linux and use it for the Inmate. But it is not practical to share the same bank by the both Linux and Inmate.hÚji„ubeubaubeubjÎ)�rz„}r{„(hÙUhÚjtxhäj†xhæjÑhè}r|„(hê]hë]hì]hí]hð]uhòM‘hóhhô]r}„jÔ)�r~„}r„(hÙUj×KhÚjz„häj†xhæhòhè}r€„(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubhäj†xhæj>hè}r�„(hê]UlevelKhí]hì]Usourcej†xhë]hð]UlineKUtypejY&uhòKhóhhô]r‚„j/)�rƒ„}r„„(hÙX%Line block ends without a blank line.hè}r…„(hê]hë]hì]hí]hð]uhÚjrxhô]r†„hýX%Line block ends without a blank line.r‡„…�rˆ„}r‰„(hÙUhÚjƒ„ubahæj3ubaubj¬)�rŠ„}r‹„(hÙUhÚjtxhäj†xhæj>hè}rŒ„(hê]UlevelKhí]r�„j¶xahì]rŽ„jµxaUsourcej†xhë]hð]UlineKUtypejY&uhòKhóhhô]r�„j/)�r�„}r‘„(hÙX0Inline emphasis start-string without end-string.hè}r’„(hê]hë]hì]hí]hð]uhÚjŠ„hô]r“„hýX0Inline emphasis start-string without end-string.r”„…�r•„}r–„(hÙUhÚj�„ubahæj3ubaubj¬)�r—„}r˜„(hÙUhÚhÛ)�r™„}rš„(hÙUhÚhhähåhæhçhè}r›„(hê]hë]hì]hí]rœ„Uk2g-audio-dc-addonr�„ahð]rž„h£auhòKEhóhhô]rŸ„(hö)�r „}r¡„(hÙXK2G AUDIO DC AddOnr¢„hÚj™„hähåhæhúhè}r£„(hê]hë]hì]hí]hð]uhòKEhóhhô]r¤„hýXK2G AUDIO DC AddOnr¥„…�r¦„}r§„(hÙj¢„hÚj „ubaubj )�r¨„}r©„(hÙXGhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_AUDK2G_AddOnhÚj™„häj X<source/rtos/Examples_and_Demonstrations/AUDK2G_AddOn.rst.incrª„…�r«„}r¬„bhæjhè}r­„(jjhí]hì]hê]hë]hð]uhòKhóhhô]r®„hýXGhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_AUDK2G_AddOnr¯„…�r°„}r±„(hÙUhÚj¨„ubaubjF")�r²„}r³„(hÙX Introductionr´„jKhÚj™„häj«„hæjJ"hè}rµ„(hí]r¶„Uid60r·„ahì]hê]r¸„X introductionr¹„ahë]hð]uhòNhóhhô]rº„hýX Introductionr»„…�r¼„}r½„(hÙj´„hÚj²„ubaubj/)�r¾„}r¿„(hÙXÙThis page describes the unit test for the Audio Daughter Card for K2G (AUDK2G) AddOn provided in the Processor-SDK for RTOS. This unit test implemented the audio loopback between the ADC_IN1-4 to DAC_OUT1-4 on AUDK2G.rÀ„hÚj™„häj«„hæj3hè}rÁ„(hê]hë]hì]hí]hð]uhòKhóhhô]r„hýXÙThis page describes the unit test for the Audio Daughter Card for K2G (AUDK2G) AddOn provided in the Processor-SDK for RTOS. This unit test implemented the audio loopback between the ADC_IN1-4 to DAC_OUT1-4 on AUDK2G.rÄ…�rÄ„}rÅ„(hÙjÀ„hÚj¾„ubaubj/)�rÆ„}rÇ„(hÙX,The key functions in this unit test include:rÈ„hÚj™„häj«„hæj3hè}rÉ„(hê]hë]hì]hí]hð]uhòK hóhhô]rÊ„hýX,The key functions in this unit test include:rË„…�rÌ„}rÍ„(hÙjÈ„hÚjÆ„ubaubjQ)�r΄}rÏ„(hÙUhÚj™„häj«„hæjThè}rЄ(jVX-hí]hì]hê]hë]hð]uhòK hóhhô]rÑ„(jX)�rÒ„}rÓ„(hÙX+Use board library to initialize the K2G EVMrÔ„hÚj΄häj«„hæj[hè}rÕ„(hê]hë]hì]hí]hð]uhòNhóhhô]rÖ„j/)�rׄ}rØ„(hÙjÔ„hÚjÒ„häj«„hæj3hè}rÙ„(hê]hë]hì]hí]hð]uhòK hô]rÚ„hýX+Use board library to initialize the K2G EVMrÛ„…�rÜ„}rÝ„(hÙjÔ„hÚjׄubaubaubjX)�rÞ„}rß„(hÙX+Setup the PinMux for K2G EVM and the AUDK2Grà„hÚj΄häj«„hæj[hè}rá„(hê]hë]hì]hí]hð]uhòNhóhhô]râ„j/)�rã„}rä„(hÙjà„hÚjÞ„häj«„hæj3hè}rå„(hê]hë]hì]hí]hð]uhòKhô]ræ„hýX+Setup the PinMux for K2G EVM and the AUDK2Grç„…�rè„}ré„(hÙjà„hÚjã„ubaubaubjX)�rê„}rë„(hÙX Allocate the data buffers neededrì„hÚj΄häj«„hæj[hè}rí„(hê]hë]hì]hí]hð]uhòNhóhhô]rî„j/)�rï„}rð„(hÙjì„hÚjê„häj«„hæj3hè}rñ„(hê]hë]hì]hí]hð]uhòKhô]rò„hýX Allocate the data buffers neededró„…�rô„}rõ„(hÙjì„hÚjï„ubaubaubjX)�rö„}r÷„(hÙXInitialize the McASP and EDMArø„hÚj΄häj«„hæj[hè}rù„(hê]hë]hì]hí]hð]uhòNhóhhô]rú„j/)�rû„}rü„(hÙjø„hÚjö„häj«„hæj3hè}rý„(hê]hë]hì]hí]hð]uhòKhô]rþ„hýXInitialize the McASP and EDMArÿ„…�r…}r…(hÙjø„hÚjû„ubaubaubjX)�r…}r…(hÙX0Start the infinite loop for continious loopback hÚj΄häj«„hæj[hè}r…(hê]hë]hì]hí]hð]uhòNhóhhô]r…j/)�r…}r…(hÙX/Start the infinite loop for continious loopbackr…hÚj…häj«„hæj3hè}r …(hê]hë]hì]hí]hð]uhòKhô]r …hýX/Start the infinite loop for continious loopbackr ……�r …}r …(hÙj…hÚj…ubaubaubeubj/)�r…}r…(hÙX@This unit test utilizes other Processor SDK features/components:r…hÚj™„häj«„hæj3hè}r…(hê]hë]hì]hí]hð]uhòKhóhhô]r…hýX@This unit test utilizes other Processor SDK features/components:r……�r…}r…(hÙj…hÚj…ubaubjQ)�r…}r…(hÙUhÚj™„häj«„hæjThè}r…(jVX-hí]hì]hê]hë]hð]uhòKhóhhô]r…(jX)�r…}r…(hÙX1**Board Library** for K2G platform initializationr…hÚj…häj«„hæj[hè}r…(hê]hë]hì]hí]hð]uhòNhóhhô]r…j/)�r…}r …(hÙj…hÚj…häj«„hæj3hè}r!…(hê]hë]hì]hí]hð]uhòKhô]r"…(jW)�r#…}r$…(hÙX**Board Library**hè}r%…(hê]hë]hì]hí]hð]uhÚj…hô]r&…hýX Board Libraryr'……�r(…}r)…(hÙUhÚj#…ubahæj_ubhýX for K2G platform initializationr*……�r+…}r,…(hÙX for K2G platform initializationhÚj…ubeubaubjX)�r-…}r.…(hÙX1**AUDK2G Library** for PinMux, McASP/EDMA setups hÚj…häj«„hæj[hè}r/…(hê]hë]hì]hí]hð]uhòNhóhhô]r0…j/)�r1…}r2…(hÙX0**AUDK2G Library** for PinMux, McASP/EDMA setupshÚj-…häj«„hæj3hè}r3…(hê]hë]hì]hí]hð]uhòKhô]r4…(jW)�r5…}r6…(hÙX**AUDK2G Library**hè}r7…(hê]hë]hì]hí]hð]uhÚj1…hô]r8…hýXAUDK2G Libraryr9……�r:…}r;…(hÙUhÚj5…ubahæj_ubhýX for PinMux, McASP/EDMA setupsr<……�r=…}r>…(hÙX for PinMux, McASP/EDMA setupshÚj1…ubeubaubeubj/)�r?…}r@…(hÙX6Currently, the following device and EVM are supported:rA…hÚj™„häj«„hæj3hè}rB…(hê]hë]hì]hí]hð]uhòKhóhhô]rC…hýX6Currently, the following device and EVM are supported:rD……�rE…}rF…(hÙjA…hÚj?…ubaubjQ)�rG…}rH…(hÙUhÚj™„häj«„hæjThè}rI…(jVX-hí]hì]hê]hë]hð]uhòKhóhhô]rJ…jX)�rK…}rL…(hÙX K2G, on the K2G EVM with AUDK2G hÚjG…häj«„hæj[hè}rM…(hê]hë]hì]hí]hð]uhòNhóhhô]rN…j/)�rO…}rP…(hÙXK2G, on the K2G EVM with AUDK2GrQ…hÚjK…häj«„hæj3hè}rR…(hê]hë]hì]hí]hð]uhòKhô]rS…hýXK2G, on the K2G EVM with AUDK2GrT……�rU…}rV…(hÙjQ…hÚjO…ubaubaubaubjÎ)�rW…}rX…(hÙUhÚj™„häj«„hæjÑhè}rY…(hê]hë]hì]hí]hð]uhòKhóhhô]rZ…jÔ)�r[…}r\…(hÙUj×KhÚjW…häj«„hæhòhè}r]…(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubjF")�r^…}r_…(hÙX Requirementsr`…jKhÚj™„häj«„hæjJ"hè}ra…(hí]rb…Uid61rc…ahì]hê]rd…X requirementsre…ahë]hð]uhòNhóhhô]rf…hýX Requirementsrg……�rh…}ri…(hÙj`…hÚj^…ubaubj/)�rj…}rk…(hÙX;The following materials are required to run this unit test:rl…hÚj™„häj«„hæj3hè}rm…(hê]hë]hì]hí]hð]uhòK!hóhhô]rn…hýX;The following materials are required to run this unit test:ro……�rp…}rq…(hÙjl…hÚjj…ubaubj/)�rr…}rs…(hÙXHardwarert…hÚj™„häj«„hæj3hè}ru…(hê]hë]hì]hí]hð]uhòK#hóhhô]rv…hýXHardwarerw……�rx…}ry…(hÙjt…hÚjr…ubaubjQ)�rz…}r{…(hÙUhÚj™„häj«„hæjThè}r|…(jVX-hí]hì]hê]hë]hð]uhòK%hóhhô]r}…(jX)�r~…}r…(hÙXK2G EVMr€…hÚjz…häj«„hæj[hè}r�…(hê]hë]hì]hí]hð]uhòNhóhhô]r‚…j/)�rƒ…}r„…(hÙj€…hÚj~…häj«„hæj3hè}r……(hê]hë]hì]hí]hð]uhòK%hô]r†…hýXK2G EVMr‡……�rˆ…}r‰…(hÙj€…hÚjƒ…ubaubaubjX)�rŠ…}r‹…(hÙXAudio Daughter Card (AUDK2G) hÚjz…häj«„hæj[hè}rŒ…(hê]hë]hì]hí]hð]uhòNhóhhô]r�…j/)�rŽ…}r�…(hÙXAudio Daughter Card (AUDK2G)r�…hÚjŠ…häj«„hæj3hè}r‘…(hê]hë]hì]hí]hð]uhòK&hô]r’…hýXAudio Daughter Card (AUDK2G)r“……�r”…}r•…(hÙj�…hÚjŽ…ubaubaubeubj/)�r–…}r—…(hÙXSoftwarer˜…hÚj™„häj«„hæj3hè}r™…(hê]hë]hì]hí]hð]uhòK(hóhhô]rš…hýXSoftwarer›……�rœ…}r�…(hÙj˜…hÚj–…ubaubjQ)�rž…}rŸ…(hÙUhÚj™„häj«„hæjThè}r …(jVX-hí]hì]hê]hë]hð]uhòK*hóhhô]r¡…(jX)�r¢…}r£…(hÙX#Processor-SDK RTOS (3.2 or greater)r¤…hÚjž…häj«„hæj[hè}r¥…(hê]hë]hì]hí]hð]uhòNhóhhô]r¦…j/)�r§…}r¨…(hÙj¤…hÚj¢…häj«„hæj3hè}r©…(hê]hë]hì]hí]hð]uhòK*hô]rª…hýX#Processor-SDK RTOS (3.2 or greater)r«……�r¬…}r­…(hÙj¤…hÚj§…ubaubaubjX)�r®…}r¯…(hÙXCode Composer Studio 6.1.3 hÚjž…häj«„hæj[hè}r°…(hê]hë]hì]hí]hð]uhòNhóhhô]r±…j/)�r²…}r³…(hÙXCode Composer Studio 6.1.3r´…hÚj®…häj«„hæj3hè}rµ…(hê]hë]hì]hí]hð]uhòK+hô]r¶…hýXCode Composer Studio 6.1.3r·……�r¸…}r¹…(hÙj´…hÚj²…ubaubaubeubjÎ)�rº…}r»…(hÙUhÚj™„häj«„hæjÑhè}r¼…(hê]hë]hì]hí]hð]uhòK-hóhhô]r½…jÔ)�r¾…}r¿…(hÙUj×KhÚjº…häj«„hæhòhè}rÀ…(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubjF")�rÁ…}rÂ…(hÙXHow to Build the Unit TestrÃ…hÚj™„häj«„hæjJ"hè}rÄ…(hí]rÅ…Uhow-to-build-the-unit-testrÆ…ahì]hê]hë]hð]rÇ…hÒauhòNhóhhô]rÈ…hýXHow to Build the Unit TestrÉ……�rÊ…}rË…(hÙjÃ…hÚjÁ…ubaubjF")�rÌ…}rÍ…(hÙXK2G EVMrÎ…jKhÚj™„häj«„hæjJ"hè}rÏ…(hí]rÐ…Uid62rÑ…ahì]hê]rÒ…Xk2g-evmrÓ…ahë]hð]uhòNhóhhô]rÔ…hýXK2G EVMrÕ……�rÖ…}r×…(hÙjÎ…hÚjÌ…ubaubj/)�rØ…}rÙ…(hÙX**For Linux:**rÚ…hÚj™„häj«„hæj3hè}rÛ…(hê]hë]hì]hí]hð]uhòK5hóhhô]rÜ…jW)�rÝ…}rÞ…(hÙjÚ…hè}rß…(hê]hë]hì]hí]hð]uhÚjØ…hô]rà…hýX For Linux:rá……�râ…}rã…(hÙUhÚjÝ…ubahæj_ubaubjQ)�rä…}rå…(hÙUhÚj™„häj«„hæjThè}ræ…(jVX-hí]hì]hê]hë]hð]uhòK7hóhhô]rç…jX)�rè…}ré…(hÙXHUnder pdk_k2g_/packages directory, run the following commands: hÚjä…häj«„hæj[hè}rê…(hê]hë]hì]hí]hð]uhòNhóhhô]rë…j/)�rì…}rí…(hÙXGUnder pdk_k2g_/packages directory, run the following commands:rî…hÚjè…häj«„hæj3hè}rï…(hê]hë]hì]hí]hð]uhòK7hô]rð…hýXGUnder pdk_k2g_/packages directory, run the following commands:rñ……�rò…}ró…(hÙjî…hÚjì…ubaubaubaubjË)�rô…}rõ…(hÙXUsource pdksetupenv.sh cd pdk_k2g_/packages/ti/addon/aud/ make clean make allhÚj™„häj«„hæjÎhè}rö…(jjhí]hì]hê]hë]hð]uhòMähóhhô]r÷…hýXUsource pdksetupenv.sh cd pdk_k2g_/packages/ti/addon/aud/ make clean make allrø……�rù…}rú…(hÙUhÚjô…ubaubjQ)�rû…}rü…(hÙUhÚj™„häj«„hæjThè}rý…(jVX-hí]hì]hê]hë]hð]uhòKAhóhhô]rþ…jX)�rÿ…}r†(hÙXŒThe OUT file (audioAnalogLoopbackTest.out) for DSP will be built at pdk_k2g_/packages/ti/addon/aud/test/analog/loopback/build/make hÚjû…häj«„hæj[hè}r†(hê]hë]hì]hí]hð]uhòNhóhhô]r†j/)�r†}r†(hÙX‹The OUT file (audioAnalogLoopbackTest.out) for DSP will be built at pdk_k2g_/packages/ti/addon/aud/test/analog/loopback/build/maker†hÚjÿ…häj«„hæj3hè}r†(hê]hë]hì]hí]hð]uhòKAhô]r†hýX‹The OUT file (audioAnalogLoopbackTest.out) for DSP will be built at pdk_k2g_/packages/ti/addon/aud/test/analog/loopback/build/maker†…�r †}r †(hÙj†hÚj†ubaubaubaubj/)�r †}r †(hÙX**For Windows:**r †hÚj™„häj«„hæj3hè}r†(hê]hë]hì]hí]hð]uhòKDhóhhô]r†jW)�r†}r†(hÙj †hè}r†(hê]hë]hì]hí]hð]uhÚj †hô]r†hýX For Windows:r†…�r†}r†(hÙUhÚj†ubahæj_ubaubjQ)�r†}r†(hÙUhÚj™„häj«„hæjThè}r†(jVX-hí]hì]hê]hë]hð]uhòKFhóhhô]r†jX)�r†}r†(hÙXIUnder pdk_k2g_\\packages directory, run the following commands: hÚj†häj«„hæj[hè}r†(hê]hë]hì]hí]hð]uhòNhóhhô]r†j/)�r†}r †(hÙXHUnder pdk_k2g_\\packages directory, run the following commands:hÚj†häj«„hæj3hè}r!†(hê]hë]hì]hí]hð]uhòKFhô]r"†hýXGUnder pdk_k2g_\packages directory, run the following commands:r#†…�r$†}r%†(hÙXHUnder pdk_k2g_\\packages directory, run the following commands:hÚj†ubaubaubaubjË)�r&†}r'†(hÙXQpdksetupenv.bat cd pdk_k2g_\packages\ti\addon\aud\ gmake clean gmake allhÚj™„häj«„hæjÎhè}r(†(jjhí]hì]hê]hë]hð]uhòMóhóhhô]r)†hýXQpdksetupenv.bat cd pdk_k2g_\packages\ti\addon\aud\ gmake clean gmake allr*†…�r+†}r,†(hÙUhÚj&†ubaubjQ)�r-†}r.†(hÙUhÚj™„häj«„hæjThè}r/†(jVX-hí]hì]hê]hë]hð]uhòKPhóhhô]r0†jX)�r1†}r2†(hÙX•The OUT file (audioAnalogLoopbackTest.out) for DSP will be built at pdk_k2g_\\packages\\ti\\addon\\aud\\test\\analog\\loopback\\build\\make hÚj-†häj«„hæj[hè}r3†(hê]hë]hì]hí]hð]uhòNhóhhô]r4†j/)�r5†}r6†(hÙX”The OUT file (audioAnalogLoopbackTest.out) for DSP will be built at pdk_k2g_\\packages\\ti\\addon\\aud\\test\\analog\\loopback\\build\\makehÚj1†häj«„hæj3hè}r7†(hê]hë]hì]hí]hð]uhòKPhô]r8†hýX‹The OUT file (audioAnalogLoopbackTest.out) for DSP will be built at pdk_k2g_\packages\ti\addon\aud\test\analog\loopback\build\maker9†…�r:†}r;†(hÙX”The OUT file (audioAnalogLoopbackTest.out) for DSP will be built at pdk_k2g_\\packages\\ti\\addon\\aud\\test\\analog\\loopback\\build\\makehÚj5†ubaubaubaubjF")�r<†}r=†(hÙXHow to Run the Unit Testr>†jKhÚj™„häj«„hæjJ"hè}r?†(hí]r@†Uhow-to-run-the-unit-testrA†ahì]hê]rB†Xhow-to-run-the-unit-testrC†ahë]hð]uhòNhóhhô]rD†hýXHow to Run the Unit TestrE†…�rF†}rG†(hÙj>†hÚj<†ubaubj/)�rH†}rI†(hÙX<The unit test works on the K2G EVM with an AUDK2G connected.rJ†hÚj™„häj«„hæj3hè}rK†(hê]hë]hì]hí]hð]uhòKVhóhhô]rL†hýX<The unit test works on the K2G EVM with an AUDK2G connected.rM†…�rN†}rO†(hÙjJ†hÚjH†ubaubj/)�rP†}rQ†(hÙX8The following section provide detailed steps for K2G EVMrR†hÚj™„häj«„hæj3hè}rS†(hê]hë]hì]hí]hð]uhòKXhóhhô]rT†hýX8The following section provide detailed steps for K2G EVMrU†…�rV†}rW†(hÙjR†hÚjP†ubaubjQ)�rX†}rY†(hÙUhÚj™„häj«„hæjThè}rZ†(jVX-hí]hì]hê]hë]hð]uhòKZhóhhô]r[†(jX)�r\†}r]†(hÙX¡Follow this link `Processor SDK RTOS Setup CCS `__ to get target configuration setup correctlyhÚjX†häj«„hæj[hè}r^†(hê]hë]hì]hí]hð]uhòNhóhhô]r_†j/)�r`†}ra†(hÙX¡Follow this link `Processor SDK RTOS Setup CCS `__ to get target configuration setup correctlyhÚj\†häj«„hæj3hè}rb†(hê]hë]hì]hí]hð]uhòKZhô]rc†(hýXFollow this link rd†…�re†}rf†(hÙXFollow this link hÚj`†ubj)�rg†}rh†(hÙXd`Processor SDK RTOS Setup CCS `__hè}ri†(UnameXProcessor SDK RTOS Setup CCSjXAindex_how_to_guides.html#setup-ccs-for-evm-and-processor-sdk-rtoshí]hì]hê]hë]hð]uhÚj`†hô]rj†hýXProcessor SDK RTOS Setup CCSrk†…�rl†}rm†(hÙUhÚjg†ubahæjubhýX, to get target configuration setup correctlyrn†…�ro†}rp†(hÙX, to get target configuration setup correctlyhÚj`†ubeubaubjX)�rq†}rr†(hÙX?Connect to the on board emulator (J1 on K2G EVM) to your PC USBrs†hÚjX†häj«„hæj[hè}rt†(hê]hë]hì]hí]hð]uhòNhóhhô]ru†j/)�rv†}rw†(hÙjs†hÚjq†häj«„hæj3hè}rx†(hê]hë]hì]hí]hð]uhòK\hô]ry†hýX?Connect to the on board emulator (J1 on K2G EVM) to your PC USBrz†…�r{†}r|†(hÙjs†hÚjv†ubaubaubjX)�r}†}r~†(hÙX=Plug power adaptor(12V) into the K2G EVM and power on the EVMr†hÚjX†häj«„hæj[hè}r€†(hê]hë]hì]hí]hð]uhòNhóhhô]r�†j/)�r‚†}rƒ†(hÙj†hÚj}†häj«„hæj3hè}r„†(hê]hë]hì]hí]hð]uhòK]hô]r…†hýX=Plug power adaptor(12V) into the K2G EVM and power on the EVMr††…�r‡†}rˆ†(hÙj†hÚj‚†ubaubaubjX)�r‰†}rІ(hÙXYLaunch the target configuration file using "Launch Selected Configuration" from CCS 6.1.3hÚjX†häj«„hæj[hè}r‹†(hê]hë]hì]hí]hð]uhòNhóhhô]rŒ†j/)�r�†}rކ(hÙXYLaunch the target configuration file using "Launch Selected Configuration" from CCS 6.1.3r�†hÚj‰†häj«„hæj3hè}r�†(hê]hë]hì]hí]hð]uhòK^hô]r‘†hýXYLaunch the target configuration file using "Launch Selected Configuration" from CCS 6.1.3r’†…�r“†}r”†(hÙj�†hÚj�†ubaubaubjX)�r•†}r–†(hÙXThen "Connect to C66xx_DSP"r—†hÚjX†häj«„hæj[hè}r˜†(hê]hë]hì]hí]hð]uhòNhóhhô]r™†j/)�rš†}r›†(hÙj—†hÚj•†häj«„hæj3hè}rœ†(hê]hë]hì]hí]hð]uhòK`hô]r�†hýXThen "Connect to C66xx_DSP"rž†…�rŸ†}r †(hÙj—†hÚjš†ubaubaubjX)�r¡†}r¢†(hÙXqLoad the audioAnalogLoopbackTest.out from pdk_k2g_/packages/ti/addon/aud/test/analog/loopback/build/makehÚjX†häj«„hæj[hè}r£†(hê]hë]hì]hí]hð]uhòNhóhhô]r¤†j/)�r¥†}r¦†(hÙXqLoad the audioAnalogLoopbackTest.out from pdk_k2g_/packages/ti/addon/aud/test/analog/loopback/build/maker§†hÚj¡†häj«„hæj3hè}r¨†(hê]hë]hì]hí]hð]uhòKahô]r©†hýXqLoad the audioAnalogLoopbackTest.out from pdk_k2g_/packages/ti/addon/aud/test/analog/loopback/build/makerª†…�r«†}r¬†(hÙj§†hÚj¥†ubaubaubjX)�r­†}r®†(hÙX2Run the program (loaded previously) by pressing F8r¯†hÚjX†häj«„hæj[hè}r°†(hê]hë]hì]hí]hð]uhòNhóhhô]r±†j/)�r²†}r³†(hÙj¯†hÚj­†häj«„hæj3hè}r´†(hê]hë]hì]hí]hð]uhòKchô]rµ†hýX2Run the program (loaded previously) by pressing F8r¶†…�r·†}r¸†(hÙj¯†hÚj²†ubaubaubjX)�r¹†}rº†(hÙXUThe program will print out the instructions on how to verify the loopback physically hÚjX†häj«„hæj[hè}r»†(hê]hë]hì]hí]hð]uhòNhóhhô]r¼†j/)�r½†}r¾†(hÙXTThe program will print out the instructions on how to verify the loopback physicallyr¿†hÚj¹†häj«„hæj3hè}rÀ†(hê]hë]hì]hí]hð]uhòKdhô]rÁ†hýXTThe program will print out the instructions on how to verify the loopback physicallyr†…�rÆ}rĆ(hÙj¿†hÚj½†ubaubaubeubjË)�rņ}rƆ(hÙXÏ[C66xx] ****************************************** Audio DC Analog Loopback Test ****************************************** Test Verifies ADC and DAC Channels 0 to 3 Test Runs in Audio Loopback Mode Confirm that ADC Input Audio is Played at DAC Channels 0 to 3 Audio Connection Details ************************************** ADC_IN 0 ==> DAC_OUT 0 ADC_IN 1 ==> DAC_OUT 1 ADC_IN 2 ==> DAC_OUT 2 ADC_IN 3 ==> DAC_OUT 3 **************************************hÚj™„häj«„hæjÎhè}rdž(jjhí]hì]hê]hë]hð]uhòMhóhhô]rȆhýXÏ[C66xx] ****************************************** Audio DC Analog Loopback Test ****************************************** Test Verifies ADC and DAC Channels 0 to 3 Test Runs in Audio Loopback Mode Confirm that ADC Input Audio is Played at DAC Channels 0 to 3 Audio Connection Details ************************************** ADC_IN 0 ==> DAC_OUT 0 ADC_IN 1 ==> DAC_OUT 1 ADC_IN 2 ==> DAC_OUT 2 ADC_IN 3 ==> DAC_OUT 3 **************************************rɆ…�rʆ}rˆ(hÙUhÚjņubaubeubhäXSinternal padding after source/rtos/Examples_and_Demonstrations/AUDK2G_AddOn.rst.incr̆hæj>hè}r͆(hê]UlevelKhí]hì]Usourcej«„hë]hð]UlineKzUtypejfuhòK|hóhhô]rΆ(j/)�rφ}rІ(hÙX;Content block expected for the "raw" directive; none found.hè}rц(hê]hë]hì]hí]hð]uhÚj—„hô]rÒ†hýX;Content block expected for the "raw" directive; none found.rÓ†…�rÔ†}rÕ†(hÙUhÚjφubahæj3ubjË)�rÖ†}r׆(hÙX.. raw:: html hè}r؆(jjhí]hì]hê]hë]hð]uhÚj—„hô]rÙ†hýX.. raw:: html rÚ†…�rÛ†}r܆(hÙUhÚjÖ†ubahæjÎubeubj¬)�r݆}rÞ†(hÙUhè}r߆(hê]UlevelKhí]hì]rà†Uid63rá†aUsourcehåhë]hð]UlineKKUtypejY&uhÚjF")�râ†}rã†(hÙX Introductionrä†jKhÚhÛ)�rå†}ræ†(hÙUhÚhhähåhæhçhè}rç†(hê]hë]hì]hí]rè†U cmb-addonré†ahð]rê†h auhòKKhóhhô]rë†(hö)�rì†}rí†(hÙX CMB AddOnrî†hÚjå†hähåhæhúhè}rï†(hê]hë]hì]hí]hð]uhòKKhóhhô]rð†hýX CMB AddOnrñ†…�rò†}ró†(hÙjî†hÚjì†ubaubj )�rô†}rõ†(hÙXDhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_CMB_AddOnhÚjå†häj X9source/rtos/Examples_and_Demonstrations/CMB_AddOn.rst.incrö†…�r÷†}rø†bhæjhè}rù†(jjhí]hì]hê]hë]hð]uhòKhóhhô]rú†hýXDhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_CMB_AddOnrû†…�rü†}rý†(hÙUhÚjô†ubaubjâ†j/)�rþ†}rÿ†(hÙXThis page describes the Circular Microphone Board (CMB) Addon library and the unit test provided in the Processor-SDK for RTOS.r‡hÚjå†häj÷†hæj3hè}r‡(hê]hë]hì]hí]hð]uhòKhóhhô]r‡hýXThis page describes the Circular Microphone Board (CMB) Addon library and the unit test provided in the Processor-SDK for RTOS.r‡…�r‡}r‡(hÙj‡hÚjþ†ubaubj/)�r‡}r‡(hÙX3The key functions in the CMB Addon library include:r‡hÚjå†häj÷†hæj3hè}r ‡(hê]hë]hì]hí]hð]uhòK hóhhô]r ‡hýX3The key functions in the CMB Addon library include:r ‡…�r ‡}r ‡(hÙj‡hÚj‡ubaubjQ)�r‡}r‡(hÙUhÚjå†häj÷†hæjThè}r‡(jVX-hí]hì]hê]hë]hð]uhòK hóhhô]r‡(jX)�r‡}r‡(hÙX(Initialize the board connects to the CMBr‡hÚj‡häj÷†hæj[hè}r‡(hê]hë]hì]hí]hð]uhòNhóhhô]r‡j/)�r‡}r‡(hÙj‡hÚj‡häj÷†hæj3hè}r‡(hê]hë]hì]hí]hð]uhòK hô]r‡hýX(Initialize the board connects to the CMBr‡…�r‡}r‡(hÙj‡hÚj‡ubaubaubjX)�r‡}r‡(hÙX2Initialize/configure the McASP, EDMA, I2C and GPIOr ‡hÚj‡häj÷†hæj[hè}r!‡(hê]hë]hì]hí]hð]uhòNhóhhô]r"‡j/)�r#‡}r$‡(hÙj ‡hÚj‡häj÷†hæj3hè}r%‡(hê]hë]hì]hí]hð]uhòK hô]r&‡hýX2Initialize/configure the McASP, EDMA, I2C and GPIOr'‡…�r(‡}r)‡(hÙj ‡hÚj#‡ubaubaubjX)�r*‡}r+‡(hÙXNSet up the CMB and on-board audio codec to the correct sample rate and format hÚj‡häj÷†hæj[hè}r,‡(hê]hë]hì]hí]hð]uhòNhóhhô]r-‡j/)�r.‡}r/‡(hÙXMSet up the CMB and on-board audio codec to the correct sample rate and formatr0‡hÚj*‡häj÷†hæj3hè}r1‡(hê]hë]hì]hí]hð]uhòK hô]r2‡hýXMSet up the CMB and on-board audio codec to the correct sample rate and formatr3‡…�r4‡}r5‡(hÙj0‡hÚj.‡ubaubaubeubj/)�r6‡}r7‡(hÙXDThe unit test demo utilizes other Processor SDK features/components:r8‡hÚjå†häj÷†hæj3hè}r9‡(hê]hë]hì]hí]hð]uhòKhóhhô]r:‡hýXDThe unit test demo utilizes other Processor SDK features/components:r;‡…�r<‡}r=‡(hÙj8‡hÚj6‡ubaubjQ)�r>‡}r?‡(hÙUhÚjå†häj÷†hæjThè}r@‡(jVX-hí]hì]hê]hë]hð]uhòKhóhhô]rA‡(jX)�rB‡}rC‡(hÙXE**SYS/BIOS** application utilizing TI-RTOS features for DSP-C66x corerD‡hÚj>‡häj÷†hæj[hè}rE‡(hê]hë]hì]hí]hð]uhòNhóhhô]rF‡j/)�rG‡}rH‡(hÙjD‡hÚjB‡häj÷†hæj3hè}rI‡(hê]hë]hì]hí]hð]uhòKhô]rJ‡(jW)�rK‡}rL‡(hÙX **SYS/BIOS**hè}rM‡(hê]hë]hì]hí]hð]uhÚjG‡hô]rN‡hýXSYS/BIOSrO‡…�rP‡}rQ‡(hÙUhÚjK‡ubahæj_ubhýX9 application utilizing TI-RTOS features for DSP-C66x corerR‡…�rS‡}rT‡(hÙX9 application utilizing TI-RTOS features for DSP-C66x corehÚjG‡ubeubaubjX)�rU‡}rV‡(hÙX$**UIA** for instrumentation logging hÚj>‡häj÷†hæj[hè}rW‡(hê]hë]hì]hí]hð]uhòNhóhhô]rX‡j/)�rY‡}rZ‡(hÙX#**UIA** for instrumentation logginghÚjU‡häj÷†hæj3hè}r[‡(hê]hë]hì]hí]hð]uhòKhô]r\‡(jW)�r]‡}r^‡(hÙX**UIA**hè}r_‡(hê]hë]hì]hí]hð]uhÚjY‡hô]r`‡hýXUIAra‡…�rb‡}rc‡(hÙUhÚj]‡ubahæj_ubhýX for instrumentation loggingrd‡…�re‡}rf‡(hÙX for instrumentation logginghÚjY‡ubeubaubeubj/)�rg‡}rh‡(hÙX8Currently, the following devices and EVMs are supported:ri‡hÚjå†häj÷†hæj3hè}rj‡(hê]hë]hì]hí]hð]uhòKhóhhô]rk‡hýX8Currently, the following devices and EVMs are supported:rl‡…�rm‡}rn‡(hÙji‡hÚjg‡ubaubjQ)�ro‡}rp‡(hÙUhÚjå†häj÷†hæjThè}rq‡(jVX-hí]hì]hê]hë]hð]uhòKhóhhô]rr‡(jX)�rs‡}rt‡(hÙXSK2G, on the K2G EVM. See TIDEP-0088 (http://www.ti.com/tool/TIDEP-0088) for detailshÚjo‡häj÷†hæj[hè}ru‡(hê]hë]hì]hí]hð]uhòNhóhhô]rv‡j/)�rw‡}rx‡(hÙXSK2G, on the K2G EVM. See TIDEP-0088 (http://www.ti.com/tool/TIDEP-0088) for detailshÚjs‡häj÷†hæj3hè}ry‡(hê]hë]hì]hí]hð]uhòKhô]rz‡(hýX%K2G, on the K2G EVM. See TIDEP-0088 (r{‡…�r|‡}r}‡(hÙX%K2G, on the K2G EVM. See TIDEP-0088 (hÚjw‡ubj)�r~‡}r‡(hÙX!http://www.ti.com/tool/TIDEP-0088r€‡hè}r�‡(Urefurij€‡hí]hì]hê]hë]hð]uhÚjw‡hô]r‚‡hýX!http://www.ti.com/tool/TIDEP-0088rƒ‡…�r„‡}r…‡(hÙUhÚj~‡ubahæjubhýX ) for detailsr†‡…�r‡‡}rˆ‡(hÙX ) for detailshÚjw‡ubeubaubjX)�r‰‡}rЇ(hÙXbOMAP-L137, on the OMAP-L137 EVM. See TIDEP-0099 ((http://www.ti.com/tool/TIDEP-0099)) for details hÚjo‡häj÷†hæj[hè}r‹‡(hê]hë]hì]hí]hð]uhòNhóhhô]rŒ‡j/)�r�‡}rއ(hÙXaOMAP-L137, on the OMAP-L137 EVM. See TIDEP-0099 ((http://www.ti.com/tool/TIDEP-0099)) for detailshÚj‰‡häj÷†hæj3hè}r�‡(hê]hë]hì]hí]hð]uhòKhô]r�‡(hýX2OMAP-L137, on the OMAP-L137 EVM. See TIDEP-0099 ((r‘‡…�r’‡}r“‡(hÙX2OMAP-L137, on the OMAP-L137 EVM. See TIDEP-0099 ((hÚj�‡ubj)�r”‡}r•‡(hÙX!http://www.ti.com/tool/TIDEP-0099r–‡hè}r—‡(Urefurij–‡hí]hì]hê]hë]hð]uhÚj�‡hô]r˜‡hýX!http://www.ti.com/tool/TIDEP-0099r™‡…�rš‡}r›‡(hÙUhÚj”‡ubahæjubhýX)) for detailsrœ‡…�r�‡}rž‡(hÙX)) for detailshÚj�‡ubeubaubeubjF")�rŸ‡}r ‡(hÙX Requirementsr¡‡jKhÚjå†häj÷†hæjJ"hè}r¢‡(hí]r£‡Uid64r¤‡ahì]hê]r¥‡je…ahë]hð]uhòNhóhhô]r¦‡hýX Requirementsr§‡…�r¨‡}r©‡(hÙj¡‡hÚjŸ‡ubaubj/)�rª‡}r«‡(hÙXBThe following materials are required to run this add-on unit test:r¬‡hÚjå†häj÷†hæj3hè}r­‡(hê]hë]hì]hí]hð]uhòKhóhhô]r®‡hýXBThe following materials are required to run this add-on unit test:r¯‡…�r°‡}r±‡(hÙj¬‡hÚjª‡ubaubj/)�r²‡}r³‡(hÙXHardwarer´‡hÚjå†häj÷†hæj3hè}rµ‡(hê]hë]hì]hí]hð]uhòK!hóhhô]r¶‡hýXHardwarer·‡…�r¸‡}r¹‡(hÙj´‡hÚj²‡ubaubjQ)�rº‡}r»‡(hÙUhÚjå†häj÷†hæjThè}r¼‡(jVX-hí]hì]hê]hë]hð]uhòK#hóhhô]r½‡(jX)�r¾‡}r¿‡(hÙXTI EVMs (see list above)rÀ‡hÚjº‡häj÷†hæj[hè}rÁ‡(hê]hë]hì]hí]hð]uhòNhóhhô]r‡j/)�rÇ}rć(hÙjÀ‡hÚj¾‡häj÷†hæj3hè}rŇ(hê]hë]hì]hí]hð]uhòK#hô]rƇhýXTI EVMs (see list above)rLJ…�rȇ}rɇ(hÙjÀ‡hÚjÇubaubaubjX)�rʇ}rˇ(hÙX%Circular Microphone Array Board (CMB)ṙhÚjº‡häj÷†hæj[hè}r͇(hê]hë]hì]hí]hð]uhòNhóhhô]r·j/)�rχ}rЇ(hÙj̇hÚjʇhäj÷†hæj3hè}rч(hê]hë]hì]hí]hð]uhòK$hô]rÒ‡hýX%Circular Microphone Array Board (CMB)rÓ‡…�rÔ‡}rÕ‡(hÙj̇hÚjχubaubaubjX)�rÖ‡}rׇ(hÙX3OMAP-L137 Prototype Board (for OMAP-L137 EVM only) hÚjº‡häj÷†hæj[hè}r؇(hê]hë]hì]hí]hð]uhòNhóhhô]rÙ‡j/)�rÚ‡}rÛ‡(hÙX2OMAP-L137 Prototype Board (for OMAP-L137 EVM only)r܇hÚjÖ‡häj÷†hæj3hè}r݇(hê]hë]hì]hí]hð]uhòK%hô]rÞ‡hýX2OMAP-L137 Prototype Board (for OMAP-L137 EVM only)r߇…�rà‡}rá‡(hÙj܇hÚjÚ‡ubaubaubeubj/)�râ‡}rã‡(hÙXSoftwarerä‡hÚjå†häj÷†hæj3hè}rå‡(hê]hë]hì]hí]hð]uhòK'hóhhô]ræ‡hýXSoftwarer燅�rè‡}ré‡(hÙjä‡hÚjâ‡ubaubjQ)�rê‡}rë‡(hÙUhÚjå†häj÷†hæjThè}rì‡(jVX-hí]hì]hê]hë]hð]uhòK)hóhhô]rí‡(jX)�rî‡}rï‡(hÙX#Processor-SDK RTOS (4.0 or greater)rð‡hÚjê‡häj÷†hæj[hè}rñ‡(hê]hë]hì]hí]hð]uhòNhóhhô]rò‡j/)�ró‡}rô‡(hÙjð‡hÚjî‡häj÷†hæj3hè}rõ‡(hê]hë]hì]hí]hð]uhòK)hô]rö‡hýX#Processor-SDK RTOS (4.0 or greater)r÷‡…�rø‡}rù‡(hÙjð‡hÚjó‡ubaubaubjX)�rú‡}rû‡(hÙX"Code Composer Studio 6.1.3 and up hÚjê‡häj÷†hæj[hè}rü‡(hê]hë]hì]hí]hð]uhòNhóhhô]rý‡j/)�rþ‡}rÿ‡(hÙX!Code Composer Studio 6.1.3 and uprˆhÚjú‡häj÷†hæj3hè}rˆ(hê]hë]hì]hí]hð]uhòK*hô]rˆhýX!Code Composer Studio 6.1.3 and uprˆ…�rˆ}rˆ(hÙjˆhÚjþ‡ubaubaubeubjF")�rˆ}rˆ(hÙXSoftware DesignrˆhÚjå†häj÷†hæjJ"hè}r ˆ(hí]r ˆUid65r ˆahì]hê]hë]hð]r ˆh†auhòNhóhhô]r ˆhýXSoftware Designrˆ…�rˆ}rˆ(hÙjˆhÚjˆubaubjF")�rˆ}rˆ(hÙXFramework for Unit TestrˆhÚjå†häj÷†hæjJ"hè}rˆ(hí]rˆUframework-for-unit-testrˆahì]hê]hë]hð]rˆh{auhòNhóhhô]rˆhýXFramework for Unit Testrˆ…�rˆ}rˆ(hÙjˆhÚjˆubaubj/)�rˆ}rˆ(hÙXPThe current framework is based on SYS/BIOS. The following are the overall steps:rˆhÚjå†häj÷†hæj3hè}rˆ(hê]hë]hì]hí]hð]uhòK2hóhhô]r ˆhýXPThe current framework is based on SYS/BIOS. The following are the overall steps:r!ˆ…�r"ˆ}r#ˆ(hÙjˆhÚjˆubaubjQ)�r$ˆ}r%ˆ(hÙUhÚjå†häj÷†hæjThè}r&ˆ(jVX-hí]hì]hê]hë]hð]uhòK5hóhhô]r'ˆ(jX)�r(ˆ}r)ˆ(hÙXAThe McASP/EDMA will generate interrupt every 10ms (approximately)r*ˆhÚj$ˆhäj÷†hæj[hè}r+ˆ(hê]hë]hì]hí]hð]uhòNhóhhô]r,ˆj/)�r-ˆ}r.ˆ(hÙj*ˆhÚj(ˆhäj÷†hæj3hè}r/ˆ(hê]hë]hì]hí]hð]uhòK5hô]r0ˆhýXAThe McASP/EDMA will generate interrupt every 10ms (approximately)r1ˆ…�r2ˆ}r3ˆ(hÙj*ˆhÚj-ˆubaubaubjX)�r4ˆ}r5ˆ(hÙXgThe EDMA ISR will prepare the audio frame buffer pointers (McASP/EDMA RX buffer) for further processinghÚj$ˆhäj÷†hæj[hè}r6ˆ(hê]hë]hì]hí]hð]uhòNhóhhô]r7ˆj/)�r8ˆ}r9ˆ(hÙXgThe EDMA ISR will prepare the audio frame buffer pointers (McASP/EDMA RX buffer) for further processingr:ˆhÚj4ˆhäj÷†hæj3hè}r;ˆ(hê]hë]hì]hí]hð]uhòK6hô]r<ˆhýXgThe EDMA ISR will prepare the audio frame buffer pointers (McASP/EDMA RX buffer) for further processingr=ˆ…�r>ˆ}r?ˆ(hÙj:ˆhÚj8ˆubaubaubjX)�r@ˆ}rAˆ(hÙX@The EDMA ISR will also send a semaphore to wake up the main taskrBˆhÚj$ˆhäj÷†hæj[hè}rCˆ(hê]hë]hì]hí]hð]uhòNhóhhô]rDˆj/)�rEˆ}rFˆ(hÙjBˆhÚj@ˆhäj÷†hæj3hè}rGˆ(hê]hë]hì]hí]hð]uhòK8hô]rHˆhýX@The EDMA ISR will also send a semaphore to wake up the main taskrIˆ…�rJˆ}rKˆ(hÙjBˆhÚjEˆubaubaubjX)�rLˆ}rMˆ(hÙX]When woke up, the main thread will perform the audio de-interleaving to separate the channelshÚj$ˆhäj÷†hæj[hè}rNˆ(hê]hë]hì]hí]hð]uhòNhóhhô]rOˆj/)�rPˆ}rQˆ(hÙX]When woke up, the main thread will perform the audio de-interleaving to separate the channelsrRˆhÚjLˆhäj÷†hæj3hè}rSˆ(hê]hë]hì]hí]hð]uhòK9hô]rTˆhýX]When woke up, the main thread will perform the audio de-interleaving to separate the channelsrUˆ…�rVˆ}rWˆ(hÙjRˆhÚjPˆubaubaubjX)�rXˆ}rYˆ(hÙXNThe main thread will also output two of eight channels to McASP/EDMA TX bufferhÚj$ˆhäj÷†hæj[hè}rZˆ(hê]hë]hì]hí]hð]uhòNhóhhô]r[ˆj/)�r\ˆ}r]ˆ(hÙXNThe main thread will also output two of eight channels to McASP/EDMA TX bufferr^ˆhÚjXˆhäj÷†hæj3hè}r_ˆ(hê]hë]hì]hí]hð]uhòK;hô]r`ˆhýXNThe main thread will also output two of eight channels to McASP/EDMA TX bufferraˆ…�rbˆ}rcˆ(hÙj^ˆhÚj\ˆubaubaubjX)�rdˆ}reˆ(hÙXCThe McASP/EDMA will send the TX buffer to the on-board audio codec hÚj$ˆhäj÷†hæj[hè}rfˆ(hê]hë]hì]hí]hð]uhòNhóhhô]rgˆj/)�rhˆ}riˆ(hÙXBThe McASP/EDMA will send the TX buffer to the on-board audio codecrjˆhÚjdˆhäj÷†hæj3hè}rkˆ(hê]hë]hì]hí]hð]uhòK=hô]rlˆhýXBThe McASP/EDMA will send the TX buffer to the on-board audio codecrmˆ…�rnˆ}roˆ(hÙjjˆhÚjhˆubaubaubeubjF")�rpˆ}rqˆ(hÙX*How to Build the CMB Library and Unit TestrrˆhÚjå†häj÷†hæjJ"hè}rsˆ(hí]rtˆU*how-to-build-the-cmb-library-and-unit-testruˆahì]hê]hë]hð]rvˆh auhòNhóhhô]rwˆhýX*How to Build the CMB Library and Unit Testrxˆ…�ryˆ}rzˆ(hÙjrˆhÚjpˆubaubjF")�r{ˆ}r|ˆ(hÙXK2G EVMr}ˆjKhÚjå†häj÷†hæjJ"hè}r~ˆ(hí]rˆUid66r€ˆahì]hê]r�ˆjÓ…ahë]hð]uhòNhóhhô]r‚ˆhýXK2G EVMrƒˆ…�r„ˆ}r…ˆ(hÙj}ˆhÚj{ˆubaubj/)�r†ˆ}r‡ˆ(hÙX**For Linux:**rˆˆhÚjå†häj÷†hæj3hè}r‰ˆ(hê]hë]hì]hí]hð]uhòKEhóhhô]rŠˆjW)�r‹ˆ}rŒˆ(hÙjˆˆhè}r�ˆ(hê]hë]hì]hí]hð]uhÚj†ˆhô]rŽˆhýX For Linux:r�ˆ…�r�ˆ}r‘ˆ(hÙUhÚj‹ˆubahæj_ubaubjQ)�r’ˆ}r“ˆ(hÙUhÚjå†häj÷†hæjThè}r”ˆ(jVX-hí]hì]hê]hë]hð]uhòKGhóhhô]r•ˆjX)�r–ˆ}r—ˆ(hÙXDUnder pdk_k2g_1_x_x/packages directory, run the following commands: hÚj’ˆhäj÷†hæj[hè}r˜ˆ(hê]hë]hì]hí]hð]uhòNhóhhô]r™ˆj/)�ršˆ}r›ˆ(hÙXCUnder pdk_k2g_1_x_x/packages directory, run the following commands:rœˆhÚj–ˆhäj÷†hæj3hè}r�ˆ(hê]hë]hì]hí]hð]uhòKGhô]ržˆhýXCUnder pdk_k2g_1_x_x/packages directory, run the following commands:rŸˆ…�r ˆ}r¡ˆ(hÙjœˆhÚjšˆubaubaubaubjË)�r¢ˆ}r£ˆ(hÙXsource ./pdksetupenv.sh make cmb_clean make cmb the libraries will be in pdk_k2g_1_x_x/packages/ti/addon/cmb/lib/k2g/c66/release the OUT file (audioAnalogLoopbackTest.out) for DSP will be built at pdk_k2g_1_x_x/packages/ti/addon/cmb/test/evmK2G/analog/loopback/build/makehÚjå†häj÷†hæjÎhè}r¤ˆ(jjhí]hì]hê]hë]hð]uhòMvhóhhô]r¥ˆhýXsource ./pdksetupenv.sh make cmb_clean make cmb the libraries will be in pdk_k2g_1_x_x/packages/ti/addon/cmb/lib/k2g/c66/release the OUT file (audioAnalogLoopbackTest.out) for DSP will be built at pdk_k2g_1_x_x/packages/ti/addon/cmb/test/evmK2G/analog/loopback/build/maker¦ˆ…�r§ˆ}r¨ˆ(hÙUhÚj¢ˆubaubj/)�r©ˆ}rªˆ(hÙX**For Windows:**r«ˆhÚjå†häj÷†hæj3hè}r¬ˆ(hê]hë]hì]hí]hð]uhòKShóhhô]r­ˆjW)�r®ˆ}r¯ˆ(hÙj«ˆhè}r°ˆ(hê]hë]hì]hí]hð]uhÚj©ˆhô]r±ˆhýX For Windows:r²ˆ…�r³ˆ}r´ˆ(hÙUhÚj®ˆubahæj_ubaubjQ)�rµˆ}r¶ˆ(hÙUhÚjå†häj÷†hæjThè}r·ˆ(jVX-hí]hì]hê]hë]hð]uhòKUhóhhô]r¸ˆjX)�r¹ˆ}rºˆ(hÙXDUnder pdk_k2g_1_x_x/packages directory, run the following commands: hÚjµˆhäj÷†hæj[hè}r»ˆ(hê]hë]hì]hí]hð]uhòNhóhhô]r¼ˆj/)�r½ˆ}r¾ˆ(hÙXCUnder pdk_k2g_1_x_x/packages directory, run the following commands:r¿ˆhÚj¹ˆhäj÷†hæj3hè}rÀˆ(hê]hë]hì]hí]hð]uhòKUhô]rÁˆhýXCUnder pdk_k2g_1_x_x/packages directory, run the following commands:rˆ…�rÈ}rĈ(hÙj¿ˆhÚj½ˆubaubaubaubjË)�rň}rƈ(hÙXpdksetupenv.bat gmake cmb_clean gmake cmb the libraries will be in pdk_k2g_1_x_x\packages\ti\addon\cmb\lib\k2g\c66\release the OUT file (audioAnalogLoopbackTest.out) for DSP will be built at pdk_k2g_1_x_x\packages\ti\addon\cmb\test\evmK2G\analog\loopback\build\makehÚjå†häj÷†hæjÎhè}rLj(jjhí]hì]hê]hë]hð]uhòM„hóhhô]rȈhýXpdksetupenv.bat gmake cmb_clean gmake cmb the libraries will be in pdk_k2g_1_x_x\packages\ti\addon\cmb\lib\k2g\c66\release the OUT file (audioAnalogLoopbackTest.out) for DSP will be built at pdk_k2g_1_x_x\packages\ti\addon\cmb\test\evmK2G\analog\loopback\build\makerɈ…�rʈ}rˈ(hÙUhÚjňubaubjF")�r̈}r͈(hÙX OMAP-L137 EVMrΈhÚjå†häj÷†hæjJ"hè}rψ(hí]rЈUid67rшahì]hê]hë]hð]rÒˆh`auhòNhóhhô]rÓˆhýX OMAP-L137 EVMrÔˆ…�rÕˆ}rÖˆ(hÙjΈhÚj̈ubaubj/)�r׈}r؈(hÙX**For Linux:**rÙˆhÚjå†häj÷†hæj3hè}rÚˆ(hê]hë]hì]hí]hð]uhòKdhóhhô]rÛˆjW)�r܈}r݈(hÙjÙˆhè}rÞˆ(hê]hë]hì]hí]hð]uhÚj׈hô]r߈hýX For Linux:ràˆ…�ráˆ}râˆ(hÙUhÚj܈ubahæj_ubaubjQ)�rãˆ}räˆ(hÙUhÚjå†häj÷†hæjThè}råˆ(jVX-hí]hì]hê]hë]hð]uhòKfhóhhô]ræˆjX)�rçˆ}rèˆ(hÙXIUnder pdk_omapl137_1_x_x/packages directory, run the following commands: hÚjãˆhäj÷†hæj[hè}réˆ(hê]hë]hì]hí]hð]uhòNhóhhô]rêˆj/)�rëˆ}rìˆ(hÙXHUnder pdk_omapl137_1_x_x/packages directory, run the following commands:ríˆhÚjçˆhäj÷†hæj3hè}rîˆ(hê]hë]hì]hí]hð]uhòKfhô]rïˆhýXHUnder pdk_omapl137_1_x_x/packages directory, run the following commands:rðˆ…�rñˆ}ròˆ(hÙjíˆhÚjëˆubaubaubaubjË)�róˆ}rôˆ(hÙX*source ./pdksetupenv.sh make cmb_clean make cmb the libraries will be in pdk_omapl137_1_x_x/packages/ti/addon/cmb/lib/omapl137/c674/release the OUT file (audioAnalogLoopbackTest.out) for DSP will be built at pdk_omapl137_1_x_x/packages/ti/addon/cmb/test/evmOMAPL137/analog/loopback/build/makehÚjå†häj÷†hæjÎhè}rõˆ(jjhí]hì]hê]hë]hð]uhòM–hóhhô]röˆhýX*source ./pdksetupenv.sh make cmb_clean make cmb the libraries will be in pdk_omapl137_1_x_x/packages/ti/addon/cmb/lib/omapl137/c674/release the OUT file (audioAnalogLoopbackTest.out) for DSP will be built at pdk_omapl137_1_x_x/packages/ti/addon/cmb/test/evmOMAPL137/analog/loopback/build/maker÷ˆ…�røˆ}rùˆ(hÙUhÚjóˆubaubj/)�rúˆ}rûˆ(hÙX**For Windows:**rüˆhÚjå†häj÷†hæj3hè}rýˆ(hê]hë]hì]hí]hð]uhòKshóhhô]rþˆjW)�rÿˆ}r‰(hÙjüˆhè}r‰(hê]hë]hì]hí]hð]uhÚjúˆhô]r‰hýX For Windows:r‰…�r‰}r‰(hÙUhÚjÿˆubahæj_ubaubjQ)�r‰}r‰(hÙUhÚjå†häj÷†hæjThè}r‰(jVX-hí]hì]hê]hë]hð]uhòKuhóhhô]r ‰jX)�r ‰}r ‰(hÙXIUnder pdk_omapl137_1_x_x\packages directory, run the following commands: hÚj‰häj÷†hæj[hè}r ‰(hê]hë]hì]hí]hð]uhòNhóhhô]r ‰j/)�r‰}r‰(hÙXHUnder pdk_omapl137_1_x_x\packages directory, run the following commands:hÚj ‰häj÷†hæj3hè}r‰(hê]hë]hì]hí]hð]uhòKuhô]r‰hýXGUnder pdk_omapl137_1_x_xpackages directory, run the following commands:r‰…�r‰}r‰(hÙXHUnder pdk_omapl137_1_x_x\packages directory, run the following commands:hÚj‰ubaubaubaubjË)�r‰}r‰(hÙX$pdksetupenv.bat gmake cmb_clean gmake cmb the libraries will be in pdk_omapl137_1_x_x\packages\ti\addon\cmb\lib\omapl137\c674\release the OUT file (audioAnalogLoopbackTest.out) for DSP will be built at pdk_omapl137_1_x_x\packages\ti\addon\cmb\test\evmOMAPL137\analog\loopback\build\makehÚjå†häj÷†hæjÎhè}r‰(jjhí]hì]hê]hë]hð]uhòM¥hóhhô]r‰hýX$pdksetupenv.bat gmake cmb_clean gmake cmb the libraries will be in pdk_omapl137_1_x_x\packages\ti\addon\cmb\lib\omapl137\c674\release the OUT file (audioAnalogLoopbackTest.out) for DSP will be built at pdk_omapl137_1_x_x\packages\ti\addon\cmb\test\evmOMAPL137\analog\loopback\build\maker‰…�r‰}r‰(hÙUhÚj‰ubaubjF")�r‰}r‰(hÙXHow to Run the Unit Testr‰jKhÚjå†häj÷†hæjJ"hè}r‰(hí]r ‰Uid68r!‰ahì]hê]r"‰jC†ahë]hð]uhòNhóhhô]r#‰hýXHow to Run the Unit Testr$‰…�r%‰}r&‰(hÙj‰hÚj‰ubaubj/)�r'‰}r(‰(hÙX¾The unit test will be loaded onto the target using JTAG. After running the unit test, the 2 out of 8 input audio channels from CMB will be output to the line-out of the on-board audio codec.r)‰hÚjå†häj÷†hæj3hè}r*‰(hê]hë]hì]hí]hð]uhòK…hóhhô]r+‰hýX¾The unit test will be loaded onto the target using JTAG. After running the unit test, the 2 out of 8 input audio channels from CMB will be output to the line-out of the on-board audio codec.r,‰…�r-‰}r.‰(hÙj)‰hÚj'‰ubaubj/)�r/‰}r0‰(hÙX;The following sections provide detailed steps for each EVM.r1‰hÚjå†häj÷†hæj3hè}r2‰(hê]hë]hì]hí]hð]uhòK‰hóhhô]r3‰hýX;The following sections provide detailed steps for each EVM.r4‰…�r5‰}r6‰(hÙj1‰hÚj/‰ubaubjF")�r7‰}r8‰(hÙXK2G EVMr9‰hÚjå†häj÷†hæjJ"hè}r:‰(hí]r;‰U k2g-evm-1r<‰ahì]hê]hë]hð]r=‰hauhòNhóhhô]r>‰hýXK2G EVMr?‰…�r@‰}rA‰(hÙj9‰hÚj7‰ubaubjQ)�rB‰}rC‰(hÙUhÚjå†häj÷†hæjThè}rD‰(jVX-hí]hì]hê]hë]hð]uhòKŽhóhhô]rE‰(jX)�rF‰}rG‰(hÙXgFollow this link :ref:`Processor-SDK-RTOS-Setup-CCS-label` to get target configuration setup correctly.hÚjB‰häj÷†hæj[hè}rH‰(hê]hë]hì]hí]hð]uhòNhóhhô]rI‰j/)�rJ‰}rK‰(hÙXgFollow this link :ref:`Processor-SDK-RTOS-Setup-CCS-label` to get target configuration setup correctly.hÚjF‰häj÷†hæj3hè}rL‰(hê]hë]hì]hí]hð]uhòKŽhô]rM‰(hýXFollow this link rN‰…�rO‰}rP‰(hÙXFollow this link hÚjJ‰ubjZ)�rQ‰}rR‰(hÙX):ref:`Processor-SDK-RTOS-Setup-CCS-label`rS‰hÚjJ‰häj÷†hæj^hè}rT‰(UreftypeXrefj¢ ˆj£ X"processor-sdk-rtos-setup-ccs-labelU refdomainXstdrU‰hí]hì]U refexplicit‰hê]hë]hð]j¤ j¥ uhòKŽhô]rV‰jb)�rW‰}rX‰(hÙjS‰hè}rY‰(hê]hë]rZ‰(j­ jU‰Xstd-refr[‰ehì]hí]hð]uhÚjQ‰hô]r\‰hýX"Processor-SDK-RTOS-Setup-CCS-labelr]‰…�r^‰}r_‰(hÙUhÚjW‰ubahæjlubaubhýX- to get target configuration setup correctly.r`‰…�ra‰}rb‰(hÙX- to get target configuration setup correctly.hÚjJ‰ubeubaubjX)�rc‰}rd‰(hÙX?Connect to the on board emulator (J1 on K2G EVM) to your PC USBre‰hÚjB‰häj÷†hæj[hè}rf‰(hê]hë]hì]hí]hð]uhòNhóhhô]rg‰j/)�rh‰}ri‰(hÙje‰hÚjc‰häj÷†hæj3hè}rj‰(hê]hë]hì]hí]hð]uhòK�hô]rk‰hýX?Connect to the on board emulator (J1 on K2G EVM) to your PC USBrl‰…�rm‰}rn‰(hÙje‰hÚjh‰ubaubaubjX)�ro‰}rp‰(hÙX=Plug power adaptor(12V) into the K2G EVM and power on the EVMrq‰hÚjB‰häj÷†hæj[hè}rr‰(hê]hë]hì]hí]hð]uhòNhóhhô]rs‰j/)�rt‰}ru‰(hÙjq‰hÚjo‰häj÷†hæj3hè}rv‰(hê]hë]hì]hí]hð]uhòK‘hô]rw‰hýX=Plug power adaptor(12V) into the K2G EVM and power on the EVMrx‰…�ry‰}rz‰(hÙjq‰hÚjt‰ubaubaubjX)�r{‰}r|‰(hÙXSLaunch the ccxml created above using "Launch Selected Configuration" from CCS 6.1.3hÚjB‰häj÷†hæj[hè}r}‰(hê]hë]hì]hí]hð]uhòNhóhhô]r~‰j/)�r‰}r€‰(hÙXSLaunch the ccxml created above using "Launch Selected Configuration" from CCS 6.1.3r�‰hÚj{‰häj÷†hæj3hè}r‚‰(hê]hë]hì]hí]hð]uhòK’hô]rƒ‰hýXSLaunch the ccxml created above using "Launch Selected Configuration" from CCS 6.1.3r„‰…�r…‰}r†‰(hÙj�‰hÚj‰ubaubaubjX)�r‡‰}rˆ‰(hÙXThen "Connect to C66xx_DSP"r‰‰hÚjB‰häj÷†hæj[hè}rЉ(hê]hë]hì]hí]hð]uhòNhóhhô]r‹‰j/)�rŒ‰}r�‰(hÙj‰‰hÚj‡‰häj÷†hæj3hè}rމ(hê]hë]hì]hí]hð]uhòK”hô]r�‰hýXThen "Connect to C66xx_DSP"r�‰…�r‘‰}r’‰(hÙj‰‰hÚjŒ‰ubaubaubjX)�r“‰}r”‰(hÙXtLoad the audioAnalogLoopbackTest.out from pdk_k2g_1_x_x/packages/ti/addon/cmb/test/evmK2G/analog/loopback/build/makehÚjB‰häj÷†hæj[hè}r•‰(hê]hë]hì]hí]hð]uhòNhóhhô]r–‰j/)�r—‰}r˜‰(hÙXtLoad the audioAnalogLoopbackTest.out from pdk_k2g_1_x_x/packages/ti/addon/cmb/test/evmK2G/analog/loopback/build/maker™‰hÚj“‰häj÷†hæj3hè}rš‰(hê]hë]hì]hí]hð]uhòK•hô]r›‰hýXtLoad the audioAnalogLoopbackTest.out from pdk_k2g_1_x_x/packages/ti/addon/cmb/test/evmK2G/analog/loopback/build/makerœ‰…�r�‰}rž‰(hÙj™‰hÚj—‰ubaubaubjX)�rŸ‰}r ‰(hÙX2Run the program (loaded previously) by pressing F8r¡‰hÚjB‰häj÷†hæj[hè}r¢‰(hê]hë]hì]hí]hð]uhòNhóhhô]r£‰j/)�r¤‰}r¥‰(hÙj¡‰hÚjŸ‰häj÷†hæj3hè}r¦‰(hê]hë]hì]hí]hð]uhòK—hô]r§‰hýX2Run the program (loaded previously) by pressing F8r¨‰…�r©‰}rª‰(hÙj¡‰hÚj¤‰ubaubaubjX)�r«‰}r¬‰(hÙXjThe program will run the unit test forever, taking the input from CMB and output to the on-board line-out hÚjB‰häj÷†hæj[hè}r­‰(hê]hë]hì]hí]hð]uhòNhóhhô]r®‰j/)�r¯‰}r°‰(hÙXiThe program will run the unit test forever, taking the input from CMB and output to the on-board line-outr±‰hÚj«‰häj÷†hæj3hè}r²‰(hê]hë]hì]hí]hð]uhòK˜hô]r³‰hýXiThe program will run the unit test forever, taking the input from CMB and output to the on-board line-outr´‰…�rµ‰}r¶‰(hÙj±‰hÚj¯‰ubaubaubeubjF")�r·‰}r¸‰(hÙX OMAP-L137 EVMr¹‰hÚjå†häj÷†hæjJ"hè}rº‰(hí]r»‰Uomap-l137-evm-1r¼‰ahì]hê]hë]hð]r½‰h‡auhòNhóhhô]r¾‰hýX OMAP-L137 EVMr¿‰…�rÀ‰}rÁ‰(hÙj¹‰hÚj·‰ubaubjQ)�r‰}rÉ(hÙUhÚjå†häj÷†hæjThè}rĉ(jVX-hí]hì]hê]hë]hð]uhòKžhóhhô]rʼn(jX)�rƉ}rlj(hÙXgFollow this link :ref:`Processor-SDK-RTOS-Setup-CCS-label` to get target configuration setup correctly.hÚj‰häj÷†hæj[hè}rȉ(hê]hë]hì]hí]hð]uhòNhóhhô]rɉj/)�rʉ}rˉ(hÙXgFollow this link :ref:`Processor-SDK-RTOS-Setup-CCS-label` to get target configuration setup correctly.hÚjƉhäj÷†hæj3hè}r̉(hê]hë]hì]hí]hð]uhòKžhô]r͉(hýXFollow this link rΉ…�rω}rЉ(hÙXFollow this link hÚjʉubjZ)�rщ}rÒ‰(hÙX):ref:`Processor-SDK-RTOS-Setup-CCS-label`rÓ‰hÚjʉhäj÷†hæj^hè}rÔ‰(UreftypeXrefj¢ ˆj£ X"processor-sdk-rtos-setup-ccs-labelU refdomainXstdrÕ‰hí]hì]U refexplicit‰hê]hë]hð]j¤ j¥ uhòKžhô]rÖ‰jb)�r׉}r؉(hÙjÓ‰hè}rÙ‰(hê]hë]rÚ‰(j­ jÕ‰Xstd-refrÛ‰ehì]hí]hð]uhÚjщhô]r܉hýX"Processor-SDK-RTOS-Setup-CCS-labelr݉…�rÞ‰}r߉(hÙUhÚj׉ubahæjlubaubhýX- to get target configuration setup correctly.rà‰…�rá‰}râ‰(hÙX- to get target configuration setup correctly.hÚjʉubeubaubjX)�rã‰}rä‰(hÙXGConnect to the on board emulator (J201 on OMAP-L137 EVM) to your PC USBhÚj‰häj÷†hæj[hè}rå‰(hê]hë]hì]hí]hð]uhòNhóhhô]ræ‰j/)�rç‰}rè‰(hÙXGConnect to the on board emulator (J201 on OMAP-L137 EVM) to your PC USBré‰hÚjã‰häj÷†hæj3hè}rê‰(hê]hë]hì]hí]hð]uhòK hô]rë‰hýXGConnect to the on board emulator (J201 on OMAP-L137 EVM) to your PC USBr쉅�rí‰}rî‰(hÙjé‰hÚjç‰ubaubaubjX)�rï‰}rð‰(hÙXBPlug power adaptor(5V) into the OMAP-L137 EVM and power on the EVMrñ‰hÚj‰häj÷†hæj[hè}rò‰(hê]hë]hì]hí]hð]uhòNhóhhô]ró‰j/)�rô‰}rõ‰(hÙjñ‰hÚjï‰häj÷†hæj3hè}rö‰(hê]hë]hì]hí]hð]uhòK¢hô]r÷‰hýXBPlug power adaptor(5V) into the OMAP-L137 EVM and power on the EVMrø‰…�rù‰}rú‰(hÙjñ‰hÚjô‰ubaubaubjX)�rû‰}rü‰(hÙXSLaunch the ccxml created above using "Launch Selected Configuration" from CCS 6.1.3hÚj‰häj÷†hæj[hè}rý‰(hê]hë]hì]hí]hð]uhòNhóhhô]rþ‰j/)�rÿ‰}rŠ(hÙXSLaunch the ccxml created above using "Launch Selected Configuration" from CCS 6.1.3rŠhÚjû‰häj÷†hæj3hè}rŠ(hê]hë]hì]hí]hð]uhòK£hô]rŠhýXSLaunch the ccxml created above using "Launch Selected Configuration" from CCS 6.1.3rŠ…�rŠ}rŠ(hÙjŠhÚjÿ‰ubaubaubjX)�rŠ}rŠ(hÙXThen "Connect to C674X_0"r ŠhÚj‰häj÷†hæj[hè}r Š(hê]hë]hì]hí]hð]uhòNhóhhô]r Šj/)�r Š}r Š(hÙj ŠhÚjŠhäj÷†hæj3hè}rŠ(hê]hë]hì]hí]hð]uhòK¥hô]rŠhýXThen "Connect to C674X_0"rŠ…�rŠ}rŠ(hÙj ŠhÚj ŠubaubaubjX)�rŠ}rŠ(hÙX~Load the audioAnalogLoopbackTest.out from pdk_omapl137_1_x_x/packages/ti/addon/cmb/test/evmOMAPL137/analog/loopback/build/makehÚj‰häj÷†hæj[hè}rŠ(hê]hë]hì]hí]hð]uhòNhóhhô]rŠj/)�rŠ}rŠ(hÙX~Load the audioAnalogLoopbackTest.out from pdk_omapl137_1_x_x/packages/ti/addon/cmb/test/evmOMAPL137/analog/loopback/build/makerŠhÚjŠhäj÷†hæj3hè}rŠ(hê]hë]hì]hí]hð]uhòK¦hô]rŠhýX~Load the audioAnalogLoopbackTest.out from pdk_omapl137_1_x_x/packages/ti/addon/cmb/test/evmOMAPL137/analog/loopback/build/makerŠ…�rŠ}rŠ(hÙjŠhÚjŠubaubaubjX)�rŠ}r Š(hÙX2Run the program (loaded previously) by pressing F8r!ŠhÚj‰häj÷†hæj[hè}r"Š(hê]hë]hì]hí]hð]uhòNhóhhô]r#Šj/)�r$Š}r%Š(hÙj!ŠhÚjŠhäj÷†hæj3hè}r&Š(hê]hë]hì]hí]hð]uhòK¨hô]r'ŠhýX2Run the program (loaded previously) by pressing F8r(Š…�r)Š}r*Š(hÙj!ŠhÚj$ŠubaubaubjX)�r+Š}r,Š(hÙXjThe program will run the unit test forever, taking the input from CMB and output to the on-board line-out hÚj‰häj÷†hæj[hè}r-Š(hê]hë]hì]hí]hð]uhòNhóhhô]r.Šj/)�r/Š}r0Š(hÙXiThe program will run the unit test forever, taking the input from CMB and output to the on-board line-outr1ŠhÚj+Šhäj÷†hæj3hè}r2Š(hê]hë]hì]hí]hð]uhòK©hô]r3ŠhýXiThe program will run the unit test forever, taking the input from CMB and output to the on-board line-outr4Š…�r5Š}r6Š(hÙj1ŠhÚj/ŠubaubaubeubjÎ)�r7Š}r8Š(hÙUhÚjå†häj÷†hæjÑhè}r9Š(hê]hë]hì]hí]hð]uhòK¬hóhhô]r:ŠjÔ)�r;Š}r<Š(hÙUj×KhÚj7Šhäj÷†hæhòhè}r=Š(hê]hë]hì]hí]hð]uhòKhóhhô]ubaubeubhäj÷†hæjJ"hè}r>Š(hí]r?Šjá†ahì]hê]r@Šj¹„ahë]hð]uhòNhóhhô]rAŠhýX IntroductionrBŠ…�rCŠ}rDŠ(hÙjä†hÚjâ†ubaubhô]rEŠj/)�rFŠ}rGŠ(hÙX/Duplicate explicit target name: "introduction".hè}rHŠ(hê]hë]hì]hí]hð]uhÚj݆hô]rIŠhýX/Duplicate explicit target name: "introduction".rJŠ…�rKŠ}rLŠ(hÙUhÚjFŠubahæj3ubahæj>ubj¬)�rMŠ}rNŠ(hÙUhè}rOŠ(hê]UlevelKhí]hì]rPŠj¤‡aUsourcehåhë]hð]UlineKKUtypejY&uhÚjŸ‡hô]rQŠj/)�rRŠ}rSŠ(hÙX/Duplicate explicit target name: "requirements".hè}rTŠ(hê]hë]hì]hí]hð]uhÚjMŠhô]rUŠhýX/Duplicate explicit target name: "requirements".rVŠ…�rWŠ}rXŠ(hÙUhÚjRŠubahæj3ubahæj>ubj¬)�rYŠ}rZŠ(hÙUhè}r[Š(hê]UlevelKhí]hì]r\Šj€ˆaUsourcehåhë]hð]UlineKKUtypejY&uhÚj{ˆhô]r]Šj/)�r^Š}r_Š(hÙX*Duplicate explicit target name: "k2g-evm".hè}r`Š(hê]hë]hì]hí]hð]uhÚjYŠhô]raŠhýX*Duplicate explicit target name: "k2g-evm".rbŠ…�rcŠ}rdŠ(hÙUhÚj^Šubahæj3ubahæj>ubj¬)�reŠ}rfŠ(hÙUhè}rgŠ(hê]UlevelKhí]hì]rhŠj!‰aUsourcehåhë]hð]UlineKKUtypejY&uhÚj‰hô]riŠj/)�rjŠ}rkŠ(hÙX;Duplicate explicit target name: "how-to-run-the-unit-test".hè}rlŠ(hê]hë]hì]hí]hð]uhÚjeŠhô]rmŠhýX;Duplicate explicit target name: "how-to-run-the-unit-test".rnŠ…�roŠ}rpŠ(hÙUhÚjjŠubahæj3ubahæj>ubj¬)�rqŠ}rrŠ(hÙUhÚjå†häXPinternal padding after source/rtos/Examples_and_Demonstrations/CMB_AddOn.rst.incrsŠhæj>hè}rtŠ(hê]UlevelKhí]hì]Usourcej÷†hë]hð]UlineK®UtypejfuhòK°hóhhô]ruŠ(j/)�rvŠ}rwŠ(hÙX;Content block expected for the "raw" directive; none found.hè}rxŠ(hê]hë]hì]hí]hð]uhÚjqŠhô]ryŠhýX;Content block expected for the "raw" directive; none found.rzŠ…�r{Š}r|Š(hÙUhÚjvŠubahæj3ubjË)�r}Š}r~Š(hÙX.. raw:: html hè}rŠ(jjhí]hì]hê]hë]hð]uhÚjqŠhô]r€ŠhýX.. raw:: html r�Š…�r‚Š}rƒŠ(hÙUhÚj}ŠubahæjÎubeubj¬)�r„Š}r…Š(hÙUhÚhÛ)�r†Š}r‡Š(hÙUjKhÚhÛ)�rˆŠ}r‰Š(hÙUhÚhhähåhæhçhè}rŠŠ(hê]hë]hì]hí]r‹ŠUsimplelink-wifi-demorŒŠahð]r�ŠhDauhòKQhóhhô]rŽŠ(hö)�r�Š}r�Š(hÙXSimpleLink WiFi Demor‘ŠhÚjˆŠhähåhæhúhè}r’Š(hê]hë]hì]hí]hð]uhòKQhóhhô]r“ŠhýXSimpleLink WiFi Demor”Š…�r•Š}r–Š(hÙj‘ŠhÚj�Šubaubj)�r—Š}r˜Š(hÙX$.. _Demo-SimpleLink-WiFi-Demo-label:hÚjˆŠhähåhæjhè}r™Š(hê]hë]hì]hí]ršŠUdemo-simplelink-wifi-demo-labelr›Šahð]rœŠhauhòMßhóhhô]ubj )�r�Š}ržŠ(hÙXOhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_SimpleLink_WiFi_DemohÚjˆŠhäj XDsource/rtos/Examples_and_Demonstrations/SimpleLink_WiFi_Demo.rst.incrŸŠ…�r Š}r¡Šbhæjhè}r¢Š(jjhí]hì]hê]hë]hð]uhòKhóhhô]r£ŠhýXOhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_SimpleLink_WiFi_Demor¤Š…�r¥Š}r¦Š(hÙUhÚj�Šubaubj†ŠhÛ)�r§Š}r¨Š(hÙUhÚjˆŠhäj Šhæhçhè}r©Š(hê]hë]hì]hí]rªŠUsupported-platformsr«Šahð]r¬Šh7auhòKhóhhô]r­Š(hö)�r®Š}r¯Š(hÙXSupported platformsr°ŠhÚj§Šhäj Šhæhúhè}r±Š(hê]hë]hì]hí]hð]uhòKhóhhô]r²ŠhýXSupported platformsr³Š…�r´Š}rµŠ(hÙj°ŠhÚj®ŠubaubjQ)�r¶Š}r·Š(hÙUhÚj§Šhäj ŠhæjThè}r¸Š(jVX-hí]hì]hê]hë]hð]uhòKhóhhô]r¹ŠjX)�rºŠ}r»Š(hÙXiceAMIC110 ( A8 ) hÚj¶Šhäj Šhæj[hè}r¼Š(hê]hë]hì]hí]hð]uhòNhóhhô]r½Šj/)�r¾Š}r¿Š(hÙXiceAMIC110 ( A8 )rÀŠhÚjºŠhäj Šhæj3hè}rÁŠ(hê]hë]hì]hí]hð]uhòKhô]rŠhýXiceAMIC110 ( A8 )rÊ…�rÄŠ}rÅŠ(hÙjÀŠhÚj¾ŠubaubaubaubeubhÛ)�rÆŠ}rÇŠ(hÙUjKhÚjˆŠhäj Šhæhçhè}rÈŠ(hê]rÉŠX requirementsrÊŠahë]hì]hí]rËŠUid70rÌŠahð]uhòKhóhhô]rÍŠ(hö)�rΊ}rÏŠ(hÙX RequirementsrЊhÚjÆŠhäj Šhæhúhè}rÑŠ(hê]hë]hì]hí]hð]uhòKhóhhô]rÒŠhýX RequirementsrÓŠ…�rÔŠ}rÕŠ(hÙjЊhÚjΊubaubj/)�rÖŠ}r׊(hÙX.Following are required to run the application:rØŠhÚjÆŠhäj Šhæj3hè}rÙŠ(hê]hë]hì]hí]hð]uhòKhóhhô]rÚŠhýX.Following are required to run the application:rÛŠ…�rÜŠ}rÝŠ(hÙjØŠhÚjÖŠubaubj/)�rÞŠ}rߊ(hÙXHardwareràŠhÚjÆŠhäj Šhæj3hè}ráŠ(hê]hë]hì]hí]hð]uhòKhóhhô]râŠhýXHardwarer㊅�räŠ}råŠ(hÙjàŠhÚjÞŠubaubjQ)�ræŠ}rçŠ(hÙUhÚjÆŠhäj ŠhæjThè}rèŠ(jVX-hí]hì]hê]hë]hð]uhòKhóhhô]réŠ(jX)�rêŠ}rëŠ(hÙXTI CC3120 BoosterPackrìŠhÚjæŠhäj Šhæj[hè}ríŠ(hê]hë]hì]hí]hð]uhòNhóhhô]rîŠj/)�rïŠ}rðŠ(hÙjìŠhÚjêŠhäj Šhæj3hè}rñŠ(hê]hë]hì]hí]hð]uhòKhô]ròŠhýXTI CC3120 BoosterPackróŠ…�rôŠ}rõŠ(hÙjìŠhÚjïŠubaubaubjX)�röŠ}r÷Š(hÙXTI EVM (see list above)røŠhÚjæŠhäj Šhæj[hè}rùŠ(hê]hë]hì]hí]hð]uhòNhóhhô]rúŠj/)�rûŠ}rüŠ(hÙjøŠhÚjöŠhäj Šhæj3hè}rýŠ(hê]hë]hì]hí]hð]uhòKhô]rþŠhýXTI EVM (see list above)rÿŠ…�r‹}r‹(hÙjøŠhÚjûŠubaubaubjX)�r‹}r‹(hÙX,Blue wires between CC3120 BP and AMIC110 ICEr‹hÚjæŠhäj Šhæj[hè}r‹(hê]hë]hì]hí]hð]uhòNhóhhô]r‹j/)�r‹}r‹(hÙj‹hÚj‹häj Šhæj3hè}r ‹(hê]hë]hì]hí]hð]uhòKhô]r ‹hýX,Blue wires between CC3120 BP and AMIC110 ICEr ‹…�r ‹}r ‹(hÙj‹hÚj‹ubaubaubjX)�r‹}r‹(hÙX'Serial UART cable (provided in EVM kit)r‹hÚjæŠhäj Šhæj[hè}r‹(hê]hë]hì]hí]hð]uhòNhóhhô]r‹j/)�r‹}r‹(hÙj‹hÚj‹häj Šhæj3hè}r‹(hê]hë]hì]hí]hð]uhòKhô]r‹hýX'Serial UART cable (provided in EVM kit)r‹…�r‹}r‹(hÙj‹hÚj‹ubaubaubjX)�r‹}r‹(hÙXConnection Diagramr‹hÚjæŠhäj Šhæj[hè}r‹(hê]hë]hì]hí]hð]uhòNhóhhô]r‹j/)�r‹}r ‹(hÙj‹hÚj‹häj Šhæj3hè}r!‹(hê]hë]hì]hí]hð]uhòKhô]r"‹hýXConnection Diagramr#‹…�r$‹}r%‹(hÙj‹hÚj‹ubaubaubeubj)�r&‹}r'‹(hÙX0.. Image:: ../images/sl_wifi_demo_connection.jpgr(‹hÚjÆŠhäj Šhæjhè}r)‹(UuriX*rtos/../images/sl_wifi_demo_connection.jpgr*‹hí]hì]hê]hë]j}r+‹U*j*‹shð]uhòKhóhhô]ubjQ)�r,‹}r-‹(hÙUhÚjÆŠhäj ŠhæjThè}r.‹(jVX-hí]hì]hê]hë]hð]uhòK hóhhô]r/‹jX)�r0‹}r1‹(hÙXPicture of connected EVMsr2‹hÚj,‹häj Šhæj[hè}r3‹(hê]hë]hì]hí]hð]uhòNhóhhô]r4‹j/)�r5‹}r6‹(hÙj2‹hÚj0‹häj Šhæj3hè}r7‹(hê]hë]hì]hí]hð]uhòK hô]r8‹hýXPicture of connected EVMsr9‹…�r:‹}r;‹(hÙj2‹hÚj5‹ubaubaubaubj)�r<‹}r=‹(hÙX0.. Image:: ../images/sl_wifi_demo_connected.jpg hÚjÆŠhäj Šhæjhè}r>‹(UuriX)rtos/../images/sl_wifi_demo_connected.jpgr?‹hí]hì]hê]hë]j}r@‹U*j?‹shð]uhòK"hóhhô]ubj/)�rA‹}rB‹(hÙXSoftwarerC‹hÚjÆŠhäj Šhæj3hè}rD‹(hê]hë]hì]hí]hð]uhòK#hóhhô]rE‹hýXSoftwarerF‹…�rG‹}rH‹(hÙjC‹hÚjA‹ubaubjQ)�rI‹}rJ‹(hÙUhÚjÆŠhäj ŠhæjThè}rK‹(jVX-hí]hì]hê]hë]hð]uhòK%hóhhô]rL‹(jX)�rM‹}rN‹(hÙX"Processor-SDK RTOS 5.1.0 and laterrO‹hÚjI‹häj Šhæj[hè}rP‹(hê]hë]hì]hí]hð]uhòNhóhhô]rQ‹j/)�rR‹}rS‹(hÙjO‹hÚjM‹häj Šhæj3hè}rT‹(hê]hë]hì]hí]hð]uhòK%hô]rU‹hýX"Processor-SDK RTOS 5.1.0 and laterrV‹…�rW‹}rX‹(hÙjO‹hÚjR‹ubaubaubjX)�rY‹}rZ‹(hÙX$Code Composer Studio 8.0 and later hÚjI‹häj Šhæj[hè}r[‹(hê]hë]hì]hí]hð]uhòNhóhhô]r\‹j/)�r]‹}r^‹(hÙX"Code Composer Studio 8.0 and laterr_‹hÚjY‹häj Šhæj3hè}r`‹(hê]hë]hì]hí]hð]uhòK&hô]ra‹hýX"Code Composer Studio 8.0 and laterrb‹…�rc‹}rd‹(hÙj_‹hÚj]‹ubaubaubeubeubhÛ)�re‹}rf‹(hÙUjKhÚjˆŠhäj Šhæhçhè}rg‹(hê]rh‹Xcomponents usedri‹ahë]hì]hí]rj‹Uid71rk‹ahð]uhòK*hóhhô]rl‹(hö)�rm‹}rn‹(hÙXComponents Usedro‹hÚje‹häj Šhæhúhè}rp‹(hê]hë]hì]hí]hð]uhòK*hóhhô]rq‹hýXComponents Usedrr‹…�rs‹}rt‹(hÙjo‹hÚjm‹ubaubj/)�ru‹}rv‹(hÙXRTOS Components:rw‹hÚje‹häj Šhæj3hè}rx‹(hê]hë]hì]hí]hð]uhòK,hóhhô]ry‹hýXRTOS Components:rz‹…�r{‹}r|‹(hÙjw‹hÚju‹ubaubjQ)�r}‹}r~‹(hÙUhÚje‹häj ŠhæjThè}r‹(jVX-hí]hì]hê]hë]hð]uhòK.hóhhô]r€‹(jX)�r�‹}r‚‹(hÙXSYS/BIOSrƒ‹hÚj}‹häj Šhæj[hè}r„‹(hê]hë]hì]hí]hð]uhòNhóhhô]r…‹j/)�r†‹}r‡‹(hÙjƒ‹hÚj�‹häj Šhæj3hè}rˆ‹(hê]hë]hì]hí]hð]uhòK.hô]r‰‹hýXSYS/BIOSrŠ‹…�r‹‹}rŒ‹(hÙjƒ‹hÚj†‹ubaubaubjX)�r�‹}rŽ‹(hÙXXDCToolsr�‹hÚj}‹häj Šhæj[hè}r�‹(hê]hë]hì]hí]hð]uhòNhóhhô]r‘‹j/)�r’‹}r“‹(hÙj�‹hÚj�‹häj Šhæj3hè}r”‹(hê]hë]hì]hí]hð]uhòK/hô]r•‹hýXXDCToolsr–‹…�r—‹}r˜‹(hÙj�‹hÚj’‹ubaubaubjX)�r™‹}rš‹(hÙX@Processor SDK RTOS PDK: SPI, UART, GPIO LLDs, OSAL, Board etc. hÚj}‹häj Šhæj[hè}r›‹(hê]hë]hì]hí]hð]uhòNhóhhô]rœ‹j/)�r�‹}rž‹(hÙX>Processor SDK RTOS PDK: SPI, UART, GPIO LLDs, OSAL, Board etc.rŸ‹hÚj™‹häj Šhæj3hè}r ‹(hê]hë]hì]hí]hð]uhòK0hô]r¡‹hýX>Processor SDK RTOS PDK: SPI, UART, GPIO LLDs, OSAL, Board etc.r¢‹…�r£‹}r¤‹(hÙjŸ‹hÚj�‹ubaubaubeubeubhÛ)�r¥‹}r¦‹(hÙUjKhÚjˆŠhäj Šhæhçhè}r§‹(hê]r¨‹Xsoftware designr©‹ahë]hì]hí]rª‹Uid72r«‹ahð]uhòK4hóhhô]r¬‹(hö)�r­‹}r®‹(hÙXSoftware Designr¯‹hÚj¥‹häj Šhæhúhè}r°‹(hê]hë]hì]hí]hð]uhòK4hóhhô]r±‹hýXSoftware Designr²‹…�r³‹}r´‹(hÙj¯‹hÚj­‹ubaubj/)�rµ‹}r¶‹(hÙX¡The demo implemented a network terminal application to illustrate how the SimpleLink WiFi Plugin for Processor SDK RTOS can be used to provide a low cost solution for Sitara devies (AM3/4/5). The AMIC110 ICE and CC3120 BoosterPack are connected via SPI and GPIO pins. The SPI interface will provide The data and command channels for SimpleLink WiFi Plugin, while the GPIO pins are providing the INT and RESET signals.r·‹hÚj¥‹häj Šhæj3hè}r¸‹(hê]hë]hì]hí]hð]uhòK6hóhhô]r¹‹hýX¡The demo implemented a network terminal application to illustrate how the SimpleLink WiFi Plugin for Processor SDK RTOS can be used to provide a low cost solution for Sitara devies (AM3/4/5). The AMIC110 ICE and CC3120 BoosterPack are connected via SPI and GPIO pins. The SPI interface will provide The data and command channels for SimpleLink WiFi Plugin, while the GPIO pins are providing the INT and RESET signals.rº‹…�r»‹}r¼‹(hÙj·‹hÚjµ‹ubaubj/)�r½‹}r¾‹(hÙX5The following diagram shows the overview of the demo:r¿‹hÚj¥‹häj Šhæj3hè}rÀ‹(hê]hë]hì]hí]hð]uhòK=hóhhô]rÁ‹hýX5The following diagram shows the overview of the demo:r‹…�rË}rÄ‹(hÙj¿‹hÚj½‹ubaubj)�rÅ‹}rÆ‹(hÙX0.. Image:: ../images/sl_wifi_demo_overview.jpg hÚj¥‹häj Šhæjhè}rÇ‹(UuriX(rtos/../images/sl_wifi_demo_overview.jpgrÈ‹hí]hì]hê]hë]j}rÉ‹U*jÈ‹shð]uhòKAhóhhô]ubj/)�rÊ‹}rË‹(hÙX*The source files are organized as follows:rÌ‹hÚj¥‹häj Šhæj3hè}rÍ‹(hê]hë]hì]hí]hð]uhòKBhóhhô]r΋hýX*The source files are organized as follows:rÏ‹…�rЋ}rÑ‹(hÙjÌ‹hÚjÊ‹ubaubjË)�rÒ‹}rÓ‹(hÙX└── simplelink-wifi-demo ├── bin --> Folder for the executables ├── examples --> Demo source code, projectspec file and makefile ├── lib --> Folder for SimpleLink WiFi Plugin liraray ├── source --> Folder for SimpleLink WiFi Plugin sourcehÚj¥‹häj ŠhæjÎhè}rÔ‹(jjhí]hì]hê]hë]hð]uhòM(hóhhô]rÕ‹hýX└── simplelink-wifi-demo ├── bin --> Folder for the executables ├── examples --> Demo source code, projectspec file and makefile ├── lib --> Folder for SimpleLink WiFi Plugin liraray ├── source --> Folder for SimpleLink WiFi Plugin sourcerÖ‹…�r׋}rØ‹(hÙUhÚjÒ‹ubaubeubhÛ)�rÙ‹}rÚ‹(hÙUhÚjˆŠhäj Šhæhçhè}rÛ‹(hê]hë]hì]hí]rÜ‹U6how-to-build-the-simplelink-wifi-plugin-demo-using-ccsrÝ‹ahð]rÞ‹hgauhòKNhóhhô]rß‹(hö)�rà‹}rá‹(hÙX6How to Build the SimpleLink WiFi Plugin Demo using CCSrâ‹hÚjÙ‹häj Šhæhúhè}rã‹(hê]hë]hì]hí]hð]uhòKNhóhhô]rä‹hýX6How to Build the SimpleLink WiFi Plugin Demo using CCSrå‹…�ræ‹}rç‹(hÙjâ‹hÚjà‹ubaubj/)�rè‹}ré‹(hÙXDPlease follow below step by step procedure to build the application.rê‹hÚjÙ‹häj Šhæj3hè}rë‹(hê]hë]hì]hí]hð]uhòKPhóhhô]rì‹hýXDPlease follow below step by step procedure to build the application.rí‹…�rî‹}rï‹(hÙjê‹hÚjè‹ubaubj¼)�rð‹}rñ‹(hÙUhÚjÙ‹häj Šhæj¿hè}rò‹(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòKRhóhhô]ró‹(jX)�rô‹}rõ‹(hÙXInstall Code Composer Studio.rö‹hÚjð‹häj Šhæj[hè}r÷‹(hê]hë]hì]hí]hð]uhòNhóhhô]rø‹j/)�rù‹}rú‹(hÙjö‹hÚjô‹häj Šhæj3hè}rû‹(hê]hë]hì]hí]hð]uhòKRhô]rü‹hýXInstall Code Composer Studio.rý‹…�rþ‹}rÿ‹(hÙjö‹hÚjù‹ubaubaubjX)�rŒ}rŒ(hÙXòInstall Processor SDK RTOS for the respective platform needed, in a location where CCS expects: (by default $HOME/ti or c:/ti) Refer :ref:`Processor SDK RTOS Getting Started Guide ` for details.hÚjð‹häj Šhæj[hè}rŒ(hê]hë]hì]hí]hð]uhòNhóhhô]rŒj/)�rŒ}rŒ(hÙXòInstall Processor SDK RTOS for the respective platform needed, in a location where CCS expects: (by default $HOME/ti or c:/ti) Refer :ref:`Processor SDK RTOS Getting Started Guide ` for details.hÚjŒhäj Šhæj3hè}rŒ(hê]hë]hì]hí]hð]uhòKShô]rŒ(hýX…Install Processor SDK RTOS for the respective platform needed, in a location where CCS expects: (by default $HOME/ti or c:/ti) Refer rŒ…�r Œ}r Œ(hÙX…Install Processor SDK RTOS for the respective platform needed, in a location where CCS expects: (by default $HOME/ti or c:/ti) Refer hÚjŒubjZ)�r Œ}r Œ(hÙX`:ref:`Processor SDK RTOS Getting Started Guide `r ŒhÚjŒhäj Šhæj^hè}rŒ(UreftypeXrefj¢ ˆj£ X.processor-sdk-rtos-getting-started-guide-labelU refdomainXstdrŒhí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòKShô]rŒjb)�rŒ}rŒ(hÙj Œhè}rŒ(hê]hë]rŒ(j­ jŒXstd-refrŒehì]hí]hð]uhÚj Œhô]rŒhýX(Processor SDK RTOS Getting Started GuiderŒ…�rŒ}rŒ(hÙUhÚjŒubahæjlubaubhýX for details.rŒ…�rŒ}rŒ(hÙX for details.hÚjŒubeubaubjX)�rŒ}rŒ(hÙX Open CCS:rŒhÚjð‹häj Šhæj[hè}r Œ(hê]hë]hì]hí]hð]uhòNhóhhô]r!Œj/)�r"Œ}r#Œ(hÙjŒhÚjŒhäj Šhæj3hè}r$Œ(hê]hë]hì]hí]hð]uhòKWhô]r%ŒhýX Open CCS:r&Œ…�r'Œ}r(Œ(hÙjŒhÚj"ŒubaubaubjX)�r)Œ}r*Œ(hÙXªClick Project-->Import CCS Projects and select network_terminal_AMIC110_ICE_RTOS_ccs under directory : processor_sdk_rtos__/demos/simplelink-wifi-demo/hÚjð‹häj Šhæj[hè}r+Œ(hê]hë]hì]hí]hð]uhòNhóhhô]r,Œj/)�r-Œ}r.Œ(hÙXªClick Project-->Import CCS Projects and select network_terminal_AMIC110_ICE_RTOS_ccs under directory : processor_sdk_rtos__/demos/simplelink-wifi-demo/r/ŒhÚj)Œhäj Šhæj3hè}r0Œ(hê]hë]hì]hí]hð]uhòKXhô]r1ŒhýXªClick Project-->Import CCS Projects and select network_terminal_AMIC110_ICE_RTOS_ccs under directory : processor_sdk_rtos__/demos/simplelink-wifi-demo/r2Œ…�r3Œ}r4Œ(hÙj/ŒhÚj-ŒubaubaubjX)�r5Œ}r6Œ(hÙX^Build the application . ( By right clicking on imported project and clicking "Build project") hÚjð‹häj Šhæj[hè}r7Œ(hê]hë]hì]hí]hð]uhòNhóhhô]r8Œj/)�r9Œ}r:Œ(hÙX]Build the application . ( By right clicking on imported project and clicking "Build project")r;ŒhÚj5Œhäj Šhæj3hè}r<Œ(hê]hë]hì]hí]hð]uhòK[hô]r=ŒhýX]Build the application . ( By right clicking on imported project and clicking "Build project")r>Œ…�r?Œ}r@Œ(hÙj;ŒhÚj9Œubaubaubeubj))�rAŒ}rBŒ(hÙX˜This will create executable binary under /network_terminal_AMIC110_ICE_RTOS_RTOS_ccs/Debug/network_terminal_AMIC110_ICE_RTOS_RTOS_ccs.outrCŒhÚjÙ‹häj Šhæj,hè}rDŒ(hê]hë]hì]hí]hð]uhòNhóhhô]rEŒj/)�rFŒ}rGŒ(hÙjCŒhÚjAŒhäj Šhæj3hè}rHŒ(hê]hë]hì]hí]hð]uhòK_hô]rIŒhýX˜This will create executable binary under /network_terminal_AMIC110_ICE_RTOS_RTOS_ccs/Debug/network_terminal_AMIC110_ICE_RTOS_RTOS_ccs.outrJŒ…�rKŒ}rLŒ(hÙjCŒhÚjFŒubaubaubj)�rMŒ}rNŒ(hÙX2.. Image:: ../images/sl_wifi_demo_ccs_import.jpg hÚjÙ‹häj Šhæjhè}rOŒ(UuriX*rtos/../images/sl_wifi_demo_ccs_import.jpgrPŒhí]hì]hê]hë]j}rQŒU*jPŒshð]uhòKchóhhô]ubeubhÛ)�rRŒ}rSŒ(hÙUhÚjˆŠhäj Šhæhçhè}rTŒ(hê]hë]hì]hí]rUŒUFhow-to-build-the-simplelink-wifi-plugin-demo-using-makefile-on-windowsrVŒahð]rWŒh}auhòKehóhhô]rXŒ(hö)�rYŒ}rZŒ(hÙXFHow to Build the SimpleLink WiFi Plugin Demo using makefile on Windowsr[ŒhÚjRŒhäj Šhæhúhè}r\Œ(hê]hë]hì]hí]hð]uhòKehóhhô]r]ŒhýXFHow to Build the SimpleLink WiFi Plugin Demo using makefile on Windowsr^Œ…�r_Œ}r`Œ(hÙj[ŒhÚjYŒubaubj/)�raŒ}rbŒ(hÙXDPlease follow below step by step procedure to build the application.rcŒhÚjRŒhäj Šhæj3hè}rdŒ(hê]hë]hì]hí]hð]uhòKghóhhô]reŒhýXDPlease follow below step by step procedure to build the application.rfŒ…�rgŒ}rhŒ(hÙjcŒhÚjaŒubaubj¼)�riŒ}rjŒ(hÙUhÚjRŒhäj Šhæj¿hè}rkŒ(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòKihóhhô]rlŒ(jX)�rmŒ}rnŒ(hÙXæInstall Processor SDK RTOS for the respective platform needed, in a location where CCS expects: (by default c:/ti) Refer :ref:`Processor SDK RTOS Getting Started Guide ` for details.hÚjiŒhäj Šhæj[hè}roŒ(hê]hë]hì]hí]hð]uhòNhóhhô]rpŒj/)�rqŒ}rrŒ(hÙXæInstall Processor SDK RTOS for the respective platform needed, in a location where CCS expects: (by default c:/ti) Refer :ref:`Processor SDK RTOS Getting Started Guide ` for details.hÚjmŒhäj Šhæj3hè}rsŒ(hê]hë]hì]hí]hð]uhòKihô]rtŒ(hýXyInstall Processor SDK RTOS for the respective platform needed, in a location where CCS expects: (by default c:/ti) Refer ruŒ…�rvŒ}rwŒ(hÙXyInstall Processor SDK RTOS for the respective platform needed, in a location where CCS expects: (by default c:/ti) Refer hÚjqŒubjZ)�rxŒ}ryŒ(hÙX`:ref:`Processor SDK RTOS Getting Started Guide `rzŒhÚjqŒhäj Šhæj^hè}r{Œ(UreftypeXrefj¢ ˆj£ X.processor-sdk-rtos-getting-started-guide-labelU refdomainXstdr|Œhí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòKihô]r}Œjb)�r~Œ}rŒ(hÙjzŒhè}r€Œ(hê]hë]r�Œ(j­ j|ŒXstd-refr‚Œehì]hí]hð]uhÚjxŒhô]rƒŒhýX(Processor SDK RTOS Getting Started Guider„Œ…�r…Œ}r†Œ(hÙUhÚj~ŒubahæjlubaubhýX for details.r‡Œ…�rˆŒ}r‰Œ(hÙX for details.hÚjqŒubeubaubjX)�rŠŒ}r‹Œ(hÙXUnder DOS command prompt type:rŒŒhÚjiŒhäj Šhæj[hè}r�Œ(hê]hë]hì]hí]hð]uhòNhóhhô]rŽŒj/)�r�Œ}r�Œ(hÙjŒŒhÚjŠŒhäj Šhæj3hè}r‘Œ(hê]hë]hì]hí]hð]uhòKmhô]r’ŒhýXUnder DOS command prompt type:r“Œ…�r”Œ}r•Œ(hÙjŒŒhÚj�ŒubaubaubjX)�r–Œ}r—Œ(hÙX2cd processor_sdk_rtos__/ folderr˜ŒhÚjiŒhäj Šhæj[hè}r™Œ(hê]hë]hì]hí]hð]uhòNhóhhô]ršŒj/)�r›Œ}rœŒ(hÙj˜ŒhÚj–Œhäj Šhæj3hè}r�Œ(hê]hë]hì]hí]hð]uhòKnhô]ržŒhýX2cd processor_sdk_rtos__/ folderrŸŒ…�r Œ}r¡Œ(hÙj˜ŒhÚj›ŒubaubaubjX)�r¢Œ}r£Œ(hÙX setupenv.batr¤ŒhÚjiŒhäj Šhæj[hè}r¥Œ(hê]hë]hì]hí]hð]uhòNhóhhô]r¦Œj/)�r§Œ}r¨Œ(hÙj¤ŒhÚj¢Œhäj Šhæj3hè}r©Œ(hê]hë]hì]hí]hð]uhòKohô]rªŒhýX setupenv.batr«Œ…�r¬Œ}r­Œ(hÙj¤ŒhÚj§ŒubaubaubjX)�r®Œ}r¯Œ(hÙX�cd processor_sdk_rtos__/demos/simplelink-wifi-demo/examples\rtos/AMIC110_ICE/demos/network_terminal/tirtos/ccsr°ŒhÚjiŒhäj Šhæj[hè}r±Œ(hê]hë]hì]hí]hð]uhòNhóhhô]r²Œj/)�r³Œ}r´Œ(hÙj°ŒhÚj®Œhäj Šhæj3hè}rµŒ(hê]hë]hì]hí]hð]uhòKphô]r¶ŒhýX€cd processor_sdk_rtos__/demos/simplelink-wifi-demo/examplesrtos/AMIC110_ICE/demos/network_terminal/tirtos/ccsr·Œ…�r¸Œ}r¹Œ(hÙX�cd processor_sdk_rtos__/demos/simplelink-wifi-demo/examples\rtos/AMIC110_ICE/demos/network_terminal/tirtos/ccshÚj³ŒubaubaubjX)�rºŒ}r»Œ(hÙX gmake cleanr¼ŒhÚjiŒhäj Šhæj[hè}r½Œ(hê]hë]hì]hí]hð]uhòNhóhhô]r¾Œj/)�r¿Œ}rÀŒ(hÙj¼ŒhÚjºŒhäj Šhæj3hè}rÁŒ(hê]hë]hì]hí]hð]uhòKqhô]rÂŒhýX gmake cleanrÃŒ…�rÄŒ}rÅŒ(hÙj¼ŒhÚj¿ŒubaubaubjX)�rÆŒ}rÇŒ(hÙX gmake allrÈŒhÚjiŒhäj Šhæj[hè}rÉŒ(hê]hë]hì]hí]hð]uhòNhóhhô]rÊŒj/)�rËŒ}rÌŒ(hÙjÈŒhÚjÆŒhäj Šhæj3hè}rÍŒ(hê]hë]hì]hí]hð]uhòKrhô]rÎŒhýX gmake allrÏŒ…�rÐŒ}rÑŒ(hÙjÈŒhÚjËŒubaubaubjX)�rÒŒ}rÓŒ(hÙXjThe executable binary will be generated under processor_sdk_rtos__/demos/simplelink-wifi-demo/examples\rtos/AMIC110_ICE/demos/network_terminal/tirtos/ccs and The executable network_terminal.out, boot image files network_terminal.bin and app will be under processor_sdk_rtos__/demos/simplelink-wifi-demo/bin/am335x/a8/debug hÚjiŒhäj Šhæj[hè}rÔŒ(hê]hë]hì]hí]hð]uhòNhóhhô]rÕŒj/)�rÖŒ}r׌(hÙXhThe executable binary will be generated under processor_sdk_rtos__/demos/simplelink-wifi-demo/examples\rtos/AMIC110_ICE/demos/network_terminal/tirtos/ccs and The executable network_terminal.out, boot image files network_terminal.bin and app will be under processor_sdk_rtos__/demos/simplelink-wifi-demo/bin/am335x/a8/debughÚjÒŒhäj Šhæj3hè}rØŒ(hê]hë]hì]hí]hð]uhòKshô]rÙŒhýXgThe executable binary will be generated under processor_sdk_rtos__/demos/simplelink-wifi-demo/examplesrtos/AMIC110_ICE/demos/network_terminal/tirtos/ccs and The executable network_terminal.out, boot image files network_terminal.bin and app will be under processor_sdk_rtos__/demos/simplelink-wifi-demo/bin/am335x/a8/debugrÚŒ…�rÛŒ}rÜŒ(hÙXhThe executable binary will be generated under processor_sdk_rtos__/demos/simplelink-wifi-demo/examples\rtos/AMIC110_ICE/demos/network_terminal/tirtos/ccs and The executable network_terminal.out, boot image files network_terminal.bin and app will be under processor_sdk_rtos__/demos/simplelink-wifi-demo/bin/am335x/a8/debughÚjÖŒubaubaubeubeubhÛ)�rÝŒ}rÞŒ(hÙUhÚjˆŠhäj Šhæhçhè}rߌ(hê]hë]hì]hí]ràŒUDhow-to-build-the-simplelink-wifi-plugin-demo-using-makefile-on-linuxráŒahð]râŒh.auhòKzhóhhô]rãŒ(hö)�räŒ}råŒ(hÙXDHow to Build the SimpleLink WiFi Plugin Demo using makefile on LinuxræŒhÚjÝŒhäj Šhæhúhè}rçŒ(hê]hë]hì]hí]hð]uhòKzhóhhô]rèŒhýXDHow to Build the SimpleLink WiFi Plugin Demo using makefile on Linuxr錅�rêŒ}rëŒ(hÙjæŒhÚjäŒubaubj/)�rìŒ}ríŒ(hÙXDPlease follow below step by step procedure to build the application.rîŒhÚjÝŒhäj Šhæj3hè}rïŒ(hê]hë]hì]hí]hð]uhòK|hóhhô]rðŒhýXDPlease follow below step by step procedure to build the application.rñŒ…�ròŒ}róŒ(hÙjîŒhÚjìŒubaubj¼)�rôŒ}rõŒ(hÙUhÚjÝŒhäj Šhæj¿hè}röŒ(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòK~hóhhô]r÷Œ(jX)�røŒ}rùŒ(hÙXéInstall Processor SDK RTOS for the respective platform needed, in a location where CCS expects: (by default $HOME/ti) Refer :ref:`Processor SDK RTOS Getting Started Guide ` for details.hÚjôŒhäj Šhæj[hè}rúŒ(hê]hë]hì]hí]hð]uhòNhóhhô]rûŒj/)�rüŒ}rýŒ(hÙXéInstall Processor SDK RTOS for the respective platform needed, in a location where CCS expects: (by default $HOME/ti) Refer :ref:`Processor SDK RTOS Getting Started Guide ` for details.hÚjøŒhäj Šhæj3hè}rþŒ(hê]hë]hì]hí]hð]uhòK~hô]rÿŒ(hýX|Install Processor SDK RTOS for the respective platform needed, in a location where CCS expects: (by default $HOME/ti) Refer r�…�r�}r�(hÙX|Install Processor SDK RTOS for the respective platform needed, in a location where CCS expects: (by default $HOME/ti) Refer hÚjüŒubjZ)�r�}r�(hÙX`:ref:`Processor SDK RTOS Getting Started Guide `r�hÚjüŒhäj Šhæj^hè}r�(UreftypeXrefj¢ ˆj£ X.processor-sdk-rtos-getting-started-guide-labelU refdomainXstdr�hí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòK~hô]r�jb)�r �}r �(hÙj�hè}r �(hê]hë]r �(j­ j�Xstd-refr �ehì]hí]hð]uhÚj�hô]r�hýX(Processor SDK RTOS Getting Started Guider�…�r�}r�(hÙUhÚj �ubahæjlubaubhýX for details.r�…�r�}r�(hÙX for details.hÚjüŒubeubaubjX)�r�}r�(hÙX Under Linux command prompt type:r�hÚjôŒhäj Šhæj[hè}r�(hê]hë]hì]hí]hð]uhòNhóhhô]r�j/)�r�}r�(hÙj�hÚj�häj Šhæj3hè}r�(hê]hë]hì]hí]hð]uhòK‚hô]r�hýX Under Linux command prompt type:r�…�r�}r �(hÙj�hÚj�ubaubaubjX)�r!�}r"�(hÙX2cd processor_sdk_rtos__/ folderr#�hÚjôŒhäj Šhæj[hè}r$�(hê]hë]hì]hí]hð]uhòNhóhhô]r%�j/)�r&�}r'�(hÙj#�hÚj!�häj Šhæj3hè}r(�(hê]hë]hì]hí]hð]uhòKƒhô]r)�hýX2cd processor_sdk_rtos__/ folderr*�…�r+�}r,�(hÙj#�hÚj&�ubaubaubjX)�r-�}r.�(hÙXsource setupenv.shr/�hÚjôŒhäj Šhæj[hè}r0�(hê]hë]hì]hí]hð]uhòNhóhhô]r1�j/)�r2�}r3�(hÙj/�hÚj-�häj Šhæj3hè}r4�(hê]hë]hì]hí]hð]uhòK„hô]r5�hýXsource setupenv.shr6�…�r7�}r8�(hÙj/�hÚj2�ubaubaubjX)�r9�}r:�(hÙX�cd processor_sdk_rtos__/demos/simplelink-wifi-demo/examples\rtos/AMIC110_ICE/demos/network_terminal/tirtos/ccsr;�hÚjôŒhäj Šhæj[hè}r<�(hê]hë]hì]hí]hð]uhòNhóhhô]r=�j/)�r>�}r?�(hÙj;�hÚj9�häj Šhæj3hè}r@�(hê]hë]hì]hí]hð]uhòK…hô]rA�hýX€cd processor_sdk_rtos__/demos/simplelink-wifi-demo/examplesrtos/AMIC110_ICE/demos/network_terminal/tirtos/ccsrB�…�rC�}rD�(hÙX�cd processor_sdk_rtos__/demos/simplelink-wifi-demo/examples\rtos/AMIC110_ICE/demos/network_terminal/tirtos/ccshÚj>�ubaubaubjX)�rE�}rF�(hÙX make cleanrG�hÚjôŒhäj Šhæj[hè}rH�(hê]hë]hì]hí]hð]uhòNhóhhô]rI�j/)�rJ�}rK�(hÙjG�hÚjE�häj Šhæj3hè}rL�(hê]hë]hì]hí]hð]uhòK†hô]rM�hýX make cleanrN�…�rO�}rP�(hÙjG�hÚjJ�ubaubaubjX)�rQ�}rR�(hÙXmake allrS�hÚjôŒhäj Šhæj[hè}rT�(hê]hë]hì]hí]hð]uhòNhóhhô]rU�j/)�rV�}rW�(hÙjS�hÚjQ�häj Šhæj3hè}rX�(hê]hë]hì]hí]hð]uhòK‡hô]rY�hýXmake allrZ�…�r[�}r\�(hÙjS�hÚjV�ubaubaubjX)�r]�}r^�(hÙX®The executable binary will be generated under processor_sdk_rtos__/demos/simplelink-wifi-demo/examples\rtos/AMIC110_ICE/demos/network_terminal/tirtos/ccs hÚjôŒhäj Šhæj[hè}r_�(hê]hë]hì]hí]hð]uhòNhóhhô]r`�j/)�ra�}rb�(hÙX¬The executable binary will be generated under processor_sdk_rtos__/demos/simplelink-wifi-demo/examples\rtos/AMIC110_ICE/demos/network_terminal/tirtos/ccshÚj]�häj Šhæj3hè}rc�(hê]hë]hì]hí]hð]uhòKˆhô]rd�hýX«The executable binary will be generated under processor_sdk_rtos__/demos/simplelink-wifi-demo/examplesrtos/AMIC110_ICE/demos/network_terminal/tirtos/ccsre�…�rf�}rg�(hÙX¬The executable binary will be generated under processor_sdk_rtos__/demos/simplelink-wifi-demo/examples\rtos/AMIC110_ICE/demos/network_terminal/tirtos/ccshÚja�ubaubaubeubeubhÛ)�rh�}ri�(hÙUhÚjˆŠhäj Šhæhçhè}rj�(hê]hë]hì]hí]rk�U4how-to-run-the-simplelink-wifi-plugin-demo-using-ccsrl�ahð]rm�h–auhòK�hóhhô]rn�(hö)�ro�}rp�(hÙX4How to Run the SimpleLink WiFi Plugin Demo using CCSrq�hÚjh�häj Šhæhúhè}rr�(hê]hë]hì]hí]hð]uhòK�hóhhô]rs�hýX4How to Run the SimpleLink WiFi Plugin Demo using CCSrt�…�ru�}rv�(hÙjq�hÚjo�ubaubj/)�rw�}rx�(hÙXYou will need the following:ry�hÚjh�häj Šhæj3hè}rz�(hê]hë]hì]hí]hð]uhòK�hóhhô]r{�hýXYou will need the following:r|�…�r}�}r~�(hÙjy�hÚjw�ubaubj¼)�r�}r€�(hÙUhÚjh�häj Šhæj¿hè}r��(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòK‘hóhhô]r‚�(jX)�rƒ�}r„�(hÙXÄInstall Code Composer Studio to load and run the Template Application. Refer to :ref:`Processor SDK RTOS Getting Started Guide ` for installing CCS.hÚj�häj Šhæj[hè}r…�(hê]hë]hì]hí]hð]uhòNhóhhô]r†�j/)�r‡�}rˆ�(hÙXÄInstall Code Composer Studio to load and run the Template Application. Refer to :ref:`Processor SDK RTOS Getting Started Guide ` for installing CCS.hÚjƒ�häj Šhæj3hè}r‰�(hê]hë]hì]hí]hð]uhòK‘hô]rŠ�(hýXPInstall Code Composer Studio to load and run the Template Application. Refer to r‹�…�rŒ�}r��(hÙXPInstall Code Composer Studio to load and run the Template Application. Refer to hÚj‡�ubjZ)�rŽ�}r��(hÙX`:ref:`Processor SDK RTOS Getting Started Guide `r��hÚj‡�häj Šhæj^hè}r‘�(UreftypeXrefj¢ ˆj£ X.processor-sdk-rtos-getting-started-guide-labelU refdomainXstdr’�hí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòK‘hô]r“�jb)�r”�}r•�(hÙj��hè}r–�(hê]hë]r—�(j­ j’�Xstd-refr˜�ehì]hí]hð]uhÚjŽ�hô]r™�hýX(Processor SDK RTOS Getting Started Guiderš�…�r›�}rœ�(hÙUhÚj”�ubahæjlubaubhýX for installing CCS.r��…�rž�}rŸ�(hÙX for installing CCS.hÚj‡�ubeubaubjX)�r �}r¡�(hÙXAMIC110 ICE boardr¢�hÚj�häj Šhæj[hè}r£�(hê]hë]hì]hí]hð]uhòNhóhhô]r¤�j/)�r¥�}r¦�(hÙj¢�hÚj �häj Šhæj3hè}r§�(hê]hë]hì]hí]hð]uhòK•hô]r¨�hýXAMIC110 ICE boardr©�…�rª�}r«�(hÙj¢�hÚj¥�ubaubaubjX)�r¬�}r­�(hÙXJTAG Emulator hÚj�häj Šhæj[hè}r®�(hê]hë]hì]hí]hð]uhòNhóhhô]r¯�j/)�r°�}r±�(hÙX JTAG Emulatorr²�hÚj¬�häj Šhæj3hè}r³�(hê]hë]hì]hí]hð]uhòK–hô]r´�hýX JTAG Emulatorrµ�…�r¶�}r·�(hÙj²�hÚj°�ubaubaubeubj/)�r¸�}r¹�(hÙX,To load and run SimpleLink WiFi Plugin Demo:rº�hÚjh�häj Šhæj3hè}r»�(hê]hë]hì]hí]hð]uhòK˜hóhhô]r¼�hýX,To load and run SimpleLink WiFi Plugin Demo:r½�…�r¾�}r¿�(hÙjº�hÚj¸�ubaubj¼)�rÀ�}rÁ�(hÙUhÚjh�häj Šhæj¿hè}rÂ�(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòKšhóhhô]rÃ�(jX)�rÄ�}rÅ�(hÙXKConnect the computer to the JTAG port on the board using the JTAG emulator.hÚjÀ�häj Šhæj[hè}rÆ�(hê]hë]hì]hí]hð]uhòNhóhhô]rÇ�j/)�rÈ�}rÉ�(hÙXKConnect the computer to the JTAG port on the board using the JTAG emulator.rÊ�hÚjÄ�häj Šhæj3hè}rË�(hê]hë]hì]hí]hð]uhòKšhô]rÌ�hýXKConnect the computer to the JTAG port on the board using the JTAG emulator.rÍ�…�rÎ�}rÏ�(hÙjÊ�hÚjÈ�ubaubaubjX)�rÐ�}rÑ�(hÙXhPower on the EVM/board. Ensure that no boot mode is entered (do not have SD card loaded or QSPI flashed)hÚjÀ�häj Šhæj[hè}rÒ�(hê]hë]hì]hí]hð]uhòNhóhhô]rÓ�j/)�rÔ�}rÕ�(hÙXhPower on the EVM/board. Ensure that no boot mode is entered (do not have SD card loaded or QSPI flashed)rÖ�hÚjÐ�häj Šhæj3hè}r×�(hê]hë]hì]hí]hð]uhòKœhô]rØ�hýXhPower on the EVM/board. Ensure that no boot mode is entered (do not have SD card loaded or QSPI flashed)rÙ�…�rÚ�}rÛ�(hÙjÖ�hÚjÔ�ubaubaubjX)�rÜ�}rÝ�(hÙX°Open up a serial terminal for UART communication (Refer to :ref:`Processor SDK RTOS Getting Started Guide `, setup EVM hardware)hÚjÀ�häj Šhæj[hè}rÞ�(hê]hë]hì]hí]hð]uhòNhóhhô]rß�j/)�rà�}rá�(hÙX°Open up a serial terminal for UART communication (Refer to :ref:`Processor SDK RTOS Getting Started Guide `, setup EVM hardware)hÚjÜ�häj Šhæj3hè}râ�(hê]hë]hì]hí]hð]uhòKžhô]rã�(hýX;Open up a serial terminal for UART communication (Refer to rä�…�rå�}ræ�(hÙX;Open up a serial terminal for UART communication (Refer to hÚjà�ubjZ)�rç�}rè�(hÙX`:ref:`Processor SDK RTOS Getting Started Guide `ré�hÚjà�häj Šhæj^hè}rê�(UreftypeXrefj¢ ˆj£ X.processor-sdk-rtos-getting-started-guide-labelU refdomainXstdrë�hí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòKžhô]rì�jb)�rí�}rî�(hÙjé�hè}rï�(hê]hë]rð�(j­ jë�Xstd-refrñ�ehì]hí]hð]uhÚjç�hô]rò�hýX(Processor SDK RTOS Getting Started Guideró�…�rô�}rõ�(hÙUhÚjí�ubahæjlubaubhýX, setup EVM hardware)rö�…�r÷�}rø�(hÙX, setup EVM hardware)hÚjà�ubeubaubjX)�rù�}rú�(hÙXµOpen CCS and launch target config file for the EVM (Refer to `Processor SDK RTOS Setup CCS `__ for setting up CCS)hÚjÀ�häj Šhæj[hè}rû�(hê]hë]hì]hí]hð]uhòNhóhhô]rü�j/)�rý�}rþ�(hÙXµOpen CCS and launch target config file for the EVM (Refer to `Processor SDK RTOS Setup CCS `__ for setting up CCS)hÚjù�häj Šhæj3hè}rÿ�(hê]hë]hì]hí]hð]uhòK¡hô]rŽ(hýX=Open CCS and launch target config file for the EVM (Refer to rŽ…�rŽ}rŽ(hÙX=Open CCS and launch target config file for the EVM (Refer to hÚjý�ubj)�rŽ}rŽ(hÙXd`Processor SDK RTOS Setup CCS `__hè}rŽ(UnameXProcessor SDK RTOS Setup CCSjXAindex_how_to_guides.html#setup-ccs-for-evm-and-processor-sdk-rtoshí]hì]hê]hë]hð]uhÚjý�hô]rŽhýXProcessor SDK RTOS Setup CCSrŽ…�r Ž}r Ž(hÙUhÚjŽubahæjubhýX for setting up CCS)r Ž…�r Ž}r Ž(hÙX for setting up CCS)hÚjý�ubeubaubjX)�rŽ}rŽ(hÙXSConnect to the primary core to make sure on connect gels are run A8 core for AM335xhÚjÀ�häj Šhæj[hè}rŽ(hê]hë]hì]hí]hð]uhòNhóhhô]rŽj/)�rŽ}rŽ(hÙXSConnect to the primary core to make sure on connect gels are run A8 core for AM335xrŽhÚjŽhäj Šhæj3hè}rŽ(hê]hë]hì]hí]hð]uhòK¤hô]rŽhýXSConnect to the primary core to make sure on connect gels are run A8 core for AM335xrŽ…�rŽ}rŽ(hÙjŽhÚjŽubaubaubjX)�rŽ}rŽ(hÙXRConnect to core where the application is expected to run, if not the primary core.rŽhÚjÀ�häj Šhæj[hè}rŽ(hê]hë]hì]hí]hð]uhòNhóhhô]rŽj/)�rŽ}r Ž(hÙjŽhÚjŽhäj Šhæj3hè}r!Ž(hê]hë]hì]hí]hð]uhòK¦hô]r"ŽhýXRConnect to core where the application is expected to run, if not the primary core.r#Ž…�r$Ž}r%Ž(hÙjŽhÚjŽubaubaubjX)�r&Ž}r'Ž(hÙXßLoad executable by clicking("Run --> Load --> Load Program.). Click on Browse Project and select outfile under: /network_terminal_AMIC110_ICE_RTOS_RTOS_ccs/Debug/network_terminal_AMIC110_ICE_RTOS_RTOS_ccs.outhÚjÀ�häj Šhæj[hè}r(Ž(hê]hë]hì]hí]hð]uhòNhóhhô]r)Žj/)�r*Ž}r+Ž(hÙXßLoad executable by clicking("Run --> Load --> Load Program.). Click on Browse Project and select outfile under: /network_terminal_AMIC110_ICE_RTOS_RTOS_ccs/Debug/network_terminal_AMIC110_ICE_RTOS_RTOS_ccs.outr,ŽhÚj&Žhäj Šhæj3hè}r-Ž(hê]hë]hì]hí]hð]uhòK§hô]r.ŽhýXßLoad executable by clicking("Run --> Load --> Load Program.). Click on Browse Project and select outfile under: /network_terminal_AMIC110_ICE_RTOS_RTOS_ccs/Debug/network_terminal_AMIC110_ICE_RTOS_RTOS_ccs.outr/Ž…�r0Ž}r1Ž(hÙj,ŽhÚj*ŽubaubaubjX)�r2Ž}r3Ž(hÙXERun application by clicking the Run icon. ( Or Click Run --> Resume) hÚjÀ�häj Šhæj[hè}r4Ž(hê]hë]hì]hí]hð]uhòNhóhhô]r5Žj/)�r6Ž}r7Ž(hÙXDRun application by clicking the Run icon. ( Or Click Run --> Resume)r8ŽhÚj2Žhäj Šhæj3hè}r9Ž(hê]hë]hì]hí]hð]uhòKªhô]r:ŽhýXDRun application by clicking the Run icon. ( Or Click Run --> Resume)r;Ž…�r<Ž}r=Ž(hÙj8ŽhÚj6Žubaubaubeubj/)�r>Ž}r?Ž(hÙXKNow the network terminal demo will run and print progress through the UART.r@ŽhÚjh�häj Šhæj3hè}rAŽ(hê]hë]hì]hí]hð]uhòK¬hóhhô]rBŽhýXKNow the network terminal demo will run and print progress through the UART.rCŽ…�rDŽ}rEŽ(hÙj@ŽhÚj>ŽubaubjQ)�rFŽ}rGŽ(hÙUhÚjh�häj ŠhæjThè}rHŽ(jVX-hí]hì]hê]hë]hð]uhòK®hóhhô]rIŽjX)�rJŽ}rKŽ(hÙXThe inital display on the UARTrLŽhÚjFŽhäj Šhæj[hè}rMŽ(hê]hë]hì]hí]hð]uhòNhóhhô]rNŽj/)�rOŽ}rPŽ(hÙjLŽhÚjJŽhäj Šhæj3hè}rQŽ(hê]hë]hì]hí]hð]uhòK®hô]rRŽhýXThe inital display on the UARTrSŽ…�rTŽ}rUŽ(hÙjLŽhÚjOŽubaubaubaubj)�rVŽ}rWŽ(hÙX0.. Image:: ../images/sl_wifi_demo_uart_init.jpg hÚjh�häj Šhæjhè}rXŽ(UuriX)rtos/../images/sl_wifi_demo_uart_init.jpgrYŽhí]hì]hê]hë]j}rZŽU*jYŽshð]uhòK°hóhhô]ubjQ)�r[Ž}r\Ž(hÙUhÚjh�häj ŠhæjThè}r]Ž(jVX-hí]hì]hê]hë]hð]uhòK±hóhhô]r^ŽjX)�r_Ž}r`Ž(hÙXEnter "help" at UART promptraŽhÚj[Žhäj Šhæj[hè}rbŽ(hê]hë]hì]hí]hð]uhòNhóhhô]rcŽj/)�rdŽ}reŽ(hÙjaŽhÚj_Žhäj Šhæj3hè}rfŽ(hê]hë]hì]hí]hð]uhòK±hô]rgŽhýXEnter "help" at UART promptrhŽ…�riŽ}rjŽ(hÙjaŽhÚjdŽubaubaubaubj)�rkŽ}rlŽ(hÙX0.. Image:: ../images/sl_wifi_demo_uart_help.jpg hÚjh�häj Šhæjhè}rmŽ(UuriX)rtos/../images/sl_wifi_demo_uart_help.jpgrnŽhí]hì]hê]hë]j}roŽU*jnŽshð]uhòK³hóhhô]ubjQ)�rpŽ}rqŽ(hÙUhÚjh�häj ŠhæjThè}rrŽ(jVX-hí]hì]hê]hë]hð]uhòK´hóhhô]rsŽjX)�rtŽ}ruŽ(hÙX!Enter "scan -n 10" at UART promptrvŽhÚjpŽhäj Šhæj[hè}rwŽ(hê]hë]hì]hí]hð]uhòNhóhhô]rxŽj/)�ryŽ}rzŽ(hÙjvŽhÚjtŽhäj Šhæj3hè}r{Ž(hê]hë]hì]hí]hð]uhòK´hô]r|ŽhýX!Enter "scan -n 10" at UART promptr}Ž…�r~Ž}rŽ(hÙjvŽhÚjyŽubaubaubaubj)�r€Ž}r�Ž(hÙX0.. Image:: ../images/sl_wifi_demo_uart_scan.jpg hÚjh�häj Šhæjhè}r‚Ž(UuriX)rtos/../images/sl_wifi_demo_uart_scan.jpgrƒŽhí]hì]hê]hë]j}r„ŽU*jƒŽshð]uhòK¶hóhhô]ubjQ)�r…Ž}r†Ž(hÙUhÚjh�häj ŠhæjThè}r‡Ž(jVX-hí]hì]hê]hë]hð]uhòK·hóhhô]rˆŽjX)�r‰Ž}rŠŽ(hÙXJEnter " wlanconnect -s "dir645" -t WPA/WPA2 -p "12345678" " at UART promptr‹ŽhÚj…Žhäj Šhæj[hè}rŒŽ(hê]hë]hì]hí]hð]uhòNhóhhô]r�Žj/)�rŽŽ}r�Ž(hÙj‹ŽhÚj‰Žhäj Šhæj3hè}r�Ž(hê]hë]hì]hí]hð]uhòK·hô]r‘ŽhýXJEnter " wlanconnect -s "dir645" -t WPA/WPA2 -p "12345678" " at UART promptr’Ž…�r“Ž}r”Ž(hÙj‹ŽhÚjŽŽubaubaubaubj)�r•Ž}r–Ž(hÙX7.. Image:: ../images/sl_wifi_demo_uart_wlanconnect.jpg hÚjh�häj Šhæjhè}r—Ž(UuriX0rtos/../images/sl_wifi_demo_uart_wlanconnect.jpgr˜Žhí]hì]hê]hë]j}r™ŽU*j˜Žshð]uhòK¹hóhhô]ubjQ)�ršŽ}r›Ž(hÙUhÚjh�häj ŠhæjThè}rœŽ(jVX-hí]hì]hê]hë]hð]uhòKºhóhhô]r�ŽjX)�ržŽ}rŸŽ(hÙX'Enter "ping 192.168.0.1" at UART promptr ŽhÚjšŽhäj Šhæj[hè}r¡Ž(hê]hë]hì]hí]hð]uhòNhóhhô]r¢Žj/)�r£Ž}r¤Ž(hÙj ŽhÚjžŽhäj Šhæj3hè}r¥Ž(hê]hë]hì]hí]hð]uhòKºhô]r¦ŽhýX'Enter "ping 192.168.0.1" at UART promptr§Ž…�r¨Ž}r©Ž(hÙj ŽhÚj£Žubaubaubaubj)�rªŽ}r«Ž(hÙX0.. Image:: ../images/sl_wifi_demo_uart_ping.jpg hÚjh�häj Šhæjhè}r¬Ž(UuriX)rtos/../images/sl_wifi_demo_uart_ping.jpgr­Žhí]hì]hê]hë]j}r®ŽU*j­Žshð]uhòK¼hóhhô]ubj))�r¯Ž}r°Ž(hÙXóThis demo uses the D-Link DIR-645 wirless router with DHCP server. "dir645" is its SSID. "12345678" is its connection password. "192.168.0.1" is its default gateway. Users should adjust those parameters according to their own wireless routers.hÚjh�häj Šhæj,hè}r±Ž(hê]hë]hì]hí]hð]uhòNhóhhô]r²Žj/)�r³Ž}r´Ž(hÙXóThis demo uses the D-Link DIR-645 wirless router with DHCP server. "dir645" is its SSID. "12345678" is its connection password. "192.168.0.1" is its default gateway. Users should adjust those parameters according to their own wireless routers.rµŽhÚj¯Žhäj Šhæj3hè}r¶Ž(hê]hë]hì]hí]hð]uhòK¾hô]r·ŽhýXóThis demo uses the D-Link DIR-645 wirless router with DHCP server. "dir645" is its SSID. "12345678" is its connection password. "192.168.0.1" is its default gateway. Users should adjust those parameters according to their own wireless routers.r¸Ž…�r¹Ž}rºŽ(hÙjµŽhÚj³ŽubaubaubeubhÛ)�r»Ž}r¼Ž(hÙUhÚjˆŠhäj Šhæhçhè}r½Ž(hê]hë]hì]hí]r¾ŽU:how-to-run-the-simplelink-wifi-plugin-demo-using-uart-bootr¿Žahð]rÀŽh¬auhòKÄhóhhô]rÁŽ(hö)�rÂŽ}rÃŽ(hÙX:How to Run the SimpleLink WiFi Plugin Demo using UART BootrÄŽhÚj»Žhäj Šhæhúhè}rÅŽ(hê]hë]hì]hí]hð]uhòKÄhóhhô]rÆŽhýX:How to Run the SimpleLink WiFi Plugin Demo using UART BootrÇŽ…�rÈŽ}rÉŽ(hÙjÄŽhÚjÂŽubaubj/)�rÊŽ}rËŽ(hÙX,To load and run SimpleLink WiFi Plugin Demo:rÌŽhÚj»Žhäj Šhæj3hè}rÍŽ(hê]hë]hì]hí]hð]uhòKÆhóhhô]rÎŽhýX,To load and run SimpleLink WiFi Plugin Demo:rÏŽ…�rÐŽ}rÑŽ(hÙjÌŽhÚjÊŽubaubj¼)�rÒŽ}rÓŽ(hÙUhÚj»Žhäj Šhæj¿hè}rÔŽ(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòKÈhóhhô]rÕŽ(jX)�rÖŽ}r׎(hÙXAConnect the J3 to the USB port on a PC via the UART to USB cable.rØŽhÚjÒŽhäj Šhæj[hè}rÙŽ(hê]hë]hì]hí]hð]uhòNhóhhô]rÚŽj/)�rÛŽ}rÜŽ(hÙjØŽhÚjÖŽhäj Šhæj3hè}rÝŽ(hê]hë]hì]hí]hð]uhòKÈhô]rÞŽhýXAConnect the J3 to the USB port on a PC via the UART to USB cable.rߎ…�ràŽ}ráŽ(hÙjØŽhÚjÛŽubaubaubjX)�râŽ}rãŽ(hÙXPower on the EVM/board.räŽhÚjÒŽhäj Šhæj[hè}råŽ(hê]hë]hì]hí]hð]uhòNhóhhô]ræŽj/)�rçŽ}rèŽ(hÙjäŽhÚjâŽhäj Šhæj3hè}réŽ(hê]hë]hì]hí]hð]uhòKÉhô]rêŽhýXPower on the EVM/board.r뎅�rìŽ}ríŽ(hÙjäŽhÚjçŽubaubaubjX)�rîŽ}rïŽ(hÙX°Open up a serial terminal for UART communication (Refer to :ref:`Processor SDK RTOS Getting Started Guide `, setup EVM hardware)hÚjÒŽhäj Šhæj[hè}rðŽ(hê]hë]hì]hí]hð]uhòNhóhhô]rñŽj/)�ròŽ}róŽ(hÙX°Open up a serial terminal for UART communication (Refer to :ref:`Processor SDK RTOS Getting Started Guide `, setup EVM hardware)hÚjîŽhäj Šhæj3hè}rôŽ(hê]hë]hì]hí]hð]uhòKÊhô]rõŽ(hýX;Open up a serial terminal for UART communication (Refer to röŽ…�r÷Ž}røŽ(hÙX;Open up a serial terminal for UART communication (Refer to hÚjòŽubjZ)�rùŽ}rúŽ(hÙX`:ref:`Processor SDK RTOS Getting Started Guide `rûŽhÚjòŽhäj Šhæj^hè}rüŽ(UreftypeXrefj¢ ˆj£ X.processor-sdk-rtos-getting-started-guide-labelU refdomainXstdrýŽhí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòKÊhô]rþŽjb)�rÿŽ}r�(hÙjûŽhè}r�(hê]hë]r�(j­ jýŽXstd-refr�ehì]hí]hð]uhÚjùŽhô]r�hýX(Processor SDK RTOS Getting Started Guider�…�r�}r�(hÙUhÚjÿŽubahæjlubaubhýX, setup EVM hardware)r�…�r �}r �(hÙX, setup EVM hardware)hÚjòŽubeubaubjX)�r �}r �(hÙXœSend the bootloader_boot_uart_a8host_debug.bin under pdk__/packages/ti/starterware/binary/bootloader/bin/am335x-evm/gcc using the XMODEM.hÚjÒŽhäj Šhæj[hè}r �(hê]hë]hì]hí]hð]uhòNhóhhô]r�j/)�r�}r�(hÙXœSend the bootloader_boot_uart_a8host_debug.bin under pdk__/packages/ti/starterware/binary/bootloader/bin/am335x-evm/gcc using the XMODEM.r�hÚj �häj Šhæj3hè}r�(hê]hë]hì]hí]hð]uhòKÍhô]r�hýXœSend the bootloader_boot_uart_a8host_debug.bin under pdk__/packages/ti/starterware/binary/bootloader/bin/am335x-evm/gcc using the XMODEM.r�…�r�}r�(hÙj�hÚj�ubaubaubeubj)�r�}r�(hÙX).. Image:: ../images/sl_uart_boot_1st.jpgr�hÚj»Žhäj Šhæjhè}r�(UuriX#rtos/../images/sl_uart_boot_1st.jpgr�hí]hì]hê]hë]j}r�U*j�shð]uhòKÐhóhhô]ubj¼)�r�}r�(hÙUhÚj»Žhäj Šhæj¿hè}r�(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòKÑhóhhô]r �jX)�r!�}r"�(hÙX£Upon completion, then send the network_terminal.bin under processor_sdk_rtos__/demos/simplelink-wifi-demo/bin/am335x/a8/debug using the XMODEM.hÚj�häj Šhæj[hè}r#�(hê]hë]hì]hí]hð]uhòNhóhhô]r$�j/)�r%�}r&�(hÙX£Upon completion, then send the network_terminal.bin under processor_sdk_rtos__/demos/simplelink-wifi-demo/bin/am335x/a8/debug using the XMODEM.r'�hÚj!�häj Šhæj3hè}r(�(hê]hë]hì]hí]hð]uhòKÑhô]r)�hýX£Upon completion, then send the network_terminal.bin under processor_sdk_rtos__/demos/simplelink-wifi-demo/bin/am335x/a8/debug using the XMODEM.r*�…�r+�}r,�(hÙj'�hÚj%�ubaubaubaubj)�r-�}r.�(hÙX*.. Image:: ../images/sl_uart_boot_2nd.jpg hÚj»Žhäj Šhæjhè}r/�(UuriX#rtos/../images/sl_uart_boot_2nd.jpgr0�hí]hì]hê]hë]j}r1�U*j0�shð]uhòKÕhóhhô]ubj/)�r2�}r3�(hÙXKNow the network terminal demo will run and print progress through the UART.r4�hÚj»Žhäj Šhæj3hè}r5�(hê]hë]hì]hí]hð]uhòKÖhóhhô]r6�hýXKNow the network terminal demo will run and print progress through the UART.r7�…�r8�}r9�(hÙj4�hÚj2�ubaubjQ)�r:�}r;�(hÙUhÚj»Žhäj ŠhæjThè}r<�(jVX-hí]hì]hê]hë]hð]uhòKØhóhhô]r=�jX)�r>�}r?�(hÙXThe inital display on the UARTr@�hÚj:�häj Šhæj[hè}rA�(hê]hë]hì]hí]hð]uhòNhóhhô]rB�j/)�rC�}rD�(hÙj@�hÚj>�häj Šhæj3hè}rE�(hê]hë]hì]hí]hð]uhòKØhô]rF�hýXThe inital display on the UARTrG�…�rH�}rI�(hÙj@�hÚjC�ubaubaubaubj)�rJ�}rK�(hÙX0.. Image:: ../images/sl_wifi_demo_uart_init.jpg hÚj»Žhäj Šhæjhè}rL�(UuriX)rtos/../images/sl_wifi_demo_uart_init.jpgrM�hí]hì]hê]hë]j}rN�U*jM�shð]uhòKÚhóhhô]ubjQ)�rO�}rP�(hÙUhÚj»Žhäj ŠhæjThè}rQ�(jVX-hí]hì]hê]hë]hð]uhòKÛhóhhô]rR�jX)�rS�}rT�(hÙXEnter "help" at UART promptrU�hÚjO�häj Šhæj[hè}rV�(hê]hë]hì]hí]hð]uhòNhóhhô]rW�j/)�rX�}rY�(hÙjU�hÚjS�häj Šhæj3hè}rZ�(hê]hë]hì]hí]hð]uhòKÛhô]r[�hýXEnter "help" at UART promptr\�…�r]�}r^�(hÙjU�hÚjX�ubaubaubaubj)�r_�}r`�(hÙX0.. Image:: ../images/sl_wifi_demo_uart_help.jpg hÚj»Žhäj Šhæjhè}ra�(UuriX)rtos/../images/sl_wifi_demo_uart_help.jpgrb�hí]hì]hê]hë]j}rc�U*jb�shð]uhòKÝhóhhô]ubjQ)�rd�}re�(hÙUhÚj»Žhäj ŠhæjThè}rf�(jVX-hí]hì]hê]hë]hð]uhòKÞhóhhô]rg�jX)�rh�}ri�(hÙX!Enter "scan -n 10" at UART promptrj�hÚjd�häj Šhæj[hè}rk�(hê]hë]hì]hí]hð]uhòNhóhhô]rl�j/)�rm�}rn�(hÙjj�hÚjh�häj Šhæj3hè}ro�(hê]hë]hì]hí]hð]uhòKÞhô]rp�hýX!Enter "scan -n 10" at UART promptrq�…�rr�}rs�(hÙjj�hÚjm�ubaubaubaubj)�rt�}ru�(hÙX0.. Image:: ../images/sl_wifi_demo_uart_scan.jpg hÚj»Žhäj Šhæjhè}rv�(UuriX)rtos/../images/sl_wifi_demo_uart_scan.jpgrw�hí]hì]hê]hë]j}rx�U*jw�shð]uhòKàhóhhô]ubjQ)�ry�}rz�(hÙUhÚj»Žhäj ŠhæjThè}r{�(jVX-hí]hì]hê]hë]hð]uhòKáhóhhô]r|�jX)�r}�}r~�(hÙXJEnter " wlanconnect -s "dir645" -t WPA/WPA2 -p "12345678" " at UART promptr�hÚjy�häj Šhæj[hè}r€�(hê]hë]hì]hí]hð]uhòNhóhhô]r��j/)�r‚�}rƒ�(hÙj�hÚj}�häj Šhæj3hè}r„�(hê]hë]hì]hí]hð]uhòKáhô]r…�hýXJEnter " wlanconnect -s "dir645" -t WPA/WPA2 -p "12345678" " at UART promptr†�…�r‡�}rˆ�(hÙj�hÚj‚�ubaubaubaubj)�r‰�}rŠ�(hÙX7.. Image:: ../images/sl_wifi_demo_uart_wlanconnect.jpg hÚj»Žhäj Šhæjhè}r‹�(UuriX0rtos/../images/sl_wifi_demo_uart_wlanconnect.jpgrŒ�hí]hì]hê]hë]j}r��U*jŒ�shð]uhòKãhóhhô]ubjQ)�rŽ�}r��(hÙUhÚj»Žhäj ŠhæjThè}r��(jVX-hí]hì]hê]hë]hð]uhòKähóhhô]r‘�jX)�r’�}r“�(hÙX'Enter "ping 192.168.0.1" at UART promptr”�hÚjŽ�häj Šhæj[hè}r•�(hê]hë]hì]hí]hð]uhòNhóhhô]r–�j/)�r—�}r˜�(hÙj”�hÚj’�häj Šhæj3hè}r™�(hê]hë]hì]hí]hð]uhòKähô]rš�hýX'Enter "ping 192.168.0.1" at UART promptr›�…�rœ�}r��(hÙj”�hÚj—�ubaubaubaubj)�rž�}rŸ�(hÙX0.. Image:: ../images/sl_wifi_demo_uart_ping.jpg hÚj»Žhäj Šhæjhè}r �(UuriX)rtos/../images/sl_wifi_demo_uart_ping.jpgr¡�hí]hì]hê]hë]j}r¢�U*j¡�shð]uhòKæhóhhô]ubj))�r£�}r¤�(hÙXóThis demo uses the D-Link DIR-645 wirless router with DHCP server. "dir645" is its SSID. "12345678" is its connection password. "192.168.0.1" is its default gateway. Users should adjust those parameters according to their own wireless routers.hÚj»Žhäj Šhæj,hè}r¥�(hê]hë]hì]hí]hð]uhòNhóhhô]r¦�j/)�r§�}r¨�(hÙXóThis demo uses the D-Link DIR-645 wirless router with DHCP server. "dir645" is its SSID. "12345678" is its connection password. "192.168.0.1" is its default gateway. Users should adjust those parameters according to their own wireless routers.r©�hÚj£�häj Šhæj3hè}rª�(hê]hë]hì]hí]hð]uhòKèhô]r«�hýXóThis demo uses the D-Link DIR-645 wirless router with DHCP server. "dir645" is its SSID. "12345678" is its connection password. "192.168.0.1" is its default gateway. Users should adjust those parameters according to their own wireless routers.r¬�…�r­�}r®�(hÙj©�hÚj§�ubaubaubeubeubhäj Šhæhçhè}r¯�(hê]r°�Xoverviewr±�ahë]hì]hí]r²�Uid69r³�ahð]uhòKhóhhô]r´�(hö)�rµ�}r¶�(hÙXOverviewr·�hÚj†Šhäj Šhæhúhè}r¸�(hê]hë]hì]hí]hð]uhòKhóhhô]r¹�hýXOverviewrº�…�r»�}r¼�(hÙj·�hÚjµ�ubaubj/)�r½�}r¾�(hÙXþThis page describes the SimpleLink WiFi Demo provided in the Processor-SDK for RTOS. This demo illustrates the integration of CC3120 BoosterPack and AMIC110 ICE using components in the SDK to provides a low cost WiFi solution for application development.r¿�hÚj†Šhäj Šhæj3hè}rÀ�(hê]hë]hì]hí]hð]uhòKhóhhô]rÁ�hýXþThis page describes the SimpleLink WiFi Demo provided in the Processor-SDK for RTOS. This demo illustrates the integration of CC3120 BoosterPack and AMIC110 ICE using components in the SDK to provides a low cost WiFi solution for application development.rÂ�…�rÃ�}rÄ�(hÙj¿�hÚj½�ubaubeubhäj Šhæj>hè}rÅ�(hê]UlevelKhí]hì]rÆ�j³�aUsourcej Šhë]hð]UlineKUtypejAuhòKhóhhô]rÇ�j/)�rÈ�}rÉ�(hÙX+Duplicate implicit target name: "overview".hè}rÊ�(hê]hë]hì]hí]hð]uhÚj„Šhô]rË�hýX+Duplicate implicit target name: "overview".rÌ�…�rÍ�}rÎ�(hÙUhÚjÈ�ubahæj3ubaubj¬)�rÏ�}rÐ�(hÙUhÚjÆŠhäj Šhæj>hè}rÑ�(hê]UlevelKhí]hì]rÒ�jÌŠaUsourcej Šhë]hð]UlineKUtypejAuhòKhóhhô]rÓ�j/)�rÔ�}rÕ�(hÙX/Duplicate implicit target name: "requirements".hè}rÖ�(hê]hë]hì]hí]hð]uhÚjÏ�hô]r×�hýX/Duplicate implicit target name: "requirements".rØ�…�rÙ�}rÚ�(hÙUhÚjÔ�ubahæj3ubaubj¬)�rÛ�}rÜ�(hÙUhÚjÆŠhäj Šhæj>hè}rÝ�(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineKUtypejY&uhòKhóhhô]rÞ�j/)�rß�}rà�(hÙX;Bullet list ends without a blank line; unexpected unindent.hè}rá�(hê]hë]hì]hí]hð]uhÚjÛ�hô]râ�hýX;Bullet list ends without a blank line; unexpected unindent.rã�…�rä�}rå�(hÙUhÚjß�ubahæj3ubaubj¬)�ræ�}rç�(hÙUhÚjÆŠhäj Šhæj>hè}rè�(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineK UtypejY&uhòKhóhhô]ré�j/)�rê�}rë�(hÙX?Explicit markup ends without a blank line; unexpected unindent.hè}rì�(hê]hë]hì]hí]hð]uhÚjæ�hô]rí�hýX?Explicit markup ends without a blank line; unexpected unindent.rî�…�rï�}rð�(hÙUhÚjê�ubahæj3ubaubj¬)�rñ�}rò�(hÙUhÚjÆŠhäj Šhæj>hè}ró�(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineK!UtypejY&uhòK hóhhô]rô�j/)�rõ�}rö�(hÙX;Bullet list ends without a blank line; unexpected unindent.hè}r÷�(hê]hë]hì]hí]hð]uhÚjñ�hô]rø�hýX;Bullet list ends without a blank line; unexpected unindent.rù�…�rú�}rû�(hÙUhÚjõ�ubahæj3ubaubj¬)�rü�}rý�(hÙUhÚje‹häj Šhæj>hè}rþ�(hê]UlevelKhí]hì]rÿ�jk‹aUsourcej Šhë]hð]UlineK*UtypejAuhòK*hóhhô]r�j/)�r�}r�(hÙX2Duplicate implicit target name: "components used".hè}r�(hê]hë]hì]hí]hð]uhÚjü�hô]r�hýX2Duplicate implicit target name: "components used".r�…�r�}r�(hÙUhÚj�ubahæj3ubaubj¬)�r�}r �(hÙUhÚj¥‹häj Šhæj>hè}r �(hê]UlevelKhí]hì]r �j«‹aUsourcej Šhë]hð]UlineK4UtypejAuhòK4hóhhô]r �j/)�r �}r�(hÙX2Duplicate implicit target name: "software design".hè}r�(hê]hë]hì]hí]hð]uhÚj�hô]r�hýX2Duplicate implicit target name: "software design".r�…�r�}r�(hÙUhÚj �ubahæj3ubaubj¬)�r�}r�(hÙUhè}r�(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineKNUtypejY&uhô]r�(j/)�r�}r�(hÙUhè}r�(hê]hë]hì]hí]hð]uhÚj�hô]r�hýXTitle underline too short.r�…�r�}r�(hÙUhÚj�ubahæj3ubjË)�r�}r �(hÙX\How to Build the SimpleLink WiFi Plugin Demo using CCS =====================================hè}r!�(jjhí]hì]hê]hë]hð]uhÚj�hô]r"�hýX\How to Build the SimpleLink WiFi Plugin Demo using CCS =====================================r#�…�r$�}r%�(hÙUhÚj�ubahæjÎubehæj>ubj¬)�r&�}r'�(hÙUhÚjÙ‹häj Šhæj>hè}r(�(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineKNUtypejY&uhòKNhóhhô]r)�(j/)�r*�}r+�(hÙXTitle underline too short.hè}r,�(hê]hë]hì]hí]hð]uhÚj&�hô]r-�hýXTitle underline too short.r.�…�r/�}r0�(hÙUhÚj*�ubahæj3ubjË)�r1�}r2�(hÙX\How to Build the SimpleLink WiFi Plugin Demo using CCS =====================================hè}r3�(jjhí]hì]hê]hë]hð]uhÚj&�hô]r4�hýX\How to Build the SimpleLink WiFi Plugin Demo using CCS =====================================r5�…�r6�}r7�(hÙUhÚj1�ubahæjÎubeubj¬)�r8�}r9�(hÙUhè}r:�(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineKeUtypejY&uhô]r;�(j/)�r<�}r=�(hÙUhè}r>�(hê]hë]hì]hí]hð]uhÚj8�hô]r?�hýXTitle underline too short.r@�…�rA�}rB�(hÙUhÚj<�ubahæj3ubjË)�rC�}rD�(hÙXlHow to Build the SimpleLink WiFi Plugin Demo using makefile on Windows =====================================hè}rE�(jjhí]hì]hê]hë]hð]uhÚj8�hô]rF�hýXlHow to Build the SimpleLink WiFi Plugin Demo using makefile on Windows =====================================rG�…�rH�}rI�(hÙUhÚjC�ubahæjÎubehæj>ubj¬)�rJ�}rK�(hÙUhÚjRŒhäj Šhæj>hè}rL�(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineKeUtypejY&uhòKehóhhô]rM�(j/)�rN�}rO�(hÙXTitle underline too short.hè}rP�(hê]hë]hì]hí]hð]uhÚjJ�hô]rQ�hýXTitle underline too short.rR�…�rS�}rT�(hÙUhÚjN�ubahæj3ubjË)�rU�}rV�(hÙXlHow to Build the SimpleLink WiFi Plugin Demo using makefile on Windows =====================================hè}rW�(jjhí]hì]hê]hë]hð]uhÚjJ�hô]rX�hýXlHow to Build the SimpleLink WiFi Plugin Demo using makefile on Windows =====================================rY�…�rZ�}r[�(hÙUhÚjU�ubahæjÎubeubj¬)�r\�}r]�(hÙUhè}r^�(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineKzUtypejY&uhô]r_�(j/)�r`�}ra�(hÙUhè}rb�(hê]hë]hì]hí]hð]uhÚj\�hô]rc�hýXTitle underline too short.rd�…�re�}rf�(hÙUhÚj`�ubahæj3ubjË)�rg�}rh�(hÙXjHow to Build the SimpleLink WiFi Plugin Demo using makefile on Linux =====================================hè}ri�(jjhí]hì]hê]hë]hð]uhÚj\�hô]rj�hýXjHow to Build the SimpleLink WiFi Plugin Demo using makefile on Linux =====================================rk�…�rl�}rm�(hÙUhÚjg�ubahæjÎubehæj>ubj¬)�rn�}ro�(hÙUhÚjÝŒhäj Šhæj>hè}rp�(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineKzUtypejY&uhòKzhóhhô]rq�(j/)�rr�}rs�(hÙXTitle underline too short.hè}rt�(hê]hë]hì]hí]hð]uhÚjn�hô]ru�hýXTitle underline too short.rv�…�rw�}rx�(hÙUhÚjr�ubahæj3ubjË)�ry�}rz�(hÙXjHow to Build the SimpleLink WiFi Plugin Demo using makefile on Linux =====================================hè}r{�(jjhí]hì]hê]hë]hð]uhÚjn�hô]r|�hýXjHow to Build the SimpleLink WiFi Plugin Demo using makefile on Linux =====================================r}�…�r~�}r�(hÙUhÚjy�ubahæjÎubeubj¬)�r€�}r��(hÙUhè}r‚�(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineK�UtypejY&uhô]rƒ�(j/)�r„�}r…�(hÙUhè}r†�(hê]hë]hì]hí]hð]uhÚj€�hô]r‡�hýXTitle underline too short.rˆ�…�r‰�}rŠ�(hÙUhÚj„�ubahæj3ubjË)�r‹�}rŒ�(hÙXXHow to Run the SimpleLink WiFi Plugin Demo using CCS ===================================hè}r��(jjhí]hì]hê]hë]hð]uhÚj€�hô]rŽ�hýXXHow to Run the SimpleLink WiFi Plugin Demo using CCS ===================================r��…�r��}r‘�(hÙUhÚj‹�ubahæjÎubehæj>ubj¬)�r’�}r“�(hÙUhÚjh�häj Šhæj>hè}r”�(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineK�UtypejY&uhòK�hóhhô]r•�(j/)�r–�}r—�(hÙXTitle underline too short.hè}r˜�(hê]hë]hì]hí]hð]uhÚj’�hô]r™�hýXTitle underline too short.rš�…�r›�}rœ�(hÙUhÚj–�ubahæj3ubjË)�r��}rž�(hÙXXHow to Run the SimpleLink WiFi Plugin Demo using CCS ===================================hè}rŸ�(jjhí]hì]hê]hë]hð]uhÚj’�hô]r �hýXXHow to Run the SimpleLink WiFi Plugin Demo using CCS ===================================r¡�…�r¢�}r£�(hÙUhÚj��ubahæjÎubeubj¬)�r¤�}r¥�(hÙUhÚjh�häj Šhæj>hè}r¦�(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineK¯UtypejY&uhòK®hóhhô]r§�j/)�r¨�}r©�(hÙX;Bullet list ends without a blank line; unexpected unindent.hè}rª�(hê]hë]hì]hí]hð]uhÚj¤�hô]r«�hýX;Bullet list ends without a blank line; unexpected unindent.r¬�…�r­�}r®�(hÙUhÚj¨�ubahæj3ubaubj¬)�r¯�}r°�(hÙUhÚjh�häj Šhæj>hè}r±�(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineK²UtypejY&uhòK±hóhhô]r²�j/)�r³�}r´�(hÙX;Bullet list ends without a blank line; unexpected unindent.hè}rµ�(hê]hë]hì]hí]hð]uhÚj¯�hô]r¶�hýX;Bullet list ends without a blank line; unexpected unindent.r·�…�r¸�}r¹�(hÙUhÚj³�ubahæj3ubaubj¬)�rº�}r»�(hÙUhÚjh�häj Šhæj>hè}r¼�(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineKµUtypejY&uhòK´hóhhô]r½�j/)�r¾�}r¿�(hÙX;Bullet list ends without a blank line; unexpected unindent.hè}rÀ�(hê]hë]hì]hí]hð]uhÚjº�hô]rÁ�hýX;Bullet list ends without a blank line; unexpected unindent.rÂ�…�rÃ�}rÄ�(hÙUhÚj¾�ubahæj3ubaubj¬)�rÅ�}rÆ�(hÙUhÚjh�häj Šhæj>hè}rÇ�(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineK¸UtypejY&uhòK·hóhhô]rÈ�j/)�rÉ�}rÊ�(hÙX;Bullet list ends without a blank line; unexpected unindent.hè}rË�(hê]hë]hì]hí]hð]uhÚjÅ�hô]rÌ�hýX;Bullet list ends without a blank line; unexpected unindent.rÍ�…�rÎ�}rÏ�(hÙUhÚjÉ�ubahæj3ubaubj¬)�rÐ�}rÑ�(hÙUhÚjh�häj Šhæj>hè}rÒ�(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineK»UtypejY&uhòKºhóhhô]rÓ�j/)�rÔ�}rÕ�(hÙX;Bullet list ends without a blank line; unexpected unindent.hè}rÖ�(hê]hë]hì]hí]hð]uhÚjÐ�hô]r×�hýX;Bullet list ends without a blank line; unexpected unindent.rØ�…�rÙ�}rÚ�(hÙUhÚjÔ�ubahæj3ubaubj¬)�rÛ�}rÜ�(hÙUhè}rÝ�(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineKÄUtypejY&uhô]rÞ�(j/)�rß�}rà�(hÙUhè}rá�(hê]hë]hì]hí]hð]uhÚjÛ�hô]râ�hýXTitle underline too short.rã�…�rä�}rå�(hÙUhÚjß�ubahæj3ubjË)�ræ�}rç�(hÙX^How to Run the SimpleLink WiFi Plugin Demo using UART Boot ===================================hè}rè�(jjhí]hì]hê]hë]hð]uhÚjÛ�hô]ré�hýX^How to Run the SimpleLink WiFi Plugin Demo using UART Boot ===================================rê�…�rë�}rì�(hÙUhÚjæ�ubahæjÎubehæj>ubj¬)�rí�}rî�(hÙUhÚj»Žhäj Šhæj>hè}rï�(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineKÄUtypejY&uhòKÄhóhhô]rð�(j/)�rñ�}rò�(hÙXTitle underline too short.hè}ró�(hê]hë]hì]hí]hð]uhÚjí�hô]rô�hýXTitle underline too short.rõ�…�rö�}r÷�(hÙUhÚjñ�ubahæj3ubjË)�rø�}rù�(hÙX^How to Run the SimpleLink WiFi Plugin Demo using UART Boot ===================================hè}rú�(jjhí]hì]hê]hë]hð]uhÚjí�hô]rû�hýX^How to Run the SimpleLink WiFi Plugin Demo using UART Boot ===================================rü�…�rý�}rþ�(hÙUhÚjø�ubahæjÎubeubj¬)�rÿ�}r‘(hÙUhÚj»Žhäj Šhæj>hè}r‘(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineKÐUtypejY&uhòKÏhóhhô]r‘j/)�r‘}r‘(hÙX?Enumerated list ends without a blank line; unexpected unindent.hè}r‘(hê]hë]hì]hí]hð]uhÚjÿ�hô]r‘hýX?Enumerated list ends without a blank line; unexpected unindent.r‘…�r‘}r ‘(hÙUhÚj‘ubahæj3ubaubj¬)�r ‘}r ‘(hÙUhÚj»Žhäj Šhæj>hè}r ‘(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineKÑUtypejY&uhòKÐhóhhô]r ‘j/)�r‘}r‘(hÙX?Explicit markup ends without a blank line; unexpected unindent.hè}r‘(hê]hë]hì]hí]hð]uhÚj ‘hô]r‘hýX?Explicit markup ends without a blank line; unexpected unindent.r‘…�r‘}r‘(hÙUhÚj‘ubahæj3ubaubj¬)�r‘}r‘(hÙUhÚj»Žhäj Šhæj>hè}r‘(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineKÔUtypejY&uhòKÓhóhhô]r‘j/)�r‘}r‘(hÙX?Enumerated list ends without a blank line; unexpected unindent.hè}r‘(hê]hë]hì]hí]hð]uhÚj‘hô]r‘hýX?Enumerated list ends without a blank line; unexpected unindent.r‘…�r‘}r‘(hÙUhÚj‘ubahæj3ubaubj¬)�r ‘}r!‘(hÙUhÚj»Žhäj Šhæj>hè}r"‘(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineKÙUtypejY&uhòKØhóhhô]r#‘j/)�r$‘}r%‘(hÙX;Bullet list ends without a blank line; unexpected unindent.hè}r&‘(hê]hë]hì]hí]hð]uhÚj ‘hô]r'‘hýX;Bullet list ends without a blank line; unexpected unindent.r(‘…�r)‘}r*‘(hÙUhÚj$‘ubahæj3ubaubj¬)�r+‘}r,‘(hÙUhÚj»Žhäj Šhæj>hè}r-‘(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineKÜUtypejY&uhòKÛhóhhô]r.‘j/)�r/‘}r0‘(hÙX;Bullet list ends without a blank line; unexpected unindent.hè}r1‘(hê]hë]hì]hí]hð]uhÚj+‘hô]r2‘hýX;Bullet list ends without a blank line; unexpected unindent.r3‘…�r4‘}r5‘(hÙUhÚj/‘ubahæj3ubaubj¬)�r6‘}r7‘(hÙUhÚj»Žhäj Šhæj>hè}r8‘(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineKßUtypejY&uhòKÞhóhhô]r9‘j/)�r:‘}r;‘(hÙX;Bullet list ends without a blank line; unexpected unindent.hè}r<‘(hê]hë]hì]hí]hð]uhÚj6‘hô]r=‘hýX;Bullet list ends without a blank line; unexpected unindent.r>‘…�r?‘}r@‘(hÙUhÚj:‘ubahæj3ubaubj¬)�rA‘}rB‘(hÙUhÚj»Žhäj Šhæj>hè}rC‘(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineKâUtypejY&uhòKáhóhhô]rD‘j/)�rE‘}rF‘(hÙX;Bullet list ends without a blank line; unexpected unindent.hè}rG‘(hê]hë]hì]hí]hð]uhÚjA‘hô]rH‘hýX;Bullet list ends without a blank line; unexpected unindent.rI‘…�rJ‘}rK‘(hÙUhÚjE‘ubahæj3ubaubj¬)�rL‘}rM‘(hÙUhÚj»Žhäj Šhæj>hè}rN‘(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineKåUtypejY&uhòKähóhhô]rO‘j/)�rP‘}rQ‘(hÙX;Bullet list ends without a blank line; unexpected unindent.hè}rR‘(hê]hë]hì]hí]hð]uhÚjL‘hô]rS‘hýX;Bullet list ends without a blank line; unexpected unindent.rT‘…�rU‘}rV‘(hÙUhÚjP‘ubahæj3ubaubj¬)�rW‘}rX‘(hÙUhÚj»ŽhäX[internal padding after source/rtos/Examples_and_Demonstrations/SimpleLink_WiFi_Demo.rst.incrY‘hæj>hè}rZ‘(hê]UlevelKhí]hì]Usourcej Šhë]hð]UlineKìUtypejfuhòKîhóhhô]r[‘(j/)�r\‘}r]‘(hÙX;Content block expected for the "raw" directive; none found.hè}r^‘(hê]hë]hì]hí]hð]uhÚjW‘hô]r_‘hýX;Content block expected for the "raw" directive; none found.r`‘…�ra‘}rb‘(hÙUhÚj\‘ubahæj3ubjË)�rc‘}rd‘(hÙX.. raw:: html hè}re‘(jjhí]hì]hê]hë]hð]uhÚjW‘hô]rf‘hýX.. raw:: html rg‘…�rh‘}ri‘(hÙUhÚjc‘ubahæjÎubeubj¬)�rj‘}rk‘(hÙUhÚhÛ)�rl‘}rm‘(hÙUjKhÚhÛ)�rn‘}ro‘(hÙUhÚhhähåhæhçhè}rp‘(hê]hë]hì]hí]rq‘Ucan-eth-gatway-demorr‘ahð]rs‘h�auhòKWhóhhô]rt‘(hö)�ru‘}rv‘(hÙXCAN-Eth Gatway Demorw‘hÚjn‘hähåhæhúhè}rx‘(hê]hë]hì]hí]hð]uhòKWhóhhô]ry‘hýXCAN-Eth Gatway Demorz‘…�r{‘}r|‘(hÙjw‘hÚju‘ubaubj )�r}‘}r~‘(hÙXOhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_CAN_Eth_Gateway_DemohÚjn‘häj XDsource/rtos/Examples_and_Demonstrations/Can_Eth_Gateway_Demo.rst.incr‘…�r€‘}r�‘bhæjhè}r‚‘(jjhí]hì]hê]hë]hð]uhòKhóhhô]rƒ‘hýXOhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_CAN_Eth_Gateway_Demor„‘…�r…‘}r†‘(hÙUhÚj}‘ubaubjl‘hÛ)�r‡‘}rˆ‘(hÙUjKhÚjn‘häj€‘hæhçhè}r‰‘(hê]rŠ‘j¦6ahë]hì]hí]r‹‘Uid74rŒ‘ahð]uhòKhóhhô]r�‘(hö)�rŽ‘}r�‘(hÙXArchitecture Overviewr�‘hÚj‡‘häj€‘hæhúhè}r‘‘(hê]hë]hì]hí]hð]uhòKhóhhô]r’‘hýXArchitecture Overviewr“‘…�r”‘}r•‘(hÙj�‘hÚjŽ‘ubaubj/)�r–‘}r—‘(hÙXDThe following block diagram shows the various functional blocks & the data flow used in the gateway application. As shown in the diagram the PC Ethernet applications are used for transmitting & receiving the Ethernet frames from/to PC, similarly for CAN message reception & transmission, any compatible CAN tool can be used.r˜‘hÚj‡‘häj€‘hæj3hè}r™‘(hê]hë]hì]hí]hð]uhòKhóhhô]rš‘hýXDThe following block diagram shows the various functional blocks & the data flow used in the gateway application. As shown in the diagram the PC Ethernet applications are used for transmitting & receiving the Ethernet frames from/to PC, similarly for CAN message reception & transmission, any compatible CAN tool can be used.r›‘…�rœ‘}r�‘(hÙj˜‘hÚj–‘ubaubj)�rž‘}rŸ‘(hÙXŽ.. Image:: ../images/can-eth-gateway.png :height: 1000px :width: 1500px :scale: 50 % :alt: can-to-eth data flow :align: center hÚj‡‘häj€‘hæjhè}r ‘(UscaleK2UwidthX1500pxUalignXcenterUuriX"rtos/../images/can-eth-gateway.pngr¡‘hí]hì]hê]hë]j}r¢‘U*j¡‘shð]Ualtj Xcan-to-eth data flowr£‘…�r¤‘}r¥‘bUheightX1000pxuhòNhóhhô]ubeubhÛ)�r¦‘}r§‘(hÙUjKhÚjn‘häj€‘hæhçhè}r¨‘(hê]r©‘jZahë]hì]hí]rª‘Uid75r«‘ahð]uhòK"hóhhô]r¬‘(hö)�r­‘}r®‘(hÙXSoftware Featuresr¯‘hÚj¦‘häj€‘hæhúhè}r°‘(hê]hë]hì]hí]hð]uhòK"hóhhô]r±‘hýXSoftware Featuresr²‘…�r³‘}r´‘(hÙj¯‘hÚj­‘ubaubjQ)�rµ‘}r¶‘(hÙUhÚj¦‘häj€‘hæjThè}r·‘(jVX-hí]hì]hê]hë]hð]uhòK$hóhhô]r¸‘(jX)�r¹‘}rº‘(hÙX2Routing application for CAN to Eth and Eth to CAN.r»‘hÚjµ‘häj€‘hæj[hè}r¼‘(hê]hë]hì]hí]hð]uhòNhóhhô]r½‘j/)�r¾‘}r¿‘(hÙj»‘hÚj¹‘häj€‘hæj3hè}rÀ‘(hê]hë]hì]hí]hð]uhòK$hô]rÁ‘hýX2Routing application for CAN to Eth and Eth to CAN.r‘…�rÑ}rÄ‘(hÙj»‘hÚj¾‘ubaubaubjX)�rÅ‘}rÆ‘(hÙX.Network APIs for creating TCP/IP applications.rÇ‘hÚjµ‘häj€‘hæj[hè}rÈ‘(hê]hë]hì]hí]hð]uhòNhóhhô]rÉ‘j/)�rÊ‘}rË‘(hÙjÇ‘hÚjÅ‘häj€‘hæj3hè}rÌ‘(hê]hë]hì]hí]hð]uhòK%hô]rÍ‘hýX.Network APIs for creating TCP/IP applications.rΑ…�rÏ‘}rБ(hÙjÇ‘hÚjÊ‘ubaubaubjX)�rÑ‘}rÒ‘(hÙXCPU load benchmark utils. hÚjµ‘häj€‘hæj[hè}rÓ‘(hê]hë]hì]hí]hð]uhòNhóhhô]rÔ‘j/)�rÕ‘}rÖ‘(hÙXCPU load benchmark utils.rבhÚjÑ‘häj€‘hæj3hè}rØ‘(hê]hë]hì]hí]hð]uhòK&hô]rÙ‘hýXCPU load benchmark utils.rÚ‘…�rÛ‘}rÜ‘(hÙjבhÚjÕ‘ubaubaubeubeubhÛ)�rÝ‘}rÞ‘(hÙUjKhÚjn‘häj€‘hæhçhè}rß‘(hê]rà‘j’ahë]hì]hí]rá‘Uid76râ‘ahð]uhòK)hóhhô]rã‘(hö)�rä‘}rå‘(hÙXDirectory Structureræ‘hÚjÝ‘häj€‘hæhúhè}rç‘(hê]hë]hì]hí]hð]uhòK)hóhhô]rè‘hýXDirectory Structureré‘…�rê‘}rë‘(hÙjæ‘hÚjä‘ubaubj/)�rì‘}rí‘(hÙX^The CAN_ETH Gateway demo is located in the Processor SDK RTOS release under the directory pathrî‘hÚjÝ‘häj€‘hæj3hè}rï‘(hê]hë]hì]hí]hð]uhòK+hóhhô]rð‘hýX^The CAN_ETH Gateway demo is located in the Processor SDK RTOS release under the directory pathrñ‘…�rò‘}ró‘(hÙjî‘hÚjì‘ubaubjË)�rô‘}rõ‘(hÙXY[SDK Install Path]/processor_sdk_rtos_[soc]_[version]/demos/gateway-demos/can-eth-gatewayhÚjÝ‘häj€‘hæjÎhè}rö‘(jjhí]hì]hê]hë]hð]uhòMhóhhô]r÷‘hýXY[SDK Install Path]/processor_sdk_rtos_[soc]_[version]/demos/gateway-demos/can-eth-gatewayrø‘…�rù‘}rú‘(hÙUhÚjô‘ubaubj/)�rû‘}rü‘(hÙX?Detailed description of the directory structure is given below:rý‘hÚjÝ‘häj€‘hæj3hè}rþ‘(hê]hë]hì]hí]hð]uhòK2hóhhô]rÿ‘hýX?Detailed description of the directory structure is given below:r’…�r’}r’(hÙjý‘hÚjû‘ubaubjQ)�r’}r’(hÙUhÚjÝ‘häj€‘hæjThè}r’(jVX-hí]hì]hê]hë]hð]uhòK4hóhhô]r’(jX)�r’}r’(hÙXGoutput - directory contains prebuilt out file and PC tools executables.r ’hÚj’häj€‘hæj[hè}r ’(hê]hë]hì]hí]hð]uhòNhóhhô]r ’j/)�r ’}r ’(hÙj ’hÚj’häj€‘hæj3hè}r’(hê]hë]hì]hí]hð]uhòK4hô]r’hýXGoutput - directory contains prebuilt out file and PC tools executables.r’…�r’}r’(hÙj ’hÚj ’ubaubaubjX)�r’}r’(hÙXVbuild - directory contains makefiles and SYSBIOS configuration, linker files for buildr’hÚj’häj€‘hæj[hè}r’(hê]hë]hì]hí]hð]uhòNhóhhô]r’j/)�r’}r’(hÙj’hÚj’häj€‘hæj3hè}r’(hê]hë]hì]hí]hð]uhòK5hô]r’hýXVbuild - directory contains makefiles and SYSBIOS configuration, linker files for buildr’…�r’}r’(hÙj’hÚj’ubaubaubjX)�r’}r ’(hÙX.pctools - directory contains Ethernet PC toolsr!’hÚj’häj€‘hæj[hè}r"’(hê]hë]hì]hí]hð]uhòNhóhhô]r#’j/)�r$’}r%’(hÙj!’hÚj’häj€‘hæj3hè}r&’(hê]hë]hì]hí]hð]uhòK6hô]r'’hýX.pctools - directory contains Ethernet PC toolsr(’…�r)’}r*’(hÙj!’hÚj$’ubaubaubjX)�r+’}r,’(hÙXDsrc - Source files for gateway application, utils and network APIs. hÚj’häj€‘hæj[hè}r-’(hê]hë]hì]hí]hð]uhòNhóhhô]r.’j/)�r/’}r0’(hÙXCsrc - Source files for gateway application, utils and network APIs.r1’hÚj+’häj€‘hæj3hè}r2’(hê]hë]hì]hí]hð]uhòK7hô]r3’hýXCsrc - Source files for gateway application, utils and network APIs.r4’…�r5’}r6’(hÙj1’hÚj/’ubaubaubeubj))�r7’}r8’(hÙXe* Only Linux PC tools pre-built binaries are provided. For Windows, user needs to build it locally.hÚjÝ‘häNhæj,hè}r9’(hê]hë]hì]hí]hð]uhòNhóhhô]r:’jQ)�r;’}r<’(hÙUhè}r=’(jVX*hí]hì]hê]hë]hð]uhÚj7’hô]r>’jX)�r?’}r@’(hÙXaOnly Linux PC tools pre-built binaries are provided. For Windows, user needs to build it locally.hè}rA’(hê]hë]hì]hí]hð]uhÚj;’hô]rB’j/)�rC’}rD’(hÙXaOnly Linux PC tools pre-built binaries are provided. For Windows, user needs to build it locally.rE’hÚj?’häj€‘hæj3hè}rF’(hê]hë]hì]hí]hð]uhòK;hô]rG’hýXaOnly Linux PC tools pre-built binaries are provided. For Windows, user needs to build it locally.rH’…�rI’}rJ’(hÙjE’hÚjC’ubaubahæj[ubahæjTubaubeubhÛ)�rK’}rL’(hÙUjKhÚjn‘häj€‘hæhçhè}rM’(hê]rN’Xcomponents usedrO’ahë]hì]hí]rP’Uid77rQ’ahð]uhòK?hóhhô]rR’(hö)�rS’}rT’(hÙXComponents UsedrU’hÚjK’häj€‘hæhúhè}rV’(hê]hë]hì]hí]hð]uhòK?hóhhô]rW’hýXComponents UsedrX’…�rY’}rZ’(hÙjU’hÚjS’ubaubj/)�r[’}r\’(hÙXRTOS Components:r]’hÚjK’häj€‘hæj3hè}r^’(hê]hë]hì]hí]hð]uhòKAhóhhô]r_’hýXRTOS Components:r`’…�ra’}rb’(hÙj]’hÚj[’ubaubjQ)�rc’}rd’(hÙUhÚjK’häj€‘hæjThè}re’(jVX-hí]hì]hê]hë]hð]uhòKChóhhô]rf’(jX)�rg’}rh’(hÙXSYSBIOSri’hÚjc’häj€‘hæj[hè}rj’(hê]hë]hì]hí]hð]uhòNhóhhô]rk’j/)�rl’}rm’(hÙji’hÚjg’häj€‘hæj3hè}rn’(hê]hë]hì]hí]hð]uhòKChô]ro’hýXSYSBIOSrp’…�rq’}rr’(hÙji’hÚjl’ubaubaubjX)�rs’}rt’(hÙXXDCru’hÚjc’häj€‘hæj[hè}rv’(hê]hë]hì]hí]hð]uhòNhóhhô]rw’j/)�rx’}ry’(hÙju’hÚjs’häj€‘hæj3hè}rz’(hê]hë]hì]hí]hð]uhòKDhô]r{’hýXXDCr|’…�r}’}r~’(hÙju’hÚjx’ubaubaubjX)�r’}r€’(hÙXNDK hÚjc’häj€‘hæj[hè}r�’(hê]hë]hì]hí]hð]uhòNhóhhô]r‚’j/)�rƒ’}r„’(hÙXNDKr…’hÚj’häj€‘hæj3hè}r†’(hê]hë]hì]hí]hð]uhòKEhô]r‡’hýXNDKrˆ’…�r‰’}rŠ’(hÙj…’hÚjƒ’ubaubaubeubj/)�r‹’}rŒ’(hÙXProcessor SDK RTOS Drivers:r�’hÚjK’häj€‘hæj3hè}rŽ’(hê]hë]hì]hí]hð]uhòKGhóhhô]r�’hýXProcessor SDK RTOS Drivers:r�’…�r‘’}r’’(hÙj�’hÚj‹’ubaubjQ)�r“’}r”’(hÙUhÚjK’häj€‘hæjThè}r•’(jVX-hí]hì]hê]hë]hð]uhòKIhóhhô]r–’(jX)�r—’}r˜’(hÙXEMACr™’hÚj“’häj€‘hæj[hè}rš’(hê]hë]hì]hí]hð]uhòNhóhhô]r›’j/)�rœ’}r�’(hÙj™’hÚj—’häj€‘hæj3hè}rž’(hê]hë]hì]hí]hð]uhòKIhô]rŸ’hýXEMACr ’…�r¡’}r¢’(hÙj™’hÚjœ’ubaubaubjX)�r£’}r¤’(hÙXNIMUr¥’hÚj“’häj€‘hæj[hè}r¦’(hê]hë]hì]hí]hð]uhòNhóhhô]r§’j/)�r¨’}r©’(hÙj¥’hÚj£’häj€‘hæj3hè}rª’(hê]hë]hì]hí]hð]uhòKJhô]r«’hýXNIMUr¬’…�r­’}r®’(hÙj¥’hÚj¨’ubaubaubjX)�r¯’}r°’(hÙXUARTr±’hÚj“’häj€‘hæj[hè}r²’(hê]hë]hì]hí]hð]uhòNhóhhô]r³’j/)�r´’}rµ’(hÙj±’hÚj¯’häj€‘hæj3hè}r¶’(hê]hë]hì]hí]hð]uhòKKhô]r·’hýXUARTr¸’…�r¹’}rº’(hÙj±’hÚj´’ubaubaubjX)�r»’}r¼’(hÙXBoardr½’hÚj“’häj€‘hæj[hè}r¾’(hê]hë]hì]hí]hð]uhòNhóhhô]r¿’j/)�rÀ’}rÁ’(hÙj½’hÚj»’häj€‘hæj3hè}rÂ’(hê]hë]hì]hí]hð]uhòKLhô]rÃ’hýXBoardrÄ’…�rÅ’}rÆ’(hÙj½’hÚjÀ’ubaubaubjX)�rÇ’}rÈ’(hÙXOSALrÉ’hÚj“’häj€‘hæj[hè}rÊ’(hê]hë]hì]hí]hð]uhòNhóhhô]rË’j/)�rÌ’}rÍ’(hÙjÉ’hÚjÇ’häj€‘hæj3hè}rÎ’(hê]hë]hì]hí]hð]uhòKMhô]rÏ’hýXOSALrÐ’…�rÑ’}rÒ’(hÙjÉ’hÚjÌ’ubaubaubjX)�rÓ’}rÔ’(hÙXCSLrÕ’hÚj“’häj€‘hæj[hè}rÖ’(hê]hë]hì]hí]hð]uhòNhóhhô]r×’j/)�rØ’}rÙ’(hÙjÕ’hÚjÓ’häj€‘hæj3hè}rÚ’(hê]hë]hì]hí]hð]uhòKNhô]rÛ’hýXCSLrÜ’…�rÝ’}rÞ’(hÙjÕ’hÚjØ’ubaubaubjX)�rß’}rà’(hÙXudmará’hÚj“’häj€‘hæj[hè}râ’(hê]hë]hì]hí]hð]uhòNhóhhô]rã’j/)�rä’}rå’(hÙjá’hÚjß’häj€‘hæj3hè}ræ’(hê]hë]hì]hí]hð]uhòKOhô]rç’hýXudmarè’…�ré’}rê’(hÙjá’hÚjä’ubaubaubjX)�rë’}rì’(hÙX sciclient hÚj“’häj€‘hæj[hè}rí’(hê]hë]hì]hí]hð]uhòNhóhhô]rî’j/)�rï’}rð’(hÙX sciclientrñ’hÚjë’häj€‘hæj3hè}rò’(hê]hë]hì]hí]hð]uhòKPhô]ró’hýX sciclientrô’…�rõ’}rö’(hÙjñ’hÚjï’ubaubaubeubeubhÛ)�r÷’}rø’(hÙUjKhÚjn‘häj€‘hæhçhè}rù’(hê]rú’jSvahë]hì]hí]rû’Uid78rü’ahð]uhòKShóhhô]rý’(hö)�rþ’}rÿ’(hÙXBuilding the Demor“hÚj÷’häj€‘hæhúhè}r“(hê]hë]hì]hí]hð]uhòKShóhhô]r“hýXBuilding the Demor“…�r“}r“(hÙj“hÚjþ’ubaubj/)�r“}r“(hÙX„The demo application is built using makefile. Also the demo is available pre-built for Processor SDK RTOS version 5.3.0.0 or higher.r“hÚj÷’häj€‘hæj3hè}r “(hê]hë]hì]hí]hð]uhòKUhóhhô]r “hýX„The demo application is built using makefile. Also the demo is available pre-built for Processor SDK RTOS version 5.3.0.0 or higher.r “…�r “}r “(hÙj“hÚj“ubaubj/)�r“}r“(hÙXÂYou must first set up your development environment. Refer to the `Processor SDK RTOS Building `__ page for information on setting up your build environment.hÚj÷’häj€‘hæj3hè}r“(hê]hë]hì]hí]hð]uhòKXhóhhô]r“(hýXAYou must first set up your development environment. Refer to the r“…�r“}r“(hÙXAYou must first set up your development environment. Refer to the hÚj“ubj)�r“}r“(hÙXF`Processor SDK RTOS Building `__hè}r“(UnameXProcessor SDK RTOS BuildingjX$index_overview.html#building-the-sdkhí]hì]hê]hë]hð]uhÚj“hô]r“hýXProcessor SDK RTOS Buildingr“…�r“}r“(hÙUhÚj“ubahæjubhýX; page for information on setting up your build environment.r“…�r“}r“(hÙX; page for information on setting up your build environment.hÚj“ubeubj/)�r“}r “(hÙX*The following are steps to clean the demo:r!“hÚj÷’häj€‘hæj3hè}r"“(hê]hë]hì]hí]hð]uhòK\hóhhô]r#“hýX*The following are steps to clean the demo:r$“…�r%“}r&“(hÙj!“hÚj“ubaubjË)�r'“}r(“(hÙX~cd [SDK Install Path]/processor_sdk_rtos_[soc]_[version]/demos/gateway-demos/can-eth-gateway/build make clean BOARD=am65xx_idkhÚj÷’häj€‘hæjÎhè}r)“(jjhí]hì]hê]hë]hð]uhòM6hóhhô]r*“hýX~cd [SDK Install Path]/processor_sdk_rtos_[soc]_[version]/demos/gateway-demos/can-eth-gateway/build make clean BOARD=am65xx_idkr+“…�r,“}r-“(hÙUhÚj'“ubaubj/)�r.“}r/“(hÙX,The following are steps to compile the demo:r0“hÚj÷’häj€‘hæj3hè}r1“(hê]hë]hì]hí]hð]uhòKchóhhô]r2“hýX,The following are steps to compile the demo:r3“…�r4“}r5“(hÙj0“hÚj.“ubaubjË)�r6“}r7“(hÙX|cd [SDK Install Path]/processor_sdk_rtos_[soc]_[version]/demos/gateway-demos/can-eth-gateway/build make all BOARD=am65xx_idkhÚj÷’häj€‘hæjÎhè}r8“(jjhí]hì]hê]hë]hð]uhòM=hóhhô]r9“hýX|cd [SDK Install Path]/processor_sdk_rtos_[soc]_[version]/demos/gateway-demos/can-eth-gateway/build make all BOARD=am65xx_idkr:“…�r;“}r<“(hÙUhÚj6“ubaubeubhÛ)�r=“}r>“(hÙUhÚjn‘häj€‘hæhçhè}r?“(hê]hë]hì]hí]r@“Uhost-applicationsrA“ahð]rB“hauhòKkhóhhô]rC“(hö)�rD“}rE“(hÙXHost ApplicationsrF“hÚj=“häj€‘hæhúhè}rG“(hê]hë]hì]hí]hð]uhòKkhóhhô]rH“hýXHost ApplicationsrI“…�rJ“}rK“(hÙjF“hÚjD“ubaubj/)�rL“}rM“(hÙXŒThe PC tools for Ethernet reception and transmission are located under pctools directory. These tools can be built for Linux and Windows. ::hÚj=“häj€‘hæj3hè}rN“(hê]hë]hì]hí]hð]uhòKmhóhhô]rO“hýX‰The PC tools for Ethernet reception and transmission are located under pctools directory. These tools can be built for Linux and Windows.rP“…�rQ“}rR“(hÙX‰The PC tools for Ethernet reception and transmission are located under pctools directory. These tools can be built for Linux and Windows.hÚjL“ubaubjË)�rS“}rT“(hÙXmcd [SDK Install Path]/processor_sdk_rtos_[soc]_[version]/demos/gateway-demos/can-eth-gateway/pctools make allhÚj=“häj€‘hæjÎhè}rU“(jjhí]hì]hê]hë]hð]uhòMGhóhhô]rV“hýXmcd [SDK Install Path]/processor_sdk_rtos_[soc]_[version]/demos/gateway-demos/can-eth-gateway/pctools make allrW“…�rX“}rY“(hÙUhÚjS“ubaubeubhÛ)�rZ“}r[“(hÙUjKhÚjn‘häj€‘hæhçhè}r\“(hê]r]“j’vahë]hì]hí]r^“Uid79r_“ahð]uhòKuhóhhô]r`“(hö)�ra“}rb“(hÙXRunning the Demorc“hÚjZ“häj€‘hæhúhè}rd“(hê]hë]hì]hí]hð]uhòKuhóhhô]re“hýXRunning the Demorf“…�rg“}rh“(hÙjc“hÚja“ubaubj/)�ri“}rj“(hÙXYou will need the following:rk“hÚjZ“häj€‘hæj3hè}rl“(hê]hë]hì]hí]hð]uhòKwhóhhô]rm“hýXYou will need the following:rn“…�ro“}rp“(hÙjk“hÚji“ubaubj:)�rq“}rr“(hÙUhÚjZ“häj€‘hæj=hè}rs“(hê]hë]hì]hí]hð]uhòNhóhhô]rt“j@)�ru“}rv“(hÙUhè}rw“(hí]hì]hê]hë]hð]UcolsKuhÚjq“hô]rx“(jE)�ry“}rz“(hÙUhè}r{“(hí]hì]hê]hë]hð]UcolwidthKuhÚju“hô]hæjIubjE)�r|“}r}“(hÙUhè}r~“(hí]hì]hê]hë]hð]UcolwidthKuhÚju“hô]hæjIubjS)�r“}r€“(hÙUhè}r�“(hê]hë]hì]hí]hð]uhÚju“hô]r‚“jX)�rƒ“}r„“(hÙUhè}r…“(hê]hë]hì]hí]hð]uhÚj“hô]r†“(j])�r‡“}rˆ“(hÙUhè}r‰“(hê]hë]hì]hí]hð]uhÚjƒ“hô]rŠ“j/)�r‹“}rŒ“(hÙXEVM's supportedr�“hÚj‡“häj€‘hæj3hè}rŽ“(hê]hë]hì]hí]hð]uhòKzhô]r�“hýXEVM's supportedr�“…�r‘“}r’“(hÙj�“hÚj‹“ubaubahæjjubj])�r““}r”“(hÙUhè}r•“(hê]hë]hì]hí]hð]uhÚjƒ“hô]r–“j/)�r—“}r˜“(hÙX Bare metalr™“hÚj““häj€‘hæj3hè}rš“(hê]hë]hì]hí]hð]uhòKzhô]r›“hýX Bare metalrœ“…�r�“}rž“(hÙj™“hÚj—“ubaubahæjjubehæj�ubahæj�ubj‘)�rŸ“}r “(hÙUhè}r¡“(hê]hë]hì]hí]hð]uhÚju“hô]r¢“jX)�r£“}r¤“(hÙUhè}r¥“(hê]hë]hì]hí]hð]uhÚjŸ“hô]r¦“(j])�r§“}r¨“(hÙUhè}r©“(hê]hë]hì]hí]hð]uhÚj£“hô]rª“j/)�r«“}r¬“(hÙXAM65xx EVM/IDKr­“hÚj§“häj€‘hæj3hè}r®“(hê]hë]hì]hí]hð]uhòK}hô]r¯“hýXAM65xx EVM/IDKr°“…�r±“}r²“(hÙj­“hÚj«“ubaubahæjjubj])�r³“}r´“(hÙUhè}rµ“(hê]hë]hì]hí]hð]uhÚj£“hô]r¶“j/)�r·“}r¸“(hÙXNor¹“hÚj³“häj€‘hæj3hè}rº“(hê]hë]hì]hí]hð]uhòK}hô]r»“hýXNor¼“…�r½“}r¾“(hÙj¹“hÚj·“ubaubahæjjubehæj�ubahæjÊubehæjËubaubhÛ)�r¿“}rÀ“(hÙUhÚjZ“häj€‘hæhçhè}rÁ“(hê]hë]hì]hí]r“UtoolsrÓahð]rÄ“hEauhòK�hóhhô]rÅ“(hö)�rÆ“}rÇ“(hÙXToolsrÈ“hÚj¿“häj€‘hæhúhè}rÉ“(hê]hë]hì]hí]hð]uhòK�hóhhô]rÊ“hýXToolsrË“…�rÌ“}rÍ“(hÙjÈ“hÚjÆ“ubaubj¼)�rΓ}rÏ“(hÙUhÚj¿“häj€‘hæj¿hè}rГ(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòK‚hóhhô]rÑ“(jX)�rÒ“}rÓ“(hÙXLCAN Receiver/Transmitter - PC tool to receive and transmit the CAN messages.rÔ“hÚjΓhäj€‘hæj[hè}rÕ“(hê]hë]hì]hí]hð]uhòNhóhhô]rÖ“j/)�rד}rØ“(hÙjÔ“hÚjÒ“häj€‘hæj3hè}rÙ“(hê]hë]hì]hí]hð]uhòK‚hô]rÚ“hýXLCAN Receiver/Transmitter - PC tool to receive and transmit the CAN messages.rÛ“…�rÜ“}rÝ“(hÙjÔ“hÚjדubaubaubjX)�rÞ“}rß“(hÙXLAN Cable (preferably CAT6)rà“hÚjΓhäj€‘hæj[hè}rá“(hê]hë]hì]hí]hð]uhòNhóhhô]râ“j/)�rã“}rä“(hÙjà“hÚjÞ“häj€‘hæj3hè}rå“(hê]hë]hì]hí]hð]uhòKƒhô]ræ“hýXLAN Cable (preferably CAT6)rç“…�rè“}ré“(hÙjà“hÚjã“ubaubaubjX)�rê“}rë“(hÙX)Gigabit switch connection - as mentioned in the known issues demo does not work with 100Mbps mode. The gigabit connection is needed to AM65xx EVM. .. note:: * PCAN - PC CAN Emulation tool is used for testing CAN_ETH Gateway demo. * Refer section PCAN Tool Set up for more details. * For receiving and transmitting data over Ethernet, use/run "eth_rx.out" and "eth_tx.out" utilities on host PC. * Above utilities are available at "[SDK Install Path]/processor_sdk_rtos_[soc]_[version]/demos/gateway-demos/can-eth-gateway/pctools". hÚjΓhäj€‘hæj[hè}rì“(hê]hë]hì]hí]hð]uhòNhóhhô]rí“(j/)�rî“}rï“(hÙX’Gigabit switch connection - as mentioned in the known issues demo does not work with 100Mbps mode. The gigabit connection is needed to AM65xx EVM.rð“hÚjê“häj€‘hæj3hè}rñ“(hê]hë]hì]hí]hð]uhòK„hô]rò“hýX’Gigabit switch connection - as mentioned in the known issues demo does not work with 100Mbps mode. The gigabit connection is needed to AM65xx EVM.ró“…�rô“}rõ“(hÙjð“hÚjî“ubaubjž)�rö“}r÷“(hÙUhè}rø“(hê]hë]hì]hí]hð]uhÚjê“hô]rù“j))�rú“}rû“(hÙXt* PCAN - PC CAN Emulation tool is used for testing CAN_ETH Gateway demo. * Refer section PCAN Tool Set up for more details. * For receiving and transmitting data over Ethernet, use/run "eth_rx.out" and "eth_tx.out" utilities on host PC. * Above utilities are available at "[SDK Install Path]/processor_sdk_rtos_[soc]_[version]/demos/gateway-demos/can-eth-gateway/pctools".hè}rü“(hê]hë]hì]hí]hð]uhÚjö“hô]rý“jQ)�rþ“}rÿ“(hÙUhè}r”(jVX*hí]hì]hê]hë]hð]uhÚjú“hô]r”(jX)�r”}r”(hÙXFPCAN - PC CAN Emulation tool is used for testing CAN_ETH Gateway demo.r”hè}r”(hê]hë]hì]hí]hð]uhÚjþ“hô]r”j/)�r”}r”(hÙj”hÚj”häj€‘hæj3hè}r ”(hê]hë]hì]hí]hð]uhòK‰hô]r ”hýXFPCAN - PC CAN Emulation tool is used for testing CAN_ETH Gateway demo.r ”…�r ”}r ”(hÙj”hÚj”ubaubahæj[ubjX)�r”}r”(hÙX0Refer section PCAN Tool Set up for more details.r”hè}r”(hê]hë]hì]hí]hð]uhÚjþ“hô]r”j/)�r”}r”(hÙj”hÚj”häj€‘hæj3hè}r”(hê]hë]hì]hí]hð]uhòKŠhô]r”hýX0Refer section PCAN Tool Set up for more details.r”…�r”}r”(hÙj”hÚj”ubaubahæj[ubjX)�r”}r”(hÙXnFor receiving and transmitting data over Ethernet, use/run "eth_rx.out" and "eth_tx.out" utilities on host PC.r”hè}r”(hê]hë]hì]hí]hð]uhÚjþ“hô]r”j/)�r”}r ”(hÙj”hÚj”häj€‘hæj3hè}r!”(hê]hë]hì]hí]hð]uhòK‹hô]r"”hýXnFor receiving and transmitting data over Ethernet, use/run "eth_rx.out" and "eth_tx.out" utilities on host PC.r#”…�r$”}r%”(hÙj”hÚj”ubaubahæj[ubjX)�r&”}r'”(hÙX…Above utilities are available at "[SDK Install Path]/processor_sdk_rtos_[soc]_[version]/demos/gateway-demos/can-eth-gateway/pctools".r(”hè}r)”(hê]hë]hì]hí]hð]uhÚjþ“hô]r*”j/)�r+”}r,”(hÙj(”hÚj&”häj€‘hæj3hè}r-”(hê]hë]hì]hí]hð]uhòKŒhô]r.”hýX…Above utilities are available at "[SDK Install Path]/processor_sdk_rtos_[soc]_[version]/demos/gateway-demos/can-eth-gateway/pctools".r/”…�r0”}r1”(hÙj(”hÚj+”ubaubahæj[ubehæjTubahæj,ubahæjªubeubeubeubhÛ)�r2”}r3”(hÙUhÚjZ“häj€‘hæhçhè}r4”(hê]hë]hì]hí]r5”Uset-upr6”ahð]r7”h|auhòK�hóhhô]r8”(hö)�r9”}r:”(hÙXSet upr;”hÚj2”häj€‘hæhúhè}r<”(hê]hë]hì]hí]hð]uhòK�hóhhô]r=”hýXSet upr>”…�r?”}r@”(hÙj;”hÚj9”ubaubj¼)�rA”}rB”(hÙUhÚj2”häj€‘hæj¿hè}rC”(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòK‘hóhhô]rD”(jX)�rE”}rF”(hÙX¬Code Composer Studio to load and run the demo. Refer to :ref:`Processor SDK RTOS Getting Started Guide ` for installing CCS.hÚjA”häj€‘hæj[hè}rG”(hê]hë]hì]hí]hð]uhòNhóhhô]rH”j/)�rI”}rJ”(hÙX¬Code Composer Studio to load and run the demo. Refer to :ref:`Processor SDK RTOS Getting Started Guide ` for installing CCS.hÚjE”häj€‘hæj3hè}rK”(hê]hë]hì]hí]hð]uhòK‘hô]rL”(hýX8Code Composer Studio to load and run the demo. Refer to rM”…�rN”}rO”(hÙX8Code Composer Studio to load and run the demo. Refer to hÚjI”ubjZ)�rP”}rQ”(hÙX`:ref:`Processor SDK RTOS Getting Started Guide `rR”hÚjI”häj€‘hæj^hè}rS”(UreftypeXrefj¢ ˆj£ X.processor-sdk-rtos-getting-started-guide-labelU refdomainXstdrT”hí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòK‘hô]rU”jb)�rV”}rW”(hÙjR”hè}rX”(hê]hë]rY”(j­ jT”Xstd-refrZ”ehì]hí]hð]uhÚjP”hô]r[”hýX(Processor SDK RTOS Getting Started Guider\”…�r]”}r^”(hÙUhÚjV”ubahæjlubaubhýX for installing CCS.r_”…�r`”}ra”(hÙX for installing CCS.hÚjI”ubeubaubjX)�rb”}rc”(hÙX6AM65xx_EVM board with attached LAN cable and CAN tool.rd”hÚjA”häj€‘hæj[hè}re”(hê]hë]hì]hí]hð]uhòNhóhhô]rf”j/)�rg”}rh”(hÙjd”hÚjb”häj€‘hæj3hè}ri”(hê]hë]hì]hí]hð]uhòK”hô]rj”hýX6AM65xx_EVM board with attached LAN cable and CAN tool.rk”…�rl”}rm”(hÙjd”hÚjg”ubaubaubjX)�rn”}ro”(hÙX7USB cable for JTAG and serial terminal (micro USB port)rp”hÚjA”häj€‘hæj[hè}rq”(hê]hë]hì]hí]hð]uhòNhóhhô]rr”j/)�rs”}rt”(hÙjp”hÚjn”häj€‘hæj3hè}ru”(hê]hë]hì]hí]hð]uhòK•hô]rv”hýX7USB cable for JTAG and serial terminal (micro USB port)rw”…�rx”}ry”(hÙjp”hÚjs”ubaubaubjX)�rz”}r{”(hÙXÍConfigure PC running Ethernet PC tools with below static IP * IP Address = "192.168.1.20" * Subnet mask = "255.255.255.0" * Default Gateway = "192.168.1.1" .. note:: You can enable DHCP for AM65xx board if PC is connected to network and static IP configuration is not feasible. Set enableStaticIP flag to 1 in :: [SDK Install Path]/processor_sdk_rtos_[soc]_[version]/demos/gateway-demos/can-eth-gateway/build/am65xx/nimuExample_r5.cfg hÚjA”häNhæj[hè}r|”(hê]hë]hì]hí]hð]uhòNhóhhô]r}”cdocutils.nodes definition_list r~”)�r”}r€”(hÙUhè}r�”(hê]hë]hì]hí]hð]uhÚjz”hô]r‚”cdocutils.nodes definition_list_item rƒ”)�r„”}r…”(hÙXÅConfigure PC running Ethernet PC tools with below static IP * IP Address = "192.168.1.20" * Subnet mask = "255.255.255.0" * Default Gateway = "192.168.1.1" .. note:: You can enable DHCP for AM65xx board if PC is connected to network and static IP configuration is not feasible. Set enableStaticIP flag to 1 in :: [SDK Install Path]/processor_sdk_rtos_[soc]_[version]/demos/gateway-demos/can-eth-gateway/build/am65xx/nimuExample_r5.cfg hÚj”häj€‘hæUdefinition_list_itemr†”hè}r‡”(hê]hë]hì]hí]hð]uhòK£hô]rˆ”(cdocutils.nodes term r‰”)�rŠ”}r‹”(hÙX;Configure PC running Ethernet PC tools with below static IPrŒ”hÚj„”häj€‘hæUtermr�”hè}rŽ”(hê]hë]hì]hí]hð]uhòK£hô]r�”hýX;Configure PC running Ethernet PC tools with below static IPr�”…�r‘”}r’”(hÙjŒ”hÚjŠ”ubaubcdocutils.nodes definition r“”)�r””}r•”(hÙUhè}r–”(hê]hë]hì]hí]hð]uhÚj„”hô]r—”(jQ)�r˜”}r™”(hÙUhè}rš”(jVX*hí]hì]hê]hë]hð]uhÚj””hô]r›”(jX)�rœ”}r�”(hÙXIP Address = "192.168.1.20"rž”hè}rŸ”(hê]hë]hì]hí]hð]uhÚj˜”hô]r ”j/)�r¡”}r¢”(hÙjž”hÚjœ”häj€‘hæj3hè}r£”(hê]hë]hì]hí]hð]uhòK—hô]r¤”hýXIP Address = "192.168.1.20"r¥”…�r¦”}r§”(hÙjž”hÚj¡”ubaubahæj[ubjX)�r¨”}r©”(hÙXSubnet mask = "255.255.255.0"rª”hè}r«”(hê]hë]hì]hí]hð]uhÚj˜”hô]r¬”j/)�r­”}r®”(hÙjª”hÚj¨”häj€‘hæj3hè}r¯”(hê]hë]hì]hí]hð]uhòK˜hô]r°”hýXSubnet mask = "255.255.255.0"r±”…�r²”}r³”(hÙjª”hÚj­”ubaubahæj[ubjX)�r´”}rµ”(hÙX!Default Gateway = "192.168.1.1" hè}r¶”(hê]hë]hì]hí]hð]uhÚj˜”hô]r·”j/)�r¸”}r¹”(hÙXDefault Gateway = "192.168.1.1"rº”hÚj´”häj€‘hæj3hè}r»”(hê]hë]hì]hí]hð]uhòK™hô]r¼”hýXDefault Gateway = "192.168.1.1"r½”…�r¾”}r¿”(hÙjº”hÚj¸”ubaubahæj[ubehæjTubj))�rÀ”}rÁ”(hÙX You can enable DHCP for AM65xx board if PC is connected to network and static IP configuration is not feasible. Set enableStaticIP flag to 1 in :: [SDK Install Path]/processor_sdk_rtos_[soc]_[version]/demos/gateway-demos/can-eth-gateway/build/am65xx/nimuExample_r5.cfghè}r”(hê]hë]hì]hí]hð]uhÚj””hô]rÔ(jž)�rÄ”}rÅ”(hÙUhè}rÆ”(hê]hë]hì]hí]hð]uhÚjÀ”hô]rÇ”j/)�rÈ”}rÉ”(hÙX�You can enable DHCP for AM65xx board if PC is connected to network and static IP configuration is not feasible. Set enableStaticIP flag to 1 inrÊ”hÚjÄ”häj€‘hæj3hè}rË”(hê]hë]hì]hí]hð]uhòKžhô]rÌ”hýX�You can enable DHCP for AM65xx board if PC is connected to network and static IP configuration is not feasible. Set enableStaticIP flag to 1 inrÍ”…�rΔ}rÏ”(hÙjÊ”hÚjÈ”ubaubahæjªubjË)�rД}rÑ”(hÙXy[SDK Install Path]/processor_sdk_rtos_[soc]_[version]/demos/gateway-demos/can-eth-gateway/build/am65xx/nimuExample_r5.cfghÚjÀ”hæjÎhè}rÒ”(jjhí]hì]hê]hë]hð]uhòMyhô]rÓ”hýXy[SDK Install Path]/processor_sdk_rtos_[soc]_[version]/demos/gateway-demos/can-eth-gateway/build/am65xx/nimuExample_r5.cfgrÔ”…�rÕ”}rÖ”(hÙUhÚjДubaubehæj,ubehæU definitionr×”ubeubahæUdefinition_listrØ”ubaubeubeubhÛ)�rÙ”}rÚ”(hÙUhÚjZ“häj€‘hæhçhè}rÛ”(hê]hë]hì]hí]rÜ”Uam65x-evm-idk-board-set-uprÝ”ahð]rÞ”h�auhòK¦hóhhô]rß”(hö)�rà”}rá”(hÙXAM65x EVM/IDK Board Set uprâ”hÚjÙ”häj€‘hæhúhè}rã”(hê]hë]hì]hí]hð]uhòK¦hóhhô]rä”hýXAM65x EVM/IDK Board Set uprå”…�ræ”}rç”(hÙjâ”hÚjà”ubaubj¼)�rè”}ré”(hÙUhÚjÙ”häj€‘hæj¿hè}rê”(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòK¨hóhhô]rë”jX)�rì”}rí”(hÙXaAdding Termination Resistors to the MCAN Interface Reason for change * The IDK Application board has two MCAN ports. The termination for the MCAN ports is not installed by default. If the termination is needed on the board, the following steps can be followed to add it. Items Needed * Two 120 ohm resistors in 0603 package Modification * Carefully remove the IDK application board by removing the four screws and gently separating the board from the connectors. * On the top of the board, solder a 120 ohm resistor to the footprint for R252. .. Image:: ../images/am65x_evm_idk_board_changes_for_mcan_interface1.png :height: 500px :width: 800px :scale: 50 % :alt: can-to-eth data flow :align: center * On the bottom of the board, solder a 120 ohm resistor to the footprint for R130. .. Image:: ../images/am65x_evm_idk_board_changes_for_mcan_interface2.png :height: 500px :width: 800px :scale: 50 % :alt: can-to-eth data flow :align: center * Reinstall the IDK Application board and return the screws. hÚjè”häj€‘hæj[hè}rî”(hê]hë]hì]hí]hð]uhòNhóhhô]rï”(j/)�rð”}rñ”(hÙX2Adding Termination Resistors to the MCAN Interfacerò”hÚjì”häj€‘hæj3hè}ró”(hê]hë]hì]hí]hð]uhòK¨hô]rô”hýX2Adding Termination Resistors to the MCAN Interfacerõ”…�rö”}r÷”(hÙjò”hÚjð”ubaubjž)�rø”}rù”(hÙUhè}rú”(hê]hë]hì]hí]hð]uhÚjì”hô]rû”j~”)�rü”}rý”(hÙUhè}rþ”(hê]hë]hì]hí]hð]uhÚjø”hô]rÿ”(jƒ”)�r•}r•(hÙXÜReason for change * The IDK Application board has two MCAN ports. The termination for the MCAN ports is not installed by default. If the termination is needed on the board, the following steps can be followed to add it. hÚjü”häj€‘hæj†”hè}r•(hê]hë]hì]hí]hð]uhòK«hô]r•(j‰”)�r•}r•(hÙXReason for changer•hÚj•häj€‘hæj�”hè}r•(hê]hë]hì]hí]hð]uhòK«hô]r•hýXReason for changer •…�r •}r •(hÙj•hÚj•ubaubj“”)�r •}r •(hÙUhè}r•(hê]hë]hì]hí]hð]uhÚj•hô]r•jQ)�r•}r•(hÙUhè}r•(jVX*hí]hì]hê]hë]hð]uhÚj •hô]r•jX)�r•}r•(hÙXÈThe IDK Application board has two MCAN ports. The termination for the MCAN ports is not installed by default. If the termination is needed on the board, the following steps can be followed to add it. hè}r•(hê]hë]hì]hí]hð]uhÚj•hô]r•j/)�r•}r•(hÙXÇThe IDK Application board has two MCAN ports. The termination for the MCAN ports is not installed by default. If the termination is needed on the board, the following steps can be followed to add it.r•hÚj•häj€‘hæj3hè}r•(hê]hë]hì]hí]hð]uhòK«hô]r•hýXÇThe IDK Application board has two MCAN ports. The termination for the MCAN ports is not installed by default. If the termination is needed on the board, the following steps can be followed to add it.r•…�r•}r•(hÙj•hÚj•ubaubahæj[ubahæjTubahæj×”ubeubjƒ”)�r •}r!•(hÙX5Items Needed * Two 120 ohm resistors in 0603 package hÚjü”häj€‘hæj†”hè}r"•(hê]hë]hì]hí]hð]uhòK®hô]r#•(j‰”)�r$•}r%•(hÙX Items Neededr&•hÚj •häj€‘hæj�”hè}r'•(hê]hë]hì]hí]hð]uhòK®hô]r(•hýX Items Neededr)•…�r*•}r+•(hÙj&•hÚj$•ubaubj“”)�r,•}r-•(hÙUhè}r.•(hê]hë]hì]hí]hð]uhÚj •hô]r/•jQ)�r0•}r1•(hÙUhè}r2•(jVX*hí]hì]hê]hë]hð]uhÚj,•hô]r3•jX)�r4•}r5•(hÙX&Two 120 ohm resistors in 0603 package hè}r6•(hê]hë]hì]hí]hð]uhÚj0•hô]r7•j/)�r8•}r9•(hÙX%Two 120 ohm resistors in 0603 packager:•hÚj4•häj€‘hæj3hè}r;•(hê]hë]hì]hí]hð]uhòK®hô]r<•hýX%Two 120 ohm resistors in 0603 packager=•…�r>•}r?•(hÙj:•hÚj8•ubaubahæj[ubahæjTubahæj×”ubeubjƒ”)�r@•}rA•(hÙX½Modification * Carefully remove the IDK application board by removing the four screws and gently separating the board from the connectors. * On the top of the board, solder a 120 ohm resistor to the footprint for R252. .. Image:: ../images/am65x_evm_idk_board_changes_for_mcan_interface1.png :height: 500px :width: 800px :scale: 50 % :alt: can-to-eth data flow :align: center * On the bottom of the board, solder a 120 ohm resistor to the footprint for R130. .. Image:: ../images/am65x_evm_idk_board_changes_for_mcan_interface2.png :height: 500px :width: 800px :scale: 50 % :alt: can-to-eth data flow :align: center * Reinstall the IDK Application board and return the screws. hÚjü”häj€‘hæj†”hè}rB•(hê]hë]hì]hí]hð]uhòKÄhô]rC•(j‰”)�rD•}rE•(hÙX ModificationrF•hÚj@•häj€‘hæj�”hè}rG•(hê]hë]hì]hí]hð]uhòKÄhô]rH•hýX ModificationrI•…�rJ•}rK•(hÙjF•hÚjD•ubaubj“”)�rL•}rM•(hÙUhè}rN•(hê]hë]hì]hí]hð]uhÚj@•hô]rO•(jQ)�rP•}rQ•(hÙUhè}rR•(jVX*hí]hì]hê]hë]hð]uhÚjL•hô]rS•(jX)�rT•}rU•(hÙX{Carefully remove the IDK application board by removing the four screws and gently separating the board from the connectors.rV•hè}rW•(hê]hë]hì]hí]hð]uhÚjP•hô]rX•j/)�rY•}rZ•(hÙjV•hÚjT•häj€‘hæj3hè}r[•(hê]hë]hì]hí]hð]uhòK±hô]r\•hýX{Carefully remove the IDK application board by removing the four screws and gently separating the board from the connectors.r]•…�r^•}r_•(hÙjV•hÚjY•ubaubahæj[ubjX)�r`•}ra•(hÙXNOn the top of the board, solder a 120 ohm resistor to the footprint for R252. hè}rb•(hê]hë]hì]hí]hð]uhÚjP•hô]rc•j/)�rd•}re•(hÙXMOn the top of the board, solder a 120 ohm resistor to the footprint for R252.rf•hÚj`•häj€‘hæj3hè}rg•(hê]hë]hì]hí]hð]uhòK²hô]rh•hýXMOn the top of the board, solder a 120 ohm resistor to the footprint for R252.ri•…�rj•}rk•(hÙjf•hÚjd•ubaubahæj[ubehæjTubj)�rl•}rm•(hÙX§.. Image:: ../images/am65x_evm_idk_board_changes_for_mcan_interface1.png :height: 500px :width: 800px :scale: 50 % :alt: can-to-eth data flow :align: center hè}rn•(UscaleK2UwidthX800pxUalignXcenterUuriXBrtos/../images/am65x_evm_idk_board_changes_for_mcan_interface1.pngro•hí]hì]hê]hë]j}rp•U*jo•shð]Ualtj Xcan-to-eth data flowrq•…�rr•}rs•bUheightX500pxuhÚjL•hô]hæjubjQ)�rt•}ru•(hÙUhè}rv•(jVX*hí]hì]hê]hë]hð]uhÚjL•hô]rw•jX)�rx•}ry•(hÙXQOn the bottom of the board, solder a 120 ohm resistor to the footprint for R130. hè}rz•(hê]hë]hì]hí]hð]uhÚjt•hô]r{•j/)�r|•}r}•(hÙXPOn the bottom of the board, solder a 120 ohm resistor to the footprint for R130.r~•hÚjx•häj€‘hæj3hè}r•(hê]hë]hì]hí]hð]uhòK»hô]r€•hýXPOn the bottom of the board, solder a 120 ohm resistor to the footprint for R130.r�•…�r‚•}rƒ•(hÙj~•hÚj|•ubaubahæj[ubahæjTubj)�r„•}r…•(hÙX§.. Image:: ../images/am65x_evm_idk_board_changes_for_mcan_interface2.png :height: 500px :width: 800px :scale: 50 % :alt: can-to-eth data flow :align: center hè}r†•(UscaleK2UwidthX800pxUalignXcenterUuriXBrtos/../images/am65x_evm_idk_board_changes_for_mcan_interface2.pngr‡•hí]hì]hê]hë]j}rˆ•U*j‡•shð]Ualtj Xcan-to-eth data flowr‰•…�rŠ•}r‹•bUheightX500pxuhÚjL•hô]hæjubjQ)�rŒ•}r�•(hÙUhè}rŽ•(jVX*hí]hì]hê]hë]hð]uhÚjL•hô]r�•jX)�r�•}r‘•(hÙX;Reinstall the IDK Application board and return the screws. hè}r’•(hê]hë]hì]hí]hð]uhÚjŒ•hô]r“•j/)�r”•}r••(hÙX:Reinstall the IDK Application board and return the screws.r–•hÚj�•häj€‘hæj3hè}r—•(hê]hë]hì]hí]hð]uhòKÄhô]r˜•hýX:Reinstall the IDK Application board and return the screws.r™•…�rš•}r›•(hÙj–•hÚj”•ubaubahæj[ubahæjTubehæj×”ubeubehæjØ”ubahæjªubeubaubeubhÛ)�rœ•}r�•(hÙUhÚjZ“häj€‘hæhçhè}rž•(hê]hë]hì]hí]rŸ•Upcan-tool-set-upr •ahð]r¡•hÉauhòKÇhóhhô]r¢•(hö)�r£•}r¤•(hÙXPCAN Tool Set upr¥•hÚjœ•häj€‘hæhúhè}r¦•(hê]hë]hì]hí]hð]uhòKÇhóhhô]r§•hýXPCAN Tool Set upr¨•…�r©•}rª•(hÙj¥•hÚj£•ubaubj~”)�r«•}r¬•(hÙUhÚjœ•häj€‘hæjØ”hè}r­•(hê]hë]hì]hí]hð]uhòNhóhhô]r®•jƒ”)�r¯•}r°•(hÙX¬CAN FD adapter PCAN-USB FD allows the connection of CAN FD and CAN networks to a computer via USB. Product details: https://www.peak-system.com/PCAN-USB-FD.365.0.html?&L=1 hÚj«•häj€‘hæj†”hè}r±•(hê]hë]hì]hí]hð]uhòKÊhô]r²•(j‰”)�r³•}r´•(hÙXbCAN FD adapter PCAN-USB FD allows the connection of CAN FD and CAN networks to a computer via USB.rµ•hÚj¯•häj€‘hæj�”hè}r¶•(hê]hë]hì]hí]hð]uhòKÊhô]r·•hýXbCAN FD adapter PCAN-USB FD allows the connection of CAN FD and CAN networks to a computer via USB.r¸•…�r¹•}rº•(hÙjµ•hÚj³•ubaubj“”)�r»•}r¼•(hÙUhè}r½•(hê]hë]hì]hí]hð]uhÚj¯•hô]r¾•j/)�r¿•}rÀ•(hÙXHProduct details: https://www.peak-system.com/PCAN-USB-FD.365.0.html?&L=1hÚj»•häj€‘hæj3hè}rÁ•(hê]hë]hì]hí]hð]uhòKÊhô]r•(hýXProduct details: rÕ…�rÄ•}rÅ•(hÙXProduct details: hÚj¿•ubj)�rÆ•}rÇ•(hÙX7https://www.peak-system.com/PCAN-USB-FD.365.0.html?&L=1rÈ•hè}rÉ•(UrefurijÈ•hí]hì]hê]hë]hð]uhÚj¿•hô]rÊ•hýX7https://www.peak-system.com/PCAN-USB-FD.365.0.html?&L=1rË•…�rÌ•}rÍ•(hÙUhÚjÆ•ubahæjubeubahæj×”ubeubaubj¼)�rΕ}rÏ•(hÙUhÚjœ•häj€‘hæj¿hè}rЕ(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòKÌhóhhô]rÑ•jX)�rÒ•}rÓ•(hÙX5Prerequisite (PC Setup): * Download and install PCAN driver from: https://www.peak-system.com/quick/DrvSetup * Download and install PCAN driver from: https://www.peak-system.com/quick/DrvSetup * Download PCAN-View from: https://www.peak-system.com/fileadmin/media/files/pcanview.zip * PCAN-View is a GUI based tool used to configure bit-rate of the PCAN tool. It provides a convenient was to see sent and received messages. It also provides an option to enable tracing of CAN messages along with timestamp * Please refer to PCAN-USB FD manual for more details hÚjΕhäNhæj[hè}rÔ•(hê]hë]hì]hí]hð]uhòNhóhhô]rÕ•j~”)�rÖ•}rו(hÙUhè}rØ•(hê]hë]hì]hí]hð]uhÚjÒ•hô]rÙ•jƒ”)�rÚ•}rÛ•(hÙX0Prerequisite (PC Setup): * Download and install PCAN driver from: https://www.peak-system.com/quick/DrvSetup * Download and install PCAN driver from: https://www.peak-system.com/quick/DrvSetup * Download PCAN-View from: https://www.peak-system.com/fileadmin/media/files/pcanview.zip * PCAN-View is a GUI based tool used to configure bit-rate of the PCAN tool. It provides a convenient was to see sent and received messages. It also provides an option to enable tracing of CAN messages along with timestamp * Please refer to PCAN-USB FD manual for more details hÚjÖ•häj€‘hæj†”hè}rÜ•(hê]hë]hì]hí]hð]uhòKÑhô]rÝ•(j‰”)�rÞ•}rß•(hÙXPrerequisite (PC Setup):rà•hÚjÚ•häj€‘hæj�”hè}rá•(hê]hë]hì]hí]hð]uhòKÑhô]râ•hýXPrerequisite (PC Setup):rã•…�rä•}rå•(hÙjà•hÚjÞ•ubaubj“”)�ræ•}rç•(hÙUhè}rè•(hê]hë]hì]hí]hð]uhÚjÚ•hô]ré•jQ)�rê•}rë•(hÙUhè}rì•(jVX*hí]hì]hê]hë]hð]uhÚjæ•hô]rí•(jX)�rî•}rï•(hÙXQDownload and install PCAN driver from: https://www.peak-system.com/quick/DrvSetuprð•hè}rñ•(hê]hë]hì]hí]hð]uhÚjê•hô]rò•j/)�ró•}rô•(hÙjð•hÚjî•häj€‘hæj3hè}rõ•(hê]hë]hì]hí]hð]uhòKÍhô]rö•(hýX'Download and install PCAN driver from: r÷•…�rø•}rù•(hÙX'Download and install PCAN driver from: hÚjó•ubj)�rú•}rû•(hÙX*https://www.peak-system.com/quick/DrvSetuprü•hè}rý•(Urefurijü•hí]hì]hê]hë]hð]uhÚjó•hô]rþ•hýX*https://www.peak-system.com/quick/DrvSetuprÿ•…�r–}r–(hÙUhÚjú•ubahæjubeubahæj[ubjX)�r–}r–(hÙXQDownload and install PCAN driver from: https://www.peak-system.com/quick/DrvSetupr–hè}r–(hê]hë]hì]hí]hð]uhÚjê•hô]r–j/)�r–}r–(hÙj–hÚj–häj€‘hæj3hè}r –(hê]hë]hì]hí]hð]uhòKÎhô]r –(hýX'Download and install PCAN driver from: r –…�r –}r –(hÙX'Download and install PCAN driver from: hÚj–ubj)�r–}r–(hÙX*https://www.peak-system.com/quick/DrvSetupr–hè}r–(Urefurij–hí]hì]hê]hë]hð]uhÚj–hô]r–hýX*https://www.peak-system.com/quick/DrvSetupr–…�r–}r–(hÙUhÚj–ubahæjubeubahæj[ubjX)�r–}r–(hÙXWDownload PCAN-View from: https://www.peak-system.com/fileadmin/media/files/pcanview.zipr–hè}r–(hê]hë]hì]hí]hð]uhÚjê•hô]r–j/)�r–}r–(hÙj–hÚj–häj€‘hæj3hè}r–(hê]hë]hì]hí]hð]uhòKÏhô]r–(hýXDownload PCAN-View from: r–…�r –}r!–(hÙXDownload PCAN-View from: hÚj–ubj)�r"–}r#–(hÙX>https://www.peak-system.com/fileadmin/media/files/pcanview.zipr$–hè}r%–(Urefurij$–hí]hì]hê]hë]hð]uhÚj–hô]r&–hýX>https://www.peak-system.com/fileadmin/media/files/pcanview.zipr'–…�r(–}r)–(hÙUhÚj"–ubahæjubeubahæj[ubjX)�r*–}r+–(hÙXÜPCAN-View is a GUI based tool used to configure bit-rate of the PCAN tool. It provides a convenient was to see sent and received messages. It also provides an option to enable tracing of CAN messages along with timestampr,–hè}r-–(hê]hë]hì]hí]hð]uhÚjê•hô]r.–j/)�r/–}r0–(hÙj,–hÚj*–häj€‘hæj3hè}r1–(hê]hë]hì]hí]hð]uhòKÐhô]r2–hýXÜPCAN-View is a GUI based tool used to configure bit-rate of the PCAN tool. It provides a convenient was to see sent and received messages. It also provides an option to enable tracing of CAN messages along with timestampr3–…�r4–}r5–(hÙj,–hÚj/–ubaubahæj[ubjX)�r6–}r7–(hÙX4Please refer to PCAN-USB FD manual for more details hè}r8–(hê]hë]hì]hí]hð]uhÚjê•hô]r9–j/)�r:–}r;–(hÙX3Please refer to PCAN-USB FD manual for more detailsr<–hÚj6–häj€‘hæj3hè}r=–(hê]hë]hì]hí]hð]uhòKÑhô]r>–hýX3Please refer to PCAN-USB FD manual for more detailsr?–…�r@–}rA–(hÙj<–hÚj:–ubaubahæj[ubehæjTubahæj×”ubeubahæjØ”ubaubaubj))�rB–}rC–(hÙXšPlease check licensing information & terms of usage of PCAN-USB product and make sure it adheres your organizations policy before downloading the drivers.hÚjœ•häj€‘hæj,hè}rD–(hê]hë]hì]hí]hð]uhòNhóhhô]rE–j/)�rF–}rG–(hÙXšPlease check licensing information & terms of usage of PCAN-USB product and make sure it adheres your organizations policy before downloading the drivers.rH–hÚjB–häj€‘hæj3hè}rI–(hê]hë]hì]hí]hð]uhòKÕhô]rJ–hýXšPlease check licensing information & terms of usage of PCAN-USB product and make sure it adheres your organizations policy before downloading the drivers.rK–…�rL–}rM–(hÙjH–hÚjF–ubaubaubj¼)�rN–}rO–(hÙUhÚjœ•häj€‘hæj¿hè}rP–(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòKØhóhhô]rQ–(jX)�rR–}rS–(hÙX>PCAN Setup: * Once driver is installed, connect PCAN to PC. It should be auto detected as ‘PCAN-USB FD’ in ‘Device Manager’. If it is not auto detected then re-install the PCAN driver * Once it is detected in Device Manager, open PCAN-View and follow below steps * Click on ‘Connect’ from ‘CAN’ menu (as shown in below figure) * Popped up window shall show connected PCAN hardware. Select that device. * Tick in the checkbox shown next to ‘Data Bit rate’ * This will enable Bit * Select ‘Nominal Bit Rate’ as ‘1 MBits/s’ * Select ‘Data Bit Rate’ as ‘5 MBits/s’ * Bit rates may vary from use-case to use-case. * Click on Ok button. .. Image:: ../images/pcan_view_device_selection.png :height: 500px :width: 500px :scale: 50 % :alt: can-to-eth data flow :align: center * Create and send message at period of 2sec * Click on ‘New Message’ under ‘Transmit’ menu * Tick the check box present next to ‘CAN FD’ * Tick the check box present next to ‘Bit Rate Switch’ * Give below parameters /inputs: * ID as hex ‘004’ * Length as ‘64’ * Cycle Time as ‘2000’ * Data: as use-case needs .. Image:: ../images/CanEth_PCANViewTransmitMessageConfig.png :height: 500px :width: 600px :scale: 50 % :alt: can-to-eth data flow :align: center hÚjN–häNhæj[hè}rT–(hê]hë]hì]hí]hð]uhòNhóhhô]rU–j~”)�rV–}rW–(hÙUhè}rX–(hê]hë]hì]hí]hð]uhÚjR–hô]rY–jƒ”)�rZ–}r[–(hÙXPCAN Setup: * Once driver is installed, connect PCAN to PC. It should be auto detected as ‘PCAN-USB FD’ in ‘Device Manager’. If it is not auto detected then re-install the PCAN driver * Once it is detected in Device Manager, open PCAN-View and follow below steps * Click on ‘Connect’ from ‘CAN’ menu (as shown in below figure) * Popped up window shall show connected PCAN hardware. Select that device. * Tick in the checkbox shown next to ‘Data Bit rate’ * This will enable Bit * Select ‘Nominal Bit Rate’ as ‘1 MBits/s’ * Select ‘Data Bit Rate’ as ‘5 MBits/s’ * Bit rates may vary from use-case to use-case. * Click on Ok button. .. Image:: ../images/pcan_view_device_selection.png :height: 500px :width: 500px :scale: 50 % :alt: can-to-eth data flow :align: center * Create and send message at period of 2sec * Click on ‘New Message’ under ‘Transmit’ menu * Tick the check box present next to ‘CAN FD’ * Tick the check box present next to ‘Bit Rate Switch’ * Give below parameters /inputs: * ID as hex ‘004’ * Length as ‘64’ * Cycle Time as ‘2000’ * Data: as use-case needs .. Image:: ../images/CanEth_PCANViewTransmitMessageConfig.png :height: 500px :width: 600px :scale: 50 % :alt: can-to-eth data flow :align: center hÚjV–häj€‘hæj†”hè}r\–(hê]hë]hì]hí]hð]uhòKúhô]r]–(j‰”)�r^–}r_–(hÙX PCAN Setup:r`–hÚjZ–häj€‘hæj�”hè}ra–(hê]hë]hì]hí]hð]uhòKúhô]rb–hýX PCAN Setup:rc–…�rd–}re–(hÙj`–hÚj^–ubaubj“”)�rf–}rg–(hÙUhè}rh–(hê]hë]hì]hí]hð]uhÚjZ–hô]ri–jQ)�rj–}rk–(hÙUhè}rl–(jVX*hí]hì]hê]hë]hð]uhÚjf–hô]rm–(jX)�rn–}ro–(hÙX±Once driver is installed, connect PCAN to PC. It should be auto detected as ‘PCAN-USB FD’ in ‘Device Manager’. If it is not auto detected then re-install the PCAN driverrp–hè}rq–(hê]hë]hì]hí]hð]uhÚjj–hô]rr–j/)�rs–}rt–(hÙjp–hÚjn–häj€‘hæj3hè}ru–(hê]hë]hì]hí]hð]uhòKÙhô]rv–hýX±Once driver is installed, connect PCAN to PC. It should be auto detected as ‘PCAN-USB FD’ in ‘Device Manager’. If it is not auto detected then re-install the PCAN driverrw–…�rx–}ry–(hÙjp–hÚjs–ubaubahæj[ubjX)�rz–}r{–(hÙX#Once it is detected in Device Manager, open PCAN-View and follow below steps * Click on ‘Connect’ from ‘CAN’ menu (as shown in below figure) * Popped up window shall show connected PCAN hardware. Select that device. * Tick in the checkbox shown next to ‘Data Bit rate’ * This will enable Bit * Select ‘Nominal Bit Rate’ as ‘1 MBits/s’ * Select ‘Data Bit Rate’ as ‘5 MBits/s’ * Bit rates may vary from use-case to use-case. * Click on Ok button. .. Image:: ../images/pcan_view_device_selection.png :height: 500px :width: 500px :scale: 50 % :alt: can-to-eth data flow :align: center * Create and send message at period of 2sec * Click on ‘New Message’ under ‘Transmit’ menu * Tick the check box present next to ‘CAN FD’ * Tick the check box present next to ‘Bit Rate Switch’ * Give below parameters /inputs: * ID as hex ‘004’ * Length as ‘64’ * Cycle Time as ‘2000’ * Data: as use-case needs .. Image:: ../images/CanEth_PCANViewTransmitMessageConfig.png :height: 500px :width: 600px :scale: 50 % :alt: can-to-eth data flow :align: center hè}r|–(hê]hë]hì]hí]hð]uhÚjj–hô]r}–j~”)�r~–}r–(hÙUhè}r€–(hê]hë]hì]hí]hð]uhÚjz–hô]r�–jƒ”)�r‚–}rƒ–(hÙXéOnce it is detected in Device Manager, open PCAN-View and follow below steps * Click on ‘Connect’ from ‘CAN’ menu (as shown in below figure) * Popped up window shall show connected PCAN hardware. Select that device. * Tick in the checkbox shown next to ‘Data Bit rate’ * This will enable Bit * Select ‘Nominal Bit Rate’ as ‘1 MBits/s’ * Select ‘Data Bit Rate’ as ‘5 MBits/s’ * Bit rates may vary from use-case to use-case. * Click on Ok button. .. Image:: ../images/pcan_view_device_selection.png :height: 500px :width: 500px :scale: 50 % :alt: can-to-eth data flow :align: center * Create and send message at period of 2sec * Click on ‘New Message’ under ‘Transmit’ menu * Tick the check box present next to ‘CAN FD’ * Tick the check box present next to ‘Bit Rate Switch’ * Give below parameters /inputs: * ID as hex ‘004’ * Length as ‘64’ * Cycle Time as ‘2000’ * Data: as use-case needs .. Image:: ../images/CanEth_PCANViewTransmitMessageConfig.png :height: 500px :width: 600px :scale: 50 % :alt: can-to-eth data flow :align: center hÚj~–häj€‘hæj†”hè}r„–(hê]hë]hì]hí]hð]uhòKúhô]r…–(j‰”)�r†–}r‡–(hÙXLOnce it is detected in Device Manager, open PCAN-View and follow below stepsrˆ–hÚj‚–häj€‘hæj�”hè}r‰–(hê]hë]hì]hí]hð]uhòKúhô]rŠ–hýXLOnce it is detected in Device Manager, open PCAN-View and follow below stepsr‹–…�rŒ–}r�–(hÙjˆ–hÚj†–ubaubj“”)�rŽ–}r�–(hÙUhè}r�–(hê]hë]hì]hí]hð]uhÚj‚–hô]r‘–jQ)�r’–}r“–(hÙUhè}r”–(jVX*hí]hì]hê]hë]hð]uhÚjŽ–hô]r•–(jX)�r––}r—–(hÙXDClick on ‘Connect’ from ‘CAN’ menu (as shown in below figure) * Popped up window shall show connected PCAN hardware. Select that device. * Tick in the checkbox shown next to ‘Data Bit rate’ * This will enable Bit * Select ‘Nominal Bit Rate’ as ‘1 MBits/s’ * Select ‘Data Bit Rate’ as ‘5 MBits/s’ * Bit rates may vary from use-case to use-case. * Click on Ok button. .. Image:: ../images/pcan_view_device_selection.png :height: 500px :width: 500px :scale: 50 % :alt: can-to-eth data flow :align: center hè}r˜–(hê]hë]hì]hí]hð]uhÚj’–hô]r™–j~”)�rš–}r›–(hÙUhè}rœ–(hê]hë]hì]hí]hð]uhÚj––hô]r�–jƒ”)�rž–}rŸ–(hÙX*Click on ‘Connect’ from ‘CAN’ menu (as shown in below figure) * Popped up window shall show connected PCAN hardware. Select that device. * Tick in the checkbox shown next to ‘Data Bit rate’ * This will enable Bit * Select ‘Nominal Bit Rate’ as ‘1 MBits/s’ * Select ‘Data Bit Rate’ as ‘5 MBits/s’ * Bit rates may vary from use-case to use-case. * Click on Ok button. .. Image:: ../images/pcan_view_device_selection.png :height: 500px :width: 500px :scale: 50 % :alt: can-to-eth data flow :align: center hÚjš–häj€‘hæj†”hè}r –(hê]hë]hì]hí]hð]uhòKéhô]r¡–(j‰”)�r¢–}r£–(hÙXEClick on ‘Connect’ from ‘CAN’ menu (as shown in below figure)r¤–hÚjž–häj€‘hæj�”hè}r¥–(hê]hë]hì]hí]hð]uhòKéhô]r¦–hýXEClick on ‘Connect’ from ‘CAN’ menu (as shown in below figure)r§–…�r¨–}r©–(hÙj¤–hÚj¢–ubaubj“”)�rª–}r«–(hÙUhè}r¬–(hê]hë]hì]hí]hð]uhÚjž–hô]r­–(jQ)�r®–}r¯–(hÙUhè}r°–(jVX*hí]hì]hê]hë]hð]uhÚjª–hô]r±–(jX)�r²–}r³–(hÙXHPopped up window shall show connected PCAN hardware. Select that device.r´–hè}rµ–(hê]hë]hì]hí]hð]uhÚj®–hô]r¶–j/)�r·–}r¸–(hÙj´–hÚj²–häj€‘hæj3hè}r¹–(hê]hë]hì]hí]hð]uhòKÜhô]rº–hýXHPopped up window shall show connected PCAN hardware. Select that device.r»–…�r¼–}r½–(hÙj´–hÚj·–ubaubahæj[ubjX)�r¾–}r¿–(hÙXOTick in the checkbox shown next to ‘Data Bit rate’ * This will enable Bithè}rÀ–(hê]hë]hì]hí]hð]uhÚj®–hô]rÁ–j~”)�r–}rÖ(hÙUhè}rÄ–(hê]hë]hì]hí]hð]uhÚj¾–hô]rÅ–jƒ”)�rÆ–}rÇ–(hÙXMTick in the checkbox shown next to ‘Data Bit rate’ * This will enable BithÚj–häj€‘hæj†”hè}rÈ–(hê]hë]hì]hí]hð]uhòKÝhô]rÉ–(j‰”)�rÊ–}rË–(hÙX6Tick in the checkbox shown next to ‘Data Bit rate’rÌ–hÚjÆ–häj€‘hæj�”hè}rÍ–(hê]hë]hì]hí]hð]uhòKÝhô]rΖhýX6Tick in the checkbox shown next to ‘Data Bit rate’rÏ–…�rЖ}rÑ–(hÙjÌ–hÚjÊ–ubaubj“”)�rÒ–}rÓ–(hÙUhè}rÔ–(hê]hë]hì]hí]hð]uhÚjÆ–hô]rÕ–jQ)�rÖ–}r×–(hÙUhè}rØ–(jVX*hí]hì]hê]hë]hð]uhÚjÒ–hô]rÙ–jX)�rÚ–}rÛ–(hÙXThis will enable BitrÜ–hè}rÝ–(hê]hë]hì]hí]hð]uhÚjÖ–hô]rÞ–j/)�rß–}rà–(hÙjÜ–hÚjÚ–häj€‘hæj3hè}rá–(hê]hë]hì]hí]hð]uhòKÞhô]râ–hýXThis will enable Bitrã–…�rä–}rå–(hÙjÜ–hÚjß–ubaubahæj[ubahæjTubahæj×”ubeubahæjØ”ubahæj[ubjX)�ræ–}rç–(hÙX0Select ‘Nominal Bit Rate’ as ‘1 MBits/s’rè–hè}ré–(hê]hë]hì]hí]hð]uhÚj®–hô]rê–j/)�rë–}rì–(hÙjè–hÚjæ–häj€‘hæj3hè}rí–(hê]hë]hì]hí]hð]uhòKßhô]rî–hýX0Select ‘Nominal Bit Rate’ as ‘1 MBits/s’rï–…�rð–}rñ–(hÙjè–hÚjë–ubaubahæj[ubjX)�rò–}ró–(hÙX_Select ‘Data Bit Rate’ as ‘5 MBits/s’ * Bit rates may vary from use-case to use-case.hè}rô–(hê]hë]hì]hí]hð]uhÚj®–hô]rõ–j~”)�rö–}r÷–(hÙUhè}rø–(hê]hë]hì]hí]hð]uhÚjò–hô]rù–jƒ”)�rú–}rû–(hÙX]Select ‘Data Bit Rate’ as ‘5 MBits/s’ * Bit rates may vary from use-case to use-case.hÚjö–häj€‘hæj†”hè}rü–(hê]hë]hì]hí]hð]uhòKàhô]rý–(j‰”)�rþ–}rÿ–(hÙX-Select ‘Data Bit Rate’ as ‘5 MBits/s’r—hÚjú–häj€‘hæj�”hè}r—(hê]hë]hì]hí]hð]uhòKàhô]r—hýX-Select ‘Data Bit Rate’ as ‘5 MBits/s’r—…�r—}r—(hÙj—hÚjþ–ubaubj“”)�r—}r—(hÙUhè}r—(hê]hë]hì]hí]hð]uhÚjú–hô]r —jQ)�r —}r —(hÙUhè}r —(jVX*hí]hì]hê]hë]hð]uhÚj—hô]r —jX)�r—}r—(hÙX-Bit rates may vary from use-case to use-case.r—hè}r—(hê]hë]hì]hí]hð]uhÚj —hô]r—j/)�r—}r—(hÙj—hÚj—häj€‘hæj3hè}r—(hê]hë]hì]hí]hð]uhòKáhô]r—hýX-Bit rates may vary from use-case to use-case.r—…�r—}r—(hÙj—hÚj—ubaubahæj[ubahæjTubahæj×”ubeubahæjØ”ubahæj[ubjX)�r—}r—(hÙXClick on Ok button. hè}r—(hê]hë]hì]hí]hð]uhÚj®–hô]r—j/)�r—}r—(hÙXClick on Ok button.r —hÚj—häj€‘hæj3hè}r!—(hê]hë]hì]hí]hð]uhòKâhô]r"—hýXClick on Ok button.r#—…�r$—}r%—(hÙj —hÚj—ubaubahæj[ubehæjTubj)�r&—}r'—(hÙX—.. Image:: ../images/pcan_view_device_selection.png :height: 500px :width: 500px :scale: 50 % :alt: can-to-eth data flow :align: center hè}r(—(UscaleK2UwidthX500pxUalignXcenterUuriX-rtos/../images/pcan_view_device_selection.pngr)—hí]hì]hê]hë]j}r*—U*j)—shð]Ualtj Xcan-to-eth data flowr+—…�r,—}r-—bUheightX500pxuhÚjª–hô]hæjubehæj×”ubeubahæjØ”ubahæj[ubjX)�r.—}r/—(hÙXCreate and send message at period of 2sec * Click on ‘New Message’ under ‘Transmit’ menu * Tick the check box present next to ‘CAN FD’ * Tick the check box present next to ‘Bit Rate Switch’ * Give below parameters /inputs: * ID as hex ‘004’ * Length as ‘64’ * Cycle Time as ‘2000’ * Data: as use-case needs .. Image:: ../images/CanEth_PCANViewTransmitMessageConfig.png :height: 500px :width: 600px :scale: 50 % :alt: can-to-eth data flow :align: center hè}r0—(hê]hë]hì]hí]hð]uhÚj’–hô]r1—j~”)�r2—}r3—(hÙUhè}r4—(hê]hë]hì]hí]hð]uhÚj.—hô]r5—jƒ”)�r6—}r7—(hÙXCreate and send message at period of 2sec * Click on ‘New Message’ under ‘Transmit’ menu * Tick the check box present next to ‘CAN FD’ * Tick the check box present next to ‘Bit Rate Switch’ * Give below parameters /inputs: * ID as hex ‘004’ * Length as ‘64’ * Cycle Time as ‘2000’ * Data: as use-case needs .. Image:: ../images/CanEth_PCANViewTransmitMessageConfig.png :height: 500px :width: 600px :scale: 50 % :alt: can-to-eth data flow :align: center hÚj2—häj€‘hæj†”hè}r8—(hê]hë]hì]hí]hð]uhòKúhô]r9—(j‰”)�r:—}r;—(hÙX)Create and send message at period of 2secr<—hÚj6—häj€‘hæj�”hè}r=—(hê]hë]hì]hí]hð]uhòKúhô]r>—hýX)Create and send message at period of 2secr?—…�r@—}rA—(hÙj<—hÚj:—ubaubj“”)�rB—}rC—(hÙUhè}rD—(hê]hë]hì]hí]hð]uhÚj6—hô]rE—(jQ)�rF—}rG—(hÙUhè}rH—(jVX*hí]hì]hê]hë]hð]uhÚjB—hô]rI—(jX)�rJ—}rK—(hÙX4Click on ‘New Message’ under ‘Transmit’ menurL—hè}rM—(hê]hë]hì]hí]hð]uhÚjF—hô]rN—j/)�rO—}rP—(hÙjL—hÚjJ—häj€‘hæj3hè}rQ—(hê]hë]hì]hí]hð]uhòKìhô]rR—hýX4Click on ‘New Message’ under ‘Transmit’ menurS—…�rT—}rU—(hÙjL—hÚjO—ubaubahæj[ubjX)�rV—}rW—(hÙX/Tick the check box present next to ‘CAN FD’rX—hè}rY—(hê]hë]hì]hí]hð]uhÚjF—hô]rZ—j/)�r[—}r\—(hÙjX—hÚjV—häj€‘hæj3hè}r]—(hê]hë]hì]hí]hð]uhòKíhô]r^—hýX/Tick the check box present next to ‘CAN FD’r_—…�r`—}ra—(hÙjX—hÚj[—ubaubahæj[ubjX)�rb—}rc—(hÙX8Tick the check box present next to ‘Bit Rate Switch’rd—hè}re—(hê]hë]hì]hí]hð]uhÚjF—hô]rf—j/)�rg—}rh—(hÙjd—hÚjb—häj€‘hæj3hè}ri—(hê]hë]hì]hí]hð]uhòKîhô]rj—hýX8Tick the check box present next to ‘Bit Rate Switch’rk—…�rl—}rm—(hÙjd—hÚjg—ubaubahæj[ubjX)�rn—}ro—(hÙX‡Give below parameters /inputs: * ID as hex ‘004’ * Length as ‘64’ * Cycle Time as ‘2000’ * Data: as use-case needs hè}rp—(hê]hë]hì]hí]hð]uhÚjF—hô]rq—j~”)�rr—}rs—(hÙUhè}rt—(hê]hë]hì]hí]hð]uhÚjn—hô]ru—jƒ”)�rv—}rw—(hÙXGive below parameters /inputs: * ID as hex ‘004’ * Length as ‘64’ * Cycle Time as ‘2000’ * Data: as use-case needs hÚjr—häj€‘hæj†”hè}rx—(hê]hë]hì]hí]hð]uhòKóhô]ry—(j‰”)�rz—}r{—(hÙXGive below parameters /inputs:r|—hÚjv—häj€‘hæj�”hè}r}—(hê]hë]hì]hí]hð]uhòKóhô]r~—hýXGive below parameters /inputs:r—…�r€—}r�—(hÙj|—hÚjz—ubaubj“”)�r‚—}rƒ—(hÙUhè}r„—(hê]hë]hì]hí]hð]uhÚjv—hô]r…—jQ)�r†—}r‡—(hÙUhè}rˆ—(jVX*hí]hì]hê]hë]hð]uhÚj‚—hô]r‰—(jX)�rŠ—}r‹—(hÙXID as hex ‘004’rŒ—hè}r�—(hê]hë]hì]hí]hð]uhÚj†—hô]rŽ—j/)�r�—}r�—(hÙjŒ—hÚjŠ—häj€‘hæj3hè}r‘—(hê]hë]hì]hí]hð]uhòKðhô]r’—hýXID as hex ‘004’r“—…�r”—}r•—(hÙjŒ—hÚj�—ubaubahæj[ubjX)�r–—}r——(hÙXLength as ‘64’r˜—hè}r™—(hê]hë]hì]hí]hð]uhÚj†—hô]rš—j/)�r›—}rœ—(hÙj˜—hÚj–—häj€‘hæj3hè}r�—(hê]hë]hì]hí]hð]uhòKñhô]rž—hýXLength as ‘64’rŸ—…�r —}r¡—(hÙj˜—hÚj›—ubaubahæj[ubjX)�r¢—}r£—(hÙXCycle Time as ‘2000’r¤—hè}r¥—(hê]hë]hì]hí]hð]uhÚj†—hô]r¦—j/)�r§—}r¨—(hÙj¤—hÚj¢—häj€‘hæj3hè}r©—(hê]hë]hì]hí]hð]uhòKòhô]rª—hýXCycle Time as ‘2000’r«—…�r¬—}r­—(hÙj¤—hÚj§—ubaubahæj[ubjX)�r®—}r¯—(hÙXData: as use-case needs hè}r°—(hê]hë]hì]hí]hð]uhÚj†—hô]r±—j/)�r²—}r³—(hÙXData: as use-case needsr´—hÚj®—häj€‘hæj3hè}rµ—(hê]hë]hì]hí]hð]uhòKóhô]r¶—hýXData: as use-case needsr·—…�r¸—}r¹—(hÙj´—hÚj²—ubaubahæj[ubehæjTubahæj×”ubeubahæjØ”ubahæj[ubehæjTubj)�rº—}r»—(hÙX¡.. Image:: ../images/CanEth_PCANViewTransmitMessageConfig.png :height: 500px :width: 600px :scale: 50 % :alt: can-to-eth data flow :align: center hè}r¼—(UscaleK2UwidthX600pxUalignXcenterUuriX7rtos/../images/CanEth_PCANViewTransmitMessageConfig.pngr½—hí]hì]hê]hë]j}r¾—U*j½—shð]Ualtj Xcan-to-eth data flowr¿—…�rÀ—}rÁ—bUheightX500pxuhÚjB—hô]hæjubehæj×”ubeubahæjØ”ubahæj[ubehæjTubahæj×”ubeubahæjØ”ubahæj[ubehæjTubahæj×”ubeubahæjØ”ubaubjX)�r—}r×(hÙX¡Creating Bit Rate Configurations: * Example for creating 5 Mbps bit rate configuration for ‘Data Bit Rate’(shown in below diagram) * Click on ‘Connect’ under ‘CAN’ menu * Tick in the checkbox shown next to ‘Data Bit rate’ * Click on Play button present below ‘Data Bit rate’ and then ‘Manage Bit rates’ * Click on ‘Data’ in newly popped window * Select clock frequency as 80 MHz * Click on ‘Add’ button * Give caption as ‘5 MBits/s’ * Program ‘Prescalar’, ‘tseg1’, ‘tseg2’, ‘Sync Jump Width’ as ‘1’, ‘12’, ‘3’, ‘1’ respectively. * Bit Rate text box shall show ‘5 Mbit/s’ after programming above values. * Click on ‘Ok’ and then again on ‘Ok’ .. Image:: ../images/CanEth_PCANViewBitRateConfig.png :height: 500px :width: 800px :scale: 50 % :alt: can-to-eth data flow :align: center hÚjN–häNhæj[hè}rÄ—(hê]hë]hì]hí]hð]uhòNhóhhô]rÅ—j~”)�rÆ—}rÇ—(hÙUhè}rÈ—(hê]hë]hì]hí]hð]uhÚj—hô]rÉ—jƒ”)�rÊ—}rË—(hÙX�Creating Bit Rate Configurations: * Example for creating 5 Mbps bit rate configuration for ‘Data Bit Rate’(shown in below diagram) * Click on ‘Connect’ under ‘CAN’ menu * Tick in the checkbox shown next to ‘Data Bit rate’ * Click on Play button present below ‘Data Bit rate’ and then ‘Manage Bit rates’ * Click on ‘Data’ in newly popped window * Select clock frequency as 80 MHz * Click on ‘Add’ button * Give caption as ‘5 MBits/s’ * Program ‘Prescalar’, ‘tseg1’, ‘tseg2’, ‘Sync Jump Width’ as ‘1’, ‘12’, ‘3’, ‘1’ respectively. * Bit Rate text box shall show ‘5 Mbit/s’ after programming above values. * Click on ‘Ok’ and then again on ‘Ok’ .. Image:: ../images/CanEth_PCANViewBitRateConfig.png :height: 500px :width: 800px :scale: 50 % :alt: can-to-eth data flow :align: center hÚjÆ—häj€‘hæj†”hè}rÌ—(hê]hë]hì]hí]hð]uhòMhô]rÍ—(j‰”)�rΗ}rÏ—(hÙX!Creating Bit Rate Configurations:rЗhÚjÊ—häj€‘hæj�”hè}rÑ—(hê]hë]hì]hí]hð]uhòMhô]rÒ—hýX!Creating Bit Rate Configurations:rÓ—…�rÔ—}rÕ—(hÙjЗhÚjΗubaubj“”)�rÖ—}r×—(hÙUhè}rØ—(hê]hë]hì]hí]hð]uhÚjÊ—hô]rÙ—(jQ)�rÚ—}rÛ—(hÙUhè}rÜ—(jVX*hí]hì]hê]hë]hð]uhÚjÖ—hô]rÝ—jX)�rÞ—}rß—(hÙXÂExample for creating 5 Mbps bit rate configuration for ‘Data Bit Rate’(shown in below diagram) * Click on ‘Connect’ under ‘CAN’ menu * Tick in the checkbox shown next to ‘Data Bit rate’ * Click on Play button present below ‘Data Bit rate’ and then ‘Manage Bit rates’ * Click on ‘Data’ in newly popped window * Select clock frequency as 80 MHz * Click on ‘Add’ button * Give caption as ‘5 MBits/s’ * Program ‘Prescalar’, ‘tseg1’, ‘tseg2’, ‘Sync Jump Width’ as ‘1’, ‘12’, ‘3’, ‘1’ respectively. * Bit Rate text box shall show ‘5 Mbit/s’ after programming above values. * Click on ‘Ok’ and then again on ‘Ok’ hè}rà—(hê]hë]hì]hí]hð]uhÚjÚ—hô]rá—j~”)�râ—}rã—(hÙUhè}rä—(hê]hë]hì]hí]hð]uhÚjÞ—hô]rå—jƒ”)�ræ—}rç—(hÙX®Example for creating 5 Mbps bit rate configuration for ‘Data Bit Rate’(shown in below diagram) * Click on ‘Connect’ under ‘CAN’ menu * Tick in the checkbox shown next to ‘Data Bit rate’ * Click on Play button present below ‘Data Bit rate’ and then ‘Manage Bit rates’ * Click on ‘Data’ in newly popped window * Select clock frequency as 80 MHz * Click on ‘Add’ button * Give caption as ‘5 MBits/s’ * Program ‘Prescalar’, ‘tseg1’, ‘tseg2’, ‘Sync Jump Width’ as ‘1’, ‘12’, ‘3’, ‘1’ respectively. * Bit Rate text box shall show ‘5 Mbit/s’ after programming above values. * Click on ‘Ok’ and then again on ‘Ok’ hÚjâ—häj€‘hæj†”hè}rè—(hê]hë]hì]hí]hð]uhòMhô]ré—(j‰”)�rê—}rë—(hÙXbExample for creating 5 Mbps bit rate configuration for ‘Data Bit Rate’(shown in below diagram)rì—hÚjæ—häj€‘hæj�”hè}rí—(hê]hë]hì]hí]hð]uhòMhô]rî—hýXbExample for creating 5 Mbps bit rate configuration for ‘Data Bit Rate’(shown in below diagram)rï—…�rð—}rñ—(hÙjì—hÚjê—ubaubj“”)�rò—}ró—(hÙUhè}rô—(hê]hë]hì]hí]hð]uhÚjæ—hô]rõ—jQ)�rö—}r÷—(hÙUhè}rø—(jVX*hí]hì]hê]hë]hð]uhÚjò—hô]rù—(jX)�rú—}rû—(hÙX+Click on ‘Connect’ under ‘CAN’ menurü—hè}rý—(hê]hë]hì]hí]hð]uhÚjö—hô]rþ—j/)�rÿ—}r˜(hÙjü—hÚjú—häj€‘hæj3hè}r˜(hê]hë]hì]hí]hð]uhòKþhô]r˜hýX+Click on ‘Connect’ under ‘CAN’ menur˜…�r˜}r˜(hÙjü—hÚjÿ—ubaubahæj[ubjX)�r˜}r˜(hÙX6Tick in the checkbox shown next to ‘Data Bit rate’r˜hè}r ˜(hê]hë]hì]hí]hð]uhÚjö—hô]r ˜j/)�r ˜}r ˜(hÙj˜hÚj˜häj€‘hæj3hè}r ˜(hê]hë]hì]hí]hð]uhòKÿhô]r˜hýX6Tick in the checkbox shown next to ‘Data Bit rate’r˜…�r˜}r˜(hÙj˜hÚj ˜ubaubahæj[ubjX)�r˜}r˜(hÙXVClick on Play button present below ‘Data Bit rate’ and then ‘Manage Bit rates’r˜hè}r˜(hê]hë]hì]hí]hð]uhÚjö—hô]r˜j/)�r˜}r˜(hÙj˜hÚj˜häj€‘hæj3hè}r˜(hê]hë]hì]hí]hð]uhòMhô]r˜hýXVClick on Play button present below ‘Data Bit rate’ and then ‘Manage Bit rates’r˜…�r˜}r˜(hÙj˜hÚj˜ubaubahæj[ubjX)�r˜}r˜(hÙX*Click on ‘Data’ in newly popped windowr ˜hè}r!˜(hê]hë]hì]hí]hð]uhÚjö—hô]r"˜j/)�r#˜}r$˜(hÙj ˜hÚj˜häj€‘hæj3hè}r%˜(hê]hë]hì]hí]hð]uhòMhô]r&˜hýX*Click on ‘Data’ in newly popped windowr'˜…�r(˜}r)˜(hÙj ˜hÚj#˜ubaubahæj[ubjX)�r*˜}r+˜(hÙX Select clock frequency as 80 MHzr,˜hè}r-˜(hê]hë]hì]hí]hð]uhÚjö—hô]r.˜j/)�r/˜}r0˜(hÙj,˜hÚj*˜häj€‘hæj3hè}r1˜(hê]hë]hì]hí]hð]uhòMhô]r2˜hýX Select clock frequency as 80 MHzr3˜…�r4˜}r5˜(hÙj,˜hÚj/˜ubaubahæj[ubjX)�r6˜}r7˜(hÙXClick on ‘Add’ buttonr8˜hè}r9˜(hê]hë]hì]hí]hð]uhÚjö—hô]r:˜j/)�r;˜}r<˜(hÙj8˜hÚj6˜häj€‘hæj3hè}r=˜(hê]hë]hì]hí]hð]uhòMhô]r>˜hýXClick on ‘Add’ buttonr?˜…�r@˜}rA˜(hÙj8˜hÚj;˜ubaubahæj[ubjX)�rB˜}rC˜(hÙXGive caption as ‘5 MBits/s’rD˜hè}rE˜(hê]hë]hì]hí]hð]uhÚjö—hô]rF˜j/)�rG˜}rH˜(hÙjD˜hÚjB˜häj€‘hæj3hè}rI˜(hê]hë]hì]hí]hð]uhòMhô]rJ˜hýXGive caption as ‘5 MBits/s’rK˜…�rL˜}rM˜(hÙjD˜hÚjG˜ubaubahæj[ubjX)�rN˜}rO˜(hÙX}Program ‘Prescalar’, ‘tseg1’, ‘tseg2’, ‘Sync Jump Width’ as ‘1’, ‘12’, ‘3’, ‘1’ respectively.rP˜hè}rQ˜(hê]hë]hì]hí]hð]uhÚjö—hô]rR˜j/)�rS˜}rT˜(hÙjP˜hÚjN˜häj€‘hæj3hè}rU˜(hê]hë]hì]hí]hð]uhòMhô]rV˜hýX}Program ‘Prescalar’, ‘tseg1’, ‘tseg2’, ‘Sync Jump Width’ as ‘1’, ‘12’, ‘3’, ‘1’ respectively.rW˜…�rX˜}rY˜(hÙjP˜hÚjS˜ubaubahæj[ubjX)�rZ˜}r[˜(hÙXKBit Rate text box shall show ‘5 Mbit/s’ after programming above values.r\˜hè}r]˜(hê]hë]hì]hí]hð]uhÚjö—hô]r^˜j/)�r_˜}r`˜(hÙj\˜hÚjZ˜häj€‘hæj3hè}ra˜(hê]hë]hì]hí]hð]uhòMhô]rb˜hýXKBit Rate text box shall show ‘5 Mbit/s’ after programming above values.rc˜…�rd˜}re˜(hÙj\˜hÚj_˜ubaubahæj[ubjX)�rf˜}rg˜(hÙX-Click on ‘Ok’ and then again on ‘Ok’ hè}rh˜(hê]hë]hì]hí]hð]uhÚjö—hô]ri˜j/)�rj˜}rk˜(hÙX,Click on ‘Ok’ and then again on ‘Ok’rl˜hÚjf˜häj€‘hæj3hè}rm˜(hê]hë]hì]hí]hð]uhòMhô]rn˜hýX,Click on ‘Ok’ and then again on ‘Ok’ro˜…�rp˜}rq˜(hÙjl˜hÚjj˜ubaubahæj[ubehæjTubahæj×”ubeubahæjØ”ubahæj[ubahæjTubj)�rr˜}rs˜(hÙX•.. Image:: ../images/CanEth_PCANViewBitRateConfig.png :height: 500px :width: 800px :scale: 50 % :alt: can-to-eth data flow :align: center hè}rt˜(UscaleK2UwidthX800pxUalignXcenterUuriX/rtos/../images/CanEth_PCANViewBitRateConfig.pngru˜hí]hì]hê]hë]j}rv˜U*ju˜shð]Ualtj Xcan-to-eth data flowrw˜…�rx˜}ry˜bUheightX500pxuhÚjÖ—hô]hæjubehæj×”ubeubahæjØ”ubaubjX)�rz˜}r{˜(hÙXñCAN Bus Connections: * CAN_H of all the nodes on the bus shall be connected together * Similarly CAN_L of all the nodes on the bus shall be connected together * Please refer to ‘PCAN-USB FD manual’ for more details about connections. hÚjN–häNhæj[hè}r|˜(hê]hë]hì]hí]hð]uhòNhóhhô]r}˜j~”)�r~˜}r˜(hÙUhè}r€˜(hê]hë]hì]hí]hð]uhÚjz˜hô]r�˜jƒ”)�r‚˜}rƒ˜(hÙXîCAN Bus Connections: * CAN_H of all the nodes on the bus shall be connected together * Similarly CAN_L of all the nodes on the bus shall be connected together * Please refer to ‘PCAN-USB FD manual’ for more details about connections. hÚj~˜häj€‘hæj†”hè}r„˜(hê]hë]hì]hí]hð]uhòMhô]r…˜(j‰”)�r†˜}r‡˜(hÙXCAN Bus Connections:rˆ˜hÚj‚˜häj€‘hæj�”hè}r‰˜(hê]hë]hì]hí]hð]uhòMhô]rŠ˜hýXCAN Bus Connections:r‹˜…�rŒ˜}r�˜(hÙjˆ˜hÚj†˜ubaubj“”)�rŽ˜}r�˜(hÙUhè}r�˜(hê]hë]hì]hí]hð]uhÚj‚˜hô]r‘˜jQ)�r’˜}r“˜(hÙUhè}r”˜(jVX*hí]hì]hê]hë]hð]uhÚjŽ˜hô]r•˜(jX)�r–˜}r—˜(hÙX=CAN_H of all the nodes on the bus shall be connected togetherr˜˜hè}r™˜(hê]hë]hì]hí]hð]uhÚj’˜hô]rš˜j/)�r›˜}rœ˜(hÙj˜˜hÚj–˜häj€‘hæj3hè}r�˜(hê]hë]hì]hí]hð]uhòMhô]rž˜hýX=CAN_H of all the nodes on the bus shall be connected togetherrŸ˜…�r ˜}r¡˜(hÙj˜˜hÚj›˜ubaubahæj[ubjX)�r¢˜}r£˜(hÙXGSimilarly CAN_L of all the nodes on the bus shall be connected togetherr¤˜hè}r¥˜(hê]hë]hì]hí]hð]uhÚj’˜hô]r¦˜j/)�r§˜}r¨˜(hÙj¤˜hÚj¢˜häj€‘hæj3hè}r©˜(hê]hë]hì]hí]hð]uhòMhô]rª˜hýXGSimilarly CAN_L of all the nodes on the bus shall be connected togetherr«˜…�r¬˜}r­˜(hÙj¤˜hÚj§˜ubaubahæj[ubjX)�r®˜}r¯˜(hÙXMPlease refer to ‘PCAN-USB FD manual’ for more details about connections. hè}r°˜(hê]hë]hì]hí]hð]uhÚj’˜hô]r±˜j/)�r²˜}r³˜(hÙXLPlease refer to ‘PCAN-USB FD manual’ for more details about connections.r´˜hÚj®˜häj€‘hæj3hè}rµ˜(hê]hë]hì]hí]hð]uhòMhô]r¶˜hýXLPlease refer to ‘PCAN-USB FD manual’ for more details about connections.r·˜…�r¸˜}r¹˜(hÙj´˜hÚj²˜ubaubahæj[ubehæjTubahæj×”ubeubahæjØ”ubaubeubeubhÛ)�rº˜}r»˜(hÙUhÚjZ“häj€‘hæhçhè}r¼˜(hê]hë]hì]hí]r½˜Uload-and-run-the-demor¾˜ahð]r¿˜hÑauhòMhóhhô]rÀ˜(hö)�rÁ˜}r˜(hÙXLoad and run the demorØhÚjº˜häj€‘hæhúhè}rĘ(hê]hë]hì]hí]hð]uhòMhóhhô]rŘhýXLoad and run the demorƘ…�rǘ}rȘ(hÙjØhÚjÁ˜ubaubj¼)�rɘ}rʘ(hÙUhÚjº˜häj€‘hæj¿hè}r˘(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòMhóhhô]r̘(jX)�r͘}rΘ(hÙXFConnect the USB cable from your computer to the AM65xx_EVM's JTAG portrϘhÚjɘhäj€‘hæj[hè}rИ(hê]hë]hì]hí]hð]uhòNhóhhô]rјj/)�rÒ˜}rÓ˜(hÙjϘhÚj͘häj€‘hæj3hè}rÔ˜(hê]hë]hì]hí]hð]uhòMhô]rÕ˜hýXFConnect the USB cable from your computer to the AM65xx_EVM's JTAG portrÖ˜…�rט}rؘ(hÙjϘhÚjÒ˜ubaubaubjX)�rÙ˜}rÚ˜(hÙXoPower on the AM65xx_EVM board. Ensure that no boot mode is entered (do not have SD card loaded or QSPI flashed)hÚjɘhäj€‘hæj[hè}rÛ˜(hê]hë]hì]hí]hð]uhòNhóhhô]rܘj/)�rݘ}rÞ˜(hÙXoPower on the AM65xx_EVM board. Ensure that no boot mode is entered (do not have SD card loaded or QSPI flashed)rߘhÚjÙ˜häj€‘hæj3hè}rà˜(hê]hë]hì]hí]hð]uhòMhô]rá˜hýXoPower on the AM65xx_EVM board. Ensure that no boot mode is entered (do not have SD card loaded or QSPI flashed)r★�rã˜}rä˜(hÙjߘhÚjݘubaubaubjX)�rå˜}ræ˜(hÙX°Open up a serial terminal for UART communication (Refer to :ref:`Processor SDK RTOS Getting Started Guide `, setup EVM hardware)hÚjɘhäj€‘hæj[hè}rç˜(hê]hë]hì]hí]hð]uhòNhóhhô]rè˜j/)�ré˜}rê˜(hÙX°Open up a serial terminal for UART communication (Refer to :ref:`Processor SDK RTOS Getting Started Guide `, setup EVM hardware)hÚjå˜häj€‘hæj3hè}rë˜(hê]hë]hì]hí]hð]uhòMhô]rì˜(hýX;Open up a serial terminal for UART communication (Refer to r혅�rî˜}rï˜(hÙX;Open up a serial terminal for UART communication (Refer to hÚjé˜ubjZ)�rð˜}rñ˜(hÙX`:ref:`Processor SDK RTOS Getting Started Guide `rò˜hÚjé˜häj€‘hæj^hè}ró˜(UreftypeXrefj¢ ˆj£ X.processor-sdk-rtos-getting-started-guide-labelU refdomainXstdrô˜hí]hì]U refexplicitˆhê]hë]hð]j¤ j¥ uhòMhô]rõ˜jb)�rö˜}r÷˜(hÙjò˜hè}rø˜(hê]hë]rù˜(j­ jô˜Xstd-refrú˜ehì]hí]hð]uhÚjð˜hô]rû˜hýX(Processor SDK RTOS Getting Started Guiderü˜…�rý˜}rþ˜(hÙUhÚjö˜ubahæjlubaubhýX, setup EVM hardware)rÿ˜…�r™}r™(hÙX, setup EVM hardware)hÚjé˜ubeubaubjX)�r™}r™(hÙX¸Open CCS and launch target config file for AM65xx_EVM (Refer to `Processor SDK RTOS Setup CCS `__ for setting up CCS)hÚjɘhäj€‘hæj[hè}r™(hê]hë]hì]hí]hð]uhòNhóhhô]r™j/)�r™}r™(hÙX¸Open CCS and launch target config file for AM65xx_EVM (Refer to `Processor SDK RTOS Setup CCS `__ for setting up CCS)hÚj™häj€‘hæj3hè}r™(hê]hë]hì]hí]hð]uhòMhô]r ™(hýX@Open CCS and launch target config file for AM65xx_EVM (Refer to r ™…�r ™}r ™(hÙX@Open CCS and launch target config file for AM65xx_EVM (Refer to hÚj™ubj)�r ™}r™(hÙXd`Processor SDK RTOS Setup CCS `__hè}r™(UnameXProcessor SDK RTOS Setup CCSjXAindex_how_to_guides.html#setup-ccs-for-evm-and-processor-sdk-rtoshí]hì]hê]hë]hð]uhÚj™hô]r™hýXProcessor SDK RTOS Setup CCSr™…�r™}r™(hÙUhÚj ™ubahæjubhýX for setting up CCS)r™…�r™}r™(hÙX for setting up CCS)hÚj™ubeubaubjX)�r™}r™(hÙX!Connect to MCU_PULSAR_Cortex_R5_0r™hÚjɘhäj€‘hæj[hè}r™(hê]hë]hì]hí]hð]uhòNhóhhô]r™j/)�r™}r™(hÙj™hÚj™häj€‘hæj3hè}r™(hê]hë]hì]hí]hð]uhòM!hô]r™hýX!Connect to MCU_PULSAR_Cortex_R5_0r ™…�r!™}r"™(hÙj™hÚj™ubaubaubjX)�r#™}r$™(hÙX@Load the System firmware as specified in SCICLIENT documentationr%™hÚjɘhäj€‘hæj[hè}r&™(hê]hë]hì]hí]hð]uhòNhóhhô]r'™j/)�r(™}r)™(hÙj%™hÚj#™häj€‘hæj3hè}r*™(hê]hë]hì]hí]hð]uhòM"hô]r+™hýX@Load the System firmware as specified in SCICLIENT documentationr,™…�r-™}r.™(hÙj%™hÚj(™ubaubaubjX)�r/™}r0™(hÙX�Load and launch the demo executable: :: [PDK Install Path]/packages/ti/binary/gatewayapp/bin/am65xx_idk/gatewayapp_mcu1_0_release.xer5f hÚjɘhäj€‘hæj[hè}r1™(hê]hë]hì]hí]hð]uhòNhóhhô]r2™(j/)�r3™}r4™(hÙX$Load and launch the demo executable:r5™hÚj/™häj€‘hæj3hè}r6™(hê]hë]hì]hí]hð]uhòM#hô]r7™hýX$Load and launch the demo executable:r8™…�r9™}r:™(hÙj5™hÚj3™ubaubjž)�r;™}r<™(hÙUhè}r=™(hê]hë]hì]hí]hð]uhÚj/™hô]r>™jË)�r?™}r@™(hÙX_[PDK Install Path]/packages/ti/binary/gatewayapp/bin/am65xx_idk/gatewayapp_mcu1_0_release.xer5fhÚj;™hæjÎhè}rA™(jjhí]hì]hê]hë]hð]uhòMýhô]rB™hýX_[PDK Install Path]/packages/ti/binary/gatewayapp/bin/am65xx_idk/gatewayapp_mcu1_0_release.xer5frC™…�rD™}rE™(hÙUhÚj?™ubaubahæjªubeubjX)�rF™}rG™(hÙX�The application print will be displayed on the CCS and UART console. The UART console used depends on the core in which the application is run.rH™hÚjɘhäj€‘hæj[hè}rI™(hê]hë]hì]hí]hð]uhòNhóhhô]rJ™j/)�rK™}rL™(hÙjH™hÚjF™häj€‘hæj3hè}rM™(hê]hë]hì]hí]hð]uhòM)hô]rN™hýX�The application print will be displayed on the CCS and UART console. The UART console used depends on the core in which the application is run.rO™…�rP™}rQ™(hÙjH™hÚjK™ubaubaubjX)�rR™}rS™(hÙXDConfirm the network connectivity of PC with board. ping 192.168.1.4 hÚjɘhäj€‘hæj[hè}rT™(hê]hë]hì]hí]hð]uhòNhóhhô]rU™j/)�rV™}rW™(hÙXCConfirm the network connectivity of PC with board. ping 192.168.1.4rX™hÚjR™häj€‘hæj3hè}rY™(hê]hë]hì]hí]hð]uhòM*hô]rZ™hýXCConfirm the network connectivity of PC with board. ping 192.168.1.4r[™…�r\™}r]™(hÙjX™hÚjV™ubaubaubeubhÛ)�r^™}r_™(hÙUhÚjº˜häj€‘hæhçhè}r`™(hê]hë]hì]hí]ra™U can-to-ethrb™ahð]rc™h8auhòM.hóhhô]rd™(hö)�re™}rf™(hÙX CAN to ETHrg™hÚj^™häj€‘hæhúhè}rh™(hê]hë]hì]hí]hð]uhòM.hóhhô]ri™hýX CAN to ETHrj™…�rk™}rl™(hÙjg™hÚje™ubaubj¼)�rm™}rn™(hÙUhÚj^™häj€‘hæj¿hè}ro™(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòM/hóhhô]rp™(jX)�rq™}rr™(hÙXConnect the CAN PC tool.rs™hÚjm™häj€‘hæj[hè}rt™(hê]hë]hì]hí]hð]uhòNhóhhô]ru™j/)�rv™}rw™(hÙjs™hÚjq™häj€‘hæj3hè}rx™(hê]hë]hì]hí]hð]uhòM/hô]ry™hýXConnect the CAN PC tool.rz™…�r{™}r|™(hÙjs™hÚjv™ubaubaubjX)�r}™}r~™(hÙXYStart the Ethernet receive application :: ./eth_tx.exe[or eth_tx.out] 192.168.1.4 hÚjm™häj€‘hæj[hè}r™(hê]hë]hì]hí]hð]uhòNhóhhô]r€™(j/)�r�™}r‚™(hÙX&Start the Ethernet receive applicationrƒ™hÚj}™häj€‘hæj3hè}r„™(hê]hë]hì]hí]hð]uhòM0hô]r…™hýX&Start the Ethernet receive applicationr†™…�r‡™}rˆ™(hÙjƒ™hÚj�™ubaubjž)�r‰™}rŠ™(hÙUhè}r‹™(hê]hë]hì]hí]hð]uhÚj}™hô]rŒ™jË)�r�™}rŽ™(hÙX'./eth_tx.exe[or eth_tx.out] 192.168.1.4hÚj‰™hæjÎhè}r�™(jjhí]hì]hê]hë]hð]uhòM hô]r�™hýX'./eth_tx.exe[or eth_tx.out] 192.168.1.4r‘™…�r’™}r“™(hÙUhÚj�™ubaubahæjªubeubjX)�r”™}r•™(hÙX¸Start CAN message transmission from the CAN tool with below information * ID as hex ‘004’ * Length as ‘64’ * Cycle Time as ‘2000’ * Data can be any user specified data hÚjm™häNhæj[hè}r–™(hê]hë]hì]hí]hð]uhòNhóhhô]r—™j~”)�r˜™}r™™(hÙUhè}rš™(hê]hë]hì]hí]hð]uhÚj”™hô]r›™jƒ”)�rœ™}r�™(hÙX´Start CAN message transmission from the CAN tool with below information * ID as hex ‘004’ * Length as ‘64’ * Cycle Time as ‘2000’ * Data can be any user specified data hÚj˜™häj€‘hæj†”hè}rž™(hê]hë]hì]hí]hð]uhòM:hô]rŸ™(j‰”)�r ™}r¡™(hÙXGStart CAN message transmission from the CAN tool with below informationr¢™hÚjœ™häj€‘hæj�”hè}r£™(hê]hë]hì]hí]hð]uhòM:hô]r¤™hýXGStart CAN message transmission from the CAN tool with below informationr¥™…�r¦™}r§™(hÙj¢™hÚj ™ubaubj“”)�r¨™}r©™(hÙUhè}rª™(hê]hë]hì]hí]hð]uhÚjœ™hô]r«™jQ)�r¬™}r­™(hÙUhè}r®™(jVX*hí]hì]hê]hë]hð]uhÚj¨™hô]r¯™(jX)�r°™}r±™(hÙXID as hex ‘004’r²™hè}r³™(hê]hë]hì]hí]hð]uhÚj¬™hô]r´™j/)�rµ™}r¶™(hÙj²™hÚj°™häj€‘hæj3hè}r·™(hê]hë]hì]hí]hð]uhòM7hô]r¸™hýXID as hex ‘004’r¹™…�rº™}r»™(hÙj²™hÚjµ™ubaubahæj[ubjX)�r¼™}r½™(hÙXLength as ‘64’r¾™hè}r¿™(hê]hë]hì]hí]hð]uhÚj¬™hô]rÀ™j/)�rÁ™}r™(hÙj¾™hÚj¼™häj€‘hæj3hè}rÙ(hê]hë]hì]hí]hð]uhòM8hô]rÄ™hýXLength as ‘64’rÅ™…�rÆ™}rÇ™(hÙj¾™hÚjÁ™ubaubahæj[ubjX)�rÈ™}rÉ™(hÙXCycle Time as ‘2000’rÊ™hè}rË™(hê]hë]hì]hí]hð]uhÚj¬™hô]rÌ™j/)�rÍ™}rΙ(hÙjÊ™hÚjÈ™häj€‘hæj3hè}rÏ™(hê]hë]hì]hí]hð]uhòM9hô]rЙhýXCycle Time as ‘2000’rÑ™…�rÒ™}rÓ™(hÙjÊ™hÚjÍ™ubaubahæj[ubjX)�rÔ™}rÕ™(hÙX$Data can be any user specified data hè}rÖ™(hê]hë]hì]hí]hð]uhÚj¬™hô]r×™j/)�rØ™}rÙ™(hÙX#Data can be any user specified datarÚ™hÚjÔ™häj€‘hæj3hè}rÛ™(hê]hë]hì]hí]hð]uhòM:hô]rÜ™hýX#Data can be any user specified datarÝ™…�rÞ™}rß™(hÙjÚ™hÚjØ™ubaubahæj[ubehæjTubahæj×”ubeubahæjØ”ubaubeubeubhÛ)�rà™}rá™(hÙUhÚjº˜häj€‘hæhçhè}râ™(hê]hë]hì]hí]rã™U eth-to-canrä™ahð]rå™hÀauhòM=hóhhô]ræ™(hö)�rç™}rè™(hÙX ETH to CANré™hÚjà™häj€‘hæhúhè}rê™(hê]hë]hì]hí]hð]uhòM=hóhhô]rë™hýX ETH to CANrì™…�rí™}rî™(hÙjé™hÚjç™ubaubj¼)�rï™}rð™(hÙUhÚjà™häj€‘hæj¿hè}rñ™(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòM?hóhhô]rò™(jX)�ró™}rô™(hÙXConnect the CAN PC tool.rõ™hÚjï™häj€‘hæj[hè}rö™(hê]hë]hì]hí]hð]uhòNhóhhô]r÷™j/)�rø™}rù™(hÙjõ™hÚjó™häj€‘hæj3hè}rú™(hê]hë]hì]hí]hð]uhòM?hô]rû™hýXConnect the CAN PC tool.rü™…�rý™}rþ™(hÙjõ™hÚjø™ubaubaubjX)�rÿ™}rš(hÙX»Start the Ethernet transmit application :: ./eth_rx.exe[or eth_rx.out] --ip 192.168.1.4 [--port ] [--framerate ] port and framerate are optional hÚjï™häj€‘hæj[hè}rš(hê]hë]hì]hí]hð]uhòNhóhhô]rš(j/)�rš}rš(hÙX'Start the Ethernet transmit applicationršhÚjÿ™häj€‘hæj3hè}rš(hê]hë]hì]hí]hð]uhòM@hô]ršhýX'Start the Ethernet transmit applicationrš…�r š}r š(hÙjšhÚjšubaubjž)�r š}r š(hÙUhè}r š(hê]hë]hì]hí]hð]uhÚjÿ™hô]ršjË)�rš}rš(hÙX„./eth_rx.exe[or eth_rx.out] --ip 192.168.1.4 [--port ] [--framerate ] port and framerate are optionalhÚj šhæjÎhè}rš(jjhí]hì]hê]hë]hð]uhòMhô]ršhýX„./eth_rx.exe[or eth_rx.out] --ip 192.168.1.4 [--port ] [--framerate ] port and framerate are optionalrš…�rš}rš(hÙUhÚjšubaubahæjªubeubjX)�rš}rš(hÙX}Once Ethernet transmit application starts sending data out, CAN PC tool shall receive a CAN FD message with ID hex ‘009’ hÚjï™häj€‘hæj[hè}rš(hê]hë]hì]hí]hð]uhòNhóhhô]ršj/)�rš}rš(hÙX|Once Ethernet transmit application starts sending data out, CAN PC tool shall receive a CAN FD message with ID hex ‘009’ršhÚjšhäj€‘hæj3hè}rš(hê]hë]hì]hí]hð]uhòMHhô]ršhýX|Once Ethernet transmit application starts sending data out, CAN PC tool shall receive a CAN FD message with ID hex ‘009’rš…�r š}r!š(hÙjšhÚjšubaubaubeubeubeubeubhÛ)�r"š}r#š(hÙUhÚjn‘häj€‘hæhçhè}r$š(hê]hë]hì]hí]r%šUterminal-screen-shotr&šahð]r'šhaauhòMKhóhhô]r(š(hö)�r)š}r*š(hÙXTerminal Screen-shotr+šhÚj"šhäj€‘hæhúhè}r,š(hê]hë]hì]hí]hð]uhòMKhóhhô]r-šhýXTerminal Screen-shotr.š…�r/š}r0š(hÙj+šhÚj)šubaubj/)�r1š}r2š(hÙX0Below is a terminal output after one simulation:r3šhÚj"šhäj€‘hæj3hè}r4š(hê]hë]hì]hí]hð]uhòMMhóhhô]r5šhýX0Below is a terminal output after one simulation:r6š…�r7š}r8š(hÙj3šhÚj1šubaubjË)�r9š}r:š(hÙXÈBoard_init success GatewayApp: BOARD IP address I/F 1: 192.168.1.14 GatewayApp: Starting GATEWAY Tasks... Gateway Tx: Server listening (port=1000) !!! GatewayApp: Network Tx socket open done.. Gateway Tx: Server listening (port=2000) !!! GatewayApp: Network Rx socket open done.. GatewayApp: CrossBar/Interrupt Configuration done. GatewayApp: MCANSS Revision ID: GatewayApp: scheme:0x1 GatewayApp: Business Unit:0x2 GatewayApp: Module ID:0x8e0 GatewayApp: RTL Revision:0x5 GatewayApp: Major Revision:0x1 GatewayApp: Custom Revision:0x0 GatewayApp: Minor Revision:0x1 GatewayApp: CAN-FD operation is enabled through E-Fuse. GatewayApp: Endianess Value: 0x87654321 GatewayApp: MCAN Transmitter app started.. Received 0 Transmitted 0 LOAD: CPU: 0.6% HWI: 0.1%, SWI:0.1% LOAD: TSK: Gateway Tx: 0.1% MISC: 0.3% GatewayApp: CAN stats - Received 500 Transmitted 500 LOAD: CPU: 6.6% HWI: 0.5%, SWI:0.1% LOAD: TSK: Gateway Rx: 1.6% LOAD: TSK: Gateway Tx: 0.6% MISC: 3.8%hÚj"šhäj€‘hæjÎhè}r;š(jjhí]hì]hê]hë]hð]uhòM'hóhhô]r<šhýXÈBoard_init success GatewayApp: BOARD IP address I/F 1: 192.168.1.14 GatewayApp: Starting GATEWAY Tasks... Gateway Tx: Server listening (port=1000) !!! GatewayApp: Network Tx socket open done.. Gateway Tx: Server listening (port=2000) !!! GatewayApp: Network Rx socket open done.. GatewayApp: CrossBar/Interrupt Configuration done. GatewayApp: MCANSS Revision ID: GatewayApp: scheme:0x1 GatewayApp: Business Unit:0x2 GatewayApp: Module ID:0x8e0 GatewayApp: RTL Revision:0x5 GatewayApp: Major Revision:0x1 GatewayApp: Custom Revision:0x0 GatewayApp: Minor Revision:0x1 GatewayApp: CAN-FD operation is enabled through E-Fuse. GatewayApp: Endianess Value: 0x87654321 GatewayApp: MCAN Transmitter app started.. Received 0 Transmitted 0 LOAD: CPU: 0.6% HWI: 0.1%, SWI:0.1% LOAD: TSK: Gateway Tx: 0.1% MISC: 0.3% GatewayApp: CAN stats - Received 500 Transmitted 500 LOAD: CPU: 6.6% HWI: 0.5%, SWI:0.1% LOAD: TSK: Gateway Rx: 1.6% LOAD: TSK: Gateway Tx: 0.6% MISC: 3.8%r=š…�r>š}r?š(hÙUhÚj9šubaubhÛ)�r@š}rAš(hÙUhÚj"šhäj€‘hæhçhè}rBš(hê]hë]hì]hí]rCšUknown-issues-limitationsrDšahð]rEšh@auhòMvhóhhô]rFš(hö)�rGš}rHš(hÙXKnown issues & limitationsrIšhÚj@šhäj€‘hæhúhè}rJš(hê]hë]hì]hí]hð]uhòMvhóhhô]rKšhýXKnown issues & limitationsrLš…�rMš}rNš(hÙjIšhÚjGšubaubj¼)�rOš}rPš(hÙUhÚj@šhäj€‘hæj¿hè}rQš(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòMwhóhhô]rRš(jX)�rSš}rTš(hÙX9Polling mode is not supported in the Gateway application.rUšhÚjOšhäj€‘hæj[hè}rVš(hê]hë]hì]hí]hð]uhòNhóhhô]rWšj/)�rXš}rYš(hÙjUšhÚjSšhäj€‘hæj3hè}rZš(hê]hë]hì]hí]hð]uhòMwhô]r[šhýX9Polling mode is not supported in the Gateway application.r\š…�r]š}r^š(hÙjUšhÚjXšubaubaubjX)�r_š}r`š(hÙX7Re-transmission of failed CAN message is not supported.rašhÚjOšhäj€‘hæj[hè}rbš(hê]hë]hì]hí]hð]uhòNhóhhô]rcšj/)�rdš}reš(hÙjašhÚj_šhäj€‘hæj3hè}rfš(hê]hë]hì]hí]hð]uhòMxhô]rgšhýX7Re-transmission of failed CAN message is not supported.rhš…�riš}rjš(hÙjašhÚjdšubaubaubjX)�rkš}rlš(hÙX<Ethernet 100Mbps is not supported. Gigabit only supported. hÚjOšhäX[internal padding after source/rtos/Examples_and_Demonstrations/Can_Eth_Gateway_Demo.rst.incrmšhæj[hè}rnš(hê]hë]hì]hí]hð]uhòNhóhhô]rošj/)�rpš}rqš(hÙX:Ethernet 100Mbps is not supported. Gigabit only supported.rršhÚjkšhäj€‘hæj3hè}rsš(hê]hë]hì]hí]hð]uhòMyhô]rtšhýX:Ethernet 100Mbps is not supported. Gigabit only supported.ruš…�rvš}rwš(hÙjršhÚjpšubaubaubeubeubeubeubhäj€‘hæhçhè}rxš(hê]ryšXoverviewrzšahë]hì]hí]r{šUid73r|šahð]uhòKhóhhô]r}š(hö)�r~š}rš(hÙXOverviewr€šhÚjl‘häj€‘hæhúhè}r�š(hê]hë]hì]hí]hð]uhòKhóhhô]r‚šhýXOverviewrƒš…�r„š}r…š(hÙj€šhÚj~šubaubj/)�r†š}r‡š(hÙX¿Gateway is one of the major use-cases in the modern cars. Performance requirements for Gateway applications are ever increasing due to advanced connected car architecture having multiple domain controllers. The CAN - Ethernet gateway demo showcases P2P (Protocol to Protocol) translation i.e. translating data and control information between incompatible networks like Ethernet and CAN for communication on AM65xx device. The demo enables full duplex routing between CAN and Ethernet (CAN to Ethernet & Ethernet to CAN). The gateway demo shows handling of high bandwidth data traffic on Cortex-R5 with low CPU load and latency for bridging application leaving cortex A53 free for application processing.rˆšhÚjl‘häj€‘hæj3hè}r‰š(hê]hë]hì]hí]hð]uhòKhóhhô]rŠšhýX¿Gateway is one of the major use-cases in the modern cars. Performance requirements for Gateway applications are ever increasing due to advanced connected car architecture having multiple domain controllers. The CAN - Ethernet gateway demo showcases P2P (Protocol to Protocol) translation i.e. translating data and control information between incompatible networks like Ethernet and CAN for communication on AM65xx device. The demo enables full duplex routing between CAN and Ethernet (CAN to Ethernet & Ethernet to CAN). The gateway demo shows handling of high bandwidth data traffic on Cortex-R5 with low CPU load and latency for bridging application leaving cortex A53 free for application processing.r‹š…�rŒš}r�š(hÙjˆšhÚj†šubaubeubhäj€‘hæj>hè}rŽš(hê]UlevelKhí]hì]r�šj|šaUsourcej€‘hë]hð]UlineKUtypejAuhòKhóhhô]r�šj/)�r‘š}r’š(hÙX+Duplicate implicit target name: "overview".hè}r“š(hê]hë]hì]hí]hð]uhÚjj‘hô]r”šhýX+Duplicate implicit target name: "overview".r•š…�r–š}r—š(hÙUhÚj‘šubahæj3ubaubj¬)�r˜š}r™š(hÙUhÚj‡‘häj€‘hæj>hè}ršš(hê]UlevelKhí]hì]r›šjŒ‘aUsourcej€‘hë]hð]UlineKUtypejAuhòKhóhhô]rœšj/)�r�š}ržš(hÙX8Duplicate implicit target name: "architecture overview".hè}rŸš(hê]hë]hì]hí]hð]uhÚj˜šhô]r šhýX8Duplicate implicit target name: "architecture overview".r¡š…�r¢š}r£š(hÙUhÚj�šubahæj3ubaubj¬)�r¤š}r¥š(hÙUhÚj¦‘häj€‘hæj>hè}r¦š(hê]UlevelKhí]hì]r§šj«‘aUsourcej€‘hë]hð]UlineK"UtypejAuhòK"hóhhô]r¨šj/)�r©š}rªš(hÙX4Duplicate implicit target name: "software features".hè}r«š(hê]hë]hì]hí]hð]uhÚj¤šhô]r¬šhýX4Duplicate implicit target name: "software features".r­š…�r®š}r¯š(hÙUhÚj©šubahæj3ubaubj¬)�r°š}r±š(hÙUhÚjÝ‘häj€‘hæj>hè}r²š(hê]UlevelKhí]hì]r³šjâ‘aUsourcej€‘hë]hð]UlineK)UtypejAuhòK)hóhhô]r´šj/)�rµš}r¶š(hÙX6Duplicate implicit target name: "directory structure".hè}r·š(hê]hë]hì]hí]hð]uhÚj°šhô]r¸šhýX6Duplicate implicit target name: "directory structure".r¹š…�rºš}r»š(hÙUhÚjµšubahæj3ubaubj¬)�r¼š}r½š(hÙUhÚjK’häj€‘hæj>hè}r¾š(hê]UlevelKhí]hì]r¿šjQ’aUsourcej€‘hë]hð]UlineK?UtypejAuhòK?hóhhô]rÀšj/)�rÁš}rš(hÙX2Duplicate implicit target name: "components used".hè}rÚ(hê]hë]hì]hí]hð]uhÚj¼šhô]rÄšhýX2Duplicate implicit target name: "components used".rÅš…�rÆš}rÇš(hÙUhÚjÁšubahæj3ubaubj¬)�rÈš}rÉš(hÙUhÚj÷’häj€‘hæj>hè}rÊš(hê]UlevelKhí]hì]rËšjü’aUsourcej€‘hë]hð]UlineKSUtypejAuhòKShóhhô]rÌšj/)�rÍš}rΚ(hÙX4Duplicate implicit target name: "building the demo".hè}rÏš(hê]hë]hì]hí]hð]uhÚjÈšhô]rКhýX4Duplicate implicit target name: "building the demo".rÑš…�rÒš}rÓš(hÙUhÚjÍšubahæj3ubaubj¬)�rÔš}rÕš(hÙUhÚjZ“häj€‘hæj>hè}rÖš(hê]UlevelKhí]hì]rךj_“aUsourcej€‘hë]hð]UlineKuUtypejAuhòKuhóhhô]rØšj/)�rÙš}rÚš(hÙX3Duplicate implicit target name: "running the demo".hè}rÛš(hê]hë]hì]hí]hð]uhÚjÔšhô]rÜšhýX3Duplicate implicit target name: "running the demo".rÝš…�rÞš}rßš(hÙUhÚjÙšubahæj3ubaubj¬)�ràš}ráš(hÙUhÚhÛ)�râš}rãš(hÙUhÚhhähåhæhçhè}räš(hê]hë]hì]hí]råšUsercos-iii-softmasterræšahð]rçšhxauhòK\hóhhô]rèšhö)�réš}rêš(hÙXSercos III SoftmasterrëšhÚjâšhähåhæhúhè}rìš(hê]hë]hì]hí]hð]uhòK\hóhhô]ríšhýXSercos III Softmasterrîš…�rïš}rðš(hÙjëšhÚjéšubaubaubhähåhæj>hè}rñš(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK]UtypeUSEVEREròšuhòK^hóhhô]róš(j/)�rôš}rõš(hÙX£Problems with "include" directive path: InputError: [Errno 2] No such file or directory: 'source/rtos/Examples_and_Demonstrations/Sercos3_Softmaster_Demo.rst.inc'.hè}röš(hê]hë]hì]hí]hð]uhÚjàšhô]r÷šhýX£Problems with "include" directive path: InputError: [Errno 2] No such file or directory: 'source/rtos/Examples_and_Demonstrations/Sercos3_Softmaster_Demo.rst.inc'.røš…�rùš}rúš(hÙUhÚjôšubahæj3ubjË)�rûš}rüš(hÙXI.. include:: Examples_and_Demonstrations/Sercos3_Softmaster_Demo.rst.inc hè}rýš(jjhí]hì]hê]hë]hð]uhÚjàšhô]rþšhýXI.. include:: Examples_and_Demonstrations/Sercos3_Softmaster_Demo.rst.inc rÿš…�r›}r›(hÙUhÚjûšubahæjÎubeubj¬)�r›}r›(hÙUhè}r›(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK_UtypejY&uhô]r›(j/)�r›}r›(hÙUhè}r›(hê]hë]hì]hí]hð]uhÚj›hô]r ›hýXTitle overline too short.r ›…�r ›}r ›(hÙUhÚj›ubahæj3ubjË)�r ›}r›(hÙXI********************** Interrupt Latency Benchmark **********************hè}r›(jjhí]hì]hê]hë]hð]uhÚj›hô]r›hýXI********************** Interrupt Latency Benchmark **********************r›…�r›}r›(hÙUhÚj ›ubahæjÎubehæj>ubj¬)�r›}r›(hÙUhÚhÛ)�r›}r›(hÙUjKhÚhhähåhæhçhè}r›(hê]r›Xinterrupt latency benchmarkr›ahë]hì]hí]r›Uinterrupt-latency-benchmarkr›ahð]uhòKahóhhô]r›(hö)�r›}r›(hÙXInterrupt Latency Benchmarkr ›hÚj›hähåhæhúhè}r!›(hê]hë]hì]hí]hð]uhòKahóhhô]r"›hýXInterrupt Latency Benchmarkr#›…�r$›}r%›(hÙj ›hÚj›ubaubj )�r&›}r'›(hÙXwhttp://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_examples_demos.html#interrupt-latency-benchmarkhÚj›häj XKsource/rtos/Examples_and_Demonstrations/Interrupt_Latency_Benchmark.rst.incr(›…�r)›}r*›bhæjhè}r+›(jjhí]hì]hê]hë]hð]uhòKhóhhô]r,›hýXwhttp://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_examples_demos.html#interrupt-latency-benchmarkr-›…�r.›}r/›(hÙUhÚj&›ubaubhÛ)�r0›}r1›(hÙUjKhÚj›häj)›hæhçhè}r2›(hê]r3›X introductionr4›ahë]hì]hí]r5›Uid80r6›ahð]uhòKhóhhô]r7›(hö)�r8›}r9›(hÙX Introductionr:›hÚj0›häj)›hæhúhè}r;›(hê]hë]hì]hí]hð]uhòKhóhhô]r<›hýX Introductionr=›…�r>›}r?›(hÙj:›hÚj8›ubaubj/)�r@›}rA›(hÙX¬This page describes the interrupt latency benchmark provided in the Processor-SDK for RTOS. This benchmark gives several options for different types of load configurations.rB›hÚj0›häj)›hæj3hè}rC›(hê]hë]hì]hí]hð]uhòKhóhhô]rD›hýX¬This page describes the interrupt latency benchmark provided in the Processor-SDK for RTOS. This benchmark gives several options for different types of load configurations.rE›…�rF›}rG›(hÙjB›hÚj@›ubaubj/)�rH›}rI›(hÙXThis benchmark runs on:rJ›hÚj0›häj)›hæj3hè}rK›(hê]hë]hì]hí]hð]uhòK hóhhô]rL›hýXThis benchmark runs on:rM›…�rN›}rO›(hÙjJ›hÚjH›ubaubjQ)�rP›}rQ›(hÙUhÚj0›häj)›hæjThè}rR›(jVX-hí]hì]hê]hë]hð]uhòK hóhhô]rS›jX)�rT›}rU›(hÙX AM572x (A15) hÚjP›häj)›hæj[hè}rV›(hê]hë]hì]hí]hð]uhòNhóhhô]rW›j/)�rX›}rY›(hÙX AM572x (A15)rZ›hÚjT›häj)›hæj3hè}r[›(hê]hë]hì]hí]hð]uhòK hô]r\›hýX AM572x (A15)r]›…�r^›}r_›(hÙjZ›hÚjX›ubaubaubaubj/)�r`›}ra›(hÙX\The sections below provide details of the application as well as build and run instructions.rb›hÚj0›häj)›hæj3hè}rc›(hê]hë]hì]hí]hð]uhòKhóhhô]rd›hýX\The sections below provide details of the application as well as build and run instructions.re›…�rf›}rg›(hÙjb›hÚj`›ubaubeubhÛ)�rh›}ri›(hÙUjKhÚj›häj)›hæhçhè}rj›(hê]rk›X requirementsrl›ahë]hì]hí]rm›Uid81rn›ahð]uhòKhóhhô]ro›(hö)�rp›}rq›(hÙX Requirementsrr›hÚjh›häj)›hæhúhè}rs›(hê]hë]hì]hí]hð]uhòKhóhhô]rt›hýX Requirementsru›…�rv›}rw›(hÙjr›hÚjp›ubaubj/)�rx›}ry›(hÙX?The following materials are required to run this demonstration:rz›hÚjh›häj)›hæj3hè}r{›(hê]hë]hì]hí]hð]uhòKhóhhô]r|›hýX?The following materials are required to run this demonstration:r}›…�r~›}r›(hÙjz›hÚjx›ubaubj/)�r€›}r�›(hÙXHardwarer‚›hÚjh›häj)›hæj3hè}rƒ›(hê]hë]hì]hí]hð]uhòKhóhhô]r„›hýXHardwarer…›…�r†›}r‡›(hÙj‚›hÚj€›ubaubjQ)�rˆ›}r‰›(hÙUhÚjh›häj)›hæjThè}rŠ›(jVX-hí]hì]hê]hë]hð]uhòKhóhhô]r‹›(jX)�rŒ›}r�›(hÙXTI EVM (see list above)rŽ›hÚjˆ›häj)›hæj[hè}r�›(hê]hë]hì]hí]hð]uhòNhóhhô]r�›j/)�r‘›}r’›(hÙjŽ›hÚjŒ›häj)›hæj3hè}r“›(hê]hë]hì]hí]hð]uhòKhô]r”›hýXTI EVM (see list above)r•›…�r–›}r—›(hÙjŽ›hÚj‘›ubaubaubjX)�r˜›}r™›(hÙX&Micro USB cable (provided in EVM kit) hÚjˆ›häj)›hæj[hè}rš›(hê]hë]hì]hí]hð]uhòNhóhhô]r››j/)�rœ›}r�›(hÙX%Micro USB cable (provided in EVM kit)rž›hÚj˜›häj)›hæj3hè}rŸ›(hê]hë]hì]hí]hð]uhòKhô]r ›hýX%Micro USB cable (provided in EVM kit)r¡›…�r¢›}r£›(hÙjž›hÚjœ›ubaubaubeubj/)�r¤›}r¥›(hÙXSoftwarer¦›hÚjh›häj)›hæj3hè}r§›(hê]hë]hì]hí]hð]uhòKhóhhô]r¨›hýXSoftwarer©›…�rª›}r«›(hÙj¦›hÚj¤›ubaubjQ)�r¬›}r­›(hÙUhÚjh›häj)›hæjThè}r®›(jVX-hí]hì]hê]hë]hð]uhòKhóhhô]r¯›(jX)�r°›}r±›(hÙXProcessor-SDK RTOSr²›hÚj¬›häj)›hæj[hè}r³›(hê]hë]hì]hí]hð]uhòNhóhhô]r´›j/)�rµ›}r¶›(hÙj²›hÚj°›häj)›hæj3hè}r·›(hê]hë]hì]hí]hð]uhòKhô]r¸›hýXProcessor-SDK RTOSr¹›…�rº›}r»›(hÙj²›hÚjµ›ubaubaubjX)�r¼›}r½›(hÙXCode Composer Studio hÚj¬›häj)›hæj[hè}r¾›(hê]hë]hì]hí]hð]uhòNhóhhô]r¿›j/)�rÀ›}rÁ›(hÙXCode Composer Studior›hÚj¼›häj)›hæj3hè}rÛ(hê]hë]hì]hí]hð]uhòKhô]rÄ›hýXCode Composer StudiorÅ›…�rÆ›}rÇ›(hÙj›hÚjÀ›ubaubaubeubeubhÛ)�rÈ›}rÉ›(hÙUjKhÚj›häj)›hæhçhè}rÊ›(hê]rË›Xsoftware designrÌ›ahë]hì]hí]rÍ›Uid82rΛahð]uhòK!hóhhô]rÏ›(hö)�rЛ}rÑ›(hÙXSoftware DesignrÒ›hÚjÈ›häj)›hæhúhè}rÓ›(hê]hë]hì]hí]hð]uhòK!hóhhô]rÔ›hýXSoftware DesignrÕ›…�rÖ›}r×›(hÙjÒ›hÚjЛubaubj/)�rØ›}rÙ›(hÙX·The purpose of this benchmark is to measure the worst case interrupt latency under load. This load is achieved by simultaneously running a modified version of the Dhrystone benchmark.rÚ›hÚjÈ›häj)›hæj3hè}rÛ›(hê]hë]hì]hí]hð]uhòK#hóhhô]rÜ›hýX·The purpose of this benchmark is to measure the worst case interrupt latency under load. This load is achieved by simultaneously running a modified version of the Dhrystone benchmark.rÝ›…�rÞ›}rß›(hÙjÚ›hÚjØ›ubaubhÛ)�rà›}rá›(hÙUhÚjÈ›häj)›hæhçhè}râ›(hê]hë]hì]hí]rã›U dhrystonerä›ahð]rå›h¶auhòK(hóhhô]ræ›(hö)�rç›}rè›(hÙX Dhrystoneré›hÚjà›häj)›hæhúhè}rê›(hê]hë]hì]hí]hð]uhòK(hóhhô]rë›hýX Dhrystonerì›…�rí›}rî›(hÙjé›hÚjç›ubaubj/)�rï›}rð›(hÙX?The Dhrystone code is modified to run continuously. Instead of testing the host system for DMIPS, Dhrystone threads are created repeatedly until the benchmark completes. Essentially, once a Dhrystone thread finishes, it is created again. Additionally, the user can specify the number of Dhrystone threads to be created.rñ›hÚjà›häj)›hæj3hè}rò›(hê]hë]hì]hí]hð]uhòK*hóhhô]ró›hýX?The Dhrystone code is modified to run continuously. Instead of testing the host system for DMIPS, Dhrystone threads are created repeatedly until the benchmark completes. Essentially, once a Dhrystone thread finishes, it is created again. Additionally, the user can specify the number of Dhrystone threads to be created.rô›…�rõ›}rö›(hÙjñ›hÚjï›ubaubeubhÛ)�r÷›}rø›(hÙUjKhÚjÈ›häj)›hæhçhè}rù›(hê]rú›j›ahë]hì]hí]rû›Uid83rü›ahð]uhòK1hóhhô]rý›(hö)�rþ›}rÿ›(hÙXInterrupt Latency BenchmarkrœhÚj÷›häj)›hæhúhè}rœ(hê]hë]hì]hí]hð]uhòK1hóhhô]rœhýXInterrupt Latency Benchmarkrœ…�rœ}rœ(hÙjœhÚjþ›ubaubj/)�rœ}rœ(hÙXOSeveral design choices were made when creating the interrupt latency benchmark.rœhÚj÷›häj)›hæj3hè}r œ(hê]hë]hì]hí]hð]uhòK3hóhhô]r œhýXOSeveral design choices were made when creating the interrupt latency benchmark.r œ…�r œ}r œ(hÙjœhÚjœubaubjQ)�rœ}rœ(hÙUhÚj÷›häj)›hæjThè}rœ(jVX-hí]hì]hê]hë]hð]uhòK6hóhhô]rœ(jX)�rœ}rœ(hÙXThe benchmark task is set to core 0 * Core 0 is the A15_0 core, and is the primary core for the benchmark. The benchmark is forced to operate only on this core, no matter the load. This is achieved by setting the affinity of the task parameter to 0hÚjœhäNhæj[hè}rœ(hê]hë]hì]hí]hð]uhòNhóhhô]rœj~”)�rœ}rœ(hÙUhè}rœ(hê]hë]hì]hí]hð]uhÚjœhô]rœjƒ”)�rœ}rœ(hÙXþThe benchmark task is set to core 0 * Core 0 is the A15_0 core, and is the primary core for the benchmark. The benchmark is forced to operate only on this core, no matter the load. This is achieved by setting the affinity of the task parameter to 0hÚjœhäj)›hæj†”hè}rœ(hê]hë]hì]hí]hð]uhòK9hô]rœ(j‰”)�rœ}rœ(hÙX#The benchmark task is set to core 0r œhÚjœhäj)›hæj�”hè}r!œ(hê]hë]hì]hí]hð]uhòK9hô]r"œhýX#The benchmark task is set to core 0r#œ…�r$œ}r%œ(hÙj œhÚjœubaubj“”)�r&œ}r'œ(hÙUhè}r(œ(hê]hë]hì]hí]hð]uhÚjœhô]r)œjQ)�r*œ}r+œ(hÙUhè}r,œ(jVX*hí]hì]hê]hë]hð]uhÚj&œhô]r-œjX)�r.œ}r/œ(hÙXÒCore 0 is the A15_0 core, and is the primary core for the benchmark. The benchmark is forced to operate only on this core, no matter the load. This is achieved by setting the affinity of the task parameter to 0hè}r0œ(hê]hë]hì]hí]hð]uhÚj*œhô]r1œj/)�r2œ}r3œ(hÙXÒCore 0 is the A15_0 core, and is the primary core for the benchmark. The benchmark is forced to operate only on this core, no matter the load. This is achieved by setting the affinity of the task parameter to 0r4œhÚj.œhäj)›hæj3hè}r5œ(hê]hë]hì]hí]hð]uhòK7hô]r6œhýXÒCore 0 is the A15_0 core, and is the primary core for the benchmark. The benchmark is forced to operate only on this core, no matter the load. This is achieved by setting the affinity of the task parameter to 0r7œ…�r8œ}r9œ(hÙj4œhÚj2œubaubahæj[ubahæjTubahæj×”ubeubahæjØ”ubaubjX)�r:œ}r;œ(hÙXÙThe benchmark task needs to have a higher priority than the Dhrystone threads * If the Dhrystone threads have a priority level that is greater than or equal to the benchmark task priority, then the scheduler will schedule the two to execute one after another. Thus, the benchmark task will not run while the Dhrystone thread is running, but the timer will continue to fire. As a result, the benchmark task is stalled and returns invalid data when it resumeshÚjœhäNhæj[hè}r<œ(hê]hë]hì]hí]hð]uhòNhóhhô]r=œj~”)�r>œ}r?œ(hÙUhè}r@œ(hê]hë]hì]hí]hð]uhÚj:œhô]rAœjƒ”)�rBœ}rCœ(hÙXÓThe benchmark task needs to have a higher priority than the Dhrystone threads * If the Dhrystone threads have a priority level that is greater than or equal to the benchmark task priority, then the scheduler will schedule the two to execute one after another. Thus, the benchmark task will not run while the Dhrystone thread is running, but the timer will continue to fire. As a result, the benchmark task is stalled and returns invalid data when it resumeshÚj>œhäj)›hæj†”hè}rDœ(hê]hë]hì]hí]hð]uhòK@hô]rEœ(j‰”)�rFœ}rGœ(hÙXMThe benchmark task needs to have a higher priority than the Dhrystone threadsrHœhÚjBœhäj)›hæj�”hè}rIœ(hê]hë]hì]hí]hð]uhòK@hô]rJœhýXMThe benchmark task needs to have a higher priority than the Dhrystone threadsrKœ…�rLœ}rMœ(hÙjHœhÚjFœubaubj“”)�rNœ}rOœ(hÙUhè}rPœ(hê]hë]hì]hí]hð]uhÚjBœhô]rQœjQ)�rRœ}rSœ(hÙUhè}rTœ(jVX*hí]hì]hê]hë]hð]uhÚjNœhô]rUœjX)�rVœ}rWœ(hÙXyIf the Dhrystone threads have a priority level that is greater than or equal to the benchmark task priority, then the scheduler will schedule the two to execute one after another. Thus, the benchmark task will not run while the Dhrystone thread is running, but the timer will continue to fire. As a result, the benchmark task is stalled and returns invalid data when it resumeshè}rXœ(hê]hë]hì]hí]hð]uhÚjRœhô]rYœj/)�rZœ}r[œ(hÙXyIf the Dhrystone threads have a priority level that is greater than or equal to the benchmark task priority, then the scheduler will schedule the two to execute one after another. Thus, the benchmark task will not run while the Dhrystone thread is running, but the timer will continue to fire. As a result, the benchmark task is stalled and returns invalid data when it resumesr\œhÚjVœhäj)›hæj3hè}r]œ(hê]hë]hì]hí]hð]uhòK/benchmarks/interrupt_latencyhÚjšœhäj)›hæjÎhè}r³œ(jjhí]hì]hê]hë]hð]uhòM¬hóhhô]r´œhýX4/benchmarks/interrupt_latencyrµœ…�r¶œ}r·œ(hÙUhÚj±œubaubeubeubhÛ)�r¸œ}r¹œ(hÙUjKhÚj›häj)›hæhçhè}rºœ(hê]r»œXhow to run the demor¼œahë]hì]hí]r½œUid86r¾œahð]uhòKWhóhhô]r¿œ(hö)�rÀœ}rÁœ(hÙXHow to Run the DemorœhÚj¸œhäj)›hæhúhè}rÜ(hê]hë]hì]hí]hð]uhòKWhóhhô]rÄœhýXHow to Run the DemorÅœ…�rÆœ}rÇœ(hÙjœhÚjÀœubaubj/)�rÈœ}rÉœ(hÙXòAfter building the benchmark, locate the binary under the relevant device directory in the interrupt latency benchmark's bin/ directory. Additionally, power on the board, connect the micro-USB cable to the UART port, and begin a UART console.rÊœhÚj¸œhäj)›hæj3hè}rËœ(hê]hë]hì]hí]hð]uhòKYhóhhô]rÌœhýXòAfter building the benchmark, locate the binary under the relevant device directory in the interrupt latency benchmark's bin/ directory. Additionally, power on the board, connect the micro-USB cable to the UART port, and begin a UART console.rÍœ…�rΜ}rÏœ(hÙjÊœhÚjÈœubaubjË)�rМ}rÑœ(hÙX?/benchmarks/interrupt_latency/bin//hÚj¸œhäj)›hæjÎhè}rÒœ(jjhí]hì]hê]hë]hð]uhòM»hóhhô]rÓœhýX?/benchmarks/interrupt_latency/bin//rÔœ…�rÕœ}rÖœ(hÙUhÚjМubaubhÛ)�rל}rØœ(hÙUhÚj¸œhäj)›hæhçhè}rÙœ(hê]hë]hì]hí]rÚœUccsrÛœahð]rÜœhÈauhòKdhóhhô]rÝœ(hö)�rÞœ}rßœ(hÙXCCSràœhÚjלhäj)›hæhúhè}ráœ(hê]hë]hì]hí]hð]uhòKdhóhhô]râœhýXCCSr㜅�räœ}råœ(hÙjàœhÚjÞœubaubj/)�ræœ}rçœ(hÙXCTo run the benchmark on AM572xx using CCS, use the following steps.rèœhÚjלhäj)›hæj3hè}réœ(hê]hë]hì]hí]hð]uhòKfhóhhô]rêœhýXCTo run the benchmark on AM572xx using CCS, use the following steps.r뜅�rìœ}ríœ(hÙjèœhÚjæœubaubj¼)�rîœ}rïœ(hÙUhÚjלhäj)›hæj¿hè}rðœ(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòKhhóhhô]rñœ(jX)�ròœ}róœ(hÙXœUsing CCS, launch the target configuration for the EVM CCS-Target Configurations (http://software-dl.ti.com/ccs/esd/documents/ccs_custom_target_config.html)hÚjîœhäj)›hæj[hè}rôœ(hê]hë]hì]hí]hð]uhòNhóhhô]rõœj/)�röœ}r÷œ(hÙXœUsing CCS, launch the target configuration for the EVM CCS-Target Configurations (http://software-dl.ti.com/ccs/esd/documents/ccs_custom_target_config.html)hÚjòœhäj)›hæj3hè}røœ(hê]hë]hì]hí]hð]uhòKhhô]rùœ(hýXRUsing CCS, launch the target configuration for the EVM CCS-Target Configurations (rúœ…�rûœ}rüœ(hÙXRUsing CCS, launch the target configuration for the EVM CCS-Target Configurations (hÚjöœubj)�rýœ}rþœ(hÙXIhttp://software-dl.ti.com/ccs/esd/documents/ccs_custom_target_config.htmlrÿœhè}r�(Urefurijÿœhí]hì]hê]hë]hð]uhÚjöœhô]r�hýXIhttp://software-dl.ti.com/ccs/esd/documents/ccs_custom_target_config.htmlr�…�r�}r�(hÙUhÚjýœubahæjubhýX)…�r�}r�(hÙX)hÚjöœubeubaubjX)�r�}r�(hÙX~In the CCS debug view, create a sync group (http://software-dl.ti.com/ccs/esd/documents/ccs_smp-debug.html) with the A15 coreshÚjîœhäj)›hæj[hè}r �(hê]hë]hì]hí]hð]uhòNhóhhô]r �j/)�r �}r �(hÙX~In the CCS debug view, create a sync group (http://software-dl.ti.com/ccs/esd/documents/ccs_smp-debug.html) with the A15 coreshÚj�häj)›hæj3hè}r �(hê]hë]hì]hí]hð]uhòKjhô]r�(hýX,In the CCS debug view, create a sync group (r�…�r�}r�(hÙX,In the CCS debug view, create a sync group (hÚj �ubj)�r�}r�(hÙX>http://software-dl.ti.com/ccs/esd/documents/ccs_smp-debug.htmlr�hè}r�(Urefurij�hí]hì]hê]hë]hð]uhÚj �hô]r�hýX>http://software-dl.ti.com/ccs/esd/documents/ccs_smp-debug.htmlr�…�r�}r�(hÙUhÚj�ubahæjubhýX) with the A15 coresr�…�r�}r�(hÙX) with the A15 coreshÚj �ubeubaubjX)�r�}r�(hÙX‘For each core, connect to it and load the binary. The A15_0 core should halt at main while the SMP linked cores will begin auto-running upon loadhÚjîœhäj)›hæj[hè}r�(hê]hë]hì]hí]hð]uhòNhóhhô]r �j/)�r!�}r"�(hÙX‘For each core, connect to it and load the binary. The A15_0 core should halt at main while the SMP linked cores will begin auto-running upon loadr#�hÚj�häj)›hæj3hè}r$�(hê]hë]hì]hí]hð]uhòKlhô]r%�hýX‘For each core, connect to it and load the binary. The A15_0 core should halt at main while the SMP linked cores will begin auto-running upon loadr&�…�r'�}r(�(hÙj#�hÚj!�ubaubaubjX)�r)�}r*�(hÙX-Once all cores have been loaded, run them allr+�hÚjîœhäj)›hæj[hè}r,�(hê]hë]hì]hí]hð]uhòNhóhhô]r-�j/)�r.�}r/�(hÙj+�hÚj)�häj)›hæj3hè}r0�(hê]hë]hì]hí]hð]uhòKohô]r1�hýX-Once all cores have been loaded, run them allr2�…�r3�}r4�(hÙj+�hÚj.�ubaubaubjX)�r5�}r6�(hÙX8The output will be sent to the UART console in real timer7�hÚjîœhäj)›hæj[hè}r8�(hê]hë]hì]hí]hð]uhòNhóhhô]r9�j/)�r:�}r;�(hÙj7�hÚj5�häj)›hæj3hè}r<�(hê]hë]hì]hí]hð]uhòKphô]r=�hýX8The output will be sent to the UART console in real timer>�…�r?�}r@�(hÙj7�hÚj:�ubaubaubjX)�rA�}rB�(hÙX6You must manually halt the cores to end the benchmark hÚjîœhäj)›hæj[hè}rC�(hê]hë]hì]hí]hð]uhòNhóhhô]rD�j/)�rE�}rF�(hÙX5You must manually halt the cores to end the benchmarkrG�hÚjA�häj)›hæj3hè}rH�(hê]hë]hì]hí]hð]uhòKqhô]rI�hýX5You must manually halt the cores to end the benchmarkrJ�…�rK�}rL�(hÙjG�hÚjE�ubaubaubeubj))�rM�}rN�(hÙXl- If running in non-SMP mode, do not create a sync group. Only load and run the binary on the A15_0 corehÚjלhäNhæj,hè}rO�(hê]hë]hì]hí]hð]uhòNhóhhô]rP�jQ)�rQ�}rR�(hÙUhè}rS�(jVX-hí]hì]hê]hë]hð]uhÚjM�hô]rT�jX)�rU�}rV�(hÙXfIf running in non-SMP mode, do not create a sync group. Only load and run the binary on the A15_0 corehè}rW�(hê]hë]hì]hí]hð]uhÚjQ�hô]rX�j/)�rY�}rZ�(hÙXfIf running in non-SMP mode, do not create a sync group. Only load and run the binary on the A15_0 corer[�hÚjU�häj)›hæj3hè}r\�(hê]hë]hì]hí]hð]uhòKthô]r]�hýXfIf running in non-SMP mode, do not create a sync group. Only load and run the binary on the A15_0 corer^�…�r_�}r`�(hÙj[�hÚjY�ubaubahæj[ubahæjTubaubeubhÛ)�ra�}rb�(hÙUhÚj¸œhäj)›hæhçhè}rc�(hê]hë]hì]hí]rd�Usecondary-bootloader-sblre�ahð]rf�hrauhòKxhóhhô]rg�(hö)�rh�}ri�(hÙXSecondary Bootloader (SBL)rj�hÚja�häj)›hæhúhè}rk�(hê]hë]hì]hí]hð]uhòKxhóhhô]rl�hýXSecondary Bootloader (SBL)rm�…�rn�}ro�(hÙjj�hÚjh�ubaubj/)�rp�}rq�(hÙX¾To run the benchmark on a micro-SD card, follow the corresponding steps for AM57x (http://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_Foundational_Components.html#am57x)hÚja�häj)›hæj3hè}rr�(hê]hë]hì]hí]hð]uhòKzhóhhô]rs�(hýXSTo run the benchmark on a micro-SD card, follow the corresponding steps for AM57x (rt�…�ru�}rv�(hÙXSTo run the benchmark on a micro-SD card, follow the corresponding steps for AM57x (hÚjp�ubj)�rw�}rx�(hÙXjhttp://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_Foundational_Components.html#am57xry�hè}rz�(Urefurijy�hí]hì]hê]hë]hð]uhÚjp�hô]r{�hýXjhttp://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_Foundational_Components.html#am57xr|�…�r}�}r~�(hÙUhÚjw�ubahæjubhýX)…�r�}r€�(hÙX)hÚjp�ubeubj))�r��}r‚�(hÙX/- The binary is the same format as a .out filerƒ�hÚja�häNhæj,hè}r„�(hê]hë]hì]hí]hð]uhòNhóhhô]r…�jQ)�r†�}r‡�(hÙUhè}rˆ�(jVX-hí]hì]hê]hë]hð]uhÚj��hô]r‰�jX)�rŠ�}r‹�(hÙX,The binary is the same format as a .out filerŒ�hè}r��(hê]hë]hì]hí]hð]uhÚj†�hô]rŽ�j/)�r��}r��(hÙjŒ�hÚjŠ�häj)›hæj3hè}r‘�(hê]hë]hì]hí]hð]uhòK~hô]r’�hýX,The binary is the same format as a .out filer“�…�r”�}r•�(hÙjŒ�hÚj��ubaubahæj[ubahæjTubaubeubeubhÛ)�r–�}r—�(hÙUhÚj›häj)›hæhçhè}r˜�(hê]hë]hì]hí]r™�Uknown-issues-and-limitationsrš�ahð]r›�hauhòK�hóhhô]rœ�(hö)�r��}rž�(hÙXKnown Issues and LimitationsrŸ�hÚj–�häj)›hæhúhè}r �(hê]hë]hì]hí]hð]uhòK�hóhhô]r¡�hýXKnown Issues and Limitationsr¢�…�r£�}r¤�(hÙjŸ�hÚj��ubaubj/)�r¥�}r¦�(hÙXZWhen running the benchmark, keep in mind the following issues which are still being fixed.r§�hÚj–�häj)›hæj3hè}r¨�(hê]hë]hì]hí]hð]uhòKƒhóhhô]r©�hýXZWhen running the benchmark, keep in mind the following issues which are still being fixed.rª�…�r«�}r¬�(hÙj§�hÚj¥�ubaubj¼)�r­�}r®�(hÙUhÚj–�häj)›hæj¿hè}r¯�(jÁU.hí]hì]hê]jÂUhë]hð]jÃjÄuhòK†hóhhô]r°�jX)�r±�}r²�(hÙXAThe cause for several outliers in the data is being investigated hÚj­�häj)›hæj[hè}r³�(hê]hë]hì]hí]hð]uhòNhóhhô]r´�j/)�rµ�}r¶�(hÙX@The cause for several outliers in the data is being investigatedr·�hÚj±�häj)›hæj3hè}r¸�(hê]hë]hì]hí]hð]uhòK†hô]r¹�hýX@The cause for several outliers in the data is being investigatedrº�…�r»�}r¼�(hÙj·�hÚjµ�ubaubaubaubeubhÛ)�r½�}r¾�(hÙUhÚj›häj)›hæhçhè}r¿�(hê]hë]hì]hí]rÀ�UresultsrÁ�ahð]rÂ�h auhòKŠhóhhô]rÃ�(hö)�rÄ�}rÅ�(hÙXResultsrÆ�hÚj½�häj)›hæhúhè}rÇ�(hê]hë]hì]hí]hð]uhòKŠhóhhô]rÈ�hýXResultsrÉ�…�rÊ�}rË�(hÙjÆ�hÚjÄ�ubaubjž)�rÌ�}rÍ�(hÙUhÚj½�häj)›hæjªhè}rÎ�(hê]hë]hì]hí]hð]uhòNhóhhô]rÏ�j:)�rÐ�}rÑ�(hÙUhè}rÒ�(hê]hë]hì]hí]hð]uhÚjÌ�hô]rÓ�j@)�rÔ�}rÕ�(hÙUhè}rÖ�(hí]hì]hê]hë]hð]UcolsKuhÚjÐ�hô]r×�(jE)�rØ�}rÙ�(hÙUhè}rÚ�(hí]hì]hê]hë]hð]UcolwidthKuhÚjÔ�hô]hæjIubjE)�rÛ�}rÜ�(hÙUhè}rÝ�(hí]hì]hê]hë]hð]UcolwidthKuhÚjÔ�hô]hæjIubjE)�rÞ�}rß�(hÙUhè}rà�(hí]hì]hê]hë]hð]UcolwidthKuhÚjÔ�hô]hæjIubjE)�rá�}râ�(hÙUhè}rã�(hí]hì]hê]hë]hð]UcolwidthKuhÚjÔ�hô]hæjIubjE)�rä�}rå�(hÙUhè}ræ�(hí]hì]hê]hë]hð]UcolwidthKuhÚjÔ�hô]hæjIubjE)�rç�}rè�(hÙUhè}ré�(hí]hì]hê]hë]hð]UcolwidthKuhÚjÔ�hô]hæjIubjE)�rê�}rë�(hÙUhè}rì�(hí]hì]hê]hë]hð]UcolwidthKuhÚjÔ�hô]hæjIubjS)�rí�}rî�(hÙUhè}rï�(hê]hë]hì]hí]hð]uhÚjÔ�hô]rð�jX)�rñ�}rò�(hÙUhè}ró�(hê]hë]hì]hí]hð]uhÚjí�hô]rô�(j])�rõ�}rö�(hÙUhè}r÷�(hê]hë]hì]hí]hð]uhÚjñ�hô]rø�j/)�rù�}rú�(hÙXAM572xrû�hÚjõ�häj)›hæj3hè}rü�(hê]hë]hì]hí]hð]uhòK�hô]rý�hýXAM572xrþ�…�rÿ�}rž(hÙjû�hÚjù�ubaubahæjjubj])�rž}rž(hÙUhè}rž(hê]hë]hì]hí]hð]uhÚjñ�hô]ržj/)�rž}rž(hÙXSMP Disabled Dhrystone DisabledržhÚjžhäj)›hæj3hè}rž(hê]hë]hì]hí]hð]uhòK�hô]r žhýXSMP Disabled Dhrystone Disabledr ž…�r ž}r ž(hÙjžhÚjžubaubahæjjubj])�r ž}rž(hÙUhè}rž(hê]hë]hì]hí]hð]uhÚjñ�hô]ržj/)�rž}rž(hÙX.SMP Disabled Dhrystone Enabled One Dhry ThreadržhÚj žhäj)›hæj3hè}rž(hê]hë]hì]hí]hð]uhòK�hô]ržhýX.SMP Disabled Dhrystone Enabled One Dhry Threadrž…�rž}rž(hÙjžhÚjžubaubahæjjubj])�rž}rž(hÙUhè}rž(hê]hë]hì]hí]hð]uhÚjñ�hô]ržj/)�rž}rž(hÙX/SMP Disabled Dhrystone Enabled Two Dhry ThreadsržhÚjžhäj)›hæj3hè}r ž(hê]hë]hì]hí]hð]uhòK�hô]r!žhýX/SMP Disabled Dhrystone Enabled Two Dhry Threadsr"ž…�r#ž}r$ž(hÙjžhÚjžubaubahæjjubj])�r%ž}r&ž(hÙUhè}r'ž(hê]hë]hì]hí]hð]uhÚjñ�hô]r(žj/)�r)ž}r*ž(hÙXSMP Enabled Dhrystone Disabledr+žhÚj%žhäj)›hæj3hè}r,ž(hê]hë]hì]hí]hð]uhòK�hô]r-žhýXSMP Enabled Dhrystone Disabledr.ž…�r/ž}r0ž(hÙj+žhÚj)žubaubahæjjubj])�r1ž}r2ž(hÙUhè}r3ž(hê]hë]hì]hí]hð]uhÚjñ�hô]r4žj/)�r5ž}r6ž(hÙX-SMP Enabled Dhrystone Enabled One Dhry Threadr7žhÚj1žhäj)›hæj3hè}r8ž(hê]hë]hì]hí]hð]uhòK�hô]r9žhýX-SMP Enabled Dhrystone Enabled One Dhry Threadr:ž…�r;ž}r<ž(hÙj7žhÚj5žubaubahæjjubj])�r=ž}r>ž(hÙUhè}r?ž(hê]hë]hì]hí]hð]uhÚjñ�hô]r@žj/)�rAž}rBž(hÙX.SMP Enabled Dhrystone Enabled Two Dhry ThreadsrCžhÚj=žhäj)›hæj3hè}rDž(hê]hë]hì]hí]hð]uhòK�hô]rEžhýX.SMP Enabled Dhrystone Enabled Two Dhry ThreadsrFž…�rGž}rHž(hÙjCžhÚjAžubaubahæjjubehæj�ubahæj�ubj‘)�rIž}rJž(hÙUhè}rKž(hê]hë]hì]hí]hð]uhÚjÔ�hô]rLž(jX)�rMž}rNž(hÙUhè}rOž(hê]hë]hì]hí]hð]uhÚjIžhô]rPž(j])�rQž}rRž(hÙUhè}rSž(hê]hë]hì]hí]hð]uhÚjMžhô]rTžj/)�rUž}rVž(hÙX**HW Interrupt Latency**rWžhÚjQžhäj)›hæj3hè}rXž(hê]hë]hì]hí]hð]uhòK‘hô]rYžjW)�rZž}r[ž(hÙjWžhè}r\ž(hê]hë]hì]hí]hð]uhÚjUžhô]r]žhýXHW Interrupt Latencyr^ž…�r_ž}r`ž(hÙUhÚjZžubahæj_ubaubahæjjubj])�raž}rbž(hÙUhè}rcž(hê]hë]hì]hí]hð]uhÚjMžhô]hæjjubj])�rdž}rež(hÙUhè}rfž(hê]hë]hì]hí]hð]uhÚjMžhô]hæjjubj])�rgž}rhž(hÙUhè}riž(hê]hë]hì]hí]hð]uhÚjMžhô]hæjjubj])�rjž}rkž(hÙUhè}rlž(hê]hë]hì]hí]hð]uhÚjMžhô]hæjjubj])�rmž}rnž(hÙUhè}rož(hê]hë]hì]hí]hð]uhÚjMžhô]hæjjubj])�rpž}rqž(hÙUhè}rrž(hê]hë]hì]hí]hð]uhÚjMžhô]hæjjubehæj�ubjX)�rsž}rtž(hÙUhè}ruž(hê]hë]hì]hí]hð]uhÚjIžhô]rvž(j])�rwž}rxž(hÙUhè}ryž(hê]hë]hì]hí]hð]uhÚjsžhô]rzžj/)�r{ž}r|ž(hÙX**Average Max**r}žhÚjwžhäj)›hæj3hè}r~ž(hê]hë]hì]hí]hð]uhòK“hô]ržjW)�r€ž}r�ž(hÙj}žhè}r‚ž(hê]hë]hì]hí]hð]uhÚj{žhô]rƒžhýX Average Maxr„ž…�r…ž}r†ž(hÙUhÚj€žubahæj_ubaubahæjjubj])�r‡ž}rˆž(hÙUhè}r‰ž(hê]hë]hì]hí]hð]uhÚjsžhô]rŠžj/)�r‹ž}rŒž(hÙX0.602 usr�žhÚj‡žhäj)›hæj3hè}rŽž(hê]hë]hì]hí]hð]uhòK“hô]r�žhýX0.602 usr�ž…�r‘ž}r’ž(hÙj�žhÚj‹žubaubahæjjubj])�r“ž}r”ž(hÙUhè}r•ž(hê]hë]hì]hí]hð]uhÚjsžhô]r–žj/)�r—ž}r˜ž(hÙX0.576 usr™žhÚj“žhäj)›hæj3hè}ršž(hê]hë]hì]hí]hð]uhòK“hô]r›žhýX0.576 usrœž…�r�ž}ržž(hÙj™žhÚj—žubaubahæjjubj])�rŸž}r ž(hÙUhè}r¡ž(hê]hë]hì]hí]hð]uhÚjsžhô]r¢žj/)�r£ž}r¤ž(hÙX0.579 usr¥žhÚjŸžhäj)›hæj3hè}r¦ž(hê]hë]hì]hí]hð]uhòK“hô]r§žhýX0.579 usr¨ž…�r©ž}rªž(hÙj¥žhÚj£žubaubahæjjubj])�r«ž}r¬ž(hÙUhè}r­ž(hê]hë]hì]hí]hð]uhÚjsžhô]r®žj/)�r¯ž}r°ž(hÙX1.159 usr±žhÚj«žhäj)›hæj3hè}r²ž(hê]hë]hì]hí]hð]uhòK“hô]r³žhýX1.159 usr´ž…�rµž}r¶ž(hÙj±žhÚj¯žubaubahæjjubj])�r·ž}r¸ž(hÙUhè}r¹ž(hê]hë]hì]hí]hð]uhÚjsžhô]rºžj/)�r»ž}r¼ž(hÙX1.150 usr½žhÚj·žhäj)›hæj3hè}r¾ž(hê]hë]hì]hí]hð]uhòK“hô]r¿žhýX1.150 usrÀž…�rÁž}rž(hÙj½žhÚj»žubaubahæjjubj])�rÞ}rÄž(hÙUhè}rÅž(hê]hë]hì]hí]hð]uhÚjsžhô]rÆžj/)�rÇž}rÈž(hÙX1.063 usrÉžhÚjÞhäj)›hæj3hè}rÊž(hê]hë]hì]hí]hð]uhòK“hô]rËžhýX1.063 usrÌž…�rÍž}rΞ(hÙjÉžhÚjÇžubaubahæjjubehæj�ubjX)�rÏž}rО(hÙUhè}rÑž(hê]hë]hì]hí]hð]uhÚjIžhô]rÒž(j])�rÓž}rÔž(hÙUhè}rÕž(hê]hë]hì]hí]hð]uhÚjÏžhô]rÖžj/)�rמ}rØž(hÙX**Average Min**rÙžhÚjÓžhäj)›hæj3hè}rÚž(hê]hë]hì]hí]hð]uhòK•hô]rÛžjW)�rÜž}rÝž(hÙjÙžhè}rÞž(hê]hë]hì]hí]hð]uhÚjמhô]rßžhýX Average Minràž…�ráž}râž(hÙUhÚjÜžubahæj_ubaubahæjjubj])�rãž}räž(hÙUhè}råž(hê]hë]hì]hí]hð]uhÚjÏžhô]ræžj/)�rçž}rèž(hÙX0.572 usréžhÚjãžhäj)›hæj3hè}rêž(hê]hë]hì]hí]hð]uhòK•hô]rëžhýX0.572 usrìž…�ríž}rîž(hÙjéžhÚjçžubaubahæjjubj])�rïž}rðž(hÙUhè}rñž(hê]hë]hì]hí]hð]uhÚjÏžhô]ròžj/)�róž}rôž(hÙX0.572 usrõžhÚjïžhäj)›hæj3hè}röž(hê]hë]hì]hí]hð]uhòK•hô]r÷žhýX0.572 usrøž…�rùž}rúž(hÙjõžhÚjóžubaubahæjjubj])�rûž}rüž(hÙUhè}rýž(hê]hë]hì]hí]hð]uhÚjÏžhô]rþžj/)�rÿž}rŸ(hÙX0.572 usrŸhÚjûžhäj)›hæj3hè}rŸ(hê]hë]hì]hí]hð]uhòK•hô]rŸhýX0.572 usrŸ…�rŸ}rŸ(hÙjŸhÚjÿžubaubahæjjubj])�rŸ}rŸ(hÙUhè}r Ÿ(hê]hë]hì]hí]hð]uhÚjÏžhô]r Ÿj/)�r Ÿ}r Ÿ(hÙX1.121 usr ŸhÚjŸhäj)›hæj3hè}rŸ(hê]hë]hì]hí]hð]uhòK•hô]rŸhýX1.121 usrŸ…�rŸ}rŸ(hÙj ŸhÚj Ÿubaubahæjjubj])�rŸ}rŸ(hÙUhè}rŸ(hê]hë]hì]hí]hð]uhÚjÏžhô]rŸj/)�rŸ}rŸ(hÙX1.102 usrŸhÚjŸhäj)›hæj3hè}rŸ(hê]hë]hì]hí]hð]uhòK•hô]rŸhýX1.102 usrŸ…�rŸ}rŸ(hÙjŸhÚjŸubaubahæjjubj])�rŸ}r Ÿ(hÙUhè}r!Ÿ(hê]hë]hì]hí]hð]uhÚjÏžhô]r"Ÿj/)�r#Ÿ}r$Ÿ(hÙX1.040 usr%ŸhÚjŸhäj)›hæj3hè}r&Ÿ(hê]hë]hì]hí]hð]uhòK•hô]r'ŸhýX1.040 usr(Ÿ…�r)Ÿ}r*Ÿ(hÙj%ŸhÚj#Ÿubaubahæjjubehæj�ubjX)�r+Ÿ}r,Ÿ(hÙUhè}r-Ÿ(hê]hë]hì]hí]hð]uhÚjIžhô]r.Ÿ(j])�r/Ÿ}r0Ÿ(hÙUhè}r1Ÿ(hê]hë]hì]hí]hð]uhÚj+Ÿhô]r2Ÿj/)�r3Ÿ}r4Ÿ(hÙX**Absolute Max**r5ŸhÚj/Ÿhäj)›hæj3hè}r6Ÿ(hê]hë]hì]hí]hð]uhòK—hô]r7ŸjW)�r8Ÿ}r9Ÿ(hÙj5Ÿhè}r:Ÿ(hê]hë]hì]hí]hð]uhÚj3Ÿhô]r;ŸhýX Absolute Maxr<Ÿ…�r=Ÿ}r>Ÿ(hÙUhÚj8Ÿubahæj_ubaubahæjjubj])�r?Ÿ}r@Ÿ(hÙUhè}rAŸ(hê]hë]hì]hí]hð]uhÚj+Ÿhô]rBŸj/)�rCŸ}rDŸ(hÙX1.510 usrEŸhÚj?Ÿhäj)›hæj3hè}rFŸ(hê]hë]hì]hí]hð]uhòK—hô]rGŸhýX1.510 usrHŸ…�rIŸ}rJŸ(hÙjEŸhÚjCŸubaubahæjjubj])�rKŸ}rLŸ(hÙUhè}rMŸ(hê]hë]hì]hí]hð]uhÚj+Ÿhô]rNŸj/)�rOŸ}rPŸ(hÙX1.354 usrQŸhÚjKŸhäj)›hæj3hè}rRŸ(hê]hë]hì]hí]hð]uhòK—hô]rSŸhýX1.354 usrTŸ…�rUŸ}rVŸ(hÙjQŸhÚjOŸubaubahæjjubj])�rWŸ}rXŸ(hÙUhè}rYŸ(hê]hë]hì]hí]hð]uhÚj+Ÿhô]rZŸj/)�r[Ÿ}r\Ÿ(hÙX1.354 usr]ŸhÚjWŸhäj)›hæj3hè}r^Ÿ(hê]hë]hì]hí]hð]uhòK—hô]r_ŸhýX1.354 usr`Ÿ…�raŸ}rbŸ(hÙj]ŸhÚj[Ÿubaubahæjjubj])�rcŸ}rdŸ(hÙUhè}reŸ(hê]hë]hì]hí]hð]uhÚj+Ÿhô]rfŸj/)�rgŸ}rhŸ(hÙX2.916 usriŸhÚjcŸhäj)›hæj3hè}rjŸ(hê]hë]hì]hí]hð]uhòK—hô]rkŸhýX2.916 usrlŸ…�rmŸ}rnŸ(hÙjiŸhÚjgŸubaubahæjjubj])�roŸ}rpŸ(hÙUhè}rqŸ(hê]hë]hì]hí]hð]uhÚj+Ÿhô]rrŸj/)�rsŸ}rtŸ(hÙX2.916 usruŸhÚjoŸhäj)›hæj3hè}rvŸ(hê]hë]hì]hí]hð]uhòK—hô]rwŸhýX2.916 usrxŸ…�ryŸ}rzŸ(hÙjuŸhÚjsŸubaubahæjjubj])�r{Ÿ}r|Ÿ(hÙUhè}r}Ÿ(hê]hë]hì]hí]hð]uhÚj+Ÿhô]r~Ÿj/)�rŸ}r€Ÿ(hÙX3.385 usr�ŸhÚj{Ÿhäj)›hæj3hè}r‚Ÿ(hê]hë]hì]hí]hð]uhòK—hô]rƒŸhýX3.385 usr„Ÿ…�r…Ÿ}r†Ÿ(hÙj�ŸhÚjŸubaubahæjjubehæj�ubjX)�r‡Ÿ}rˆŸ(hÙUhè}r‰Ÿ(hê]hë]hì]hí]hð]uhÚjIžhô]rŠŸ(j])�r‹Ÿ}rŒŸ(hÙUhè}r�Ÿ(hê]hë]hì]hí]hð]uhÚj‡Ÿhô]rŽŸj/)�r�Ÿ}r�Ÿ(hÙX**Absolute Min**r‘ŸhÚj‹Ÿhäj)›hæj3hè}r’Ÿ(hê]hë]hì]hí]hð]uhòK™hô]r“ŸjW)�r”Ÿ}r•Ÿ(hÙj‘Ÿhè}r–Ÿ(hê]hë]hì]hí]hð]uhÚj�Ÿhô]r—ŸhýX Absolute Minr˜Ÿ…�r™Ÿ}ršŸ(hÙUhÚj”Ÿubahæj_ubaubahæjjubj])�r›Ÿ}rœŸ(hÙUhè}r�Ÿ(hê]hë]hì]hí]hð]uhÚj‡Ÿhô]ržŸj/)�rŸŸ}r Ÿ(hÙX0.572 usr¡ŸhÚj›Ÿhäj)›hæj3hè}r¢Ÿ(hê]hë]hì]hí]hð]uhòK™hô]r£ŸhýX0.572 usr¤Ÿ…�r¥Ÿ}r¦Ÿ(hÙj¡ŸhÚjŸŸubaubahæjjubj])�r§Ÿ}r¨Ÿ(hÙUhè}r©Ÿ(hê]hë]hì]hí]hð]uhÚj‡Ÿhô]rªŸj/)�r«Ÿ}r¬Ÿ(hÙX0.572 usr­ŸhÚj§Ÿhäj)›hæj3hè}r®Ÿ(hê]hë]hì]hí]hð]uhòK™hô]r¯ŸhýX0.572 usr°Ÿ…�r±Ÿ}r²Ÿ(hÙj­ŸhÚj«Ÿubaubahæjjubj])�r³Ÿ}r´Ÿ(hÙUhè}rµŸ(hê]hë]hì]hí]hð]uhÚj‡Ÿhô]r¶Ÿj/)�r·Ÿ}r¸Ÿ(hÙX0.572 usr¹ŸhÚj³Ÿhäj)›hæj3hè}rºŸ(hê]hë]hì]hí]hð]uhòK™hô]r»ŸhýX0.572 usr¼Ÿ…�r½Ÿ}r¾Ÿ(hÙj¹ŸhÚj·Ÿubaubahæjjubj])�r¿Ÿ}rÀŸ(hÙUhè}rÁŸ(hê]hë]hì]hí]hð]uhÚj‡Ÿhô]rŸj/)�rß}rÄŸ(hÙX1.041 usrÅŸhÚj¿Ÿhäj)›hæj3hè}rÆŸ(hê]hë]hì]hí]hð]uhòK™hô]rÇŸhýX1.041 usrÈŸ…�rÉŸ}rÊŸ(hÙjÅŸhÚjßubaubahæjjubj])�rËŸ}rÌŸ(hÙUhè}rÍŸ(hê]hë]hì]hí]hð]uhÚj‡Ÿhô]rΟj/)�rÏŸ}rП(hÙX0.885 usrÑŸhÚjËŸhäj)›hæj3hè}rÒŸ(hê]hë]hì]hí]hð]uhòK™hô]rÓŸhýX0.885 usrÔŸ…�rÕŸ}rÖŸ(hÙjÑŸhÚjÏŸubaubahæjjubj])�rן}rØŸ(hÙUhè}rÙŸ(hê]hë]hì]hí]hð]uhÚj‡Ÿhô]rÚŸj/)�rÛŸ}rÜŸ(hÙX0.885 usrÝŸhÚjןhäj)›hæj3hè}rÞŸ(hê]hë]hì]hí]hð]uhòK™hô]rߟhýX0.885 usràŸ…�ráŸ}râŸ(hÙjÝŸhÚjÛŸubaubahæjjubehæj�ubjX)�rãŸ}räŸ(hÙUhè}råŸ(hê]hë]hì]hí]hð]uhÚjIžhô]ræŸ(j])�rçŸ}rèŸ(hÙUhè}réŸ(hê]hë]hì]hí]hð]uhÚjãŸhô]rêŸj/)�rëŸ}rìŸ(hÙX**Semaphore Wake Latency**ríŸhÚjçŸhäj)›hæj3hè}rîŸ(hê]hë]hì]hí]hð]uhòK›hô]rïŸjW)�rðŸ}rñŸ(hÙjíŸhè}ròŸ(hê]hë]hì]hí]hð]uhÚjëŸhô]róŸhýXSemaphore Wake LatencyrôŸ…�rõŸ}röŸ(hÙUhÚjðŸubahæj_ubaubahæjjubj])�r÷Ÿ}røŸ(hÙUhè}rùŸ(hê]hë]hì]hí]hð]uhÚjãŸhô]hæjjubj])�rúŸ}rûŸ(hÙUhè}rüŸ(hê]hë]hì]hí]hð]uhÚjãŸhô]hæjjubj])�rýŸ}rþŸ(hÙUhè}rÿŸ(hê]hë]hì]hí]hð]uhÚjãŸhô]hæjjubj])�r }r (hÙUhè}r (hê]hë]hì]hí]hð]uhÚjãŸhô]hæjjubj])�r }r (hÙUhè}r (hê]hë]hì]hí]hð]uhÚjãŸhô]hæjjubj])�r }r (hÙUhè}r (hê]hë]hì]hí]hð]uhÚjãŸhô]hæjjubehæj�ubjX)�r  }r  (hÙUhè}r  (hê]hë]hì]hí]hð]uhÚjIžhô]r  (j])�r  }r (hÙUhè}r (hê]hë]hì]hí]hð]uhÚj  hô]r j/)�r }r (hÙX**Average Max**r hÚj  häj)›hæj3hè}r (hê]hë]hì]hí]hð]uhòK�hô]r jW)�r }r (hÙj hè}r (hê]hë]hì]hí]hð]uhÚj hô]r hýX Average Maxr …�r }r (hÙUhÚj ubahæj_ubaubahæjjubj])�r }r (hÙUhè}r (hê]hë]hì]hí]hð]uhÚj  hô]r  j/)�r! }r" (hÙX1.281 usr# hÚj häj)›hæj3hè}r$ (hê]hë]hì]hí]hð]uhòK�hô]r% hýX1.281 usr& …�r' }r( (hÙj# hÚj! ubaubahæjjubj])�r) }r* (hÙUhè}r+ (hê]hë]hì]hí]hð]uhÚj  hô]r, j/)�r- }r. (hÙX1.329 usr/ hÚj) häj)›hæj3hè}r0 (hê]hë]hì]hí]hð]uhòK�hô]r1 hýX1.329 usr2 …�r3 }r4 (hÙj/ hÚj- ubaubahæjjubj])�r5 }r6 (hÙUhè}r7 (hê]hë]hì]hí]hð]uhÚj  hô]r8 j/)�r9 }r: (hÙX1.281 usr; hÚj5 häj)›hæj3hè}r< (hê]hë]hì]hí]hð]uhòK�hô]r= hýX1.281 usr> …�r? }r@ (hÙj; hÚj9 ubaubahæjjubj])�rA }rB (hÙUhè}rC (hê]hë]hì]hí]hð]uhÚj  hô]rD j/)�rE }rF (hÙX2.645 usrG hÚjA häj)›hæj3hè}rH (hê]hë]hì]hí]hð]uhòK�hô]rI hýX2.645 usrJ …�rK }rL (hÙjG hÚjE ubaubahæjjubj])�rM }rN (hÙUhè}rO (hê]hë]hì]hí]hð]uhÚj  hô]rP j/)�rQ }rR (hÙX2.665 usrS hÚjM häj)›hæj3hè}rT (hê]hë]hì]hí]hð]uhòK�hô]rU hýX2.665 usrV …�rW }rX (hÙjS hÚjQ ubaubahæjjubj])�rY }rZ (hÙUhè}r[ (hê]hë]hì]hí]hð]uhÚj  hô]r\ j/)�r] }r^ (hÙX2.812 usr_ hÚjY häj)›hæj3hè}r` (hê]hë]hì]hí]hð]uhòK�hô]ra hýX2.812 usrb …�rc }rd (hÙj_ hÚj] ubaubahæjjubehæj�ubjX)�re }rf (hÙUhè}rg (hê]hë]hì]hí]hð]uhÚjIžhô]rh (j])�ri }rj (hÙUhè}rk (hê]hë]hì]hí]hð]uhÚje hô]rl j/)�rm }rn (hÙX**Average Min**ro hÚji häj)›hæj3hè}rp (hê]hë]hì]hí]hð]uhòKŸhô]rq jW)�rr }rs (hÙjo hè}rt (hê]hë]hì]hí]hð]uhÚjm hô]ru hýX Average Minrv …�rw }rx (hÙUhÚjr ubahæj_ubaubahæjjubj])�ry }rz (hÙUhè}r{ (hê]hë]hì]hí]hð]uhÚje hô]r| j/)�r} }r~ (hÙX1.249 usr hÚjy häj)›hæj3hè}r€ (hê]hë]hì]hí]hð]uhòKŸhô]r� hýX1.249 usr‚ …�rƒ }r„ (hÙj hÚj} ubaubahæjjubj])�r… }r† (hÙUhè}r‡ (hê]hë]hì]hí]hð]uhÚje hô]rˆ j/)�r‰ }rŠ (hÙX1.250 usr‹ hÚj… häj)›hæj3hè}rŒ (hê]hë]hì]hí]hð]uhòKŸhô]r� hýX1.250 usrŽ …�r� }r� (hÙj‹ hÚj‰ ubaubahæjjubj])�r‘ }r’ (hÙUhè}r“ (hê]hë]hì]hí]hð]uhÚje hô]r” j/)�r• }r– (hÙX1.250 usr— hÚj‘ häj)›hæj3hè}r˜ (hê]hë]hì]hí]hð]uhòKŸhô]r™ hýX1.250 usrš …�r› }rœ (hÙj— hÚj• ubaubahæjjubj])�r� }rž (hÙUhè}rŸ (hê]hë]hì]hí]hð]uhÚje hô]r  j/)�r¡ }r¢ (hÙX2.581 usr£ hÚj� häj)›hæj3hè}r¤ (hê]hë]hì]hí]hð]uhòKŸhô]r¥ hýX2.581 usr¦ …�r§ }r¨ (hÙj£ hÚj¡ ubaubahæjjubj])�r© }rª (hÙUhè}r« (hê]hë]hì]hí]hð]uhÚje hô]r¬ j/)�r­ }r® (hÙX2.551 usr¯ hÚj© häj)›hæj3hè}r° (hê]hë]hì]hí]hð]uhòKŸhô]r± hýX2.551 usr² …�r³ }r´ (hÙj¯ hÚj­ ubaubahæjjubj])�rµ }r¶ (hÙUhè}r· (hê]hë]hì]hí]hð]uhÚje hô]r¸ j/)�r¹ }rº (hÙX2.657 usr» hÚjµ häj)›hæj3hè}r¼ (hê]hë]hì]hí]hð]uhòKŸhô]r½ hýX2.657 usr¾ …�r¿ }rÀ (hÙj» hÚj¹ ubaubahæjjubehæj�ubjX)�rÁ }r (hÙUhè}rà(hê]hë]hì]hí]hð]uhÚjIžhô]rÄ (j])�rÅ }rÆ (hÙUhè}rÇ (hê]hë]hì]hí]hð]uhÚjÁ hô]rÈ j/)�rÉ }rÊ (hÙX**Absolute Max**rË hÚjÅ häj)›hæj3hè}rÌ (hê]hë]hì]hí]hð]uhòK¡hô]rÍ jW)�rΠ}rÏ (hÙjË hè}rР(hê]hë]hì]hí]hð]uhÚjÉ hô]rÑ hýX Absolute MaxrÒ …�rÓ }rÔ (hÙUhÚjΠubahæj_ubaubahæjjubj])�rÕ }rÖ (hÙUhè}r× (hê]hë]hì]hí]hð]uhÚjÁ hô]rØ j/)�rÙ }rÚ (hÙX2.968 usrÛ hÚjÕ häj)›hæj3hè}rÜ (hê]hë]hì]hí]hð]uhòK¡hô]rÝ hýX2.968 usrÞ …�rß }rà (hÙjÛ hÚjÙ ubaubahæjjubj])�rá }râ (hÙUhè}rã (hê]hë]hì]hí]hð]uhÚjÁ hô]rä j/)�rå }ræ (hÙX2.812 usrç hÚjá häj)›hæj3hè}rè (hê]hë]hì]hí]hð]uhòK¡hô]ré hýX2.812 usrê …�rë }rì (hÙjç hÚjå ubaubahæjjubj])�rí }rî (hÙUhè}rï (hê]hë]hì]hí]hð]uhÚjÁ hô]rð j/)�rñ }rò (hÙX2.812 usró hÚjí häj)›hæj3hè}rô (hê]hë]hì]hí]hð]uhòK¡hô]rõ hýX2.812 usrö …�r÷ }rø (hÙjó hÚjñ ubaubahæjjubj])�rù }rú (hÙUhè}rû (hê]hë]hì]hí]hð]uhÚjÁ hô]rü j/)�rý }rþ (hÙX5.625 usrÿ hÚjù häj)›hæj3hè}r¡(hê]hë]hì]hí]hð]uhòK¡hô]r¡hýX5.625 usr¡…�r¡}r¡(hÙjÿ hÚjý ubaubahæjjubj])�r¡}r¡(hÙUhè}r¡(hê]hë]hì]hí]hð]uhÚjÁ hô]r¡j/)�r ¡}r ¡(hÙX5.468 usr ¡hÚj¡häj)›hæj3hè}r ¡(hê]hë]hì]hí]hð]uhòK¡hô]r ¡hýX5.468 usr¡…�r¡}r¡(hÙj ¡hÚj ¡ubaubahæjjubj])�r¡}r¡(hÙUhè}r¡(hê]hë]hì]hí]hð]uhÚjÁ hô]r¡j/)�r¡}r¡(hÙX7.500 usr¡hÚj¡häj)›hæj3hè}r¡(hê]hë]hì]hí]hð]uhòK¡hô]r¡hýX7.500 usr¡…�r¡}r¡(hÙj¡hÚj¡ubaubahæjjubehæj�ubjX)�r¡}r¡(hÙUhè}r¡(hê]hë]hì]hí]hð]uhÚjIžhô]r ¡(j])�r!¡}r"¡(hÙUhè}r#¡(hê]hë]hì]hí]hð]uhÚj¡hô]r$¡j/)�r%¡}r&¡(hÙX**Absolute Min**r'¡hÚj!¡häj)›hæj3hè}r(¡(hê]hë]hì]hí]hð]uhòK£hô]r)¡jW)�r*¡}r+¡(hÙj'¡hè}r,¡(hê]hë]hì]hí]hð]uhÚj%¡hô]r-¡hýX Absolute Minr.¡…�r/¡}r0¡(hÙUhÚj*¡ubahæj_ubaubahæjjubj])�r1¡}r2¡(hÙUhè}r3¡(hê]hë]hì]hí]hð]uhÚj¡hô]r4¡j/)�r5¡}r6¡(hÙX1.093 usr7¡hÚj1¡häj)›hæj3hè}r8¡(hê]hë]hì]hí]hð]uhòK£hô]r9¡hýX1.093 usr:¡…�r;¡}r<¡(hÙj7¡hÚj5¡ubaubahæjjubj])�r=¡}r>¡(hÙUhè}r?¡(hê]hë]hì]hí]hð]uhÚj¡hô]r@¡j/)�rA¡}rB¡(hÙX1.250 usrC¡hÚj=¡häj)›hæj3hè}rD¡(hê]hë]hì]hí]hð]uhòK£hô]rE¡hýX1.250 usrF¡…�rG¡}rH¡(hÙjC¡hÚjA¡ubaubahæjjubj])�rI¡}rJ¡(hÙUhè}rK¡(hê]hë]hì]hí]hð]uhÚj¡hô]rL¡j/)�rM¡}rN¡(hÙX1.250 usrO¡hÚjI¡häj)›hæj3hè}rP¡(hê]hë]hì]hí]hð]uhòK£hô]rQ¡hýX1.250 usrR¡…�rS¡}rT¡(hÙjO¡hÚjM¡ubaubahæjjubj])�rU¡}rV¡(hÙUhè}rW¡(hê]hë]hì]hí]hð]uhÚj¡hô]rX¡j/)�rY¡}rZ¡(hÙX2.343 usr[¡hÚjU¡häj)›hæj3hè}r\¡(hê]hë]hì]hí]hð]uhòK£hô]r]¡hýX2.343 usr^¡…�r_¡}r`¡(hÙj[¡hÚjY¡ubaubahæjjubj])�ra¡}rb¡(hÙUhè}rc¡(hê]hë]hì]hí]hð]uhÚj¡hô]rd¡j/)�re¡}rf¡(hÙX2.343 usrg¡hÚja¡häj)›hæj3hè}rh¡(hê]hë]hì]hí]hð]uhòK£hô]ri¡hýX2.343 usrj¡…�rk¡}rl¡(hÙjg¡hÚje¡ubaubahæjjubj])�rm¡}rn¡(hÙUhè}ro¡(hê]hë]hì]hí]hð]uhÚj¡hô]rp¡j/)�rq¡}rr¡(hÙX2.343 usrs¡hÚjm¡häj)›hæj3hè}rt¡(hê]hë]hì]hí]hð]uhòK£hô]ru¡hýX2.343 usrv¡…�rw¡}rx¡(hÙjs¡hÚjq¡ubaubahæjjubehæj�ubehæjÊubehæjËubahæj=ubaubeubeubhähåhæj>hè}ry¡(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineK_UtypejY&uhòKahóhhô]rz¡(j/)�r{¡}r|¡(hÙXTitle overline too short.hè}r}¡(hê]hë]hì]hí]hð]uhÚj›hô]r~¡hýXTitle overline too short.r¡…�r€¡}r�¡(hÙUhÚj{¡ubahæj3ubjË)�r‚¡}rƒ¡(hÙXI********************** Interrupt Latency Benchmark **********************hè}r„¡(jjhí]hì]hê]hë]hð]uhÚj›hô]r…¡hýXI********************** Interrupt Latency Benchmark **********************r†¡…�r‡¡}rˆ¡(hÙUhÚj‚¡ubahæjÎubeubj¬)�r‰¡}rŠ¡(hÙUhÚj0›häj)›hæj>hè}r‹¡(hê]UlevelKhí]hì]rŒ¡j6›aUsourcej)›hë]hð]UlineKUtypejAuhòKhóhhô]r�¡j/)�rŽ¡}r�¡(hÙX/Duplicate implicit target name: "introduction".hè}r�¡(hê]hë]hì]hí]hð]uhÚj‰¡hô]r‘¡hýX/Duplicate implicit target name: "introduction".r’¡…�r“¡}r”¡(hÙUhÚjŽ¡ubahæj3ubaubj¬)�r•¡}r–¡(hÙUhÚjh›häj)›hæj>hè}r—¡(hê]UlevelKhí]hì]r˜¡jn›aUsourcej)›hë]hð]UlineKUtypejAuhòKhóhhô]r™¡j/)�rš¡}r›¡(hÙX/Duplicate implicit target name: "requirements".hè}rœ¡(hê]hë]hì]hí]hð]uhÚj•¡hô]r�¡hýX/Duplicate implicit target name: "requirements".rž¡…�rŸ¡}r ¡(hÙUhÚjš¡ubahæj3ubaubj¬)�r¡¡}r¢¡(hÙUhÚjÈ›häj)›hæj>hè}r£¡(hê]UlevelKhí]hì]r¤¡jΛaUsourcej)›hë]hð]UlineK!UtypejAuhòK!hóhhô]r¥¡j/)�r¦¡}r§¡(hÙX2Duplicate implicit target name: "software design".hè}r¨¡(hê]hë]hì]hí]hð]uhÚj¡¡hô]r©¡hýX2Duplicate implicit target name: "software design".rª¡…�r«¡}r¬¡(hÙUhÚj¦¡ubahæj3ubaubj¬)�r­¡}r®¡(hÙUhÚj÷›häj)›hæj>hè}r¯¡(hê]UlevelKhí]hì]r°¡jü›aUsourcej)›hë]hð]UlineK1UtypejAuhòK1hóhhô]r±¡j/)�r²¡}r³¡(hÙX>Duplicate implicit target name: "interrupt latency benchmark".hè}r´¡(hê]hë]hì]hí]hð]uhÚj­¡hô]rµ¡hýX>Duplicate implicit target name: "interrupt latency benchmark".r¶¡…�r·¡}r¸¡(hÙUhÚj²¡ubahæj3ubaubj¬)�r¹¡}rº¡(hÙUhÚjŠœhäj)›hæj>hè}r»¡(hê]UlevelKhí]hì]r¼¡j�œaUsourcej)›hë]hð]UlineKFUtypejAuhòKFhóhhô]r½¡j/)�r¾¡}r¿¡(hÙX8Duplicate implicit target name: "how to build the demo".hè}rÀ¡(hê]hë]hì]hí]hð]uhÚj¹¡hô]rÁ¡hýX8Duplicate implicit target name: "how to build the demo".r¡…�rá}rÄ¡(hÙUhÚj¾¡ubahæj3ubaubj¬)�rÅ¡}rÆ¡(hÙUhÚjšœhäj)›hæj>hè}rÇ¡(hê]UlevelKhí]hì]rÈ¡jŸœaUsourcej)›hë]hð]UlineKIUtypejAuhòKIhóhhô]rÉ¡j/)�rÊ¡}rË¡(hÙX5Duplicate implicit target name: "processor-sdk rtos".hè}rÌ¡(hê]hë]hì]hí]hð]uhÚjÅ¡hô]rÍ¡hýX5Duplicate implicit target name: "processor-sdk rtos".rΡ…�rÏ¡}rС(hÙUhÚjÊ¡ubahæj3ubaubj¬)�rÑ¡}rÒ¡(hÙUhÚj¸œhäj)›hæj>hè}rÓ¡(hê]UlevelKhí]hì]rÔ¡j¾œaUsourcej)›hë]hð]UlineKWUtypejAuhòKWhóhhô]rÕ¡j/)�rÖ¡}rס(hÙX6Duplicate implicit target name: "how to run the demo".hè}rØ¡(hê]hë]hì]hí]hð]uhÚjÑ¡hô]rÙ¡hýX6Duplicate implicit target name: "how to run the demo".rÚ¡…�rÛ¡}rÜ¡(hÙUhÚjÖ¡ubahæj3ubaubj¬)�rÝ¡}rÞ¡(hÙUhÚj½�häXbinternal padding after source/rtos/Examples_and_Demonstrations/Interrupt_Latency_Benchmark.rst.incrß¡hæj>hè}rà¡(hê]UlevelKhí]hì]Usourcej)›hë]hð]UlineK©UtypejfuhòKªhóhhô]rá¡(j/)�râ¡}rã¡(hÙX;Content block expected for the "raw" directive; none found.hè}rä¡(hê]hë]hì]hí]hð]uhÚjÝ¡hô]rå¡hýX;Content block expected for the "raw" directive; none found.ræ¡…�rç¡}rè¡(hÙUhÚjâ¡ubahæj3ubjË)�ré¡}rê¡(hÙX.. raw:: html hè}rë¡(jjhí]hì]hê]hë]hð]uhÚjÝ¡hô]rì¡hýX.. raw:: html rí¡…�rî¡}rï¡(hÙUhÚjé¡ubahæjÎubeubeUcurrent_sourcerð¡NU decorationrñ¡NUautofootnote_startrò¡KUnameidsró¡}rô¡(hjhj�6hjš�h j.2h jÁ�h Nh jp{h juˆhj·hj:hNhj<hj‰4hj5hjÊhjN1hjP3hNhjA“hj-.hjXwhj<‰hj½Dhjé hj,:hj›Šh jé†h!Nh"jQ.h#jßh$jxxh%jý9h&jºh'jëh(j�2h)j©�h*Nh+js|h,j¤h-jáh.jáŒh/jDh0Nh1jˆ8h2júh3j€h4jQh5j´wh6jAGh7j«Šh8jb™h9jh:jóh;NhNh?Nh@jDšhAjhBNhCjÌhDjŒŠhEjÓhFjÚhGNhHNhIjhhJj¬hKjQzhLNhMjl(hNjJ4hOj<hPjY7hQj9#hRjå:hSj hTNhUNhVj~hWj-ƒhXjæhYj®8hZj‘h[j›%h\jÀ-h]Nh^j%h_jubj¬)�r¢}r¢(hÙUhè}r¢(hê]UlevelKhí]hì]Usourcehåhë]hð]UlineMßUtypejAuhô]r¢j/)�r¢}r¢(hÙUhè}r¢(hê]hë]hì]hí]hð]uhÚj¢hô]r¢hýXEHyperlink target "demo-simplelink-wifi-demo-label" is not referenced.r¢…�r¢}r¢(hÙUhÚj¢ubahæj3ubahæj>ubeUreporterr¢NUid_startr¢KXU autofootnotesr¢]r¢U citation_refsr ¢}r!¢Uindirect_targetsr"¢]r#¢Usettingsr$¢(cdocutils.frontend Values r%¢or&¢}r'¢(Ufootnote_backlinksr(¢KUrecord_dependenciesr)¢NU rfc_base_urlr*¢Uhttps://tools.ietf.org/html/r+¢U tracebackr,¢ˆUpep_referencesr-¢NUstrip_commentsr.¢NU toc_backlinksr/¢jjU language_coder0¢Uenr1¢U datestampr2¢NU report_levelr3¢KU _destinationr4¢NU halt_levelr5¢KU strip_classesr6¢NhúNUerror_encoding_error_handlerr7¢Ubackslashreplacer8¢Udebugr9¢NUembed_stylesheetr:¢‰Uoutput_encoding_error_handlerr;¢Ustrictr<¢U sectnum_xformr=¢KUdump_transformsr>¢NU docinfo_xformr?¢KUwarning_streamr@¢NUpep_file_url_templaterA¢Upep-%04drB¢Uexit_status_levelrC¢KUconfigrD¢NUstrict_visitorrE¢NUcloak_email_addressesrF¢ˆUtrim_footnote_reference_spacerG¢‰UenvrH¢NUdump_pseudo_xmlrI¢NUexpose_internalsrJ¢NUsectsubtitle_xformrK¢‰U source_linkrL¢NUrfc_referencesrM¢NUoutput_encodingrN¢Uutf-8rO¢U source_urlrP¢NUinput_encodingrQ¢U utf-8-sigrR¢U_disable_configrS¢NU id_prefixrT¢UU tab_widthrU¢KUerror_encodingrV¢UUTF-8rW¢U_sourcerX¢håUgettext_compactrY¢ˆU generatorrZ¢NUdump_internalsr[¢NU smart_quotesr\¢‰U pep_base_urlr]¢U https://www.python.org/dev/peps/r^¢Usyntax_highlightr_¢Ulongr`¢Uinput_encoding_error_handlerra¢j<¢Uauto_id_prefixrb¢Uidrc¢Udoctitle_xformrd¢‰Ustrip_elements_with_classesre¢NU _config_filesrf¢]Ufile_insertion_enabledrg¢ˆU raw_enabledrh¢KU dump_settingsri¢NubUsymbol_footnote_startrj¢KUidsrk¢}rl¢(jjjÿjùj©0j¥0jÊ1jÆ1jÀMj»MjÆHjÁHj[GjVGjX"jS"j9jü8jÊjÆj†:j‡6j@1j:1jÄ0j¾0j=-j9-jáŒjÝŒjÀ-j¼-juˆjpˆj·j²jÓj¿“j j j:j6jújöjhjdjRjLj¼‰j·‰j8Rj3RjÊjÅjj±>j;jú:j<‰j7‰jš�j–�jjj)jc…j^…j·„j²„já†jâ†jÑ…jÌ…j<j8j³�j†Šj!‰j‰jVŒjRŒjìjèj›%j—%jEjAjƒj}jÍ}jÈ}jq$jm$jijcj:j:j \j\jΛjÈ›jn›jh›j<j8jXwjTwj¾œj¸œjŸœjšœjA“j=“j'"j#"jˆjˆjé†jå†jÎ"jÉ"j' j# jp%jl%jQzjLzjÇ jà jÌ{jÇ{jÍjÉjÒjÎj jœjÀj¼j2j¯jú jö j/j*jZjxjé hÞjÿjùjÜ jØ jBj=jêƒjåƒjl(jh(j34j/4j�uj}uj¦~j¡~jd@j^@j3j/j˜j“jöDjòDjå:já:jDj@j±#j­#jµj±jÎ9jÊ9jìwjèwjD9j@9j›Šj—ŠjŽAjˆAjî(jè(jPyjKyj¤jŸj¤‡jŸ‡j&šj"šjR$jN$jº,j¶,jÁ�j½�j¿Žj»Žjp{jk{j:j:j*j$jKjGj�9jŠ9jjjújöj6”j2”j�2j‰2jðxjëxj±€j¬€j–j’j›j›jjj_“jZ“j#8j8jÆ…jÁ…jü#jø#jT9jO9jò"jí"jÐjÊj|šjl‘j˜(j“(jFzjAzjˆ8j„8jшj̈j¨6j¢6jb™j^™jÛ�jÖ�j\#jX#jájÝjŒ|jˆ|j,:j':jD.j@.jÔ5j£0jœ,j–,jE.j�0jð+jê+jF,j@,j+j +jÔ+jÎ+jº)j´)jk*jf*j€j €j5j5jj jUvjOvj¶xjŠ„jµxj±xj«Šj§ŠjŠlj…lj7xjbuj©uj¤uj’xj�xj¯VjªVjÆWjÁWhïhâjDhj?hjä&jà&j-.j).j}jyje:j`:jé.jÞ&j¢#jž#j%j!jA†j<†jÃ+j¿+j@Ejß:jl�jh�j¬j¨jÝjÙj#jj'j!jÛœjלjmjijš)j”)jÚjÖjsƒjnƒjÔ4jÐ4j†Cj€Cjïjêj©j¤jM"jG"j &j;j�'j—'jÿ&jù&j}(jw(j¬'j§'uUsubstitution_namesrm¢}rn¢(hÕhÕjTjTuhæhóhè}ro¢(hê]hí]hì]Usourcehåhë]hð]uU footnotesrp¢]rq¢Urefidsrr¢}rs¢ub.