€cdocutils.nodes document q)�q}q(U nametypesq}q(Xdsp-access-to-peripheralsqˆX%timer-suspend-control-options-for-dspqˆXuwhere can i find memory foot print, interrupt latency and performance numbers of the ti rtos when designing my systemqNX%pdk example and test project creationq ˆX,ipc debugging tools and techniques on am57xxq NX+running-uart-readwrite-pdk-example-from-ccsq ˆXboot configurationq NX5connect-ethernet-cable-to-enable-network-connectivityq ˆXattaching after the issueqNXmulti-core-initializationqˆXverify componentsqNX;debugging tools and techniques with ipc3.x application noteqˆXadditional notes for gel usersqNX$viewing the state of the remote coreqNX(additional steps for am335x/am437x usersqNX ccs setupqNXVhow to debug common application issues like stack overflow, exception and memory leaksqNXRcreating debug configuration to integrate ccs gel and dmsc firmware initializationqNX0code composer studio (ccs) and emulation supportqNX%connect without an sd card boot imageqNX'ccs and sdk installed in same directoryqNXchanging-the-dsp-memory-mapqˆX;update-ccs-v6-to-install-keystone-ii-device-support-packageqˆX related-linksqˆXsetting up the hardwareqNXrun ipc examples on am572xqNXconnecting to ccsq NX(omap-l137/c6747 evm hardware setup guideq!NXdiscovering sdk productsq"NXconnecting-to-targetq#ˆX2related article for processor sdk linux developersq$NX2connecting the amic110 ice to code composer studioq%NX0xdc.tools.configuro: missing input config scriptq&NXusageq'NX!creating the target configurationq(NXconnect to evmk2h using ccsq)NX%qnx – remote core state informationq*NXhardware setup stepsq+NX?processor sdk rtos porting guide for am571x/am570x speed gradesq,NXipc-ping-exampleq-ˆX2advanced am65x debug setup with dmsc firmware loadq.NX&linux and android - remote core tracesq/NX#debugging mmu faults and exceptionsq0NX/processor-sdk-rtos-install-in-custom-path-labelq1ˆXrebuilding the sdk rtosq2NX+host driver for on-board mini-usb connectorq3NX'supported jtag debug probes (emulators)q4NXconnecting an emulatorq5NXk2h-set-no-boot-modeq6ˆX>taking the c66x out of reset with linux running on the arm a15q7NX1what sys/bios debugging tools do we have in ccs ?q8NXYwhere does ti rtos application get the platform definition and memory sections on the socq9NX/ccs in default path and sdk rtos in custom pathq:NXconnecting-the-uartq;ˆX66ak2gx gp evm hardware setupqNX unicache-mmuq?ˆXrebuilding the pdkq@NXpower managementqANX cma-carveoutsqBˆXam65xx ipc examplesqCNXbootmodeconfigurationqDˆXhardware setupqENXam335x ice evm hardware setupqFNXYhow to set input frequency in sysbios configuration and change timer used by clock moduleqGNX"open new target configuration fileqHNX crash dumpqINXquick-start-guideqJˆXcmemqKˆXreal time analysis(rta) agentqLNX$creating a target configuration fileqMNX(handling-ammu-l1-unicache-mmu-and-l2-mmuqNˆXdefault binaries and setupqONXpowering up the evmqPNX1minimum hardware setup required to connect to evmqQNX6how do i determine the call stack at the time of crashqRNXlinux quick start guideqSNXipc-hello-exampleqTˆX"connect with an sd card boot imageqUNXtracesqVNX*example custom board library for referenceqWNXGcreating pdk example/test projects when ccs is installed to custom pathqXNXlaunch target configurationqYNXdsp-physical-addressesqZˆXcontents-of-the-kitq[ˆXccs and pdk in custom pathq\NXconnectingemulatorq]ˆX ccs-setupq^ˆXperform in-field updateq_NX requirementsq`NXiommuqaˆX1make-ccs-project-out-of-ex02_messageq-ipc-exampleqbˆXrunning board diagnosticsqcNX am65x evmqdNXccs and sdk rtos in custom pathqeNX:what is relationship between ti rtos and xdctools and rtscqfNX8adding-ipc-to-an-existing-ti-rtos-application-on-the-ipuqgˆX1attach the serial port cable to the soc uart portqhNXtmdxidk5728 hardware setupqiNX*ccs in custom path and pdk in default pathqjNXdirectory structureqkNXconnecting to a console windowqlNXipc-notify-peer-exampleqmˆXam65x debug software setupqnNXamic110 ice evm hardware setupqoNX@how to add custom compiler options and build custom bios libraryqpNX%timer suspend control options for dspqqNX)run baremetal applications from ddr on r5qrNXtmdxevm6670l evm hardware setupqsNX"clock and prcm updates to considerqtNXbootmode switchesquNXPxdc.cfg.sourcedir : build of generated source libraries failed: exit status = 2:qvNX<update-xds200-firmware-and-hardware-components-on-the-gp-evmqwˆX5how get uia logging working with ti rtos application?qxNXadditional referencesqyNXdriver soc module clock changesqzNX run-baremetal-app-from-ddr-on-r5q{ˆXlogging and traceq|NX(setup ccs for evm and processor-sdk rtosq}NXconnect the jtag interfaceq~NX how-to-guideqˆX0connecting to target and loading/running programq€NXsys/bios – disabling watchdogq�NXruntime object viewerq‚ˆX(create target configuration file for evmqƒNXhardware-updates-requiredq„ˆX^create dsp and ipu firmware using pdk drivers and ipc to load from arm linux on am57xx devicesq…NXprocessor sdk release notesq†ˆXexception handlingq‡NXrun-apps-from-ddr-on-r5-coresqˆˆXuart connectionq‰NXschema files not foundqŠNX>board library changes to consider for using processor sdk rtosq‹NXti rtos platform configurationqŒNXhostq�NXdownload-the-full-ccs-projectqŽˆXrecommended boot modeq�NXchanging the bootmodeq�NX+connecting the lcdk to code composer studioq‘NXlinux and android - remoteprocq’NXsoftware setupq“NX*ccs in default path and pdk in custom pathq”NX#cortex-m4-ipu-access-to-peripheralsq•ˆXLhow to configure crossbar when setting up interrupts on dra7xx/tda2xx/am57xxq–NXsetting-boot-switchesq—ˆXpower-supply-specificationsq˜ˆXconnect the power cableq™NXdsp-virtual-addressesqšˆXconnect to am57x slave coresq›NX!pmic-auto-off-after-seven-secondsqœˆXusing code composer studioq�NX3update environment when installing to a custom pathqžNXqnx - remote core tracesqŸNXucd power management updateq NX/typical-boot-flow-on-am572x-for-arm-linux-usersq¡ˆXccs host setupq¢NXtargetq£NXdwhat kind of heap should i use in sysbios application and how do i allocate heap in my configurationq¤NX.ccs and sdk installed in different directoriesq¥NX?how to take the c66x dsp out of reset with linux running on a15q¦NXhardware interrupts (hwi)q§NXsoftwareq¨NX#ftdi driver installation on pc hostq©NX)jtag-debug-probes-aka-emulators-supportedqªˆX host-driversq«ˆX connecting to the cores on am65xq¬NXchanges to ccs configurationq­NX1using sysbios with gnu gcc (for arm devices only)q®NX"connect-after-booting-from-sd-cardq¯ˆXoverviewq°NX!changing-cortex-m4-ipu-memory-mapq±ˆX$run bios applications from ddr on r5q²NXshow to place code and data sections in different memory location than set by default ti rtos platform configurationq³NX<adding ipc to an existing ti-rtos application on slave coresq´NXevmk2e hardware setup guideqµNXconnect targetq¶NXconnect-power-to-the-evmq·ˆX1connecting the am3359 ice to code composer studioq¸NX application software developmentq¹NXk2h-spi-le-boot-modeqºˆXtroubleshootingq»NX'build-and-run-ex02_messageq-ipc-exampleq¼ˆXexception dump decodingq½NX$software-dependencies-to-get-startedq¾ˆX0inspecting-the-dsp-iommu-page-tables-at-run-timeq¿ˆXgo to product preferenceqÀNX$connect-without-a-sd-card-boot-imageqÁˆX(processor sdk rtos getting started guideqˆXBinstall latest emulation package and sitara device support packageqÃNX/ccs in custom path and sdk rtos in default pathqÄNXdra7xx/am572xx ipc examplesqÅNX introductionqÆNXsupportqÇNX%tmdsevm6657l evm hardware setup guideqÈNXbmc in-field updateqÉNXadditional notes for am57xqÊNX,ucd power management modules in-field updateqËNXboot mode dip switch settingsqÌNXtarget configurationqÍNXk2e-set-no-boot-modeqΈX sample outputqÏNXclocks and timersqÐNX.flash bootable images (c66x, k2h/k2e/k2l only)qÑNXipc-message-queue-exampleqÒˆX debug symbolsqÓNXbmc version check and updateqÔNXNcustomizing memory map for creating multicore applications on am57xx using ipcqÕNXevm k2e how to guidesqÖNXuseful-resources-and-supportq׈XQhow to create custom platform like ddrless platforms to use with ti rtos projectsqØNX?install the latest emulation package and device support packageqÙNXsuccess!qÚNXVwhat are the different clock and timer modules in ti rtos that you should be aware of?qÛNX:how can i get dump of registers when an exception occurs ?qÜNXportingqÝNX semihostingqÞNXunderstanding the memory mapqßNX cortex-m4-ipu-physical-addressesqàˆX thread typesqáNX%tmdxevm6678l evm hardware setup guideqâNXgeneric ti rtos questionsqãNX1instructions to add custom board to the pdk buildqäNX/comparison of am572x, am571x and am570x devicesqåNXadd-ipc-to-the-uart-exampleqæˆXrun ipc examples on am65xxqçNXsave target configurationqèNX(configuring-target-configuration-files-1qéˆXprepare evm for in-field updateqêNXsetupqëNX“can you use any sysbios version with any version of xdctools when creating create or migrating to ti rtos based application development environmentqìNXlinux and android - iommu infoqíNXLrtos customization: using an external input to trigger an interrupt on am57xqîNXattaching before the issueqïNX8update ccs to install keystone ii device support packageqðNX@are there any graphical tools to configure sysbios configurationqñNX&dip switch and bootmode configurationsqòNX-what is the difference between swis and tasksqóNX benchmarksqôNXtracingqõNXuseful resources and supportqöNXevm-layout-and-key-componentsq÷ˆXpowering-up-the-evmqøˆX)how can you route exception print to uartqùNX7why can`t i see output of system_printf on ccs console?qúNXoverall-linux-memory-mapqûˆX debuggingqüNXti rtos basicsqýNXevm hardware setupqþNX+update-the-evm-for-improved-usb-performanceqÿˆX#ddr configuration (rev 0b evm only)rNX5linux and android - disabling remoteproc auto-suspendrNX add-ipc-to-the-led-blink-examplerˆX&running-led-blink-pdk-example-from-ccsrˆXremote core status informationrNX mmu faultsrNX'getting started with ipc linux examplesrNX#omap-l138/c6748 lcdk hardware setuprNXhardwarerNXti rtos tips & tricksr NXsystem integrationr NXOhow do i port existing application developed on sysbios application to smp/biosr NX0rtsc diagnostics: understanding xdc build errorsr NXview target configurationsr NXrun-bios-app-from-ddr-on-r5rˆXevm layout and key componentsrNXPxdc.tools.configuro: can't locate the package 'package name' along the path: ...rNX8adding-ipc-to-an-existing-ti-rtos-application-on-the-dsprˆXworkaround-for-this-issuerˆX6how to get accurate clock ticks from the clock module?rNXquick start guiderNX3how to add house keeping functions in the idle taskrNXpowering the lcdkrNXqnx - adding tracesrNXsettingbootswitchesrˆXchanging-soc-operating-pointrˆXam572x gp evm hardware setuprNXIhow to enable printf/system_printf to go to ccs io console on arm devicesrNXexpanding-ipc-ping-examplerˆXminimal-evm-setuprˆX"rebuild drivers from pdk directoryrNX66ak2g audio dc addonrNX*connecting-idk-evm-to-code-composer-studior ˆXattach the ethernet cabler!NXtestr"NXmemory and heapr#NX.prevent beaglebone board reset on jtag connectr$NXconfiguringtargetconfigfiler%ˆXLupdate-linux-kernel-device-tree-to-remove-uart-that-will-be-controlled-by-m4r&ˆXhardware setup overviewr'NXsetting boot switchesr(NX66ak2g02 ice evm hardware setupr)NX k2h set the boot mode switch sw1r*NX descriptionr+ˆX,linux and android - disabling error recoveryr,NXevmk2h hardware setup guider-NXcortex-m4-ipu-virtual-addressesr.ˆXenter path to sdkr/NXgel-file-optionsr0ˆX debug toolsr1NX(linux and android – disabling watchdogr2NX qnx – disabling error recoveryr3NXrtos object view(rov)r4NX!building-the-bundled-ipc-examplesr5ˆX'linux and android - enabling ipc tracesr6NX"update-the-bmc-firmware-on-the-evmr7ˆX!connect-with-a-sd-card-boot-imager8ˆX%run applications from ddr on r5 coresr9NXother-how-to-optionsr:ˆXbasic ccs setupr;NXsoftware-update-requiredr<ˆX#select target configuration optionsr=NXuseful-utilitiesr>ˆX-rev 1.0 evm sw1 switch bootmode configurationr?NXk2e-spi-le-boot-moder@ˆX"processor-sdk-rtos-setup-ccs-labelrAˆXconfigure ddr interfacesrBNX running-the-bundled-ipc-examplesrCˆX*create-sd-card-to-boot-linux-on-the-gp-evmrDˆXqnx – enabling ipc tracesrENXlinux and android - debugfsrFNXconnecting-emulatorrGˆXpowering the evmrHNXcode composer studiorINXpinmux changes to considerrJNX#connect target and load/run programrKNX restart ccsrLNX&configuring-target-configuration-filesrMˆXhardware user's guiderNˆX k2e set the boot mode switch sw1rONXtest target configurationrPNXminimal evm setuprQNuUsubstitution_defsrR}rSUparse_messagesrT]rU(cdocutils.nodes system_message rV)�rW}rX(U rawsourcerYUUparentrZcdocutils.nodes section r[)�r\}r](jYUjZj[)�r^}r_(jYUjZj[)�r`}ra(jYUjZhUsourcerbXR/home/gtbldadm/nightlybuilds/processor-sdk-doc/source/rtos/index_how_to_guides.rstrcUtagnamerdUsectionreU attributesrf}rg(Udupnamesrh]Uclassesri]Ubackrefsrj]Uidsrk]rlUtargetrmaUnamesrn]roh£auUlinerpKUdocumentrqhUchildrenrr]rs(cdocutils.nodes title rt)�ru}rv(jYXTargetrwjZj`jbjcjdUtitlerxjf}ry(jh]ji]jj]jk]jn]ujpKjqhjr]rzcdocutils.nodes Text r{XTargetr|…�r}}r~(jYjwjZjuubaubj^j[)�r}r€(jYUjZj`jbjcjdjejf}r�(jh]ji]jj]jk]r‚Urun-ipc-examples-on-am65xxrƒajn]r„hçaujpK jqhjr]r…(jt)�r†}r‡(jYXRun IPC Examples on AM65XXrˆjZjjbjcjdjxjf}r‰(jh]ji]jj]jk]jn]ujpK jqhjr]rŠj{XRun IPC Examples on AM65XXr‹…�rŒ}r�(jYjˆjZj†ubaubj[)�rŽ}r�(jYUjZjjbcdocutils.nodes reprunicode r�XCsource/rtos/How_to_Guides/Target/Run_IPC_Examples_on_AM65xx.rst.incr‘…�r’}r“bjdjejf}r”(jh]ji]jj]jk]r•Uam65xx-ipc-examplesr–ajn]r—hCaujpKjqhjr]r˜(jt)�r™}rš(jYXAM65xx IPC Examplesr›jZjŽjbj’jdjxjf}rœ(jh]ji]jj]jk]jn]ujpKjqhjr]r�j{XAM65xx IPC Examplesrž…�rŸ}r (jYj›jZj™ubaubcdocutils.nodes paragraph r¡)�r¢}r£(jYXaIn the processor SDK release ipc examples can be built from the Processor SDK top level makefile.r¤jZjŽjbj’jdU paragraphr¥jf}r¦(jh]ji]jj]jk]jn]ujpKjqhjr]r§j{XaIn the processor SDK release ipc examples can be built from the Processor SDK top level makefile.r¨…�r©}rª(jYj¤jZj¢ubaubj¡)�r«}r¬(jYX"See link for building IPC examplesr­jZjŽjbj’jdj¥jf}r®(jh]ji]jj]jk]jn]ujpKjqhjr]r¯j{X"See link for building IPC examplesr°…�r±}r²(jYj­jZj«ubaubj¡)�r³}r´(jYX:ref:`ipc-rtos-examples`rµjZjŽjbj’jdj¥jf}r¶(jh]ji]jj]jk]jn]ujpK jqhjr]r·csphinx.addnodes pending_xref r¸)�r¹}rº(jYjµjZj³jbj’jdU pending_xrefr»jf}r¼(UreftypeXrefUrefwarnr½ˆU reftargetr¾Xipc-rtos-examplesU refdomainXstdr¿jk]jj]U refexplicit‰jh]ji]jn]UrefdocrÀXrtos/index_how_to_guidesrÁujpK jr]rÂcdocutils.nodes inline rÃ)�rÄ}rÅ(jYjµjf}rÆ(jh]ji]rÇ(UxrefrÈj¿Xstd-refrÉejj]jk]jn]ujZj¹jr]rÊj{Xipc-rtos-examplesrË…�rÌ}rÍ(jYUjZjÄubajdUinlinerÎubaubaubj¡)�rÏ}rÐ(jYXúOnce the examples are built, they can be run by loading and running the binaries using CCS through JTAG. Please refer to the section "Advanced AM65x Debug Setup with DMSC Firmware Load" of the TMDX654 EVM Hardware Setup Guide for setting up the JTAG.rÑjZjŽjbj’jdj¥jf}rÒ(jh]ji]jj]jk]jn]ujpK jqhjr]rÓj{XúOnce the examples are built, they can be run by loading and running the binaries using CCS through JTAG. Please refer to the section "Advanced AM65x Debug Setup with DMSC Firmware Load" of the TMDX654 EVM Hardware Setup Guide for setting up the JTAG.rÔ…�rÕ}rÖ(jYjÑjZjÏubaubj¡)�r×}rØ(jYX5`Advanced AM65x Debug Setup with DMSC Firmware Load`_rÙjZjŽjbj’jdj¥jf}rÚ(jh]ji]jj]jk]jn]ujpKjqhjr]rÛcdocutils.nodes reference rÜ)�rÝ}rÞ(jYjÙUresolvedrßKjZj×jdU referenceràjf}rá(UnameX2Advanced AM65x Debug Setup with DMSC Firmware Loadjk]jj]jh]ji]jn]UrefidrâU2advanced-am65x-debug-setup-with-dmsc-firmware-loadrãujr]räj{X2Advanced AM65x Debug Setup with DMSC Firmware Loadrå…�ræ}rç(jYUjZjÝubaubaubcdocutils.nodes rubric rè)�ré}rê(jYXIPC Message Queue Example:rëU referencedrìKjZjŽjbj’jdUrubricríjf}rî(jk]rïUid1rðajj]jh]rñXipc-message-queue-exampleròaji]jn]ujpNjqhjr]rój{XIPC Message Queue Example:rô…�rõ}rö(jYjëjZjéubaubj¡)�r÷}rø(jYX**ex02_messageq**rùjZjŽjbj’jdj¥jf}rú(jh]ji]jj]jk]jn]ujpKjqhjr]rûcdocutils.nodes strong rü)�rý}rþ(jYjùjf}rÿ(jh]ji]jj]jk]jn]ujZj÷jr]rj{X ex02_messageqr…�r}r(jYUjZjýubajdUstrongrubaubj¡)�r}r(jYX¹Message queue example sends round-trip message from client to server and back. MessageQ example uses client/server pattern. It is a two processors example: the HOST and R5F-0 processor.rjZjŽjbj’jdj¥jf}r(jh]ji]jj]jk]jn]ujpKjqhjr]r j{X¹Message queue example sends round-trip message from client to server and back. MessageQ example uses client/server pattern. It is a two processors example: the HOST and R5F-0 processor.r …�r }r (jYjjZjubaubj¡)�r }r(jYXThe R5F-0 processor is configured as server. It creates a named message queue. The server does not open any queues because it extracts the return address from the message header. The server returns all messages to the sender. It does not access the message pool.rjZjŽjbj’jdj¥jf}r(jh]ji]jj]jk]jn]ujpKjqhjr]rj{XThe R5F-0 processor is configured as server. It creates a named message queue. The server does not open any queues because it extracts the return address from the message header. The server returns all messages to the sender. It does not access the message pool.r…�r}r(jYjjZj ubaubj¡)�r}r(jYXThe HOST processor is configured as client application. The client creates an anonymous message queue. The client also creates and manages the message pool. The client's return address is set in the message header for each message before sending it to the server.rjZjŽjbj’jdj¥jf}r(jh]ji]jj]jk]jn]ujpKjqhjr]rj{XThe HOST processor is configured as client application. The client creates an anonymous message queue. The client also creates and manages the message pool. The client's return address is set in the message header for each message before sending it to the server.r…�r}r(jYjjZjubaubj¡)�r}r(jYX&Here are the steps to run the example.rjZjŽjbj’jdj¥jf}r (jh]ji]jj]jk]jn]ujpK#jqhjr]r!j{X&Here are the steps to run the example.r"…�r#}r$(jYjjZjubaubcdocutils.nodes enumerated_list r%)�r&}r'(jYUjZjŽjbj’jdUenumerated_listr(jf}r)(Usuffixr*U.jk]jj]jh]Uprefixr+Uji]jn]Uenumtyper,Uarabicr-ujpK%jqhjr]r.cdocutils.nodes list_item r/)�r0}r1(jYX–Follow instructions above to build the IPC examples. The build will create the R5F-0 and HOST binaries under debug and release sub folders For examplejZj&jbj’jdU list_itemr2jf}r3(jh]ji]jj]jk]jn]ujpNjqhjr]r4j¡)�r5}r6(jYX–Follow instructions above to build the IPC examples. The build will create the R5F-0 and HOST binaries under debug and release sub folders For exampler7jZj0jbj’jdj¥jf}r8(jh]ji]jj]jk]jn]ujpK%jr]r9j{X–Follow instructions above to build the IPC examples. The build will create the R5F-0 and HOST binaries under debug and release sub folders For exampler:…�r;}r<(jYj7jZj5ubaubaubaubcdocutils.nodes block_quote r=)�r>}r?(jYUjZjŽjbNjdU block_quoter@jf}rA(jh]ji]jj]jk]jn]ujpNjqhjr]rBcdocutils.nodes bullet_list rC)�rD}rE(jYUjf}rF(UbulletrGX-jk]jj]jh]ji]jn]ujZj>jr]rH(j/)�rI}rJ(jYXSAM65XX_bios_elf\\ex02_messageq\\host\\bin\\debug\\app_host.xa53fg : HOST A15 binaryrKjf}rL(jh]ji]jj]jk]jn]ujZjDjr]rMj¡)�rN}rO(jYjKjZjIjbj’jdj¥jf}rP(jh]ji]jj]jk]jn]ujpK'jr]rQj{XNAM65XX_bios_elf\ex02_messageq\host\bin\debug\app_host.xa53fg : HOST A15 binaryrR…�rS}rT(jYXSAM65XX_bios_elf\\ex02_messageq\\host\\bin\\debug\\app_host.xa53fg : HOST A15 binaryjZjNubaubajdj2ubj/)�rU}rV(jYXQAM65XX_bios_elfex02_messageq\\r5f-0\\bin\\debug\\server_r5f-0.xer5fg : R5 binary jf}rW(jh]ji]jj]jk]jn]ujZjDjr]rXj¡)�rY}rZ(jYXPAM65XX_bios_elfex02_messageq\\r5f-0\\bin\\debug\\server_r5f-0.xer5fg : R5 binaryjZjUjbj’jdj¥jf}r[(jh]ji]jj]jk]jn]ujpK(jr]r\j{XLAM65XX_bios_elfex02_messageq\r5f-0\bin\debug\server_r5f-0.xer5fg : R5 binaryr]…�r^}r_(jYXPAM65XX_bios_elfex02_messageq\\r5f-0\\bin\\debug\\server_r5f-0.xer5fg : R5 binaryjZjYubaubajdj2ubejdU bullet_listr`ubaubj%)�ra}rb(jYUjZjŽjbj’jdj(jf}rc(j*U.UstartrdKjk]jj]jh]j+Uji]jn]j,j-ujpK*jqhjr]re(j/)�rf}rg(jYX‹Follow procedure to initialize platform and launch target configuration through steps outlined in the hardware setup guide referred above. jZjajbj’jdj2jf}rh(jh]ji]jj]jk]jn]ujpNjqhjr]rij¡)�rj}rk(jYXŠFollow procedure to initialize platform and launch target configuration through steps outlined in the hardware setup guide referred above.rljZjfjbj’jdj¥jf}rm(jh]ji]jj]jk]jn]ujpK*jr]rnj{XŠFollow procedure to initialize platform and launch target configuration through steps outlined in the hardware setup guide referred above.ro…�rp}rq(jYjljZjjubaubaubj/)�rr}rs(jYX*Right click R5 core 0 and connect target. jZjajbj’jdj2jf}rt(jh]ji]jj]jk]jn]ujpNjqhjr]ruj¡)�rv}rw(jYX)Right click R5 core 0 and connect target.rxjZjrjbj’jdj¥jf}ry(jh]ji]jj]jk]jn]ujpK-jr]rzj{X)Right click R5 core 0 and connect target.r{…�r|}r}(jYjxjZjvubaubaubj/)�r~}r(jYXO**Load R5F-0** messageQ Example out file(server_r5f-0.xer5fg) onto R5F core 0. jZjajbj’jdj2jf}r€(jh]ji]jj]jk]jn]ujpNjqhjr]r�j¡)�r‚}rƒ(jYXN**Load R5F-0** messageQ Example out file(server_r5f-0.xer5fg) onto R5F core 0.jZj~jbj’jdj¥jf}r„(jh]ji]jj]jk]jn]ujpK/jr]r…(jü)�r†}r‡(jYX**Load R5F-0**jf}rˆ(jh]ji]jj]jk]jn]ujZj‚jr]r‰j{X Load R5F-0rŠ…�r‹}rŒ(jYUjZj†ubajdjubj{X@ messageQ Example out file(server_r5f-0.xer5fg) onto R5F core 0.r�…�rŽ}r�(jYX@ messageQ Example out file(server_r5f-0.xer5fg) onto R5F core 0.jZj‚ubeubaubj/)�r�}r‘(jYX,Right click CortexA53_0 and connect target. jZjajbj’jdj2jf}r’(jh]ji]jj]jk]jn]ujpNjqhjr]r“j¡)�r”}r•(jYX+Right click CortexA53_0 and connect target.r–jZj�jbj’jdj¥jf}r—(jh]ji]jj]jk]jn]ujpK1jr]r˜j{X+Right click CortexA53_0 and connect target.r™…�rš}r›(jYj–jZj”ubaubaubj/)�rœ}r�(jYXO**Load HOST** messageQ Example out file(app_host.xa53fg) onto ARM CortexA53_0. jZjajbj’jdj2jf}rž(jh]ji]jj]jk]jn]ujpNjqhjr]rŸj¡)�r }r¡(jYXN**Load HOST** messageQ Example out file(app_host.xa53fg) onto ARM CortexA53_0.jZjœjbj’jdj¥jf}r¢(jh]ji]jj]jk]jn]ujpK3jr]r£(jü)�r¤}r¥(jYX **Load HOST**jf}r¦(jh]ji]jj]jk]jn]ujZj jr]r§j{X Load HOSTr¨…�r©}rª(jYUjZj¤ubajdjubj{XA messageQ Example out file(app_host.xa53fg) onto ARM CortexA53_0.r«…�r¬}r­(jYXA messageQ Example out file(app_host.xa53fg) onto ARM CortexA53_0.jZj ubeubaubj/)�r®}r¯(jYXRun both R5F-0 and HOST. jZjajbj’jdj2jf}r°(jh]ji]jj]jk]jn]ujpNjqhjr]r±j¡)�r²}r³(jYXRun both R5F-0 and HOST.r´jZj®jbj’jdj¥jf}rµ(jh]ji]jj]jk]jn]ujpK5jr]r¶j{XRun both R5F-0 and HOST.r·…�r¸}r¹(jYj´jZj²ubaubaubj/)�rº}r»(jYX-On CCS --> Tools --> RTOS Object view (ROV). jZjajbj’jdj2jf}r¼(jh]ji]jj]jk]jn]ujpNjqhjr]r½j¡)�r¾}r¿(jYX,On CCS --> Tools --> RTOS Object view (ROV).rÀjZjºjbj’jdj¥jf}rÁ(jh]ji]jj]jk]jn]ujpK7jr]rÂj{X,On CCS --> Tools --> RTOS Object view (ROV).rÃ…�rÄ}rÅ(jYjÀjZj¾ubaubaubj/)�rÆ}rÇ(jYXXSuspend (halt) ARM Cortex_53 to view test messages on ROV Viewable Modules -->LoggerBuf jZjajbj’jdj2jf}rÈ(jh]ji]jj]jk]jn]ujpNjqhjr]rÉj¡)�rÊ}rË(jYXWSuspend (halt) ARM Cortex_53 to view test messages on ROV Viewable Modules -->LoggerBufrÌjZjÆjbj’jdj¥jf}rÍ(jh]ji]jj]jk]jn]ujpK9jr]rÎj{XWSuspend (halt) ARM Cortex_53 to view test messages on ROV Viewable Modules -->LoggerBufrÏ…�rÐ}rÑ(jYjÌjZjÊubaubaubj/)�rÒ}rÓ(jYXASuspend (halt) R5F-0 and click on ROV icon to view log messages. jZjajbXZinternal padding after source/rtos/How_to_Guides/Target/Run_IPC_Examples_on_AM65xx.rst.incrÔjdj2jf}rÕ(jh]ji]jj]jk]jn]ujpNjqhjr]rÖj¡)�r×}rØ(jYX@Suspend (halt) R5F-0 and click on ROV icon to view log messages.rÙjZjÒjbj’jdj¥jf}rÚ(jh]ji]jj]jk]jn]ujpK;jr]rÛj{X@Suspend (halt) R5F-0 and click on ROV icon to view log messages.rÜ…�rÝ}rÞ(jYjÙjZj×ubaubaubeubeubeubj[)�rß}rà(jYUjZj`jbjcjdjejf}rá(jh]ji]jj]jk]râU>taking-the-c66x-out-of-reset-with-linux-running-on-the-arm-a15rãajn]räh7aujpKjqhjr]rå(jt)�ræ}rç(jYX>Taking the C66x Out Of Reset with Linux Running on the ARM A15rèjZjßjbjcjdjxjf}ré(jh]ji]jj]jk]jn]ujpKjqhjr]rêj{X>Taking the C66x Out Of Reset with Linux Running on the ARM A15rë…�rì}rí(jYjèjZjæubaubcdocutils.nodes comment rî)�rï}rð(jYXfhttp://processors.wiki.ti.com/index.php/Taking_the_C66x_Out_Of_Reset_with_Linux_Running_on_the_ARM_A15jZjßjbj�XJsource/rtos/How_to_Guides/Target/C66x_Reset_from_A15_Running_Linux.rst.incrñ…�rò}róbjdUcommentrôjf}rõ(U xml:spaceröUpreserver÷jk]jj]jh]ji]jn]ujpKjqhjr]røj{Xfhttp://processors.wiki.ti.com/index.php/Taking_the_C66x_Out_Of_Reset_with_Linux_Running_on_the_ARM_A15rù…�rú}rû(jYUjZjïubaubj[)�rü}rý(jYUjZjßjbjòjdjejf}rþ(jh]ji]jj]jk]rÿU?how-to-take-the-c66x-dsp-out-of-reset-with-linux-running-on-a15rajn]rh¦aujpKjqhjr]r(jt)�r}r(jYX?How to take the C66x DSP out of reset with Linux running on A15rjZjüjbjòjdjxjf}r(jh]ji]jj]jk]jn]ujpKjqhjr]rj{X?How to take the C66x DSP out of reset with Linux running on A15r…�r }r (jYjjZjubaubj¡)�r }r (jYX This document describes the procedure to bring the C66x core out of reset after booting Linux, or at the u-boot prompt.These steps are necessary in to order to load an application on the C66x core, without interfering with the operation of Linux running on the A15.r jZjüjbjòjdj¥jf}r(jh]ji]jj]jk]jn]ujpKjqhjr]rj{X This document describes the procedure to bring the C66x core out of reset after booting Linux, or at the u-boot prompt.These steps are necessary in to order to load an application on the C66x core, without interfering with the operation of Linux running on the A15.r…�r}r(jYj jZj ubaubcdocutils.nodes note r)�r}r(jYXåPrior to proceeding with the below instructions, please ensure that the latest :ref:`Emulation Package<>` is downloaded/installed through CCS. This will ensure the GEL files in your machine has the reset routines described below.jZjüjbjòjdUnoterjf}r(jh]ji]jj]jk]jn]ujpNjqhjr]rj¡)�r}r(jYXåPrior to proceeding with the below instructions, please ensure that the latest :ref:`Emulation Package<>` is downloaded/installed through CCS. This will ensure the GEL files in your machine has the reset routines described below.jZjjbjòjdj¥jf}r(jh]ji]jj]jk]jn]ujpK jr]r(j{XOPrior to proceeding with the below instructions, please ensure that the latest r…�r}r(jYXOPrior to proceeding with the below instructions, please ensure that the latest jZjubj¸)�r }r!(jYX:ref:`Emulation Package<>`r"jZjjbjòjdj»jf}r#(UreftypeXrefj½ˆj¾XU refdomainXstdr$jk]jj]U refexplicitˆjh]ji]jn]jÀjÁujpK jr]r%jÃ)�r&}r'(jYj"jf}r((jh]ji]r)(jÈj$Xstd-refr*ejj]jk]jn]ujZj jr]r+j{XEmulation Packager,…�r-}r.(jYUjZj&ubajdjÎubaubj{X| is downloaded/installed through CCS. This will ensure the GEL files in your machine has the reset routines described below.r/…�r0}r1(jYX| is downloaded/installed through CCS. This will ensure the GEL files in your machine has the reset routines described below.jZjubeubaubj%)�r2}r3(jYUjZjüjbjòjdj(jf}r4(j*U)jk]jj]jh]j+Uji]jn]j,j-ujpKjqhjr]r5j/)�r6}r7(jYX8Once Linux has booted, launch the target configuration. jZj2jbjòjdj2jf}r8(jh]ji]jj]jk]jn]ujpNjqhjr]r9j¡)�r:}r;(jYX7Once Linux has booted, launch the target configuration.r<jZj6jbjòjdj¥jf}r=(jh]ji]jj]jk]jn]ujpKjr]r>j{X7Once Linux has booted, launch the target configuration.r?…�r@}rA(jYj<jZj:ubaubaubaubcdocutils.nodes image rB)�rC}rD(jYX+.. Image:: ../images/Outofreset_1_lali.JPG jZjüjbjòjdUimagerEjf}rF(UuriX$rtos/../images/Outofreset_1_lali.JPGrGjk]jj]jh]ji]U candidatesrH}rIU*jGsjn]ujpKjqhjr]ubj%)�rJ}rK(jYUjZjüjbjòjdj(jf}rL(j*U)jdKjk]jj]jh]j+Uji]jn]j,j-ujpKjqhjr]rMj/)�rN}rO(jYXaWith the target configuration launched, right click on K2x.ccxml and select “Show all coresâ€� jZjJjbjòjdj2jf}rP(jh]ji]jj]jk]jn]ujpNjqhjr]rQj¡)�rR}rS(jYX`With the target configuration launched, right click on K2x.ccxml and select “Show all coresâ€�rTjZjNjbjòjdj¥jf}rU(jh]ji]jj]jk]jn]ujpKjr]rVj{X`With the target configuration launched, right click on K2x.ccxml and select “Show all coresâ€�rW…�rX}rY(jYjTjZjRubaubaubaubjB)�rZ}r[(jYX+.. Image:: ../images/Outofreset_2_lali.JPG jZjüjbjòjdjEjf}r\(UuriX$rtos/../images/Outofreset_2_lali.JPGr]jk]jj]jh]ji]jH}r^U*j]sjn]ujpKjqhjr]ubj%)�r_}r`(jYUjZjüjbjòjdj(jf}ra(j*U)jdKjk]jj]jh]j+Uji]jn]j,j-ujpKjqhjr]rbj/)�rc}rd(jYXiThis will bring up the Non-Debuggable Devices section. Right click and connect the CS_DAP_Debug_SS core. jZj_jbjòjdj2jf}re(jh]ji]jj]jk]jn]ujpNjqhjr]rfj¡)�rg}rh(jYXhThis will bring up the Non-Debuggable Devices section. Right click and connect the CS_DAP_Debug_SS core.rijZjcjbjòjdj¥jf}rj(jh]ji]jj]jk]jn]ujpKjr]rkj{XhThis will bring up the Non-Debuggable Devices section. Right click and connect the CS_DAP_Debug_SS core.rl…�rm}rn(jYjijZjgubaubaubaubjB)�ro}rp(jYX+.. Image:: ../images/Outofreset_3_lali.JPG jZjüjbjòjdjEjf}rq(UuriX$rtos/../images/Outofreset_3_lali.JPGrrjk]jj]jh]ji]jH}rsU*jrsjn]ujpKjqhjr]ubj%)�rt}ru(jYUjZjüjbjòjdj(jf}rv(j*U)jdKjk]jj]jh]j+Uji]jn]j,j-ujpKjqhjr]rwj/)�rx}ry(jYX×Go to Tools>GEL files and load the evmk2x.gel file by right clicking on the GEL file window. The Gel file would typically be located in the CCS installation under \\ccsv6\\ccs_base\\emulation\\boards\\evmk2x\\gel\\ jZjtjbjòjdj2jf}rz(jh]ji]jj]jk]jn]ujpNjqhjr]r{j¡)�r|}r}(jYXÖGo to Tools>GEL files and load the evmk2x.gel file by right clicking on the GEL file window. The Gel file would typically be located in the CCS installation under \\ccsv6\\ccs_base\\emulation\\boards\\evmk2x\\gel\\jZjxjbjòjdj¥jf}r~(jh]ji]jj]jk]jn]ujpKjr]rj{XÏGo to Tools>GEL files and load the evmk2x.gel file by right clicking on the GEL file window. The Gel file would typically be located in the CCS installation under \ccsv6\ccs_base\emulation\boards\evmk2x\gel\r€…�r�}r‚(jYXÖGo to Tools>GEL files and load the evmk2x.gel file by right clicking on the GEL file window. The Gel file would typically be located in the CCS installation under \\ccsv6\\ccs_base\\emulation\\boards\\evmk2x\\gel\\jZj|ubaubaubaubjB)�rƒ}r„(jYX+.. Image:: ../images/Outofreset_4_lali.png jZjüjbjòjdjEjf}r…(UuriX$rtos/../images/Outofreset_4_lali.pngr†jk]jj]jh]ji]jH}r‡U*j†sjn]ujpK#jqhjr]ubj%)�rˆ}r‰(jYUjZjüjbjòjdj(jf}rŠ(j*U)jdKjk]jj]jh]j+Uji]jn]j,j-ujpK$jqhjr]r‹j/)�rŒ}r�(jYXcOnce the GEL has been successfully loaded, go to Scripts>default and select K2x_TakeDSPOutofReset. jZjˆjbjòjdj2jf}rŽ(jh]ji]jj]jk]jn]ujpNjqhjr]r�j¡)�r�}r‘(jYXbOnce the GEL has been successfully loaded, go to Scripts>default and select K2x_TakeDSPOutofReset.r’jZjŒjbjòjdj¥jf}r“(jh]ji]jj]jk]jn]ujpK$jr]r”j{XbOnce the GEL has been successfully loaded, go to Scripts>default and select K2x_TakeDSPOutofReset.r•…�r–}r—(jYj’jZj�ubaubaubaubjB)�r˜}r™(jYX+.. Image:: ../images/Outofreset_5_lali.png jZjüjbjòjdjEjf}rš(UuriX$rtos/../images/Outofreset_5_lali.pngr›jk]jj]jh]ji]jH}rœU*j›sjn]ujpK'jqhjr]ubj%)�r�}rž(jYUjZjüjbjòjdj(jf}rŸ(j*U)jdKjk]jj]jh]j+Uji]jn]j,j-ujpK(jqhjr]r j/)�r¡}r¢(jYXGAt this point the console would indicate that the DSP is out of reset. jZj�jbjòjdj2jf}r£(jh]ji]jj]jk]jn]ujpNjqhjr]r¤j¡)�r¥}r¦(jYXFAt this point the console would indicate that the DSP is out of reset.r§jZj¡jbjòjdj¥jf}r¨(jh]ji]jj]jk]jn]ujpK(jr]r©j{XFAt this point the console would indicate that the DSP is out of reset.rª…�r«}r¬(jYj§jZj¥ubaubaubaubjB)�r­}r®(jYX+.. Image:: ../images/Outofreset_6_lali.png jZjüjbjòjdjEjf}r¯(UuriX$rtos/../images/Outofreset_6_lali.pngr°jk]jj]jh]ji]jH}r±U*j°sjn]ujpK+jqhjr]ubj%)�r²}r³(jYUjZjüjbjòjdj(jf}r´(j*U)jdKjk]jj]jh]j+Uji]jn]j,j-ujpK,jqhjr]rµj/)�r¶}r·(jYXCNow the DSP cores can be right-clicked and connected successfully. jZj²jbjòjdj2jf}r¸(jh]ji]jj]jk]jn]ujpNjqhjr]r¹j¡)�rº}r»(jYXBNow the DSP cores can be right-clicked and connected successfully.r¼jZj¶jbjòjdj¥jf}r½(jh]ji]jj]jk]jn]ujpK,jr]r¾j{XBNow the DSP cores can be right-clicked and connected successfully.r¿…�rÀ}rÁ(jYj¼jZjºubaubaubaubjB)�rÂ}rÃ(jYX+.. Image:: ../images/Outofreset_7_lali.png jZjüjbjòjdjEjf}rÄ(UuriX$rtos/../images/Outofreset_7_lali.pngrÅjk]jj]jh]ji]jH}rÆU*jÅsjn]ujpK/jqhjr]ubeubj[)�rÇ}rÈ(jYUjìKjZjßjbjòjdjejf}rÉ(jh]rÊXtarget configurationrËaji]jj]jk]rÌUtarget-configurationrÍajn]ujpK1jqhjr]rÎ(jt)�rÏ}rÐ(jYXTarget ConfigurationrÑjZjÇjbjòjdjxjf}rÒ(jh]ji]jj]jk]jn]ujpK1jqhjr]rÓj{XTarget ConfigurationrÔ…�rÕ}rÖ(jYjÑjZjÏubaubj)�r×}rØ(jYX(Once the DSP core is connected following the above out of reset routine, the DDR and PLL settings done by u-boot would be overwritten by what's in the GEL. In order to avoid this, please ensure that the gel is NOT preloaded on the DSP core in the ccxml by leaving the initialization script blank.jZjÇjbjòjdjjf}rÙ(jh]ji]jj]jk]jn]ujpNjqhjr]rÚj¡)�rÛ}rÜ(jYX(Once the DSP core is connected following the above out of reset routine, the DDR and PLL settings done by u-boot would be overwritten by what's in the GEL. In order to avoid this, please ensure that the gel is NOT preloaded on the DSP core in the ccxml by leaving the initialization script blank.rÝjZj×jbjòjdj¥jf}rÞ(jh]ji]jj]jk]jn]ujpK4jr]rßj{X(Once the DSP core is connected following the above out of reset routine, the DDR and PLL settings done by u-boot would be overwritten by what's in the GEL. In order to avoid this, please ensure that the gel is NOT preloaded on the DSP core in the ccxml by leaving the initialization script blank.rà…�rá}râ(jYjÝjZjÛubaubaubjB)�rã}rä(jYX,.. Image:: ../images/Outofreset_8_lali.JPG jZjÇjbXainternal padding after source/rtos/How_to_Guides/Target/C66x_Reset_from_A15_Running_Linux.rst.incråjdjEjf}ræ(UuriX$rtos/../images/Outofreset_8_lali.JPGrçjk]jj]jh]ji]jH}rèU*jçsjn]ujpK;jqhjr]ubeubeubj[)�ré}rê(jYUjZj`jbjcjdjejf}rë(jh]ji]jj]jk]rìUKrtos-customization-using-an-external-input-to-trigger-an-interrupt-on-am57xríajn]rîhîaujpKjqhjr]rï(jt)�rð}rñ(jYXLRTOS Customization: using an external input to trigger an interrupt on AM57xròjZjéjbjcjdjxjf}ró(jh]ji]jj]jk]jn]ujpKjqhjr]rôj{XLRTOS Customization: using an external input to trigger an interrupt on AM57xrõ…�rö}r÷(jYjòjZjðubaubj¡)�rø}rù(jYX�This note explains how to develop an example using a General-Purpose Input/Output (GPIO) pin to capture an external input event and generate an interrupt by modifying an existing RTOS GPIO driver LED blinking example. The hardware setup, software development procedures and testing are done using TI AM572x IDK EVM. The same process can be extended to other TI Sitara devices, TI EVMs or custom platforms as well.rújZjéjbj�XOsource/rtos/How_to_Guides/Target/External_Input_Trigger_Interrupt_AM57x.rst.incrû…�rü}rýbjdj¥jf}rþ(jh]ji]jj]jk]jn]ujpKjqhjr]rÿj{X�This note explains how to develop an example using a General-Purpose Input/Output (GPIO) pin to capture an external input event and generate an interrupt by modifying an existing RTOS GPIO driver LED blinking example. The hardware setup, software development procedures and testing are done using TI AM572x IDK EVM. The same process can be extended to other TI Sitara devices, TI EVMs or custom platforms as well.r…�r}r(jYjújZjøubaubj[)�r}r(jYUjìKjZjéjbjüjdjejf}r(jh]rXhardwareraji]jj]jk]rUhardwarer ajn]ujpKjqhjr]r (jt)�r }r (jYXHardwarer jZjjbjüjdjxjf}r(jh]ji]jj]jk]jn]ujpKjqhjr]rj{XHardwarer…�r}r(jYj jZj ubaubj¡)�r}r(jYXÚ`The AM572x Industrial Development Kit (IDK) `__ is used here for developing the example. The same expect to work with the `AM574x IDK `__ as well.jZjjbjüjdj¥jf}r(jh]ji]jj]jk]jn]ujpKjqhjr]r(jÜ)�r}r(jYXT`The AM572x Industrial Development Kit (IDK) `__jf}r(UnameX+The AM572x Industrial Development Kit (IDK)UrefurirX"http://www.ti.com/tool/TMDXIDK5728jk]jj]jh]ji]jn]ujZjjr]rj{X+The AM572x Industrial Development Kit (IDK)r…�r}r(jYUjZjubajdjàubj{XK is used here for developing the example. The same expect to work with the r…�r }r!(jYXK is used here for developing the example. The same expect to work with the jZjubjÜ)�r"}r#(jYX2`AM574x IDK `__jf}r$(UnameX AM574x IDKjX!http://www.ti.com/tool/TMDSIDK574jk]jj]jh]ji]jn]ujZjjr]r%j{X AM574x IDKr&…�r'}r((jYUjZj"ubajdjàubj{X as well.r)…�r*}r+(jYX as well.jZjubeubj¡)�r,}r-(jYX~From the `AM572x IDK EVM hardware user guide `__, the card has 3 push buttons: SW1, SW2 and SW3, but they all are used for different purposes. However, the card has a 60-pin female expansion connector J21, pins that are not used may be dedicated for GPIO input test purpose. Here J21 pin 4 is selected based on the following analysis:jZjjbjüjdj¥jf}r.(jh]ji]jj]jk]jn]ujpK jqhjr]r/(j{X From the r0…�r1}r2(jYX From the jZj,ubjÜ)�r3}r4(jYXW`AM572x IDK EVM hardware user guide `__jf}r5(UnameX"AM572x IDK EVM hardware user guidejX.http://www.ti.com/lit/ug/sprui64c/sprui64c.pdfjk]jj]jh]ji]jn]ujZj,jr]r6j{X"AM572x IDK EVM hardware user guider7…�r8}r9(jYUjZj3ubajdjàubj{X, the card has 3 push buttons: SW1, SW2 and SW3, but they all are used for different purposes. However, the card has a 60-pin female expansion connector J21, pins that are not used may be dedicated for GPIO input test purpose. Here J21 pin 4 is selected based on the following analysis:r:…�r;}r<(jYX, the card has 3 push buttons: SW1, SW2 and SW3, but they all are used for different purposes. However, the card has a 60-pin female expansion connector J21, pins that are not used may be dedicated for GPIO input test purpose. Here J21 pin 4 is selected based on the following analysis:jZj,ubeubjC)�r=}r>(jYUjZjjbjüjdj`jf}r?(jGX•jk]jj]jh]ji]jn]ujpKjqhjr]r@j/)�rA}rB(jYXkThe Pin 4 signal is labeled as GPMC_CS0 and is connected to AM572x chip ball T1 as shown in the schematic: jZj=jbjüjdj2jf}rC(jh]ji]jj]jk]jn]ujpNjqhjr]rDj¡)�rE}rF(jYXjThe Pin 4 signal is labeled as GPMC_CS0 and is connected to AM572x chip ball T1 as shown in the schematic:rGjZjAjbjüjdj¥jf}rH(jh]ji]jj]jk]jn]ujpKjr]rIj{XjThe Pin 4 signal is labeled as GPMC_CS0 and is connected to AM572x chip ball T1 as shown in the schematic:rJ…�rK}rL(jYjGjZjEubaubaubaubjB)�rM}rN(jYX'.. Image:: ../images/J21_gpio_input.pngrOjZjjbjüjdjEjf}rP(UuriX!rtos/../images/J21_gpio_input.pngrQjk]jj]jh]ji]jH}rRU*jQsjn]ujpKjqhjr]ubjB)�rS}rT(jYX%.. Image:: ../images/gpmc_cs0_t1.png jZjjbjüjdjEjf}rU(UuriXrtos/../images/gpmc_cs0_t1.pngrVjk]jj]jh]ji]jH}rWU*jVsjn]ujpKjqhjr]ubjC)�rX}rY(jYUjZjjbjüjdj`jf}rZ(jGX•jk]jj]jh]ji]jn]ujpKjqhjr]r[j/)�r\}r](jYXnFrom the AM5728 datasheet, T1 ball can be configured as GPMC_CS0 or GPIO2_19 based on different PINMUX modes. jZjXjbjüjdj2jf}r^(jh]ji]jj]jk]jn]ujpNjqhjr]r_j¡)�r`}ra(jYXmFrom the AM5728 datasheet, T1 ball can be configured as GPMC_CS0 or GPIO2_19 based on different PINMUX modes.rbjZj\jbjüjdj¥jf}rc(jh]ji]jj]jk]jn]ujpKjr]rdj{XmFrom the AM5728 datasheet, T1 ball can be configured as GPMC_CS0 or GPIO2_19 based on different PINMUX modes.re…�rf}rg(jYjbjZj`ubaubaubaubeubj[)�rh}ri(jYUjZjéjbjüjdjejf}rj(jh]ji]jj]jk]rkUsoftwarerlajn]rmh¨aujpKjqhjr]rn(jt)�ro}rp(jYXSoftwarerqjZjhjbjüjdjxjf}rr(jh]ji]jj]jk]jn]ujpKjqhjr]rsj{XSoftwarert…�ru}rv(jYjqjZjoubaubj¡)�rw}rx(jYXäThe GPIO LED blink example is served as the reference example and the test is developed on the ARM A15 core, it should work for other cores. This section discusses several typical steps involved in the software development work:ryjZjhjbjüjdj¥jf}rz(jh]ji]jj]jk]jn]ujpKjqhjr]r{j{XäThe GPIO LED blink example is served as the reference example and the test is developed on the ARM A15 core, it should work for other cores. This section discusses several typical steps involved in the software development work:r|…�r}}r~(jYjyjZjwubaubjC)�r}r€(jYUjZjhjbjüjdj`jf}r�(jGX•jk]jj]jh]ji]jn]ujpKjqhjr]r‚(j/)�rƒ}r„(jYXPinMux configurationr…jZjjbjüjdj2jf}r†(jh]ji]jj]jk]jn]ujpNjqhjr]r‡j¡)�rˆ}r‰(jYj…jZjƒjbjüjdj¥jf}rŠ(jh]ji]jj]jk]jn]ujpKjr]r‹j{XPinMux configurationrŒ…�r�}rŽ(jYj…jZjˆubaubaubj/)�r�}r�(jYX PRCM setupr‘jZjjbjüjdj2jf}r’(jh]ji]jj]jk]jn]ujpNjqhjr]r“j¡)�r”}r•(jYj‘jZj�jbjüjdj¥jf}r–(jh]ji]jj]jk]jn]ujpKjr]r—j{X PRCM setupr˜…�r™}rš(jYj‘jZj”ubaubaubj/)�r›}rœ(jYXRe-build board libraryr�jZjjbjüjdj2jf}rž(jh]ji]jj]jk]jn]ujpNjqhjr]rŸj¡)�r }r¡(jYj�jZj›jbjüjdj¥jf}r¢(jh]ji]jj]jk]jn]ujpKjr]r£j{XRe-build board libraryr¤…�r¥}r¦(jYj�jZj ubaubaubj/)�r§}r¨(jYX!Application software development jZjjbjüjdj2jf}r©(jh]ji]jj]jk]jn]ujpNjqhjr]rªj¡)�r«}r¬(jYX Application software developmentr­jZj§jbjüjdj¥jf}r®(jh]ji]jj]jk]jn]ujpKjr]r¯j{X Application software developmentr°…�r±}r²(jYj­jZj«ubaubaubeubj¡)�r³}r´(jYX**PinMux configuration**rµjZjhjbjüjdj¥jf}r¶(jh]ji]jj]jk]jn]ujpKjqhjr]r·jü)�r¸}r¹(jYjµjf}rº(jh]ji]jj]jk]jn]ujZj³jr]r»j{XPinMux configurationr¼…�r½}r¾(jYUjZj¸ubajdjubaubj¡)�r¿}rÀ(jYXBThe default PinMux file has to be modified for GPIO2_19 pin usage:rÁjZjhjbjüjdj¥jf}rÂ(jh]ji]jj]jk]jn]ujpK jqhjr]rÃj{XBThe default PinMux file has to be modified for GPIO2_19 pin usage:rÄ…�rÅ}rÆ(jYjÁjZj¿ubaubjC)�rÇ}rÈ(jYUjZjhjbjüjdj`jf}rÉ(jGX•jk]jj]jh]ji]jn]ujpK"jqhjr]rÊ(j/)�rË}rÌ(jYX¢Use the PinMux Utility to open the default PinMux file pdk_am57xx_1_0_x\\packages\\ti\\board\\src\\idkAM572x\\idkAM572x_SR2.0.pinmux (for the latest Rev 1.3B EVM)rÍjZjÇjbjüjdj2jf}rÎ(jh]ji]jj]jk]jn]ujpNjqhjr]rÏj¡)�rÐ}rÑ(jYjÍjZjËjbjüjdj¥jf}rÒ(jh]ji]jj]jk]jn]ujpK"jr]rÓj{XœUse the PinMux Utility to open the default PinMux file pdk_am57xx_1_0_x\packages\ti\board\src\idkAM572x\idkAM572x_SR2.0.pinmux (for the latest Rev 1.3B EVM)rÔ…�rÕ}rÖ(jYX¢Use the PinMux Utility to open the default PinMux file pdk_am57xx_1_0_x\\packages\\ti\\board\\src\\idkAM572x\\idkAM572x_SR2.0.pinmux (for the latest Rev 1.3B EVM)jZjÐubaubaubj/)�r×}rØ(jYXSelect GPIO, then MyGPIO2: jZjÇjbjüjdj2jf}rÙ(jh]ji]jj]jk]jn]ujpNjqhjr]rÚj¡)�rÛ}rÜ(jYXSelect GPIO, then MyGPIO2:rÝjZj×jbjüjdj¥jf}rÞ(jh]ji]jj]jk]jn]ujpK#jr]rßj{XSelect GPIO, then MyGPIO2:rà…�rá}râ(jYjÝjZjÛubaubaubeubjB)�rã}rä(jYX'.. Image:: ../images/pinmux_gpio_1.png jZjhjbjüjdjEjf}rå(UuriX rtos/../images/pinmux_gpio_1.pngræjk]jj]jh]ji]jH}rçU*jæsjn]ujpK&jqhjr]ubjC)�rè}ré(jYUjZjhjbjüjdj`jf}rê(jGX•jk]jj]jh]ji]jn]ujpK'jqhjr]rë(j/)�rì}rí(jYXHThen, scroll down, set gpio2_19 with ball #T1, pull up and Rx direction.rîjZjèjbjüjdj2jf}rï(jh]ji]jj]jk]jn]ujpNjqhjr]rðj¡)�rñ}rò(jYjîjZjìjbjüjdj¥jf}ró(jh]ji]jj]jk]jn]ujpK'jr]rôj{XHThen, scroll down, set gpio2_19 with ball #T1, pull up and Rx direction.rõ…�rö}r÷(jYjîjZjñubaubaubj/)�rø}rù(jYXqFinally, select Category filter as “SR2.0 – Platform Development Kit (PDK) and download the generated files. jZjèjbjüjdj2jf}rú(jh]ji]jj]jk]jn]ujpNjqhjr]rûj¡)�rü}rý(jYXpFinally, select Category filter as “SR2.0 – Platform Development Kit (PDK) and download the generated files.rþjZjøjbjüjdj¥jf}rÿ(jh]ji]jj]jk]jn]ujpK(jr]rj{XpFinally, select Category filter as “SR2.0 – Platform Development Kit (PDK) and download the generated files.r…�r}r(jYjþjZjüubaubaubeubjB)�r}r(jYX'.. Image:: ../images/pinmux_gpio_2.png jZjhjbjüjdjEjf}r(UuriX rtos/../images/pinmux_gpio_2.pngrjk]jj]jh]ji]jH}rU*jsjn]ujpK+jqhjr]ubjC)�r }r (jYUjZjhjbjüjdj`jf}r (jGX•jk]jj]jh]ji]jn]ujpK,jqhjr]r j/)�r }r(jYXFour new files should be generated, with the only difference being a new pin configuration added in boardPadDelayInit.c file: jZj jbjüjdj2jf}r(jh]ji]jj]jk]jn]ujpNjqhjr]rj¡)�r}r(jYX~Four new files should be generated, with the only difference being a new pin configuration added in boardPadDelayInit.c file:rjZj jbjüjdj¥jf}r(jh]ji]jj]jk]jn]ujpK,jr]rj{X~Four new files should be generated, with the only difference being a new pin configuration added in boardPadDelayInit.c file:r…�r}r(jYjjZjubaubaubaubcdocutils.nodes literal_block r)�r}r(jYXa /* GPIO2 - gpio2_19 on T1 - MyGPIO2 */ {0x14B4, 0x6000E, {0x0, 0, 0}, {0x0, 0, 0}, {0x0, 0, 0}},jZjhjbjüjdU literal_blockrjf}r(Ulinenosr‰UlanguagerXcjöj÷jk]jj]jh]Uhighlight_argsr }ji]jn]ujpK.jqhjr]r!j{Xa /* GPIO2 - gpio2_19 on T1 - MyGPIO2 */ {0x14B4, 0x6000E, {0x0, 0, 0}, {0x0, 0, 0}, {0x0, 0, 0}},r"…�r#}r$(jYUjZjubaubjC)�r%}r&(jYUjZjhjbjüjdj`jf}r'(jGX•jk]jj]jh]ji]jn]ujpK3jqhjr]r(j/)�r)}r*(jYXfReplace the same files under pdk_am57xx_1_0_x\\packages\\ti\\board\\src\\idkAM572x with the new ones. jZj%jbjüjdj2jf}r+(jh]ji]jj]jk]jn]ujpNjqhjr]r,j¡)�r-}r.(jYXeReplace the same files under pdk_am57xx_1_0_x\\packages\\ti\\board\\src\\idkAM572x with the new ones.jZj)jbjüjdj¥jf}r/(jh]ji]jj]jk]jn]ujpK3jr]r0j{X`Replace the same files under pdk_am57xx_1_0_x\packages\ti\board\src\idkAM572x with the new ones.r1…�r2}r3(jYXeReplace the same files under pdk_am57xx_1_0_x\\packages\\ti\\board\\src\\idkAM572x with the new ones.jZj-ubaubaubaubj¡)�r4}r5(jYX**PRCM setup**r6jZjhjbjüjdj¥jf}r7(jh]ji]jj]jk]jn]ujpK5jqhjr]r8jü)�r9}r:(jYj6jf}r;(jh]ji]jj]jk]jn]ujZj4jr]r<j{X PRCM setupr=…�r>}r?(jYUjZj9ubajdjubaubj¡)�r@}rA(jYXŸSetup of the Power, Reset and Clock Management (PRCM) domain for newly added GPIO2 is required. The application code calls Board_init() API with a BOARD_INIT_MODULE_CLOCK flag to enable the clock domain. It is implemented in the Board_moduleClockInit() function inside pdk_am57xx_1_0_x\\packages\\ti\\board\\source\\idkAM572x\\idkAM572x_clock.c. It is found that GPIO2 is enabled already and no further code needed.rBjZjhjbjüjdj¥jf}rC(jh]ji]jj]jk]jn]ujpK7jqhjr]rDj{X™Setup of the Power, Reset and Clock Management (PRCM) domain for newly added GPIO2 is required. The application code calls Board_init() API with a BOARD_INIT_MODULE_CLOCK flag to enable the clock domain. It is implemented in the Board_moduleClockInit() function inside pdk_am57xx_1_0_x\packages\ti\board\source\idkAM572x\idkAM572x_clock.c. It is found that GPIO2 is enabled already and no further code needed.rE…�rF}rG(jYXŸSetup of the Power, Reset and Clock Management (PRCM) domain for newly added GPIO2 is required. The application code calls Board_init() API with a BOARD_INIT_MODULE_CLOCK flag to enable the clock domain. It is implemented in the Board_moduleClockInit() function inside pdk_am57xx_1_0_x\\packages\\ti\\board\\source\\idkAM572x\\idkAM572x_clock.c. It is found that GPIO2 is enabled already and no further code needed.jZj@ubaubj¡)�rH}rI(jYX**Re-build board library**rJjZjhjbjüjdj¥jf}rK(jh]ji]jj]jk]jn]ujpK9jqhjr]rLjü)�rM}rN(jYjJjf}rO(jh]ji]jj]jk]jn]ujZjHjr]rPj{XRe-build board libraryrQ…�rR}rS(jYUjZjMubajdjubaubj¡)�rT}rU(jYXbThe board library must be recompiled for the changes to take effect. This has several major steps:rVjZjhjbjüjdj¥jf}rW(jh]ji]jj]jk]jn]ujpK;jqhjr]rXj{XbThe board library must be recompiled for the changes to take effect. This has several major steps:rY…�rZ}r[(jYjVjZjTubaubjC)�r\}r](jYUjZjhjbjüjdj`jf}r^(jGX•jk]jj]jh]ji]jn]ujpK=jqhjr]r_(j/)�r`}ra(jYX6Setup the build environment by running setupenv scriptrbjZj\jbjüjdj2jf}rc(jh]ji]jj]jk]jn]ujpNjqhjr]rdj¡)�re}rf(jYjbjZj`jbjüjdj¥jf}rg(jh]ji]jj]jk]jn]ujpK=jr]rhj{X6Setup the build environment by running setupenv scriptri…�rj}rk(jYjbjZjeubaubaubj/)�rl}rm(jYX�Build the library with make command (e.g. “make boardâ€�) and the output will be under pdk_am57xx_1_0_x\\packages\\ti\\board\\lib\\idkAM572x\\a15\\release jZj\jbjüjdj2jf}rn(jh]ji]jj]jk]jn]ujpNjqhjr]roj¡)�rp}rq(jYXœBuild the library with make command (e.g. “make boardâ€�) and the output will be under pdk_am57xx_1_0_x\\packages\\ti\\board\\lib\\idkAM572x\\a15\\releasejZjljbjüjdj¥jf}rr(jh]ji]jj]jk]jn]ujpK>jr]rsj{X•Build the library with make command (e.g. “make boardâ€�) and the output will be under pdk_am57xx_1_0_x\packages\ti\board\lib\idkAM572x\a15\releasert…�ru}rv(jYXœBuild the library with make command (e.g. “make boardâ€�) and the output will be under pdk_am57xx_1_0_x\\packages\\ti\\board\\lib\\idkAM572x\\a15\\releasejZjpubaubaubeubeubj[)�rw}rx(jYUjZjéjbjüjdjejf}ry(jh]ji]jj]jk]rzU application-software-developmentr{ajn]r|h¹aujpKAjqhjr]r}(jt)�r~}r(jYX Application software developmentr€jZjwjbjüjdjxjf}r�(jh]ji]jj]jk]jn]ujpKAjqhjr]r‚j{X Application software developmentrƒ…�r„}r…(jYj€jZj~ubaubj¡)�r†}r‡(jYX�The GPIO LED blinking example (GPIO_LedBlink_idkAM572x_armTestProject) is used as the reference. The CCS project can be created by using pdkprojectcreate script, such as “pdkprojectcreate AM572x idkAM572x little gpio all armâ€�. Check `PDK Example and Test Project Creation `_ for details.rˆjZjwjbjüjdj¥jf}r‰(jh]ji]jj]jk]jn]ujpKBjqhjr]rŠ(j{XíThe GPIO LED blinking example (GPIO_LedBlink_idkAM572x_armTestProject) is used as the reference. The CCS project can be created by using pdkprojectcreate script, such as “pdkprojectcreate AM572x idkAM572x little gpio all armâ€�. Check r‹…�rŒ}r�(jYXíThe GPIO LED blinking example (GPIO_LedBlink_idkAM572x_armTestProject) is used as the reference. The CCS project can be created by using pdkprojectcreate script, such as “pdkprojectcreate AM572x idkAM572x little gpio all armâ€�. Check jZj†ubjÜ)�rŽ}r�(jYX–`PDK Example and Test Project Creation `_jf}r�(UnameX%PDK Example and Test Project CreationjXkhttp://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_overview.html#rebuilding-componentsr‘jk]jj]jh]ji]jn]ujZj†jr]r’j{X%PDK Example and Test Project Creationr“…�r”}r•(jYUjZjŽubajdjàubcdocutils.nodes target r–)�r—}r˜(jYXn jìKjZj†jdUtargetr™jf}rš(Urefurij‘jk]r›U%pdk-example-and-test-project-creationrœajj]jh]ji]jn]r�h aujr]ubj{X for details.rž…�rŸ}r (jYX for details.jZj†ubeubj¡)�r¡}r¢(jYX‚This LED blink example uses 2 GPIO pins. The first pin is used to periodically generate an interrupt. The second pin is an output pin connected to an onboard LED, which toggles between low and high inside the interrupt ISR, thus driving the LED. Note the first pin doesn’t accept any external input, but using software to write a register (GPIO_IRQSTATUS_RAW_n) to generate interrupt.r£jZjwjbjüjdj¥jf}r¤(jh]ji]jj]jk]jn]ujpKDjqhjr]r¥j{X‚This LED blink example uses 2 GPIO pins. The first pin is used to periodically generate an interrupt. The second pin is an output pin connected to an onboard LED, which toggles between low and high inside the interrupt ISR, thus driving the LED. Note the first pin doesn’t accept any external input, but using software to write a register (GPIO_IRQSTATUS_RAW_n) to generate interrupt.r¦…�r§}r¨(jYj£jZj¡ubaubj¡)�r©}rª(jYX[Also note from GPIO_idkAM572x_board.c, the rising edge is configured to generate interrupt:r«jZjwjbjüjdj¥jf}r¬(jh]ji]jj]jk]jn]ujpKFjqhjr]r­j{X[Also note from GPIO_idkAM572x_board.c, the rising edge is configured to generate interrupt:r®…�r¯}r°(jYj«jZj©ubaubj)�r±}r²(jYXÊGPIO_PinConfig gpioPinConfigs_1p3[] = { /* Input pin with interrupt enabled */ GPIO_DEVICE_CONFIG(GPIO_GRN_LED_PORT_NUM_1P3, GPIO_GRN_LED_PIN_NUM_1P3) | GPIO_CFG_IN_INT_RISING | GPIO_CFG_INPUT, }jZjwjbjüjdjjf}r³(j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpKHjqhjr]r´j{XÊGPIO_PinConfig gpioPinConfigs_1p3[] = { /* Input pin with interrupt enabled */ GPIO_DEVICE_CONFIG(GPIO_GRN_LED_PORT_NUM_1P3, GPIO_GRN_LED_PIN_NUM_1P3) | GPIO_CFG_IN_INT_RISING | GPIO_CFG_INPUT, }rµ…�r¶}r·(jYUjZj±ubaubj¡)�r¸}r¹(jYXîAfter understanding how the reference example works, the code can be modified to use the first pin to receive external input and trigger the interrupt, then the second pin works the same way to toggle the LED, visualizing the event input.rºjZjwjbjüjdj¥jf}r»(jh]ji]jj]jk]jn]ujpKPjqhjr]r¼j{XîAfter understanding how the reference example works, the code can be modified to use the first pin to receive external input and trigger the interrupt, then the second pin works the same way to toggle the LED, visualizing the event input.r½…�r¾}r¿(jYjºjZj¸ubaubj¡)�rÀ}rÁ(jYX{Code modifications: • GPIO_board.h: this file defines the GPIO pins for the test, the first pin needs to be updatedrÂjZjwjbjüjdj¥jf}rÃ(jh]ji]jj]jk]jn]ujpKRjqhjr]rÄj{X{Code modifications: • GPIO_board.h: this file defines the GPIO pins for the test, the first pin needs to be updatedrÅ…�rÆ}rÇ(jYjÂjZjÀubaubj)�rÈ}rÉ(jYXn#define GPIO_INTR_LED_BASE_ADDR_1P3 (CSL_MPU_GPIO2_REGS) #define GPIO_LED_PIN_NUM_1P3 (0x13U)jZjwjbjüjdjjf}rÊ(j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpKUjqhjr]rËj{Xn#define GPIO_INTR_LED_BASE_ADDR_1P3 (CSL_MPU_GPIO2_REGS) #define GPIO_LED_PIN_NUM_1P3 (0x13U)rÌ…�rÍ}rÎ(jYUjZjÈubaubjC)�rÏ}rÐ(jYUjZjwjbjüjdj`jf}rÑ(jGX•jk]jj]jh]ji]jn]ujpKZjqhjr]rÒj/)�rÓ}rÔ(jYXmGPIO_idkAM572x_board.c: this file also defines the GPIO pins for the test, the first pin needs to be updated jZjÏjbjüjdj2jf}rÕ(jh]ji]jj]jk]jn]ujpNjqhjr]rÖj¡)�r×}rØ(jYXlGPIO_idkAM572x_board.c: this file also defines the GPIO pins for the test, the first pin needs to be updatedrÙjZjÓjbjüjdj¥jf}rÚ(jh]ji]jj]jk]jn]ujpKZjr]rÛj{XlGPIO_idkAM572x_board.c: this file also defines the GPIO pins for the test, the first pin needs to be updatedrÜ…�rÝ}rÞ(jYjÙjZj×ubaubaubaubj)�rß}rà(jYXæ/* GPIO Definitions specific Rev1p3 Board */ /* GPIO pin number connected to the green LED */ #define GPIO_GRN_LED_PIN_NUM_1P3 (0x13) /* GPIO port number connected to the green LED */ #define GPIO_GRN_LED_PORT_NUM_1P3 (0x02)jZjwjbjüjdjjf}rá(j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpK\jqhjr]râj{Xæ/* GPIO Definitions specific Rev1p3 Board */ /* GPIO pin number connected to the green LED */ #define GPIO_GRN_LED_PIN_NUM_1P3 (0x13) /* GPIO port number connected to the green LED */ #define GPIO_GRN_LED_PORT_NUM_1P3 (0x02)rã…�rä}rå(jYUjZjßubaubjC)�ræ}rç(jYUjZjwjbjüjdj`jf}rè(jGX•jk]jj]jh]ji]jn]ujpKejqhjr]réj/)�rê}rë(jYXzmain_led_blink.c: this is the main test program. The change is high-lighted in black, while the original code is in grey. jZjæjbjüjdj2jf}rì(jh]ji]jj]jk]jn]ujpNjqhjr]ríj¡)�rî}rï(jYXymain_led_blink.c: this is the main test program. The change is high-lighted in black, while the original code is in grey.rðjZjêjbjüjdj¥jf}rñ(jh]ji]jj]jk]jn]ujpKejr]ròj{Xymain_led_blink.c: this is the main test program. The change is high-lighted in black, while the original code is in grey.ró…�rô}rõ(jYjðjZjîubaubaubaubj%)�rö}r÷(jYUjZjwjbjüjdj(jf}rø(j*U)jk]jj]jh]j+Uji]jn]j,j-ujpKgjqhjr]rùj/)�rú}rû(jYX Inside void gpio_test(UArg arg0, UArg arg1) routine there is a while(1) loop that continuously triggers the interrupt by software write. Since the new example relies on the external input event to trigger it, one can simply add another while(1) in front of it to block the original loop: jZjöjbjüjdj2jf}rü(jh]ji]jj]jk]jn]ujpNjqhjr]rýj¡)�rþ}rÿ(jYXInside void gpio_test(UArg arg0, UArg arg1) routine there is a while(1) loop that continuously triggers the interrupt by software write. Since the new example relies on the external input event to trigger it, one can simply add another while(1) in front of it to block the original loop:rjZjújbjüjdj¥jf}r(jh]ji]jj]jk]jn]ujpKgjr]rj{XInside void gpio_test(UArg arg0, UArg arg1) routine there is a while(1) loop that continuously triggers the interrupt by software write. Since the new example relies on the external input event to trigger it, one can simply add another while(1) in front of it to block the original loop:r…�r}r(jYjjZjþubaubaubaubj)�r}r(jYXøwhile(1); //New added loop while(1) { if defined(SOC_AM574x) || defined(SOC_AM572x) || defined(SOC_AM571x)|| defined(SOC_AM335x) || defined(SOC_AM437x) #if defined (idkAM572x) || defined (idkAM574x) …. }jZjwjbjüjdjjf}r(j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpKijqhjr]r j{Xøwhile(1); //New added loop while(1) { if defined(SOC_AM574x) || defined(SOC_AM572x) || defined(SOC_AM571x)|| defined(SOC_AM335x) || defined(SOC_AM437x) #if defined (idkAM572x) || defined (idkAM574x) …. }r …�r }r (jYUjZjubaubj%)�r }r(jYUjZjwjbjüjdj(jf}r(j*U)jdKjk]jj]jh]j+Uji]jn]j,j-ujpKsjqhjr]rj/)�r}r(jYXxAlso inside the same void gpio_test(UArg arg0, UArg arg1) routine, one may add a debounce control before the test loop: jZj jbjüjdj2jf}r(jh]ji]jj]jk]jn]ujpNjqhjr]rj¡)�r}r(jYXwAlso inside the same void gpio_test(UArg arg0, UArg arg1) routine, one may add a debounce control before the test loop:rjZjjbjüjdj¥jf}r(jh]ji]jj]jk]jn]ujpKsjr]rj{XwAlso inside the same void gpio_test(UArg arg0, UArg arg1) routine, one may add a debounce control before the test loop:r…�r}r(jYjjZjubaubaubaubj)�r}r(jYXM/* Write high to gpio pin to control LED1 */ GPIO_write((USER_LED1), GPIO_PIN_VAL_HIGH); /* Add new debounce code here */ GPIOAppUpdateConfig(&gpioBaseAddr, &gpioPin); GPIODebounceFuncControl(gpioBaseAddr, gpioPin, 1); GPIODebounceTimeConfig(gpioBaseAddr, 255); AppDelay(DELAY_VALUE); GPIO_log("\n GPIO Led Blink Application \n");jZjwjbjüjdjjf}r(j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpKujqhjr]r j{XM/* Write high to gpio pin to control LED1 */ GPIO_write((USER_LED1), GPIO_PIN_VAL_HIGH); /* Add new debounce code here */ GPIOAppUpdateConfig(&gpioBaseAddr, &gpioPin); GPIODebounceFuncControl(gpioBaseAddr, gpioPin, 1); GPIODebounceTimeConfig(gpioBaseAddr, 255); AppDelay(DELAY_VALUE); GPIO_log("\n GPIO Led Blink Application \n");r!…�r"}r#(jYUjZjubaubj¡)�r$}r%(jYX{After all the code changes, rebuild the test application. A GPIO_LedBlink_idkAM572x_armTestProject.out should be generated.r&jZjwjbjüjdj¥jf}r'(jh]ji]jj]jk]jn]ujpKƒjqhjr]r(j{X{After all the code changes, rebuild the test application. A GPIO_LedBlink_idkAM572x_armTestProject.out should be generated.r)…�r*}r+(jYj&jZj$ubaubeubj[)�r,}r-(jYUjZjéjbjüjdjejf}r.(jh]ji]jj]jk]r/Utestr0ajn]r1j"aujpK†jqhjr]r2(jt)�r3}r4(jYXTestr5jZj,jbjüjdjxjf}r6(jh]ji]jj]jk]jn]ujpK†jqhjr]r7j{XTestr8…�r9}r:(jYj5jZj3ubaubj¡)�r;}r<(jYXE**Test Setup** The test setup using AM572x IDK EVM is depicted below:jZj,jbjüjdj¥jf}r=(jh]ji]jj]jk]jn]ujpKˆjqhjr]r>(jü)�r?}r@(jYX**Test Setup**jf}rA(jh]ji]jj]jk]jn]ujZj;jr]rBj{X Test SetuprC…�rD}rE(jYUjZj?ubajdjubj{X7 The test setup using AM572x IDK EVM is depicted below:rF…�rG}rH(jYX7 The test setup using AM572x IDK EVM is depicted below:jZj;ubeubjB)�rI}rJ(jYX#.. Image:: ../images/gpio_test.png jZj,jbjüjdjEjf}rK(UuriXrtos/../images/gpio_test.pngrLjk]jj]jh]ji]jH}rMU*jLsjn]ujpKŒjqhjr]ubjC)�rN}rO(jYUjZj,jbjüjdj`jf}rP(jGX•jk]jj]jh]ji]jn]ujpK�jqhjr]rQ(j/)�rR}rS(jYX*The EVM is powered with a +5V power supplyrTjZjNjbjüjdj2jf}rU(jh]ji]jj]jk]jn]ujpNjqhjr]rVj¡)�rW}rX(jYjTjZjRjbjüjdj¥jf}rY(jh]ji]jj]jk]jn]ujpK�jr]rZj{X*The EVM is powered with a +5V power supplyr[…�r\}r](jYjTjZjWubaubaubj/)�r^}r_(jYXeA micro USB cable is connected to the host PC for on-board XDS100v2 JTAG connection and UART console.r`jZjNjbjüjdj2jf}ra(jh]ji]jj]jk]jn]ujpNjqhjr]rbj¡)�rc}rd(jYj`jZj^jbjüjdj¥jf}re(jh]ji]jj]jk]jn]ujpKŽjr]rfj{XeA micro USB cable is connected to the host PC for on-board XDS100v2 JTAG connection and UART console.rg…�rh}ri(jYj`jZjcubaubaubj/)�rj}rk(jYX,A wire is connected to J21 pin4 as the event input. Another wire is connected to J21 pin 60 as the digital ground. When the two wires touch each other, pin 4 goes low, creating a GPIO falling edge. On the other hand, when the two wires are not touching, pin 4 goes high, creating a GPIO rising edge. jZjNjbjüjdj2jf}rl(jh]ji]jj]jk]jn]ujpNjqhjr]rmj¡)�rn}ro(jYX+A wire is connected to J21 pin4 as the event input. Another wire is connected to J21 pin 60 as the digital ground. When the two wires touch each other, pin 4 goes low, creating a GPIO falling edge. On the other hand, when the two wires are not touching, pin 4 goes high, creating a GPIO rising edge.rpjZjjjbjüjdj¥jf}rq(jh]ji]jj]jk]jn]ujpK�jr]rrj{X+A wire is connected to J21 pin4 as the event input. Another wire is connected to J21 pin 60 as the digital ground. When the two wires touch each other, pin 4 goes low, creating a GPIO falling edge. On the other hand, when the two wires are not touching, pin 4 goes high, creating a GPIO rising edge.rs…�rt}ru(jYjpjZjnubaubaubeubj¡)�rv}rw(jYX**Test Procedure**rxjZj,jbjüjdj¥jf}ry(jh]ji]jj]jk]jn]ujpK‘jqhjr]rzjü)�r{}r|(jYjxjf}r}(jh]ji]jj]jk]jn]ujZjvjr]r~j{XTest Procedurer…�r€}r�(jYUjZj{ubajdjubaubjC)�r‚}rƒ(jYUjZj,jbjüjdj`jf}r„(jGX•jk]jj]jh]ji]jn]ujpK“jqhjr]r…(j/)�r†}r‡(jYX]Connect to the A15_0 with a JTAG emulator and use the default GEL file to initialize the SOC.rˆjZj‚jbjüjdj2jf}r‰(jh]ji]jj]jk]jn]ujpNjqhjr]rŠj¡)�r‹}rŒ(jYjˆjZj†jbjüjdj¥jf}r�(jh]ji]jj]jk]jn]ujpK“jr]rŽj{X]Connect to the A15_0 with a JTAG emulator and use the default GEL file to initialize the SOC.r�…�r�}r‘(jYjˆjZj‹ubaubaubj/)�r’}r“(jYXOLoad the test application (GPIO_LedBlink_idkAM572x_armTestProject.out) and run.r”jZj‚jbjüjdj2jf}r•(jh]ji]jj]jk]jn]ujpNjqhjr]r–j¡)�r—}r˜(jYj”jZj’jbjüjdj¥jf}r™(jh]ji]jj]jk]jn]ujpK”jr]ršj{XOLoad the test application (GPIO_LedBlink_idkAM572x_armTestProject.out) and run.r›…�rœ}r�(jYj”jZj—ubaubaubj/)�rž}rŸ(jYXvTouch the two wires, then un-touch, the LED should flip the status and keep steady until next touch, un-touch cycle. jZj‚jbXfinternal padding after source/rtos/How_to_Guides/Target/External_Input_Trigger_Interrupt_AM57x.rst.incr jdj2jf}r¡(jh]ji]jj]jk]jn]ujpNjqhjr]r¢j¡)�r£}r¤(jYXtTouch the two wires, then un-touch, the LED should flip the status and keep steady until next touch, un-touch cycle.r¥jZjžjbjüjdj¥jf}r¦(jh]ji]jj]jk]jn]ujpK•jr]r§j{XtTouch the two wires, then un-touch, the LED should flip the status and keep steady until next touch, un-touch cycle.r¨…�r©}rª(jYj¥jZj£ubaubaubeubeubeubj[)�r«}r¬(jYUjZj`jbjcjdjejf}r­(jh]ji]jj]jk]r®U%run-applications-from-ddr-on-r5-coresr¯ajn]r°j9aujpKjqhjr]r±(jt)�r²}r³(jYX%Run applications from DDR on R5 coresr´jZj«jbjcjdjxjf}rµ(jh]ji]jj]jk]jn]ujpKjqhjr]r¶j{X%Run applications from DDR on R5 coresr·…�r¸}r¹(jYj´jZj²ubaubj–)�rº}r»(jYX".. _run-apps-from-ddr-on-r5-cores:jZj«jbj�X<source/rtos/How_to_Guides/Target/Run_apps_from_DDR_on_R5.rstr¼…�r½}r¾bjdj™jf}r¿(jk]jj]jh]ji]jn]jâUrun-apps-from-ddr-on-r5-coresrÀujpMçjqhjr]ubj¡)�rÁ}rÂ(jYXOnce the R5 core is out of reset, the R5 defaults to no execute permissions for the DDR memory space. The side effect of this is, that all code, from entry point till the code that sets up the MPU (Memory Protection Unit), has to be run from internal memory.rÃjZj«jbj½Uexpect_referenced_by_namerÄ}rÅhˆjºsjdj¥jf}rÆ(jh]ji]jj]jk]rÇjÀajn]rÈhˆaujpKjqhUexpect_referenced_by_idrÉ}rÊjÀjºsjr]rËj{XOnce the R5 core is out of reset, the R5 defaults to no execute permissions for the DDR memory space. The side effect of this is, that all code, from entry point till the code that sets up the MPU (Memory Protection Unit), has to be run from internal memory.rÌ…�rÍ}rÎ(jYjÃjZjÁubaubj–)�rÏ}rÐ(jYX .. _run-bios-app-from-ddr-on-r5:jZj«jbj½jdj™jf}rÑ(jk]jj]jh]ji]jn]jâUrun-bios-app-from-ddr-on-r5rÒujpMîjqhjr]ubj[)�rÓ}rÔ(jYUjZj«jbj½jÄ}rÕjjÏsjdjejf}rÖ(jh]ji]jj]jk]r×(U$run-bios-applications-from-ddr-on-r5rØjÒejn]rÙ(h²jeujpK jqhjÉ}rÚjÒjÏsjr]rÛ(jt)�rÜ}rÝ(jYX$Run BIOS Applications from DDR on R5rÞjZjÓjbj½jdjxjf}rß(jh]ji]jj]jk]jn]ujpK jqhjr]ràj{X$Run BIOS Applications from DDR on R5rá…�râ}rã(jYjÞjZjÜubaubj¡)�rä}rå(jYXéIn BIOS, the application sets up the MPU as per the memory configuration specified in the *.xs file (that is referred to in the applications bios config file). Once the MPU is setup by the app, the rest of the code can run from DDR.jZjÓjbj½jdj¥jf}ræ(jh]ji]jj]jk]jn]ujpK jqhjr]rç(j{XZIn BIOS, the application sets up the MPU as per the memory configuration specified in the rè…�ré}rê(jYXZIn BIOS, the application sets up the MPU as per the memory configuration specified in the jZjäubcdocutils.nodes problematic rë)�rì}rí(jYX*jf}rî(jk]rïUid3rðajj]jh]ji]jn]UrefidUid2rñujZjäjr]ròj{X*…�ró}rô(jYUjZjìubajdU problematicrõubj{XŽ.xs file (that is referred to in the applications bios config file). Once the MPU is setup by the app, the rest of the code can run from DDR.rö…�r÷}rø(jYXŽ.xs file (that is referred to in the applications bios config file). Once the MPU is setup by the app, the rest of the code can run from DDR.jZjäubeubj¡)�rù}rú(jYXÉTo ensure that all code from entry point to MPU setup is run from internal memory, the text sections of the following libs must be placed in internal memory using the application's linker command file.rûjZjÓjbj½jdj¥jf}rü(jh]ji]jj]jk]jn]ujpKjqhjr]rýj{XÉTo ensure that all code from entry point to MPU setup is run from internal memory, the text sections of the following libs must be placed in internal memory using the application's linker command file.rþ…�rÿ}r(jYjûjZjùubaubjC)�r}r(jYUjZjÓjbj½jdj`jf}r(jGX*jk]jj]jh]ji]jn]ujpKjqhjr]r(j/)�r}r(jYX*sysbios.aer5f(.text) jZjjbj½jdj2jf}r(jh]ji]jj]jk]jn]ujpNjqhjr]rj¡)�r }r (jYX*sysbios.aer5f(.text)jZjjbj½jdj¥jf}r (jh]ji]jj]jk]jn]ujpKjr]r (jë)�r }r(jYX*jf}r(jk]rUid5rajj]jh]ji]jn]UrefidUid4rujZj jr]rj{X*…�r}r(jYUjZj ubajdjõubj{Xsysbios.aer5f(.text)r…�r}r(jYXsysbios.aer5f(.text)jZj ubeubaubj/)�r}r(jYX*boot.aer5f(.text) jZjjbj½jdj2jf}r(jh]ji]jj]jk]jn]ujpNjqhjr]rj¡)�r}r(jYX*boot.aer5f(.text)jZjjbj½jdj¥jf}r(jh]ji]jj]jk]jn]ujpKjr]r (jë)�r!}r"(jYX*jf}r#(jk]r$Uid7r%ajj]jh]ji]jn]UrefidUid6r&ujZjjr]r'j{X*…�r(}r)(jYUjZj!ubajdjõubj{Xboot.aer5f(.text)r*…�r+}r,(jYXboot.aer5f(.text)jZjubeubaubj/)�r-}r.(jYX*auto_init.aer5f(.text) jZjjbj½jdj2jf}r/(jh]ji]jj]jk]jn]ujpNjqhjr]r0j¡)�r1}r2(jYX*auto_init.aer5f(.text)jZj-jbj½jdj¥jf}r3(jh]ji]jj]jk]jn]ujpKjr]r4(jë)�r5}r6(jYX*jf}r7(jk]r8Uid9r9ajj]jh]ji]jn]UrefidUid8r:ujZj1jr]r;j{X*…�r<}r=(jYUjZj5ubajdjõubj{Xauto_init.aer5f(.text)r>…�r?}r@(jYXauto_init.aer5f(.text)jZj1ubeubaubj/)�rA}rB(jYX*_per5f.oer5f(.text) jZjjbj½jdj2jf}rC(jh]ji]jj]jk]jn]ujpNjqhjr]rDj¡)�rE}rF(jYX*_per5f.oer5f(.text)jZjAjbj½jdj¥jf}rG(jh]ji]jj]jk]jn]ujpKjr]rH(jë)�rI}rJ(jYX*jf}rK(jk]rLUid11rMajj]jh]ji]jn]UrefidUid10rNujZjEjr]rOj{X*…�rP}rQ(jYUjZjIubajdjõubj{X_per5f.oer5f(.text)rR…�rS}rT(jYX_per5f.oer5f(.text)jZjEubeubaubeubj¡)�rU}rV(jYX•Refer `emac_linker_r5.lds `__ for an example.jZjÓjbj½jdj¥jf}rW(jh]ji]jj]jk]jn]ujpKjqhjr]rX(j{XRefer rY…�rZ}r[(jYXRefer jZjUubjÜ)�r\}r](jYX`emac_linker_r5.lds `__jf}r^(UnameXemac_linker_r5.ldsjXfhttps://git.ti.com/keystone-rtos/emac-lld/blobs/master/test/EmacLoopbackTest/am65xx/emac_linker_r5.ldsjk]jj]jh]ji]jn]ujZjUjr]r_j{Xemac_linker_r5.ldsr`…�ra}rb(jYUjZj\ubajdjàubj{X for an example.rc…�rd}re(jYX for an example.jZjUubeubj)�rf}rg(jYXçPlease note that you need to replace *_per5f.oer5f with the corresponding file for your application. For eg, if the application's .cfg file is emacUnitTest_r5.cfg, then the .oer5f file will be named emacUnitTest_r5_per5f.oer5fjZjÓjbj½jdjjf}rh(jh]ji]jj]jk]jn]ujpNjqhjr]rij¡)�rj}rk(jYXçPlease note that you need to replace *_per5f.oer5f with the corresponding file for your application. For eg, if the application's .cfg file is emacUnitTest_r5.cfg, then the .oer5f file will be named emacUnitTest_r5_per5f.oer5fjZjfjbj½jdj¥jf}rl(jh]ji]jj]jk]jn]ujpK jr]rm(j{X%Please note that you need to replace rn…�ro}rp(jYX%Please note that you need to replace jZjjubjë)�rq}rr(jYX*jf}rs(jk]rtUid13ruajj]jh]ji]jn]UrefidUid12rvujZjjjr]rwj{X*…�rx}ry(jYUjZjqubajdjõubj{XÁ_per5f.oer5f with the corresponding file for your application. For eg, if the application's .cfg file is emacUnitTest_r5.cfg, then the .oer5f file will be named emacUnitTest_r5_per5f.oer5frz…�r{}r|(jYXÁ_per5f.oer5f with the corresponding file for your application. For eg, if the application's .cfg file is emacUnitTest_r5.cfg, then the .oer5f file will be named emacUnitTest_r5_per5f.oer5fjZjjubeubaubj¡)�r}}r~(jYXýYou also need to update the *.xs file referred to by the applications .cfg file to make sure that the DDR has execute privileges. Please refer `r5_mpu.xs `__ for an example memory configuration. You could also make the applications .cfg file refer to the common .xs file, as shown in the example `emacUnitTest_r5.cfg `__.jZjÓjbj½jdj¥jf}r(jh]ji]jj]jk]jn]ujpK%jqhjr]r€(j{XYou also need to update the r�…�r‚}rƒ(jYXYou also need to update the jZj}ubjë)�r„}r…(jYX*jf}r†(jk]r‡Uid15rˆajj]jh]ji]jn]UrefidUid14r‰ujZj}jr]rŠj{X*…�r‹}rŒ(jYUjZj„ubajdjõubj{Xr.xs file referred to by the applications .cfg file to make sure that the DDR has execute privileges. Please refer r�…�rŽ}r�(jYXr.xs file referred to by the applications .cfg file to make sure that the DDR has execute privileges. Please refer jZj}ubjÜ)�r�}r‘(jYXa`r5_mpu.xs `__jf}r’(UnameX r5_mpu.xsjXQhttp://git.ti.com/keystone-rtos/processor-pdk-build/blobs/master/am65xx/r5_mpu.xsjk]jj]jh]ji]jn]ujZj}jr]r“j{X r5_mpu.xsr”…�r•}r–(jYUjZj�ubajdjàubj{X‹ for an example memory configuration. You could also make the applications .cfg file refer to the common .xs file, as shown in the example r—…�r˜}r™(jYX‹ for an example memory configuration. You could also make the applications .cfg file refer to the common .xs file, as shown in the example jZj}ubjÜ)�rš}r›(jYX�`emacUnitTest_r5.cfg `__jf}rœ(UnameXemacUnitTest_r5.cfgjXghttps://git.ti.com/keystone-rtos/emac-lld/blobs/master/test/EmacLoopbackTest/am65xx/emacUnitTest_r5.cfgjk]jj]jh]ji]jn]ujZj}jr]r�j{XemacUnitTest_r5.cfgrž…�rŸ}r (jYUjZjšubajdjàubj{X.…�r¡}r¢(jYX.jZj}ubeubcdocutils.nodes warning r£)�r¤}r¥(jYXOnce you update the .xs file, please note remember to delete *_per5f.oer5f from the applications *configuro directory, so that it is autogenerated again. If you simply do a clean build, *_per5f.oer5f will not be updated to reflect the changes in the *.xs file.jZjÓjbj½jdUwarningr¦jf}r§(jh]ji]jj]jk]jn]ujpNjqhjr]r¨j¡)�r©}rª(jYXOnce you update the .xs file, please note remember to delete *_per5f.oer5f from the applications *configuro directory, so that it is autogenerated again. If you simply do a clean build, *_per5f.oer5f will not be updated to reflect the changes in the *.xs file.jZj¤jbj½jdj¥jf}r«(jh]ji]jj]jk]jn]ujpK+jr]r¬(j{X=Once you update the .xs file, please note remember to delete r­…�r®}r¯(jYX=Once you update the .xs file, please note remember to delete jZj©ubjë)�r°}r±(jYX*jf}r²(jk]r³Uid17r´ajj]jh]ji]jn]UrefidUid16rµujZj©jr]r¶j{X*…�r·}r¸(jYUjZj°ubajdjõubj{X(_per5f.oer5f from the applications r¹…�rº}r»(jYX(_per5f.oer5f from the applications jZj©ubjë)�r¼}r½(jYX*jf}r¾(jk]r¿Uid19rÀajj]jh]ji]jn]UrefidUid18rÁujZj©jr]rÂj{X*…�rÃ}rÄ(jYUjZj¼ubajdjõubj{XXconfiguro directory, so that it is autogenerated again. If you simply do a clean build, rÅ…�rÆ}rÇ(jYXXconfiguro directory, so that it is autogenerated again. If you simply do a clean build, jZj©ubjë)�rÈ}rÉ(jYX*jf}rÊ(jk]rËUid21rÌajj]jh]ji]jn]UrefidUid20rÍujZj©jr]rÎj{X*…�rÏ}rÐ(jYUjZjÈubajdjõubj{XD_per5f.oer5f will not be updated to reflect the changes in the rÑ…�rÒ}rÓ(jYXD_per5f.oer5f will not be updated to reflect the changes in the jZj©ubjë)�rÔ}rÕ(jYX*jf}rÖ(jk]r×Uid23rØajj]jh]ji]jn]UrefidUid22rÙujZj©jr]rÚj{X*…�rÛ}rÜ(jYUjZjÔubajdjõubj{X .xs file.rÝ…�rÞ}rß(jYX .xs file.jZj©ubeubaubj–)�rà}rá(jYX%.. _run-baremetal-app-from-ddr-on-r5:jZjÓjbj½jdj™jf}râ(jk]jj]jh]ji]jn]jâU run-baremetal-app-from-ddr-on-r5rãujpMjqhjr]ubeubj[)�rä}rå(jYUjZj«jbj½jÄ}ræh{jàsjdjejf}rç(jh]ji]jj]jk]rè(U)run-baremetal-applications-from-ddr-on-r5réjãejn]rê(hrh{eujpK5jqhjÉ}rëjãjàsjr]rì(jt)�rí}rî(jYX)Run Baremetal Applications from DDR on R5rïjZjäjbj½jdjxjf}rð(jh]ji]jj]jk]jn]ujpK5jqhjr]rñj{X)Run Baremetal Applications from DDR on R5rò…�ró}rô(jYjïjZjíubaubj¡)�rõ}rö(jYXiBaremetal applications have similar restrictions on running code from internal memory till the MPU is configured, just like BIOS applications. For best comaptibility, however, make sure that the entry point is always the reset vector, and that the code that sets up the DDR access permissions in the MPU resides completely within 0x100 bytes of the entry point.r÷jZjäjbj½jdj¥jf}rø(jh]ji]jj]jk]jn]ujpK7jqhjr]rùj{XiBaremetal applications have similar restrictions on running code from internal memory till the MPU is configured, just like BIOS applications. For best comaptibility, however, make sure that the entry point is always the reset vector, and that the code that sets up the DDR access permissions in the MPU resides completely within 0x100 bytes of the entry point.rú…�rû}rü(jYj÷jZjõubaubj¡)�rý}rþ(jYXÎFor applications that find the default R5 configuration setup by the CSL sufficient, there is another method that can be used to execute an application from DDR. If the bootloader (SBL) is re-built using the SBL_SKIP_MCU_RESET compile option (by enabling the corresponding line in `sbl_component.mk `__, then SBL will branch to the application entry point without resetting the R5 core.jZjäjbj½jdj¥jf}rÿ(jh]ji]jj]jk]jn]ujpK>jqhjr]r(j{XFor applications that find the default R5 configuration setup by the CSL sufficient, there is another method that can be used to execute an application from DDR. If the bootloader (SBL) is re-built using the SBL_SKIP_MCU_RESET compile option (by enabling the corresponding line in r…�r}r(jYXFor applications that find the default R5 configuration setup by the CSL sufficient, there is another method that can be used to execute an application from DDR. If the bootloader (SBL) is re-built using the SBL_SKIP_MCU_RESET compile option (by enabling the corresponding line in jZjýubjÜ)�r}r(jYXa`sbl_component.mk `__jf}r(UnameXsbl_component.mkjXJhttps://git.ti.com/keystone-rtos/sbl/blobs/master/sbl_component.mk#line399jk]jj]jh]ji]jn]ujZjýjr]rj{Xsbl_component.mkr…�r }r (jYUjZjubajdjàubj{XT, then SBL will branch to the application entry point without resetting the R5 core.r …�r }r (jYXT, then SBL will branch to the application entry point without resetting the R5 core.jZjýubeubj¡)�r}r(jYX)In this scenario, as the R5 core was already setup when the SBL invoked CSL init, the app can execute directly from DDR, right from its entry point. However, the app must take care not to redo the R5 initialization using CSL init, as the CSL initialization code assumes that the R5 registers are at their reset default values. This can be done by simply defining an empty __mpu_init function in the baremetal application. Refer `sbl_smp_r5.asm `__ for an example.jZjäjbj½jdj¥jf}r(jh]ji]jj]jk]jn]ujpKEjqhjr]r(j{X­In this scenario, as the R5 core was already setup when the SBL invoked CSL init, the app can execute directly from DDR, right from its entry point. However, the app must take care not to redo the R5 initialization using CSL init, as the CSL initialization code assumes that the R5 registers are at their reset default values. This can be done by simply defining an empty __mpu_init function in the baremetal application. Refer r…�r}r(jYX­In this scenario, as the R5 core was already setup when the SBL invoked CSL init, the app can execute directly from DDR, right from its entry point. However, the app must take care not to redo the R5 initialization using CSL init, as the CSL initialization code assumes that the R5 registers are at their reset default values. This can be done by simply defining an empty __mpu_init function in the baremetal application. Refer jZjubjÜ)�r}r(jYXl`sbl_smp_r5.asm `__jf}r(UnameXsbl_smp_r5.asmjXWhttps://git.ti.com/keystone-rtos/sbl/blobs/master/example/k3MulticoreApp/sbl_smp_r5.asmjk]jj]jh]ji]jn]ujZjjr]rj{Xsbl_smp_r5.asmr…�r}r(jYUjZjubajdjàubj{X for an example.r…�r}r(jYX for an example.jZjubeubeubeubeubjbjcjdjejf}r(jh]ji]jj]jk]r Urun-ipc-examples-on-am572xr!ajn]r"haujpKjqhjr]r#(jt)�r$}r%(jYXRun IPC Examples on AM572xr&jZj^jbjcjdjxjf}r'(jh]ji]jj]jk]jn]ujpKjqhjr]r(j{XRun IPC Examples on AM572xr)…�r*}r+(jYj&jZj$ubaubjî)�r,}r-(jYXMhttp://processors.wiki.ti.com/index.php/Running_IPC_Examples_on_DRA7xx/AM572xjZj^jbj�XCsource/rtos/How_to_Guides/Target/Run_IPC_Examples_on_AM572x.rst.incr.…�r/}r0bjdjôjf}r1(jöj÷jk]jj]jh]ji]jn]ujpKjqhjr]r2j{XMhttp://processors.wiki.ti.com/index.php/Running_IPC_Examples_on_DRA7xx/AM572xr3…�r4}r5(jYUjZj,ubaubj\eubjbj/jdjejf}r6(jh]ji]jj]jk]r7Udra7xx-am572xx-ipc-examplesr8ajn]r9hÅaujpKjqhjr]r:(jt)�r;}r<(jYXDRA7xx/AM572xx IPC Examplesr=jZj\jbj/jdjxjf}r>(jh]ji]jj]jk]jn]ujpKjqhjr]r?j{XDRA7xx/AM572xx IPC Examplesr@…�rA}rB(jYj=jZj;ubaubjè)�rC}rD(jYXIPC Hello Example:rEjZj\jbj/jdjíjf}rF(jk]rGUipc-hello-examplerHajj]jh]ji]jn]rIhTaujpNjqhjr]rJj{XIPC Hello Example:rK…�rL}rM(jYjEjZjCubaubj¡)�rN}rO(jYX**ex01_hello**rPjZj\jbj/jdj¥jf}rQ(jh]ji]jj]jk]jn]ujpK jqhjr]rRjü)�rS}rT(jYjPjf}rU(jh]ji]jj]jk]jn]ujZjNjr]rVj{X ex01_hellorW…�rX}rY(jYUjZjSubajdjubaubcdocutils.nodes line_block rZ)�r[}r\(jYUjZj\jbj/jdU line_blockr]jf}r^(jh]ji]jj]jk]jn]ujpK jqhjr]r_cdocutils.nodes line r`)�ra}rb(jYUUindentrcKjZj[jbj/jdjpjf}rd(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�re}rf(jYXThe following examples demonstrate some of the rudimentary IPC capabilities. They are mostly two processors examples. These examples may be built for any two processors on your device, but only for two at a time. An IPC Ping example using three processors is also presented at the end.rgjZj\jbj/jdj¥jf}rh(jh]ji]jj]jk]jn]ujpK jqhjr]rij{XThe following examples demonstrate some of the rudimentary IPC capabilities. They are mostly two processors examples. These examples may be built for any two processors on your device, but only for two at a time. An IPC Ping example using three processors is also presented at the end.rj…�rk}rl(jYjgjZjeubaubj¡)�rm}rn(jYXûHello example uses the reader/writer design pattern. One processor will be the reader and the other will be the writer. The reader creates a message queue and waits on it for messages. The writer opens the reader's message queue and sends messages to it. The writer allocates the message from a shared message pool and the reader returns the message to the pool. Thus, messages are sent in only one direction. Default settings of the Hello world example configures DSP1 as the writer and DSP2 as the reader.rojZj\jbj/jdj¥jf}rp(jh]ji]jj]jk]jn]ujpKjqhjr]rqj{XûHello example uses the reader/writer design pattern. One processor will be the reader and the other will be the writer. The reader creates a message queue and waits on it for messages. The writer opens the reader's message queue and sends messages to it. The writer allocates the message from a shared message pool and the reader returns the message to the pool. Thus, messages are sent in only one direction. Default settings of the Hello world example configures DSP1 as the writer and DSP2 as the reader.rr…�rs}rt(jYjojZjmubaubj)�ru}rv(jYXif Windows 7 machine is used for building these examples, **GnuWin32** make utility needs to be installed to run make which can be downloaded from this link `http://gnuwin32.sourceforge.net/packages/make.htm `__jZj\jbj/jdjjf}rw(jh]ji]jj]jk]jn]ujpNjqhjr]rxj¡)�ry}rz(jYXif Windows 7 machine is used for building these examples, **GnuWin32** make utility needs to be installed to run make which can be downloaded from this link `http://gnuwin32.sourceforge.net/packages/make.htm `__jZjujbj/jdj¥jf}r{(jh]ji]jj]jk]jn]ujpKjr]r|(j{X:if Windows 7 machine is used for building these examples, r}…�r~}r(jYX:if Windows 7 machine is used for building these examples, jZjyubjü)�r€}r�(jYX **GnuWin32**jf}r‚(jh]ji]jj]jk]jn]ujZjyjr]rƒj{XGnuWin32r„…�r…}r†(jYUjZj€ubajdjubj{XW make utility needs to be installed to run make which can be downloaded from this link r‡…�rˆ}r‰(jYXW make utility needs to be installed to run make which can be downloaded from this link jZjyubjÜ)�rŠ}r‹(jYXi`http://gnuwin32.sourceforge.net/packages/make.htm `__jf}rŒ(UnameX1http://gnuwin32.sourceforge.net/packages/make.htmjX1http://gnuwin32.sourceforge.net/packages/make.htmjk]jj]jh]ji]jn]ujZjyjr]r�j{X1http://gnuwin32.sourceforge.net/packages/make.htmrŽ…�r�}r�(jYUjZjŠubajdjàubeubaubj¡)�r‘}r’(jYXˆSet **GnuWin32\\bin** folder on file path and add a system variable **XDCTOOLS_JAVA_HOME** to point to "**c:\\ti\\ccsv6\\eclipse\\jre**"jZj\jbj/jdj¥jf}r“(jh]ji]jj]jk]jn]ujpK#jqhjr]r”(j{XSet r•…�r–}r—(jYXSet jZj‘ubjü)�r˜}r™(jYX**GnuWin32\\bin**jf}rš(jh]ji]jj]jk]jn]ujZj‘jr]r›j{X GnuWin32\binrœ…�r�}rž(jYUjZj˜ubajdjubj{X/ folder on file path and add a system variable rŸ…�r }r¡(jYX/ folder on file path and add a system variable jZj‘ubjü)�r¢}r£(jYX**XDCTOOLS_JAVA_HOME**jf}r¤(jh]ji]jj]jk]jn]ujZj‘jr]r¥j{XXDCTOOLS_JAVA_HOMEr¦…�r§}r¨(jYUjZj¢ubajdjubj{X to point to "r©…�rª}r«(jYX to point to "jZj‘ubjü)�r¬}r­(jYX**c:\\ti\\ccsv6\\eclipse\\jre**jf}r®(jh]ji]jj]jk]jn]ujZj‘jr]r¯j{Xc:\ti\ccsv6\eclipse\jrer°…�r±}r²(jYUjZj¬ubajdjubj{X"…�r³}r´(jYX"jZj‘ubeubj)�rµ}r¶(jYXbset PATH=\GnuWin32\bin;%PATH% set XDCTOOLS_JAVA_HOME=c:\ti\ccsv6\eclipse\jrejZj\jbj/jdjjf}r·(jöj÷jk]jj]jh]ji]jn]ujpK1jqhjr]r¸j{Xbset PATH=\GnuWin32\bin;%PATH% set XDCTOOLS_JAVA_HOME=c:\ti\ccsv6\eclipse\jrer¹…�rº}r»(jYUjZjµubaubj¡)�r¼}r½(jYXn1. Change to the example folder by entering: cd ~/ti/ipc_nn_nn_nn_nn/examples/DRA7xx_bios_elf/\ **ex01_hello**jZj\jbj/jdj¥jf}r¾(jh]ji]jj]jk]jn]ujpK+jqhjr]r¿(j{X^1. Change to the example folder by entering: cd ~/ti/ipc_nn_nn_nn_nn/examples/DRA7xx_bios_elf/rÀ…�rÁ}rÂ(jYX`1. Change to the example folder by entering: cd ~/ti/ipc_nn_nn_nn_nn/examples/DRA7xx_bios_elf/\ jZj¼ubjü)�rÃ}rÄ(jYX**ex01_hello**jf}rÅ(jh]ji]jj]jk]jn]ujZj¼jr]rÆj{X ex01_hellorÇ…�rÈ}rÉ(jYUjZjÃubajdjubeubj¡)�rÊ}rË(jYX©2. Open readme.txt file and follow build instructions step-by-step. If build this example on Ubuntu PC, make sure there is no spaces between variable name and its value.rÌjZj\jbj/jdj¥jf}rÍ(jh]ji]jj]jk]jn]ujpK.jqhjr]rÎj{X©2. Open readme.txt file and follow build instructions step-by-step. If build this example on Ubuntu PC, make sure there is no spaces between variable name and its value.rÏ…�rÐ}rÑ(jYjÌjZjÊubaubjZ)�rÒ}rÓ(jYUjZj\jbj/jdj]jf}rÔ(jh]ji]jj]jk]jn]ujpK2jqhjr]rÕj`)�rÖ}r×(jYUjcKjZjÒjbj/jdjpjf}rØ(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj)�rÙ}rÚ(jYXDDEPOT (your depository folder ex: DEPOT=/Your_Ubuntu_home_folder/ti)jZj\jbj/jdjjf}rÛ(jöj÷jk]jj]jh]ji]jn]ujpK?jqhjr]rÜj{XDDEPOT (your depository folder ex: DEPOT=/Your_Ubuntu_home_folder/ti)rÝ…�rÞ}rß(jYUjZjÙubaubj)�rà}rá(jYX)BIOS_INSTALL_DIR=$(DEPOT)/bios_n_nn_nn_nnjZj\jbj/jdjjf}râ(jöj÷jk]jj]jh]ji]jn]ujpKCjqhjr]rãj{X)BIOS_INSTALL_DIR=$(DEPOT)/bios_n_nn_nn_nnrä…�rå}ræ(jYUjZjàubaubj)�rç}rè(jYX'IPC_INSTALL_DIR=$(DEPOT)/ipc_n_nn_nn_nnjZj\jbj/jdjjf}ré(jöj÷jk]jj]jh]ji]jn]ujpKGjqhjr]rêj{X'IPC_INSTALL_DIR=$(DEPOT)/ipc_n_nn_nn_nnrë…�rì}rí(jYUjZjçubaubj)�rî}rï(jYX,XDC_INSTALL_DIR=$(DEPOT)/xdctools_n_nn_nn_nnjZj\jbj/jdjjf}rð(jöj÷jk]jj]jh]ji]jn]ujpKKjqhjr]rñj{X,XDC_INSTALL_DIR=$(DEPOT)/xdctools_n_nn_nn_nnrò…�ró}rô(jYUjZjîubaubj)�rõ}rö(jYXOgnu.targets.arm.A15F=$(DEPOT)/ccsv6/tools/compiler/gcc-arm-none-eabi-4_8-2014q3jZj\jbj/jdjjf}r÷(jöj÷jk]jj]jh]ji]jn]ujpKOjqhjr]røj{XOgnu.targets.arm.A15F=$(DEPOT)/ccsv6/tools/compiler/gcc-arm-none-eabi-4_8-2014q3rù…�rú}rû(jYUjZjõubaubj)�rü}rý(jYX=ti.targets.elf.C66=$(DEPOT)/ccsv6/tools/compiler/c6000_7.4.14jZj\jbj/jdjjf}rþ(jöj÷jk]jj]jh]ji]jn]ujpKSjqhjr]rÿj{X=ti.targets.elf.C66=$(DEPOT)/ccsv6/tools/compiler/c6000_7.4.14r …�r }r (jYUjZjüubaubj)�r }r (jYX=ti.targets.arm.elf.M4=$(DEPOT)/ccsv6/tools/compiler/arm_5.2.4jZj\jbj/jdjjf}r (jöj÷jk]jj]jh]ji]jn]ujpKWjqhjr]r j{X=ti.targets.arm.elf.M4=$(DEPOT)/ccsv6/tools/compiler/arm_5.2.4r …�r }r (jYUjZj ubaubj)�r }r (jYXFti.targets.arp32.elf.ARP32_far=$(DEPOT)/ccsv6/tools/compiler/arm_5.2.4jZj\jbj/jdjjf}r (jöj÷jk]jj]jh]ji]jn]ujpK[jqhjr]r j{XFti.targets.arp32.elf.ARP32_far=$(DEPOT)/ccsv6/tools/compiler/arm_5.2.4r …�r }r (jYUjZj ubaubj)�r }r (jYX.See the following example, and ensure you are using the latest version of folder names present in ~/ti folder: DEPOT=/home/Your_Ubuntu_home_folder/ti # Use the following environment assignment (Note you must use 32 bit Java even in Ubuntu 14.04 64 bit OS environment) export XDCTOOLS_JAVA_HOME=/home/Your_Ubuntu_home_folder/ti/ccsv6/eclipse/jre #### BIOS-side dependencies #### BIOS_INSTALL_DIR=$(DEPOT)/bios_6_41_04_54 IPC_INSTALL_DIR=$(DEPOT)/ipc_3_36_01_11 XDC_INSTALL_DIR=$(DEPOT)/xdctools_3_31_02_38 #### BIOS-side toolchains #### gnu.targets.arm.A15F=$(DEPOT)/ccsv6/tools/compiler/gcc-arm-none-eabi-4_8-2014q3 ti.targets.elf.C66=$(DEPOT)/ti-cgt-c6000_8.0.3 ti.targets.arm.elf.M4=$(DEPOT)/ccsv6/tools/compiler/ti-cgt-arm_5.2.4 ti.targets.arp32.elf.ARP32_far=$(DEPOT)/ccsv6/tools/compiler/ti-cgt-arm_5.2.4jZj\jbj/jdjjf}r (jöj÷jk]jj]jh]ji]jn]ujpK_jqhjr]r j{X.See the following example, and ensure you are using the latest version of folder names present in ~/ti folder: DEPOT=/home/Your_Ubuntu_home_folder/ti # Use the following environment assignment (Note you must use 32 bit Java even in Ubuntu 14.04 64 bit OS environment) export XDCTOOLS_JAVA_HOME=/home/Your_Ubuntu_home_folder/ti/ccsv6/eclipse/jre #### BIOS-side dependencies #### BIOS_INSTALL_DIR=$(DEPOT)/bios_6_41_04_54 IPC_INSTALL_DIR=$(DEPOT)/ipc_3_36_01_11 XDC_INSTALL_DIR=$(DEPOT)/xdctools_3_31_02_38 #### BIOS-side toolchains #### gnu.targets.arm.A15F=$(DEPOT)/ccsv6/tools/compiler/gcc-arm-none-eabi-4_8-2014q3 ti.targets.elf.C66=$(DEPOT)/ti-cgt-c6000_8.0.3 ti.targets.arm.elf.M4=$(DEPOT)/ccsv6/tools/compiler/ti-cgt-arm_5.2.4 ti.targets.arp32.elf.ARP32_far=$(DEPOT)/ccsv6/tools/compiler/ti-cgt-arm_5.2.4r …�r }r (jYUjZj ubaubj%)�r }r (jYUjZj\jbj/jdj(jf}r (j*U.jdKjk]jj]jh]j+Uji]jn]j,j-ujpKijqhjr]r j/)�r }r (jYX|Run make command in current folder to build DSP1 and DSP2 hello examples. Output files are created under debug sub folders. jZj jbj/jdj2jf}r (jh]ji]jj]jk]jn]ujpNjqhjr]r j¡)�r }r! (jYX{Run make command in current folder to build DSP1 and DSP2 hello examples. Output files are created under debug sub folders.r" jZj jbj/jdj¥jf}r# (jh]ji]jj]jk]jn]ujpKijr]r$ j{X{Run make command in current folder to build DSP1 and DSP2 hello examples. Output files are created under debug sub folders.r% …�r& }r' (jYj" jZj ubaubaubaubj=)�r( }r) (jYUjZj\jbNjdj@jf}r* (jh]ji]jj]jk]jn]ujpNjqhjr]r+ jC)�r, }r- (jYUjf}r. (jGX-jk]jj]jh]ji]jn]ujZj( jr]r/ (j/)�r0 }r1 (jYXex01_hello\\dsp1\\bin\\debugr2 jf}r3 (jh]ji]jj]jk]jn]ujZj, jr]r4 j¡)�r5 }r6 (jYj2 jZj0 jbj/jdj¥jf}r7 (jh]ji]jj]jk]jn]ujpKkjr]r8 j{Xex01_hello\dsp1\bin\debugr9 …�r: }r; (jYXex01_hello\\dsp1\\bin\\debugjZj5 ubaubajdj2ubj/)�r< }r= (jYXex01_hello\\dsp2\\bin\\debug jf}r> (jh]ji]jj]jk]jn]ujZj, jr]r? j¡)�r@ }rA (jYXex01_hello\\dsp2\\bin\\debugjZj< jbj/jdj¥jf}rB (jh]ji]jj]jk]jn]ujpKljr]rC j{Xex01_hello\dsp2\bin\debugrD …�rE }rF (jYXex01_hello\\dsp2\\bin\\debugjZj@ ubaubajdj2ubejdj`ubaubj%)�rG }rH (jYUjZj\jbj/jdj(jf}rI (j*U.jdKjk]jj]jh]j+Uji]jn]j,j-ujpKnjqhjr]rJ (j/)�rK }rL (jYXLaunch target configurations. jZjG jbj/jdj2jf}rM (jh]ji]jj]jk]jn]ujpNjqhjr]rN j¡)�rO }rP (jYXLaunch target configurations.rQ jZjK jbj/jdj¥jf}rR (jh]ji]jj]jk]jn]ujpKnjr]rS j{XLaunch target configurations.rT …�rU }rV (jYjQ jZjO ubaubaubj/)�rW }rX (jYX,Right click CortexA15_0 and connect target. jZjG jbj/jdj2jf}rY (jh]ji]jj]jk]jn]ujpNjqhjr]rZ j¡)�r[ }r\ (jYX+Right click CortexA15_0 and connect target.r] jZjW jbj/jdj¥jf}r^ (jh]ji]jj]jk]jn]ujpKpjr]r_ j{X+Right click CortexA15_0 and connect target.r` …�ra }rb (jYj] jZj[ ubaubaubj/)�rc }rd (jYX]On CCS --> Scripts --> AM572 Multicore Initialization --> Run AM572x Multicore EnableAllCore jZjG jbj/jdj2jf}re (jh]ji]jj]jk]jn]ujpNjqhjr]rf j¡)�rg }rh (jYX\On CCS --> Scripts --> AM572 Multicore Initialization --> Run AM572x Multicore EnableAllCoreri jZjc jbj/jdj¥jf}rj (jh]ji]jj]jk]jn]ujpKrjr]rk j{X\On CCS --> Scripts --> AM572 Multicore Initialization --> Run AM572x Multicore EnableAllCorerl …�rm }rn (jYji jZjg ubaubaubj/)�ro }rp (jYXeInitialize DDR configuration. On CCS --> Scripts --> DDR configurations --> AM572_DDR3_532MHz_config jZjG jbj/jdj2jf}rq (jh]ji]jj]jk]jn]ujpNjqhjr]rr j¡)�rs }rt (jYXdInitialize DDR configuration. On CCS --> Scripts --> DDR configurations --> AM572_DDR3_532MHz_configru jZjo jbj/jdj¥jf}rv (jh]ji]jj]jk]jn]ujpKtjr]rw j{XdInitialize DDR configuration. On CCS --> Scripts --> DDR configurations --> AM572_DDR3_532MHz_configrx …�ry }rz (jYju jZjs ubaubaubj/)�r{ }r| (jYX>Load DSP1 Hello Example hello_dsp1.xe66 (writer)file on DSP1. jZjG jbj/jdj2jf}r} (jh]ji]jj]jk]jn]ujpNjqhjr]r~ j¡)�r }r€ (jYX=Load DSP1 Hello Example hello_dsp1.xe66 (writer)file on DSP1.r� jZj{ jbj/jdj¥jf}r‚ (jh]ji]jj]jk]jn]ujpKvjr]rƒ j{X=Load DSP1 Hello Example hello_dsp1.xe66 (writer)file on DSP1.r„ …�r… }r† (jYj� jZj ubaubaubj/)�r‡ }rˆ (jYX?Load DSP2 Hello Example hello_dsp2.xe66 (reader) file on DSP2. jZjG jbj/jdj2jf}r‰ (jh]ji]jj]jk]jn]ujpNjqhjr]rŠ j¡)�r‹ }rŒ (jYX>Load DSP2 Hello Example hello_dsp2.xe66 (reader) file on DSP2.r� jZj‡ jbj/jdj¥jf}rŽ (jh]ji]jj]jk]jn]ujpKxjr]r� j{X>Load DSP2 Hello Example hello_dsp2.xe66 (reader) file on DSP2.r� …�r‘ }r’ (jYj� jZj‹ ubaubaubj/)�r“ }r” (jYXRun both DSP1 and DSP2. jZjG jbj/jdj2jf}r• (jh]ji]jj]jk]jn]ujpNjqhjr]r– j¡)�r— }r˜ (jYXRun both DSP1 and DSP2.r™ jZj“ jbj/jdj¥jf}rš (jh]ji]jj]jk]jn]ujpKzjr]r› j{XRun both DSP1 and DSP2.rœ …�r� }rž (jYj™ jZj— ubaubaubj/)�rŸ }r  (jYX-On CCS --> Tools --> RTOS Object view (ROV). jZjG jbj/jdj2jf}r¡ (jh]ji]jj]jk]jn]ujpNjqhjr]r¢ j¡)�r£ }r¤ (jYX,On CCS --> Tools --> RTOS Object view (ROV).r¥ jZjŸ jbj/jdj¥jf}r¦ (jh]ji]jj]jk]jn]ujpK|jr]r§ j{X,On CCS --> Tools --> RTOS Object view (ROV).r¨ …�r© }rª (jYj¥ jZj£ ubaubaubj/)�r« }r¬ (jYXvSuspend (halt) DSP1 to view test messages on ROV Viewable Modules -->LoggerBuf Refer below image of ROV log messages. jZjG jbj/jdj2jf}r­ (jh]ji]jj]jk]jn]ujpNjqhjr]r® j¡)�r¯ }r° (jYXuSuspend (halt) DSP1 to view test messages on ROV Viewable Modules -->LoggerBuf Refer below image of ROV log messages.r± jZj« jbj/jdj¥jf}r² (jh]ji]jj]jk]jn]ujpK~jr]r³ j{XuSuspend (halt) DSP1 to view test messages on ROV Viewable Modules -->LoggerBuf Refer below image of ROV log messages.r´ …�rµ }r¶ (jYj± jZj¯ ubaubaubeubjB)�r· }r¸ (jYX$.. Image:: ../images/Hello_dsp2.png jZj\jbj/jdjEjf}r¹ (UuriXrtos/../images/Hello_dsp2.pngrº jk]jj]jh]ji]jH}r» U*jº sjn]ujpK�jqhjr]ubj%)�r¼ }r½ (jYUjZj\jbj/jdj(jf}r¾ (j*U.jdK jk]jj]jh]j+Uji]jn]j,j-ujpK‚jqhjr]r¿ j/)�rÀ }rÁ (jYX@Suspend (halt) DSP2 and click on ROV icon to view log messages. jZj¼ jbj/jdj2jf}r (jh]ji]jj]jk]jn]ujpNjqhjr]rà j¡)�rÄ }rÅ (jYX?Suspend (halt) DSP2 and click on ROV icon to view log messages.rÆ jZjÀ jbj/jdj¥jf}rÇ (jh]ji]jj]jk]jn]ujpK‚jr]rÈ j{X?Suspend (halt) DSP2 and click on ROV icon to view log messages.rÉ …�rÊ }rË (jYjÆ jZjÄ ubaubaubaubjZ)�rÌ }rÍ (jYUjZj\jbj/jdj]jf}rÎ (jh]ji]jj]jk]jn]ujpK„jqhjr]rÏ j`)�rÐ }rÑ (jYUjcKjZjÌ jbj/jdjpjf}rÒ (jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�rÓ }rÔ (jYXIPC Message Queue Example:rÕ jìKjZj\jbj/jdjíjf}rÖ (jk]r× Uipc-message-queue-examplerØ ajj]jh]rÙ jòaji]jn]ujpNjqhjr]rÚ j{XIPC Message Queue Example:rÛ …�rÜ }rÝ (jYjÕ jZjÓ ubaubj¡)�rÞ }rß (jYX**ex02_messageq**rà jZj\jbj/jdj¥jf}rá (jh]ji]jj]jk]jn]ujpK‰jqhjr]râ jü)�rã }rä (jYjà jf}rå (jh]ji]jj]jk]jn]ujZjÞ jr]ræ j{X ex02_messageqrç …�rè }ré (jYUjZjã ubajdjubaubj¡)�rê }rë (jYXæMessage queue example sends round-trip message from client to server and back. MessageQ example uses client/server pattern. It is a two processors example: the HOST and DSP processors. Either DSP1 or DSP2 can be built for testing.rì jZj\jbj/jdj¥jf}rí (jh]ji]jj]jk]jn]ujpK‹jqhjr]rî j{XæMessage queue example sends round-trip message from client to server and back. MessageQ example uses client/server pattern. It is a two processors example: the HOST and DSP processors. Either DSP1 or DSP2 can be built for testing.rï …�rð }rñ (jYjì jZjê ubaubj¡)�rò }ró (jYXThe DSP processor is configured as server. It creates a named message queue. The server does not open any queues because it extracts the return address from the message header. The server returns all messages to the sender. It does not access the message pool.rô jZj\jbj/jdj¥jf}rõ (jh]ji]jj]jk]jn]ujpK�jqhjr]rö j{XThe DSP processor is configured as server. It creates a named message queue. The server does not open any queues because it extracts the return address from the message header. The server returns all messages to the sender. It does not access the message pool.r÷ …�rø }rù (jYjô jZjò ubaubj¡)�rú }rû (jYXThe HOST processor is configured as client application. The client creates an anonymous message queue. The client also creates and manages the message pool. The client's return address is set in the message header for each message before sending it to the server.rü jZj\jbj/jdj¥jf}rý (jh]ji]jj]jk]jn]ujpK•jqhjr]rþ j{XThe HOST processor is configured as client application. The client creates an anonymous message queue. The client also creates and manages the message pool. The client's return address is set in the message header for each message before sending it to the server.rÿ …�r }r (jYjü jZjú ubaubj%)�r }r (jYUjZj\jbj/jdj(jf}r (j*U.jk]jj]jh]j+Uji]jn]j,j-ujpKšjqhjr]r j/)�r }r (jYXsChange to messageQ folder example by enter: cd ~/ti/ipc_nn_nn_nn_nn/examples/DRA7xx_bios_elf/\ **ex02_messageQ** jZj jbNjdj2jf}r (jh]ji]jj]jk]jn]ujpNjqhjr]r cdocutils.nodes definition_list r )�r }r (jYUjf}r (jh]ji]jj]jk]jn]ujZj jr]r cdocutils.nodes definition_list_item r )�r }r (jYXrChange to messageQ folder example by enter: cd ~/ti/ipc_nn_nn_nn_nn/examples/DRA7xx_bios_elf/\ **ex02_messageQ** jZj jbj/jdUdefinition_list_itemr jf}r (jh]ji]jj]jk]jn]ujpK›jr]r (cdocutils.nodes term r )�r }r (jYX+Change to messageQ folder example by enter:r jZj jbj/jdUtermr jf}r (jh]ji]jj]jk]jn]ujpK›jr]r j{X+Change to messageQ folder example by enter:r …�r }r (jYj jZj ubaubcdocutils.nodes definition r )�r }r! (jYUjf}r" (jh]ji]jj]jk]jn]ujZj jr]r# j¡)�r$ }r% (jYXEcd ~/ti/ipc_nn_nn_nn_nn/examples/DRA7xx_bios_elf/\ **ex02_messageQ**jZj jbj/jdj¥jf}r& (jh]ji]jj]jk]jn]ujpK›jr]r' (j{X2cd ~/ti/ipc_nn_nn_nn_nn/examples/DRA7xx_bios_elf/r( …�r) }r* (jYX4cd ~/ti/ipc_nn_nn_nn_nn/examples/DRA7xx_bios_elf/\ jZj$ ubjü)�r+ }r, (jYX**ex02_messageQ**jf}r- (jh]ji]jj]jk]jn]ujZj$ jr]r. j{X ex02_messageQr/ …�r0 }r1 (jYUjZj+ ubajdjubeubajdU definitionr2 ubeubajdUdefinition_listr3 ubaubaubj¡)�r4 }r5 (jYXÊ2. Open readme.txt file and follow build instructions step-by-step. Make sure there is no spaces between variable name and its value. See Hello World example environment varaible settings for reference.r6 jZj\jbj/jdj¥jf}r7 (jh]ji]jj]jk]jn]ujpK�jqhjr]r8 j{XÊ2. Open readme.txt file and follow build instructions step-by-step. Make sure there is no spaces between variable name and its value. See Hello World example environment varaible settings for reference.r9 …�r: }r; (jYj6 jZj4 ubaubj%)�r< }r= (jYUjZj\jbj/jdj(jf}r> (j*U.jdKjk]jj]jh]j+Uji]jn]j,j-ujpK¡jqhjr]r? j/)�r@ }rA (jYX{Run make command in current folder to build DSP1 and HOST hello examples. Output files are created under debug sub folders jZj< jbj/jdj2jf}rB (jh]ji]jj]jk]jn]ujpNjqhjr]rC j¡)�rD }rE (jYXzRun make command in current folder to build DSP1 and HOST hello examples. Output files are created under debug sub foldersrF jZj@ jbj/jdj¥jf}rG (jh]ji]jj]jk]jn]ujpK¡jr]rH j{XzRun make command in current folder to build DSP1 and HOST hello examples. Output files are created under debug sub foldersrI …�rJ }rK (jYjF jZjD ubaubaubaubj=)�rL }rM (jYUjZj\jbNjdj@jf}rN (jh]ji]jj]jk]jn]ujpNjqhjr]rO jC)�rP }rQ (jYUjf}rR (jGX-jk]jj]jh]ji]jn]ujZjL jr]rS (j/)�rT }rU (jYX1ex02_messageq\\host\\bin\\debug : HOST A15 binaryrV jf}rW (jh]ji]jj]jk]jn]ujZjP jr]rX j¡)�rY }rZ (jYjV jZjT jbj/jdj¥jf}r[ (jh]ji]jj]jk]jn]ujpK£jr]r\ j{X.ex02_messageq\host\bin\debug : HOST A15 binaryr] …�r^ }r_ (jYX1ex02_messageq\\host\\bin\\debug : HOST A15 binaryjZjY ubaubajdj2ubj/)�r` }ra (jYX.ex02_messageq\\dsp1\\bin\\debug : C66x binary jf}rb (jh]ji]jj]jk]jn]ujZjP jr]rc j¡)�rd }re (jYX-ex02_messageq\\dsp1\\bin\\debug : C66x binaryjZj` jbj/jdj¥jf}rf (jh]ji]jj]jk]jn]ujpK¤jr]rg j{X*ex02_messageq\dsp1\bin\debug : C66x binaryrh …�ri }rj (jYX-ex02_messageq\\dsp1\\bin\\debug : C66x binaryjZjd ubaubajdj2ubejdj`ubaubj%)�rk }rl (jYUjZj\jbj/jdj(jf}rm (j*U.jdKjk]jj]jh]j+Uji]jn]j,j-ujpK¦jqhjr]rn (j/)�ro }rp (jYXaLaunch target configurations. Note that BH560USB_M is emulator is used to connect to AM572X EVM. jZjk jbj/jdj2jf}rq (jh]ji]jj]jk]jn]ujpNjqhjr]rr j¡)�rs }rt (jYX`Launch target configurations. Note that BH560USB_M is emulator is used to connect to AM572X EVM.ru jZjo jbj/jdj¥jf}rv (jh]ji]jj]jk]jn]ujpK¦jr]rw j{X`Launch target configurations. Note that BH560USB_M is emulator is used to connect to AM572X EVM.rx …�ry }rz (jYju jZjs ubaubaubj/)�r{ }r| (jYX,Right click CortexA15_0 and connect target. jZjk jbj/jdj2jf}r} (jh]ji]jj]jk]jn]ujpNjqhjr]r~ j¡)�r }r€ (jYX+Right click CortexA15_0 and connect target.r� jZj{ jbj/jdj¥jf}r‚ (jh]ji]jj]jk]jn]ujpK¨jr]rƒ j{X+Right click CortexA15_0 and connect target.r„ …�r… }r† (jYj� jZj ubaubaubj/)�r‡ }rˆ (jYX]On CCS --> Scripts --> AM572 Multicore Initialization --> Run AM572x Multicore EnableAllCore jZjk jbj/jdj2jf}r‰ (jh]ji]jj]jk]jn]ujpNjqhjr]rŠ j¡)�r‹ }rŒ (jYX\On CCS --> Scripts --> AM572 Multicore Initialization --> Run AM572x Multicore EnableAllCorer� jZj‡ jbj/jdj¥jf}rŽ (jh]ji]jj]jk]jn]ujpKªjr]r� j{X\On CCS --> Scripts --> AM572 Multicore Initialization --> Run AM572x Multicore EnableAllCorer� …�r‘ }r’ (jYj� jZj‹ ubaubaubj/)�r“ }r” (jYXeInitialize DDR configuration. On CCS --> Scripts --> DDR configurations --> AM572_DDR3_532MHz_config jZjk jbj/jdj2jf}r• (jh]ji]jj]jk]jn]ujpNjqhjr]r– j¡)�r— }r˜ (jYXdInitialize DDR configuration. On CCS --> Scripts --> DDR configurations --> AM572_DDR3_532MHz_configr™ jZj“ jbj/jdj¥jf}rš (jh]ji]jj]jk]jn]ujpK¬jr]r› j{XdInitialize DDR configuration. On CCS --> Scripts --> DDR configurations --> AM572_DDR3_532MHz_configrœ …�r� }rž (jYj™ jZj— ubaubaubj/)�rŸ }r  (jYXE**Load DSP1** messageQ Example out file(server_dsp1.xe66) onto DSP1. jZjk jbj/jdj2jf}r¡ (jh]ji]jj]jk]jn]ujpNjqhjr]r¢ j¡)�r£ }r¤ (jYXD**Load DSP1** messageQ Example out file(server_dsp1.xe66) onto DSP1.jZjŸ jbj/jdj¥jf}r¥ (jh]ji]jj]jk]jn]ujpK®jr]r¦ (jü)�r§ }r¨ (jYX **Load DSP1**jf}r© (jh]ji]jj]jk]jn]ujZj£ jr]rª j{X Load DSP1r« …�r¬ }r­ (jYUjZj§ ubajdjubj{X7 messageQ Example out file(server_dsp1.xe66) onto DSP1.r® …�r¯ }r° (jYX7 messageQ Example out file(server_dsp1.xe66) onto DSP1.jZj£ ubeubaubj/)�r± }r² (jYXO**Load HOST** messageQ Example out file(app_host.xa15fg) onto ARM CortexA15_0. jZjk jbj/jdj2jf}r³ (jh]ji]jj]jk]jn]ujpNjqhjr]r´ j¡)�rµ }r¶ (jYXN**Load HOST** messageQ Example out file(app_host.xa15fg) onto ARM CortexA15_0.jZj± jbj/jdj¥jf}r· (jh]ji]jj]jk]jn]ujpK°jr]r¸ (jü)�r¹ }rº (jYX **Load HOST**jf}r» (jh]ji]jj]jk]jn]ujZjµ jr]r¼ j{X Load HOSTr½ …�r¾ }r¿ (jYUjZj¹ ubajdjubj{XA messageQ Example out file(app_host.xa15fg) onto ARM CortexA15_0.rÀ …�rÁ }r (jYXA messageQ Example out file(app_host.xa15fg) onto ARM CortexA15_0.jZjµ ubeubaubj/)�rà }rÄ (jYXRun both DSP1 and HOST. jZjk jbj/jdj2jf}rÅ (jh]ji]jj]jk]jn]ujpNjqhjr]rÆ j¡)�rÇ }rÈ (jYXRun both DSP1 and HOST.rÉ jZjà jbj/jdj¥jf}rÊ (jh]ji]jj]jk]jn]ujpK²jr]rË j{XRun both DSP1 and HOST.rÌ …�rÍ }rÎ (jYjÉ jZjÇ ubaubaubj/)�rÏ }rÐ (jYX-On CCS --> Tools --> RTOS Object view (ROV). jZjk jbj/jdj2jf}rÑ (jh]ji]jj]jk]jn]ujpNjqhjr]rÒ j¡)�rÓ }rÔ (jYX,On CCS --> Tools --> RTOS Object view (ROV).rÕ jZjÏ jbj/jdj¥jf}rÖ (jh]ji]jj]jk]jn]ujpK´jr]r× j{X,On CCS --> Tools --> RTOS Object view (ROV).rØ …�rÙ }rÚ (jYjÕ jZjÓ ubaubaubj/)�rÛ }rÜ (jYXŠSuspend (halt) ARM Cortex_A15 to view test messages on ROV Viewable Modules -->LoggerBuf Refer the following ROV message queue screenshot jZjk jbj/jdj2jf}rÝ (jh]ji]jj]jk]jn]ujpNjqhjr]rÞ j¡)�rß }rà (jYX‰Suspend (halt) ARM Cortex_A15 to view test messages on ROV Viewable Modules -->LoggerBuf Refer the following ROV message queue screenshotrá jZjÛ jbj/jdj¥jf}râ (jh]ji]jj]jk]jn]ujpK¶jr]rã j{X‰Suspend (halt) ARM Cortex_A15 to view test messages on ROV Viewable Modules -->LoggerBuf Refer the following ROV message queue screenshoträ …�rå }ræ (jYjá jZjß ubaubaubeubjB)�rç }rè (jYX$.. Image:: ../images/MesgQ_arm0.png jZj\jbj/jdjEjf}ré (UuriXrtos/../images/MesgQ_arm0.pngrê jk]jj]jh]ji]jH}rë U*jê sjn]ujpK¹jqhjr]ubj%)�rì }rí (jYUjZj\jbj/jdj(jf}rî (j*U.jdK jk]jj]jh]j+Uji]jn]j,j-ujpKºjqhjr]rï j/)�rð }rñ (jYX@Suspend (halt) DSP1 and click on ROV icon to view log messages. jZjì jbj/jdj2jf}rò (jh]ji]jj]jk]jn]ujpNjqhjr]ró j¡)�rô }rõ (jYX?Suspend (halt) DSP1 and click on ROV icon to view log messages.rö jZjð jbj/jdj¥jf}r÷ (jh]ji]jj]jk]jn]ujpKºjr]rø j{X?Suspend (halt) DSP1 and click on ROV icon to view log messages.rù …�rú }rû (jYjö jZjô ubaubaubaubjZ)�rü }rý (jYUjZj\jbj/jdj]jf}rþ (jh]ji]jj]jk]jn]ujpK¼jqhjr]rÿ j`)�r }r (jYUjcKjZjü jbj/jdjpjf}r (jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�r }r (jYXIPC Notify Peer Example:r jZj\jbj/jdjíjf}r (jk]r Uipc-notify-peer-exampler ajj]jh]ji]jn]r hmaujpNjqhjr]r j{XIPC Notify Peer Example:r …�r }r (jYj jZj ubaubj¡)�r }r (jYX**ex13_notifypeer**r jZj\jbj/jdj¥jf}r (jh]ji]jj]jk]jn]ujpKÁjqhjr]r jü)�r }r (jYj jf}r (jh]ji]jj]jk]jn]ujZj jr]r j{Xex13_notifypeerr …�r }r (jYUjZj ubajdjubaubj¡)�r }r (jYXNotify peer example only uses notify to communicate to a peer processor. This is an example of IPC Scalability. It uses the client/server design pattern. Initially, the example builds only for two processors: HOST and DSP1. The client runs on HOST and the server runs on DSP1.r jZj\jbj/jdj¥jf}r (jh]ji]jj]jk]jn]ujpKÃjqhjr]r j{XNotify peer example only uses notify to communicate to a peer processor. This is an example of IPC Scalability. It uses the client/server design pattern. Initially, the example builds only for two processors: HOST and DSP1. The client runs on HOST and the server runs on DSP1.r …�r }r! (jYj jZj ubaubj¡)�r" }r# (jYXâThe client (HOST) creates an anonymous message queue. The client also creates and manages its own message pool. And it opens the server message queue using its name. The client initiates the data flow by allocating a message from the pool, placing its return address in the message header and sending the message to the server. It then waits for the message to be returned. When it receives the return message, the message is returned to the pool. The client repeats this in a loop.r$ jZj\jbj/jdj¥jf}r% (jh]ji]jj]jk]jn]ujpKÈjqhjr]r& j{XâThe client (HOST) creates an anonymous message queue. The client also creates and manages its own message pool. And it opens the server message queue using its name. The client initiates the data flow by allocating a message from the pool, placing its return address in the message header and sending the message to the server. It then waits for the message to be returned. When it receives the return message, the message is returned to the pool. The client repeats this in a loop.r' …�r( }r) (jYj$ jZj" ubaubj¡)�r* }r+ (jYX_The server (DSP1) creates a named message queue, then waits on it for messages. When a message arrives, the server performs the requested work. When the work is done, the server extracts the return address from the message header and sends the message back to the client. The server never opens any message queues and does not access the message pool.r, jZj\jbj/jdj¥jf}r- (jh]ji]jj]jk]jn]ujpKÐjqhjr]r. j{X_The server (DSP1) creates a named message queue, then waits on it for messages. When a message arrives, the server performs the requested work. When the work is done, the server extracts the return address from the message header and sends the message back to the client. The server never opens any message queues and does not access the message pool.r/ …�r0 }r1 (jYj, jZj* ubaubj¡)�r2 }r3 (jYXªSince DSP1 will need to wait on both the message queue and the notify queue, we introduce events. The SYS/BIOS event object can be used to wait on multiple input sources.r4 jZj\jbj/jdj¥jf}r5 (jh]ji]jj]jk]jn]ujpKÖjqhjr]r6 j{XªSince DSP1 will need to wait on both the message queue and the notify queue, we introduce events. The SYS/BIOS event object can be used to wait on multiple input sources.r7 …�r8 }r9 (jYj4 jZj2 ubaubj%)�r: }r; (jYUjZj\jbj/jdj(jf}r< (j*U.jk]jj]jh]j+Uji]jn]j,j-ujpKÛjqhjr]r= (j/)�r> }r? (jYXvChange to notify_peer folder example by enter: cd ~/ti/ipc_nn_nn_nn_nn/examples/DRA7xx_bios_elf/\ **ex13_notifypeer** jZj: jbj/jdj2jf}r@ (jh]ji]jj]jk]jn]ujpNjqhjr]rA j¡)�rB }rC (jYXuChange to notify_peer folder example by enter: cd ~/ti/ipc_nn_nn_nn_nn/examples/DRA7xx_bios_elf/\ **ex13_notifypeer**jZj> jbj/jdj¥jf}rD (jh]ji]jj]jk]jn]ujpKÛjr]rE (j{X`Change to notify_peer folder example by enter: cd ~/ti/ipc_nn_nn_nn_nn/examples/DRA7xx_bios_elf/rF …�rG }rH (jYXbChange to notify_peer folder example by enter: cd ~/ti/ipc_nn_nn_nn_nn/examples/DRA7xx_bios_elf/\ jZjB ubjü)�rI }rJ (jYX**ex13_notifypeer**jf}rK (jh]ji]jj]jk]jn]ujZjB jr]rL j{Xex13_notifypeerrM …�rN }rO (jYUjZjI ubajdjubeubaubj/)�rP }rQ (jYXƒOpen readme.txt file and follow build instructions step-by-step. Make sure there is no spaces between variable name and its value. jZj: jbj/jdj2jf}rR (jh]ji]jj]jk]jn]ujpNjqhjr]rS j¡)�rT }rU (jYX‚Open readme.txt file and follow build instructions step-by-step. Make sure there is no spaces between variable name and its value.rV jZjP jbj/jdj¥jf}rW (jh]ji]jj]jk]jn]ujpKÝjr]rX j{X‚Open readme.txt file and follow build instructions step-by-step. Make sure there is no spaces between variable name and its value.rY …�rZ }r[ (jYjV jZjT ubaubaubj/)�r\ }r] (jYXRun make command in current folder to build DSP1 and HOST notifypeer examples. Output files are created under debug subfolder. jZj: jbj/jdj2jf}r^ (jh]ji]jj]jk]jn]ujpNjqhjr]r_ j¡)�r` }ra (jYX~Run make command in current folder to build DSP1 and HOST notifypeer examples. Output files are created under debug subfolder.rb jZj\ jbj/jdj¥jf}rc (jh]ji]jj]jk]jn]ujpKßjr]rd j{X~Run make command in current folder to build DSP1 and HOST notifypeer examples. Output files are created under debug subfolder.re …�rf }rg (jYjb jZj` ubaubaubj/)�rh }ri (jYXaLaunch target configurations. Note that BH560USB_M is emulator is used to connect to AM572X EVM. jZj: jbj/jdj2jf}rj (jh]ji]jj]jk]jn]ujpNjqhjr]rk j¡)�rl }rm (jYX`Launch target configurations. Note that BH560USB_M is emulator is used to connect to AM572X EVM.rn jZjh jbj/jdj¥jf}ro (jh]ji]jj]jk]jn]ujpKájr]rp j{X`Launch target configurations. Note that BH560USB_M is emulator is used to connect to AM572X EVM.rq …�rr }rs (jYjn jZjl ubaubaubj/)�rt }ru (jYX,Right click CortexA15_0 and connect target. jZj: jbj/jdj2jf}rv (jh]ji]jj]jk]jn]ujpNjqhjr]rw j¡)�rx }ry (jYX+Right click CortexA15_0 and connect target.rz jZjt jbj/jdj¥jf}r{ (jh]ji]jj]jk]jn]ujpKãjr]r| j{X+Right click CortexA15_0 and connect target.r} …�r~ }r (jYjz jZjx ubaubaubj/)�r€ }r� (jYX]On CCS --> Scripts --> AM572 Multicore Initialization --> Run AM572x Multicore EnableAllCore jZj: jbj/jdj2jf}r‚ (jh]ji]jj]jk]jn]ujpNjqhjr]rƒ j¡)�r„ }r… (jYX\On CCS --> Scripts --> AM572 Multicore Initialization --> Run AM572x Multicore EnableAllCorer† jZj€ jbj/jdj¥jf}r‡ (jh]ji]jj]jk]jn]ujpKåjr]rˆ j{X\On CCS --> Scripts --> AM572 Multicore Initialization --> Run AM572x Multicore EnableAllCorer‰ …�rŠ }r‹ (jYj† jZj„ ubaubaubj/)�rŒ }r� (jYXeInitialize DDR configuration. On CCS --> Scripts --> DDR configurations --> AM572_DDR3_532MHz_config jZj: jbj/jdj2jf}rŽ (jh]ji]jj]jk]jn]ujpNjqhjr]r� j¡)�r� }r‘ (jYXdInitialize DDR configuration. On CCS --> Scripts --> DDR configurations --> AM572_DDR3_532MHz_configr’ jZjŒ jbj/jdj¥jf}r“ (jh]ji]jj]jk]jn]ujpKçjr]r” j{XdInitialize DDR configuration. On CCS --> Scripts --> DDR configurations --> AM572_DDR3_532MHz_configr• …�r– }r— (jYj’ jZj� ubaubaubj/)�r˜ }r™ (jYX3**Load DSP1** notifypeer Example out file on DSP1. jZj: jbj/jdj2jf}rš (jh]ji]jj]jk]jn]ujpNjqhjr]r› j¡)�rœ }r� (jYX2**Load DSP1** notifypeer Example out file on DSP1.jZj˜ jbj/jdj¥jf}rž (jh]ji]jj]jk]jn]ujpKéjr]rŸ (jü)�r  }r¡ (jYX **Load DSP1**jf}r¢ (jh]ji]jj]jk]jn]ujZjœ jr]r£ j{X Load DSP1r¤ …�r¥ }r¦ (jYUjZj  ubajdjubj{X% notifypeer Example out file on DSP1.r§ …�r¨ }r© (jYX% notifypeer Example out file on DSP1.jZjœ ubeubaubj/)�rª }r« (jYX>**Load HOST** notifypeer Example out file on ARM CortexA15_0. jZj: jbj/jdj2jf}r¬ (jh]ji]jj]jk]jn]ujpNjqhjr]r­ j¡)�r® }r¯ (jYX=**Load HOST** notifypeer Example out file on ARM CortexA15_0.jZjª jbj/jdj¥jf}r° (jh]ji]jj]jk]jn]ujpKëjr]r± (jü)�r² }r³ (jYX **Load HOST**jf}r´ (jh]ji]jj]jk]jn]ujZj® jr]rµ j{X Load HOSTr¶ …�r· }r¸ (jYUjZj² ubajdjubj{X0 notifypeer Example out file on ARM CortexA15_0.r¹ …�rº }r» (jYX0 notifypeer Example out file on ARM CortexA15_0.jZj® ubeubaubj/)�r¼ }r½ (jYXRun both DSP1 and CortexA15_0. jZj: jbj/jdj2jf}r¾ (jh]ji]jj]jk]jn]ujpNjqhjr]r¿ j¡)�rÀ }rÁ (jYXRun both DSP1 and CortexA15_0.r jZj¼ jbj/jdj¥jf}rà (jh]ji]jj]jk]jn]ujpKíjr]rÄ j{XRun both DSP1 and CortexA15_0.rÅ …�rÆ }rÇ (jYj jZjÀ ubaubaubj/)�rÈ }rÉ (jYX-On CCS --> Tools --> RTOS Object view (ROV). jZj: jbj/jdj2jf}rÊ (jh]ji]jj]jk]jn]ujpNjqhjr]rË j¡)�rÌ }rÍ (jYX,On CCS --> Tools --> RTOS Object view (ROV).rÎ jZjÈ jbj/jdj¥jf}rÏ (jh]ji]jj]jk]jn]ujpKïjr]rÐ j{X,On CCS --> Tools --> RTOS Object view (ROV).rÑ …�rÒ }rÓ (jYjÎ jZjÌ ubaubaubj/)�rÔ }rÕ (jYX‰Suspend (halt) ARM CortexA15_0 to view test messages on ROV Viewable Modules -->LoggerBuf. Refer the following image of ROV log messages jZj: jbj/jdj2jf}rÖ (jh]ji]jj]jk]jn]ujpNjqhjr]r× j¡)�rØ }rÙ (jYXˆSuspend (halt) ARM CortexA15_0 to view test messages on ROV Viewable Modules -->LoggerBuf. Refer the following image of ROV log messagesrÚ jZjÔ jbj/jdj¥jf}rÛ (jh]ji]jj]jk]jn]ujpKñjr]rÜ j{XˆSuspend (halt) ARM CortexA15_0 to view test messages on ROV Viewable Modules -->LoggerBuf. Refer the following image of ROV log messagesrÝ …�rÞ }rß (jYjÚ jZjØ ubaubaubeubjB)�rà }rá (jYX*.. Image:: ../images/Notify_peer_arm0.png jZj\jbj/jdjEjf}râ (UuriX#rtos/../images/Notify_peer_arm0.pngrã jk]jj]jh]ji]jH}rä U*jã sjn]ujpKôjqhjr]ubj%)�rå }ræ (jYUjZj\jbj/jdj(jf}rç (j*U.jdK jk]jj]jh]j+Uji]jn]j,j-ujpKõjqhjr]rè j/)�ré }rê (jYX@Suspend (halt) DSP2 and click on ROV icon to view log messages. jZjå jbj/jdj2jf}rë (jh]ji]jj]jk]jn]ujpNjqhjr]rì j¡)�rí }rî (jYX?Suspend (halt) DSP2 and click on ROV icon to view log messages.rï jZjé jbj/jdj¥jf}rð (jh]ji]jj]jk]jn]ujpKõjr]rñ j{X?Suspend (halt) DSP2 and click on ROV icon to view log messages.rò …�ró }rô (jYjï jZjí ubaubaubaubjZ)�rõ }rö (jYUjZj\jbj/jdj]jf}r÷ (jh]ji]jj]jk]jn]ujpK÷jqhjr]rø j`)�rù }rú (jYUjcKjZjõ jbj/jdjpjf}rû (jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�rü }rý (jYXIPC Ping Example:rþ jZj\jbj/jdjíjf}rÿ (jk]r Uipc-ping-exampler ajj]jh]ji]jn]r h-aujpNjqhjr]r j{XIPC Ping Example:r …�r }r (jYjþ jZjü ubaubj¡)�r }r (jYX **ex11_ping**r jZj\jbj/jdj¥jf}r (jh]ji]jj]jk]jn]ujpKüjqhjr]r jü)�r }r (jYj jf}r (jh]ji]jj]jk]jn]ujZj jr]r j{X ex11_pingr …�r }r (jYUjZj ubajdjubaubj¡)�r }r (jYXOping example sends a message between all cores in the system. This example is used to exercise every communication path between all processors in the system (including local delivery on the current processor). Ping example is also organized in a suitable manner to develop an application with different compute units on each processor.r jZj\jbj/jdj¥jf}r (jh]ji]jj]jk]jn]ujpKþjqhjr]r j{XOping example sends a message between all cores in the system. This example is used to exercise every communication path between all processors in the system (including local delivery on the current processor). Ping example is also organized in a suitable manner to develop an application with different compute units on each processor.r …�r }r (jYj jZj ubaubj¡)�r }r (jYX Each executable will create two tasks: 1) the server task, and 2) the application task. The server task creates a message queue and then waits on that queue for incoming messages. When a message is received, the server task simply sends it back to the original sender.r jZj\jbj/jdj¥jf}r (jh]ji]jj]jk]jn]ujpMjqhjr]r j{X Each executable will create two tasks: 1) the server task, and 2) the application task. The server task creates a message queue and then waits on that queue for incoming messages. When a message is received, the server task simply sends it back to the original sender.r …�r! }r" (jYj jZj ubaubj¡)�r# }r$ (jYX;The application task creates its own message queue and then opens every server message queue in the system (including the server queue on the local processor). The task sends a message to a server and waits for the message to be returned. This is repeated for each server in the system (including the local server).r% jZj\jbj/jdj¥jf}r& (jh]ji]jj]jk]jn]ujpM jqhjr]r' j{X;The application task creates its own message queue and then opens every server message queue in the system (including the server queue on the local processor). The task sends a message to a server and waits for the message to be returned. This is repeated for each server in the system (including the local server).r( …�r) }r* (jYj% jZj# ubaubj)�r+ }r, (jYXaNote that presently EVE is not yet supported and therefore, DSP1/DSP2/HOST are built for testing.jZj\jbj/jdjjf}r- (jh]ji]jj]jk]jn]ujpNjqhjr]r. j¡)�r/ }r0 (jYXaNote that presently EVE is not yet supported and therefore, DSP1/DSP2/HOST are built for testing.r1 jZj+ jbj/jdj¥jf}r2 (jh]ji]jj]jk]jn]ujpMjr]r3 j{XaNote that presently EVE is not yet supported and therefore, DSP1/DSP2/HOST are built for testing.r4 …�r5 }r6 (jYj1 jZj/ ubaubaubj¡)�r7 }r8 (jYXk1. Change to ping folder example by enter: cd ~/ti/ipc_nn_nn_nn_nn/examples/DRA7xx_bios_elf/\ **ex11_ping**jZj\jbj/jdj¥jf}r9 (jh]ji]jj]jk]jn]ujpMjqhjr]r: (j{X\1. Change to ping folder example by enter: cd ~/ti/ipc_nn_nn_nn_nn/examples/DRA7xx_bios_elf/r; …�r< }r= (jYX^1. Change to ping folder example by enter: cd ~/ti/ipc_nn_nn_nn_nn/examples/DRA7xx_bios_elf/\ jZj7 ubjü)�r> }r? (jYX **ex11_ping**jf}r@ (jh]ji]jj]jk]jn]ujZj7 jr]rA j{X ex11_pingrB …�rC }rD (jYUjZj> ubajdjubeubj¡)�rE }rF (jYX„2. Open readme.txt file and follow build instructions step-by-step. Make sure there is no space between variable name and its value.rG jZj\jbj/jdj¥jf}rH (jh]ji]jj]jk]jn]ujpMjqhjr]rI j{X„2. Open readme.txt file and follow build instructions step-by-step. Make sure there is no space between variable name and its value.rJ …�rK }rL (jYjG jZjE ubaubj%)�rM }rN (jYUjZj\jbj/jdj(jf}rO (j*U.jdKjk]jj]jh]j+Uji]jn]j,j-ujpMjqhjr]rP (j/)�rQ }rR (jYX;Open makefile and remove EVE and IPU from PROC build list. jZjM jbj/jdj2jf}rS (jh]ji]jj]jk]jn]ujpNjqhjr]rT j¡)�rU }rV (jYX:Open makefile and remove EVE and IPU from PROC build list.rW jZjQ jbj/jdj¥jf}rX (jh]ji]jj]jk]jn]ujpMjr]rY j{X:Open makefile and remove EVE and IPU from PROC build list.rZ …�r[ }r\ (jYjW jZjU ubaubaubj/)�r] }r^ (jYXRun make command in current folder to build DSP1, DSP2 and HOST ping examples. Output files are created under debug subfolder. jZjM jbj/jdj2jf}r_ (jh]ji]jj]jk]jn]ujpNjqhjr]r` j¡)�ra }rb (jYX~Run make command in current folder to build DSP1, DSP2 and HOST ping examples. Output files are created under debug subfolder.rc jZj] jbj/jdj¥jf}rd (jh]ji]jj]jk]jn]ujpMjr]re j{X~Run make command in current folder to build DSP1, DSP2 and HOST ping examples. Output files are created under debug subfolder.rf …�rg }rh (jYjc jZja ubaubaubj/)�ri }rj (jYXaLaunch target configurations. Note that BH560USB_M is emulator is used to connect to AM572X EVM. jZjM jbj/jdj2jf}rk (jh]ji]jj]jk]jn]ujpNjqhjr]rl j¡)�rm }rn (jYX`Launch target configurations. Note that BH560USB_M is emulator is used to connect to AM572X EVM.ro jZji jbj/jdj¥jf}rp (jh]ji]jj]jk]jn]ujpMjr]rq j{X`Launch target configurations. Note that BH560USB_M is emulator is used to connect to AM572X EVM.rr …�rs }rt (jYjo jZjm ubaubaubj/)�ru }rv (jYX,Right click CortexA15_0 and connect target. jZjM jbj/jdj2jf}rw (jh]ji]jj]jk]jn]ujpNjqhjr]rx j¡)�ry }rz (jYX+Right click CortexA15_0 and connect target.r{ jZju jbj/jdj¥jf}r| (jh]ji]jj]jk]jn]ujpMjr]r} j{X+Right click CortexA15_0 and connect target.r~ …�r }r€ (jYj{ jZjy ubaubaubj/)�r� }r‚ (jYX]On CCS --> Scripts --> AM572 Multicore Initialization --> Run AM572x Multicore EnableAllCore jZjM jbj/jdj2jf}rƒ (jh]ji]jj]jk]jn]ujpNjqhjr]r„ j¡)�r… }r† (jYX\On CCS --> Scripts --> AM572 Multicore Initialization --> Run AM572x Multicore EnableAllCorer‡ jZj� jbj/jdj¥jf}rˆ (jh]ji]jj]jk]jn]ujpM!jr]r‰ j{X\On CCS --> Scripts --> AM572 Multicore Initialization --> Run AM572x Multicore EnableAllCorerŠ …�r‹ }rŒ (jYj‡ jZj… ubaubaubj/)�r� }rŽ (jYXeInitialize DDR configuration. On CCS --> Scripts --> DDR configurations --> AM572_DDR3_532MHz_config jZjM jbj/jdj2jf}r� (jh]ji]jj]jk]jn]ujpNjqhjr]r� j¡)�r‘ }r’ (jYXdInitialize DDR configuration. On CCS --> Scripts --> DDR configurations --> AM572_DDR3_532MHz_configr“ jZj� jbj/jdj¥jf}r” (jh]ji]jj]jk]jn]ujpM#jr]r• j{XdInitialize DDR configuration. On CCS --> Scripts --> DDR configurations --> AM572_DDR3_532MHz_configr– …�r— }r˜ (jYj“ jZj‘ ubaubaubj/)�r™ }rš (jYX-**Load DSP1** Ping Example out file on DSP1. jZjM jbj/jdj2jf}r› (jh]ji]jj]jk]jn]ujpNjqhjr]rœ j¡)�r� }rž (jYX,**Load DSP1** Ping Example out file on DSP1.jZj™ jbj/jdj¥jf}rŸ (jh]ji]jj]jk]jn]ujpM%jr]r  (jü)�r¡ }r¢ (jYX **Load DSP1**jf}r£ (jh]ji]jj]jk]jn]ujZj� jr]r¤ j{X Load DSP1r¥ …�r¦ }r§ (jYUjZj¡ ubajdjubj{X Ping Example out file on DSP1.r¨ …�r© }rª (jYX Ping Example out file on DSP1.jZj� ubeubaubj/)�r« }r¬ (jYX-**Load DSP2** Ping Example out file on DSP2. jZjM jbj/jdj2jf}r­ (jh]ji]jj]jk]jn]ujpNjqhjr]r® j¡)�r¯ }r° (jYX,**Load DSP2** Ping Example out file on DSP2.jZj« jbj/jdj¥jf}r± (jh]ji]jj]jk]jn]ujpM'jr]r² (jü)�r³ }r´ (jYX **Load DSP2**jf}rµ (jh]ji]jj]jk]jn]ujZj¯ jr]r¶ j{X Load DSP2r· …�r¸ }r¹ (jYUjZj³ ubajdjubj{X Ping Example out file on DSP2.rº …�r» }r¼ (jYX Ping Example out file on DSP2.jZj¯ ubeubaubj/)�r½ }r¾ (jYX0**Load HOST** ping Example onto ARM CortexA15_0 jZjM jbj/jdj2jf}r¿ (jh]ji]jj]jk]jn]ujpNjqhjr]rÀ j¡)�rÁ }r (jYX/**Load HOST** ping Example onto ARM CortexA15_0jZj½ jbj/jdj¥jf}rà (jh]ji]jj]jk]jn]ujpM)jr]rÄ (jü)�rÅ }rÆ (jYX **Load HOST**jf}rÇ (jh]ji]jj]jk]jn]ujZjÁ jr]rÈ j{X Load HOSTrÉ …�rÊ }rË (jYUjZjÅ ubajdjubj{X" ping Example onto ARM CortexA15_0rÌ …�rÍ }rÎ (jYX" ping Example onto ARM CortexA15_0jZjÁ ubeubaubj/)�rÏ }rÐ (jYX!Run DSP1, DSP2, and HOST images. jZjM jbj/jdj2jf}rÑ (jh]ji]jj]jk]jn]ujpNjqhjr]rÒ j¡)�rÓ }rÔ (jYX Run DSP1, DSP2, and HOST images.rÕ jZjÏ jbj/jdj¥jf}rÖ (jh]ji]jj]jk]jn]ujpM+jr]r× j{X Run DSP1, DSP2, and HOST images.rØ …�rÙ }rÚ (jYjÕ jZjÓ ubaubaubj/)�rÛ }rÜ (jYX-On CCS --> Tools --> RTOS Object view (ROV). jZjM jbj/jdj2jf}rÝ (jh]ji]jj]jk]jn]ujpNjqhjr]rÞ j¡)�rß }rà (jYX,On CCS --> Tools --> RTOS Object view (ROV).rá jZjÛ jbj/jdj¥jf}râ (jh]ji]jj]jk]jn]ujpM-jr]rã j{X,On CCS --> Tools --> RTOS Object view (ROV).rä …�rå }ræ (jYjá jZjß ubaubaubj/)�rç }rè (jYXkHalt DSP1 to view test messages on ROV Viewable Modules -->LoggerBuf Refer below image of ROV log messages jZjM jbj/jdj2jf}ré (jh]ji]jj]jk]jn]ujpNjqhjr]rê j¡)�rë }rì (jYXjHalt DSP1 to view test messages on ROV Viewable Modules -->LoggerBuf Refer below image of ROV log messagesrí jZjç jbj/jdj¥jf}rî (jh]ji]jj]jk]jn]ujpM/jr]rï j{XjHalt DSP1 to view test messages on ROV Viewable Modules -->LoggerBuf Refer below image of ROV log messagesrð …�rñ }rò (jYjí jZjë ubaubaubeubjB)�ró }rô (jYX#.. Image:: ../images/Ping_dsp1.png jZj\jbj/jdjEjf}rõ (UuriXrtos/../images/Ping_dsp1.pngrö jk]jj]jh]ji]jH}r÷ U*jö sjn]ujpM2jqhjr]ubj%)�rø }rù (jYUjZj\jbj/jdj(jf}rú (j*U.jdKjk]jj]jh]j+Uji]jn]j,j-ujpM3jqhjr]rû (j/)�rü }rý (jYX@Suspend (halt) DSP2 and click on ROV icon to view log messages. jZjø jbj/jdj2jf}rþ (jh]ji]jj]jk]jn]ujpNjqhjr]rÿ j¡)�r }r (jYX?Suspend (halt) DSP2 and click on ROV icon to view log messages.r jZjü jbj/jdj¥jf}r (jh]ji]jj]jk]jn]ujpM3jr]r j{X?Suspend (halt) DSP2 and click on ROV icon to view log messages.r …�r }r (jYj jZj ubaubaubj/)�r }r (jYXKSuspend (halt) ARM CortexA15_0 and click on ROV icon to view log messages. jZjø jbj/jdj2jf}r (jh]ji]jj]jk]jn]ujpNjqhjr]r j¡)�r }r (jYXJSuspend (halt) ARM CortexA15_0 and click on ROV icon to view log messages.r jZj jbj/jdj¥jf}r (jh]ji]jj]jk]jn]ujpM5jr]r j{XJSuspend (halt) ARM CortexA15_0 and click on ROV icon to view log messages.r …�r }r (jYj jZj ubaubaubeubjZ)�r }r (jYUjZj\jbj/jdj]jf}r (jh]ji]jj]jk]jn]ujpM7jqhjr]r j`)�r }r (jYUjcKjZj jbj/jdjpjf}r (jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�r }r (jYXExpanding IPC Ping Example:r jZj\jbj/jdjíjf}r (jk]r Uexpanding-ipc-ping-exampler ajj]jh]ji]jn]r! jaujpNjqhjr]r" j{XExpanding IPC Ping Example:r# …�r$ }r% (jYj jZj ubaubj¡)�r& }r' (jYXaTo demonstrate the flexibility of IPC architecture, you may include additional cores to the above example by modifying the make file. For example, you may add IPU1 in the list of processor in the make file as: DSP1, DSP2, **IPU1,** HOST. After a clean build, the appropriate configuration and output executable files will be generated that allow passing messages between DSP1, DSP2, IPU1 and Host. Procedures are the same as described in the previous example with the exception of additional steps to load the IPU1 core with the corresponding executable and running it in conjunction with DSP1, DSP2 and HOST.jZj\jbj/jdj¥jf}r( (jh]ji]jj]jk]jn]ujpM<jqhjr]r) (j{XÞTo demonstrate the flexibility of IPC architecture, you may include additional cores to the above example by modifying the make file. For example, you may add IPU1 in the list of processor in the make file as: DSP1, DSP2, r* …�r+ }r, (jYXÞTo demonstrate the flexibility of IPC architecture, you may include additional cores to the above example by modifying the make file. For example, you may add IPU1 in the list of processor in the make file as: DSP1, DSP2, jZj& ubjü)�r- }r. (jYX **IPU1,**jf}r/ (jh]ji]jj]jk]jn]ujZj& jr]r0 j{XIPU1,r1 …�r2 }r3 (jYUjZj- ubajdjubj{Xz HOST. After a clean build, the appropriate configuration and output executable files will be generated that allow passing messages between DSP1, DSP2, IPU1 and Host. Procedures are the same as described in the previous example with the exception of additional steps to load the IPU1 core with the corresponding executable and running it in conjunction with DSP1, DSP2 and HOST.r4 …�r5 }r6 (jYXz HOST. After a clean build, the appropriate configuration and output executable files will be generated that allow passing messages between DSP1, DSP2, IPU1 and Host. Procedures are the same as described in the previous example with the exception of additional steps to load the IPU1 core with the corresponding executable and running it in conjunction with DSP1, DSP2 and HOST.jZj& ubeubj)�r7 }r8 (jYXDuring build process using IPU1, you may encounter a message indicating **rtsv7M4_T_le_eabi.lib** library is missing. This is a know issue and is being tracked by **SDCOM00118417** IR. However, you may create this missing library by going to the compiler installation's **lib** directory and execute the following command to regenerate all required libraries: :: ./mklib --alljZj\jbj/jdjjf}r9 (jh]ji]jj]jk]jn]ujpNjqhjr]r: (j¡)�r; }r< (jYXgDuring build process using IPU1, you may encounter a message indicating **rtsv7M4_T_le_eabi.lib** library is missing. This is a know issue and is being tracked by **SDCOM00118417** IR. However, you may create this missing library by going to the compiler installation's **lib** directory and execute the following command to regenerate all required libraries:jZj7 jbj/jdj¥jf}r= (jh]ji]jj]jk]jn]ujpMGjr]r> (j{XHDuring build process using IPU1, you may encounter a message indicating r? …�r@ }rA (jYXHDuring build process using IPU1, you may encounter a message indicating jZj; ubjü)�rB }rC (jYX**rtsv7M4_T_le_eabi.lib**jf}rD (jh]ji]jj]jk]jn]ujZj; jr]rE j{Xrtsv7M4_T_le_eabi.librF …�rG }rH (jYUjZjB ubajdjubj{XB library is missing. This is a know issue and is being tracked by rI …�rJ }rK (jYXB library is missing. This is a know issue and is being tracked by jZj; ubjü)�rL }rM (jYX**SDCOM00118417**jf}rN (jh]ji]jj]jk]jn]ujZj; jr]rO j{X SDCOM00118417rP …�rQ }rR (jYUjZjL ubajdjubj{XZ IR. However, you may create this missing library by going to the compiler installation's rS …�rT }rU (jYXZ IR. However, you may create this missing library by going to the compiler installation's jZj; ubjü)�rV }rW (jYX**lib**jf}rX (jh]ji]jj]jk]jn]ujZj; jr]rY j{XlibrZ …�r[ }r\ (jYUjZjV ubajdjubj{XR directory and execute the following command to regenerate all required libraries:r] …�r^ }r_ (jYXR directory and execute the following command to regenerate all required libraries:jZj; ubeubj)�r` }ra (jYX ./mklib --alljZj7 jdjjf}rb (jöj÷jk]jj]jh]ji]jn]ujpMYjr]rc j{X ./mklib --allrd …�re }rf (jYUjZj` ubaubeubj¡)�rg }rh (jYXaThe following example depicts a typical host communications protocol with other IPC apps (dsp1, dsp2, ipu1) **Note that the following HOST communications list has been rearranged to further clarify the type of communications between various cores**. Typically these messages arrive at different intervals depending on each core processes execution time.jZj\jbj/jdj¥jf}ri (jh]ji]jj]jk]jn]ujpMRjqhjr]rj (j{XlThe following example depicts a typical host communications protocol with other IPC apps (dsp1, dsp2, ipu1) rk …�rl }rm (jYXlThe following example depicts a typical host communications protocol with other IPC apps (dsp1, dsp2, ipu1) jZjg ubjü)�rn }ro (jYXŒ**Note that the following HOST communications list has been rearranged to further clarify the type of communications between various cores**jf}rp (jh]ji]jj]jk]jn]ujZjg jr]rq j{XˆNote that the following HOST communications list has been rearranged to further clarify the type of communications between various coresrr …�rs }rt (jYUjZjn ubajdjubj{Xi. Typically these messages arrive at different intervals depending on each core processes execution time.ru …�rv }rw (jYXi. Typically these messages arrive at different intervals depending on each core processes execution time.jZjg ubeubj)�rx }ry (jYX>1 xdc.runtime.Main --> main: 2 xdc.runtime.Main main: ipc ready 3 xdc.runtime.Main MainHost_svrTskFxn: 4 SvrHost --> SvrHost_setup: 5 SvrHost SvrHost_setup: slave is ready 6 SvrHost <-- SvrHost_setup: 7 SvrHost --> SvrHost_run: 8 xdc.runtime.Main --> MainHost_appTskFxn: 9 AppHost --> AppHost_setup: 10 AppHost AppHost_setup: procId=0 opened server queue 11 AppHost AppHost_setup: procId=1 opened server queue 12 AppHost AppHost_setup: procId=2 opened server queue 28 AppHost AppHost_setup: procId=3 opened server queue 32 AppHost AppHost_run: ping procId=0 34 AppHost AppHost_run: ping procId=0 36 AppHost AppHost_run: ping procId=0 38 AppHost AppHost_run: ping procId=0 40 AppHost AppHost_run: ping procId=0 33 AppHost AppHost_run: ack received procId=0 35 AppHost AppHost_run: ack received procId=0 37 AppHost AppHost_run: ack received procId=0 39 AppHost AppHost_run: ack received procId=0 41 AppHost AppHost_run: ack received procId=0 13 SvrHost SvrHost_run: message received procId=0 14 SvrHost SvrHost_run: message received procId=0 15 SvrHost SvrHost_run: message received procId=0 16 SvrHost SvrHost_run: message received procId=0 17 SvrHost SvrHost_run: message received procId=0 42 AppHost AppHost_run: ping procId=1 44 AppHost AppHost_run: ping procId=1 46 AppHost AppHost_run: ping procId=1 48 AppHost AppHost_run: ping procId=1 50 AppHost AppHost_run: ping procId=1 43 AppHost AppHost_run: ack received procId=1 45 AppHost AppHost_run: ack received procId=1 47 AppHost AppHost_run: ack received procId=1 49 AppHost AppHost_run: ack received procId=1 51 AppHost AppHost_run: ack received procId=1 18 SvrHost SvrHost_run: message received procId=1 19 SvrHost SvrHost_run: message received procId=1 20 SvrHost SvrHost_run: message received procId=1 21 SvrHost SvrHost_run: message received procId=1 22 SvrHost SvrHost_run: message received procId=1 52 AppHost AppHost_run: ping procId=2 55 AppHost AppHost_run: ping procId=2 58 AppHost AppHost_run: ping procId=2 61 AppHost AppHost_run: ping procId=2 64 AppHost AppHost_run: ping procId=2 54 AppHost AppHost_run: ack received procId=2 57 AppHost AppHost_run: ack received procId=2 60 AppHost AppHost_run: ack received procId=2 63 AppHost AppHost_run: ack received procId=2 66 AppHost AppHost_run: ack received procId=2 53 SvrHost SvrHost_run: message received procId=2 56 SvrHost SvrHost_run: message received procId=2 59 SvrHost SvrHost_run: message received procId=2 62 SvrHost SvrHost_run: message received procId=2 65 SvrHost SvrHost_run: message received procId=2 67 AppHost AppHost_run: ping procId=3 69 AppHost AppHost_run: ping procId=3 71 AppHost AppHost_run: ping procId=3 73 AppHost AppHost_run: ping procId=3 75 AppHost AppHost_run: ping procId=3 68 AppHost AppHost_run: ack received procId=3 70 AppHost AppHost_run: ack received procId=3 72 AppHost AppHost_run: ack received procId=3 74 AppHost AppHost_run: ack received procId=3 76 AppHost AppHost_run: ack received procId=3 23 SvrHost SvrHost_run: message received procId=3 24 SvrHost SvrHost_run: message received procId=3 25 SvrHost SvrHost_run: message received procId=3 26 SvrHost SvrHost_run: message received procId=3 27 SvrHost SvrHost_run: message received procId=3 29 AppHost AppHost_setup: slave is ready 30 AppHost <-- AppHost_setup: 31 AppHost --> AppHost_run: 77 AppHost <-- AppHost_run: 0 78 AppHost --> AppHost_destroy: 79 AppHost <-- AppHost_destroy: status=0 80 xdc.runtime.Main <-- MainHost_appTskFxn: 0 81 xdc.runtime.Main MainHost_done:jZj\jbj/jdjjf}rz (jöj÷jk]jj]jh]ji]jn]ujpMcjqhjr]r{ j{X>1 xdc.runtime.Main --> main: 2 xdc.runtime.Main main: ipc ready 3 xdc.runtime.Main MainHost_svrTskFxn: 4 SvrHost --> SvrHost_setup: 5 SvrHost SvrHost_setup: slave is ready 6 SvrHost <-- SvrHost_setup: 7 SvrHost --> SvrHost_run: 8 xdc.runtime.Main --> MainHost_appTskFxn: 9 AppHost --> AppHost_setup: 10 AppHost AppHost_setup: procId=0 opened server queue 11 AppHost AppHost_setup: procId=1 opened server queue 12 AppHost AppHost_setup: procId=2 opened server queue 28 AppHost AppHost_setup: procId=3 opened server queue 32 AppHost AppHost_run: ping procId=0 34 AppHost AppHost_run: ping procId=0 36 AppHost AppHost_run: ping procId=0 38 AppHost AppHost_run: ping procId=0 40 AppHost AppHost_run: ping procId=0 33 AppHost AppHost_run: ack received procId=0 35 AppHost AppHost_run: ack received procId=0 37 AppHost AppHost_run: ack received procId=0 39 AppHost AppHost_run: ack received procId=0 41 AppHost AppHost_run: ack received procId=0 13 SvrHost SvrHost_run: message received procId=0 14 SvrHost SvrHost_run: message received procId=0 15 SvrHost SvrHost_run: message received procId=0 16 SvrHost SvrHost_run: message received procId=0 17 SvrHost SvrHost_run: message received procId=0 42 AppHost AppHost_run: ping procId=1 44 AppHost AppHost_run: ping procId=1 46 AppHost AppHost_run: ping procId=1 48 AppHost AppHost_run: ping procId=1 50 AppHost AppHost_run: ping procId=1 43 AppHost AppHost_run: ack received procId=1 45 AppHost AppHost_run: ack received procId=1 47 AppHost AppHost_run: ack received procId=1 49 AppHost AppHost_run: ack received procId=1 51 AppHost AppHost_run: ack received procId=1 18 SvrHost SvrHost_run: message received procId=1 19 SvrHost SvrHost_run: message received procId=1 20 SvrHost SvrHost_run: message received procId=1 21 SvrHost SvrHost_run: message received procId=1 22 SvrHost SvrHost_run: message received procId=1 52 AppHost AppHost_run: ping procId=2 55 AppHost AppHost_run: ping procId=2 58 AppHost AppHost_run: ping procId=2 61 AppHost AppHost_run: ping procId=2 64 AppHost AppHost_run: ping procId=2 54 AppHost AppHost_run: ack received procId=2 57 AppHost AppHost_run: ack received procId=2 60 AppHost AppHost_run: ack received procId=2 63 AppHost AppHost_run: ack received procId=2 66 AppHost AppHost_run: ack received procId=2 53 SvrHost SvrHost_run: message received procId=2 56 SvrHost SvrHost_run: message received procId=2 59 SvrHost SvrHost_run: message received procId=2 62 SvrHost SvrHost_run: message received procId=2 65 SvrHost SvrHost_run: message received procId=2 67 AppHost AppHost_run: ping procId=3 69 AppHost AppHost_run: ping procId=3 71 AppHost AppHost_run: ping procId=3 73 AppHost AppHost_run: ping procId=3 75 AppHost AppHost_run: ping procId=3 68 AppHost AppHost_run: ack received procId=3 70 AppHost AppHost_run: ack received procId=3 72 AppHost AppHost_run: ack received procId=3 74 AppHost AppHost_run: ack received procId=3 76 AppHost AppHost_run: ack received procId=3 23 SvrHost SvrHost_run: message received procId=3 24 SvrHost SvrHost_run: message received procId=3 25 SvrHost SvrHost_run: message received procId=3 26 SvrHost SvrHost_run: message received procId=3 27 SvrHost SvrHost_run: message received procId=3 29 AppHost AppHost_setup: slave is ready 30 AppHost <-- AppHost_setup: 31 AppHost --> AppHost_run: 77 AppHost <-- AppHost_run: 0 78 AppHost --> AppHost_destroy: 79 AppHost <-- AppHost_destroy: status=0 80 xdc.runtime.Main <-- MainHost_appTskFxn: 0 81 xdc.runtime.Main MainHost_done:r| …�r} }r~ (jYUjZjx ubaubeubjbj/jdUsystem_messager jf}r€ (jh]UlevelKjk]jj]Usourcejcji]jn]UlineKUtypeUINFOr� ujpKijqhjr]r‚ j¡)�rƒ }r„ (jYX:Enumerated list start value not ordinal-1: "3" (ordinal 3)jf}r… (jh]ji]jj]jk]jn]ujZjWjr]r† j{X:Enumerated list start value not ordinal-1: "3" (ordinal 3)r‡ …�rˆ }r‰ (jYUjZjƒ ubajdj¥ubaubjV)�rŠ }r‹ (jYUjZj\jbj/jdj jf}rŒ (jh]UlevelKjk]jj]Usourcejcji]jn]UlineKUtypej� ujpKnjqhjr]r� j¡)�rŽ }r� (jYX:Enumerated list start value not ordinal-1: "4" (ordinal 4)jf}r� (jh]ji]jj]jk]jn]ujZjŠ jr]r‘ j{X:Enumerated list start value not ordinal-1: "4" (ordinal 4)r’ …�r“ }r” (jYUjZjŽ ubajdj¥ubaubjV)�r• }r– (jYUjZj\jbj/jdj jf}r— (jh]UlevelKjk]jj]Usourcejcji]jn]UlineKUtypej� ujpK‚jqhjr]r˜ j¡)�r™ }rš (jYX<Enumerated list start value not ordinal-1: "13" (ordinal 13)jf}r› (jh]ji]jj]jk]jn]ujZj• jr]rœ j{X<Enumerated list start value not ordinal-1: "13" (ordinal 13)r� …�rž }rŸ (jYUjZj™ ubajdj¥ubaubjV)�r  }r¡ (jYUjZj\jbj/jdj jf}r¢ (jh]UlevelKjk]jj]Usourcejcji]jn]UlineKUtypej� ujpK¡jqhjr]r£ j¡)�r¤ }r¥ (jYX:Enumerated list start value not ordinal-1: "3" (ordinal 3)jf}r¦ (jh]ji]jj]jk]jn]ujZj  jr]r§ j{X:Enumerated list start value not ordinal-1: "3" (ordinal 3)r¨ …�r© }rª (jYUjZj¤ ubajdj¥ubaubjV)�r« }r¬ (jYUjZj\jbj/jdj jf}r­ (jh]UlevelKjk]jj]Usourcejcji]jn]UlineKUtypej� ujpK¦jqhjr]r® j¡)�r¯ }r° (jYX:Enumerated list start value not ordinal-1: "4" (ordinal 4)jf}r± (jh]ji]jj]jk]jn]ujZj« jr]r² j{X:Enumerated list start value not ordinal-1: "4" (ordinal 4)r³ …�r´ }rµ (jYUjZj¯ ubajdj¥ubaubjV)�r¶ }r· (jYUjZj\jbj/jdj jf}r¸ (jh]UlevelKjk]jj]Usourcejcji]jn]UlineKUtypej� ujpKºjqhjr]r¹ j¡)�rº }r» (jYX<Enumerated list start value not ordinal-1: "13" (ordinal 13)jf}r¼ (jh]ji]jj]jk]jn]ujZj¶ jr]r½ j{X<Enumerated list start value not ordinal-1: "13" (ordinal 13)r¾ …�r¿ }rÀ (jYUjZjº ubajdj¥ubaubjV)�rÁ }r (jYUjZj\jbj/jdj jf}rà (jh]UlevelKjk]jj]Usourcejcji]jn]UlineKUtypej� ujpKõjqhjr]rÄ j¡)�rÅ }rÆ (jYX<Enumerated list start value not ordinal-1: "13" (ordinal 13)jf}rÇ (jh]ji]jj]jk]jn]ujZjÁ jr]rÈ j{X<Enumerated list start value not ordinal-1: "13" (ordinal 13)rÉ …�rÊ }rË (jYUjZjÅ ubajdj¥ubaubjV)�rÌ }rÍ (jYUjZj\jbj/jdj jf}rÎ (jh]UlevelKjk]jj]Usourcejcji]jn]UlineKUtypej� ujpMjqhjr]rÏ j¡)�rÐ }rÑ (jYX:Enumerated list start value not ordinal-1: "3" (ordinal 3)jf}rÒ (jh]ji]jj]jk]jn]ujZjÌ jr]rÓ j{X:Enumerated list start value not ordinal-1: "3" (ordinal 3)rÔ …�rÕ }rÖ (jYUjZjÐ ubajdj¥ubaubjV)�r× }rØ (jYUjZj\jbj/jdj jf}rÙ (jh]UlevelKjk]jj]Usourcejcji]jn]UlineKUtypej� ujpM3jqhjr]rÚ j¡)�rÛ }rÜ (jYX<Enumerated list start value not ordinal-1: "15" (ordinal 15)jf}rÝ (jh]ji]jj]jk]jn]ujZj× jr]rÞ j{X<Enumerated list start value not ordinal-1: "15" (ordinal 15)rß …�rà }rá (jYUjZjÛ ubajdj¥ubaubjV)�râ }rã (jYUjZj\jbXZinternal padding after source/rtos/How_to_Guides/Target/Run_IPC_Examples_on_AM572x.rst.incrä jdj jf}rå (jh]UlevelKjk]jj]Usourcej/ji]jn]UlineMºUtypeUERRORræ ujpM»jqhjr]rç (j¡)�rè }ré (jYX;Content block expected for the "raw" directive; none found.jf}rê (jh]ji]jj]jk]jn]ujZjâ jr]rë j{X;Content block expected for the "raw" directive; none found.rì …�rí }rî (jYUjZjè ubajdj¥ubj)�rï }rð (jYX.. raw:: html jf}rñ (jöj÷jk]jj]jh]ji]jn]ujZjâ jr]rò j{X.. raw:: html ró …�rô }rõ (jYUjZjï ubajdjubeubjV)�rö }r÷ (jYUjf}rø (jh]UlevelKjk]jj]rù jðaUsourcejcji]jn]UlineKUtypeUWARNINGrú ujZjéjr]rû j¡)�rü }rý (jYX<Duplicate explicit target name: "ipc-message-queue-example".jf}rþ (jh]ji]jj]jk]jn]ujZjö jr]rÿ j{X<Duplicate explicit target name: "ipc-message-queue-example".r…�r}r(jYUjZjü ubajdj¥ubajdj ubjV)�r}r(jYUjZjŽjbj’jdj jf}r(jh]UlevelKjk]jj]Usourcej’ji]jn]UlineK'Utypejú ujpK&jqhjr]rj¡)�r}r(jYX?Enumerated list ends without a blank line; unexpected unindent.jf}r (jh]ji]jj]jk]jn]ujZjjr]r j{X?Enumerated list ends without a blank line; unexpected unindent.r …�r }r (jYUjZjubajdj¥ubaubjV)�r}r(jYUjZjŽjbj’jdj jf}r(jh]UlevelKjk]jj]Usourcejcji]jn]UlineKUtypej� ujpK*jqhjr]rj¡)�r}r(jYX:Enumerated list start value not ordinal-1: "2" (ordinal 2)jf}r(jh]ji]jj]jk]jn]ujZjjr]rj{X:Enumerated list start value not ordinal-1: "2" (ordinal 2)r…�r}r(jYUjZjubajdj¥ubaubjV)�r}r(jYUjZjüjbjòjdj jf}r(jh]UlevelKjk]jj]Usourcejcji]jn]UlineKUtypej� ujpKjqhjr]rj¡)�r}r(jYX:Enumerated list start value not ordinal-1: "2" (ordinal 2)jf}r(jh]ji]jj]jk]jn]ujZjjr]r j{X:Enumerated list start value not ordinal-1: "2" (ordinal 2)r!…�r"}r#(jYUjZjubajdj¥ubaubjV)�r$}r%(jYUjZjüjbjòjdj jf}r&(jh]UlevelKjk]jj]Usourcejcji]jn]UlineKUtypej� ujpKjqhjr]r'j¡)�r(}r)(jYX:Enumerated list start value not ordinal-1: "3" (ordinal 3)jf}r*(jh]ji]jj]jk]jn]ujZj$jr]r+j{X:Enumerated list start value not ordinal-1: "3" (ordinal 3)r,…�r-}r.(jYUjZj(ubajdj¥ubaubjV)�r/}r0(jYUjZjüjbjòjdj jf}r1(jh]UlevelKjk]jj]Usourcejcji]jn]UlineKUtypej� ujpKjqhjr]r2j¡)�r3}r4(jYX:Enumerated list start value not ordinal-1: "4" (ordinal 4)jf}r5(jh]ji]jj]jk]jn]ujZj/jr]r6j{X:Enumerated list start value not ordinal-1: "4" (ordinal 4)r7…�r8}r9(jYUjZj3ubajdj¥ubaubjV)�r:}r;(jYUjZjüjbjòjdj jf}r<(jh]UlevelKjk]jj]Usourcejcji]jn]UlineKUtypej� ujpK$jqhjr]r=j¡)�r>}r?(jYX:Enumerated list start value not ordinal-1: "5" (ordinal 5)jf}r@(jh]ji]jj]jk]jn]ujZj:jr]rAj{X:Enumerated list start value not ordinal-1: "5" (ordinal 5)rB…�rC}rD(jYUjZj>ubajdj¥ubaubjV)�rE}rF(jYUjZjüjbjòjdj jf}rG(jh]UlevelKjk]jj]Usourcejcji]jn]UlineKUtypej� ujpK(jqhjr]rHj¡)�rI}rJ(jYX:Enumerated list start value not ordinal-1: "6" (ordinal 6)jf}rK(jh]ji]jj]jk]jn]ujZjEjr]rLj{X:Enumerated list start value not ordinal-1: "6" (ordinal 6)rM…�rN}rO(jYUjZjIubajdj¥ubaubjV)�rP}rQ(jYUjZjüjbjòjdj jf}rR(jh]UlevelKjk]jj]Usourcejcji]jn]UlineKUtypej� ujpK,jqhjr]rSj¡)�rT}rU(jYX:Enumerated list start value not ordinal-1: "7" (ordinal 7)jf}rV(jh]ji]jj]jk]jn]ujZjPjr]rWj{X:Enumerated list start value not ordinal-1: "7" (ordinal 7)rX…�rY}rZ(jYUjZjTubajdj¥ubaubjV)�r[}r\(jYUjZjwjbjüjdj jf}r](jh]UlevelKjk]jj]Usourcejcji]jn]UlineKUtypej� ujpKsjqhjr]r^j¡)�r_}r`(jYX:Enumerated list start value not ordinal-1: "2" (ordinal 2)jf}ra(jh]ji]jj]jk]jn]ujZj[jr]rbj{X:Enumerated list start value not ordinal-1: "2" (ordinal 2)rc…�rd}re(jYUjZj_ubajdj¥ubaubjV)�rf}rg(jYUjZjÓjbj½jdj jf}rh(jh]UlevelKjk]rijñajj]rjjðaUsourcej½ji]jn]UlineK Utypejú ujpKjqhjr]rkj¡)�rl}rm(jYX0Inline emphasis start-string without end-string.jf}rn(jh]ji]jj]jk]jn]ujZjfjr]roj{X0Inline emphasis start-string without end-string.rp…�rq}rr(jYUjZjlubajdj¥ubaubjV)�rs}rt(jYUjf}ru(jh]UlevelKjk]rvjajj]rwjaUsourcej½ji]jn]UlineKUtypejú ujZjjr]rxj¡)�ry}rz(jYX0Inline emphasis start-string without end-string.jf}r{(jh]ji]jj]jk]jn]ujZjsjr]r|j{X0Inline emphasis start-string without end-string.r}…�r~}r(jYUjZjyubajdj¥ubajdj ubjV)�r€}r�(jYUjf}r‚(jh]UlevelKjk]rƒj&ajj]r„j%aUsourcej½ji]jn]UlineKUtypejú ujZjjr]r…j¡)�r†}r‡(jYX0Inline emphasis start-string without end-string.jf}rˆ(jh]ji]jj]jk]jn]ujZj€jr]r‰j{X0Inline emphasis start-string without end-string.rŠ…�r‹}rŒ(jYUjZj†ubajdj¥ubajdj ubjV)�r�}rŽ(jYUjf}r�(jh]UlevelKjk]r�j:ajj]r‘j9aUsourcej½ji]jn]UlineKUtypejú ujZj-jr]r’j¡)�r“}r”(jYX0Inline emphasis start-string without end-string.jf}r•(jh]ji]jj]jk]jn]ujZj�jr]r–j{X0Inline emphasis start-string without end-string.r—…�r˜}r™(jYUjZj“ubajdj¥ubajdj ubjV)�rš}r›(jYUjf}rœ(jh]UlevelKjk]r�jNajj]ržjMaUsourcej½ji]jn]UlineKUtypejú ujZjAjr]rŸj¡)�r }r¡(jYX0Inline emphasis start-string without end-string.jf}r¢(jh]ji]jj]jk]jn]ujZjšjr]r£j{X0Inline emphasis start-string without end-string.r¤…�r¥}r¦(jYUjZj ubajdj¥ubajdj ubjV)�r§}r¨(jYUjf}r©(jh]UlevelKjk]rªjvajj]r«juaUsourcej½ji]jn]UlineK Utypejú ujZjfjr]r¬j¡)�r­}r®(jYX0Inline emphasis start-string without end-string.jf}r¯(jh]ji]jj]jk]jn]ujZj§jr]r°j{X0Inline emphasis start-string without end-string.r±…�r²}r³(jYUjZj­ubajdj¥ubajdj ubjV)�r´}rµ(jYUjZjÓjbj½jdj jf}r¶(jh]UlevelKjk]r·j‰ajj]r¸jˆaUsourcej½ji]jn]UlineK%Utypejú ujpK)jqhjr]r¹j¡)�rº}r»(jYX0Inline emphasis start-string without end-string.jf}r¼(jh]ji]jj]jk]jn]ujZj´jr]r½j{X0Inline emphasis start-string without end-string.r¾…�r¿}rÀ(jYUjZjºubajdj¥ubaubjV)�rÁ}rÂ(jYUjf}rÃ(jh]UlevelKjk]rÄjµajj]rÅj´aUsourcej½ji]jn]UlineK+Utypejú ujZj¤jr]rÆj¡)�rÇ}rÈ(jYX0Inline emphasis start-string without end-string.jf}rÉ(jh]ji]jj]jk]jn]ujZjÁjr]rÊj{X0Inline emphasis start-string without end-string.rË…�rÌ}rÍ(jYUjZjÇubajdj¥ubajdj ubjV)�rÎ}rÏ(jYUjf}rÐ(jh]UlevelKjk]rÑjÁajj]rÒjÀaUsourcej½ji]jn]UlineK+Utypejú ujZj¤jr]rÓj¡)�rÔ}rÕ(jYX0Inline emphasis start-string without end-string.jf}rÖ(jh]ji]jj]jk]jn]ujZjÎjr]r×j{X0Inline emphasis start-string without end-string.rØ…�rÙ}rÚ(jYUjZjÔubajdj¥ubajdj ubjV)�rÛ}rÜ(jYUjf}rÝ(jh]UlevelKjk]rÞjÍajj]rßjÌaUsourcej½ji]jn]UlineK+Utypejú ujZj¤jr]ràj¡)�rá}râ(jYX0Inline emphasis start-string without end-string.jf}rã(jh]ji]jj]jk]jn]ujZjÛjr]räj{X0Inline emphasis start-string without end-string.rå…�ræ}rç(jYUjZjáubajdj¥ubajdj ubjV)�rè}ré(jYUjf}rê(jh]UlevelKjk]rëjÙajj]rìjØaUsourcej½ji]jn]UlineK+Utypejú ujZj¤jr]ríj¡)�rî}rï(jYX0Inline emphasis start-string without end-string.jf}rð(jh]ji]jj]jk]jn]ujZjèjr]rñj{X0Inline emphasis start-string without end-string.rò…�ró}rô(jYUjZjîubajdj¥ubajdj ubjV)�rõ}rö(jYUjZj[)�r÷}rø(jYUjZj[)�rù}rú(jYUjZj[)�rû}rü(jYUjZj[)�rý}rþ(jYUjZj[)�rÿ}r(jYUjZhjbjcjdjejf}r(jh]ji]jj]jk]rUhostrajn]rh�aujpKjqhjr]r(jt)�r}r(jYXHostrjZjÿjbjcjdjxjf}r (jh]ji]jj]jk]jn]ujpKjqhjr]r j{XHostr …�r }r (jYjjZjubaubjýj[)�r}r(jYUjZjÿjbjcjdjejf}r(jh]ji]jj]jk]rUti-rtos-basicsrajn]rhýaujpK7jqhjr]r(jt)�r}r(jYXTI RTOS BasicsrjZjjbjcjdjxjf}r(jh]ji]jj]jk]jn]ujpK7jqhjr]rj{XTI RTOS Basicsr…�r}r(jYjjZjubaubj[)�r}r(jYUjZjjbj�XDsource/rtos/How_to_Guides/Host/Setup/TI_RTOS_Tips_and_Tricks.rst.incr…�r }r!bjdjejf}r"(jh]ji]jj]jk]r#Uti-rtos-tips-tricksr$ajn]r%j aujpKjqhjr]r&(jt)�r'}r((jYXTI RTOS Tips & Tricksr)jZjjbj jdjxjf}r*(jh]ji]jj]jk]jn]ujpKjqhjr]r+j{XTI RTOS Tips & Tricksr,…�r-}r.(jYj)jZj'ubaubjî)�r/}r0(jYXShttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS:_TI_RTOS_Tips_And_TricksjZjjbj jdjôjf}r1(jöj÷jk]jj]jh]ji]jn]ujpKjqhjr]r2j{XShttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS:_TI_RTOS_Tips_And_Tricksr3…�r4}r5(jYUjZj/ubaubj[)�r6}r7(jYUjìKjZjjbj jdjejf}r8(jh]r9X descriptionr:aji]jj]jk]r;U descriptionr<ajn]ujpKjqhjr]r=(jt)�r>}r?(jYX Descriptionr@jZj6jbj jdjxjf}rA(jh]ji]jj]jk]jn]ujpKjqhjr]rBj{X DescriptionrC…�rD}rE(jYj@jZj>ubaubj¡)�rF}rG(jYX6The intent of this article is to address common issues that TI RTOS users may run into while configuring SYSBIOS, XDCTools or working with RTSC packages in general on DSP and ARM devices. This is meant to provide insight into build and configuration issue nd must be used as an addendum document by Processor SDK USer to the `SYSBIOS FAQs `__ and `XDCtools/RTSC documentation `__ and `TI RTOS Training `__rHjZj6jbj jdj¥jf}rI(jh]ji]jj]jk]jn]ujpK jqhjr]rJ(j{XFThe intent of this article is to address common issues that TI RTOS users may run into while configuring SYSBIOS, XDCTools or working with RTSC packages in general on DSP and ARM devices. This is meant to provide insight into build and configuration issue nd must be used as an addendum document by Processor SDK USer to the rK…�rL}rM(jYXFThe intent of this article is to address common issues that TI RTOS users may run into while configuring SYSBIOS, XDCTools or working with RTSC packages in general on DSP and ARM devices. This is meant to provide insight into build and configuration issue nd must be used as an addendum document by Processor SDK USer to the jZjFubjÜ)�rN}rO(jYXH`SYSBIOS FAQs `__jf}rP(UnameX SYSBIOS FAQsjX5http://processors.wiki.ti.com/index.php/SYS/BIOS_FAQsjk]jj]jh]ji]jn]ujZjFjr]rQj{X SYSBIOS FAQsrR…�rS}rT(jYUjZjNubajdjàubj{X and rU…�rV}rW(jYX and jZjFubjÜ)�rX}rY(jYXX`XDCtools/RTSC documentation `__jf}rZ(UnameXXDCtools/RTSC documentationjX6http://rtsc.eclipse.org/docs-tip/XDCtools_User's_Guidejk]jj]jh]ji]jn]ujZjFjr]r[j{XXDCtools/RTSC documentationr\…�r]}r^(jYUjZjXubajdjàubj{X and r_…�r`}ra(jYX and jZjFubjÜ)�rb}rc(jYXF`TI RTOS Training `__jf}rd(UnameXTI RTOS TrainingjX/https://training.ti.com/ti-rtos-workshop-seriesjk]jj]jh]ji]jn]ujZjFjr]rej{XTI RTOS Trainingrf…�rg}rh(jYUjZjbubajdjàubeubeubj[)�ri}rj(jYUjZjjbj jdjejf}rk(jh]ji]jj]jk]rlU/rtsc-diagnostics-understanding-xdc-build-errorsrmajn]rnj aujpK jqhjr]ro(jt)�rp}rq(jYX0RTSC Diagnostics: Understanding XDC build errorsrrjZjijbj jdjxjf}rs(jh]ji]jj]jk]jn]ujpK jqhjr]rtj{X0RTSC Diagnostics: Understanding XDC build errorsru…�rv}rw(jYjrjZjpubaubj¡)�rx}ry(jYXSome of the commonly observed XDC errors have been shown below. We try to explain how to understand and take corrective action.rzjZjijbj jdj¥jf}r{(jh]ji]jj]jk]jn]ujpK jqhjr]r|j{XSome of the commonly observed XDC errors have been shown below. We try to explain how to understand and take corrective action.r}…�r~}r(jYjzjZjxubaubj[)�r€}r�(jYUjZjijbj jdjejf}r‚(jh]ji]jj]jk]rƒUHxdc-tools-configuro-can-t-locate-the-package-package-name-along-the-pathr„ajn]r…jaujpKjqhjr]r†(jt)�r‡}rˆ(jYXQxdc.tools.configuro: can't locate the package 'Package Name' along the path: ...r‰jZj€jbj jdjxjf}rŠ(jh]ji]jj]jk]jn]ujpKjqhjr]r‹j{XQxdc.tools.configuro: can't locate the package 'Package Name' along the path: ...rŒ…�r�}rŽ(jYj‰jZj‡ubaubj¡)�r�}r�(jYX^This indicates that one of the packages that you linked in your BIOS configuration, can`t be located under XDCPATH. The XDC tools uses XDC paths like library search path, so if you run into this issue check that all the component packages have been added to XDCPATH and there is no typo or non-existent paths that you have added to this variable. TI RTSC packages usually have the name ti.. The packages are named to also sometimes helps locate the package inside the component. For example '''ti.platforms.evmAM335x''' is located under BIOS_INSTALL_PATH/packages/'''ti/platforms/evmAM335x'''r‘jZj€jbj jdj¥jf}r’(jh]ji]jj]jk]jn]ujpKjqhjr]r“j{X^This indicates that one of the packages that you linked in your BIOS configuration, can`t be located under XDCPATH. The XDC tools uses XDC paths like library search path, so if you run into this issue check that all the component packages have been added to XDCPATH and there is no typo or non-existent paths that you have added to this variable. TI RTSC packages usually have the name ti.. The packages are named to also sometimes helps locate the package inside the component. For example '''ti.platforms.evmAM335x''' is located under BIOS_INSTALL_PATH/packages/'''ti/platforms/evmAM335x'''r”…�r•}r–(jYj‘jZj�ubaubj¡)�r—}r˜(jYXÎFor example if you are using packages from PDK (SOC driver packages)and BIOS (TI RTOS kernel), IPC (Interprocessor Communication) and NDK (Network development kit) then your XDCPATH needs to have following:r™jZj€jbj jdj¥jf}rš(jh]ji]jj]jk]jn]ujpKjqhjr]r›j{XÎFor example if you are using packages from PDK (SOC driver packages)and BIOS (TI RTOS kernel), IPC (Interprocessor Communication) and NDK (Network development kit) then your XDCPATH needs to have following:rœ…�r�}rž(jYj™jZj—ubaubjC)�rŸ}r (jYUjZj€jbj jdj`jf}r¡(jGX*jk]jj]jh]ji]jn]ujpKjqhjr]r¢(j/)�r£}r¤(jYXBIOS_INSTALL_PATH/packages jZjŸjbj jdj2jf}r¥(jh]ji]jj]jk]jn]ujpNjqhjr]r¦j¡)�r§}r¨(jYXBIOS_INSTALL_PATH/packagesr©jZj£jbj jdj¥jf}rª(jh]ji]jj]jk]jn]ujpKjr]r«j{XBIOS_INSTALL_PATH/packagesr¬…�r­}r®(jYj©jZj§ubaubaubj/)�r¯}r°(jYXPDK_INSTALL_PATH/packages jZjŸjbj jdj2jf}r±(jh]ji]jj]jk]jn]ujpNjqhjr]r²j¡)�r³}r´(jYXPDK_INSTALL_PATH/packagesrµjZj¯jbj jdj¥jf}r¶(jh]ji]jj]jk]jn]ujpKjr]r·j{XPDK_INSTALL_PATH/packagesr¸…�r¹}rº(jYjµjZj³ubaubaubj/)�r»}r¼(jYXIPC_INSTALL_PATH/packages jZjŸjbj jdj2jf}r½(jh]ji]jj]jk]jn]ujpNjqhjr]r¾j¡)�r¿}rÀ(jYXIPC_INSTALL_PATH/packagesrÁjZj»jbj jdj¥jf}rÂ(jh]ji]jj]jk]jn]ujpKjr]rÃj{XIPC_INSTALL_PATH/packagesrÄ…�rÅ}rÆ(jYjÁjZj¿ubaubaubj/)�rÇ}rÈ(jYXNDK_INSTALL_PATH/packages jZjŸjbj jdj2jf}rÉ(jh]ji]jj]jk]jn]ujpNjqhjr]rÊj¡)�rË}rÌ(jYXNDK_INSTALL_PATH/packagesrÍjZjÇjbj jdj¥jf}rÎ(jh]ji]jj]jk]jn]ujpKjr]rÏj{XNDK_INSTALL_PATH/packagesrÐ…�rÑ}rÒ(jYjÍjZjËubaubaubeubeubj[)�rÓ}rÔ(jYUjZjijbj jdjejf}rÕ(jh]ji]jj]jk]rÖUJxdc-cfg-sourcedir-build-of-generated-source-libraries-failed-exit-status-2r×ajn]rØhvaujpK jqhjr]rÙ(jt)�rÚ}rÛ(jYXPxdc.cfg.SourceDir : Build of generated source libraries failed: exit status = 2:rÜjZjÓjbj jdjxjf}rÝ(jh]ji]jj]jk]jn]ujpK jqhjr]rÞj{XPxdc.cfg.SourceDir : Build of generated source libraries failed: exit status = 2:rß…�rà}rá(jYjÜjZjÚubaubj¡)�râ}rã(jYX>A couple of different reasons could trigger this type of errorräjZjÓjbj jdj¥jf}rå(jh]ji]jj]jk]jn]ujpK"jqhjr]ræj{X>A couple of different reasons could trigger this type of errorrç…�rè}ré(jYjäjZjâubaubjC)�rê}rë(jYUjZjÓjbj jdj`jf}rì(jGX*jk]jj]jh]ji]jn]ujpK$jqhjr]rí(j/)�rî}rï(jYXuMake sure there are no whitespaces or non-ASCII characters in any paths referenced by the build tools. In other words, make sure all software packages are installed in paths without spaces, and workspace and project names also do not have spaces or non-ASCII characters. We use gmake to build makefiles, and gmake doesn't deal well with spaces in directory and file names. jZjêjbj jdj2jf}rð(jh]ji]jj]jk]jn]ujpNjqhjr]rñj¡)�rò}ró(jYXtMake sure there are no whitespaces or non-ASCII characters in any paths referenced by the build tools. In other words, make sure all software packages are installed in paths without spaces, and workspace and project names also do not have spaces or non-ASCII characters. We use gmake to build makefiles, and gmake doesn't deal well with spaces in directory and file names.rôjZjîjbj jdj¥jf}rõ(jh]ji]jj]jk]jn]ujpK$jr]röj{XtMake sure there are no whitespaces or non-ASCII characters in any paths referenced by the build tools. In other words, make sure all software packages are installed in paths without spaces, and workspace and project names also do not have spaces or non-ASCII characters. We use gmake to build makefiles, and gmake doesn't deal well with spaces in directory and file names.r÷…�rø}rù(jYjôjZjòubaubaubj/)�rú}rû(jYXqTake a close look at the CCS build console and ensure that the sh.exe used for the build is the one from the CCS directory. Also check your system PATH variable and see if there is another sh.exe (or gmake.exe) in your system PATH earlier than the one from the CCS installation. If there is one, then that will be used for the build and could cause build errors such as this. Some toolchains that are known to include sh.exe and could cause a conflict are Cygwin, WinAVR, Yagarto. In this case, remove those conflicting tools from the system PATH or modify the PATH so that the sh.exe and gmake.exe from CCS are seen first. jZjêjbj jdj2jf}rü(jh]ji]jj]jk]jn]ujpNjqhjr]rýj¡)�rþ}rÿ(jYXpTake a close look at the CCS build console and ensure that the sh.exe used for the build is the one from the CCS directory. Also check your system PATH variable and see if there is another sh.exe (or gmake.exe) in your system PATH earlier than the one from the CCS installation. If there is one, then that will be used for the build and could cause build errors such as this. Some toolchains that are known to include sh.exe and could cause a conflict are Cygwin, WinAVR, Yagarto. In this case, remove those conflicting tools from the system PATH or modify the PATH so that the sh.exe and gmake.exe from CCS are seen first.rjZjújbj jdj¥jf}r(jh]ji]jj]jk]jn]ujpK&jr]rj{XpTake a close look at the CCS build console and ensure that the sh.exe used for the build is the one from the CCS directory. Also check your system PATH variable and see if there is another sh.exe (or gmake.exe) in your system PATH earlier than the one from the CCS installation. If there is one, then that will be used for the build and could cause build errors such as this. Some toolchains that are known to include sh.exe and could cause a conflict are Cygwin, WinAVR, Yagarto. In this case, remove those conflicting tools from the system PATH or modify the PATH so that the sh.exe and gmake.exe from CCS are seen first.r…�r}r(jYjjZjþubaubaubj/)�r}r(jYX¨Another source of problems related to sh.exe runnig Windows 10 may be Windows Defender. In "Windows Defender Security Centre", "App and browser control", "Exploit protection settings" one can add exceptions under "Program settings". Adding a rule for "sh.exe" to disable/override "Force randomisation for images (Mandatory ASLR)", "Randomise memory allocations (Bottom-up ASLR)", "Validate stack integrity (StackPivot)". jZjêjbj jdj2jf}r(jh]ji]jj]jk]jn]ujpNjqhjr]r j¡)�r }r (jYX¥Another source of problems related to sh.exe runnig Windows 10 may be Windows Defender. In "Windows Defender Security Centre", "App and browser control", "Exploit protection settings" one can add exceptions under "Program settings". Adding a rule for "sh.exe" to disable/override "Force randomisation for images (Mandatory ASLR)", "Randomise memory allocations (Bottom-up ASLR)", "Validate stack integrity (StackPivot)".r jZjjbj jdj¥jf}r (jh]ji]jj]jk]jn]ujpK(jr]rj{X¥Another source of problems related to sh.exe runnig Windows 10 may be Windows Defender. In "Windows Defender Security Centre", "App and browser control", "Exploit protection settings" one can add exceptions under "Program settings". Adding a rule for "sh.exe" to disable/override "Force randomisation for images (Mandatory ASLR)", "Randomise memory allocations (Bottom-up ASLR)", "Validate stack integrity (StackPivot)".r…�r}r(jYj jZj ubaubaubeubeubj[)�r}r(jYUjZjijbj jdjejf}r(jh]ji]jj]jk]rU/xdc-tools-configuro-missing-input-config-scriptrajn]rh&aujpK-jqhjr]r(jt)�r}r(jYX0xdc.tools.configuro: missing input config scriptrjZjjbj jdjxjf}r(jh]ji]jj]jk]jn]ujpK-jqhjr]rj{X0xdc.tools.configuro: missing input config scriptr…�r}r (jYjjZjubaubj¡)�r!}r"(jYX+The XDCtools build command should normally have the configuration script (.cfg file) passed at the end of the command. If the .cfg is not getting passed correctly, then this message will appear in the CCS build console. This error will then result in other compiler errors further down in the build.r#jZjjbj jdj¥jf}r$(jh]ji]jj]jk]jn]ujpK/jqhjr]r%j{X+The XDCtools build command should normally have the configuration script (.cfg file) passed at the end of the command. If the .cfg is not getting passed correctly, then this message will appear in the CCS build console. This error will then result in other compiler errors further down in the build.r&…�r'}r((jYj#jZj!ubaubj¡)�r)}r*(jYXñYou can confirm if the root cause is the .cfg file not getting passed correctly by looking at the subdir_rules.mk file in the directory Debug (or Release) in your project. The command line that runs configuro usually looks like this:
::jZjjbj jdj¥jf}r+(jh]ji]jj]jk]jn]ujpK1jqhjr]r,j{XîYou can confirm if the root cause is the .cfg file not getting passed correctly by looking at the subdir_rules.mk file in the directory Debug (or Release) in your project. The command line that runs configuro usually looks like this:
r-…�r.}r/(jYXîYou can confirm if the root cause is the .cfg file not getting passed correctly by looking at the subdir_rules.mk file in the directory Debug (or Release) in your project. The command line that runs configuro usually looks like this:
jZj)ubaubj)�r0}r1(jYXæ"C:/ti/xdctools_3_xx_xx_xx/xs" --xdcpath="..." xdc.tools.configuro -o configPkg -t ti.targets.elf.C674 -p ti.platforms.evm6747 -r release -c "C:/ti/ccsv5/tools/compiler/c6000_x.x.x" --compileOptions "-g --optimize_with_debug" "$<"jZjjbj jdjjf}r2(jöj÷jk]jj]jh]ji]jn]ujpMájqhjr]r3j{Xæ"C:/ti/xdctools_3_xx_xx_xx/xs" --xdcpath="..." xdc.tools.configuro -o configPkg -t ti.targets.elf.C674 -p ti.platforms.evm6747 -r release -c "C:/ti/ccsv5/tools/compiler/c6000_x.x.x" --compileOptions "-g --optimize_with_debug" "$<"r4…�r5}r6(jYUjZj0ubaubjZ)�r7}r8(jYUjZjjbj jdj]jf}r9(jh]ji]jj]jk]jn]ujpK7jqhjr]r:j`)�r;}r<(jYUjcKjZj7jbj jdjpjf}r=(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubj[)�r>}r?(jYUjZjijbj jdjejf}r@(jh]ji]jj]jk]rAUschema-files-not-foundrBajn]rChŠaujpK:jqhjr]rD(jt)�rE}rF(jYXSchema files not foundrGjZj>jbj jdjxjf}rH(jh]ji]jj]jk]jn]ujpK:jqhjr]rIj{XSchema files not foundrJ…�rK}rL(jYjGjZjEubaubj¡)�rM}rN(jYXˆUsually after creating a RTSC package, developers are supposed to run xdc release to generate the package that contains the .sch files but if you accidentally delete the package or the developers requires xdc release to be run in user environment, you can run into this issue. This issue can be resolved by adding XDCtools to your environment PATH variable and running the command xdc releaserOjZj>jbj jdj¥jf}rP(jh]ji]jj]jk]jn]ujpK xdc releasejZj>jbj jdjjf}rW(jöj÷jk]jj]jh]ji]jn]ujpMíjqhjr]rXj{X-set PATH=$PATH; xdc releaserY…�rZ}r[(jYUjZjUubaubjZ)�r\}r](jYUjZj>jbj jdj]jf}r^(jh]ji]jj]jk]jn]ujpKCjqhjr]r_j`)�r`}ra(jYUjcKjZj\jbj jdjpjf}rb(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rc}rd(jYXJDetailed list of '''XDC Error codes''' and Troubleshoot can be found here:rejZj>jbj jdj¥jf}rf(jh]ji]jj]jk]jn]ujpKEjqhjr]rgj{XJDetailed list of '''XDC Error codes''' and Troubleshoot can be found here:rh…�ri}rj(jYjejZjcubaubjC)�rk}rl(jYUjZj>jbj jdj`jf}rm(jGX*jk]jj]jh]ji]jn]ujpKGjqhjr]rn(j/)�ro}rp(jYXP`XDCtools Error Codes `__rqjZjkjbj jdj2jf}rr(jh]ji]jj]jk]jn]ujpNjqhjr]rsj¡)�rt}ru(jYjqjZjojbj jdj¥jf}rv(jh]ji]jj]jk]jn]ujpKGjr]rwjÜ)�rx}ry(jYjqjf}rz(UnameXXDCtools Error CodesjX5http://rtsc.eclipse.org/docs-tip/XDCtools_Error_Codesjk]jj]jh]ji]jn]ujZjtjr]r{j{XXDCtools Error Codesr|…�r}}r~(jYUjZjxubajdjàubaubaubj/)�r}r€(jYXJ`Trouble Shooting `__ jZjkjbj jdj2jf}r�(jh]ji]jj]jk]jn]ujpNjqhjr]r‚j¡)�rƒ}r„(jYXH`Trouble Shooting `__r…jZjjbj jdj¥jf}r†(jh]ji]jj]jk]jn]ujpKHjr]r‡jÜ)�rˆ}r‰(jYj…jf}rŠ(UnameXTrouble ShootingjX1http://rtsc.eclipse.org/docs-tip/Trouble_Shootingjk]jj]jh]ji]jn]ujZjƒjr]r‹j{XTrouble ShootingrŒ…�r�}rŽ(jYUjZjˆubajdjàubaubaubeubeubeubj[)�r�}r�(jYUjZjjbj jdjejf}r‘(jh]ji]jj]jk]r’Uti-rtos-platform-configurationr“ajn]r”hŒaujpKLjqhjr]r•(jt)�r–}r—(jYXTI RTOS Platform configurationr˜jZj�jbj jdjxjf}r™(jh]ji]jj]jk]jn]ujpKLjqhjr]ršj{XTI RTOS Platform configurationr›…�rœ}r�(jYj˜jZj–ubaubj[)�rž}rŸ(jYUjZj�jbj jdjejf}r (jh]ji]jj]jk]r¡UYwhere-does-ti-rtos-application-get-the-platform-definition-and-memory-sections-on-the-socr¢ajn]r£h9aujpKOjqhjr]r¤(jt)�r¥}r¦(jYXYWhere does TI RTOS application get the Platform definition and memory sections on the SOCr§jZjžjbj jdjxjf}r¨(jh]ji]jj]jk]jn]ujpKOjqhjr]r©j{XYWhere does TI RTOS application get the Platform definition and memory sections on the SOCrª…�r«}r¬(jYj§jZj¥ubaubj¡)�r­}r®(jYXÇWhen creating a TI RTOS project, the user is required to specify the Platform and target core as part of their RTSC setup as shown below. This shows an example that is created for evmAM335x platform.r¯jZjžjbj jdj¥jf}r°(jh]ji]jj]jk]jn]ujpKQjqhjr]r±j{XÇWhen creating a TI RTOS project, the user is required to specify the Platform and target core as part of their RTSC setup as shown below. This shows an example that is created for evmAM335x platform.r²…�r³}r´(jYj¯jZj­ubaubjB)�rµ}r¶(jYXE.. Image:: ../images/Platfrom_configuration.png :scale: 50 % jZjžjbj jdjEjf}r·(UscaleK2UuriX)rtos/../images/Platfrom_configuration.pngr¸jk]jj]jh]ji]jH}r¹U*j¸sjn]ujpNjqhjr]ubj¡)�rº}r»(jYX÷Selection of the platform essentially tell the build tools that the platform defintion should be picked up from the platform for evmAM335x from the directory path bios_x_xx_xx_xx\packages\ti\platforms\evmAM3359. If you open the Platform.xdc file under the folder path, you can see the default settings provided for this platform. This file combines the baseline AM335x SOC definition under bios_x_xx_xx_xx\packages\ti\catalog\arm\cortexa with the board specific setting like clockrate, DDR memory range.r¼jZjžjbj jdj¥jf}r½(jh]ji]jj]jk]jn]ujpKVjqhjr]r¾j{XîSelection of the platform essentially tell the build tools that the platform defintion should be picked up from the platform for evmAM335x from the directory path bios_x_xx_xx_xxpackagestiplatformsevmAM3359. If you open the Platform.xdc file under the folder path, you can see the default settings provided for this platform. This file combines the baseline AM335x SOC definition under bios_x_xx_xx_xxpackagesticatalogarmcortexa with the board specific setting like clockrate, DDR memory range.r¿…�rÀ}rÁ(jYX÷Selection of the platform essentially tell the build tools that the platform defintion should be picked up from the platform for evmAM335x from the directory path bios_x_xx_xx_xx\packages\ti\platforms\evmAM3359. If you open the Platform.xdc file under the folder path, you can see the default settings provided for this platform. This file combines the baseline AM335x SOC definition under bios_x_xx_xx_xx\packages\ti\catalog\arm\cortexa with the board specific setting like clockrate, DDR memory range.jZjºubaubeubj[)�rÂ}rÃ(jYUjZj�jbj jdjejf}rÄ(jh]ji]jj]jk]rÅUQhow-to-create-custom-platform-like-ddrless-platforms-to-use-with-ti-rtos-projectsrÆajn]rÇhØaujpKYjqhjr]rÈ(jt)�rÉ}rÊ(jYXQHow to create custom platform like DDRless platforms to use with TI RTOS projectsrËjZjÂjbj jdjxjf}rÌ(jh]ji]jj]jk]jn]ujpKYjqhjr]rÍj{XQHow to create custom platform like DDRless platforms to use with TI RTOS projectsrÎ…�rÏ}rÐ(jYjËjZjÉubaubj¡)�rÑ}rÒ(jYX‰At some point in the application development process, most customers build their own boards, choosing a TI device and adding custom external memory. You will also need to create your own platform if any of the following items are true: * You want to customize cache sizes. * You want to manually override the default section placement. * You want application to run from on chip device memory.rÓjZjÂjbj jdj¥jf}rÔ(jh]ji]jj]jk]jn]ujpK[jqhjr]rÕj{X‰At some point in the application development process, most customers build their own boards, choosing a TI device and adding custom external memory. You will also need to create your own platform if any of the following items are true: * You want to customize cache sizes. * You want to manually override the default section placement. * You want application to run from on chip device memory.rÖ…�r×}rØ(jYjÓjZjÑubaubj¡)�rÙ}rÚ(jYX”For such custom boards you will need to create a platform using the platform wizard. The platform wizard is a GUI tool that allows you to easily create a custom platform. Creating a custom platform gives you a lot of flexibility in terms of defining the memory map and selecting default memory segments for section placement. This has been described in detail in following User guides and training links:rÛjZjÂjbj jdj¥jf}rÜ(jh]ji]jj]jk]jn]ujpKajqhjr]rÝj{X”For such custom boards you will need to create a platform using the platform wizard. The platform wizard is a GUI tool that allows you to easily create a custom platform. Creating a custom platform gives you a lot of flexibility in terms of defining the memory map and selecting default memory segments for section placement. This has been described in detail in following User guides and training links:rÞ…�rß}rà(jYjÛjZjÙubaubjC)�rá}râ(jYUjZjÂjbj jdj`jf}rã(jGX*jk]jj]jh]ji]jn]ujpKcjqhjr]rä(j/)�rå}ræ(jYX\`Section 7.2.2 in the TI RTOS User guide `__rçjZjájbj jdj2jf}rè(jh]ji]jj]jk]jn]ujpNjqhjr]réj¡)�rê}rë(jYjçjZjåjbj jdj¥jf}rì(jh]ji]jj]jk]jn]ujpKcjr]ríjÜ)�rî}rï(jYjçjf}rð(UnameX'Section 7.2.2 in the TI RTOS User guidejX.http://www.ti.com/lit/ug/spruex3q/spruex3q.pdfjk]jj]jh]ji]jn]ujZjêjr]rñj{X'Section 7.2.2 in the TI RTOS User guiderò…�ró}rô(jYUjZjîubajdjàubaubaubj/)�rõ}rö(jYX–`Section 10.9 of Application development with Processor SDK RTOS `__ jZjájbj jdj2jf}r÷(jh]ji]jj]jk]jn]ujpNjqhjr]røj¡)�rù}rú(jYX•`Section 10.9 of Application development with Processor SDK RTOS `__rûjZjõjbj jdj¥jf}rü(jh]ji]jj]jk]jn]ujpKdjr]rýjÜ)�rþ}rÿ(jYjûjf}r(UnameX?Section 10.9 of Application development with Processor SDK RTOSjXNhttp://software-dl.ti.com/public/hpmp/software/app_dev_procsdk_rtos/index.htmljk]jj]jh]ji]jn]ujZjùjr]rj{X@Section 10.9 of Application development with Processor SDK RTOSr…�r}r(jYUjZjþubajdjàubaubaubeubeubj[)�r}r(jYUjZj�jbj jdjejf}r(jh]ji]jj]jk]rUshow-to-place-code-and-data-sections-in-different-memory-location-than-set-by-default-ti-rtos-platform-configurationr ajn]r h³aujpKgjqhjr]r (jt)�r }r (jYXsHow to place code and data sections in different memory location than set by default TI RTOS platform configurationrjZjjbj jdjxjf}r(jh]ji]jj]jk]jn]ujpKgjqhjr]rj{XsHow to place code and data sections in different memory location than set by default TI RTOS platform configurationr…�r}r(jYjjZj ubaubj¡)�r}r(jYXUser can place specific code and data sections in desired location by using the following syntax in the configuration (.cfg) ::jZjjbj jdj¥jf}r(jh]ji]jj]jk]jn]ujpKijqhjr]rj{X|User can place specific code and data sections in desired location by using the following syntax in the configuration (.cfg)r…�r}r(jYX|User can place specific code and data sections in desired location by using the following syntax in the configuration (.cfg)jZjubaubj)�r}r(jYXóProgram.sectMap[".data"] = new Program.SectionSpec(); /* Set the load address for .data section */ Program.sectMap[".data"].loadAddress = 0x82000000; /* Set the run address for .data section */ Program.sectMap[".data"].runAddress = 0x82010000;jZjjbj jdjjf}r(jöj÷jk]jj]jh]ji]jn]ujpMjqhjr]rj{XóProgram.sectMap[".data"] = new Program.SectionSpec(); /* Set the load address for .data section */ Program.sectMap[".data"].loadAddress = 0x82000000; /* Set the run address for .data section */ Program.sectMap[".data"].runAddress = 0x82010000;r…�r }r!(jYUjZjubaubjZ)�r"}r#(jYUjZjjbj jdj]jf}r$(jh]ji]jj]jk]jn]ujpKrjqhjr]r%j`)�r&}r'(jYUjcKjZj"jbj jdjpjf}r((jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubeubj[)�r)}r*(jYUjZjjbj jdjejf}r+(jh]ji]jj]jk]r,Ugeneric-ti-rtos-questionsr-ajn]r.hãaujpKujqhjr]r/(jt)�r0}r1(jYXGeneric TI RTOS questionsr2jZj)jbj jdjxjf}r3(jh]ji]jj]jk]jn]ujpKujqhjr]r4j{XGeneric TI RTOS questionsr5…�r6}r7(jYj2jZj0ubaubj[)�r8}r9(jYUjZj)jbj jdjejf}r:(jh]ji]jj]jk]r;U:what-is-relationship-between-ti-rtos-and-xdctools-and-rtscr<ajn]r=hfaujpKxjqhjr]r>(jt)�r?}r@(jYX:What is relationship between TI RTOS and XDCtools and RTSCrAjZj8jbj jdjxjf}rB(jh]ji]jj]jk]jn]ujpKxjqhjr]rCj{X:What is relationship between TI RTOS and XDCtools and RTSCrD…�rE}rF(jYjAjZj?ubaubj¡)�rG}rH(jYX±`SYSBIOS `__ uses underlying technology provided by Real Time Software Components (RTSC). * RTSC is an open-source specification within the Eclipse.org ecosystem for providing reusable software components (called "packages") for use in embedded systems. * XDCtools is the actual product that contains all the tools necessary for you to use the SYS/BIOS components and configure your application. XDCtools is installed as part of Code Composer Studio (CCS). XDCtools is a separate software component provided by Texas Instruments that provides the underlying tooling needed for configuring and building SYS/BIOS, NDK, and UIA.jZj8jbj jdj¥jf}rI(jh]ji]jj]jk]jn]ujpKzjqhjr]rJ(jÜ)�rK}rL(jYXL`SYSBIOS `__jf}rM(UnameXSYSBIOSjX>http://processors.wiki.ti.com/index.php?title=Category:SYSBIOSjk]jj]jh]ji]jn]ujZjGjr]rNj{XSYSBIOSrO…�rP}rQ(jYUjZjKubajdjàubj{Xe uses underlying technology provided by Real Time Software Components (RTSC). * RTSC is an open-source specification within the Eclipse.org ecosystem for providing reusable software components (called "packages") for use in embedded systems. * XDCtools is the actual product that contains all the tools necessary for you to use the SYS/BIOS components and configure your application. XDCtools is installed as part of Code Composer Studio (CCS). XDCtools is a separate software component provided by Texas Instruments that provides the underlying tooling needed for configuring and building SYS/BIOS, NDK, and UIA.rR…�rS}rT(jYXe uses underlying technology provided by Real Time Software Components (RTSC). * RTSC is an open-source specification within the Eclipse.org ecosystem for providing reusable software components (called "packages") for use in embedded systems. * XDCtools is the actual product that contains all the tools necessary for you to use the SYS/BIOS components and configure your application. XDCtools is installed as part of Code Composer Studio (CCS). XDCtools is a separate software component provided by Texas Instruments that provides the underlying tooling needed for configuring and building SYS/BIOS, NDK, and UIA.jZjGubeubj¡)�rU}rV(jYX:RTSC and XDCtools are important to SYS/BIOS users because:rWjZj8jbj jdj¥jf}rX(jh]ji]jj]jk]jn]ujpKjqhjr]rYj{X:RTSC and XDCtools are important to SYS/BIOS users because:rZ…�r[}r\(jYjWjZjUubaubjC)�r]}r^(jYUjZj8jbj jdj`jf}r_(jGX*jk]jj]jh]ji]jn]ujpK�jqhjr]r`(j/)�ra}rb(jYXÐ`SYS/BIOS_as_a_set_of_RTSC_packages `__ containing the modules that make up the RTOS. jZj]jbj jdj2jf}rc(jh]ji]jj]jk]jn]ujpNjqhjr]rdj¡)�re}rf(jYXÏ`SYS/BIOS_as_a_set_of_RTSC_packages `__ containing the modules that make up the RTOS.jZjajbj jdj¥jf}rg(jh]ji]jj]jk]jn]ujpK�jr]rh(jÜ)�ri}rj(jYX¡`SYS/BIOS_as_a_set_of_RTSC_packages `__jf}rk(UnameX"SYS/BIOS_as_a_set_of_RTSC_packagesjXxhttp://dev.ti.com/tirex/content/simplelink_cc2640r2_sdk_2_40_00_32/docs/tirtos/sysbios/docs/cdoc/ti/sysbios/package.htmljk]jj]jh]ji]jn]ujZjejr]rlj{X"SYS/BIOS_as_a_set_of_RTSC_packagesrm…�rn}ro(jYUjZjiubajdjàubj{X. containing the modules that make up the RTOS.rp…�rq}rr(jYX. containing the modules that make up the RTOS.jZjeubeubaubj/)�rs}rt(jYXì`XDCtools provides configuration tools `__ you use to create and build a static configuration as part of your application. This *.cfg configuration file specifies: * Which modules from XDCtools, SYS/BIOS, and other components to include in the run-time image. * What static instances of RTOS objects to create. For example, these include tasks and semaphores. * Settings for parameter values for modules and objects. jZj]jbj jdj2jf}ru(jh]ji]jj]jk]jn]ujpNjqhjr]rv(j¡)�rw}rx(jYXÛ`XDCtools provides configuration tools `__ you use to create and build a static configuration as part of your application. This *.cfg configuration file specifies:jZjsjbj jdj¥jf}ry(jh]ji]jj]jk]jn]ujpKƒjr]rz(jÜ)�r{}r|(jYXb`XDCtools provides configuration tools `__jf}r}(UnameX%XDCtools provides configuration toolsjX6http://rtsc.eclipse.org/docs-tip/XDCtools_User's_Guidejk]jj]jh]ji]jn]ujZjwjr]r~j{X%XDCtools provides configuration toolsr…�r€}r�(jYUjZj{ubajdjàubj{XV you use to create and build a static configuration as part of your application. This r‚…�rƒ}r„(jYXV you use to create and build a static configuration as part of your application. This jZjwubjë)�r…}r†(jYX*jf}r‡(jk]rˆUid26r‰ajj]jh]ji]jn]UrefidUid25rŠujZjwjr]r‹j{X*…�rŒ}r�(jYUjZj…ubajdjõubj{X".cfg configuration file specifies:rŽ…�r�}r�(jYX".cfg configuration file specifies:jZjwubeubj=)�r‘}r’(jYUjf}r“(jh]ji]jj]jk]jn]ujZjsjr]r”jC)�r•}r–(jYUjf}r—(jGX*jk]jj]jh]ji]jn]ujZj‘jr]r˜(j/)�r™}rš(jYX]Which modules from XDCtools, SYS/BIOS, and other components to include in the run-time image.r›jf}rœ(jh]ji]jj]jk]jn]ujZj•jr]r�j¡)�rž}rŸ(jYj›jZj™jbj jdj¥jf}r (jh]ji]jj]jk]jn]ujpK…jr]r¡j{X]Which modules from XDCtools, SYS/BIOS, and other components to include in the run-time image.r¢…�r£}r¤(jYj›jZjžubaubajdj2ubj/)�r¥}r¦(jYXaWhat static instances of RTOS objects to create. For example, these include tasks and semaphores.r§jf}r¨(jh]ji]jj]jk]jn]ujZj•jr]r©j¡)�rª}r«(jYj§jZj¥jbj jdj¥jf}r¬(jh]ji]jj]jk]jn]ujpK†jr]r­j{XaWhat static instances of RTOS objects to create. For example, these include tasks and semaphores.r®…�r¯}r°(jYj§jZjªubaubajdj2ubj/)�r±}r²(jYX7Settings for parameter values for modules and objects. jf}r³(jh]ji]jj]jk]jn]ujZj•jr]r´j¡)�rµ}r¶(jYX6Settings for parameter values for modules and objects.r·jZj±jbj jdj¥jf}r¸(jh]ji]jj]jk]jn]ujpK‡jr]r¹j{X6Settings for parameter values for modules and objects.rº…�r»}r¼(jYj·jZjµubaubajdj2ubejdj`ubajdj@ubeubj/)�r½}r¾(jYXñ`XDCtools provides critical APIs `__ that are used by SYS/BIOS and other related software components. These include memory allocation, logging, and system control. jZj]jbj jdj2jf}r¿(jh]ji]jj]jk]jn]ujpNjqhjr]rÀj¡)�rÁ}rÂ(jYXð`XDCtools provides critical APIs `__ that are used by SYS/BIOS and other related software components. These include memory allocation, logging, and system control.jZj½jbj jdj¥jf}rÃ(jh]ji]jj]jk]jn]ujpK‰jr]rÄ(jÜ)�rÅ}rÆ(jYXq`XDCtools provides critical APIs `__jf}rÇ(UnameXXDCtools provides critical APIsjXKhttp://rtsc.eclipse.org/docs-tip/Overview_of_xdc.runtime#Using_This_Packagejk]jj]jh]ji]jn]ujZjÁjr]rÈj{XXDCtools provides critical APIsrÉ…�rÊ}rË(jYUjZjÅubajdjàubj{X that are used by SYS/BIOS and other related software components. These include memory allocation, logging, and system control.rÌ…�rÍ}rÎ(jYX that are used by SYS/BIOS and other related software components. These include memory allocation, logging, and system control.jZjÁubeubaubeubj¡)�rÏ}rÐ(jYX_The `RTSC-pedia web site `__ describes RTSC and XDCtools in more detail. In particular, it provides information for developers planning to create RTSC packages. It is also useful if you plan to edit configuration scripts with a text editor rather than using the XGCONF graphical editor provided withing CCS.rÑjZj8jbj jdj¥jf}rÒ(jh]ji]jj]jk]jn]ujpK‹jqhjr]rÓ(j{XThe rÔ…�rÕ}rÖ(jYXThe jZjÏubjÜ)�r×}rØ(jYXD`RTSC-pedia web site `__jf}rÙ(UnameXRTSC-pedia web sitejX*http://rtsc.eclipse.org/docs-tip/Main_Pagejk]jj]jh]ji]jn]ujZjÏjr]rÚj{XRTSC-pedia web siterÛ…�rÜ}rÝ(jYUjZj×ubajdjàubj{X describes RTSC and XDCtools in more detail. In particular, it provides information for developers planning to create RTSC packages. It is also useful if you plan to edit configuration scripts with a text editor rather than using the XGCONF graphical editor provided withing CCS.rÞ…�rß}rà(jYX describes RTSC and XDCtools in more detail. In particular, it provides information for developers planning to create RTSC packages. It is also useful if you plan to edit configuration scripts with a text editor rather than using the XGCONF graphical editor provided withing CCS.jZjÏubeubeubj[)�rá}râ(jYUjZj)jbj jdjejf}rã(jh]ji]jj]jk]räU“can-you-use-any-sysbios-version-with-any-version-of-xdctools-when-creating-create-or-migrating-to-ti-rtos-based-application-development-environmentråajn]ræhìaujpK�jqhjr]rç(jt)�rè}ré(jYX“Can you use any SYSBIOS version with any version of XDCTools when creating create or migrating to TI RTOS based application development environmentrêjZjájbj jdjxjf}rë(jh]ji]jj]jk]jn]ujpK�jqhjr]rìj{X“Can you use any SYSBIOS version with any version of XDCTools when creating create or migrating to TI RTOS based application development environmentrí…�rî}rï(jYjêjZjèubaubj¡)�rð}rñ(jYXéThis is a frequent issue for new user of TI RTOS. SYSBIOS releases are usually validated with a specific version of XDCTools that is described in the Release notes. It is generally not recommended to mix and match SYSBIOS versions with older or newer than the versions described as you may run into incompatibility issues. TI simplifies this build environments by packaging the TI RTOS package with XDCtools or by providing SDKs with the compatible versions of SYSBIOS kernel and XDCtools.ròjZjájbj jdj¥jf}ró(jh]ji]jj]jk]jn]ujpK‘jqhjr]rôj{XéThis is a frequent issue for new user of TI RTOS. SYSBIOS releases are usually validated with a specific version of XDCTools that is described in the Release notes. It is generally not recommended to mix and match SYSBIOS versions with older or newer than the versions described as you may run into incompatibility issues. TI simplifies this build environments by packaging the TI RTOS package with XDCtools or by providing SDKs with the compatible versions of SYSBIOS kernel and XDCtools.rõ…�rö}r÷(jYjòjZjðubaubj¡)�rø}rù(jYX_For customers using TI DSP and ARM Processors, it is recommended to use Processor SDK RTOS for TI RTOS development and to setup the CCS environment such its Preferences are set to use the versions included in the SDK. This process has been described: `Processor_SDK_RTOS_Setup_CCS `__jZjájbj jdj¥jf}rú(jh]ji]jj]jk]jn]ujpK“jqhjr]rû(j{XûFor customers using TI DSP and ARM Processors, it is recommended to use Processor SDK RTOS for TI RTOS development and to setup the CCS environment such its Preferences are set to use the versions included in the SDK. This process has been described: rü…�rý}rþ(jYXûFor customers using TI DSP and ARM Processors, it is recommended to use Processor SDK RTOS for TI RTOS development and to setup the CCS environment such its Preferences are set to use the versions included in the SDK. This process has been described: jZjøubjÜ)�rÿ}r(jYXd`Processor_SDK_RTOS_Setup_CCS `__jf}r(UnameXProcessor_SDK_RTOS_Setup_CCSjXAindex_how_to_guides.html#setup-ccs-for-evm-and-processor-sdk-rtosjk]jj]jh]ji]jn]ujZjøjr]rj{XProcessor_SDK_RTOS_Setup_CCSr…�r}r(jYUjZjÿubajdjàubeubeubj[)�r}r(jYUjZj)jbj jdjejf}r(jh]ji]jj]jk]r U/using-sysbios-with-gnu-gcc-for-arm-devices-onlyr ajn]r h®aujpK—jqhjr]r (jt)�r }r(jYX1Using SYSBIOS with GNU GCC (for ARM devices only)rjZjjbj jdjxjf}r(jh]ji]jj]jk]jn]ujpK—jqhjr]rj{X1Using SYSBIOS with GNU GCC (for ARM devices only)r…�r}r(jYjjZj ubaubj¡)�r}r(jYXÞThe key care about of using SYSBIOS kernel on ARM based devices with GNU GCC compiler have been described in the article `SYS/BIOS_with_GCC_(CortexA) `__rjZjjbj jdj¥jf}r(jh]ji]jj]jk]jn]ujpK˜jqhjr]r(j{XyThe key care about of using SYSBIOS kernel on ARM based devices with GNU GCC compiler have been described in the article r…�r}r(jYXyThe key care about of using SYSBIOS kernel on ARM based devices with GNU GCC compiler have been described in the article jZjubjÜ)�r}r(jYXe`SYS/BIOS_with_GCC_(CortexA) `__jf}r(UnameXSYS/BIOS_with_GCC_(CortexA)jXChttp://processors.wiki.ti.com/index.php/SYS/BIOS_with_GCC_(CortexA)jk]jj]jh]ji]jn]ujZjjr]r j{XSYS/BIOS_with_GCC_(CortexA)r!…�r"}r#(jYUjZjubajdjàubeubj¡)�r$}r%(jYX)This wiki answers important questions about using SYSBIOS kernel with GNU GCC compiler like: * `Changing entry point to an application `__jZjjbj jdj¥jf}r&(jh]ji]jj]jk]jn]ujpKšjqhjr]r'(j{X_This wiki answers important questions about using SYSBIOS kernel with GNU GCC compiler like: * r(…�r)}r*(jYX_This wiki answers important questions about using SYSBIOS kernel with GNU GCC compiler like: * jZj$ubjÜ)�r+}r,(jYXÊ`Changing entry point to an application `__jf}r-(UnameX&Changing entry point to an applicationjX�http://processors.wiki.ti.com/index.php/SYS/BIOS_with_GCC_(CortexA)#How_do_I_change_the_address_where_the_entry_point_function_.28_c_int00.29_gets_placed_.3Fjk]jj]jh]ji]jn]ujZj$jr]r.j{X&Changing entry point to an applicationr/…�r0}r1(jYUjZj+ubajdjàubeubjC)�r2}r3(jYUjZjjbj jdj`jf}r4(jGX*jk]jj]jh]ji]jn]ujpK�jqhjr]r5(j/)�r6}r7(jYXˆ`Recommended compiler and linker settings `__ jZj2jbj jdj2jf}r8(jh]ji]jj]jk]jn]ujpNjqhjr]r9j¡)�r:}r;(jYX‡`Recommended compiler and linker settings `__r<jZj6jbj jdj¥jf}r=(jh]ji]jj]jk]jn]ujpK�jr]r>jÜ)�r?}r@(jYj<jf}rA(UnameX(Recommended compiler and linker settingsjXXhttp://processors.wiki.ti.com/index.php/SYS/BIOS_with_GCC_(CortexA)#Configure_SYS.2FBIOSjk]jj]jh]ji]jn]ujZj:jr]rBj{X(Recommended compiler and linker settingsrC…�rD}rE(jYUjZj?ubajdjàubaubaubj/)�rF}rG(jYX¾`Getting System_printf/printf (adding Semihosting support) `__ jZj2jbj jdj2jf}rH(jh]ji]jj]jk]jn]ujpNjqhjr]rIj¡)�rJ}rK(jYX½`Getting System_printf/printf (adding Semihosting support) `__rLjZjFjbj jdj¥jf}rM(jh]ji]jj]jk]jn]ujpKŸjr]rNjÜ)�rO}rP(jYjLjf}rQ(UnameX9Getting System_printf/printf (adding Semihosting support)jX}http://processors.wiki.ti.com/index.php/SYS/BIOS_with_GCC_(CortexA)#Why_is_System_printf.28.29.2Fprintf.28.29_not_working_.3Fjk]jj]jh]ji]jn]ujZjJjr]rRj{X9Getting System_printf/printf (adding Semihosting support)rS…�rT}rU(jYUjZjOubajdjàubaubaubj/)�rV}rW(jYXÁ`Creating make based TI RTOS application build using GNU GCC compiler and XDCtools `__ jZj2jbj jdj2jf}rX(jh]ji]jj]jk]jn]ujpNjqhjr]rYj¡)�rZ}r[(jYXÀ`Creating make based TI RTOS application build using GNU GCC compiler and XDCtools `__r\jZjVjbj jdj¥jf}r](jh]ji]jj]jk]jn]ujpK¡jr]r^jÜ)�r_}r`(jYj\jf}ra(UnameXQCreating make based TI RTOS application build using GNU GCC compiler and XDCtoolsjXhhttp://processors.wiki.ti.com/index.php/SYS/BIOS_with_GCC_(CortexA)#Build_Application_with_Configurationjk]jj]jh]ji]jn]ujZjZjr]rbj{XQCreating make based TI RTOS application build using GNU GCC compiler and XDCtoolsrc…�rd}re(jYUjZj_ubajdjàubaubaubj/)�rf}rg(jYXÏ`Configuring ARM MMU and cache settings `__ jZj2jbj jdj2jf}rh(jh]ji]jj]jk]jn]ujpNjqhjr]rij¡)�rj}rk(jYXÎ`Configuring ARM MMU and cache settings `__rljZjfjbj jdj¥jf}rm(jh]ji]jj]jk]jn]ujpK£jr]rnjÜ)�ro}rp(jYjljf}rq(UnameX&Configuring ARM MMU and cache settingsjX¡http://processors.wiki.ti.com/index.php/SYS/BIOS_with_GCC_(CortexA)#How_do_I_add_a_4KB_granularity_MMU_pages_on_Cortex-A8.2C_Cortex-A9_and_Cortex-A15_devices_.3Fjk]jj]jh]ji]jn]ujZjjjr]rrj{X&Configuring ARM MMU and cache settingsrs…�rt}ru(jYUjZjoubajdjàubaubaubeubeubj[)�rv}rw(jYUjZj)jbj jdjejf}rx(jh]ji]jj]jk]ryUOhow-do-i-port-existing-application-developed-on-sysbios-application-to-smp-biosrzajn]r{j aujpK¦jqhjr]r|(jt)�r}}r~(jYXOHow do I port existing application developed on SYSBIOS application to SMP/BIOSrjZjvjbj jdjxjf}r€(jh]ji]jj]jk]jn]ujpK¦jqhjr]r�j{XOHow do I port existing application developed on SYSBIOS application to SMP/BIOSr‚…�rƒ}r„(jYjjZj}ubaubj¡)�r…}r†(jYXŠSYSBIOS supports SMP mode of operation on multi-core ARM and few dual core M3/M4 (IPU) subsytem present in Keystone and Sitara processors.r‡jZjvjbj jdj¥jf}rˆ(jh]ji]jj]jk]jn]ujpK¨jqhjr]r‰j{XŠSYSBIOS supports SMP mode of operation on multi-core ARM and few dual core M3/M4 (IPU) subsytem present in Keystone and Sitara processors.rŠ…�r‹}rŒ(jYj‡jZj…ubaubj¡)�r�}rŽ(jYXƒ**Training Slides**: `SMP SYSBIOS Overview presentation `__.r�jZjvjbj jdj¥jf}r�(jh]ji]jj]jk]jn]ujpKªjqhjr]r‘(jü)�r’}r“(jYX**Training Slides**jf}r”(jh]ji]jj]jk]jn]ujZj�jr]r•j{XTraining Slidesr–…�r—}r˜(jYUjZj’ubajdjubj{X: r™…�rš}r›(jYX: jZj�ubjÜ)�rœ}r�(jYXm`SMP SYSBIOS Overview presentation `__jf}rž(UnameX!SMP SYSBIOS Overview presentationjXEhttp://processors.wiki.ti.com/index.php/File:Public_SmpBiosSlides.pdfjk]jj]jh]ji]jn]ujZj�jr]rŸj{X!SMP SYSBIOS Overview presentationr …�r¡}r¢(jYUjZjœubajdjàubj{X.…�r£}r¤(jYX.jZj�ubeubj¡)�r¥}r¦(jYXTo Porting existing SYS/BIOS applications to SMP/BIOS, you can use the follow steps described below: * Merge existing separate applications into a single application. * Merge separate platform memory definitions as necessary. * Add this to your existing application’s config script: ::jZjvjbj jdj¥jf}r§(jh]ji]jj]jk]jn]ujpK¬jqhjr]r¨j{XTo Porting existing SYS/BIOS applications to SMP/BIOS, you can use the follow steps described below: * Merge existing separate applications into a single application. * Merge separate platform memory definitions as necessary. * Add this to your existing application’s config script:r©…�rª}r«(jYXTo Porting existing SYS/BIOS applications to SMP/BIOS, you can use the follow steps described below: * Merge existing separate applications into a single application. * Merge separate platform memory definitions as necessary. * Add this to your existing application’s config script:jZj¥ubaubj)�r¬}r­(jYXBIOS.smpEnabled = true;jZjvjbj jdjjf}r®(jöj÷jk]jj]jh]ji]jn]ujpM^jqhjr]r¯j{XBIOS.smpEnabled = true;r°…�r±}r²(jYUjZj¬ubaubjZ)�r³}r´(jYUjZjvjbj jdj]jf}rµ(jh]ji]jj]jk]jn]ujpK²jqhjr]r¶j`)�r·}r¸(jYUjcKjZj³jbj jdjpjf}r¹(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjC)�rº}r»(jYUjZjvjbj jdj`jf}r¼(jGX*jk]jj]jh]ji]jn]ujpK³jqhjr]r½j/)�r¾}r¿(jYX„Use these SMP-aware clone modules in place of their xdc.runtime equivalents for SysMin, SysStd, LoggerBuf (in ti.sybios.smp package)rÀjZjºjbj jdj2jf}rÁ(jh]ji]jj]jk]jn]ujpNjqhjr]rÂj¡)�rÃ}rÄ(jYjÀjZj¾jbj jdj¥jf}rÅ(jh]ji]jj]jk]jn]ujpK³jr]rÆj{X„Use these SMP-aware clone modules in place of their xdc.runtime equivalents for SysMin, SysStd, LoggerBuf (in ti.sybios.smp package)rÇ…�rÈ}rÉ(jYjÀjZjÃubaubaubaubj¡)�rÊ}rË(jYX�'''Note:''' The existing Load module has been tweaked to provide minimal support for SMP. * For initial sanity testing, force all tasks to run on core 0: ::jZjvjbj jdj¥jf}rÌ(jh]ji]jj]jk]jn]ujpK´jqhjr]rÍj{Xš'''Note:''' The existing Load module has been tweaked to provide minimal support for SMP. * For initial sanity testing, force all tasks to run on core 0:rÎ…�rÏ}rÐ(jYXš'''Note:''' The existing Load module has been tweaked to provide minimal support for SMP. * For initial sanity testing, force all tasks to run on core 0:jZjÊubaubj)�rÑ}rÒ(jYXTask.defaultAffinity = 0;jZjvjbj jdjjf}rÓ(jöj÷jk]jj]jh]ji]jn]ujpMdjqhjr]rÔj{XTask.defaultAffinity = 0;rÕ…�rÖ}r×(jYUjZjÑubaubjZ)�rØ}rÙ(jYUjZjvjbj jdj]jf}rÚ(jh]ji]jj]jk]jn]ujpK¸jqhjr]rÛj`)�rÜ}rÝ(jYUjcKjZjØjbj jdjpjf}rÞ(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjC)�rß}rà(jYUjZjvjbj jdj`jf}rá(jGX*jk]jj]jh]ji]jn]ujpK¹jqhjr]râj/)�rã}rä(jYX‰Once basic functionality of the merged applications has been demonstrated, either remove Task.defaultAffinity setting or replace it with jZjßjbj jdj2jf}rå(jh]ji]jj]jk]jn]ujpNjqhjr]ræj¡)�rç}rè(jYXˆOnce basic functionality of the merged applications has been demonstrated, either remove Task.defaultAffinity setting or replace it withréjZjãjbj jdj¥jf}rê(jh]ji]jj]jk]jn]ujpK¹jr]rëj{XˆOnce basic functionality of the merged applications has been demonstrated, either remove Task.defaultAffinity setting or replace it withrì…�rí}rî(jYjéjZjçubaubaubaubj¡)�rï}rð(jYX*Task.defaultAffinity = Task.AFFINITY_NONE;rñjZjvjbj jdj¥jf}rò(jh]ji]jj]jk]jn]ujpK»jqhjr]rój{X*Task.defaultAffinity = Task.AFFINITY_NONE;rô…�rõ}rö(jYjñjZjïubaubj¡)�r÷}rø(jYXˆThe above statement will guide RTOS kernel to deploy tasks based on availability in the cluster of compute cores processing in SMP mode.rùjZjvjbj jdj¥jf}rú(jh]ji]jj]jk]jn]ujpK½jqhjr]rûj{XˆThe above statement will guide RTOS kernel to deploy tasks based on availability in the cluster of compute cores processing in SMP mode.rü…�rý}rþ(jYjùjZj÷ubaubeubj[)�rÿ}r(jYUjZj)jbj jdjejf}r(jh]ji]jj]jk]rU@are-there-any-graphical-tools-to-configure-sysbios-configurationrajn]rhñaujpKÀjqhjr]r(jt)�r}r(jYX@Are there any Graphical tools to configure SYSBIOS configurationrjZjÿjbj jdjxjf}r (jh]ji]jj]jk]jn]ujpKÀjqhjr]r j{X@Are there any Graphical tools to configure SYSBIOS configurationr …�r }r (jYjjZjubaubj¡)�r}r(jYXÇThe easiest way for new users to add/configure new modules in the TI RTOS BIOS configuration is to use `XGCONF based graphical tool `__rjZjÿjbj jdj¥jf}r(jh]ji]jj]jk]jn]ujpKÂjqhjr]r(j{XgThe easiest way for new users to add/configure new modules in the TI RTOS BIOS configuration is to use r…�r}r(jYXgThe easiest way for new users to add/configure new modules in the TI RTOS BIOS configuration is to use jZjubjÜ)�r}r(jYX``XGCONF based graphical tool `__jf}r(UnameXXGCONF based graphical tooljX>http://rtsc.eclipse.org/docs-tip/RTSC%2BCCStudio_v4_QuickStartjk]jj]jh]ji]jn]ujZjjr]rj{XXGCONF based graphical toolr…�r}r(jYUjZjubajdjàubeubeubeubj[)�r}r(jYUjZjjbj jdjejf}r(jh]ji]jj]jk]r U thread-typesr!ajn]r"háaujpKÆjqhjr]r#(jt)�r$}r%(jYX Thread Typesr&jZjjbj jdjxjf}r'(jh]ji]jj]jk]jn]ujpKÆjqhjr]r(j{X Thread Typesr)…�r*}r+(jYj&jZj$ubaubj[)�r,}r-(jYUjZjjbj jdjejf}r.(jh]ji]jj]jk]r/U-what-is-the-difference-between-swis-and-tasksr0ajn]r1hóaujpKÉjqhjr]r2(jt)�r3}r4(jYX-What is the difference between SWIs and Tasksr5jZj,jbj jdjxjf}r6(jh]ji]jj]jk]jn]ujpKÉjqhjr]r7j{X-What is the difference between SWIs and Tasksr8…�r9}r:(jYj5jZj3ubaubjC)�r;}r<(jYUjZj,jbj jdj`jf}r=(jGX*jk]jj]jh]ji]jn]ujpKËjqhjr]r>(j/)�r?}r@(jYXùA Swi is a non-blocking thread that runs to completion and can only be pre-empted by a higher priority Swi or a Hwi (interrupt). Swi's can pre-empt a Task thread when posted and run on the ISR (system) stack (i.e. they do not have their own stack). jZj;jbj jdj2jf}rA(jh]ji]jj]jk]jn]ujpNjqhjr]rBj¡)�rC}rD(jYXøA Swi is a non-blocking thread that runs to completion and can only be pre-empted by a higher priority Swi or a Hwi (interrupt). Swi's can pre-empt a Task thread when posted and run on the ISR (system) stack (i.e. they do not have their own stack).rEjZj?jbj jdj¥jf}rF(jh]ji]jj]jk]jn]ujpKËjr]rGj{XøA Swi is a non-blocking thread that runs to completion and can only be pre-empted by a higher priority Swi or a Hwi (interrupt). Swi's can pre-empt a Task thread when posted and run on the ISR (system) stack (i.e. they do not have their own stack).rH…�rI}rJ(jYjEjZjCubaubaubj/)�rK}rL(jYX+A Task thread on the other hand is a blocking thread and can be pre-empted by a higher priority Task or by Swi/Hwi. A task usually has a while loop that keeps the task executing continuously in the system as long as it is required in the application. Also, Tasks run on their own independent stack. jZj;jbj jdj2jf}rM(jh]ji]jj]jk]jn]ujpNjqhjr]rNj¡)�rO}rP(jYX*A Task thread on the other hand is a blocking thread and can be pre-empted by a higher priority Task or by Swi/Hwi. A task usually has a while loop that keeps the task executing continuously in the system as long as it is required in the application. Also, Tasks run on their own independent stack.rQjZjKjbj jdj¥jf}rR(jh]ji]jj]jk]jn]ujpKÍjr]rSj{X*A Task thread on the other hand is a blocking thread and can be pre-empted by a higher priority Task or by Swi/Hwi. A task usually has a while loop that keeps the task executing continuously in the system as long as it is required in the application. Also, Tasks run on their own independent stack.rT…�rU}rV(jYjQjZjOubaubaubeubeubj[)�rW}rX(jYUjZjjbj jdjejf}rY(jh]ji]jj]jk]rZU3how-to-add-house-keeping-functions-in-the-idle-taskr[ajn]r\jaujpKÐjqhjr]r](jt)�r^}r_(jYX3How to add house keeping functions in the idle Taskr`jZjWjbj jdjxjf}ra(jh]ji]jj]jk]jn]ujpKÐjqhjr]rbj{X3How to add house keeping functions in the idle Taskrc…�rd}re(jYj`jZj^ubaubj¡)�rf}rg(jYXfIf you want to use the idle time of the system to do some "housekeeping" jobs in the background, when the system is not active on interrupts or tasks, TI RTOS provides option to provide a task list or point to a housekeeping function which will run when no other thread is active in the system. The simplest syntax to add this to your code is shown below: ::jZjWjbj jdj¥jf}rh(jh]ji]jj]jk]jn]ujpKÒjqhjr]rij{XcIf you want to use the idle time of the system to do some "housekeeping" jobs in the background, when the system is not active on interrupts or tasks, TI RTOS provides option to provide a task list or point to a housekeeping function which will run when no other thread is active in the system. The simplest syntax to add this to your code is shown below:rj…�rk}rl(jYXcIf you want to use the idle time of the system to do some "housekeeping" jobs in the background, when the system is not active on interrupts or tasks, TI RTOS provides option to provide a task list or point to a housekeeping function which will run when no other thread is active in the system. The simplest syntax to add this to your code is shown below:jZjfubaubj)�rm}rn(jYXmTask.enableIdleTask = true; var Idle = xdc.useModule('ti.sysbios.knl.Idle'); Idle.addFunc('&osTaskIdleFunc');jZjWjbj jdjjf}ro(jöj÷jk]jj]jh]ji]jn]ujpM�jqhjr]rpj{XmTask.enableIdleTask = true; var Idle = xdc.useModule('ti.sysbios.knl.Idle'); Idle.addFunc('&osTaskIdleFunc');rq…�rr}rs(jYUjZjmubaubjZ)�rt}ru(jYUjZjWjbj jdj]jf}rv(jh]ji]jj]jk]jn]ujpK×jqhjr]rwj`)�rx}ry(jYUjcKjZjtjbj jdjpjf}rz(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r{}r|(jYX‚If you open the BIOS configuration in XGCONF, you will notice that user are allowed to enter upto 8 function in the function list.r}jZjWjbj jdj¥jf}r~(jh]ji]jj]jk]jn]ujpKÙjqhjr]rj{X‚If you open the BIOS configuration in XGCONF, you will notice that user are allowed to enter upto 8 function in the function list.r€…�r�}r‚(jYj}jZj{ubaubj¡)�rƒ}r„(jYX1Syntax to add idle functions is provided below ::jZjWjbj jdj¥jf}r…(jh]ji]jj]jk]jn]ujpKÛjqhjr]r†j{X.Syntax to add idle functions is provided belowr‡…�rˆ}r‰(jYX.Syntax to add idle functions is provided belowjZjƒubaubj)�rŠ}r‹(jYXOvar Idle = xdc.useModule('ti.sysbios.knl.Idle'); Idle.idleFxns[0] = "&myIdle1";jZjWjbj jdjjf}rŒ(jöj÷jk]jj]jh]ji]jn]ujpMŠjqhjr]r�j{XOvar Idle = xdc.useModule('ti.sysbios.knl.Idle'); Idle.idleFxns[0] = "&myIdle1";rŽ…�r�}r�(jYUjZjŠubaubjZ)�r‘}r’(jYUjZjWjbj jdj]jf}r“(jh]ji]jj]jk]jn]ujpKßjqhjr]r”j`)�r•}r–(jYUjcKjZj‘jbj jdjpjf}r—(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubeubj[)�r˜}r™(jYUjZjjbj jdjejf}rš(jh]ji]jj]jk]r›Uhardware-interrupts-hwirœajn]r�h§aujpKâjqhjr]rž(jt)�rŸ}r (jYXHardware Interrupts (HWI)r¡jZj˜jbj jdjxjf}r¢(jh]ji]jj]jk]jn]ujpKâjqhjr]r£j{XHardware Interrupts (HWI)r¤…�r¥}r¦(jYj¡jZjŸubaubj[)�r§}r¨(jYUjZj˜jbj jdjejf}r©(jh]ji]jj]jk]rªULhow-to-configure-crossbar-when-setting-up-interrupts-on-dra7xx-tda2xx-am57xxr«ajn]r¬h–aujpKåjqhjr]r­(jt)�r®}r¯(jYXLHow to configure Crossbar when setting up interrupts on DRA7xx/TDA2xx/AM57xxr°jZj§jbj jdjxjf}r±(jh]ji]jj]jk]jn]ujpKåjqhjr]r²j{XLHow to configure Crossbar when setting up interrupts on DRA7xx/TDA2xx/AM57xxr³…�r´}rµ(jYj°jZj®ubaubj¡)�r¶}r·(jYX«Some socs like AM571x and AM572x have a large number of interrupts requests to service the needs of its many peripherals and subsystems. All of the interrupt lines from the subsystems are not needed at the same time, so they have to be muxed to the irq-controller appropriately. In such places a interrupt controllers are preceded by an CROSSBAR that provides flexibility in muxing the device requests to the controller inputs.r¸jZj§jbj jdj¥jf}r¹(jh]ji]jj]jk]jn]ujpKçjqhjr]rºj{X«Some socs like AM571x and AM572x have a large number of interrupts requests to service the needs of its many peripherals and subsystems. All of the interrupt lines from the subsystems are not needed at the same time, so they have to be muxed to the irq-controller appropriately. In such places a interrupt controllers are preceded by an CROSSBAR that provides flexibility in muxing the device requests to the controller inputs.r»…�r¼}r½(jYj¸jZj¶ubaubj¡)�r¾}r¿(jYXVApplication developers have two options to setup interrupts on AM57xx/TDA2xx/DRA7xx devices which provide a crossbar mechanism to connect a given IRQ source to an IRQ line on the target cpu's interrupt controller. The device level chip support library provides functional APIs to map interrupt events to target core interrupt controller line.rÀjZj§jbj jdj¥jf}rÁ(jh]ji]jj]jk]jn]ujpKéjqhjr]rÂj{XVApplication developers have two options to setup interrupts on AM57xx/TDA2xx/DRA7xx devices which provide a crossbar mechanism to connect a given IRQ source to an IRQ line on the target cpu's interrupt controller. The device level chip support library provides functional APIs to map interrupt events to target core interrupt controller line.rÃ…�rÄ}rÅ(jYjÀjZj¾ubaubj¡)�rÆ}rÇ(jYXTFor example SPI3_IRQ to the CROSSBAR input on DSP and M4, you can use the following:rÈjZj§jbj jdj¥jf}rÉ(jh]ji]jj]jk]jn]ujpKëjqhjr]rÊj{XTFor example SPI3_IRQ to the CROSSBAR input on DSP and M4, you can use the following:rË…�rÌ}rÍ(jYjÈjZjÆubaubj¡)�rÎ}rÏ(jYX<DSP Core1 configuration of SPI3_IRQ to crossbar input 60: ::jZj§jbj jdj¥jf}rÐ(jh]ji]jj]jk]jn]ujpKíjqhjr]rÑj{X9DSP Core1 configuration of SPI3_IRQ to crossbar input 60:rÒ…�rÓ}rÔ(jYX9DSP Core1 configuration of SPI3_IRQ to crossbar input 60:jZjÎubaubj)�rÕ}rÖ(jYXF/* Configure xbar connect for MCSPI3: DSP_IRQ_43 (reserved) mapped to MCSPI3 intr */ CSL_xbarIrqConfigure (CSL_XBAR_IRQ_CPU_ID_DSP1, CSL_XBAR_INST_DSP1_IRQ_43, /* should match with C66 intc eventId used for event combiner that maps to DSP interrupts*/ CSL_XBAR_MCSPI3_IRQ);jZj§jbj jdjjf}r×(jöj÷jk]jj]jh]ji]jn]ujpMœjqhjr]rØj{XF/* Configure xbar connect for MCSPI3: DSP_IRQ_43 (reserved) mapped to MCSPI3 intr */ CSL_xbarIrqConfigure (CSL_XBAR_IRQ_CPU_ID_DSP1, CSL_XBAR_INST_DSP1_IRQ_43, /* should match with C66 intc eventId used for event combiner that maps to DSP interrupts*/ CSL_XBAR_MCSPI3_IRQ);rÙ…�rÚ}rÛ(jYUjZjÕubaubjZ)�rÜ}rÝ(jYUjZj§jbj jdj]jf}rÞ(jh]ji]jj]jk]jn]ujpKójqhjr]rßj`)�rà}rá(jYUjcKjZjÜjbj jdjpjf}râ(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rã}rä(jYX<IPU core1 configuration of SPI3_IRQ to crossbar input 43: ::jZj§jbj jdj¥jf}rå(jh]ji]jj]jk]jn]ujpKôjqhjr]ræj{X9IPU core1 configuration of SPI3_IRQ to crossbar input 43:rç…�rè}ré(jYX9IPU core1 configuration of SPI3_IRQ to crossbar input 43:jZjãubaubj)�rê}rë(jYX!/* Configure xbar connect for MCSPI3: IPU1_IRQ_60 (reserved) mapped to MCSPI3 intr */ CSL_xbarIrqConfigure (CSL_XBAR_IRQ_CPU_ID_IPU1, CSL_XBAR_INST_IPU1_IRQ_60, /* should match with M4 intNum used for HWI_create */ CSL_XBAR_MCSPI3_IRQ);jZj§jbj jdjjf}rì(jöj÷jk]jj]jh]ji]jn]ujpM£jqhjr]ríj{X!/* Configure xbar connect for MCSPI3: IPU1_IRQ_60 (reserved) mapped to MCSPI3 intr */ CSL_xbarIrqConfigure (CSL_XBAR_IRQ_CPU_ID_IPU1, CSL_XBAR_INST_IPU1_IRQ_60, /* should match with M4 intNum used for HWI_create */ CSL_XBAR_MCSPI3_IRQ);rî…�rï}rð(jYUjZjêubaubjZ)�rñ}rò(jYUjZj§jbj jdj]jf}ró(jh]ji]jj]jk]jn]ujpKújqhjr]rôj`)�rõ}rö(jYUjcKjZjñjbj jdjpjf}r÷(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rø}rù(jYXhHere is how you would define the same interrupt handler for IPU statically in a configuration script: ::jZj§jbj jdj¥jf}rú(jh]ji]jj]jk]jn]ujpKûjqhjr]rûj{XeHere is how you would define the same interrupt handler for IPU statically in a configuration script:rü…�rý}rþ(jYXeHere is how you would define the same interrupt handler for IPU statically in a configuration script:jZjøubaubj)�rÿ}r(jYXñvar Hwi = xdc.useModule('ti.sysbios.family.arm.m3.Hwi'); var IntXbar = xdc.useModule('ti.sysbios.family.shared.vayu.IntXbar'); // Connect IRQ 23 to Interrupt source index 86 (SPI3_IRQ) IntXbar.connectIRQMeta(60, 86); // Alternately, the connectIRQMeta API can be used. This // API expects XBAR instance number as an argument. // // Connect Xbar Instance 1 (IRQ 60) to Interrupt // source index 86 (MCSPI3_IRQ) // // IntXbar.connectMeta(1, 60); var hwiParams = new Hwi.Params(); hwiParams.arg = 60;jZj§jbj jdjjf}r(jöj÷jk]jj]jh]ji]jn]ujpMªjqhjr]rj{Xñvar Hwi = xdc.useModule('ti.sysbios.family.arm.m3.Hwi'); var IntXbar = xdc.useModule('ti.sysbios.family.shared.vayu.IntXbar'); // Connect IRQ 23 to Interrupt source index 86 (SPI3_IRQ) IntXbar.connectIRQMeta(60, 86); // Alternately, the connectIRQMeta API can be used. This // API expects XBAR instance number as an argument. // // Connect Xbar Instance 1 (IRQ 60) to Interrupt // source index 86 (MCSPI3_IRQ) // // IntXbar.connectMeta(1, 60); var hwiParams = new Hwi.Params(); hwiParams.arg = 60;r…�r}r(jYUjZjÿubaubjZ)�r}r(jYUjZj§jbj jdj]jf}r(jh]ji]jj]jk]jn]ujpM jqhjr]r j`)�r }r (jYUjcKjZjjbj jdjpjf}r (jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubeubj[)�r }r(jYUjZjjbj jdjejf}r(jh]ji]jj]jk]rUclocks-and-timersrajn]rhÐaujpM jqhjr]r(jt)�r}r(jYXClocks and TimersrjZj jbj jdjxjf}r(jh]ji]jj]jk]jn]ujpM jqhjr]rj{XClocks and Timersr…�r}r(jYjjZjubaubj[)�r}r(jYUjZj jbj jdjejf}r(jh]ji]jj]jk]rUUwhat-are-the-different-clock-and-timer-modules-in-ti-rtos-that-you-should-be-aware-ofr ajn]r!hÛaujpMjqhjr]r"(jt)�r#}r$(jYXVWhat are the different clock and timer modules in TI RTOS that you should be aware of?r%jZjjbj jdjxjf}r&(jh]ji]jj]jk]jn]ujpMjqhjr]r'j{XVWhat are the different clock and timer modules in TI RTOS that you should be aware of?r(…�r)}r*(jYj%jZj#ubaubjC)�r+}r,(jYUjZjjbj jdj`jf}r-(jGX*jk]jj]jh]ji]jn]ujpMjqhjr]r.(j/)�r/}r0(jYXZTimer Module * Manages timer peripherals * Provides target/device abstraction jZj+jbNjdj2jf}r1(jh]ji]jj]jk]jn]ujpNjqhjr]r2j )�r3}r4(jYUjf}r5(jh]ji]jj]jk]jn]ujZj/jr]r6j )�r7}r8(jYXNTimer Module * Manages timer peripherals * Provides target/device abstraction jZj3jbj jdj jf}r9(jh]ji]jj]jk]jn]ujpMjr]r:(j )�r;}r<(jYX Timer Moduler=jZj7jbj jdj jf}r>(jh]ji]jj]jk]jn]ujpMjr]r?j{X Timer Moduler@…�rA}rB(jYj=jZj;ubaubj )�rC}rD(jYUjf}rE(jh]ji]jj]jk]jn]ujZj7jr]rFjC)�rG}rH(jYUjf}rI(jGX*jk]jj]jh]ji]jn]ujZjCjr]rJ(j/)�rK}rL(jYXManages timer peripheralsrMjf}rN(jh]ji]jj]jk]jn]ujZjGjr]rOj¡)�rP}rQ(jYjMjZjKjbj jdj¥jf}rR(jh]ji]jj]jk]jn]ujpMjr]rSj{XManages timer peripheralsrT…�rU}rV(jYjMjZjPubaubajdj2ubj/)�rW}rX(jYX#Provides target/device abstraction jf}rY(jh]ji]jj]jk]jn]ujZjGjr]rZj¡)�r[}r\(jYX"Provides target/device abstractionr]jZjWjbj jdj¥jf}r^(jh]ji]jj]jk]jn]ujpMjr]r_j{X"Provides target/device abstractionr`…�ra}rb(jYj]jZj[ubaubajdj2ubejdj`ubajdj2 ubeubajdj3 ubaubj/)�rc}rd(jYXÛClock Module * Manages BIOS “heartbeatâ€� * Can schedule functions to fire in the future (one-shot or periodically) * Input can be configured to use Timer module “tickâ€� or application “tickâ€� jZj+jbNjdj2jf}re(jh]ji]jj]jk]jn]ujpNjqhjr]rfj )�rg}rh(jYUjf}ri(jh]ji]jj]jk]jn]ujZjcjr]rjj )�rk}rl(jYXÉClock Module * Manages BIOS “heartbeatâ€� * Can schedule functions to fire in the future (one-shot or periodically) * Input can be configured to use Timer module “tickâ€� or application “tickâ€� jZjgjbj jdj jf}rm(jh]ji]jj]jk]jn]ujpMjr]rn(j )�ro}rp(jYX Clock ModulerqjZjkjbj jdj jf}rr(jh]ji]jj]jk]jn]ujpMjr]rsj{X Clock Modulert…�ru}rv(jYjqjZjoubaubj )�rw}rx(jYUjf}ry(jh]ji]jj]jk]jn]ujZjkjr]rzjC)�r{}r|(jYUjf}r}(jGX*jk]jj]jh]ji]jn]ujZjwjr]r~(j/)�r}r€(jYXManages BIOS “heartbeatâ€�r�jf}r‚(jh]ji]jj]jk]jn]ujZj{jr]rƒj¡)�r„}r…(jYj�jZjjbj jdj¥jf}r†(jh]ji]jj]jk]jn]ujpMjr]r‡j{XManages BIOS “heartbeatâ€�rˆ…�r‰}rŠ(jYj�jZj„ubaubajdj2ubj/)�r‹}rŒ(jYXGCan schedule functions to fire in the future (one-shot or periodically)r�jf}rŽ(jh]ji]jj]jk]jn]ujZj{jr]r�j¡)�r�}r‘(jYj�jZj‹jbj jdj¥jf}r’(jh]ji]jj]jk]jn]ujpMjr]r“j{XGCan schedule functions to fire in the future (one-shot or periodically)r”…�r•}r–(jYj�jZj�ubaubajdj2ubj/)�r—}r˜(jYXQInput can be configured to use Timer module “tickâ€� or application “tickâ€� jf}r™(jh]ji]jj]jk]jn]ujZj{jr]ršj¡)�r›}rœ(jYXPInput can be configured to use Timer module “tickâ€� or application “tickâ€�r�jZj—jbj jdj¥jf}rž(jh]ji]jj]jk]jn]ujpMjr]rŸj{XPInput can be configured to use Timer module “tickâ€� or application “tickâ€�r …�r¡}r¢(jYj�jZj›ubaubajdj2ubejdj`ubajdj2 ubeubajdj3 ubaubj/)�r£}r¤(jYX|Timestamp Module * Provides simple time stamping services for benchmarking code * Allows time stamping RTA logs jZj+jbNjdj2jf}r¥(jh]ji]jj]jk]jn]ujpNjqhjr]r¦j )�r§}r¨(jYUjf}r©(jh]ji]jj]jk]jn]ujZj£jr]rªj )�r«}r¬(jYXpTimestamp Module * Provides simple time stamping services for benchmarking code * Allows time stamping RTA logs jZj§jbj jdj jf}r­(jh]ji]jj]jk]jn]ujpMjr]r®(j )�r¯}r°(jYXTimestamp Moduler±jZj«jbj jdj jf}r²(jh]ji]jj]jk]jn]ujpMjr]r³j{XTimestamp Moduler´…�rµ}r¶(jYj±jZj¯ubaubj )�r·}r¸(jYUjf}r¹(jh]ji]jj]jk]jn]ujZj«jr]rºjC)�r»}r¼(jYUjf}r½(jGX*jk]jj]jh]ji]jn]ujZj·jr]r¾(j/)�r¿}rÀ(jYX<Provides simple time stamping services for benchmarking coderÁjf}rÂ(jh]ji]jj]jk]jn]ujZj»jr]rÃj¡)�rÄ}rÅ(jYjÁjZj¿jbj jdj¥jf}rÆ(jh]ji]jj]jk]jn]ujpMjr]rÇj{X<Provides simple time stamping services for benchmarking coderÈ…�rÉ}rÊ(jYjÁjZjÄubaubajdj2ubj/)�rË}rÌ(jYXAllows time stamping RTA logs jf}rÍ(jh]ji]jj]jk]jn]ujZj»jr]rÎj¡)�rÏ}rÐ(jYXAllows time stamping RTA logsrÑjZjËjbj jdj¥jf}rÒ(jh]ji]jj]jk]jn]ujpMjr]rÓj{XAllows time stamping RTA logsrÔ…�rÕ}rÖ(jYjÑjZjÏubaubajdj2ubejdj`ubajdj2 ubeubajdj3 ubaubeubj¡)�r×}rØ(jYX**BIOS Timer Architecture**rÙjZjjbj jdj¥jf}rÚ(jh]ji]jj]jk]jn]ujpM jqhjr]rÛjü)�rÜ}rÝ(jYjÙjf}rÞ(jh]ji]jj]jk]jn]ujZj×jr]rßj{XBIOS Timer Architecturerà…�rá}râ(jYUjZjÜubajdjubaubjB)�rã}rä(jYXA.. Image:: ../images/BIOS_Timer_Architecture.png :scale: 50 % jZjjbj jdjEjf}rå(UscaleK2UuriX*rtos/../images/BIOS_Timer_Architecture.pngræjk]jj]jh]ji]jH}rçU*jæsjn]ujpNjqhjr]ubj¡)�rè}ré(jYX**BIOS Clock Architecture**rêjZjjbj jdj¥jf}rë(jh]ji]jj]jk]jn]ujpM%jqhjr]rìjü)�rí}rî(jYjêjf}rï(jh]ji]jj]jk]jn]ujZjèjr]rðj{XBIOS Clock Architecturerñ…�rò}ró(jYUjZjíubajdjubaubjB)�rô}rõ(jYXG.. Image:: ../images/BIOS_Clock_Architecture.png :scale: 50 % jZjjbj jdjEjf}rö(UscaleK2UuriX*rtos/../images/BIOS_Clock_Architecture.pngr÷jk]jj]jh]ji]jH}røU*j÷sjn]ujpNjqhjr]ubeubj[)�rù}rú(jYUjZj jbj jdjejf}rû(jh]ji]jj]jk]rüU5how-to-get-accurate-clock-ticks-from-the-clock-modulerýajn]rþjaujpM,jqhjr]rÿ(jt)�r}r(jYX6How to get accurate clock ticks from the clock module?rjZjùjbj jdjxjf}r(jh]ji]jj]jk]jn]ujpM,jqhjr]rj{X6How to get accurate clock ticks from the clock module?r…�r}r(jYjjZjubaubj¡)�r}r (jYX¿The clock module uses the CPU clock setting that is provided by the default platform setting. For example, if the platform is set to AM335x, then the clock is assumed to be 550 MHz, so the clock ticks will be generated with period of 1.8 nanoseconds. '''TI RTOS doesn`t setup the device clocks, the device clock initiation is the responsibility of the initialization code''' (GEL file in debug environment and bootloader in production environment)r jZjùjbj jdj¥jf}r (jh]ji]jj]jk]jn]ujpM.jqhjr]r j{X¿The clock module uses the CPU clock setting that is provided by the default platform setting. For example, if the platform is set to AM335x, then the clock is assumed to be 550 MHz, so the clock ticks will be generated with period of 1.8 nanoseconds. '''TI RTOS doesn`t setup the device clocks, the device clock initiation is the responsibility of the initialization code''' (GEL file in debug environment and bootloader in production environment)r …�r}r(jYj jZjubaubj¡)�r}r(jYX«After, the clocks are configured, it is the responsibility of the application developer to inform BIOS of the CPU frequency so that accurate system ticks can be generated.rjZjùjbj jdj¥jf}r(jh]ji]jj]jk]jn]ujpM0jqhjr]rj{X«After, the clocks are configured, it is the responsibility of the application developer to inform BIOS of the CPU frequency so that accurate system ticks can be generated.r…�r}r(jYjjZjubaubj¡)�r}r(jYXÎ**Note:** For example if the core clock on AM335x is set to 720 MHz instead of default 550 Mhz, then users are required to add the following like the .cfg to inform BIOS kernel of the actual CPU setting. ::jZjùjbj jdj¥jf}r(jh]ji]jj]jk]jn]ujpM2jqhjr]r(jü)�r}r(jYX **Note:**jf}r(jh]ji]jj]jk]jn]ujZjjr]rj{XNote:r …�r!}r"(jYUjZjubajdjubj{X For example if the core clock on AM335x is set to 720 MHz instead of default 550 Mhz, then users are required to add the following like the .cfg to inform BIOS kernel of the actual CPU setting.r#…�r$}r%(jYX For example if the core clock on AM335x is set to 720 MHz instead of default 550 Mhz, then users are required to add the following like the .cfg to inform BIOS kernel of the actual CPU setting.jZjubeubj)�r&}r'(jYXBIOS.cpuFreq.lo = 720000000;jZjùjbj jdjjf}r((jöj÷jk]jj]jh]ji]jn]ujpMájqhjr]r)j{XBIOS.cpuFreq.lo = 720000000;r*…�r+}r,(jYUjZj&ubaubjZ)�r-}r.(jYUjZjùjbj jdj]jf}r/(jh]ji]jj]jk]jn]ujpM5jqhjr]r0j`)�r1}r2(jYUjcKjZj-jbj jdjpjf}r3(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r4}r5(jYXWe reiterate that this doesn`t change the actual frequency but only informs the OS of the change from default CPU freq setting.r6jZjùjbj jdj¥jf}r7(jh]ji]jj]jk]jn]ujpM6jqhjr]r8j{XWe reiterate that this doesn`t change the actual frequency but only informs the OS of the change from default CPU freq setting.r9…�r:}r;(jYj6jZj4ubaubeubj[)�r<}r=(jYUjZj jbj jdjejf}r>(jh]ji]jj]jk]r?UYhow-to-set-input-frequency-in-sysbios-configuration-and-change-timer-used-by-clock-moduler@ajn]rAhGaujpM9jqhjr]rB(jt)�rC}rD(jYXYHow to set input frequency in SYSBIOS configuration and change timer used by clock modulerEjZj<jbj jdjxjf}rF(jh]ji]jj]jk]jn]ujpM9jqhjr]rGj{XYHow to set input frequency in SYSBIOS configuration and change timer used by clock modulerH…�rI}rJ(jYjEjZjCubaubj¡)�rK}rL(jYX¡Timer.intFreq[index] determines the input clock that drivers the timer. In most cases the input clock is assumed to be the input clock used in TI EVM (Example: 24 Mhz used on AM335x EVM). If you have a different input on your custom board users are required to change the input Freqency setting in their configuration. To change the dmtimer frequency in SYS/BIOS you need to add the following to your config file: ::jZj<jbj jdj¥jf}rM(jh]ji]jj]jk]jn]ujpM;jqhjr]rNj{XžTimer.intFreq[index] determines the input clock that drivers the timer. In most cases the input clock is assumed to be the input clock used in TI EVM (Example: 24 Mhz used on AM335x EVM). If you have a different input on your custom board users are required to change the input Freqency setting in their configuration. To change the dmtimer frequency in SYS/BIOS you need to add the following to your config file:rO…�rP}rQ(jYXžTimer.intFreq[index] determines the input clock that drivers the timer. In most cases the input clock is assumed to be the input clock used in TI EVM (Example: 24 Mhz used on AM335x EVM). If you have a different input on your custom board users are required to change the input Freqency setting in their configuration. To change the dmtimer frequency in SYS/BIOS you need to add the following to your config file:jZjKubaubj)�rR}rS(jYXlvar Timer = xdc.useModule('ti.sysbios.timers.dmtimer.Timer'); Timer.intFreqs[index] = {hi: 0, lo: 19200000};jZj<jbj jdjjf}rT(jöj÷jk]jj]jh]ji]jn]ujpMêjqhjr]rUj{Xlvar Timer = xdc.useModule('ti.sysbios.timers.dmtimer.Timer'); Timer.intFreqs[index] = {hi: 0, lo: 19200000};rV…�rW}rX(jYUjZjRubaubjZ)�rY}rZ(jYUjZj<jbj jdj]jf}r[(jh]ji]jj]jk]jn]ujpM?jqhjr]r\j`)�r]}r^(jYUjcKjZjYjbj jdjpjf}r_(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r`}ra(jYXåWhere index is the SYS/BIOS timer ID. Please remember that timer IDs do not necessarily match the number in the peripheral name. For example on AM335x SYS/BIOS Timer 0 actually corresponds to DMTimer2 on the device. Use the `Timer Mapping Table `__ to determine which timer corresponds to each Timer ID.rbjZj<jbj jdj¥jf}rc(jh]ji]jj]jk]jn]ujpM@jqhjr]rd(j{XãWhere index is the SYS/BIOS timer ID. Please remember that timer IDs do not necessarily match the number in the peripheral name. For example on AM335x SYS/BIOS Timer 0 actually corresponds to DMTimer2 on the device. Use the re…�rf}rg(jYXãWhere index is the SYS/BIOS timer ID. Please remember that timer IDs do not necessarily match the number in the peripheral name. For example on AM335x SYS/BIOS Timer 0 actually corresponds to DMTimer2 on the device. Use the jZj`ubjÜ)�rh}ri(jYXË`Timer Mapping Table `__jf}rj(UnameXTimer Mapping TablejX±http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bios/sysbios/6_40_01_15/exports/bios_6_40_01_15/docs/cdoc/ti/sysbios/timers/dmtimer/doc-files/TimerTables.htmljk]jj]jh]ji]jn]ujZj`jr]rkj{XTimer Mapping Tablerl…�rm}rn(jYUjZjhubajdjàubj{X7 to determine which timer corresponds to each Timer ID.ro…�rp}rq(jYX7 to determine which timer corresponds to each Timer ID.jZj`ubeubj¡)�rr}rs(jYXùThe Clock module uses a Timer internally. By default, the Clock module calls Timer_create() with "ANY" which will return one of the available timers. You can specify the exact timer using the following (the default value for Clock.timerId is ANY).rtjZj<jbj jdj¥jf}ru(jh]ji]jj]jk]jn]ujpMBjqhjr]rvj{XùThe Clock module uses a Timer internally. By default, the Clock module calls Timer_create() with "ANY" which will return one of the available timers. You can specify the exact timer using the following (the default value for Clock.timerId is ANY).rw…�rx}ry(jYjtjZjrubaubj¡)�rz}r{(jYXDTo set it to a specic timer Id, you can use the following syntax. ::jZj<jbj jdj¥jf}r|(jh]ji]jj]jk]jn]ujpMEjqhjr]r}j{XATo set it to a specic timer Id, you can use the following syntax.r~…�r}r€(jYXATo set it to a specic timer Id, you can use the following syntax.jZjzubaubj)�r�}r‚(jYX@Clock= xdc.useModule('ti.sysbios.knl.Clock'); Clock.timerId = 3;jZj<jbj jdjjf}rƒ(jöj÷jk]jj]jh]ji]jn]ujpMôjqhjr]r„j{X@Clock= xdc.useModule('ti.sysbios.knl.Clock'); Clock.timerId = 3;r……�r†}r‡(jYUjZj�ubaubjZ)�rˆ}r‰(jYUjZj<jbj jdj]jf}rŠ(jh]ji]jj]jk]jn]ujpMIjqhjr]r‹j`)�rŒ}r�(jYUjcKjZjˆjbj jdjpjf}rŽ(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubeubj[)�r�}r�(jYUjZjjbj jdjejf}r‘(jh]ji]jj]jk]r’U semihostingr“ajn]r”hÞaujpMMjqhjr]r•(jt)�r–}r—(jYX SemiHostingr˜jZj�jbj jdjxjf}r™(jh]ji]jj]jk]jn]ujpMMjqhjr]ršj{X SemiHostingr›…�rœ}r�(jYj˜jZj–ubaubj[)�rž}rŸ(jYUjZj�jbj jdjejf}r (jh]ji]jj]jk]r¡U6why-can-t-i-see-output-of-system-printf-on-ccs-consoler¢ajn]r£húaujpMPjqhjr]r¤(jt)�r¥}r¦(jYX7Why can`t I see output of System_printf on CCS console?r§jZjžjbj jdjxjf}r¨(jh]ji]jj]jk]jn]ujpMPjqhjr]r©j{X7Why can`t I see output of System_printf on CCS console?rª…�r«}r¬(jYj§jZj¥ubaubj¡)�r­}r®(jYXWhen getting started with TI RTOS, you may notice that the printf from your code goes to CCS console but using non-intrusive System_printf doesn`t. If you want to have System_printf output go to the same place as printf, add the following three lines to your .cfg file and re-build: ::jZjžjbj jdj¥jf}r¯(jh]ji]jj]jk]jn]ujpMRjqhjr]r°j{XWhen getting started with TI RTOS, you may notice that the printf from your code goes to CCS console but using non-intrusive System_printf doesn`t. If you want to have System_printf output go to the same place as printf, add the following three lines to your .cfg file and re-build:r±…�r²}r³(jYXWhen getting started with TI RTOS, you may notice that the printf from your code goes to CCS console but using non-intrusive System_printf doesn`t. If you want to have System_printf output go to the same place as printf, add the following three lines to your .cfg file and re-build:jZj­ubaubj)�r´}rµ(jYX�var System = xdc.useModule('xdc.runtime.System'); var SysStd = xdc.useModule('xdc.runtime.SysStd'); System.SupportProxy = SysStd;jZjžjbj jdjjf}r¶(jöj÷jk]jj]jh]ji]jn]ujpMjqhjr]r·j{X�var System = xdc.useModule('xdc.runtime.System'); var SysStd = xdc.useModule('xdc.runtime.SysStd'); System.SupportProxy = SysStd;r¸…�r¹}rº(jYUjZj´ubaubjZ)�r»}r¼(jYUjZjžjbj jdj]jf}r½(jh]ji]jj]jk]jn]ujpMWjqhjr]r¾j`)�r¿}rÀ(jYUjcKjZj»jbj jdjpjf}rÁ(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rÂ}rÃ(jYX©If you don't do this, the output will go to a circular buffer in memory. You can examine that buffer using the ROV tool (use the menu: Tools->ROV while in the debugger).rÄjZjžjbj jdj¥jf}rÅ(jh]ji]jj]jk]jn]ujpMXjqhjr]rÆj{X©If you don't do this, the output will go to a circular buffer in memory. You can examine that buffer using the ROV tool (use the menu: Tools->ROV while in the debugger).rÇ…�rÈ}rÉ(jYjÄjZjÂubaubeubj[)�rÊ}rË(jYUjZj�jbj jdjejf}rÌ(jh]ji]jj]jk]rÍUIhow-to-enable-printf-system-printf-to-go-to-ccs-io-console-on-arm-devicesrÎajn]rÏjaujpM[jqhjr]rÐ(jt)�rÑ}rÒ(jYXIHow to enable printf/System_printf to go to CCS IO console on ARM devicesrÓjZjÊjbj jdjxjf}rÔ(jh]ji]jj]jk]jn]ujpM[jqhjr]rÕj{XIHow to enable printf/System_printf to go to CCS IO console on ARM devicesrÖ…�r×}rØ(jYjÓjZjÑubaubj¡)�rÙ}rÚ(jYX‡Application developers need to add the SemiHosting module to the .cfg manually by editing the config script. Add the following line: ::jZjÊjbj jdj¥jf}rÛ(jh]ji]jj]jk]jn]ujpM\jqhjr]rÜj{X„Application developers need to add the SemiHosting module to the .cfg manually by editing the config script. Add the following line:rÝ…�rÞ}rß(jYX„Application developers need to add the SemiHosting module to the .cfg manually by editing the config script. Add the following line:jZjÙubaubj)�rà}rá(jYXJvar SemiHostSupport = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');jZjÊjbj jdjjf}râ(jöj÷jk]jj]jh]ji]jn]ujpM jqhjr]rãj{XJvar SemiHostSupport = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');rä…�rå}ræ(jYUjZjàubaubjZ)�rç}rè(jYUjZjÊjbj jdj]jf}ré(jh]ji]jj]jk]jn]ujpM_jqhjr]rêj`)�rë}rì(jYUjcKjZjçjbj jdjpjf}rí(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rî}rï(jYXvThis module does the required setup (install SVC_Handler and do the required file handle init) to support SemiHosting.rðjZjÊjbj jdj¥jf}rñ(jh]ji]jj]jk]jn]ujpM`jqhjr]ròj{XvThis module does the required setup (install SVC_Handler and do the required file handle init) to support SemiHosting.ró…�rô}rõ(jYjðjZjîubaubj¡)�rö}r÷(jYX7GNU GCC users on ARM platforms need to link to "rdimon" library to the "GNU Linker" -> "Libraries" view. If the "nosys" library is already listed in the "Libraries" view then replace it with "rdimon". This will cause the application to link with librdimon.a library which is a Semi-Hosting enabled BSP library.røjZjÊjbj jdj¥jf}rù(jh]ji]jj]jk]jn]ujpMbjqhjr]rúj{X7GNU GCC users on ARM platforms need to link to "rdimon" library to the "GNU Linker" -> "Libraries" view. If the "nosys" library is already listed in the "Libraries" view then replace it with "rdimon". This will cause the application to link with librdimon.a library which is a Semi-Hosting enabled BSP library.rû…�rü}rý(jYjøjZjöubaubeubeubj[)�rþ}rÿ(jYUjZjjbj jdjejf}r(jh]ji]jj]jk]rUexception-handlingrajn]rh‡aujpMfjqhjr]r(jt)�r}r(jYXException HandlingrjZjþjbj jdjxjf}r(jh]ji]jj]jk]jn]ujpMfjqhjr]r j{XException Handlingr …�r }r (jYjjZjubaubj[)�r }r(jYUjZjþjbj jdjejf}r(jh]ji]jj]jk]rU8how-can-i-get-dump-of-registers-when-an-exception-occursrajn]rhÜaujpMijqhjr]r(jt)�r}r(jYX:How can I get dump of registers when an exception occurs ?rjZj jbj jdjxjf}r(jh]ji]jj]jk]jn]ujpMijqhjr]rj{X:How can I get dump of registers when an exception occurs ?r…�r}r(jYjjZjubaubj¡)�r}r(jYX%If you add this to your .cfg file: ::jZj jbj jdj¥jf}r(jh]ji]jj]jk]jn]ujpMkjqhjr]rj{X"If you add this to your .cfg file:r …�r!}r"(jYX"If you add this to your .cfg file:jZjubaubj)�r#}r$(jYX`var Exception = xdc.useModule('ti.sysbios.family.c64p.Exception'); Exception.enablePrint = true;jZj jbj jdjjf}r%(jöj÷jk]jj]jh]ji]jn]ujpMjqhjr]r&j{X`var Exception = xdc.useModule('ti.sysbios.family.c64p.Exception'); Exception.enablePrint = true;r'…�r(}r)(jYUjZj#ubaubjZ)�r*}r+(jYUjZj jbj jdj]jf}r,(jh]ji]jj]jk]jn]ujpMojqhjr]r-j`)�r.}r/(jYUjcKjZj*jbj jdjpjf}r0(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r1}r2(jYXÿSYS/BIOS provides several target unique exception handlers: * ti.sysbios.family.arm.exc.Exception - used by all Arm9 and A8 targets * ti.sysbios.family.arm.m3.Hwi - used by all cortex-M3 targets * ti.sysbios.family.c64p.Exception - used by all C6x targetsr3jZj jbj jdj¥jf}r4(jh]ji]jj]jk]jn]ujpMqjqhjr]r5j{XÿSYS/BIOS provides several target unique exception handlers: * ti.sysbios.family.arm.exc.Exception - used by all Arm9 and A8 targets * ti.sysbios.family.arm.m3.Hwi - used by all cortex-M3 targets * ti.sysbios.family.c64p.Exception - used by all C6x targetsr6…�r7}r8(jYj3jZj1ubaubj¡)�r9}r:(jYX˜a complete exception register context should be dumped to the console in addition to the Error raised by the exception handler when an exception occurs.r;jZj jbj jdj¥jf}r<(jh]ji]jj]jk]jn]ujpMvjqhjr]r=j{X˜a complete exception register context should be dumped to the console in addition to the Error raised by the exception handler when an exception occurs.r>…�r?}r@(jYj;jZj9ubaubj¡)�rA}rB(jYXGIf you set a breakpoint at "ti_sysbios_family_c64p_Hwi_int1", this is the function vectored to on all exceptions. No exception processing will have been performed at this point. Using CCS' register dump, you can see the complete state of the processor. The NRP register should contain the PC at the time the exception occurred.rCjZj jbj jdj¥jf}rD(jh]ji]jj]jk]jn]ujpMxjqhjr]rEj{XGIf you set a breakpoint at "ti_sysbios_family_c64p_Hwi_int1", this is the function vectored to on all exceptions. No exception processing will have been performed at this point. Using CCS' register dump, you can see the complete state of the processor. The NRP register should contain the PC at the time the exception occurred.rF…�rG}rH(jYjCjZjAubaubeubj[)�rI}rJ(jYUjZjþjbj jdjejf}rK(jh]ji]jj]jk]rLU6how-do-i-determine-the-call-stack-at-the-time-of-crashrMajn]rNhRaujpM|jqhjr]rO(jt)�rP}rQ(jYX6How do I determine the call stack at the time of crashrRjZjIjbj jdjxjf}rS(jh]ji]jj]jk]jn]ujpM|jqhjr]rTj{X6How do I determine the call stack at the time of crashrU…�rV}rW(jYjRjZjPubaubj¡)�rX}rY(jYX�A detailed view of analyzing the call stack using CCS tools when your TI RTOS application throws an exception has been described in the article:rZjZjIjbj jdj¥jf}r[(jh]ji]jj]jk]jn]ujpM~jqhjr]r\j{X�A detailed view of analyzing the call stack using CCS tools when your TI RTOS application throws an exception has been described in the article:r]…�r^}r_(jYjZjZjXubaubjC)�r`}ra(jYUjZjIjbj jdj`jf}rb(jGX*jk]jj]jh]ji]jn]ujpM€jqhjr]rcj/)�rd}re(jYX¦`Exception_Dump_Decoding_Using_the_CCS_Register_View `__ jZj`jbj jdj2jf}rf(jh]ji]jj]jk]jn]ujpNjqhjr]rgj¡)�rh}ri(jYX£`Exception_Dump_Decoding_Using_the_CCS_Register_View `__rjjZjdjbj jdj¥jf}rk(jh]ji]jj]jk]jn]ujpM€jr]rljÜ)�rm}rn(jYjjjf}ro(UnameX3Exception_Dump_Decoding_Using_the_CCS_Register_ViewjXihttp://processors.wiki.ti.com/index.php/SYS/BIOS_FAQs#Exception_Dump_Decoding_Using_the_CCS_Register_Viewjk]jj]jh]ji]jn]ujZjhjr]rpj{X3Exception_Dump_Decoding_Using_the_CCS_Register_Viewrq…�rr}rs(jYUjZjmubajdjàubaubaubaubeubj[)�rt}ru(jYUjZjþjbj jdjejf}rv(jh]ji]jj]jk]rwU)how-can-you-route-exception-print-to-uartrxajn]ryhùaujpM…jqhjr]rz(jt)�r{}r|(jYX)How can you route exception print to UARTr}jZjtjbj jdjxjf}r~(jh]ji]jj]jk]jn]ujpM…jqhjr]rj{X)How can you route exception print to UARTr€…�r�}r‚(jYj}jZj{ubaubj¡)�rƒ}r„(jYX6The console I/O prints from TI-RTOS can be re-routed to UART. The console I/O messages are printed using the System module which can configured to call callback functions. These callback functions should be configured to write to UART. For example, in your .cfg add a configuration similar to the one below: ::jZjtjbj jdj¥jf}r…(jh]ji]jj]jk]jn]ujpM‡jqhjr]r†j{X3The console I/O prints from TI-RTOS can be re-routed to UART. The console I/O messages are printed using the System module which can configured to call callback functions. These callback functions should be configured to write to UART. For example, in your .cfg add a configuration similar to the one below:r‡…�rˆ}r‰(jYX3The console I/O prints from TI-RTOS can be re-routed to UART. The console I/O messages are printed using the System module which can configured to call callback functions. These callback functions should be configured to write to UART. For example, in your .cfg add a configuration similar to the one below:jZjƒubaubj)�rŠ}r‹(jYXB/* ================ System configuration ================ */ var System = xdc.useModule('xdc.runtime.System'); var SysCallback = xdc.useModule('xdc.runtime.SysCallback'); SysCallback.abortFxn = "&myUARTAbort"; SysCallback.putchFxn = "&myUARTPutch"; SysCallback.readyFxn = "&myUARTReady"; System.SupportProxy = SysCallback;jZjtjbj jdjjf}rŒ(jöj÷jk]jj]jh]ji]jn]ujpM6jqhjr]r�j{XB/* ================ System configuration ================ */ var System = xdc.useModule('xdc.runtime.System'); var SysCallback = xdc.useModule('xdc.runtime.SysCallback'); SysCallback.abortFxn = "&myUARTAbort"; SysCallback.putchFxn = "&myUARTPutch"; SysCallback.readyFxn = "&myUARTReady"; System.SupportProxy = SysCallback;rŽ…�r�}r�(jYUjZjŠubaubjZ)�r‘}r’(jYUjZjtjbj jdj]jf}r“(jh]ji]jj]jk]jn]ujpM�jqhjr]r”j`)�r•}r–(jYUjcKjZj‘jbj jdjpjf}r—(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r˜}r™(jYX´And define the functions myUARTAbort, myUARTPutch and myUARTReady in your application. For details about the SysCallback module's callback function signature, please see this link.ršjZjtjbj jdj¥jf}r›(jh]ji]jj]jk]jn]ujpM‘jqhjr]rœj{X´And define the functions myUARTAbort, myUARTPutch and myUARTReady in your application. For details about the SysCallback module's callback function signature, please see this link.r�…�rž}rŸ(jYjšjZj˜ubaubj¡)�r }r¡(jYX•For more details refer to the E2E discussion here: `Redirecting Exception logs to UART `__r¢jZjtjbj jdj¥jf}r£(jh]ji]jj]jk]jn]ujpM“jqhjr]r¤(j{X3For more details refer to the E2E discussion here: r¥…�r¦}r§(jYX3For more details refer to the E2E discussion here: jZj ubjÜ)�r¨}r©(jYXb`Redirecting Exception logs to UART `__jf}rª(UnameX"Redirecting Exception logs to UARTjX9https://e2e.ti.com/support/embedded/tirtos/f/355/t/459864jk]jj]jh]ji]jn]ujZj jr]r«j{X"Redirecting Exception logs to UARTr¬…�r­}r®(jYUjZj¨ubajdjàubeubeubeubj[)�r¯}r°(jYUjZjjbj jdjejf}r±(jh]ji]jj]jk]r²Ulogging-and-tracer³ajn]r´h|aujpM–jqhjr]rµ(jt)�r¶}r·(jYXLogging and Tracer¸jZj¯jbj jdjxjf}r¹(jh]ji]jj]jk]jn]ujpM–jqhjr]rºj{XLogging and Tracer»…�r¼}r½(jYj¸jZj¶ubaubj[)�r¾}r¿(jYUjZj¯jbj jdjejf}rÀ(jh]ji]jj]jk]rÁU4how-get-uia-logging-working-with-ti-rtos-applicationrÂajn]rÃhxaujpM™jqhjr]rÄ(jt)�rÅ}rÆ(jYX5How get UIA logging working with TI RTOS application?rÇjZj¾jbj jdjxjf}rÈ(jh]ji]jj]jk]jn]ujpM™jqhjr]rÉj{X5How get UIA logging working with TI RTOS application?rÊ…�rË}rÌ(jYjÇjZjÅubaubj¡)�rÍ}rÎ(jYX˜In order to get the UIA loggging enabled, you need to include the UIA module and indicate the modules on which you would like obtain the logging information in your application. For example the following configuration will enable Load, Task, Swi and Hwi logging and will enable Task profiler so that you gain visual insight into the execution of the TI RTOS application using System analyzer tools in CCS: ::jZj¾jbj jdj¥jf}rÏ(jh]ji]jj]jk]jn]ujpM›jqhjr]rÐj{X•In order to get the UIA loggging enabled, you need to include the UIA module and indicate the modules on which you would like obtain the logging information in your application. For example the following configuration will enable Load, Task, Swi and Hwi logging and will enable Task profiler so that you gain visual insight into the execution of the TI RTOS application using System analyzer tools in CCS:rÑ…�rÒ}rÓ(jYX•In order to get the UIA loggging enabled, you need to include the UIA module and indicate the modules on which you would like obtain the logging information in your application. For example the following configuration will enable Load, Task, Swi and Hwi logging and will enable Task profiler so that you gain visual insight into the execution of the TI RTOS application using System analyzer tools in CCS:jZjÍubaubj)�rÔ}rÕ(jYX‘var LoggingSetup = xdc.useModule('ti.uia.sysbios.LoggingSetup'); LoggingSetup.loadLogging = true; LoggingSetup.loadLoggerSize = 1024; LoggingSetup.mainLoggerSize = 32768; LoggingSetup.sysbiosLoggerSize = 32768; LoggingSetup.sysbiosSwiLogging = true; LoggingSetup.sysbiosHwiLogging = true; LoggingSetup.sysbiosSemaphoreLogging = true; LoggingSetup.loadTaskLogging = true; LoggingSetup.loadSwiLogging = true; LoggingSetup.loadHwiLogging = true; LoggingSetup.enableTaskProfiler = true; LoggingSetup.sysbiosHwiLoggingRuntimeControl = true; LoggingSetup.sysbiosSwiLoggingRuntimeControl = true; LoggingSetup.eventUploadMode = LoggingSetup.UploadMode_JTAGSTOPMODE;jZj¾jbj jdjjf}rÖ(jöj÷jk]jj]jh]ji]jn]ujpMJjqhjr]r×j{X‘var LoggingSetup = xdc.useModule('ti.uia.sysbios.LoggingSetup'); LoggingSetup.loadLogging = true; LoggingSetup.loadLoggerSize = 1024; LoggingSetup.mainLoggerSize = 32768; LoggingSetup.sysbiosLoggerSize = 32768; LoggingSetup.sysbiosSwiLogging = true; LoggingSetup.sysbiosHwiLogging = true; LoggingSetup.sysbiosSemaphoreLogging = true; LoggingSetup.loadTaskLogging = true; LoggingSetup.loadSwiLogging = true; LoggingSetup.loadHwiLogging = true; LoggingSetup.enableTaskProfiler = true; LoggingSetup.sysbiosHwiLoggingRuntimeControl = true; LoggingSetup.sysbiosSwiLoggingRuntimeControl = true; LoggingSetup.eventUploadMode = LoggingSetup.UploadMode_JTAGSTOPMODE;rØ…�rÙ}rÚ(jYUjZjÔubaubjZ)�rÛ}rÜ(jYUjZj¾jbj jdj]jf}rÝ(jh]ji]jj]jk]jn]ujpM¬jqhjr]rÞj`)�rß}rà(jYUjcKjZjÛjbj jdjpjf}rá(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�râ}rã(jYX**System analyzer view :**räjZj¾jbj jdj¥jf}rå(jh]ji]jj]jk]jn]ujpM®jqhjr]ræjü)�rç}rè(jYjäjf}ré(jh]ji]jj]jk]jn]ujZjâjr]rêj{XSystem analyzer view :rë…�rì}rí(jYUjZjçubajdjubaubjB)�rî}rï(jYX7.. Image:: ../images/System_Analyzer_Execution_log.png jZj¾jbj jdjEjf}rð(UuriX0rtos/../images/System_Analyzer_Execution_log.pngrñjk]jj]jh]ji]jH}ròU*jñsjn]ujpM±jqhjr]ubj¡)�ró}rô(jYX€**For more information refer to :** `System Analyzer wiki `__jZj¾jbj jdj¥jf}rõ(jh]ji]jj]jk]jn]ujpM²jqhjr]rö(jü)�r÷}rø(jYX#**For more information refer to :**jf}rù(jh]ji]jj]jk]jn]ujZjójr]rúj{XFor more information refer to :rû…�rü}rý(jYUjZj÷ubajdjubj{X …�rþ}rÿ(jYX jZjóubjÜ)�r}r(jYX\`System Analyzer wiki `__jf}r(UnameXSystem Analyzer wikijXAhttp://processors.wiki.ti.com/index.php/Multicore_System_Analyzerjk]jj]jh]ji]jn]ujZjójr]rj{XSystem Analyzer wikir…�r}r(jYUjZjubajdjàubeubj¡)�r}r(jYX™To see how XGCONF graphical tool can be used to add Logging setup, refer to `TI RTOS User Section 2.2 `__r jZj¾jbj jdj¥jf}r (jh]ji]jj]jk]jn]ujpMµjqhjr]r (j{XLTo see how XGCONF graphical tool can be used to add Logging setup, refer to r …�r }r(jYXLTo see how XGCONF graphical tool can be used to add Logging setup, refer to jZjubjÜ)�r}r(jYXM`TI RTOS User Section 2.2 `__jf}r(UnameXTI RTOS User Section 2.2jX.http://www.ti.com/lit/ug/spruhd4m/spruhd4m.pdfjk]jj]jh]ji]jn]ujZjjr]rj{XTI RTOS User Section 2.2r…�r}r(jYUjZjubajdjàubeubeubj[)�r}r(jYUjZj¯jbj jdjejf}r(jh]ji]jj]jk]rU/what-sys-bios-debugging-tools-do-we-have-in-ccsrajn]rh8aujpM¸jqhjr]r(jt)�r}r(jYX1What SYS/BIOS Debugging Tools do we have in CCS ?rjZjjbj jdjxjf}r (jh]ji]jj]jk]jn]ujpM¸jqhjr]r!j{X1What SYS/BIOS Debugging Tools do we have in CCS ?r"…�r#}r$(jYjjZjubaubjC)�r%}r&(jYUjZjjbj jdj`jf}r'(jGX*jk]jj]jh]ji]jn]ujpMºjqhjr]r((j/)�r)}r*(jYXReal Time analysis(RTA) agent jZj%jbj jdj2jf}r+(jh]ji]jj]jk]jn]ujpNjqhjr]r,j¡)�r-}r.(jYXReal Time analysis(RTA) agentr/jZj)jbj jdj¥jf}r0(jh]ji]jj]jk]jn]ujpMºjr]r1j{XReal Time analysis(RTA) agentr2…�r3}r4(jYj/jZj-ubaubaubj/)�r5}r6(jYXRTOS Object View(ROV) jZj%jbj jdj2jf}r7(jh]ji]jj]jk]jn]ujpNjqhjr]r8j¡)�r9}r:(jYXRTOS Object View(ROV)r;jZj5jbj jdj¥jf}r<(jh]ji]jj]jk]jn]ujpM¼jr]r=j{XRTOS Object View(ROV)r>…�r?}r@(jYj;jZj9ubaubaubeubeubj[)�rA}rB(jYUjZj¯jbj jdjejf}rC(jh]ji]jj]jk]rDUreal-time-analysis-rta-agentrEajn]rFhLaujpMÀjqhjr]rG(jt)�rH}rI(jYXReal Time analysis(RTA) agentrJjZjAjbj jdjxjf}rK(jh]ji]jj]jk]jn]ujpMÀjqhjr]rLj{XReal Time analysis(RTA) agentrM…�rN}rO(jYjJjZjHubaubj¡)�rP}rQ(jYX"**Note:** Before Debugging the SYSBIOS Debugging options. It is recommended to set the Preferences under the Windows Tab in CCS to select the version of SYSBIOS, XDCTOOLS in Windows->Preferences->General->RTSC Options. Additionally set IPC and XDAIS if your application uses the components.rRjZjAjbj jdj¥jf}rS(jh]ji]jj]jk]jn]ujpMÂjqhjr]rT(jü)�rU}rV(jYX **Note:**jf}rW(jh]ji]jj]jk]jn]ujZjPjr]rXj{XNote:rY…�rZ}r[(jYUjZjUubajdjubj{X Before Debugging the SYSBIOS Debugging options. It is recommended to set the Preferences under the Windows Tab in CCS to select the version of SYSBIOS, XDCTOOLS in Windows->Preferences->General->RTSC Options. Additionally set IPC and XDAIS if your application uses the components.r\…�r]}r^(jYX Before Debugging the SYSBIOS Debugging options. It is recommended to set the Preferences under the Windows Tab in CCS to select the version of SYSBIOS, XDCTOOLS in Windows->Preferences->General->RTSC Options. Additionally set IPC and XDAIS if your application uses the components.jZjPubeubj%)�r_}r`(jYUjZjAjbj jdj(jf}ra(j*U.jk]jj]jh]j+Uji]jn]j,j-ujpMÄjqhjr]rb(j/)�rc}rd(jYXMReal time analysis can easily be turned on in a SYSBIOS based CCS project using the Grace tools. Select the configuration file (.cfg) in your project this will open an available Resources view inside SYSBIOS. Under diagnostics, select the RTA agent and enable it and save the configuration. Rebuild the project with the new settings.rejZj_jbj jdj2jf}rf(jh]ji]jj]jk]jn]ujpNjqhjr]rgj¡)�rh}ri(jYjejZjcjbj jdj¥jf}rj(jh]ji]jj]jk]jn]ujpMÄjr]rkj{XMReal time analysis can easily be turned on in a SYSBIOS based CCS project using the Grace tools. Select the configuration file (.cfg) in your project this will open an available Resources view inside SYSBIOS. Under diagnostics, select the RTA agent and enable it and save the configuration. Rebuild the project with the new settings.rl…�rm}rn(jYjejZjhubaubaubj/)�ro}rp(jYXçTo run your project, choose **Target Debug Active Project** from the CCS menus. If this is the first time you are debugging a project for your target, you may need to set up a CCS Target Configuration. See the CCS help for details.rqjZj_jbj jdj2jf}rr(jh]ji]jj]jk]jn]ujpNjqhjr]rsj¡)�rt}ru(jYjqjZjojbj jdj¥jf}rv(jh]ji]jj]jk]jn]ujpMÅjr]rw(j{XTo run your project, choose rx…�ry}rz(jYXTo run your project, choose jZjtubjü)�r{}r|(jYX**Target Debug Active Project**jf}r}(jh]ji]jj]jk]jn]ujZjtjr]r~j{XTarget Debug Active Projectr…�r€}r�(jYUjZj{ubajdjubj{X¬ from the CCS menus. If this is the first time you are debugging a project for your target, you may need to set up a CCS Target Configuration. See the CCS help for details.r‚…�rƒ}r„(jYX¬ from the CCS menus. If this is the first time you are debugging a project for your target, you may need to set up a CCS Target Configuration. See the CCS help for details.jZjtubeubaubj/)�r…}r†(jYXæIn the Debug perspective, open the Runtime Object Viewer (ROV) tool by choosing **Tools ROV**. Also open the Raw Logs view by choosing **Tools RTA Raw Logs**. These tools allow you to see the activity of RTSC and SYS/BIOS modules.r‡jZj_jbj jdj2jf}rˆ(jh]ji]jj]jk]jn]ujpNjqhjr]r‰j¡)�rŠ}r‹(jYj‡jZj…jbj jdj¥jf}rŒ(jh]ji]jj]jk]jn]ujpMÆjr]r�(j{XPIn the Debug perspective, open the Runtime Object Viewer (ROV) tool by choosing rŽ…�r�}r�(jYXPIn the Debug perspective, open the Runtime Object Viewer (ROV) tool by choosing jZjŠubjü)�r‘}r’(jYX **Tools ROV**jf}r“(jh]ji]jj]jk]jn]ujZjŠjr]r”j{X Tools ROVr•…�r–}r—(jYUjZj‘ubajdjubj{X*. Also open the Raw Logs view by choosing r˜…�r™}rš(jYX*. Also open the Raw Logs view by choosing jZjŠubjü)�r›}rœ(jYX**Tools RTA Raw Logs**jf}r�(jh]ji]jj]jk]jn]ujZjŠjr]ržj{XTools RTA Raw LogsrŸ…�r }r¡(jYUjZj›ubajdjubj{XI. These tools allow you to see the activity of RTSC and SYS/BIOS modules.r¢…�r£}r¤(jYXI. These tools allow you to see the activity of RTSC and SYS/BIOS modules.jZjŠubeubaubj/)�r¥}r¦(jYX×Set some breakpoints in the log.c source file. (You can do this by right-clicking on a line and choosing **New Breakpoint > Breakpoint**.) For example, set a breakpoint on the last line of each function in log.c.r§jZj_jbj jdj2jf}r¨(jh]ji]jj]jk]jn]ujpNjqhjr]r©j¡)�rª}r«(jYj§jZj¥jbj jdj¥jf}r¬(jh]ji]jj]jk]jn]ujpMÇjr]r­(j{XiSet some breakpoints in the log.c source file. (You can do this by right-clicking on a line and choosing r®…�r¯}r°(jYXiSet some breakpoints in the log.c source file. (You can do this by right-clicking on a line and choosing jZjªubjü)�r±}r²(jYX"**New Breakpoint > Breakpoint**jf}r³(jh]ji]jj]jk]jn]ujZjªjr]r´j{XNew Breakpoint > Breakpointrµ…�r¶}r·(jYUjZj±ubajdjubj{XL.) For example, set a breakpoint on the last line of each function in log.c.r¸…�r¹}rº(jYXL.) For example, set a breakpoint on the last line of each function in log.c.jZjªubeubaubj/)�r»}r¼(jYXRun the application.r½jZj_jbj jdj2jf}r¾(jh]ji]jj]jk]jn]ujpNjqhjr]r¿j¡)�rÀ}rÁ(jYj½jZj»jbj jdj¥jf}rÂ(jh]ji]jj]jk]jn]ujpMÈjr]rÃj{XRun the application.rÄ…�rÅ}rÆ(jYj½jZjÀubaubaubj/)�rÇ}rÈ(jYXØIn the Raw Logs window, you can see the informational, warning, and error messages sent by the calls to Log module APIs in log.c. The messages that begin with **LM** are diagnostics provided by XDCtools. Messages that begin with “WARNINGâ€� come from calls to Log_warning2. Messages that begin with “ERRORâ€� come from calls to Log_error2. Messages that begin with “../log.câ€� come from calls to Log_info0 and Log_info2 (depending on the number of arguments). jZj_jbj jdj2jf}rÉ(jh]ji]jj]jk]jn]ujpNjqhjr]rÊj¡)�rË}rÌ(jYX×In the Raw Logs window, you can see the informational, warning, and error messages sent by the calls to Log module APIs in log.c. The messages that begin with **LM** are diagnostics provided by XDCtools. Messages that begin with “WARNINGâ€� come from calls to Log_warning2. Messages that begin with “ERRORâ€� come from calls to Log_error2. Messages that begin with “../log.câ€� come from calls to Log_info0 and Log_info2 (depending on the number of arguments).jZjÇjbj jdj¥jf}rÍ(jh]ji]jj]jk]jn]ujpMÉjr]rÎ(j{XŸIn the Raw Logs window, you can see the informational, warning, and error messages sent by the calls to Log module APIs in log.c. The messages that begin with rÏ…�rÐ}rÑ(jYXŸIn the Raw Logs window, you can see the informational, warning, and error messages sent by the calls to Log module APIs in log.c. The messages that begin with jZjËubjü)�rÒ}rÓ(jYX**LM**jf}rÔ(jh]ji]jj]jk]jn]ujZjËjr]rÕj{XLMrÖ…�r×}rØ(jYUjZjÒubajdjubj{X2 are diagnostics provided by XDCtools. Messages that begin with “WARNINGâ€� come from calls to Log_warning2. Messages that begin with “ERRORâ€� come from calls to Log_error2. Messages that begin with “../log.câ€� come from calls to Log_info0 and Log_info2 (depending on the number of arguments).rÙ…�rÚ}rÛ(jYX2 are diagnostics provided by XDCtools. Messages that begin with “WARNINGâ€� come from calls to Log_warning2. Messages that begin with “ERRORâ€� come from calls to Log_error2. Messages that begin with “../log.câ€� come from calls to Log_info0 and Log_info2 (depending on the number of arguments).jZjËubeubaubeubjB)�rÜ}rÝ(jYX:.. Image:: ../images/SYSBIOS_Diag.jpg :scale: 50 %jZjAjbj jdjEjf}rÞ(UscaleK2UuriXrtos/../images/SYSBIOS_Diag.jpgrßjk]jj]jh]ji]jH}ràU*jßsjn]ujpNjqhjr]ubjB)�rá}râ(jYX<.. Image:: ../images/SYSBIOS_Rawlog.jpg :scale: 50 %jZjAjbj jdjEjf}rã(UscaleK2UuriX!rtos/../images/SYSBIOS_Rawlog.jpgräjk]jj]jh]ji]jH}råU*jäsjn]ujpNjqhjr]ubjB)�ræ}rç(jYX".. Image:: ../images/Rta_exec2.pngrèjZjAjbj jdjEjf}ré(UuriXrtos/../images/Rta_exec2.pngrêjk]jj]jh]ji]jH}rëU*jêsjn]ujpMÏjqhjr]ubjB)�rì}rí(jYX>.. Image:: ../images/SYSBIOS_CPUload.jpg :scale: 50 % jZjAjbj jdjEjf}rî(UscaleK2UuriX"rtos/../images/SYSBIOS_CPUload.jpgrïjk]jj]jh]ji]jH}rðU*jïsjn]ujpNjqhjr]ubj¡)�rñ}rò(jYXÒFor advanced debugging options we recommend following the instructions on the `BIOS_6_Real-Time_Analysis_(RTA)_in_CCSv4 `__ wikirójZjAjbj jdj¥jf}rô(jh]ji]jj]jk]jn]ujpMÓjqhjr]rõ(j{XNFor advanced debugging options we recommend following the instructions on the rö…�r÷}rø(jYXNFor advanced debugging options we recommend following the instructions on the jZjñubjÜ)�rù}rú(jYX`BIOS_6_Real-Time_Analysis_(RTA)_in_CCSv4 `__jf}rû(UnameX(BIOS_6_Real-Time_Analysis_(RTA)_in_CCSv4jXPhttp://processors.wiki.ti.com/index.php/BIOS_6_Real-Time_Analysis_(RTA)_in_CCSv4jk]jj]jh]ji]jn]ujZjñjr]rüj{X(BIOS_6_Real-Time_Analysis_(RTA)_in_CCSv4rý…�rþ}rÿ(jYUjZjùubajdjàubj{X wikir…�r}r(jYX wikijZjñubeubeubj[)�r}r(jYUjZj¯jbj jdjejf}r(jh]ji]jj]jk]rUrtos-object-view-rovrajn]rj4aujpM×jqhjr]r (jt)�r }r (jYXRTOS Object View(ROV)r jZjjbj jdjxjf}r (jh]ji]jj]jk]jn]ujpM×jqhjr]rj{XRTOS Object View(ROV)r…�r}r(jYj jZj ubaubj%)�r}r(jYUjZjjbj jdj(jf}r(j*U.jk]jj]jh]j+Uji]jn]j,j-ujpMÙjqhjr]r(j/)�r}r(jYX\Load your application for debugging. Select the device you want to debug before opening ROV.rjZjjbj jdj2jf}r(jh]ji]jj]jk]jn]ujpNjqhjr]rj¡)�r}r(jYjjZjjbj jdj¥jf}r(jh]ji]jj]jk]jn]ujpMÙjr]rj{X\Load your application for debugging. Select the device you want to debug before opening ROV.r…�r }r!(jYjjZjubaubaubj/)�r"}r#(jYXòIn the ROV window, expand the tree to see the ti.sysbios.knl.Task module. The right pane shows a list of the Task threads in the application. As you advance from breakpoint to breakpoint, you see the run mode of the threads change. jZjjbj jdj2jf}r$(jh]ji]jj]jk]jn]ujpNjqhjr]r%j¡)�r&}r'(jYXñIn the ROV window, expand the tree to see the ti.sysbios.knl.Task module. The right pane shows a list of the Task threads in the application. As you advance from breakpoint to breakpoint, you see the run mode of the threads change.r(jZj"jbj jdj¥jf}r)(jh]ji]jj]jk]jn]ujpMÚjr]r*j{XñIn the ROV window, expand the tree to see the ti.sysbios.knl.Task module. The right pane shows a list of the Task threads in the application. As you advance from breakpoint to breakpoint, you see the run mode of the threads change.r+…�r,}r-(jYj(jZj&ubaubaubeubjB)�r.}r/(jYX$.. Image:: ../images/1.7.6_Image.pngr0jZjjbj jdjEjf}r1(UuriXrtos/../images/1.7.6_Image.pngr2jk]jj]jh]ji]jH}r3U*j2sjn]ujpMÜjqhjr]ubcdocutils.nodes field_list r4)�r5}r6(jYUjZjjbj jdU field_listr7jf}r8(jh]ji]jj]jk]jn]ujpMÝjqhjr]r9cdocutils.nodes field r:)�r;}r<(jYUjZj5jbj jdUfieldr=jf}r>(jh]ji]jj]jk]jn]ujpMÝjqhjr]r?(cdocutils.nodes field_name r@)�rA}rB(jYXscalerCjf}rD(jh]ji]jj]jk]jn]ujZj;jr]rEj{XscalerF…�rG}rH(jYjCjZjAubajdU field_namerIubcdocutils.nodes field_body rJ)�rK}rL(jYX50 % jf}rM(jh]ji]jj]jk]jn]ujZj;jr]rNj¡)�rO}rP(jYX50 %rQjZjKjbj jdj¥jf}rR(jh]ji]jj]jk]jn]ujpMÝjr]rSj{X50 %rT…�rU}rV(jYjQjZjOubaubajdU field_bodyrWubeubaubj¡)�rX}rY(jYXœFor more details on ROV tools, refer to the `Runtime Object Viewer(ROV) `__ article on RTSC website.rZjZjjbj jdj¥jf}r[(jh]ji]jj]jk]jn]ujpMßjqhjr]r\(j{X,For more details on ROV tools, refer to the r]…�r^}r_(jYX,For more details on ROV tools, refer to the jZjXubjÜ)�r`}ra(jYXW`Runtime Object Viewer(ROV) `__jf}rb(UnameXRuntime Object Viewer(ROV)jX6http://rtsc.eclipse.org/docs-tip/Runtime_Object_Viewerjk]jj]jh]ji]jn]ujZjXjr]rcj{XRuntime Object Viewer(ROV)rd…�re}rf(jYUjZj`ubajdjàubj{X article on RTSC website.rg…�rh}ri(jYX article on RTSC website.jZjXubeubeubeubj[)�rj}rk(jYUjZjjbj jdjejf}rl(jh]ji]jj]jk]rmUmemory-and-heaprnajn]roj#aujpMâjqhjr]rp(jt)�rq}rr(jYXMemory and HeaprsjZjjjbj jdjxjf}rt(jh]ji]jj]jk]jn]ujpMâjqhjr]ruj{XMemory and Heaprv…�rw}rx(jYjsjZjqubaubj[)�ry}rz(jYUjZjjjbj jdjejf}r{(jh]ji]jj]jk]r|Udwhat-kind-of-heap-should-i-use-in-sysbios-application-and-how-do-i-allocate-heap-in-my-configurationr}ajn]r~h¤aujpMåjqhjr]r(jt)�r€}r�(jYXdWhat kind of heap should I use in SYSBIOS application and how do I allocate Heap in my configurationr‚jZjyjbj jdjxjf}rƒ(jh]ji]jj]jk]jn]ujpMåjqhjr]r„j{XdWhat kind of heap should I use in SYSBIOS application and how do I allocate Heap in my configurationr……�r†}r‡(jYj‚jZj€ubaubj¡)�rˆ}r‰(jYX<SYSBIOS Supports five different type of Heap implementation:rŠjZjyjbj jdj¥jf}r‹(jh]ji]jj]jk]jn]ujpMæjqhjr]rŒj{X<SYSBIOS Supports five different type of Heap implementation:r�…�rŽ}r�(jYjŠjZjˆubaubjC)�r�}r‘(jYUjZjyjbj jdj`jf}r’(jGX*jk]jj]jh]ji]jn]ujpMèjqhjr]r“(j/)�r”}r•(jYX€HeapMin. Very small code footprint implementation. Supports non blocking memory allocation, but does not support freeing memory.r–jZj�jbj jdj2jf}r—(jh]ji]jj]jk]jn]ujpNjqhjr]r˜j¡)�r™}rš(jYj–jZj”jbj jdj¥jf}r›(jh]ji]jj]jk]jn]ujpMèjr]rœj{X€HeapMin. Very small code footprint implementation. Supports non blocking memory allocation, but does not support freeing memory.r�…�rž}rŸ(jYj–jZj™ubaubaubj/)�r }r¡(jYX�HeapMem. Allocate variable-size blocks and uses Gate module to protect allocation and freeing of memory. typically Slower and non-deterministicr¢jZj�jbj jdj2jf}r£(jh]ji]jj]jk]jn]ujpNjqhjr]r¤j¡)�r¥}r¦(jYj¢jZj jbj jdj¥jf}r§(jh]ji]jj]jk]jn]ujpMéjr]r¨j{X�HeapMem. Allocate variable-size blocks and uses Gate module to protect allocation and freeing of memory. typically Slower and non-deterministicr©…�rª}r«(jYj¢jZj¥ubaubaubj/)�r¬}r­(jYXfHeapBuf. Allocate fixed-size blocks. Fast deterministic and non-blocking as allocation uses same size.r®jZj�jbj jdj2jf}r¯(jh]ji]jj]jk]jn]ujpNjqhjr]r°j¡)�r±}r²(jYj®jZj¬jbj jdj¥jf}r³(jh]ji]jj]jk]jn]ujpMêjr]r´j{XfHeapBuf. Allocate fixed-size blocks. Fast deterministic and non-blocking as allocation uses same size.rµ…�r¶}r·(jYj®jZj±ubaubaubj/)�r¸}r¹(jYX’HeapMultiBuf. Specify variable-size allocation, but internally allocate from a variety of fixed-size blocks. Good tradeoff for HeapMem and HeapBufrºjZj�jbj jdj2jf}r»(jh]ji]jj]jk]jn]ujpNjqhjr]r¼j¡)�r½}r¾(jYjºjZj¸jbj jdj¥jf}r¿(jh]ji]jj]jk]jn]ujpMëjr]rÀj{X’HeapMultiBuf. Specify variable-size allocation, but internally allocate from a variety of fixed-size blocks. Good tradeoff for HeapMem and HeapBufrÁ…�rÂ}rÃ(jYjºjZj½ubaubaubj/)�rÄ}rÅ(jYX‹HeapTrack. Used to detect memory allocation and deallocation problems. Good for debugging as it detects memory leaks and buffer overflows. jZj�jbj jdj2jf}rÆ(jh]ji]jj]jk]jn]ujpNjqhjr]rÇj¡)�rÈ}rÉ(jYXŠHeapTrack. Used to detect memory allocation and deallocation problems. Good for debugging as it detects memory leaks and buffer overflows.rÊjZjÄjbj jdj¥jf}rË(jh]ji]jj]jk]jn]ujpMìjr]rÌj{XŠHeapTrack. Used to detect memory allocation and deallocation problems. Good for debugging as it detects memory leaks and buffer overflows.rÍ…�rÎ}rÏ(jYjÊjZjÈubaubaubeubj¡)�rÐ}rÑ(jYXRTypical allocation of static heap within the SYSBIOS *.cfg file is shown below: ::jZjyjbj jdj¥jf}rÒ(jh]ji]jj]jk]jn]ujpMîjqhjr]rÓ(j{X5Typical allocation of static heap within the SYSBIOS rÔ…�rÕ}rÖ(jYX5Typical allocation of static heap within the SYSBIOS jZjÐubjë)�r×}rØ(jYX*jf}rÙ(jk]rÚUid28rÛajj]jh]ji]jn]UrefidUid27rÜujZjÐjr]rÝj{X*…�rÞ}rß(jYUjZj×ubajdjõubj{X.cfg file is shown below:rà…�rá}râ(jYX.cfg file is shown below:jZjÐubeubj)�rã}rä(jYX€var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem'); /* Create a Heap. */ var heapMemParams = new HeapMem.Params(); heapMemParams.size = 0x8000000; // <-- edit this value to tune the size of the heap heapMemParams.sectionName = "systemHeapMaster"; Program.global.heap0 = HeapMem.create(heapMemParams); Memory.defaultHeapInstance = Program.global.heap0;jZjyjbj jdjjf}rå(jöj÷jk]jj]jh]ji]jn]ujpM�jqhjr]ræj{X€var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem'); /* Create a Heap. */ var heapMemParams = new HeapMem.Params(); heapMemParams.size = 0x8000000; // <-- edit this value to tune the size of the heap heapMemParams.sectionName = "systemHeapMaster"; Program.global.heap0 = HeapMem.create(heapMemParams); Memory.defaultHeapInstance = Program.global.heap0;rç…�rè}ré(jYUjZjãubaubjZ)�rê}rë(jYUjZjyjbj jdj]jf}rì(jh]ji]jj]jk]jn]ujpM÷jqhjr]ríj`)�rî}rï(jYUjcKjZjêjbj jdjpjf}rð(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubeubj[)�rñ}rò(jYUjZjjbj jdjejf}ró(jh]ji]jj]jk]rôU benchmarksrõajn]röhôaujpMújqhjr]r÷(jt)�rø}rù(jYX BenchmarksrújZjñjbj jdjxjf}rû(jh]ji]jj]jk]jn]ujpMújqhjr]rüj{X Benchmarksrý…�rþ}rÿ(jYjújZjøubaubj[)�r}r(jYUjZjñjbj jdjejf}r(jh]ji]jj]jk]rUtwhere-can-i-find-memory-foot-print-interrupt-latency-and-performance-numbers-of-the-ti-rtos-when-designing-my-systemrajn]rhaujpMýjqhjr]r(jt)�r}r(jYXuWhere can I find Memory foot print, Interrupt latency and performance numbers of the TI RTOS when designing my systemr jZjjbj jdjxjf}r (jh]ji]jj]jk]jn]ujpMýjqhjr]r j{XuWhere can I find Memory foot print, Interrupt latency and performance numbers of the TI RTOS when designing my systemr …�r }r(jYj jZjubaubj )�r}r(jYUjZjjbj jdj3 jf}r(jh]ji]jj]jk]jn]ujpNjqhjr]rj )�r}r(jYXÃThe Memory footprint and Interrupt latency for different processor architectures is provided in the SYSBIOS package. It can be located at bios_6_xx_xx_xx/packages/ti/sysbios/benchmarks/doc-files jZjjbj jdj jf}r(jh]ji]jj]jk]jn]ujpMjr]r(j )�r}r(jYX‰The Memory footprint and Interrupt latency for different processor architectures is provided in the SYSBIOS package. It can be located atrjZjjbj jdj jf}r(jh]ji]jj]jk]jn]ujpMjr]rj{X‰The Memory footprint and Interrupt latency for different processor architectures is provided in the SYSBIOS package. It can be located atr…�r}r(jYjjZjubaubj )�r}r (jYUjf}r!(jh]ji]jj]jk]jn]ujZjjr]r"j¡)�r#}r$(jYX8bios_6_xx_xx_xx/packages/ti/sysbios/benchmarks/doc-filesr%jZjjbj jdj¥jf}r&(jh]ji]jj]jk]jn]ujpMjr]r'j{X8bios_6_xx_xx_xx/packages/ti/sysbios/benchmarks/doc-filesr(…�r)}r*(jYj%jZj#ubaubajdj2 ubeubaubj¡)�r+}r,(jYX7The Foot print of the OS depends on number of BIOS kernel modules used by the application but an estimate of the foot print can be computed by adding up the module footprint numbers to the base kernel footprint. The interrupt latency is mostly deterministic in the system but OS response may depend on priority of the interrupt setup. If the 2 or more interrupts occur simultaneously, the premptive BIOS scheduler will let the higher HWI to run before letting the one with lower priority so it may seem as the the lower priority interrupt response is slightly slower.r-jZjjbj jdj¥jf}r.(jh]ji]jj]jk]jn]ujpMjqhjr]r/j{X7The Foot print of the OS depends on number of BIOS kernel modules used by the application but an estimate of the foot print can be computed by adding up the module footprint numbers to the base kernel footprint. The interrupt latency is mostly deterministic in the system but OS response may depend on priority of the interrupt setup. If the 2 or more interrupts occur simultaneously, the premptive BIOS scheduler will let the higher HWI to run before letting the one with lower priority so it may seem as the the lower priority interrupt response is slightly slower.r0…�r1}r2(jYj-jZj+ubaubeubeubj[)�r3}r4(jYUjZjjbj jdjejf}r5(jh]ji]jj]jk]r6U debuggingr7ajn]r8hüaujpMjqhjr]r9(jt)�r:}r;(jYX Debuggingr<jZj3jbj jdjxjf}r=(jh]ji]jj]jk]jn]ujpMjqhjr]r>j{X Debuggingr?…�r@}rA(jYj<jZj:ubaubj[)�rB}rC(jYUjZj3jbj jdjejf}rD(jh]ji]jj]jk]rEUUhow-to-debug-common-application-issues-like-stack-overflow-exception-and-memory-leaksrFajn]rGhaujpMjqhjr]rH(jt)�rI}rJ(jYXVHow to debug common application issues like stack overflow, exception and memory leaksrKjZjBjbj jdjxjf}rL(jh]ji]jj]jk]jn]ujpMjqhjr]rMj{XVHow to debug common application issues like stack overflow, exception and memory leaksrN…�rO}rP(jYjKjZjIubaubj¡)�rQ}rR(jYXCommon Application debug scenarios like exception management, memory leak and stack issues have been described in the following training video: `Debugging Common Application Issues TI RTOS `__jZjBjbj jdj¥jf}rS(jh]ji]jj]jk]jn]ujpM jqhjr]rT(j{X�Common Application debug scenarios like exception management, memory leak and stack issues have been described in the following training video: rU…�rV}rW(jYX�Common Application debug scenarios like exception management, memory leak and stack issues have been described in the following training video: jZjQubjÜ)�rX}rY(jYXu`Debugging Common Application Issues TI RTOS `__jf}rZ(UnameX+Debugging Common Application Issues TI RTOSjXChttps://training.ti.com/debugging-common-application-issues-ti-rtosjk]jj]jh]ji]jn]ujZjQjr]r[j{X+Debugging Common Application Issues TI RTOSr\…�r]}r^(jYUjZjXubajdjàubeubj¡)�r_}r`(jYXÉThe training covers stack over flow, exception handling and memory management issues in detail with a Lab for TI MCU devices but the same concepts and features also apply for TI ARM and DSP processors.rajZjBjbj jdj¥jf}rb(jh]ji]jj]jk]jn]ujpM jqhjr]rcj{XÉThe training covers stack over flow, exception handling and memory management issues in detail with a Lab for TI MCU devices but the same concepts and features also apply for TI ARM and DSP processors.rd…�re}rf(jYjajZj_ubaubeubj[)�rg}rh(jYUjZj3jbj jdjejf}ri(jh]ji]jj]jk]rjU@how-to-add-custom-compiler-options-and-build-custom-bios-libraryrkajn]rlhpaujpMjqhjr]rm(jt)�rn}ro(jYXAHow to add Custom compiler options and build custom BIOS libraryrpjZjgjbj jdjxjf}rq(jh]ji]jj]jk]jn]ujpMjqhjr]rrj{XAHow to add Custom compiler options and build custom BIOS libraryrs…�rt}ru(jYjpjZjnubaubj¡)�rv}rw(jYX}Users are allowed to change the libType and specify the compiler options from their BIOS configuration using the following ::jZjgjbj jdj¥jf}rx(jh]ji]jj]jk]jn]ujpMjqhjr]ryj{XzUsers are allowed to change the libType and specify the compiler options from their BIOS configuration using the followingrz…�r{}r|(jYXzUsers are allowed to change the libType and specify the compiler options from their BIOS configuration using the followingjZjvubaubj)�r}}r~(jYX‰BIOS.libType = BIOS.LibType_Custom; // For Cortex A8 device like AM335x BIOS.customCCOpts = "--endian=little -mv7A8 --abi=eabi --neon --float_support=vfpv3 -q -ms --program_level_compile -o3 --opt_for_speed=3" // For Cortex A9 device like AM437x BIOS.customCCOpts ="-mcpu=cortex-a9 -mfpu=neon -mfloat-abi=hard -mabi=aapcs -O3 -Wunused -Wunknown-pragmas -ffunction-sections -fdata-sections -g "jZjgjbj jdjjf}r(jöj÷jk]jj]jh]ji]jn]ujpMÁjqhjr]r€j{X‰BIOS.libType = BIOS.LibType_Custom; // For Cortex A8 device like AM335x BIOS.customCCOpts = "--endian=little -mv7A8 --abi=eabi --neon --float_support=vfpv3 -q -ms --program_level_compile -o3 --opt_for_speed=3" // For Cortex A9 device like AM437x BIOS.customCCOpts ="-mcpu=cortex-a9 -mfpu=neon -mfloat-abi=hard -mabi=aapcs -O3 -Wunused -Wunknown-pragmas -ffunction-sections -fdata-sections -g "r�…�r‚}rƒ(jYUjZj}ubaubjZ)�r„}r…(jYUjZjgjbj jdj]jf}r†(jh]ji]jj]jk]jn]ujpMjqhjr]r‡j`)�rˆ}r‰(jYUjcKjZj„jbj jdjpjf}rŠ(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r‹}rŒ(jYX3To remove a given compiler setting, you can use: ::jZjgjbj jdj¥jf}r�(jh]ji]jj]jk]jn]ujpMjqhjr]rŽj{X0To remove a given compiler setting, you can use:r�…�r�}r‘(jYX0To remove a given compiler setting, you can use:jZj‹ubaubj)�r’}r“(jYX9BIOS.customCCOpts = BIOS.customCCOpts.replace(" -g ","");jZjgjbj jdjjf}r”(jöj÷jk]jj]jh]ji]jn]ujpMÉjqhjr]r•j{X9BIOS.customCCOpts = BIOS.customCCOpts.replace(" -g ","");r–…�r—}r˜(jYUjZj’ubaubjZ)�r™}rš(jYUjZjgjbj jdj]jf}r›(jh]ji]jj]jk]jn]ujpMjqhjr]rœj`)�r�}rž(jYUjcKjZj™jbj jdjpjf}rŸ(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubeubeubeubj[)�r }r¡(jYUjZjÿjbjcjdjejf}r¢(jh]ji]jj]jk]r£Uflashing-and-bootr¤ajn]r¥h=aujpK[SDK Install Path]/processor_sdk_rtos__/binjZjÈjbjÁjdjjf}râ(jöj÷jk]jj]jh]ji]jn]ujpMßjqhjr]rãj{X>[SDK Install Path]/processor_sdk_rtos__/binrä…�rå}ræ(jYUjZjàubaubj¡)�rç}rè(jYXmnamed **program_evm.js**. The purpose of this script is to automatically flash bootable images onto your EVM.jZjÈjbjÁjdj¥jf}ré(jh]ji]jj]jk]jn]ujpK jqhjr]rê(j{Xnamed rë…�rì}rí(jYXnamed jZjçubjü)�rî}rï(jYX**program_evm.js**jf}rð(jh]ji]jj]jk]jn]ujZjçjr]rñj{Xprogram_evm.jsrò…�ró}rô(jYUjZjîubajdjubj{XU. The purpose of this script is to automatically flash bootable images onto your EVM.rõ…�rö}r÷(jYXU. The purpose of this script is to automatically flash bootable images onto your EVM.jZjçubeubj¡)�rø}rù(jYXyThe following sections will describe how to use this script and the default flashable binaries in the Processor SDK RTOS.rújZjÈjbjÁjdj¥jf}rû(jh]ji]jj]jk]jn]ujpKjqhjr]rüj{XyThe following sections will describe how to use this script and the default flashable binaries in the Processor SDK RTOS.rý…�rþ}rÿ(jYjújZjøubaubeubj[)�r}r(jYUjZj¯jbjÁjdjejf}r(jh]ji]jj]jk]rU requirementsrajn]rh`aujpKjqhjr]r(jt)�r}r(jYX Requirementsr jZjjbjÁjdjxjf}r (jh]ji]jj]jk]jn]ujpKjqhjr]r j{X Requirementsr …�r }r(jYj jZjubaubjC)�r}r(jYUjZjjbjÁjdj`jf}r(jGX-jk]jj]jh]ji]jn]ujpKjqhjr]r(j/)�r}r(jYXA Windows or Linux PCrjZjjbjÁjdj2jf}r(jh]ji]jj]jk]jn]ujpNjqhjr]rj¡)�r}r(jYjjZjjbjÁjdj¥jf}r(jh]ji]jj]jk]jn]ujpKjr]rj{XA Windows or Linux PCr…�r}r(jYjjZjubaubaubj/)�r}r (jYXbProcessor SDK RTOS installed on your PC. The version to install must match the SOC you plan to usejZjjbjÁjdj2jf}r!(jh]ji]jj]jk]jn]ujpNjqhjr]r"j¡)�r#}r$(jYXbProcessor SDK RTOS installed on your PC. The version to install must match the SOC you plan to user%jZjjbjÁjdj¥jf}r&(jh]ji]jj]jk]jn]ujpKjr]r'j{XbProcessor SDK RTOS installed on your PC. The version to install must match the SOC you plan to user(…�r)}r*(jYj%jZj#ubaubaubj/)�r+}r,(jYX)Code Composer Studio installed on your PCr-jZjjbjÁjdj2jf}r.(jh]ji]jj]jk]jn]ujpNjqhjr]r/j¡)�r0}r1(jYj-jZj+jbjÁjdj¥jf}r2(jh]ji]jj]jk]jn]ujpKjr]r3j{X)Code Composer Studio installed on your PCr4…�r5}r6(jYj-jZj0ubaubaubj/)�r7}r8(jYX'An USB connection to your EVM emulator jZjjbjÁjdj2jf}r9(jh]ji]jj]jk]jn]ujpNjqhjr]r:j¡)�r;}r<(jYX&An USB connection to your EVM emulatorr=jZj7jbjÁjdj¥jf}r>(jh]ji]jj]jk]jn]ujpKjr]r?j{X&An USB connection to your EVM emulatorr@…�rA}rB(jYj=jZj;ubaubaubeubj)�rC}rD(jYXYour board should be set to NO-BOOT mode. Please refer to the boot mode dip switch settings for different boot modes on your EVM Hardware User Guide. See `this page `__ for a link to all supported EVM information.jZjjbjÁjdjjf}rE(jh]ji]jj]jk]jn]ujpNjqhjr]rFj¡)�rG}rH(jYXYour board should be set to NO-BOOT mode. Please refer to the boot mode dip switch settings for different boot modes on your EVM Hardware User Guide. See `this page `__ for a link to all supported EVM information.jZjCjbjÁjdj¥jf}rI(jh]ji]jj]jk]jn]ujpKjr]rJ(j{XšYour board should be set to NO-BOOT mode. Please refer to the boot mode dip switch settings for different boot modes on your EVM Hardware User Guide. See rK…�rL}rM(jYXšYour board should be set to NO-BOOT mode. Please refer to the boot mode dip switch settings for different boot modes on your EVM Hardware User Guide. See jZjGubjÜ)�rN}rO(jYXL`this page `__jf}rP(UnameX this pagejX<index_release_specific.html#supported-platforms-and-versionsjk]jj]jh]ji]jn]ujZjGjr]rQj{X this pagerR…�rS}rT(jYUjZjNubajdjàubj{X- for a link to all supported EVM information.rU…�rV}rW(jYX- for a link to all supported EVM information.jZjGubeubaubeubj[)�rX}rY(jYUjZj¯jbjÁjdjejf}rZ(jh]ji]jj]jk]r[Udirectory-structurer\ajn]r]hkaujpK#jqhjr]r^(jt)�r_}r`(jYXDirectory StructurerajZjXjbjÁjdjxjf}rb(jh]ji]jj]jk]jn]ujpK#jqhjr]rcj{XDirectory Structurerd…�re}rf(jYjajZj_ubaubj¡)�rg}rh(jYXÄThe files used are in the Processor SDK RTOS directory. Expanded below are the relevant files and directories for flashing the bootable images for C667x, but a similar structure is used for C665x.rijZjXjbjÁjdj¥jf}rj(jh]ji]jj]jk]jn]ujpK%jqhjr]rkj{XÄThe files used are in the Processor SDK RTOS directory. Expanded below are the relevant files and directories for flashing the bootable images for C667x, but a similar structure is used for C665x.rl…�rm}rn(jYjijZjgubaubj)�ro}rp(jYX¯├── bin │ ├── configs │ │ └── evm6678l │ │ ├── evm6678l.ccxml │ │ ├── evm6678le.ccxml │ │ ├── evm6678le-linuxhost.ccxml │ │ └── evm6678l-linuxhost.ccxml │ ├── logs │ └── program_evm.js └── prebuilt-images ├── eeprom50.bin ├── eeprom51.bin ├── eepromwriter_evm6678l.out ├── eepromwriter_input50.txt ├── eepromwriter_input51.txt ├── eepromwriter_input.txt ├── nandwriter_evm6678l.out ├── nand_writer_input.txt ├── norwriter_evm6678l.out └── nor_writer_input.txtjZjXjbjÁjdjjf}rq(jöj÷jk]jj]jh]ji]jn]ujpMÿjqhjr]rrj{X¯├── bin │ ├── configs │ │ └── evm6678l │ │ ├── evm6678l.ccxml │ │ ├── evm6678le.ccxml │ │ ├── evm6678le-linuxhost.ccxml │ │ └── evm6678l-linuxhost.ccxml │ ├── logs │ └── program_evm.js └── prebuilt-images ├── eeprom50.bin ├── eeprom51.bin ├── eepromwriter_evm6678l.out ├── eepromwriter_input50.txt ├── eepromwriter_input51.txt ├── eepromwriter_input.txt ├── nandwriter_evm6678l.out ├── nand_writer_input.txt ├── norwriter_evm6678l.out └── nor_writer_input.txtrs…�rt}ru(jYUjZjoubaubj¡)�rv}rw(jYXUBelow is the expanded tree for K2H. Similarly, this also applies to K2E and K2L EVMs.rxjZjXjbjÁjdj¥jf}ry(jh]ji]jj]jk]jn]ujpK@jqhjr]rzj{XUBelow is the expanded tree for K2H. Similarly, this also applies to K2E and K2L EVMs.r{…�r|}r}(jYjxjZjvubaubj)�r~}r(jYXq├── bin │ ├── configs │ │ └── evmk2h │ │ ├── evmk2h.ccxml │ │ ├── evmk2h-linuxhost.ccxml │ │ └── program_evm_config │ ├── logs │ └── program_evm.js └── prebuilt-images ├── app ├── config ├── MLO └── spi_flash_writer.outjZjXjbjÁjdjjf}r€(jöj÷jk]jj]jh]ji]jn]ujpM jqhjr]r�j{Xq├── bin │ ├── configs │ │ └── evmk2h │ │ ├── evmk2h.ccxml │ │ ├── evmk2h-linuxhost.ccxml │ │ └── program_evm_config │ ├── logs │ └── program_evm.js └── prebuilt-images ├── app ├── config ├── MLO └── spi_flash_writer.outr‚…�rƒ}r„(jYUjZj~ubaubeubj[)�r…}r†(jYUjZj¯jbjÁjdjejf}r‡(jh]ji]jj]jk]rˆUdefault-binaries-and-setupr‰ajn]rŠhOaujpKTjqhjr]r‹(jt)�rŒ}r�(jYXDefault Binaries and SetuprŽjZj…jbjÁjdjxjf}r�(jh]ji]jj]jk]jn]ujpKTjqhjr]r�j{XDefault Binaries and Setupr‘…�r’}r“(jYjŽjZjŒubaubj¡)�r”}r•(jYX»Processor SDK RTOS provides the basic CCXML files to connect to your SOC. There is a separate CCXML file for each SOC, emulator, and host OS combination. These CCXML files are located in:r–jZj…jbjÁjdj¥jf}r—(jh]ji]jj]jk]jn]ujpKVjqhjr]r˜j{X»Processor SDK RTOS provides the basic CCXML files to connect to your SOC. There is a separate CCXML file for each SOC, emulator, and host OS combination. These CCXML files are located in:r™…�rš}r›(jYj–jZj”ubaubj)�rœ}r�(jYXK[SDK Install Path]/processor_sdk_rtos__/bin/config/jZj…jbjÁjdjjf}rž(jöj÷jk]jj]jh]ji]jn]ujpM0 jqhjr]rŸj{XK[SDK Install Path]/processor_sdk_rtos__/bin/config/r …�r¡}r¢(jYUjZjœubaubj¡)�r£}r¤(jYX·Users can choose to use their own CCXML file by setting the environment variable, **PROGRAM_EVM_TARGET_CONFIG_FILE**, to point to their CCXML file in their terminal or command prompt.jZj…jbjÁjdj¥jf}r¥(jh]ji]jj]jk]jn]ujpK^jqhjr]r¦(j{XRUsers can choose to use their own CCXML file by setting the environment variable, r§…�r¨}r©(jYXRUsers can choose to use their own CCXML file by setting the environment variable, jZj£ubjü)�rª}r«(jYX"**PROGRAM_EVM_TARGET_CONFIG_FILE**jf}r¬(jh]ji]jj]jk]jn]ujZj£jr]r­j{XPROGRAM_EVM_TARGET_CONFIG_FILEr®…�r¯}r°(jYUjZjªubajdjubj{XC, to point to their CCXML file in their terminal or command prompt.r±…�r²}r³(jYXC, to point to their CCXML file in their terminal or command prompt.jZj£ubeubj¡)�r´}rµ(jYXsYou can create your own CCXML file by opening CCSv6 --> View --> Target Configurations, and right-clicking on the Target Configuration pane to select New Target Configuration. After selecting your SOC and emulator, remember to set the appropriate GEL file in the advance options for Core 0. The GEL file is used to do basic SOC initialization upon connecting to the core.r¶jZj…jbjÁjdj¥jf}r·(jh]ji]jj]jk]jn]ujpKbjqhjr]r¸j{XsYou can create your own CCXML file by opening CCSv6 --> View --> Target Configurations, and right-clicking on the Target Configuration pane to select New Target Configuration. After selecting your SOC and emulator, remember to set the appropriate GEL file in the advance options for Core 0. The GEL file is used to do basic SOC initialization upon connecting to the core.r¹…�rº}r»(jYj¶jZj´ubaubj¡)�r¼}r½(jYX˜Processor SDK RTOS also provides the basic binaries needed to perform flashing. These are separated into two categories - flashwriters and flash images.r¾jZj…jbjÁjdj¥jf}r¿(jh]ji]jj]jk]jn]ujpKijqhjr]rÀj{X˜Processor SDK RTOS also provides the basic binaries needed to perform flashing. These are separated into two categories - flashwriters and flash images.rÁ…�rÂ}rÃ(jYj¾jZj¼ubaubj¡)�rÄ}rÅ(jYX FlashwritersrÆjZj…jbjÁjdj¥jf}rÇ(jh]ji]jj]jk]jn]ujpKmjqhjr]rÈj{X FlashwritersrÉ…�rÊ}rË(jYjÆjZjÄubaubjC)�rÌ}rÍ(jYUjZj…jbjÁjdj`jf}rÎ(jGX-jk]jj]jh]ji]jn]ujpKojqhjr]rÏ(j/)�rÐ}rÑ(jYXN[C66x] eepromwriter_.out - writes content to your EVM EEPROM flash memoryjZjÌjbjÁjdj2jf}rÒ(jh]ji]jj]jk]jn]ujpNjqhjr]rÓj¡)�rÔ}rÕ(jYXN[C66x] eepromwriter_.out - writes content to your EVM EEPROM flash memoryrÖjZjÐjbjÁjdj¥jf}r×(jh]ji]jj]jk]jn]ujpKojr]rØj{XN[C66x] eepromwriter_.out - writes content to your EVM EEPROM flash memoryrÙ…�rÚ}rÛ(jYjÖjZjÔubaubaubj/)�rÜ}rÝ(jYXH[C66x] norwriter_.out - writes content to your EVM NOR flash memoryjZjÌjbjÁjdj2jf}rÞ(jh]ji]jj]jk]jn]ujpNjqhjr]rßj¡)�rà}rá(jYXH[C66x] norwriter_.out - writes content to your EVM NOR flash memoryrâjZjÜjbjÁjdj¥jf}rã(jh]ji]jj]jk]jn]ujpKqjr]räj{XH[C66x] norwriter_.out - writes content to your EVM NOR flash memoryrå…�ræ}rç(jYjâjZjàubaubaubj/)�rè}ré(jYXJ[C66x] nandwriter_.out - writes content to your EVM NAND flash memoryjZjÌjbjÁjdj2jf}rê(jh]ji]jj]jk]jn]ujpNjqhjr]rëj¡)�rì}rí(jYXJ[C66x] nandwriter_.out - writes content to your EVM NAND flash memoryrîjZjèjbjÁjdj¥jf}rï(jh]ji]jj]jk]jn]ujpKsjr]rðj{XJ[C66x] nandwriter_.out - writes content to your EVM NAND flash memoryrñ…�rò}ró(jYjîjZjìubaubaubj/)�rô}rõ(jYXQ[K2H/E/L] spi_flash_writer.out - writes multiple images to your NOR flash memory jZjÌjbjÁjdj2jf}rö(jh]ji]jj]jk]jn]ujpNjqhjr]r÷j¡)�rø}rù(jYXP[K2H/E/L] spi_flash_writer.out - writes multiple images to your NOR flash memoryrújZjôjbjÁjdj¥jf}rû(jh]ji]jj]jk]jn]ujpKujr]rüj{XP[K2H/E/L] spi_flash_writer.out - writes multiple images to your NOR flash memoryrý…�rþ}rÿ(jYjújZjøubaubaubeubj¡)�r}r(jYX Flash imagesrjZj…jbjÁjdj¥jf}r(jh]ji]jj]jk]jn]ujpKxjqhjr]rj{X Flash imagesr…�r}r(jYjjZjubaubjC)�r}r (jYUjZj…jbjÁjdj`jf}r (jGX-jk]jj]jh]ji]jn]ujpKzjqhjr]r (j/)�r }r (jYXc[C66x] eeprom50.bin - eeprom binary for address 0x50. The default for C66x is the POST application.jZjjbjÁjdj2jf}r(jh]ji]jj]jk]jn]ujpNjqhjr]rj¡)�r}r(jYXc[C66x] eeprom50.bin - eeprom binary for address 0x50. The default for C66x is the POST application.rjZj jbjÁjdj¥jf}r(jh]ji]jj]jk]jn]ujpKzjr]rj{Xc[C66x] eeprom50.bin - eeprom binary for address 0x50. The default for C66x is the POST application.r…�r}r(jYjjZjubaubaubj/)�r}r(jYXq[C66x] eeprom51.bin - eeprom binary for address 0x51. The default for C66x is the Intermediate Boot Loader (IBL).jZjjbjÁjdj2jf}r(jh]ji]jj]jk]jn]ujpNjqhjr]rj¡)�r}r(jYXq[C66x] eeprom51.bin - eeprom binary for address 0x51. The default for C66x is the Intermediate Boot Loader (IBL).rjZjjbjÁjdj¥jf}r(jh]ji]jj]jk]jn]ujpK|jr]r j{Xq[C66x] eeprom51.bin - eeprom binary for address 0x51. The default for C66x is the Intermediate Boot Loader (IBL).r!…�r"}r#(jYjjZjubaubaubj/)�r$}r%(jYXj[C66x] nor.bin - nor binary to be used for NOR boot. May not be provided for every EVM or release version.jZjjbjÁjdj2jf}r&(jh]ji]jj]jk]jn]ujpNjqhjr]r'j¡)�r(}r)(jYXj[C66x] nor.bin - nor binary to be used for NOR boot. May not be provided for every EVM or release version.r*jZj$jbjÁjdj¥jf}r+(jh]ji]jj]jk]jn]ujpK~jr]r,j{Xj[C66x] nor.bin - nor binary to be used for NOR boot. May not be provided for every EVM or release version.r-…�r.}r/(jYj*jZj(ubaubaubj/)�r0}r1(jYXm[C66x] nand.bin - nand binary to be used for NAND boot. May not be provided for every EVM or release version.jZjjbjÁjdj2jf}r2(jh]ji]jj]jk]jn]ujpNjqhjr]r3j¡)�r4}r5(jYXm[C66x] nand.bin - nand binary to be used for NAND boot. May not be provided for every EVM or release version.r6jZj0jbjÁjdj¥jf}r7(jh]ji]jj]jk]jn]ujpK€jr]r8j{Xm[C66x] nand.bin - nand binary to be used for NAND boot. May not be provided for every EVM or release version.r9…�r:}r;(jYj6jZj4ubaubaubj/)�r<}r=(jYXw[K2H/K2E/K2L] app - NOR binary to be booted by Secondary Bootloader. The default for Keystone 2 is the POST applicationjZjjbjÁjdj2jf}r>(jh]ji]jj]jk]jn]ujpNjqhjr]r?j¡)�r@}rA(jYXw[K2H/K2E/K2L] app - NOR binary to be booted by Secondary Bootloader. The default for Keystone 2 is the POST applicationrBjZj<jbjÁjdj¥jf}rC(jh]ji]jj]jk]jn]ujpK‚jr]rDj{Xw[K2H/K2E/K2L] app - NOR binary to be booted by Secondary Bootloader. The default for Keystone 2 is the POST applicationrE…�rF}rG(jYjBjZj@ubaubaubj/)�rH}rI(jYXm[K2H/K2E/K2L] MLO - Secondary Bootloader. The default flash location is in SPI NOR flash memory at offset 0. jZjjbjÁjdj2jf}rJ(jh]ji]jj]jk]jn]ujpNjqhjr]rKj¡)�rL}rM(jYXl[K2H/K2E/K2L] MLO - Secondary Bootloader. The default flash location is in SPI NOR flash memory at offset 0.rNjZjHjbjÁjdj¥jf}rO(jh]ji]jj]jk]jn]ujpK„jr]rPj{Xl[K2H/K2E/K2L] MLO - Secondary Bootloader. The default flash location is in SPI NOR flash memory at offset 0.rQ…�rR}rS(jYjNjZjLubaubaubeubeubj[)�rT}rU(jYUjZj¯jbjÁjdjejf}rV(jh]ji]jj]jk]rWUusagerXajn]rYh'aujpKˆjqhjr]rZ(jt)�r[}r\(jYXUsager]jZjTjbjÁjdjxjf}r^(jh]ji]jj]jk]jn]ujpKˆjqhjr]r_j{XUsager`…�ra}rb(jYj]jZj[ubaubj¡)�rc}rd(jYXFor Windows users:rejZjTjbjÁjdj¥jf}rf(jh]ji]jj]jk]jn]ujpKŠjqhjr]rgj{XFor Windows users:rh…�ri}rj(jYjejZjcubaubj)�rk}rl(jYXë> cd [SDK Install Path]\processor_sdk_rtos__\bin > set DSS_SCRIPT_DIR=[CCS Install Path]\ccsv6\ccs_base\scripting\bin > %DSS_SCRIPT_DIR%\dss.bat program_evm.js [tmdx|tmds]evm(6678|6657|k2h|k2e|k2l)[l|le|ls][-le|-be]jZjTjbjÁjdjjf}rm(jöj÷jk]jj]jh]ji]jn]ujpMb jqhjr]rnj{Xë> cd [SDK Install Path]\processor_sdk_rtos__\bin > set DSS_SCRIPT_DIR=[CCS Install Path]\ccsv6\ccs_base\scripting\bin > %DSS_SCRIPT_DIR%\dss.bat program_evm.js [tmdx|tmds]evm(6678|6657|k2h|k2e|k2l)[l|le|ls][-le|-be]ro…�rp}rq(jYUjZjkubaubj¡)�rr}rs(jYXFor Linux users:rtjZjTjbjÁjdj¥jf}ru(jh]ji]jj]jk]jn]ujpK’jqhjr]rvj{XFor Linux users:rw…�rx}ry(jYjtjZjrubaubj)�rz}r{(jYXë> cd [SDK Install Path]/processor_sdk_rtos__/bin > export DSS_SCRIPT_DIR=[CCS Install Path]/ccsv6/ccs_base/scripting/bin > $DSS_SCRIPT_DIR/dss.sh program_evm.js [tmdx|tmds]evm(6678|6657|k2h|k2e|k2l)[l|le|ls][-le|-be]jZjTjbjÁjdjjf}r|(jöj÷jk]jj]jh]ji]jn]ujpMj jqhjr]r}j{Xë> cd [SDK Install Path]/processor_sdk_rtos__/bin > export DSS_SCRIPT_DIR=[CCS Install Path]/ccsv6/ccs_base/scripting/bin > $DSS_SCRIPT_DIR/dss.sh program_evm.js [tmdx|tmds]evm(6678|6657|k2h|k2e|k2l)[l|le|ls][-le|-be]r~…�r}r€(jYUjZjzubaubj¡)�r�}r‚(jYXtThe last argument depends on the SOC that you have, concatenated with the options to select emulator and endianness:rƒjZjTjbjÁjdj¥jf}r„(jh]ji]jj]jk]jn]ujpKšjqhjr]r…j{XtThe last argument depends on the SOC that you have, concatenated with the options to select emulator and endianness:r†…�r‡}rˆ(jYjƒjZj�ubaubjC)�r‰}rŠ(jYUjZjTjbjÁjdj`jf}r‹(jGX-jk]jj]jh]ji]jn]ujpK�jqhjr]rŒ(j/)�r�}rŽ(jYX$l: EVM uses XDS100 on-board Emulatorr�jZj‰jbjÁjdj2jf}r�(jh]ji]jj]jk]jn]ujpNjqhjr]r‘j¡)�r’}r“(jYj�jZj�jbjÁjdj¥jf}r”(jh]ji]jj]jk]jn]ujpK�jr]r•j{X$l: EVM uses XDS100 on-board Emulatorr–…�r—}r˜(jYj�jZj’ubaubaubj/)�r™}rš(jYX1le: EVM uses 560 Mezzanine Emulator daughter cardr›jZj‰jbjÁjdj2jf}rœ(jh]ji]jj]jk]jn]ujpNjqhjr]r�j¡)�rž}rŸ(jYj›jZj™jbjÁjdj¥jf}r (jh]ji]jj]jk]jn]ujpKžjr]r¡j{X1le: EVM uses 560 Mezzanine Emulator daughter cardr¢…�r£}r¤(jYj›jZjžubaubaubj/)�r¥}r¦(jYX!ls: EVM uses XDS200 Emulator cardr§jZj‰jbjÁjdj2jf}r¨(jh]ji]jj]jk]jn]ujpNjqhjr]r©j¡)�rª}r«(jYj§jZj¥jbjÁjdj¥jf}r¬(jh]ji]jj]jk]jn]ujpKŸjr]r­j{X!ls: EVM uses XDS200 Emulator cardr®…�r¯}r°(jYj§jZjªubaubaubj/)�r±}r²(jYX-le: Little Endianr³jZj‰jbjÁjdj2jf}r´(jh]ji]jj]jk]jn]ujpNjqhjr]rµj¡)�r¶}r·(jYj³jZj±jbjÁjdj¥jf}r¸(jh]ji]jj]jk]jn]ujpK jr]r¹j{X-le: Little Endianrº…�r»}r¼(jYj³jZj¶ubaubaubj/)�r½}r¾(jYX-be: Big Endian jZj‰jbjÁjdj2jf}r¿(jh]ji]jj]jk]jn]ujpNjqhjr]rÀj¡)�rÁ}rÂ(jYX-be: Big EndianrÃjZj½jbjÁjdj¥jf}rÄ(jh]ji]jj]jk]jn]ujpK¡jr]rÅj{X-be: Big EndianrÆ…�rÇ}rÈ(jYjÃjZjÁubaubaubeubj)�rÉ}rÊ(jYXÖ- By default, the images provided are little endian. - Also by default, Keystone 2 EVMs are expected to only use the XDS2xx Emulator. You do not have to supply the emulator in the parameter for K2H/K2E/K2L.jZjTjbNjdjjf}rË(jh]ji]jj]jk]jn]ujpNjqhjr]rÌjC)�rÍ}rÎ(jYUjf}rÏ(jGX-jk]jj]jh]ji]jn]ujZjÉjr]rÐ(j/)�rÑ}rÒ(jYX2By default, the images provided are little endian.rÓjf}rÔ(jh]ji]jj]jk]jn]ujZjÍjr]rÕj¡)�rÖ}r×(jYjÓjZjÑjbjÁjdj¥jf}rØ(jh]ji]jj]jk]jn]ujpK¤jr]rÙj{X2By default, the images provided are little endian.rÚ…�rÛ}rÜ(jYjÓjZjÖubaubajdj2ubj/)�rÝ}rÞ(jYX—Also by default, Keystone 2 EVMs are expected to only use the XDS2xx Emulator. You do not have to supply the emulator in the parameter for K2H/K2E/K2L.jf}rß(jh]ji]jj]jk]jn]ujZjÍjr]ràj¡)�rá}râ(jYX—Also by default, Keystone 2 EVMs are expected to only use the XDS2xx Emulator. You do not have to supply the emulator in the parameter for K2H/K2E/K2L.rãjZjÝjbjÁjdj¥jf}rä(jh]ji]jj]jk]jn]ujpK¥jr]råj{X—Also by default, Keystone 2 EVMs are expected to only use the XDS2xx Emulator. You do not have to supply the emulator in the parameter for K2H/K2E/K2L.ræ…�rç}rè(jYjãjZjáubaubajdj2ubejdj`ubaubj¡)�ré}rê(jYXSome examples are:rëjZjTjbjÁjdj¥jf}rì(jh]ji]jj]jk]jn]ujpK©jqhjr]ríj{XSome examples are:rî…�rï}rð(jYjëjZjéubaubj¡)�rñ}rò(jYXTMDXEVM6678LE little endianrójZjTjbjÁjdj¥jf}rô(jh]ji]jj]jk]jn]ujpK«jqhjr]rõj{XTMDXEVM6678LE little endianrö…�r÷}rø(jYjójZjñubaubj)�rù}rú(jYX8> $DSS_SCRIPT_DIR/dss.sh program_evm.js tmdxevm6678le-lejZjTjbjÁjdjjf}rû(jöj÷jk]jj]jh]ji]jn]ujpMƒ jqhjr]rüj{X8> $DSS_SCRIPT_DIR/dss.sh program_evm.js tmdxevm6678le-lerý…�rþ}rÿ(jYUjZjùubaubj¡)�r}r(jYXTMDSEVM6657LS little endianrjZjTjbjÁjdj¥jf}r(jh]ji]jj]jk]jn]ujpK±jqhjr]rj{XTMDSEVM6657LS little endianr…�r}r(jYjjZjubaubj)�r}r (jYX8> $DSS_SCRIPT_DIR/dss.sh program_evm.js tmdxevm6657ls-lejZjTjbjÁjdjjf}r (jöj÷jk]jj]jh]ji]jn]ujpM‰ jqhjr]r j{X8> $DSS_SCRIPT_DIR/dss.sh program_evm.js tmdxevm6657ls-ler …�r }r(jYUjZjubaubj¡)�r}r(jYXEVMK2H little endianrjZjTjbjÁjdj¥jf}r(jh]ji]jj]jk]jn]ujpK·jqhjr]rj{XEVMK2H little endianr…�r}r(jYjjZjubaubj)�r}r(jYX2> $DSS_SCRIPT_DIR/dss.sh program_evm.js tmdsevmk2hjZjTjbjÁjdjjf}r(jöj÷jk]jj]jh]ji]jn]ujpM� jqhjr]rj{X2> $DSS_SCRIPT_DIR/dss.sh program_evm.js tmdsevmk2hr…�r}r(jYUjZjubaubj¡)�r}r(jYXEVMK2E little endianr jZjTjbjÁjdj¥jf}r!(jh]ji]jj]jk]jn]ujpK½jqhjr]r"j{XEVMK2E little endianr#…�r$}r%(jYj jZjubaubj)�r&}r'(jYX2> $DSS_SCRIPT_DIR/dss.sh program_evm.js tmdsevmk2ejZjTjbjÁjdjjf}r((jöj÷jk]jj]jh]ji]jn]ujpM• jqhjr]r)j{X2> $DSS_SCRIPT_DIR/dss.sh program_evm.js tmdsevmk2er*…�r+}r,(jYUjZj&ubaubeubj[)�r-}r.(jYUjZj¯jbjÁjdjejf}r/(jh]ji]jj]jk]r0U sample-outputr1ajn]r2hÏaujpKÄjqhjr]r3(jt)�r4}r5(jYX Sample Outputr6jZj-jbjÁjdjxjf}r7(jh]ji]jj]jk]jn]ujpKÄjqhjr]r8j{X Sample Outputr9…�r:}r;(jYj6jZj4ubaubj)�r<}r=(jYXàC:\ti\processor_sdk_rtos_c665x_2_00_01_07\bin>%DSS_SCRIPT_DIR%\dss.bat program_evm.js tmdxevm6657ls-le board: evm6657l endian: Little emulation: XDS200 emulator binaries: ../prebuilt-images/ ccxml: C:\ti\processor_sdk_rtos_c665x_2_00_01_07\bin/configs/evm6657l/evm6657ls.ccxml C66xx_0: GEL Output: Connecting Target... C66xx_0: GEL Output: DSP core #0 C66xx_0: GEL Output: C6657L GEL file Ver is 1.006 C66xx_0: GEL Output: Global Default Setup... C66xx_0: GEL Output: Setup Cache... C66xx_0: GEL Output: L1P = 32K C66xx_0: GEL Output: L1D = 32K C66xx_0: GEL Output: L2 = ALL SRAM C66xx_0: GEL Output: Setup Cache... Done. C66xx_0: GEL Output: Main PLL (PLL1) Setup ... C66xx_0: GEL Output: PLL in Bypass ... C66xx_0: GEL Output: PLL1 Setup for DSP @ 1000.0 MHz. C66xx_0: GEL Output: SYSCLK2 = 333.3333 MHz, SYSCLK5 = 200.0 MHz. C66xx_0: GEL Output: SYSCLK8 = 15.625 MHz. C66xx_0: GEL Output: PLL1 Setup... Done. C66xx_0: GEL Output: Power on all PSC modules and DSP domains... C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=12, md=4! C66xx_0: GEL Output: Power on all PSC modules and DSP domains... Done. C66xx_0: GEL Output: DDR3 PLL (PLL2) Setup ... C66xx_0: GEL Output: DDR3 PLL Setup... Done. C66xx_0: GEL Output: DDR3 Init begin (1333 auto) C66xx_0: GEL Output: XMC Setup ... Done C66xx_0: GEL Output: IFRDY bit is SET: DDR3 Interface Ready C66xx_0: GEL Output: DDR3 initialization is complete. C66xx_0: GEL Output: DDR3 Init done C66xx_0: GEL Output: DDR3 memory test... Started C66xx_0: GEL Output: DDR3 memory test... Passed C66xx_0: GEL Output: PLL and DDR3 Initialization completed(0) ... C66xx_0: GEL Output: configSGMIISerdes Setup... Begin C66xx_0: GEL Output: SGMII SERDES has been configured. C66xx_0: GEL Output: Enabling EDC ... C66xx_0: GEL Output: L1P error detection logic is enabled. C66xx_0: GEL Output: L2 error detection/correction logic is enabled. C66xx_0: GEL Output: MSMC error detection/correction logic is enabled. C66xx_0: GEL Output: Enabling EDC ...Done C66xx_0: GEL Output: Global Default Setup... Done. Start writing eeprom50 Writer:../prebuilt-images/eepromwriter_evm6657l.out Image:../prebuilt-images/eeprom50.bin C66xx_0: GEL Output: Invalidate All Cache... C66xx_0: GEL Output: Invalidate All Cache... Done. C66xx_0: GEL Output: GEL Reset... C66xx_0: GEL Output: GEL Reset... Done. C66xx_0: GEL Output: Disable all EDMA3 interrupts and events. EEPROM Writer Utility Version 01.00.00.05 Writing 57432 bytes from DSP memory address 0x0c000000 to EEPROM bus address 0x0050 starting from device address 0x0000 ... Reading 57432 bytes from EEPROM bus address 0x0050 to DSP memory address 0x0c010000 starting from device address 0x0000 ... Verifying data read ... EEPROM programming completed successfully Start writing eeprom51 Writer:../prebuilt-images/eepromwriter_evm6657l.out Image:../prebuilt-images/eeprom51.bin C66xx_0: GEL Output: Invalidate All Cache... C66xx_0: GEL Output: Invalidate All Cache... Done. C66xx_0: GEL Output: GEL Reset... C66xx_0: GEL Output: GEL Reset... Done. C66xx_0: GEL Output: Disable all EDMA3 interrupts and events. EEPROM Writer Utility Version 01.00.00.05 Writing 47888 bytes from DSP memory address 0x0c000000 to EEPROM bus address 0x0051 starting from device address 0x0000 ... Reading 47888 bytes from EEPROM bus address 0x0051 to DSP memory address 0x0c010000 starting from device address 0x0000 ... Verifying data read ... EEPROM programming completed successfully Writer:../prebuilt-images/nandwriter_evm6657l.out NAND:../prebuilt-images/nand.bin Required NAND files does not exist in ../prebuilt-images/ Writer:../prebuilt-images/norwriter_evm6657l.out NOR:../prebuilt-images/nor.bin Required NOR files does not exist in ../prebuilt-images/jZj-jbjÁjdjjf}r>(jöj÷jk]jj]jh]ji]jn]ujpMœ jqhjr]r?j{XàC:\ti\processor_sdk_rtos_c665x_2_00_01_07\bin>%DSS_SCRIPT_DIR%\dss.bat program_evm.js tmdxevm6657ls-le board: evm6657l endian: Little emulation: XDS200 emulator binaries: ../prebuilt-images/ ccxml: C:\ti\processor_sdk_rtos_c665x_2_00_01_07\bin/configs/evm6657l/evm6657ls.ccxml C66xx_0: GEL Output: Connecting Target... C66xx_0: GEL Output: DSP core #0 C66xx_0: GEL Output: C6657L GEL file Ver is 1.006 C66xx_0: GEL Output: Global Default Setup... C66xx_0: GEL Output: Setup Cache... C66xx_0: GEL Output: L1P = 32K C66xx_0: GEL Output: L1D = 32K C66xx_0: GEL Output: L2 = ALL SRAM C66xx_0: GEL Output: Setup Cache... Done. C66xx_0: GEL Output: Main PLL (PLL1) Setup ... C66xx_0: GEL Output: PLL in Bypass ... C66xx_0: GEL Output: PLL1 Setup for DSP @ 1000.0 MHz. C66xx_0: GEL Output: SYSCLK2 = 333.3333 MHz, SYSCLK5 = 200.0 MHz. C66xx_0: GEL Output: SYSCLK8 = 15.625 MHz. C66xx_0: GEL Output: PLL1 Setup... Done. C66xx_0: GEL Output: Power on all PSC modules and DSP domains... C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=12, md=4! C66xx_0: GEL Output: Power on all PSC modules and DSP domains... Done. C66xx_0: GEL Output: DDR3 PLL (PLL2) Setup ... C66xx_0: GEL Output: DDR3 PLL Setup... Done. C66xx_0: GEL Output: DDR3 Init begin (1333 auto) C66xx_0: GEL Output: XMC Setup ... Done C66xx_0: GEL Output: IFRDY bit is SET: DDR3 Interface Ready C66xx_0: GEL Output: DDR3 initialization is complete. C66xx_0: GEL Output: DDR3 Init done C66xx_0: GEL Output: DDR3 memory test... Started C66xx_0: GEL Output: DDR3 memory test... Passed C66xx_0: GEL Output: PLL and DDR3 Initialization completed(0) ... C66xx_0: GEL Output: configSGMIISerdes Setup... Begin C66xx_0: GEL Output: SGMII SERDES has been configured. C66xx_0: GEL Output: Enabling EDC ... C66xx_0: GEL Output: L1P error detection logic is enabled. C66xx_0: GEL Output: L2 error detection/correction logic is enabled. C66xx_0: GEL Output: MSMC error detection/correction logic is enabled. C66xx_0: GEL Output: Enabling EDC ...Done C66xx_0: GEL Output: Global Default Setup... Done. Start writing eeprom50 Writer:../prebuilt-images/eepromwriter_evm6657l.out Image:../prebuilt-images/eeprom50.bin C66xx_0: GEL Output: Invalidate All Cache... C66xx_0: GEL Output: Invalidate All Cache... Done. C66xx_0: GEL Output: GEL Reset... C66xx_0: GEL Output: GEL Reset... Done. C66xx_0: GEL Output: Disable all EDMA3 interrupts and events. EEPROM Writer Utility Version 01.00.00.05 Writing 57432 bytes from DSP memory address 0x0c000000 to EEPROM bus address 0x0050 starting from device address 0x0000 ... Reading 57432 bytes from EEPROM bus address 0x0050 to DSP memory address 0x0c010000 starting from device address 0x0000 ... Verifying data read ... EEPROM programming completed successfully Start writing eeprom51 Writer:../prebuilt-images/eepromwriter_evm6657l.out Image:../prebuilt-images/eeprom51.bin C66xx_0: GEL Output: Invalidate All Cache... C66xx_0: GEL Output: Invalidate All Cache... Done. C66xx_0: GEL Output: GEL Reset... C66xx_0: GEL Output: GEL Reset... Done. C66xx_0: GEL Output: Disable all EDMA3 interrupts and events. EEPROM Writer Utility Version 01.00.00.05 Writing 47888 bytes from DSP memory address 0x0c000000 to EEPROM bus address 0x0051 starting from device address 0x0000 ... Reading 47888 bytes from EEPROM bus address 0x0051 to DSP memory address 0x0c010000 starting from device address 0x0000 ... Verifying data read ... EEPROM programming completed successfully Writer:../prebuilt-images/nandwriter_evm6657l.out NAND:../prebuilt-images/nand.bin Required NAND files does not exist in ../prebuilt-images/ Writer:../prebuilt-images/norwriter_evm6657l.out NOR:../prebuilt-images/nor.bin Required NOR files does not exist in ../prebuilt-images/r@…�rA}rB(jYUjZj<ubaubj¡)�rC}rD(jYXsIn the above example, nothing was flashed to NAND or NOR since there were no nand.bin or nor.bin binaries to flash.rEjZj-jbjÁjdj¥jf}rF(jh]ji]jj]jk]jn]ujpMRjqhjr]rGj{XsIn the above example, nothing was flashed to NAND or NOR since there were no nand.bin or nor.bin binaries to flash.rH…�rI}rJ(jYjEjZjCubaubeubeubeubj[)�rK}rL(jYUjZjÿjbjcjdjejf}rM(jh]ji]jj]jk]rNUportingrOajn]rPhÝaujpKDjqhjr]rQ(jt)�rR}rS(jYXPortingrTjZjKjbjcjdjxjf}rU(jh]ji]jj]jk]jn]ujpKDjqhjr]rVj{XPortingrW…�rX}rY(jYjTjZjRubaubj[)�rZ}r[(jYUjZjKjbjcjdjejf}r\(jh]ji]jj]jk]r]UBadding-custom-board-library-target-to-processor-sdk-rtos-makefilesr^ajn]r_h>aujpKGjqhjr]r`(jt)�ra}rb(jYXBAdding Custom Board_Library Target to Processor SDK RTOS makefilesrcjZjZjbjcjdjxjf}rd(jh]ji]jj]jk]jn]ujpKGjqhjr]rej{XBAdding Custom Board_Library Target to Processor SDK RTOS makefilesrf…�rg}rh(jYjcjZjaubaubjî)�ri}rj(jYXjhttp://processors.wiki.ti.com/index.php/Adding_Custom_Board_Library_Target_to_Processor_SDK_RTOS_makefilesjZjZjbj�Xhsource/rtos/How_to_Guides/Host/Porting/Adding_Custom_Board_Library_Target_to_PSDK_RTOS_makefiles.rst.incrk…�rl}rmbjdjôjf}rn(jöj÷jk]jj]jh]ji]jn]ujpKjqhjr]roj{Xjhttp://processors.wiki.ti.com/index.php/Adding_Custom_Board_Library_Target_to_Processor_SDK_RTOS_makefilesrp…�rq}rr(jYUjZjiubaubj[)�rs}rt(jYUjìKjZjZjbjljdjejf}ru(jh]rvX introductionrwaji]jj]jk]rxU introductionryajn]ujpKjqhjr]rz(jt)�r{}r|(jYX Introductionr}jZjsjbjljdjxjf}r~(jh]ji]jj]jk]jn]ujpKjqhjr]rj{X Introductionr€…�r�}r‚(jYj}jZj{ubaubj¡)�rƒ}r„(jYXiThe following article describes how a custom Board can be added to the Processor SDK RTOS. The scope of this article is to only describe how to modify the build files in the PDK to add build steps for your custom board library. The article does not describe modification of source files to reflect changes to clocking, DDR and pinmux setup for the custom board.r…jZjsjbjljdj¥jf}r†(jh]ji]jj]jk]jn]ujpKjqhjr]r‡j{XiThe following article describes how a custom Board can be added to the Processor SDK RTOS. The scope of this article is to only describe how to modify the build files in the PDK to add build steps for your custom board library. The article does not describe modification of source files to reflect changes to clocking, DDR and pinmux setup for the custom board.rˆ…�r‰}rŠ(jYj…jZjƒubaubj¡)�r‹}rŒ(jYX1The instructions provided in this article uses example of AM572x custom board but the instructions apply to all the processors supported in Processor SDK RTOS. Note that the instructions on this wiki were created using Processor SDK RTOS v3.2 and PDK_AM57xx_1_0_5 and are subject to change. Also the wiki was created specifically for the newer board variants like evmAM572x, idkAM572x and evmK2G. For AM335x and AM437x variant board library has several dependencies on legacy starterware package, hence additional steps are required and not covered in the wiki.r�jZjsjbjljdj¥jf}rŽ(jh]ji]jj]jk]jn]ujpK jqhjr]r�j{X1The instructions provided in this article uses example of AM572x custom board but the instructions apply to all the processors supported in Processor SDK RTOS. Note that the instructions on this wiki were created using Processor SDK RTOS v3.2 and PDK_AM57xx_1_0_5 and are subject to change. Also the wiki was created specifically for the newer board variants like evmAM572x, idkAM572x and evmK2G. For AM335x and AM437x variant board library has several dependencies on legacy starterware package, hence additional steps are required and not covered in the wiki.r�…�r‘}r’(jYj�jZj‹ubaubeubj[)�r“}r”(jYUjZjZjbjljdjejf}r•(jh]ji]jj]jk]r–U1instructions-to-add-custom-board-to-the-pdk-buildr—ajn]r˜häaujpKjqhjr]r™(jt)�rš}r›(jYX1Instructions to add custom Board to the PDK buildrœjZj“jbjljdjxjf}r�(jh]ji]jj]jk]jn]ujpKjqhjr]ržj{X1Instructions to add custom Board to the PDK buildrŸ…�r }r¡(jYjœjZjšubaubj¡)�r¢}r£(jYX;**Step 1: Creating new directory for custom board library**r¤jZj“jbjljdj¥jf}r¥(jh]ji]jj]jk]jn]ujpKjqhjr]r¦jü)�r§}r¨(jYj¤jf}r©(jh]ji]jj]jk]jn]ujZj¢jr]rªj{X7Step 1: Creating new directory for custom board libraryr«…�r¬}r­(jYUjZj§ubajdjubaubj¡)�r®}r¯(jYX|In pdk_am57xx_x_x_x/packages/ti/board/src, Create new directory myCustomBoard and copy files from existing board library package. We recommend that you copy files from the board which closely matches your custom board design. In this case, we assume that the custom board is based on the design of evmAM572x so we copy over the files from that directory into myCustomBoard folder.r°jZj“jbjljdj¥jf}r±(jh]ji]jj]jk]jn]ujpKjqhjr]r²j{X|In pdk_am57xx_x_x_x/packages/ti/board/src, Create new directory myCustomBoard and copy files from existing board library package. We recommend that you copy files from the board which closely matches your custom board design. In this case, we assume that the custom board is based on the design of evmAM572x so we copy over the files from that directory into myCustomBoard folder.r³…�r´}rµ(jYj°jZj®ubaubj¡)�r¶}r·(jYXF**Step 2: Updating names and makefile inside the customBoard package**r¸jZj“jbjljdj¥jf}r¹(jh]ji]jj]jk]jn]ujpK#jqhjr]rºjü)�r»}r¼(jYj¸jf}r½(jh]ji]jj]jk]jn]ujZj¶jr]r¾j{XBStep 2: Updating names and makefile inside the customBoard packager¿…�rÀ}rÁ(jYUjZj»ubajdjubaubj¡)�rÂ}rÃ(jYX#In pdk_am57xx_x_x_x/packages/ti/board/src/myCustomBoard, Rename file src_files_evmAM572x.mk to src_files_myCustomBoard.mk. This file will need a bit of work depending on what elements of board you need for your platform. We have left all the files evmAM572x_*.c but you can modify as needed.rÄjZj“jbjljdj¥jf}rÅ(jh]ji]jj]jk]jn]ujpK%jqhjr]rÆj{X#In pdk_am57xx_x_x_x/packages/ti/board/src/myCustomBoard, Rename file src_files_evmAM572x.mk to src_files_myCustomBoard.mk. This file will need a bit of work depending on what elements of board you need for your platform. We have left all the files evmAM572x_*.c but you can modify as needed.rÇ…�rÈ}rÉ(jYjÄjZjÂubaubj¡)�rÊ}rË(jYX]**Step 3: Adding MACRO based inclusion of updated board_cfg.h corresponding to custom Board**rÌjZj“jbjljdj¥jf}rÍ(jh]ji]jj]jk]jn]ujpK+jqhjr]rÎjü)�rÏ}rÐ(jYjÌjf}rÑ(jh]ji]jj]jk]jn]ujZjÊjr]rÒj{XYStep 3: Adding MACRO based inclusion of updated board_cfg.h corresponding to custom BoardrÓ…�rÔ}rÕ(jYUjZjÏubajdjubaubj¡)�rÖ}r×(jYX¹In packages/ti/board/board_cfg.h, add the lines pointing to board_cfg.h file in your customBoard package so that updated peripheral instances and board specific defines can be picked uprØjZj“jbjljdj¥jf}rÙ(jh]ji]jj]jk]jn]ujpK.jqhjr]rÚj{X¹In packages/ti/board/board_cfg.h, add the lines pointing to board_cfg.h file in your customBoard package so that updated peripheral instances and board specific defines can be picked uprÛ…�rÜ}rÝ(jYjØjZjÖubaubj)�rÞ}rß(jYX\#if defined (myCustomBoard) #include #endifjZj“jbjljdjjf}rà(jöj÷jk]jj]jh]ji]jn]ujpMh jqhjr]ráj{X\#if defined (myCustomBoard) #include #endifrâ…�rã}rä(jYUjZjÞubaubj¡)�rå}ræ(jYXô**Step 4: Update top level board package makefile to include build for customBoard Library** The makefile is used to include all relevant make files for including Low level driver(LLD), source files relevant to board and the common board.c filejZj“jbjljdj¥jf}rç(jh]ji]jj]jk]jn]ujpK8jqhjr]rè(jü)�ré}rê(jYX\**Step 4: Update top level board package makefile to include build for customBoard Library**jf}rë(jh]ji]jj]jk]jn]ujZjåjr]rìj{XXStep 4: Update top level board package makefile to include build for customBoard Libraryrí…�rî}rï(jYUjZjéubajdjubj{X˜ The makefile is used to include all relevant make files for including Low level driver(LLD), source files relevant to board and the common board.c filerð…�rñ}rò(jYX˜ The makefile is used to include all relevant make files for including Low level driver(LLD), source files relevant to board and the common board.c filejZjåubeubjC)�ró}rô(jYUjZj“jbjljdj`jf}rõ(jGX-jk]jj]jh]ji]jn]ujpK=jqhjr]röj/)�r÷}rø(jYXPIn packages/ti/board/build/makefile.mk, add board.c to the customBoard build : jZjójbjljdj2jf}rù(jh]ji]jj]jk]jn]ujpNjqhjr]rúj¡)�rû}rü(jYXOIn packages/ti/board/build/makefile.mk, add board.c to the customBoard build :rýjZj÷jbjljdj¥jf}rþ(jh]ji]jj]jk]jn]ujpK=jr]rÿj{XOIn packages/ti/board/build/makefile.mk, add board.c to the customBoard build :r…�r}r(jYjýjZjûubaubaubaubj)�r}r(jYX"ifeq ($(BOARD),$(filter $(BOARD),evmAM335x icev2AM335x skAM335x bbbAM335x evmAM437x idkAM437x skAM437x myCustomBoard evmAM572x idkAM571x idkAM572x evmK2H evmK2K evmK2E evmK2L evmK2G iceK2G evmC6678 evmC6657)) # Common source files across all platforms and cores SRCS_COMMON += board.c endifjZj“jbjljdjjf}r(jöj÷jk]jj]jh]ji]jn]ujpMv jqhjr]rj{X"ifeq ($(BOARD),$(filter $(BOARD),evmAM335x icev2AM335x skAM335x bbbAM335x evmAM437x idkAM437x skAM437x myCustomBoard evmAM572x idkAM571x idkAM572x evmK2H evmK2K evmK2E evmK2L evmK2G iceK2G evmC6678 evmC6657)) # Common source files across all platforms and cores SRCS_COMMON += board.c endifr…�r}r (jYUjZjubaubjC)�r }r (jYUjZj“jbjljdj`jf}r (jGX-jk]jj]jh]ji]jn]ujpKGjqhjr]r j/)�r}r(jYXFAdd board library source files and LLD files to the customBoard build jZj jbjljdj2jf}r(jh]ji]jj]jk]jn]ujpNjqhjr]rj¡)�r}r(jYXEAdd board library source files and LLD files to the customBoard buildrjZjjbjljdj¥jf}r(jh]ji]jj]jk]jn]ujpKGjr]rj{XEAdd board library source files and LLD files to the customBoard buildr…�r}r(jYjjZjubaubaubaubj¡)�r}r(jYX.In packages/ti/board/build/makefile.mk, changerjZj“jbjljdj¥jf}r(jh]ji]jj]jk]jn]ujpKIjqhjr]rj{X.In packages/ti/board/build/makefile.mk, changer…�r }r!(jYjjZjubaubj)�r"}r#(jYXáifeq ($(BOARD),$(filter $(BOARD), evmAM572x idkAM571x idkAM572x)) include $(PDK_BOARD_COMP_PATH)/src/$(BOARD)/src_files_$(BOARD).mk include $(PDK_BOARD_COMP_PATH)/src/src_files_lld.mk CFLAGS_LOCAL_$(BOARD) += -D$(BOARD) endifjZj“jbjljdjjf}r$(jöj÷jk]jj]jh]ji]jn]ujpM� jqhjr]r%j{Xáifeq ($(BOARD),$(filter $(BOARD), evmAM572x idkAM571x idkAM572x)) include $(PDK_BOARD_COMP_PATH)/src/$(BOARD)/src_files_$(BOARD).mk include $(PDK_BOARD_COMP_PATH)/src/src_files_lld.mk CFLAGS_LOCAL_$(BOARD) += -D$(BOARD) endifr&…�r'}r((jYUjZj"ubaubj¡)�r)}r*(jYXtor+jZj“jbjljdj¥jf}r,(jh]ji]jj]jk]jn]ujpKSjqhjr]r-j{Xtor.…�r/}r0(jYj+jZj)ubaubj)�r1}r2(jYXïifeq ($(BOARD),$(filter $(BOARD), myCustomBoard evmAM572x idkAM571x idkAM572x)) include $(PDK_BOARD_COMP_PATH)/src/$(BOARD)/src_files_$(BOARD).mk include $(PDK_BOARD_COMP_PATH)/src/src_files_lld.mk CFLAGS_LOCAL_$(BOARD) += -D$(BOARD) endifjZj“jbjljdjjf}r3(jöj÷jk]jj]jh]ji]jn]ujpM‹ jqhjr]r4j{Xïifeq ($(BOARD),$(filter $(BOARD), myCustomBoard evmAM572x idkAM571x idkAM572x)) include $(PDK_BOARD_COMP_PATH)/src/$(BOARD)/src_files_$(BOARD).mk include $(PDK_BOARD_COMP_PATH)/src/src_files_lld.mk CFLAGS_LOCAL_$(BOARD) += -D$(BOARD) endifr5…�r6}r7(jYUjZj1ubaubj¡)�r8}r9(jYX#**Step 5: Update Global makerules**r:jZj“jbjljdj¥jf}r;(jh]ji]jj]jk]jn]ujpK]jqhjr]r<jü)�r=}r>(jYj:jf}r?(jh]ji]jj]jk]jn]ujZj8jr]r@j{XStep 5: Update Global makerulesrA…�rB}rC(jYUjZj=ubajdjubaubj¡)�rD}rE(jYX�build_config.mk defines the global CFLAGS used to compile different PDK components. Add the following line in the BOARD Specific configurations.rFjZj“jbjljdj¥jf}rG(jh]ji]jj]jk]jn]ujpK_jqhjr]rHj{X�build_config.mk defines the global CFLAGS used to compile different PDK components. Add the following line in the BOARD Specific configurations.rI…�rJ}rK(jYjFjZjDubaubj)�rL}rM(jYX6CFLAGS_GLOBAL_customAM572x = -DSOC_AM572x -DevmAM572xjZj“jbjljdjjf}rN(jöj÷jk]jj]jh]ji]jn]ujpM˜ jqhjr]rOj{X6CFLAGS_GLOBAL_customAM572x = -DSOC_AM572x -DevmAM572xrP…�rQ}rR(jYUjZjLubaubj¡)�rS}rT(jYXÔThe SOC_AM572x macro ensures that the CSL aplicable to this SOC will be included in the build and evmAM572x define will ensure all evmAM572x specific includes that apply to the customAM572x are part of the build.rUjZj“jbjljdj¥jf}rV(jh]ji]jj]jk]jn]ujpKfjqhjr]rWj{XÔThe SOC_AM572x macro ensures that the CSL aplicable to this SOC will be included in the build and evmAM572x define will ensure all evmAM572x specific includes that apply to the customAM572x are part of the build.rX…�rY}rZ(jYjUjZjSubaubj¡)�r[}r\(jYX.**Optional step to update RTSC platform definition** If you have a custom RTSC platform definition for your custom board that updates the memory and platform configuration using RTSC Tool then you need to update the platform.mk file that associates the RTSC platfom with the corresponding board libraryjZj“jbjljdj¥jf}r](jh]ji]jj]jk]jn]ujpKkjqhjr]r^(jü)�r_}r`(jYX4**Optional step to update RTSC platform definition**jf}ra(jh]ji]jj]jk]jn]ujZj[jr]rbj{X0Optional step to update RTSC platform definitionrc…�rd}re(jYUjZj_ubajdjubj{Xú If you have a custom RTSC platform definition for your custom board that updates the memory and platform configuration using RTSC Tool then you need to update the platform.mk file that associates the RTSC platfom with the corresponding board libraryrf…�rg}rh(jYXú If you have a custom RTSC platform definition for your custom board that updates the memory and platform configuration using RTSC Tool then you need to update the platform.mk file that associates the RTSC platfom with the corresponding board libraryjZj[ubeubj¡)�ri}rj(jYXCIn packages/ti/buildmakerules/platform.mk, add the following lines:rkjZj“jbjljdj¥jf}rl(jh]ji]jj]jk]jn]ujpKqjqhjr]rmj{XCIn packages/ti/buildmakerules/platform.mk, add the following lines:rn…�ro}rp(jYjkjZjiubaubj)�rq}rr(jYX]ifeq ($(BOARD),$(filter $(BOARD), evmAM572x)) PLATFORM_XDC = "ti.platforms.evmAM572X" endifjZj“jbjljdjjf}rs(jöj÷jk]jj]jh]ji]jn]ujpMª jqhjr]rtj{X]ifeq ($(BOARD),$(filter $(BOARD), evmAM572x)) PLATFORM_XDC = "ti.platforms.evmAM572X" endifru…�rv}rw(jYUjZjqubaubj)�rx}ry(jYXZifeq ($(BOARD),$(filter $(BOARD), myCustomBoard)) PLATFORM_XDC = "evmAM572XCustom" endifjZj“jbjljdjjf}rz(jöj÷jk]jj]jh]ji]jn]ujpM° jqhjr]r{j{XZifeq ($(BOARD),$(filter $(BOARD), myCustomBoard)) PLATFORM_XDC = "evmAM572XCustom" endifr|…�r}}r~(jYUjZjxubaubj)�r}r€(jYXThe SYSBIOS platforms follow the convention to consolidate all platform definitions under SYSBIOS_INSTALL_PATH/packages/ti/platforms/\* hence the convention ti.platorms. but for custom platform, users are not required to follow this convention.jZj“jbjljdjjf}r�(jh]ji]jj]jk]jn]ujpNjqhjr]r‚j¡)�rƒ}r„(jYXThe SYSBIOS platforms follow the convention to consolidate all platform definitions under SYSBIOS_INSTALL_PATH/packages/ti/platforms/\* hence the convention ti.platorms. but for custom platform, users are not required to follow this convention.jZjjbjljdj¥jf}r…(jh]ji]jj]jk]jn]ujpK�jr]r†j{XThe SYSBIOS platforms follow the convention to consolidate all platform definitions under SYSBIOS_INSTALL_PATH/packages/ti/platforms/* hence the convention ti.platorms. but for custom platform, users are not required to follow this convention.r‡…�rˆ}r‰(jYXThe SYSBIOS platforms follow the convention to consolidate all platform definitions under SYSBIOS_INSTALL_PATH/packages/ti/platforms/\* hence the convention ti.platorms. but for custom platform, users are not required to follow this convention.jZjƒubaubaubj¡)�rŠ}r‹(jYXv**Step 6: Update source files corresponding to drivers used in board library**. src_files_lld.mk file adds source files corresponding to LLD drivers used in the board library. Usually most boards utilitize control driver like I2C (for programming the PMIC or reading EEPROM), UART drivers (for IO) and boot media drivers like (SPI/QSPI, MMC or NAND). In the example below, we assume that the custom Board library has dependency on I2C, SPI and UART LLD drivers. Since the LLD drivers will be linked to the application along with board library, board library only needs _soc.c corresponding to SOC used on the custom Board.jZj“jbjljdj¥jf}rŒ(jh]ji]jj]jk]jn]ujpK†jqhjr]r�(jü)�rŽ}r�(jYXN**Step 6: Update source files corresponding to drivers used in board library**jf}r�(jh]ji]jj]jk]jn]ujZjŠjr]r‘j{XJStep 6: Update source files corresponding to drivers used in board libraryr’…�r“}r”(jYUjZjŽubajdjubj{X(. src_files_lld.mk file adds source files corresponding to LLD drivers used in the board library. Usually most boards utilitize control driver like I2C (for programming the PMIC or reading EEPROM), UART drivers (for IO) and boot media drivers like (SPI/QSPI, MMC or NAND). In the example below, we assume that the custom Board library has dependency on I2C, SPI and UART LLD drivers. Since the LLD drivers will be linked to the application along with board library, board library only needs _soc.c corresponding to SOC used on the custom Board.r•…�r–}r—(jYX(. src_files_lld.mk file adds source files corresponding to LLD drivers used in the board library. Usually most boards utilitize control driver like I2C (for programming the PMIC or reading EEPROM), UART drivers (for IO) and boot media drivers like (SPI/QSPI, MMC or NAND). In the example below, we assume that the custom Board library has dependency on I2C, SPI and UART LLD drivers. Since the LLD drivers will be linked to the application along with board library, board library only needs _soc.c corresponding to SOC used on the custom Board.jZjŠubeubj¡)�r˜}r™(jYXCIn packages/ti/board/src/src_files_lld.mk, add the following lines:ršjZj“jbjljdj¥jf}r›(jh]ji]jj]jk]jn]ujpK�jqhjr]rœj{XCIn packages/ti/board/src/src_files_lld.mk, add the following lines:r�…�rž}rŸ(jYjšjZj˜ubaubj)�r }r¡(jYXÕifeq ($(BOARD),$(filter $(BOARD), myCustomBoard)) SRCDIR += $(PDK_INSTALL_PATH)/ti/drv/i2c/soc/am572x \ $(PDK_INSTALL_PATH)/ti/drv/uart/soc/am572x \ $(PDK_INSTALL_PATH)/ti/drv/spi/soc/am572xjZj“jbjljdjjf}r¢(jöj÷jk]jj]jh]ji]jn]ujpMÉ jqhjr]r£j{XÕifeq ($(BOARD),$(filter $(BOARD), myCustomBoard)) SRCDIR += $(PDK_INSTALL_PATH)/ti/drv/i2c/soc/am572x \ $(PDK_INSTALL_PATH)/ti/drv/uart/soc/am572x \ $(PDK_INSTALL_PATH)/ti/drv/spi/soc/am572xr¤…�r¥}r¦(jYUjZj ubaubj)�r§}r¨(jYX£INCDIR += $(PDK_INSTALL_PATH)/ti/drv/i2c/soc/am572x \ $(PDK_INSTALL_PATH)/ti/drv/uart/soc/am572x \ $(PDK_INSTALL_PATH)/ti/drv/spi/soc/am572xjZj“jbjljdjjf}r©(jöj÷jk]jj]jh]ji]jn]ujpMÐ jqhjr]rªj{X£INCDIR += $(PDK_INSTALL_PATH)/ti/drv/i2c/soc/am572x \ $(PDK_INSTALL_PATH)/ti/drv/uart/soc/am572x \ $(PDK_INSTALL_PATH)/ti/drv/spi/soc/am572xr«…�r¬}r­(jYUjZj§ubaubj)�r®}r¯(jYXh# Common source files across all platforms and cores SRCS_COMMON += I2C_soc.c UART_soc.c SPI_soc.c endifjZj“jbjljdjjf}r°(jöj÷jk]jj]jh]ji]jn]ujpMÖ jqhjr]r±j{Xh# Common source files across all platforms and cores SRCS_COMMON += I2C_soc.c UART_soc.c SPI_soc.c endifr²…�r³}r´(jYUjZj®ubaubj)�rµ}r¶(jYX×For all LLD drivers linked to the board library you need to include corresponding _soc.c file. For example if you include GPIO driver for setting board mux then GPIO_soc.c needs to be added to LLD source files.jZj“jbjljdjjf}r·(jh]ji]jj]jk]jn]ujpNjqhjr]r¸j¡)�r¹}rº(jYX×For all LLD drivers linked to the board library you need to include corresponding _soc.c file. For example if you include GPIO driver for setting board mux then GPIO_soc.c needs to be added to LLD source files.r»jZjµjbjljdj¥jf}r¼(jh]ji]jj]jk]jn]ujpK¨jr]r½j{X×For all LLD drivers linked to the board library you need to include corresponding _soc.c file. For example if you include GPIO driver for setting board mux then GPIO_soc.c needs to be added to LLD source files.r¾…�r¿}rÀ(jYj»jZj¹ubaubaubj¡)�rÁ}rÂ(jYX=**Step 7: Add custom Board to BOARDLIST and update CORELIST**rÃjZj“jbjljdj¥jf}rÄ(jh]ji]jj]jk]jn]ujpK­jqhjr]rÅjü)�rÆ}rÇ(jYjÃjf}rÈ(jh]ji]jj]jk]jn]ujZjÁjr]rÉj{X9Step 7: Add custom Board to BOARDLIST and update CORELISTrÊ…�rË}rÌ(jYUjZjÆubajdjubaubj¡)�rÍ}rÎ(jYXIn packages/ti/board/board_component.mk, modify the build to add your custom board and specify the cores for which you want to build the board library. Example to build board library for only A15 and C66x cores, limit the build by specify only a15_0 and C66x in the CORELISTrÏjZj“jbjljdj¥jf}rÐ(jh]ji]jj]jk]jn]ujpK¯jqhjr]rÑj{XIn packages/ti/board/board_component.mk, modify the build to add your custom board and specify the cores for which you want to build the board library. Example to build board library for only A15 and C66x cores, limit the build by specify only a15_0 and C66x in the CORELISTrÒ…�rÓ}rÔ(jYjÏjZjÍubaubj)�rÕ}rÖ(jYX¹board_lib_BOARDLIST = myCustomBoard evmAM335x icev2AM335x skAM335x bbbAM335x evmAM437x idkAM437x skAM437x evmAM572x idkAM571x idkAM572x evmK2H evmK2K evmK2E evmK2L evmK2G iceK2G \jZj“jbjljdjjf}r×(jöj÷jk]jj]jh]ji]jn]ujpMê jqhjr]rØj{X¹board_lib_BOARDLIST = myCustomBoard evmAM335x icev2AM335x skAM335x bbbAM335x evmAM437x idkAM437x skAM437x evmAM572x idkAM571x idkAM572x evmK2H evmK2K evmK2E evmK2L evmK2G iceK2G \rÙ…�rÚ}rÛ(jYUjZjÕubaubj)�rÜ}rÝ(jYXU#board_lib_am572x_CORELIST = c66x a15_0 ipu1_0 board_lib_am572x_CORELIST = a15_0 c66xjZj“jbjljdjjf}rÞ(jöj÷jk]jj]jh]ji]jn]ujpMî jqhjr]rßj{XU#board_lib_am572x_CORELIST = c66x a15_0 ipu1_0 board_lib_am572x_CORELIST = a15_0 c66xrà…�rá}râ(jYUjZjÜubaubj¡)�rã}rä(jYX<**Step 8: Update .bld files for XDCTOOL based build steps.**råjZj“jbjljdj¥jf}ræ(jh]ji]jj]jk]jn]ujpK½jqhjr]rçjü)�rè}ré(jYjåjf}rê(jh]ji]jj]jk]jn]ujZjãjr]rëj{X8Step 8: Update .bld files for XDCTOOL based build steps.rì…�rí}rî(jYUjZjèubajdjubaubj¡)�rï}rð(jYXZMake corresponding changes in packages/ti/board/config.bld, by adding the following lines:rñjZj“jbjljdj¥jf}rò(jh]ji]jj]jk]jn]ujpK¿jqhjr]rój{XZMake corresponding changes in packages/ti/board/config.bld, by adding the following lines:rô…�rõ}rö(jYjñjZjïubaubj)�r÷}rø(jYX?var myCustomBoard = { name: "myCustomBoard", ccOpts: "-DevmAM572x -DSOC_AM572x", targets: [C66LE,A15LE ] lldFiles: [ "$(PDK_INSTALL_PATH)/ti/drv/i2c/soc/am572x/I2C_soc.c", "$(PDK_INSTALL_PATH)/ti/drv/uart/soc/am572x/UART_soc.c", "$(PDK_INSTALL_PATH)/ti/drv/spi/soc/am572x/SPI_soc.c"] }jZj“jbjljdjjf}rù(jöj÷jk]jj]jh]ji]jn]ujpMø jqhjr]rúj{X?var myCustomBoard = { name: "myCustomBoard", ccOpts: "-DevmAM572x -DSOC_AM572x", targets: [C66LE,A15LE ] lldFiles: [ "$(PDK_INSTALL_PATH)/ti/drv/i2c/soc/am572x/I2C_soc.c", "$(PDK_INSTALL_PATH)/ti/drv/uart/soc/am572x/UART_soc.c", "$(PDK_INSTALL_PATH)/ti/drv/spi/soc/am572x/SPI_soc.c"] }rû…�rü}rý(jYUjZj÷ubaubj)�rþ}rÿ(jYXÉvar boards = [ evmAM335x, icev2AM335x, skAM335x, bbbAM335x, evmAM437x, idkAM437x, skAM437x, myCustomBoard, evmAM572x, idkAM571x, idkAM572x, evmK2H, evmK2K, evmK2E, evmK2L, evmK2G, evmC6678, evmC6657 ];jZj“jbjljdjjf}r(jöj÷jk]jj]jh]ji]jn]ujpM jqhjr]rj{XÉvar boards = [ evmAM335x, icev2AM335x, skAM335x, bbbAM335x, evmAM437x, idkAM437x, skAM437x, myCustomBoard, evmAM572x, idkAM571x, idkAM572x, evmK2H, evmK2K, evmK2E, evmK2L, evmK2G, evmC6678, evmC6657 ];r…�r}r(jYUjZjþubaubj¡)�r}r(jYXCAlso, in packages/ti/board/package.bld, I added the following line:rjZj“jbjljdj¥jf}r(jh]ji]jj]jk]jn]ujpKÑjqhjr]r j{XCAlso, in packages/ti/board/package.bld, I added the following line:r …�r }r (jYjjZjubaubj)�r }r(jYXYPkg.otherFiles[Pkg.otherFiles.length++] = "src/myCustomBoard/src_files_myCustomBoard.mk";jZj“jbjljdjjf}r(jöj÷jk]jj]jh]ji]jn]ujpM jqhjr]rj{XYPkg.otherFiles[Pkg.otherFiles.length++] = "src/myCustomBoard/src_files_myCustomBoard.mk";r…�r}r(jYUjZj ubaubj¡)�r}r(jYXY**Step 9: Setup Top level PDK build files to add the Custom board to setup environment.**rjZj“jbjljdj¥jf}r(jh]ji]jj]jk]jn]ujpKØjqhjr]rjü)�r}r(jYjjf}r(jh]ji]jj]jk]jn]ujZjjr]rj{XUStep 9: Setup Top level PDK build files to add the Custom board to setup environment.r…�r}r(jYUjZjubajdjubaubj¡)�r }r!(jYX÷Final setup involves updating the top level setup file for PDK package to update to setup the build environment to include the custom Board in setup. This can be done by commenting out the top line and adding in the bottom line in pdksetupenv.bat:r"jZj“jbjljdj¥jf}r#(jh]ji]jj]jk]jn]ujpKÛjqhjr]r$j{X÷Final setup involves updating the top level setup file for PDK package to update to setup the build environment to include the custom Board in setup. This can be done by commenting out the top line and adding in the bottom line in pdksetupenv.bat:r%…�r&}r'(jYj"jZj ubaubj)�r(}r)(jYXŠ@REM if not defined LIMIT_BOARDS set LIMIT_BOARDS=evmAM572x idkAM571x idkAM572x if not defined LIMIT_BOARDS set LIMIT_BOARDS=myCustomBoardjZj“jbjljdjjf}r*(jöj÷jk]jj]jh]ji]jn]ujpM jqhjr]r+j{XŠ@REM if not defined LIMIT_BOARDS set LIMIT_BOARDS=evmAM572x idkAM571x idkAM572x if not defined LIMIT_BOARDS set LIMIT_BOARDS=myCustomBoardr,…�r-}r.(jYUjZj(ubaubj¡)�r/}r0(jYXõ**Alternative:** Invoke the build using command line options to limit the build to specific board, specific SOC and specific CORE. For example, if you want to build the A15 version of board library for AM572x EVM, you can invoke the build using:jZj“jbjljdj¥jf}r1(jh]ji]jj]jk]jn]ujpKæjqhjr]r2(jü)�r3}r4(jYX**Alternative:**jf}r5(jh]ji]jj]jk]jn]ujZj/jr]r6j{X Alternative:r7…�r8}r9(jYUjZj3ubajdjubj{Xå Invoke the build using command line options to limit the build to specific board, specific SOC and specific CORE. For example, if you want to build the A15 version of board library for AM572x EVM, you can invoke the build using:r:…�r;}r<(jYXå Invoke the build using command line options to limit the build to specific board, specific SOC and specific CORE. For example, if you want to build the A15 version of board library for AM572x EVM, you can invoke the build using:jZj/ubeubj)�r=}r>(jYXMgmake board_lib LIMIT_SOCS=am572x LIMIT_BOARDS=customAM572x LIMIT_CORES=a15_0jZj“jbjljdjjf}r?(jöj÷jk]jj]jh]ji]jn]ujpM! jqhjr]r@j{XMgmake board_lib LIMIT_SOCS=am572x LIMIT_BOARDS=customAM572x LIMIT_CORES=a15_0rA…�rB}rC(jYUjZj=ubaubj¡)�rD}rE(jYXB**Step 10 : Building the custom board with the updated settings**rFjZj“jbjljdj¥jf}rG(jh]ji]jj]jk]jn]ujpKñjqhjr]rHjü)�rI}rJ(jYjFjf}rK(jh]ji]jj]jk]jn]ujZjDjr]rLj{X>Step 10 : Building the custom board with the updated settingsrM…�rN}rO(jYUjZjIubajdjubaubj¡)�rP}rQ(jYXlTo build package change directory to /pdk_am57xx_x_x_x/packages, first run pdksetupenv.batrRjZj“jbjljdj¥jf}rS(jh]ji]jj]jk]jn]ujpKójqhjr]rTj{XlTo build package change directory to /pdk_am57xx_x_x_x/packages, first run pdksetupenv.batrU…�rV}rW(jYjRjZjPubaubj¡)�rX}rY(jYX/To make just the board library: gmake board_librZjZj“jbjljdj¥jf}r[(jh]ji]jj]jk]jn]ujpKöjqhjr]r\j{X/To make just the board library: gmake board_libr]…�r^}r_(jYjZjZjXubaubeubj[)�r`}ra(jYUjZjZjbjljdjejf}rb(jh]ji]jj]jk]rcU*example-custom-board-library-for-referencerdajn]rehWaujpKújqhjr]rf(jt)�rg}rh(jYX*Example custom Board library for referencerijZj`jbjljdjxjf}rj(jh]ji]jj]jk]jn]ujpKújqhjr]rkj{X*Example custom Board library for referencerl…�rm}rn(jYjijZjgubaubj¡)�ro}rp(jYXïThe package provided below provides updated files for building customBoard "customAM572x" following all steps described above. Please compare the files to the evmAM57xx board library files to follow the steps to add your own board library.rqjZj`jbjljdj¥jf}rr(jh]ji]jj]jk]jn]ujpKüjqhjr]rsj{XïThe package provided below provides updated files for building customBoard "customAM572x" following all steps described above. Please compare the files to the evmAM57xx board library files to follow the steps to add your own board library.rt…�ru}rv(jYjqjZjoubaubj¡)�rw}rx(jYXƒ`File:Pdk packages ti board customAM572x.zip `__ryjZj`jbjljdj¥jf}rz(jh]ji]jj]jk]jn]ujpMjqhjr]r{jÜ)�r|}r}(jYjyjf}r~(UnameX+File:Pdk packages ti board customAM572x.zipjXQ/index.php?title=Special:Upload&wpDestFile=Pdk_packages_ti_board_customAM572x.zipjk]jj]jh]ji]jn]ujZjwjr]rj{X+File:Pdk packages ti board customAM572x.zipr€…�r�}r‚(jYUjZj|ubajdjàubaubj)�rƒ}r„(jYX°Due to software distribution policy on the wiki, we have removed the file linked here. Users can refer to the discussion and zipped package linked from E2E post provided below:jZj`jbjljdjjf}r…(jh]ji]jj]jk]jn]ujpNjqhjr]r†j¡)�r‡}rˆ(jYX°Due to software distribution policy on the wiki, we have removed the file linked here. Users can refer to the discussion and zipped package linked from E2E post provided below:r‰jZjƒjbjljdj¥jf}rŠ(jh]ji]jj]jk]jn]ujpMjr]r‹j{X°Due to software distribution policy on the wiki, we have removed the file linked here. Users can refer to the discussion and zipped package linked from E2E post provided below:rŒ…�r�}rŽ(jYj‰jZj‡ubaubaubjC)�r�}r�(jYUjZj`jbjljdj`jf}r‘(jGX-jk]jj]jh]ji]jn]ujpM jqhjr]r’j/)�r“}r”(jYX`E2E post on creation of custom board library `__ jZj�jbjljdj2jf}r•(jh]ji]jj]jk]jn]ujpNjqhjr]r–j¡)�r—}r˜(jYX~`E2E post on creation of custom board library `__r™jZj“jbjljdj¥jf}rš(jh]ji]jj]jk]jn]ujpM jr]r›jÜ)�rœ}r�(jYj™jf}rž(UnameX,E2E post on creation of custom board libraryjXKhttps://e2e.ti.com/support/arm/sitara_arm/f/791/p/555022/2040948#pi316653=2jk]jj]jh]ji]jn]ujZj—jr]rŸj{X,E2E post on creation of custom board libraryr …�r¡}r¢(jYUjZjœubajdjàubaubaubaubeubj[)�r£}r¤(jYUjZjZjbjljdjejf}r¥(jh]ji]jj]jk]r¦U(additional-steps-for-am335x-am437x-usersr§ajn]r¨haujpM jqhjr]r©(jt)�rª}r«(jYX(Additional steps for AM335x/AM437x usersr¬jZj£jbjljdjxjf}r­(jh]ji]jj]jk]jn]ujpM jqhjr]r®j{X(Additional steps for AM335x/AM437x usersr¯…�r°}r±(jYj¬jZjªubaubj)�r²}r³(jYXNCurrently the AM335x and AM437x board libraries re-use the board support that was used in legacy starterware software. AM335x and AM437x users will need to additionally modify build files in starterware to build their custom board library. Additional steps required for AM335x/AM437x will be added to this article soon in this sectionjZj£jbjljdjjf}r´(jh]ji]jj]jk]jn]ujpNjqhjr]rµj¡)�r¶}r·(jYXNCurrently the AM335x and AM437x board libraries re-use the board support that was used in legacy starterware software. AM335x and AM437x users will need to additionally modify build files in starterware to build their custom board library. Additional steps required for AM335x/AM437x will be added to this article soon in this sectionr¸jZj²jbjljdj¥jf}r¹(jh]ji]jj]jk]jn]ujpMjr]rºj{XNCurrently the AM335x and AM437x board libraries re-use the board support that was used in legacy starterware software. AM335x and AM437x users will need to additionally modify build files in starterware to build their custom board library. Additional steps required for AM335x/AM437x will be added to this article soon in this sectionr»…�r¼}r½(jYj¸jZj¶ubaubaubeubeubj[)�r¾}r¿(jYUjZjKjbjcjdjejf}rÀ(jh]ji]jj]jk]rÁU?processor-sdk-rtos-porting-guide-for-am571x-am570x-speed-gradesrÂajn]rÃh,aujpKLjqhjr]rÄ(jt)�rÅ}rÆ(jYX?Processor SDK RTOS Porting Guide for AM571x/AM570x Speed GradesrÇjZj¾jbjcjdjxjf}rÈ(jh]ji]jj]jk]jn]ujpKLjqhjr]rÉj{X?Processor SDK RTOS Porting Guide for AM571x/AM570x Speed GradesrÊ…�rË}rÌ(jYjÇjZjÅubaubjî)�rÍ}rÎ(jYXghttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Porting_Guide_for_AM571x/AM570x_Speed_GradesjZj¾jbj�X^source/rtos/How_to_Guides/Host/Porting/PSDK_RTOS_Porting_Guide_for_AM57xx_Speed_Grades.rst.incrÏ…�rÐ}rÑbjdjôjf}rÒ(jöj÷jk]jj]jh]ji]jn]ujpKjqhjr]rÓj{Xghttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Porting_Guide_for_AM571x/AM570x_Speed_GradesrÔ…�rÕ}rÖ(jYUjZjÍubaubj[)�r×}rØ(jYUjìKjZj¾jbjÐjdjejf}rÙ(jh]rÚj:aji]jj]jk]rÛUid30rÜajn]ujpKjqhjr]rÝ(jt)�rÞ}rß(jYX DescriptionràjZj×jbjÐjdjxjf}rá(jh]ji]jj]jk]jn]ujpKjqhjr]râj{X Descriptionrã…�rä}rå(jYjàjZjÞubaubj¡)�ræ}rç(jYXÙThe AM57x Family of Processors includes a wide range of operating performance to meet the needs of a number of broad applications. Among these options are a variety of speed grades to meet different performance points. These devices have a number of specialized cores to provide applications specific computation capabilities. These cores can be run at different speeds to fine tune the processor to the needs of the application, power budget, thermal characteristics, etc.rèjZj×jbjÐjdj¥jf}ré(jh]ji]jj]jk]jn]ujpKjqhjr]rêj{XÙThe AM57x Family of Processors includes a wide range of operating performance to meet the needs of a number of broad applications. Among these options are a variety of speed grades to meet different performance points. These devices have a number of specialized cores to provide applications specific computation capabilities. These cores can be run at different speeds to fine tune the processor to the needs of the application, power budget, thermal characteristics, etc.rë…�rì}rí(jYjèjZjæubaubj¡)�rî}rï(jYXKThe Processor SDK for RTOS is a software development package provided to speed development by providing a software reference. This package now includes support for then entire AM57x family of processors which can be broken down into the AM572x, AM571x, and AM570x sets of devices or sub-familes. Most of the devices in this family are supported by the Processor SDK for RTOS right out of the box. This support is tested and validated on TI designed EVMs. These EVMs use the highest performance devices in the family in order to allow users to evaluate the entire spectrum of performance.rðjZj×jbjÐjdj¥jf}rñ(jh]ji]jj]jk]jn]ujpKjqhjr]ròj{XKThe Processor SDK for RTOS is a software development package provided to speed development by providing a software reference. This package now includes support for then entire AM57x family of processors which can be broken down into the AM572x, AM571x, and AM570x sets of devices or sub-familes. Most of the devices in this family are supported by the Processor SDK for RTOS right out of the box. This support is tested and validated on TI designed EVMs. These EVMs use the highest performance devices in the family in order to allow users to evaluate the entire spectrum of performance.ró…�rô}rõ(jYjðjZjîubaubj¡)�rö}r÷(jYX?The AM571X and AM570x supports several lower power speed grades. If one of these devices is being used on the custom board, the GEL file and the board library needs to be changed to account for this difference. If this change is not made, the device could be running out of specification. These changes may reach across other cores and clocks on the device as well, depending on what speeds they need to operate at. This document is not an exhaustive list of all the changes needed for a proper board port as it focused on the changes needed to enable different speed grades.røjZj×jbjÐjdj¥jf}rù(jh]ji]jj]jk]jn]ujpKjqhjr]rúj{X?The AM571X and AM570x supports several lower power speed grades. If one of these devices is being used on the custom board, the GEL file and the board library needs to be changed to account for this difference. If this change is not made, the device could be running out of specification. These changes may reach across other cores and clocks on the device as well, depending on what speeds they need to operate at. This document is not an exhaustive list of all the changes needed for a proper board port as it focused on the changes needed to enable different speed grades.rû…�rü}rý(jYjøjZjöubaubeubj[)�rþ}rÿ(jYUjZj¾jbjÐjdjejf}r(jh]ji]jj]jk]rU.comparison-of-am572x-am571x-and-am570x-devicesrajn]rhåaujpK#jqhjr]r(jt)�r}r(jYX/Comparison of AM572x, AM571x and AM570x devicesrjZjþjbjÐjdjxjf}r(jh]ji]jj]jk]jn]ujpK#jqhjr]r j{X/Comparison of AM572x, AM571x and AM570x devicesr …�r }r (jYjjZjubaubj¡)�r }r(jYXK**Quick Feature Set comparison between devices in Sitara AM57xx family :**rjZjþjbjÐjdj¥jf}r(jh]ji]jj]jk]jn]ujpK%jqhjr]rjü)�r}r(jYjjf}r(jh]ji]jj]jk]jn]ujZj jr]rj{XGQuick Feature Set comparison between devices in Sitara AM57xx family :r…�r}r(jYUjZjubajdjubaubjB)�r}r(jYX9.. Image:: ../images/AM572x_AM571X_AM570x_Comparison.png jZjþjbjÐjdjEjf}r(UuriX2rtos/../images/AM572x_AM571X_AM570x_Comparison.pngrjk]jj]jh]ji]jH}rU*jsjn]ujpK)jqhjr]ubjZ)�r}r(jYUjZjþjbjÐjdj]jf}r (jh]ji]jj]jk]jn]ujpK*jqhjr]r!(j`)�r"}r#(jYUjcKjZjjbjÐjdjpjf}r$(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�r%}r&(jYX$**Supported OPP on AM57xx devices:**r'jcKjZjjbjÐjdjpjf}r((jh]ji]jj]jk]jn]ujpK+jqhjr]r)jü)�r*}r+(jYj'jf}r,(jh]ji]jj]jk]jn]ujZj%jr]r-j{X Supported OPP on AM57xx devices:r.…�r/}r0(jYUjZj*ubajdjubaubeubjB)�r1}r2(jYX$.. Image:: ../images/AM57xx_OPP.png jZjþjbjÐjdjEjf}r3(UuriXrtos/../images/AM57xx_OPP.pngr4jk]jj]jh]ji]jH}r5U*j4sjn]ujpK.jqhjr]ubeubj[)�r6}r7(jYUjZj¾jbjÐjdjejf}r8(jh]ji]jj]jk]r9U.code-composer-studio-ccs-and-emulation-supportr:ajn]r;haujpK0jqhjr]r<(jt)�r=}r>(jYX0Code Composer Studio (CCS) and Emulation supportr?jZj6jbjÐjdjxjf}r@(jh]ji]jj]jk]jn]ujpK0jqhjr]rAj{X0Code Composer Studio (CCS) and Emulation supportrB…�rC}rD(jYj?jZj=ubaubj¡)�rE}rF(jYXFTI Supports following evaluation platform for AM57xx class of devices:rGjZj6jbjÐjdj¥jf}rH(jh]ji]jj]jk]jn]ujpK2jqhjr]rIj{XFTI Supports following evaluation platform for AM57xx class of devices:rJ…�rK}rL(jYjGjZjEubaubjC)�rM}rN(jYUjZj6jbjÐjdj`jf}rO(jGX-jk]jj]jh]ji]jn]ujpK4jqhjr]rP(j/)�rQ}rR(jYXP`AM572x GP EVM `__rSjZjMjbjÐjdj2jf}rT(jh]ji]jj]jk]jn]ujpNjqhjr]rUj¡)�rV}rW(jYjSjZjQjbjÐjdj¥jf}rX(jh]ji]jj]jk]jn]ujpK4jr]rYjÜ)�rZ}r[(jYjSjf}r\(UnameX AM572x GP EVMjX<index_release_specific.html#supported-platforms-and-versionsjk]jj]jh]ji]jn]ujZjVjr]r]j{X AM572x GP EVMr^…�r_}r`(jYUjZjZubajdjàubaubaubj/)�ra}rb(jYXM`AM571x IDK `__rcjZjMjbjÐjdj2jf}rd(jh]ji]jj]jk]jn]ujpNjqhjr]rej¡)�rf}rg(jYjcjZjajbjÐjdj¥jf}rh(jh]ji]jj]jk]jn]ujpK5jr]rijÜ)�rj}rk(jYjcjf}rl(UnameX AM571x IDKjX<index_release_specific.html#supported-platforms-and-versionsjk]jj]jh]ji]jn]ujZjfjr]rmj{X AM571x IDKrn…�ro}rp(jYUjZjjubajdjàubaubaubj/)�rq}rr(jYXN`AM572x IDK `__ jZjMjbjÐjdj2jf}rs(jh]ji]jj]jk]jn]ujpNjqhjr]rtj¡)�ru}rv(jYXM`AM572x IDK `__rwjZjqjbjÐjdj¥jf}rx(jh]ji]jj]jk]jn]ujpK6jr]ryjÜ)�rz}r{(jYjwjf}r|(UnameX AM572x IDKjX<index_release_specific.html#supported-platforms-and-versionsjk]jj]jh]ji]jn]ujZjujr]r}j{X AM572x IDKr~…�r}r€(jYUjZjzubajdjàubaubaubeubj¡)�r�}r‚(jYXâWhen developer selects any of the above platforms in Code composer Studio, the target configuration automatically brings in the required initialization files and GEL files to configure the clocks, slave cores, external memory.rƒjZj6jbjÐjdj¥jf}r„(jh]ji]jj]jk]jn]ujpK8jqhjr]r…j{XâWhen developer selects any of the above platforms in Code composer Studio, the target configuration automatically brings in the required initialization files and GEL files to configure the clocks, slave cores, external memory.r†…�r‡}rˆ(jYjƒjZj�ubaubj¡)�r‰}rŠ(jYXùIf you are using a custom platform or AM5708 device that is not available on a TI Evaluation platform, you can follow the steps provided below to connect to the SOC by reusing the GEL files that are provided for TI evaluation platforms. For example, here we demonstrate how you can create a target configuration for AM570x and connect to the device if your board design is based of one of TI evalauation platforms listed below. The assumption here is that the custom board is based off AM571X IDK platformr‹jZj6jbjÐjdj¥jf}rŒ(jh]ji]jj]jk]jn]ujpK=jqhjr]r�j{XùIf you are using a custom platform or AM5708 device that is not available on a TI Evaluation platform, you can follow the steps provided below to connect to the SOC by reusing the GEL files that are provided for TI evaluation platforms. For example, here we demonstrate how you can create a target configuration for AM570x and connect to the device if your board design is based of one of TI evalauation platforms listed below. The assumption here is that the custom board is based off AM571X IDK platformrŽ…�r�}r�(jYj‹jZj‰ubaubj)�r‘}r’(jYX-Support for AM5708 was added to Sitara Chip Support Package 1.3.4 in Code composer Studio. If you don`t see the device definition in CCS, then you can update the Sitara Chip Support package by going to `Help->Check Updates `__jZj6jbjÐjdjjf}r“(jh]ji]jj]jk]jn]ujpNjqhjr]r”j¡)�r•}r–(jYX-Support for AM5708 was added to Sitara Chip Support Package 1.3.4 in Code composer Studio. If you don`t see the device definition in CCS, then you can update the Sitara Chip Support package by going to `Help->Check Updates `__jZj‘jbjÐjdj¥jf}r—(jh]ji]jj]jk]jn]ujpKGjr]r˜(j{XÊSupport for AM5708 was added to Sitara Chip Support Package 1.3.4 in Code composer Studio. If you don`t see the device definition in CCS, then you can update the Sitara Chip Support package by going to r™…�rš}r›(jYXÊSupport for AM5708 was added to Sitara Chip Support Package 1.3.4 in Code composer Studio. If you don`t see the device definition in CCS, then you can update the Sitara Chip Support package by going to jZj•ubjÜ)�rœ}r�(jYXc`Help->Check Updates `__jf}rž(UnameXHelp->Check UpdatesjXIhttp://ap-fpdsp-swapps.dal.design.ti.com/index.php/File:Check_Updates.pngjk]jj]jh]ji]jn]ujZj•jr]rŸj{XHelp->Check Updatesr …�r¡}r¢(jYUjZjœubajdjàubeubaubj¡)�r£}r¤(jYXT**Step 1: Select the AM570x part number that is populated on your custom platform:**r¥jZj6jbjÐjdj¥jf}r¦(jh]ji]jj]jk]jn]ujpKNjqhjr]r§jü)�r¨}r©(jYj¥jf}rª(jh]ji]jj]jk]jn]ujZj£jr]r«j{XPStep 1: Select the AM570x part number that is populated on your custom platform:r¬…�r­}r®(jYUjZj¨ubajdjubaubjB)�r¯}r°(jYX:.. Image:: ../images/AM5708_EVM_target_configurations.png jZj6jbjÐjdjEjf}r±(UuriX3rtos/../images/AM5708_EVM_target_configurations.pngr²jk]jj]jh]ji]jH}r³U*j²sjn]ujpKRjqhjr]ubj¡)�r´}rµ(jYX³**Step 2: Setup the GEL files for the SOC** Go to the Advanced Tab as shown in the previous screenshot and update startup GEL file in the A15 Core as shown in the screenshot belowjZj6jbjÐjdj¥jf}r¶(jh]ji]jj]jk]jn]ujpKSjqhjr]r·(jü)�r¸}r¹(jYX+**Step 2: Setup the GEL files for the SOC**jf}rº(jh]ji]jj]jk]jn]ujZj´jr]r»j{X'Step 2: Setup the GEL files for the SOCr¼…�r½}r¾(jYUjZj¸ubajdjubj{Xˆ Go to the Advanced Tab as shown in the previous screenshot and update startup GEL file in the A15 Core as shown in the screenshot belowr¿…�rÀ}rÁ(jYXˆ Go to the Advanced Tab as shown in the previous screenshot and update startup GEL file in the A15 Core as shown in the screenshot belowjZj´ubeubjB)�rÂ}rÃ(jYX5.. Image:: ../images/Advanced_settings_GEL_setup.png jZj6jbjÐjdjEjf}rÄ(UuriX.rtos/../images/Advanced_settings_GEL_setup.pngrÅjk]jj]jh]ji]jH}rÆU*jÅsjn]ujpKXjqhjr]ubeubj[)�rÇ}rÈ(jYUjZj¾jbjÐjdjejf}rÉ(jh]ji]jj]jk]rÊU>board-library-changes-to-consider-for-using-processor-sdk-rtosrËajn]rÌh‹aujpKZjqhjr]rÍ(jt)�rÎ}rÏ(jYX>Board Library Changes to Consider for Using Processor SDK RTOSrÐjZjÇjbjÐjdjxjf}rÑ(jh]ji]jj]jk]jn]ujpKZjqhjr]rÒj{X>Board Library Changes to Consider for Using Processor SDK RTOSrÓ…�rÔ}rÕ(jYjÐjZjÎubaubj[)�rÖ}r×(jYUjZjÇjbjÐjdjejf}rØ(jh]ji]jj]jk]rÙU"clock-and-prcm-updates-to-considerrÚajn]rÛhtaujpK]jqhjr]rÜ(jt)�rÝ}rÞ(jYX"Clock and PRCM Updates to considerrßjZjÖjbjÐjdjxjf}rà(jh]ji]jj]jk]jn]ujpK]jqhjr]ráj{X"Clock and PRCM Updates to considerrâ…�rã}rä(jYjßjZjÝubaubj¡)�rå}ræ(jYXkThe board library provides setting for OPP_NOM, OPP_OD and OPP_HIGH in the PLL settings using 20 MHz input clock that has been used on the AM572x GP EVM as well as the AM571x IDK platform. This allows customers to setup the MPU to 1.5, 1.176 and 1GHz. For AM570x devices, we support the "J" and the "D" variant which support the following max speeds on the DPLLs:rçjZjÖjbjÐjdj¥jf}rè(jh]ji]jj]jk]jn]ujpK_jqhjr]réj{XkThe board library provides setting for OPP_NOM, OPP_OD and OPP_HIGH in the PLL settings using 20 MHz input clock that has been used on the AM572x GP EVM as well as the AM571x IDK platform. This allows customers to setup the MPU to 1.5, 1.176 and 1GHz. For AM570x devices, we support the "J" and the "D" variant which support the following max speeds on the DPLLs:rê…�rë}rì(jYjçjZjåubaubjB)�rí}rî(jYX-.. Image:: ../images/AM5706_Speed_Grades.png jZjÖjbjÐjdjEjf}rï(UuriX&rtos/../images/AM5706_Speed_Grades.pngrðjk]jj]jh]ji]jH}rñU*jðsjn]ujpKgjqhjr]ubj¡)�rò}ró(jYXzWhen using the "J" speed grade, ensure that the DPLLs in the board set the DPLL to OPP_NOM and not for OPP_OD or OPP_HIGH.rôjZjÖjbjÐjdj¥jf}rõ(jh]ji]jj]jk]jn]ujpKhjqhjr]röj{XzWhen using the "J" speed grade, ensure that the DPLLs in the board set the DPLL to OPP_NOM and not for OPP_OD or OPP_HIGH.r÷…�rø}rù(jYjôjZjòubaubj¡)�rú}rû(jYXLTo do this, you can invoke the Board_Init from your application using eitherrüjZjÖjbjÐjdj¥jf}rý(jh]ji]jj]jk]jn]ujpKkjqhjr]rþj{XLTo do this, you can invoke the Board_Init from your application using eitherrÿ…�r }r (jYjüjZjúubaubj)�r }r (jYX/Board_initCfg boardCfg; boardCfg = BOARD_INIT_PLL_OPP_NOM; boardCfg |= BOARD_INIT_UNLOCK_MMR | BOARD_INIT_MODULE_CLOCK | BOARD_INIT_PINMUX_CONFIG | BOARD_INIT_DDR | BOARD_INIT_UART_STDIO | BOARD_INIT_WATCHDOG_DISABLE; /* Board Library Init. */ Board_init(boardCfg);jZjÖjbjÐjdjjf}r (j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpKnjqhjr]r j{X/Board_initCfg boardCfg; boardCfg = BOARD_INIT_PLL_OPP_NOM; boardCfg |= BOARD_INIT_UNLOCK_MMR | BOARD_INIT_MODULE_CLOCK | BOARD_INIT_PINMUX_CONFIG | BOARD_INIT_DDR | BOARD_INIT_UART_STDIO | BOARD_INIT_WATCHDOG_DISABLE; /* Board Library Init. */ Board_init(boardCfg);r …�r }r (jYUjZj ubaubj)�r }r (jYXZWhen bootloading direct from flash media, this change may also be required in the SBL codejZjÖjbjÐjdjjf}r (jh]ji]jj]jk]jn]ujpNjqhjr]r j¡)�r }r (jYXZWhen bootloading direct from flash media, this change may also be required in the SBL coder jZj jbjÐjdj¥jf}r (jh]ji]jj]jk]jn]ujpK|jr]r j{XZWhen bootloading direct from flash media, this change may also be required in the SBL coder …�r }r (jYj jZj ubaubaubj¡)�r }r (jYXõWhen using "D" rated parts that run at 500 MHz, in addition to the above configuration, you will also need to modify OPP_NOM settings in the board library by updating the DPLL setting for MPU and DSP in the file _pll.c as shown below:r jZjÖjbjÐjdj¥jf}r (jh]ji]jj]jk]jn]ujpKjqhjr]r j{XõWhen using "D" rated parts that run at 500 MHz, in addition to the above configuration, you will also need to modify OPP_NOM settings in the board library by updating the DPLL setting for MPU and DSP in the file _pll.c as shown below:r …�r }r (jYj jZj ubaubj¡)�r }r (jYX6**Step1 : Update MPU, DSP, IVA and GPU DPLL setting**r jZjÖjbjÐjdj¥jf}r (jh]ji]jj]jk]jn]ujpK„jqhjr]r! jü)�r" }r# (jYj jf}r$ (jh]ji]jj]jk]jn]ujZj jr]r% j{X2Step1 : Update MPU, DSP, IVA and GPU DPLL settingr& …�r' }r( (jYUjZj" ubajdjubaubjC)�r) }r* (jYUjZjÖjbjÐjdj`jf}r+ (jGX-jk]jj]jh]ji]jn]ujpK†jqhjr]r, j/)�r- }r. (jYX**MPU DPLL Changes:** jZj) jbjÐjdj2jf}r/ (jh]ji]jj]jk]jn]ujpNjqhjr]r0 j¡)�r1 }r2 (jYX**MPU DPLL Changes:**r3 jZj- jbjÐjdj¥jf}r4 (jh]ji]jj]jk]jn]ujpK†jr]r5 jü)�r6 }r7 (jYj3 jf}r8 (jh]ji]jj]jk]jn]ujZj1 jr]r9 j{XMPU DPLL Changes:r: …�r; }r< (jYUjZj6 ubajdjubaubaubaubj)�r= }r> (jYX¶/* Default to OPP_NOM */ /* 500MHz at 20MHz sys_clk */ mpuPllcParam.mult = 250U; mpuPllcParam.div = 9U; mpuPllcParam.dccEnable = 0U; mpuPllcParam.divM2 = 1U;jZjÖjbjÐjdjjf}r? (j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpKˆjqhjr]r@ j{X¶/* Default to OPP_NOM */ /* 500MHz at 20MHz sys_clk */ mpuPllcParam.mult = 250U; mpuPllcParam.div = 9U; mpuPllcParam.dccEnable = 0U; mpuPllcParam.divM2 = 1U;rA …�rB }rC (jYUjZj= ubaubjC)�rD }rE (jYUjZjÖjbjÐjdj`jf}rF (jGX-jk]jj]jh]ji]jn]ujpK‘jqhjr]rG j/)�rH }rI (jYX**DSP DPLL Changes:** jZjD jbjÐjdj2jf}rJ (jh]ji]jj]jk]jn]ujpNjqhjr]rK j¡)�rL }rM (jYX**DSP DPLL Changes:**rN jZjH jbjÐjdj¥jf}rO (jh]ji]jj]jk]jn]ujpK‘jr]rP jü)�rQ }rR (jYjN jf}rS (jh]ji]jj]jk]jn]ujZjL jr]rT j{XDSP DPLL Changes:rU …�rV }rW (jYUjZjQ ubajdjubaubaubaubj)�rX }rY (jYX€/* 500MHz at 20MHz sys_clk */ dspPllcParam.mult = 130U; dspPllcParam.div = 3U; dspPllcParam.divM2 = 1U; dspPllcParam.divM3 = 3U;jZjÖjbjÐjdjjf}rZ (j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpK“jqhjr]r[ j{X€/* 500MHz at 20MHz sys_clk */ dspPllcParam.mult = 130U; dspPllcParam.div = 3U; dspPllcParam.divM2 = 1U; dspPllcParam.divM3 = 3U;r\ …�r] }r^ (jYUjZjX ubaubjC)�r_ }r` (jYUjZjÖjbjÐjdj`jf}ra (jGX-jk]jj]jh]ji]jn]ujpK›jqhjr]rb j/)�rc }rd (jYX$**Remove IVA and GPU PLL settings** jZj_ jbjÐjdj2jf}re (jh]ji]jj]jk]jn]ujpNjqhjr]rf j¡)�rg }rh (jYX#**Remove IVA and GPU PLL settings**ri jZjc jbjÐjdj¥jf}rj (jh]ji]jj]jk]jn]ujpK›jr]rk jü)�rl }rm (jYji jf}rn (jh]ji]jj]jk]jn]ujZjg jr]ro j{XRemove IVA and GPU PLL settingsrp …�rq }rr (jYUjZjl ubajdjubaubaubaubj¡)�rs }rt (jYXySince IVA and GPU modules are not available on the device, we recommend removing the ivaPLL and gpuPLL settings in board.ru jZjÖjbjÐjdj¥jf}rv (jh]ji]jj]jk]jn]ujpK�jqhjr]rw j{XySince IVA and GPU modules are not available on the device, we recommend removing the ivaPLL and gpuPLL settings in board.rx …�ry }rz (jYju jZjs ubaubj)�r{ }r| (jYX¡ /* Default to OPP_NOM */ /* 388.3MHz at 20MHz sys_clk */ - ivaPllcParam.mult = 233U; - ivaPllcParam.div = 3U; - ivaPllcParam.divM2 = 3U; /* Default to OPP_NOM */ /* 425MHz at 20MHz sys_clk */ - gpuPllcParam.mult = 170U; - gpuPllcParam.div = 3U; - gpuPllcParam.divM2 = 2U;jZjÖjbjÐjdjjf}r} (j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpK jqhjr]r~ j{X¡ /* Default to OPP_NOM */ /* 388.3MHz at 20MHz sys_clk */ - ivaPllcParam.mult = 233U; - ivaPllcParam.div = 3U; - ivaPllcParam.divM2 = 3U; /* Default to OPP_NOM */ /* 425MHz at 20MHz sys_clk */ - gpuPllcParam.mult = 170U; - gpuPllcParam.div = 3U; - gpuPllcParam.divM2 = 2U;r …�r€ }r� (jYUjZj{ ubaubj¡)�r‚ }rƒ (jYXE**Step 2 : Disable clocks configuration and wakeup for IVA in PRCM**r„ jZjÖjbjÐjdj¥jf}r… (jh]ji]jj]jk]jn]ujpK¯jqhjr]r† jü)�r‡ }rˆ (jYj„ jf}r‰ (jh]ji]jj]jk]jn]ujZj‚ jr]rŠ j{XAStep 2 : Disable clocks configuration and wakeup for IVA in PRCMr‹ …�rŒ }r� (jYUjZj‡ ubajdjubaubjC)�rŽ }r� (jYUjZjÖjbjÐjdj`jf}r� (jGX-jk]jj]jh]ji]jn]ujpK±jqhjr]r‘ j/)�r’ }r“ (jYX/**Remove IVA wakeup and Module configuration** jZjŽ jbjÐjdj2jf}r” (jh]ji]jj]jk]jn]ujpNjqhjr]r• j¡)�r– }r— (jYX.**Remove IVA wakeup and Module configuration**r˜ jZj’ jbjÐjdj¥jf}r™ (jh]ji]jj]jk]jn]ujpK±jr]rš jü)�r› }rœ (jYj˜ jf}r� (jh]ji]jj]jk]jn]ujZj– jr]rž j{X*Remove IVA wakeup and Module configurationrŸ …�r  }r¡ (jYUjZj› ubajdjubaubaubaubj¡)�r¢ }r£ (jYXrThe following updates need to be made in the file _clock.c to remove IVA wakeup and clock configurationr¤ jZjÖjbjÐjdj¥jf}r¥ (jh]ji]jj]jk]jn]ujpK³jqhjr]r¦ j{XrThe following updates need to be made in the file _clock.c to remove IVA wakeup and clock configurationr§ …�r¨ }r© (jYj¤ jZj¢ ubaubj)�rª }r« (jYXÚ- CSL_FINST(ivaCmReg->CM_IVA_CLKSTCTRL_REG, - IVA_CM_CORE_CM_IVA_CLKSTCTRL_REG_CLKTRCTRL, SW_WKUP); /* PRCM Specialized module mode setting functions */ - CSL_FINST(ivaCmReg->CM_IVA_SL2_CLKCTRL_REG, - IVA_CM_CORE_CM_IVA_SL2_CLKCTRL_REG_MODULEMODE, AUTO); - while(CSL_IVA_CM_CORE_CM_IVA_SL2_CLKCTRL_REG_IDLEST_DISABLE == - CSL_FEXT(ivaCmReg->CM_IVA_SL2_CLKCTRL_REG, - IVA_CM_CORE_CM_IVA_SL2_CLKCTRL_REG_IDLEST)); - CSL_FINST(ivaCmReg->CM_IVA_IVA_CLKCTRL_REG, - IVA_CM_CORE_CM_IVA_IVA_CLKCTRL_REG_MODULEMODE, AUTO); - while(CSL_IVA_CM_CORE_CM_IVA_IVA_CLKCTRL_REG_IDLEST_DISABLE == - CSL_FEXT(ivaCmReg->CM_IVA_IVA_CLKCTRL_REG, - IVA_CM_CORE_CM_IVA_IVA_CLKCTRL_REG_IDLEST));jZjÖjbjÐjdjjf}r¬ (j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpK¶jqhjr]r­ j{XÚ- CSL_FINST(ivaCmReg->CM_IVA_CLKSTCTRL_REG, - IVA_CM_CORE_CM_IVA_CLKSTCTRL_REG_CLKTRCTRL, SW_WKUP); /* PRCM Specialized module mode setting functions */ - CSL_FINST(ivaCmReg->CM_IVA_SL2_CLKCTRL_REG, - IVA_CM_CORE_CM_IVA_SL2_CLKCTRL_REG_MODULEMODE, AUTO); - while(CSL_IVA_CM_CORE_CM_IVA_SL2_CLKCTRL_REG_IDLEST_DISABLE == - CSL_FEXT(ivaCmReg->CM_IVA_SL2_CLKCTRL_REG, - IVA_CM_CORE_CM_IVA_SL2_CLKCTRL_REG_IDLEST)); - CSL_FINST(ivaCmReg->CM_IVA_IVA_CLKCTRL_REG, - IVA_CM_CORE_CM_IVA_IVA_CLKCTRL_REG_MODULEMODE, AUTO); - while(CSL_IVA_CM_CORE_CM_IVA_IVA_CLKCTRL_REG_IDLEST_DISABLE == - CSL_FEXT(ivaCmReg->CM_IVA_IVA_CLKCTRL_REG, - IVA_CM_CORE_CM_IVA_IVA_CLKCTRL_REG_IDLEST));r® …�r¯ }r° (jYUjZjª ubaubeubeubj[)�r± }r² (jYUjZj¾jbjÐjdjejf}r³ (jh]ji]jj]jk]r´ Uconfigure-ddr-interfacesrµ ajn]r¶ jBaujpKÉjqhjr]r· (jt)�r¸ }r¹ (jYXConfigure DDR Interfacesrº jZj± jbjÐjdjxjf}r» (jh]ji]jj]jk]jn]ujpKÉjqhjr]r¼ j{XConfigure DDR Interfacesr½ …�r¾ }r¿ (jYjº jZj¸ ubaubj¡)�rÀ }rÁ (jYXVAn important one to consider is the speed of the DDR memory. The clock for the DDR is selected using the same dplls structure. Some higher speed grade parts support a 667 MHz DDR clock, but some of the lower speed grade parts only support a 533 MHz DDR3 clock. Make sure to choose the appropriate DDR clock for the device on the custom board.r jZj± jbjÐjdj¥jf}rà (jh]ji]jj]jk]jn]ujpKËjqhjr]rÄ j{XVAn important one to consider is the speed of the DDR memory. The clock for the DDR is selected using the same dplls structure. Some higher speed grade parts support a 667 MHz DDR clock, but some of the lower speed grade parts only support a 533 MHz DDR3 clock. Make sure to choose the appropriate DDR clock for the device on the custom board.rÅ …�rÆ }rÇ (jYj jZjÀ ubaubj¡)�rÈ }rÉ (jYX#Over in the board/src//.c file, make sure that the EMIF is being configured correctly for the appropriate speed, and that the appropriate number of EMIFs is being selected to match the part being used. AM572x part has 2 DDR interfaces running at 533 MHz and the AM571x (and AM570x) only have one running at 667 MHz. This code can be kept or removed by the board port. As changes are made, the code must make sure to configure the new board correctly, with the appropriate number of DDR interfaces and speed configuration.rÊ jZj± jbjÐjdj¥jf}rË (jh]ji]jj]jk]jn]ujpKÑjqhjr]rÌ j{X#Over in the board/src//.c file, make sure that the EMIF is being configured correctly for the appropriate speed, and that the appropriate number of EMIFs is being selected to match the part being used. AM572x part has 2 DDR interfaces running at 533 MHz and the AM571x (and AM570x) only have one running at 667 MHz. This code can be kept or removed by the board port. As changes are made, the code must make sure to configure the new board correctly, with the appropriate number of DDR interfaces and speed configuration.rÍ …�rÎ }rÏ (jYjÊ jZjÈ ubaubj¡)�rÐ }rÑ (jYX€For AM571x and AM570x, make sure to use the code for the AM571x IDK in board/src//.c to select 1 EMIF:rÒ jZj± jbjÐjdj¥jf}rÓ (jh]ji]jj]jk]jn]ujpKÚjqhjr]rÔ j{X€For AM571x and AM570x, make sure to use the code for the AM571x IDK in board/src//.c to select 1 EMIF:rÕ …�rÖ }r× (jYjÒ jZjÐ ubaubj)�rØ }rÙ (jYXm/* MA_LISA_MAP_i */ hMampuLsm->MAP_0 = 0x80600100U; /* DMM_LISA_MAP_i */ hDmmCfg->LISA_MAP[0U] = 0x80600100U;jZj± jbjÐjdjjf}rÚ (j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpKÝjqhjr]rÛ j{Xm/* MA_LISA_MAP_i */ hMampuLsm->MAP_0 = 0x80600100U; /* DMM_LISA_MAP_i */ hDmmCfg->LISA_MAP[0U] = 0x80600100U;rÜ …�rÝ }rÞ (jYUjZjØ ubaubj¡)�rß }rà (jYX'For AM572x, this is mapped as followingrá jZj± jbjÐjdj¥jf}râ (jh]ji]jj]jk]jn]ujpKäjqhjr]rã j{X'For AM572x, this is mapped as followingrä …�rå }ræ (jYjá jZjß ubaubj)�rç }rè (jYX®/* MA_LISA_MAP_i */ hMampuLsm->MAP_0 = 0x80740300; hMampuLsm->MAP_1 = 0x80740300; /* DMM_LISA_MAP_i */ hDmmCfg->LISA_MAP[0U] = 0x80740300; hDmmCfg->LISA_MAP[1U] = 0x80740300;jZj± jbjÐjdjjf}ré (j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpKæjqhjr]rê j{X®/* MA_LISA_MAP_i */ hMampuLsm->MAP_0 = 0x80740300; hMampuLsm->MAP_1 = 0x80740300; /* DMM_LISA_MAP_i */ hDmmCfg->LISA_MAP[0U] = 0x80740300; hDmmCfg->LISA_MAP[1U] = 0x80740300;rë …�rì }rí (jYUjZjç ubaubj)�rî }rï (jYX~Processor SDK RTOS provides am570x_ddr.c file in the idkAM571x board library for reference for configuring DDR on AM570x partsjZj± jbjÐjdjjf}rð (jh]ji]jj]jk]jn]ujpNjqhjr]rñ j¡)�rò }ró (jYX~Processor SDK RTOS provides am570x_ddr.c file in the idkAM571x board library for reference for configuring DDR on AM570x partsrô jZjî jbjÐjdj¥jf}rõ (jh]ji]jj]jk]jn]ujpKðjr]rö j{X~Processor SDK RTOS provides am570x_ddr.c file in the idkAM571x board library for reference for configuring DDR on AM570x partsr÷ …�rø }rù (jYjô jZjò ubaubaubeubj[)�rú }rû (jYUjZj¾jbjÐjdjejf}rü (jh]ji]jj]jk]rý Upinmux-changes-to-considerrþ ajn]rÿ jJaujpKôjqhjr]r!(jt)�r!}r!(jYXPinmux Changes to Considerr!jZjú jbjÐjdjxjf}r!(jh]ji]jj]jk]jn]ujpKôjqhjr]r!j{XPinmux Changes to Considerr!…�r!}r!(jYj!jZj!ubaubjC)�r !}r !(jYUjZjú jbjÐjdj`jf}r !(jGX-jk]jj]jh]ji]jn]ujpKöjqhjr]r !(j/)�r !}r!(jYX�For part number where the Display subsystem or SATA is not available, the pins can be configured to any other pin functionality that may be required in the system. If you don`t need to use these pins, we recommend that you leave these pins in default MUXMODE and terminate the pinmux as recommended in the `Schematics Checklist `__.jZj !jbjÐjdj2jf}r!(jh]ji]jj]jk]jn]ujpNjqhjr]r!j¡)�r!}r!(jYX�For part number where the Display subsystem or SATA is not available, the pins can be configured to any other pin functionality that may be required in the system. If you don`t need to use these pins, we recommend that you leave these pins in default MUXMODE and terminate the pinmux as recommended in the `Schematics Checklist `__.jZj !jbjÐjdj¥jf}r!(jh]ji]jj]jk]jn]ujpKöjr]r!(j{X2For part number where the Display subsystem or SATA is not available, the pins can be configured to any other pin functionality that may be required in the system. If you don`t need to use these pins, we recommend that you leave these pins in default MUXMODE and terminate the pinmux as recommended in the r!…�r!}r!(jYX2For part number where the Display subsystem or SATA is not available, the pins can be configured to any other pin functionality that may be required in the system. If you don`t need to use these pins, we recommend that you leave these pins in default MUXMODE and terminate the pinmux as recommended in the jZj!ubjÜ)�r!}r!(jYX]`Schematics Checklist `__jf}r!(UnameXSchematics ChecklistjXBhttp://processors.wiki.ti.com/index.php/AM57xx_Schematic_Checklistjk]jj]jh]ji]jn]ujZj!jr]r!j{XSchematics Checklistr!…�r!}r!(jYUjZj!ubajdjàubj{X.…�r!}r !(jYX.jZj!ubeubaubj/)�r!!}r"!(jYX‚There is no pinmux setting for CSI2 module so you can leave the MUXMODE=0 on those pins if there is no instance of the peripheral jZj !jbjÐjdj2jf}r#!(jh]ji]jj]jk]jn]ujpNjqhjr]r$!j¡)�r%!}r&!(jYX�There is no pinmux setting for CSI2 module so you can leave the MUXMODE=0 on those pins if there is no instance of the peripheralr'!jZj!!jbjÐjdj¥jf}r(!(jh]ji]jj]jk]jn]ujpKüjr]r)!j{X�There is no pinmux setting for CSI2 module so you can leave the MUXMODE=0 on those pins if there is no instance of the peripheralr*!…�r+!}r,!(jYj'!jZj%!ubaubaubeubj)�r-!}r.!(jYX²Processor SDK RTOS provides board/src/idkAM571x/include/am570x_pinmux.h file in the idkAM571x board library for reference for configuring pinmux on AM570x based hardware platformjZjú jbjÐjdjjf}r/!(jh]ji]jj]jk]jn]ujpNjqhjr]r0!j¡)�r1!}r2!(jYX²Processor SDK RTOS provides board/src/idkAM571x/include/am570x_pinmux.h file in the idkAM571x board library for reference for configuring pinmux on AM570x based hardware platformr3!jZj-!jbjÐjdj¥jf}r4!(jh]ji]jj]jk]jn]ujpMjr]r5!j{X²Processor SDK RTOS provides board/src/idkAM571x/include/am570x_pinmux.h file in the idkAM571x board library for reference for configuring pinmux on AM570x based hardware platformr6!…�r7!}r8!(jYj3!jZj1!ubaubaubeubj[)�r9!}r:!(jYUjZj¾jbjÐjdjejf}r;!(jh]ji]jj]jk]r!hzaujpMjqhjr]r?!(jt)�r@!}rA!(jYXDriver SOC Module clock changesrB!jZj9!jbjÐjdjxjf}rC!(jh]ji]jj]jk]jn]ujpMjqhjr]rD!j{XDriver SOC Module clock changesrE!…�rF!}rG!(jYjB!jZj@!ubaubj¡)�rH!}rI!(jYX3Some control drivers use default Module input clock frequency settings in _soc.c file that gets used by the Low level drivers to configure the peripheral clocks. The default module input clock frequency is set to the OPP_NOM values that are available on the superset variant of the device so if you are using lower speed grades. Ensure you change the default to match the module clock on the 500 MHz settings or you can use the following sequence to update the settings. Code below describes how the SPI driver module input clock frequency can be modifiedrJ!jZj9!jbjÐjdj¥jf}rK!(jh]ji]jj]jk]jn]ujpMjqhjr]rL!j{X3Some control drivers use default Module input clock frequency settings in _soc.c file that gets used by the Low level drivers to configure the peripheral clocks. The default module input clock frequency is set to the OPP_NOM values that are available on the superset variant of the device so if you are using lower speed grades. Ensure you change the default to match the module clock on the 500 MHz settings or you can use the following sequence to update the settings. Code below describes how the SPI driver module input clock frequency can be modifiedrM!…�rN!}rO!(jYjJ!jZjH!ubaubj)�rP!}rQ!(jYX%SPI_v1_HWAttrs spi_cfg; /* Get the default SPI init configurations */ SPI_socGetInitCfg(TEST_SPI_PORT, &spi_cfg); /* Modify the default SPI configurations if necessary */ spi_cfg.inputClkFreq = 24000000; /* Set the default SPI init configurations */ SPI_socSetInitCfg(TEST_SPI_PORT, &spi_cfg);jZj9!jbjÐjdjjf}rR!(j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpMjqhjr]rS!j{X%SPI_v1_HWAttrs spi_cfg; /* Get the default SPI init configurations */ SPI_socGetInitCfg(TEST_SPI_PORT, &spi_cfg); /* Modify the default SPI configurations if necessary */ spi_cfg.inputClkFreq = 24000000; /* Set the default SPI init configurations */ SPI_socSetInitCfg(TEST_SPI_PORT, &spi_cfg);rT!…�rU!}rV!(jYUjZjP!ubaubeubj[)�rW!}rX!(jYUjZj¾jbjÐjdjejf}rY!(jh]ji]jj]jk]rZ!U2related-article-for-processor-sdk-linux-developersr[!ajn]r\!h$aujpMjqhjr]r]!(jt)�r^!}r_!(jYX2Related Article for Processor SDK Linux developersr`!jZjW!jbjÐjdjxjf}ra!(jh]ji]jj]jk]jn]ujpMjqhjr]rb!j{X2Related Article for Processor SDK Linux developersrc!…�rd!}re!(jYj`!jZj^!ubaubjC)�rf!}rg!(jYUjZjW!jbjÐjdj`jf}rh!(jGX-jk]jj]jh]ji]jn]ujpMjqhjr]ri!j/)�rj!}rk!(jYX”`Linux_Porting_Guide_for_AM571x/AM570x_Speed_Grades `__ jZjf!jbjÐjdj2jf}rl!(jh]ji]jj]jk]jn]ujpNjqhjr]rm!j¡)�rn!}ro!(jYX“`Linux_Porting_Guide_for_AM571x/AM570x_Speed_Grades `__rp!jZjj!jbjÐjdj¥jf}rq!(jh]ji]jj]jk]jn]ujpMjr]rr!jÜ)�rs!}rt!(jYjp!jf}ru!(UnameX2Linux_Porting_Guide_for_AM571x/AM570x_Speed_GradesjXZhttp://processors.wiki.ti.com/index.php/Linux_Porting_Guide_for_AM571x/AM570x_Speed_Gradesjk]jj]jh]ji]jn]ujZjn!jr]rv!j{X2Linux_Porting_Guide_for_AM571x/AM570x_Speed_Gradesrw!…�rx!}ry!(jYUjZjs!ubajdjàubaubaubaubjè)�rz!}r{!(jYXUseful Utilitiesr|!jZjW!jbjÐjdjíjf}r}!(jk]r~!Uuseful-utilitiesr!ajj]jh]ji]jn]r€!j>aujpNjqhjr]r�!j{XUseful Utilitiesr‚!…�rƒ!}r„!(jYj|!jZjz!ubaubjC)�r…!}r†!(jYUjZjW!jbjÐjdj`jf}r‡!(jGX-jk]jj]jh]ji]jn]ujpM$jqhjr]rˆ!(j/)�r‰!}rŠ!(jYX:`Clock Tree Tool `__r‹!jZj…!jbjÐjdj2jf}rŒ!(jh]ji]jj]jk]jn]ujpNjqhjr]r�!j¡)�rŽ!}r�!(jYj‹!jZj‰!jbjÐjdj¥jf}r�!(jh]ji]jj]jk]jn]ujpM$jr]r‘!jÜ)�r’!}r“!(jYj‹!jf}r”!(UnameXClock Tree TooljX$http://www.ti.com/tool/clockTreeTooljk]jj]jh]ji]jn]ujZjŽ!jr]r•!j{XClock Tree Toolr–!…�r—!}r˜!(jYUjZj’!ubajdjàubaubaubj/)�r™!}rš!(jYX5`Pin Mux tool `__ jZj…!jbjÐjdj2jf}r›!(jh]ji]jj]jk]jn]ujpNjqhjr]rœ!j¡)�r�!}rž!(jYX4`Pin Mux tool `__rŸ!jZj™!jbjÐjdj¥jf}r !(jh]ji]jj]jk]jn]ujpM%jr]r¡!jÜ)�r¢!}r£!(jYjŸ!jf}r¤!(UnameX Pin Mux tooljX!http://www.ti.com/tool/PinMuxTooljk]jj]jh]ji]jn]ujZj�!jr]r¥!j{X Pin Mux toolr¦!…�r§!}r¨!(jYUjZj¢!ubajdjàubaubaubeubeubj[)�r©!}rª!(jYUjZj¾jbjÐjdjejf}r«!(jh]ji]jj]jk]r¬!Usupportr­!ajn]r®!hÇaujpM(jqhjr]r¯!(jt)�r°!}r±!(jYXSupportr²!jZj©!jbjÐjdjxjf}r³!(jh]ji]jj]jk]jn]ujpM(jqhjr]r´!j{XSupportrµ!…�r¶!}r·!(jYj²!jZj°!ubaubj¡)�r¸!}r¹!(jYXpFor any questions related Usage of AM572x, AM571x and AM570x devices, please post your question on TI E2E Forumsrº!jZj©!jbjÐjdj¥jf}r»!(jh]ji]jj]jk]jn]ujpM*jqhjr]r¼!j{XpFor any questions related Usage of AM572x, AM571x and AM570x devices, please post your question on TI E2E Forumsr½!…�r¾!}r¿!(jYjº!jZj¸!ubaubjC)�rÀ!}rÁ!(jYUjZj©!jbjÐjdj`jf}rÂ!(jGX-jk]jj]jh]ji]jn]ujpM-jqhjr]rÃ!j/)�rÄ!}rÅ!(jYXU`TI E2E Forums for Sitara Processors `__ jZjÀ!jbjÐjdj2jf}rÆ!(jh]ji]jj]jk]jn]ujpNjqhjr]rÇ!j¡)�rÈ!}rÉ!(jYXT`TI E2E Forums for Sitara Processors `__rÊ!jZjÄ!jbjÐjdj¥jf}rË!(jh]ji]jj]jk]jn]ujpM-jr]rÌ!jÜ)�rÍ!}rÎ!(jYjÊ!jf}rÏ!(UnameX#TI E2E Forums for Sitara ProcessorsjX*https://e2e.ti.com/support/arm/sitara_arm/jk]jj]jh]ji]jn]ujZjÈ!jr]rÐ!j{X#TI E2E Forums for Sitara ProcessorsrÑ!…�rÒ!}rÓ!(jYUjZjÍ!ubajdjàubaubaubaubeubeubeubj[)�rÔ!}rÕ!(jYUjZjÿjbjcjdjejf}rÖ!(jh]ji]jj]jk]r×!Usystem-integrationrØ!ajn]rÙ!j aujpKQjqhjr]rÚ!(jt)�rÛ!}rÜ!(jYXSystem IntegrationrÝ!jZjÔ!jbjcjdjxjf}rÞ!(jh]ji]jj]jk]jn]ujpKQjqhjr]rß!j{XSystem Integrationrà!…�rá!}râ!(jYjÝ!jZjÛ!ubaubj[)�rã!}rä!(jYUjZjÔ!jbjcjdjejf}rå!(jh]ji]jj]jk]ræ!U^create-dsp-and-ipu-firmware-using-pdk-drivers-and-ipc-to-load-from-arm-linux-on-am57xx-devicesrç!ajn]rè!h…aujpKTjqhjr]ré!(jt)�rê!}rë!(jYX^Create DSP and IPU firmware using PDK drivers and IPC to load from ARM Linux on AM57xx devicesrì!jZjã!jbjcjdjxjf}rí!(jh]ji]jj]jk]jn]ujpKTjqhjr]rî!j{X^Create DSP and IPU firmware using PDK drivers and IPC to load from ARM Linux on AM57xx devicesrï!…�rð!}rñ!(jYjì!jZjê!ubaubjî)�rò!}ró!(jYXihttp://processors.wiki.ti.com/index.php/Linux_IPC_on_AM57xx#Adding_IPC_to_an_Existing_TI-RTOS_ApplicationjZjã!jbj�Xysource/rtos/How_to_Guides/Host/System_Integration/Create_DSP_and_IPU_FW_using_PDK_and_IPC_to_load_from_ARM_AM57xx.rst.incrô!…�rõ!}rö!bjdjôjf}r÷!(jöj÷jk]jj]jh]ji]jn]ujpKjqhjr]rø!j{Xihttp://processors.wiki.ti.com/index.php/Linux_IPC_on_AM57xx#Adding_IPC_to_an_Existing_TI-RTOS_Applicationrù!…�rú!}rû!(jYUjZjò!ubaubj[)�rü!}rý!(jYUjìKjZjã!jbjõ!jdjejf}rþ!(jh]rÿ!jwaji]jj]jk]r"Uid31r"ajn]ujpKjqhjr]r"(jt)�r"}r"(jYX Introductionr"jZjü!jbjõ!jdjxjf}r"(jh]ji]jj]jk]jn]ujpKjqhjr]r"j{X Introductionr"…�r "}r "(jYj"jZj"ubaubj¡)�r "}r "(jYXÑThis article is geared toward AM57xx users that are running Linux on the Cortex A15. The goal is to help users understand how to gain entitlement to the DSP (c66x) and IPU (Cortex M4) subsystems of the AM57xx.r "jZjü!jbjõ!jdj¥jf}r"(jh]ji]jj]jk]jn]ujpKjqhjr]r"j{XÑThis article is geared toward AM57xx users that are running Linux on the Cortex A15. The goal is to help users understand how to gain entitlement to the DSP (c66x) and IPU (Cortex M4) subsystems of the AM57xx.r"…�r"}r"(jYj "jZj "ubaubj¡)�r"}r"(jYX1AM572x device has two IPU subsystems (IPUSS), each of which has 2 cores. IPU2 is used as a controller in multi-media applications, so if you have Processor SDK Linux running, chances are that IPU2 already has firmware loaded. However, IPU1 is open for general purpose programming to offload the ARM tasks.r"jZjü!jbjõ!jdj¥jf}r"(jh]ji]jj]jk]jn]ujpK jqhjr]r"j{X1AM572x device has two IPU subsystems (IPUSS), each of which has 2 cores. IPU2 is used as a controller in multi-media applications, so if you have Processor SDK Linux running, chances are that IPU2 already has firmware loaded. However, IPU1 is open for general purpose programming to offload the ARM tasks.r"…�r"}r"(jYj"jZj"ubaubj¡)�r"}r"(jYXµThere are many facets to this task: building, loading, debugging, MMUs, memory sharing, etc. This article intends to take incremental steps toward understanding all of those pieces.r"jZjü!jbjõ!jdj¥jf}r"(jh]ji]jj]jk]jn]ujpKjqhjr]r"j{XµThere are many facets to this task: building, loading, debugging, MMUs, memory sharing, etc. This article intends to take incremental steps toward understanding all of those pieces.r "…�r!"}r""(jYj"jZj"ubaubjè)�r#"}r$"(jYX$Software Dependencies to Get Startedr%"jZjü!jbjõ!jdjíjf}r&"(jk]r'"U$software-dependencies-to-get-startedr("ajj]jh]ji]jn]r)"h¾aujpNjqhjr]r*"j{X$Software Dependencies to Get Startedr+"…�r,"}r-"(jYj%"jZj#"ubaubj¡)�r."}r/"(jYX Prerequisitesr0"jZjü!jbjõ!jdj¥jf}r1"(jh]ji]jj]jk]jn]ujpKjqhjr]r2"j{X Prerequisitesr3"…�r4"}r5"(jYj0"jZj."ubaubjC)�r6"}r7"(jYUjZjü!jbjõ!jdj`jf}r8"(jGX-jk]jj]jh]ji]jn]ujpKjqhjr]r9"(j/)�r:"}r;"(jYX‘`Processor SDK Linux for AM57xx `__ (Version 3.01 or newer needed)jZj6"jbjõ!jdj2jf}r<"(jh]ji]jj]jk]jn]ujpNjqhjr]r="j¡)�r>"}r?"(jYX‘`Processor SDK Linux for AM57xx `__ (Version 3.01 or newer needed)jZj:"jbjõ!jdj¥jf}r@"(jh]ji]jj]jk]jn]ujpKjr]rA"(jÜ)�rB"}rC"(jYXr`Processor SDK Linux for AM57xx `__jf}rD"(UnameXProcessor SDK Linux for AM57xxjXMhttp://software-dl.ti.com/processor-sdk-linux/esd/AM57X/latest/index_FDS.htmljk]jj]jh]ji]jn]ujZj>"jr]rE"j{XProcessor SDK Linux for AM57xxrF"…�rG"}rH"(jYUjZjB"ubajdjàubj{X (Version 3.01 or newer needed)rI"…�rJ"}rK"(jYX (Version 3.01 or newer needed)jZj>"ubeubaubj/)�rL"}rM"(jYXp`Processor SDK RTOS for AM57xx `__jZj6"jbjõ!jdj2jf}rN"(jh]ji]jj]jk]jn]ujpNjqhjr]rO"j¡)�rP"}rQ"(jYXp`Processor SDK RTOS for AM57xx `__rR"jZjL"jbjõ!jdj¥jf}rS"(jh]ji]jj]jk]jn]ujpKjr]rT"jÜ)�rU"}rV"(jYjR"jf}rW"(UnameXProcessor SDK RTOS for AM57xxjXLhttp://software-dl.ti.com/processor-sdk-rtos/esd/AM57X/latest/index_FDS.htmljk]jj]jh]ji]jn]ujZjP"jr]rX"j{XProcessor SDK RTOS for AM57xxrY"…�rZ"}r["(jYUjZjU"ubajdjàubaubaubj/)�r\"}r]"(jYXˆ`Code Composer Studio `__ (choose version as specified on Proc SDK download page) jZj6"jbjõ!jdj2jf}r^"(jh]ji]jj]jk]jn]ujpNjqhjr]r_"j¡)�r`"}ra"(jYX‡`Code Composer Studio `__ (choose version as specified on Proc SDK download page)jZj\"jbjõ!jdj¥jf}rb"(jh]ji]jj]jk]jn]ujpKjr]rc"(jÜ)�rd"}re"(jYXO`Code Composer Studio `__jf}rf"(UnameXCode Composer StudiojX4http://processors.wiki.ti.com/index.php/Download_CCSjk]jj]jh]ji]jn]ujZj`"jr]rg"j{XCode Composer Studiorh"…�ri"}rj"(jYUjZjd"ubajdjàubj{X8 (choose version as specified on Proc SDK download page)rk"…�rl"}rm"(jYX8 (choose version as specified on Proc SDK download page)jZj`"ubeubaubeubj)�rn"}ro"(jYX[Please be sure that you have the same version number for both Processor SDK RTOS and Linux.jZjü!jbjõ!jdjjf}rp"(jh]ji]jj]jk]jn]ujpNjqhjr]rq"j¡)�rr"}rs"(jYX[Please be sure that you have the same version number for both Processor SDK RTOS and Linux.rt"jZjn"jbjõ!jdj¥jf}ru"(jh]ji]jj]jk]jn]ujpK#jr]rv"j{X[Please be sure that you have the same version number for both Processor SDK RTOS and Linux.rw"…�rx"}ry"(jYjt"jZjr"ubaubaubj¡)�rz"}r{"(jYXiFor reference within the context of this wiki page, the Linux SDK is installed at the following location:r|"jZjü!jbjõ!jdj¥jf}r}"(jh]ji]jj]jk]jn]ujpK&jqhjr]r~"j{XiFor reference within the context of this wiki page, the Linux SDK is installed at the following location:r"…�r€"}r�"(jYj|"jZjz"ubaubj)�r‚"}rƒ"(jYX/mnt/data/user/ti-processor-sdk-linux-am57xx-evm-xx.xx.xx.xx ├── bin ├── board-support ├── docs ├── example-applications ├── filesystem ├── ipc-build.txt ├── linux-devkit ├── Makefile ├── Rules.make └── setup.shjZjü!jbjõ!jdjjf}r„"(jöj÷jk]jj]jh]ji]jn]ujpM¸ jqhjr]r…"j{X/mnt/data/user/ti-processor-sdk-linux-am57xx-evm-xx.xx.xx.xx ├── bin ├── board-support ├── docs ├── example-applications ├── filesystem ├── ipc-build.txt ├── linux-devkit ├── Makefile ├── Rules.make └── setup.shr†"…�r‡"}rˆ"(jYUjZj‚"ubaubj¡)�r‰"}rŠ"(jYXThe RTOS SDK is installed at:r‹"jZjü!jbjõ!jdj¥jf}rŒ"(jh]ji]jj]jk]jn]ujpK7jqhjr]r�"j{XThe RTOS SDK is installed at:rŽ"…�r�"}r�"(jYj‹"jZj‰"ubaubj)�r‘"}r’"(jYX!/mnt/data/user/my_custom_install_sdk_rtos_am57xx_xx.xx ├── bios_6_xx_xx_xx ├── cg_xml ├── ctoolslib_x_x_x_x ├── dsplib_c66x_x_x_x_x ├── edma3_lld_2_xx_xx_xx ├── framework_components_x_xx_xx_xx ├── imglib_c66x_x_x_x_x ├── ipc_3_xx_xx_xx ├── mathlib_c66x_3_x_x_x ├── ndk_2_xx_xx_xx ├── opencl_rtos_am57xx_01_01_xx_xx ├── openmp_dsp_am57xx_2_04_xx_xx ├── pdk_am57xx_x_x_x ├── processor_sdk_rtos_am57xx_x_xx_xx_xx ├── uia_2_xx_xx_xx ├── xdais_7_xx_xx_xxjZjü!jbjõ!jdjjf}r“"(jöj÷jk]jj]jh]ji]jn]ujpMÈ jqhjr]r”"j{X!/mnt/data/user/my_custom_install_sdk_rtos_am57xx_xx.xx ├── bios_6_xx_xx_xx ├── cg_xml ├── ctoolslib_x_x_x_x ├── dsplib_c66x_x_x_x_x ├── edma3_lld_2_xx_xx_xx ├── framework_components_x_xx_xx_xx ├── imglib_c66x_x_x_x_x ├── ipc_3_xx_xx_xx ├── mathlib_c66x_3_x_x_x ├── ndk_2_xx_xx_xx ├── opencl_rtos_am57xx_01_01_xx_xx ├── openmp_dsp_am57xx_2_04_xx_xx ├── pdk_am57xx_x_x_x ├── processor_sdk_rtos_am57xx_x_xx_xx_xx ├── uia_2_xx_xx_xx ├── xdais_7_xx_xx_xxr•"…�r–"}r—"(jYUjZj‘"ubaubj¡)�r˜"}r™"(jYXCCS is installed at:rš"jZjü!jbjõ!jdj¥jf}r›"(jh]ji]jj]jk]jn]ujpKMjqhjr]rœ"j{XCCS is installed at:r�"…�rž"}rŸ"(jYjš"jZj˜"ubaubj)�r "}r¡"(jYX[/mnt/data/user/ti/my_custom_ccs_x.x.x_install ├── ccsvX │   ├── ccs_base │   ├── doc │   ├── eclipse │   ├── install_info │   ├── install_logs │   ├── install_scripts │   ├── tools │   ├── uninstall_ccs │   ├── uninstall_ccs.dat │   ├── uninstallers │   └── utils ├── Code Composer Studio x.x.x.desktop └── xdctools_x_xx_xx_xx_core ├── bin ├── config.jar ├── docs ├── eclipse ├── etc ├── gmake ├── include ├── package ├── packages ├── package.xdc ├── tconfini.tcf ├── xdc ├── xdctools_3_xx_xx_xx_manifest.html ├── xdctools_3_xx_xx_xx_release_notes.html ├── xs └── xs.x86UjZjü!jbjõ!jdjjf}r¢"(jöj÷jk]jj]jh]ji]jn]ujpMÞ jqhjr]r£"j{X[/mnt/data/user/ti/my_custom_ccs_x.x.x_install ├── ccsvX │   ├── ccs_base │   ├── doc │   ├── eclipse │   ├── install_info │   ├── install_logs │   ├── install_scripts │   ├── tools │   ├── uninstall_ccs │   ├── uninstall_ccs.dat │   ├── uninstallers │   └── utils ├── Code Composer Studio x.x.x.desktop └── xdctools_x_xx_xx_xx_core ├── bin ├── config.jar ├── docs ├── eclipse ├── etc ├── gmake ├── include ├── package ├── packages ├── package.xdc ├── tconfini.tcf ├── xdc ├── xdctools_3_xx_xx_xx_manifest.html ├── xdctools_3_xx_xx_xx_release_notes.html ├── xs └── xs.x86Ur¤"…�r¥"}r¦"(jYUjZj "ubaubjZ)�r§"}r¨"(jYUjZjü!jbjõ!jdj]jf}r©"(jh]ji]jj]jk]jn]ujpKqjqhjr]rª"j`)�r«"}r¬"(jYUjcKjZj§"jbjõ!jdjpjf}r­"(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�r®"}r¯"(jYX/Typical Boot Flow on AM572x for ARM Linux usersr°"jZjü!jbjõ!jdjíjf}r±"(jk]r²"U/typical-boot-flow-on-am572x-for-arm-linux-usersr³"ajj]jh]ji]jn]r´"h¡aujpNjqhjr]rµ"j{X/Typical Boot Flow on AM572x for ARM Linux usersr¶"…�r·"}r¸"(jYj°"jZj®"ubaubj¡)�r¹"}rº"(jYX:AM57xx SOC's have multiple processor cores - Cortex A15, C66x DSP's and ARM M4 cores. The A15 typically runs a HLOS like Linux/QNX/Android and the remotecores(DSP's and M4's) run a RTOS. In the normal operation, boot loader(U-Boot/SPL) boots and loads the A15 with the HLOS. The A15 boots the DSP and the M4 cores.r»"jZjü!jbjõ!jdj¥jf}r¼"(jh]ji]jj]jk]jn]ujpKvjqhjr]r½"j{X:AM57xx SOC's have multiple processor cores - Cortex A15, C66x DSP's and ARM M4 cores. The A15 typically runs a HLOS like Linux/QNX/Android and the remotecores(DSP's and M4's) run a RTOS. In the normal operation, boot loader(U-Boot/SPL) boots and loads the A15 with the HLOS. The A15 boots the DSP and the M4 cores.r¾"…�r¿"}rÀ"(jYj»"jZj¹"ubaubjB)�rÁ"}rÂ"(jYX%.. Image:: ../images/Normal-boot.png jZjü!jbjõ!jdjEjf}rÃ"(UuriXrtos/../images/Normal-boot.pngrÄ"jk]jj]jh]ji]jH}rÅ"U*jÄ"sjn]ujpK}jqhjr]ubj¡)�rÆ"}rÇ"(jYX£In this sequence, the interval between the Power on Reset and the remotecores (i.e. the DSP's and the M4's) executing is dependent on the HLOS initialization time.rÈ"jZjü!jbjõ!jdj¥jf}rÉ"(jh]ji]jj]jk]jn]ujpK~jqhjr]rÊ"j{X£In this sequence, the interval between the Power on Reset and the remotecores (i.e. the DSP's and the M4's) executing is dependent on the HLOS initialization time.rË"…�rÌ"}rÍ"(jYjÈ"jZjÆ"ubaubjZ)�rÎ"}rÏ"(jYUjZjü!jbjõ!jdj]jf}rÐ"(jh]ji]jj]jk]jn]ujpK‚jqhjr]rÑ"j`)�rÒ"}rÓ"(jYUjcKjZjÎ"jbjõ!jdjpjf}rÔ"(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubj[)�rÕ"}rÖ"(jYUjZjã!jbjõ!jdjejf}r×"(jh]ji]jj]jk]rØ"U'getting-started-with-ipc-linux-examplesrÙ"ajn]rÚ"jaujpK…jqhjr]rÛ"(jt)�rÜ"}rÝ"(jYX'Getting Started with IPC Linux ExamplesrÞ"jZjÕ"jbjõ!jdjxjf}rß"(jh]ji]jj]jk]jn]ujpK…jqhjr]rà"j{X'Getting Started with IPC Linux Examplesrá"…�râ"}rã"(jYjÞ"jZjÜ"ubaubj¡)�rä"}rå"(jYX¡The figure below illustrates how remoteproc/rpmsg driver from ARM Linux kernel communicates with IPC driver on slave processor (e.g. DSP, IPU, etc) running RTOS.ræ"jZjÕ"jbjõ!jdj¥jf}rç"(jh]ji]jj]jk]jn]ujpK‡jqhjr]rè"j{X¡The figure below illustrates how remoteproc/rpmsg driver from ARM Linux kernel communicates with IPC driver on slave processor (e.g. DSP, IPU, etc) running RTOS.ré"…�rê"}rë"(jYjæ"jZjä"ubaubjB)�rì"}rí"(jYX2.. Image:: ../images/LinuxIPC_with_RTOS_Slave.png jZjÕ"jbjõ!jdjEjf}rî"(UuriX+rtos/../images/LinuxIPC_with_RTOS_Slave.pngrï"jk]jj]jh]ji]jH}rð"U*jï"sjn]ujpKŒjqhjr]ubj¡)�rñ"}rò"(jYXíIn order to setup IPC on slave cores, we provide some pre-built examples in IPC package that can be run from ARM Linux. The subsequent sections describe how to build and run this examples and use that as a starting point for this effort.ró"jZjÕ"jbjõ!jdj¥jf}rô"(jh]ji]jj]jk]jn]ujpK�jqhjr]rõ"j{XíIn order to setup IPC on slave cores, we provide some pre-built examples in IPC package that can be run from ARM Linux. The subsequent sections describe how to build and run this examples and use that as a starting point for this effort.rö"…�r÷"}rø"(jYjó"jZjñ"ubaubjè)�rù"}rú"(jYX!Building the Bundled IPC Examplesrû"jZjÕ"jbjõ!jdjíjf}rü"(jk]rý"U!building-the-bundled-ipc-examplesrþ"ajj]jh]ji]jn]rÿ"j5aujpNjqhjr]r#j{X!Building the Bundled IPC Examplesr#…�r#}r#(jYjû"jZjù"ubaubj¡)�r#}r#(jYX The instructions to build IPC examples found under ipc_3_xx_xx_xx/examples/DRA7XX_linux_elf have been provided in the **`Processor_SDK IPC Quick Start Guide `__.**jZjÕ"jbjõ!jdj¥jf}r#(jh]ji]jj]jk]jn]ujpK•jqhjr]r#(j{XvThe instructions to build IPC examples found under ipc_3_xx_xx_xx/examples/DRA7XX_linux_elf have been provided in the r#…�r #}r #(jYXvThe instructions to build IPC examples found under ipc_3_xx_xx_xx/examples/DRA7XX_linux_elf have been provided in the jZj#ubjü)�r #}r #(jYX“**`Processor_SDK IPC Quick Start Guide `__.**jf}r #(jh]ji]jj]jk]jn]ujZj#jr]r#j{X�`Processor_SDK IPC Quick Start Guide `__.r#…�r#}r#(jYUjZj #ubajdjubeubj¡)�r#}r#(jYXäLet's focus on one example in particular, ex02_messageq, which is located at **/ipc_3_xx_xx_xx/examples/DRA7XX_linux_elf/ex02_messageq**. Here are the key files that you should see after a successful build:jZjÕ"jbjõ!jdj¥jf}r#(jh]ji]jj]jk]jn]ujpKšjqhjr]r#(j{XMLet's focus on one example in particular, ex02_messageq, which is located at r#…�r#}r#(jYXMLet's focus on one example in particular, ex02_messageq, which is located at jZj#ubjü)�r#}r#(jYXQ**/ipc_3_xx_xx_xx/examples/DRA7XX_linux_elf/ex02_messageq**jf}r#(jh]ji]jj]jk]jn]ujZj#jr]r#j{XM/ipc_3_xx_xx_xx/examples/DRA7XX_linux_elf/ex02_messageqr#…�r#}r#(jYUjZj#ubajdjubj{XF. Here are the key files that you should see after a successful build:r #…�r!#}r"#(jYXF. Here are the key files that you should see after a successful build:jZj#ubeubj)�r##}r$#(jYX”├── dsp1 │   └── bin │      ├── debug │      │   └── server_dsp1.xe66 │      └── release │      └── server_dsp1.xe66 ├── dsp2 │   └── bin │      ├── debug │      │   └── server_dsp2.xe66 │      └── release │      └── server_dsp2.xe66 ├── host │      ├── debug │      │   └── app_host │      └── release │      └── app_host ├── ipu1 │   └── bin │      ├── debug │      │   └── server_ipu1.xem4 │      └── release │      └── server_ipu1.xem4 └── ipu2    └── bin       ├── debug       │   └── server_ipu2.xem4       └── release       └── server_ipu2.xem4jZjÕ"jbjõ!jdjjf}r%#(jöj÷jk]jj]jh]ji]jn]ujpM. jqhjr]r&#j{X”├── dsp1 │   └── bin │      ├── debug │      │   └── server_dsp1.xe66 │      └── release │      └── server_dsp1.xe66 ├── dsp2 │   └── bin │      ├── debug │      │   └── server_dsp2.xe66 │      └── release │      └── server_dsp2.xe66 ├── host │      ├── debug │      │   └── app_host │      └── release │      └── app_host ├── ipu1 │   └── bin │      ├── debug │      │   └── server_ipu1.xem4 │      └── release │      └── server_ipu1.xem4 └── ipu2    └── bin       ├── debug       │   └── server_ipu2.xem4       └── release       └── server_ipu2.xem4r'#…�r(#}r)#(jYUjZj##ubaubjZ)�r*#}r+#(jYUjZjÕ"jbjõ!jdj]jf}r,#(jh]ji]jj]jk]jn]ujpK¿jqhjr]r-#j`)�r.#}r/#(jYUjcKjZj*#jbjõ!jdjpjf}r0#(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjZ)�r1#}r2#(jYUjZjÕ"jbjõ!jdj]jf}r3#(jh]ji]jj]jk]jn]ujpKÁjqhjr]r4#j`)�r5#}r6#(jYUjcKjZj1#jbjõ!jdjpjf}r7#(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�r8#}r9#(jYX Running the Bundled IPC Examplesr:#jZjÕ"jbjõ!jdjíjf}r;#(jk]r<#U running-the-bundled-ipc-examplesr=#ajj]jh]ji]jn]r>#jCaujpNjqhjr]r?#j{X Running the Bundled IPC Examplesr@#…�rA#}rB#(jYj:#jZj8#ubaubj¡)�rC#}rD#(jYX;On the target, let's create a directory called ipc-starter:rE#jZjÕ"jbjõ!jdj¥jf}rF#(jh]ji]jj]jk]jn]ujpKÆjqhjr]rG#j{X;On the target, let's create a directory called ipc-starter:rH#…�rI#}rJ#(jYjE#jZjC#ubaubj)�rK#}rL#(jYX`root@am57xx-evm:~# mkdir -p /home/root/ipc-starter root@am57xx-evm:~# cd /home/root/ipc-starter/jZjÕ"jbjõ!jdjjf}rM#(jöj÷jk]jj]jh]ji]jn]ujpMW jqhjr]rN#j{X`root@am57xx-evm:~# mkdir -p /home/root/ipc-starter root@am57xx-evm:~# cd /home/root/ipc-starter/rO#…�rP#}rQ#(jYUjZjK#ubaubj¡)�rR#}rS#(jYXàYou will need to copy the ex02_messageq directory of your host PC to that directory on the target (through SD card, NFS export, SCP, etc.). You can copy the entire directory, though we're primarily interested in these files:rT#jZjÕ"jbjõ!jdj¥jf}rU#(jh]ji]jj]jk]jn]ujpKÍjqhjr]rV#j{XàYou will need to copy the ex02_messageq directory of your host PC to that directory on the target (through SD card, NFS export, SCP, etc.). You can copy the entire directory, though we're primarily interested in these files:rW#…�rX#}rY#(jYjT#jZjR#ubaubjC)�rZ#}r[#(jYUjZjÕ"jbjõ!jdj`jf}r\#(jGX-jk]jj]jh]ji]jn]ujpKÒjqhjr]r]#(j/)�r^#}r_#(jYXdsp1/bin/debug/server_dsp1.xe66r`#jZjZ#jbjõ!jdj2jf}ra#(jh]ji]jj]jk]jn]ujpNjqhjr]rb#j¡)�rc#}rd#(jYj`#jZj^#jbjõ!jdj¥jf}re#(jh]ji]jj]jk]jn]ujpKÒjr]rf#j{Xdsp1/bin/debug/server_dsp1.xe66rg#…�rh#}ri#(jYj`#jZjc#ubaubaubj/)�rj#}rk#(jYXdsp2/bin/debug/server_dsp2.xe66rl#jZjZ#jbjõ!jdj2jf}rm#(jh]ji]jj]jk]jn]ujpNjqhjr]rn#j¡)�ro#}rp#(jYjl#jZjj#jbjõ!jdj¥jf}rq#(jh]ji]jj]jk]jn]ujpKÓjr]rr#j{Xdsp2/bin/debug/server_dsp2.xe66rs#…�rt#}ru#(jYjl#jZjo#ubaubaubj/)�rv#}rw#(jYXhost/bin/debug/app_hostrx#jZjZ#jbjõ!jdj2jf}ry#(jh]ji]jj]jk]jn]ujpNjqhjr]rz#j¡)�r{#}r|#(jYjx#jZjv#jbjõ!jdj¥jf}r}#(jh]ji]jj]jk]jn]ujpKÔjr]r~#j{Xhost/bin/debug/app_hostr#…�r€#}r�#(jYjx#jZj{#ubaubaubj/)�r‚#}rƒ#(jYXipu1/bin/debug/server_ipu1.xem4r„#jZjZ#jbjõ!jdj2jf}r…#(jh]ji]jj]jk]jn]ujpNjqhjr]r†#j¡)�r‡#}rˆ#(jYj„#jZj‚#jbjõ!jdj¥jf}r‰#(jh]ji]jj]jk]jn]ujpKÕjr]rŠ#j{Xipu1/bin/debug/server_ipu1.xem4r‹#…�rŒ#}r�#(jYj„#jZj‡#ubaubaubj/)�rŽ#}r�#(jYX ipu2/bin/debug/server_ipu2.xem4 jZjZ#jbjõ!jdj2jf}r�#(jh]ji]jj]jk]jn]ujpNjqhjr]r‘#j¡)�r’#}r“#(jYXipu2/bin/debug/server_ipu2.xem4r”#jZjŽ#jbjõ!jdj¥jf}r•#(jh]ji]jj]jk]jn]ujpKÖjr]r–#j{Xipu2/bin/debug/server_ipu2.xem4r—#…�r˜#}r™#(jYj”#jZj’#ubaubaubeubj¡)�rš#}r›#(jYXxThe remoteproc driver is hard-coded to look for specific files when loading the DSP/M4. Here are the files it looks for:rœ#jZjÕ"jbjõ!jdj¥jf}r�#(jh]ji]jj]jk]jn]ujpKØjqhjr]rž#j{XxThe remoteproc driver is hard-coded to look for specific files when loading the DSP/M4. Here are the files it looks for:rŸ#…�r #}r¡#(jYjœ#jZjš#ubaubjC)�r¢#}r£#(jYUjZjÕ"jbjõ!jdj`jf}r¤#(jGX-jk]jj]jh]ji]jn]ujpKÛjqhjr]r¥#(j/)�r¦#}r§#(jYX/lib/firmware/dra7-dsp1-fw.xe66r¨#jZj¢#jbjõ!jdj2jf}r©#(jh]ji]jj]jk]jn]ujpNjqhjr]rª#j¡)�r«#}r¬#(jYj¨#jZj¦#jbjõ!jdj¥jf}r­#(jh]ji]jj]jk]jn]ujpKÛjr]r®#j{X/lib/firmware/dra7-dsp1-fw.xe66r¯#…�r°#}r±#(jYj¨#jZj«#ubaubaubj/)�r²#}r³#(jYX/lib/firmware/dra7-dsp2-fw.xe66r´#jZj¢#jbjõ!jdj2jf}rµ#(jh]ji]jj]jk]jn]ujpNjqhjr]r¶#j¡)�r·#}r¸#(jYj´#jZj²#jbjõ!jdj¥jf}r¹#(jh]ji]jj]jk]jn]ujpKÜjr]rº#j{X/lib/firmware/dra7-dsp2-fw.xe66r»#…�r¼#}r½#(jYj´#jZj·#ubaubaubj/)�r¾#}r¿#(jYX/lib/firmware/dra7-ipu1-fw.xem4rÀ#jZj¢#jbjõ!jdj2jf}rÁ#(jh]ji]jj]jk]jn]ujpNjqhjr]rÂ#j¡)�rÃ#}rÄ#(jYjÀ#jZj¾#jbjõ!jdj¥jf}rÅ#(jh]ji]jj]jk]jn]ujpKÝjr]rÆ#j{X/lib/firmware/dra7-ipu1-fw.xem4rÇ#…�rÈ#}rÉ#(jYjÀ#jZjÃ#ubaubaubj/)�rÊ#}rË#(jYX /lib/firmware/dra7-ipu2-fw.xem4 jZj¢#jbjõ!jdj2jf}rÌ#(jh]ji]jj]jk]jn]ujpNjqhjr]rÍ#j¡)�rÎ#}rÏ#(jYX/lib/firmware/dra7-ipu2-fw.xem4rÐ#jZjÊ#jbjõ!jdj¥jf}rÑ#(jh]ji]jj]jk]jn]ujpKÞjr]rÒ#j{X/lib/firmware/dra7-ipu2-fw.xem4rÓ#…�rÔ#}rÕ#(jYjÐ#jZjÎ#ubaubaubeubj¡)�rÖ#}r×#(jYX{These are generally a soft link to the intended executable. So for example, let's update the DSP1 executable on the target:rØ#jZjÕ"jbjõ!jdj¥jf}rÙ#(jh]ji]jj]jk]jn]ujpKàjqhjr]rÚ#j{X{These are generally a soft link to the intended executable. So for example, let's update the DSP1 executable on the target:rÛ#…�rÜ#}rÝ#(jYjØ#jZjÖ#ubaubj)�rÞ#}rß#(jYXÔroot@am57xx-evm:~# cd /lib/firmware/ root@am57xx-evm:/lib/firmware# rm dra7-dsp1-fw.xe66 root@am57xx-evm:/lib/firmware# ln -s /home/root/ipc-starter/ex02_messageq/dsp1/bin/debug/server_dsp1.xe66 dra7-dsp1-fw.xe66jZjÕ"jbjõ!jdjjf}rà#(jöj÷jk]jj]jh]ji]jn]ujpMr jqhjr]rá#j{XÔroot@am57xx-evm:~# cd /lib/firmware/ root@am57xx-evm:/lib/firmware# rm dra7-dsp1-fw.xe66 root@am57xx-evm:/lib/firmware# ln -s /home/root/ipc-starter/ex02_messageq/dsp1/bin/debug/server_dsp1.xe66 dra7-dsp1-fw.xe66râ#…�rã#}rä#(jYUjZjÞ#ubaubj¡)�rå#}ræ#(jYXHTo reload DSP1 with this new executable, we perform the following steps:rç#jZjÕ"jbjõ!jdj¥jf}rè#(jh]ji]jj]jk]jn]ujpKéjqhjr]ré#j{XHTo reload DSP1 with this new executable, we perform the following steps:rê#…�rë#}rì#(jYjç#jZjå#ubaubj)�rí#}rî#(jYXŸroot@am57xx-evm:/lib/firmware# cd /sys/bus/platform/drivers/omap-rproc/ root@am57xx-evm:/sys/bus/platform/drivers/omap-rproc# echo 40800000.dsp > unbind [27639.985631] omap_hwmod: mmu0_dsp1: _wait_target_disable failed [27639.991534] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0 [27639.997610] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0 [27640.017557] omap_hwmod: mmu1_dsp1: _wait_target_disable failed [27640.030571] omap_hwmod: mmu0_dsp1: _wait_target_disable failed [27640.036605] remoteproc2: stopped remote processor 40800000.dsp [27640.042805] remoteproc2: releasing 40800000.dsp root@am57xx-evm:/sys/bus/platform/drivers/omap-rproc# echo 40800000.dsp > bind [27645.958613] omap-rproc 40800000.dsp: assigned reserved memory node dsp1_cma@99000000 [27645.966452] remoteproc2: 40800000.dsp is available [27645.971410] remoteproc2: Note: remoteproc is still under development and considered experimental. [27645.980536] remoteproc2: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed. root@am57xx-evm:/sys/bus/platform/drivers/omap-rproc# [27646.008171] remoteproc2: powering up 40800000.dsp [27646.013038] remoteproc2: Booting fw image dra7-dsp1-fw.xe66, size 4706800 [27646.028920] omap_hwmod: mmu0_dsp1: _wait_target_disable failed [27646.034819] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0 [27646.040772] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0 [27646.058323] remoteproc2: remote processor 40800000.dsp is now up [27646.064772] virtio_rpmsg_bus virtio2: rpmsg host is online [27646.072271] remoteproc2: registered virtio2 (type 7) [27646.078026] virtio_rpmsg_bus virtio2: creating channel rpmsg-proto addr 0x3djZjÕ"jbjõ!jdjjf}rï#(jöj÷jk]jj]jh]ji]jn]ujpMz jqhjr]rð#j{XŸroot@am57xx-evm:/lib/firmware# cd /sys/bus/platform/drivers/omap-rproc/ root@am57xx-evm:/sys/bus/platform/drivers/omap-rproc# echo 40800000.dsp > unbind [27639.985631] omap_hwmod: mmu0_dsp1: _wait_target_disable failed [27639.991534] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0 [27639.997610] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0 [27640.017557] omap_hwmod: mmu1_dsp1: _wait_target_disable failed [27640.030571] omap_hwmod: mmu0_dsp1: _wait_target_disable failed [27640.036605] remoteproc2: stopped remote processor 40800000.dsp [27640.042805] remoteproc2: releasing 40800000.dsp root@am57xx-evm:/sys/bus/platform/drivers/omap-rproc# echo 40800000.dsp > bind [27645.958613] omap-rproc 40800000.dsp: assigned reserved memory node dsp1_cma@99000000 [27645.966452] remoteproc2: 40800000.dsp is available [27645.971410] remoteproc2: Note: remoteproc is still under development and considered experimental. [27645.980536] remoteproc2: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed. root@am57xx-evm:/sys/bus/platform/drivers/omap-rproc# [27646.008171] remoteproc2: powering up 40800000.dsp [27646.013038] remoteproc2: Booting fw image dra7-dsp1-fw.xe66, size 4706800 [27646.028920] omap_hwmod: mmu0_dsp1: _wait_target_disable failed [27646.034819] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0 [27646.040772] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0 [27646.058323] remoteproc2: remote processor 40800000.dsp is now up [27646.064772] virtio_rpmsg_bus virtio2: rpmsg host is online [27646.072271] remoteproc2: registered virtio2 (type 7) [27646.078026] virtio_rpmsg_bus virtio2: creating channel rpmsg-proto addr 0x3drñ#…�rò#}ró#(jYUjZjí#ubaubj¡)�rô#}rõ#(jYXœMore info related to loading firmware to the various cores can be found `here `__.jZjÕ"jbjõ!jdj¥jf}rö#(jh]ji]jj]jk]jn]ujpMjqhjr]r÷#(j{XHMore info related to loading firmware to the various cores can be found rø#…�rù#}rú#(jYXHMore info related to loading firmware to the various cores can be found jZjô#ubjÜ)�rû#}rü#(jYXS`here `__jf}rý#(UnameXherejXH/index.php/Processor_Training:_Multimedia#Firmware_Loading_and_Unloadingjk]jj]jh]ji]jn]ujZjô#jr]rþ#j{Xhererÿ#…�r$}r$(jYUjZjû#ubajdjàubj{X.…�r$}r$(jYX.jZjô#ubeubj¡)�r$}r$(jYX(Finally, we can run the example on DSP1:r$jZjÕ"jbjõ!jdj¥jf}r$(jh]ji]jj]jk]jn]ujpMjqhjr]r$j{X(Finally, we can run the example on DSP1:r $…�r $}r $(jYj$jZj$ubaubj)�r $}r $(jYXûroot@am57xx-evm:/sys/bus/platform/drivers/omap-rproc# cd /home/root/ipc-starter/ex02_messageq/host/bin/debug root@am57xx-evm:~/ipc-starter/ex02_messageq/host/bin/debug# ./app_host DSP1 --> main: [33590.700700] omap_hwmod: mmu0_dsp2: _wait_target_disable failed [33590.706609] omap-iommu 41501000.mmu: 41501000.mmu: version 3.0 [33590.718798] omap-iommu 41502000.mmu: 41502000.mmu: version 3.0 --> Main_main: --> App_create: App_create: Host is ready <-- App_create: --> App_exec: App_exec: sending message 1 App_exec: sending message 2 App_exec: sending message 3 App_exec: message received, sending message 4 App_exec: message received, sending message 5 App_exec: message received, sending message 6 App_exec: message received, sending message 7 App_exec: message received, sending message 8 App_exec: message received, sending message 9 App_exec: message received, sending message 10 App_exec: message received, sending message 11 App_exec: message received, sending message 12 App_exec: message received, sending message 13 App_exec: message received, sending message 14 App_exec: message received, sending message 15 App_exec: message received App_exec: message received App_exec: message received <-- App_exec: 0 --> App_delete: <-- App_delete: <-- Main_main: <-- main:jZjÕ"jbjõ!jdjjf}r$(jöj÷jk]jj]jh]ji]jn]ujpM™ jqhjr]r$j{Xûroot@am57xx-evm:/sys/bus/platform/drivers/omap-rproc# cd /home/root/ipc-starter/ex02_messageq/host/bin/debug root@am57xx-evm:~/ipc-starter/ex02_messageq/host/bin/debug# ./app_host DSP1 --> main: [33590.700700] omap_hwmod: mmu0_dsp2: _wait_target_disable failed [33590.706609] omap-iommu 41501000.mmu: 41501000.mmu: version 3.0 [33590.718798] omap-iommu 41502000.mmu: 41502000.mmu: version 3.0 --> Main_main: --> App_create: App_create: Host is ready <-- App_create: --> App_exec: App_exec: sending message 1 App_exec: sending message 2 App_exec: sending message 3 App_exec: message received, sending message 4 App_exec: message received, sending message 5 App_exec: message received, sending message 6 App_exec: message received, sending message 7 App_exec: message received, sending message 8 App_exec: message received, sending message 9 App_exec: message received, sending message 10 App_exec: message received, sending message 11 App_exec: message received, sending message 12 App_exec: message received, sending message 13 App_exec: message received, sending message 14 App_exec: message received, sending message 15 App_exec: message received App_exec: message received App_exec: message received <-- App_exec: 0 --> App_delete: <-- App_delete: <-- Main_main: <-- main:r$…�r$}r$(jYUjZj $ubaubjZ)�r$}r$(jYUjZjÕ"jbjõ!jdj]jf}r$(jh]ji]jj]jk]jn]ujpM/jqhjr]r$j`)�r$}r$(jYUjcKjZj$jbjõ!jdjpjf}r$(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r$}r$(jYX¥The similar procedure can be used for DSP2/IPU1/IPU2 also to update the soft link of the firmware, reload the firmware at run-time, and run the host binary from A15.r$jZjÕ"jbjõ!jdj¥jf}r$(jh]ji]jj]jk]jn]ujpM0jqhjr]r$j{X¥The similar procedure can be used for DSP2/IPU1/IPU2 also to update the soft link of the firmware, reload the firmware at run-time, and run the host binary from A15.r$…�r $}r!$(jYj$jZj$ubaubeubj[)�r"$}r#$(jYUjZjã!jbjõ!jdjejf}r$$(jh]ji]jj]jk]r%$Uunderstanding-the-memory-mapr&$ajn]r'$hßaujpM5jqhjr]r($(jt)�r)$}r*$(jYXUnderstanding the Memory Mapr+$jZj"$jbjõ!jdjxjf}r,$(jh]ji]jj]jk]jn]ujpM5jqhjr]r-$j{XUnderstanding the Memory Mapr.$…�r/$}r0$(jYj+$jZj)$ubaubjè)�r1$}r2$(jYXOverall Linux Memory Mapr3$jZj"$jbjõ!jdjíjf}r4$(jk]r5$Uoverall-linux-memory-mapr6$ajj]jh]ji]jn]r7$hûaujpNjqhjr]r8$j{XOverall Linux Memory Mapr9$…�r:$}r;$(jYj3$jZj1$ubaubj)�r<$}r=$(jYX$root@am57xx-evm:~# cat /proc/iomem [snip...] 58060000-58078fff : core 58820000-5882ffff : l2ram 58882000-588820ff : /ocp/mmu@58882000 80000000-9fffffff : System RAM 80008000-808d204b : Kernel code 80926000-809c96bf : Kernel data a0000000-abffffff : CMEM ac000000-ffcfffff : System RAMjZj"$jbjõ!jdjjf}r>$(jöj÷jk]jj]jh]ji]jn]ujpMÉ jqhjr]r?$j{X$root@am57xx-evm:~# cat /proc/iomem [snip...] 58060000-58078fff : core 58820000-5882ffff : l2ram 58882000-588820ff : /ocp/mmu@58882000 80000000-9fffffff : System RAM 80008000-808d204b : Kernel code 80926000-809c96bf : Kernel data a0000000-abffffff : CMEM ac000000-ffcfffff : System RAMr@$…�rA$}rB$(jYUjZj<$ubaubjZ)�rC$}rD$(jYUjZj"$jbjõ!jdj]jf}rE$(jh]ji]jj]jk]jn]ujpMGjqhjr]rF$j`)�rG$}rH$(jYUjcKjZjC$jbjõ!jdjpjf}rI$(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�rJ$}rK$(jYX CMA CarveoutsrL$jZj"$jbjõ!jdjíjf}rM$(jk]rN$U cma-carveoutsrO$ajj]jh]ji]jn]rP$hBaujpNjqhjr]rQ$j{X CMA CarveoutsrR$…�rS$}rT$(jYjL$jZjJ$ubaubj)�rU$}rV$(jYXdroot@am57xx-evm:~# dmesg | grep -i cma [ 0.000000] Reserved memory: created CMA memory pool at 0x0000000095800000, size 56 MiB [ 0.000000] Reserved memory: initialized node ipu2_cma@95800000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created CMA memory pool at 0x0000000099000000, size 64 MiB [ 0.000000] Reserved memory: initialized node dsp1_cma@99000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created CMA memory pool at 0x000000009d000000, size 32 MiB [ 0.000000] Reserved memory: initialized node ipu1_cma@9d000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created CMA memory pool at 0x000000009f000000, size 8 MiB [ 0.000000] Reserved memory: initialized node dsp2_cma@9f000000, compatible id shared-dma-pool [ 0.000000] cma: Reserved 24 MiB at 0x00000000fe400000 [ 0.000000] Memory: 1713468K/1897472K available (6535K kernel code, 358K rwdata, 2464K rodata, 332K init, 289K bss, 28356K reserved, 155648K cma-reserved, 1283072K highmem) [ 5.492945] omap-rproc 58820000.ipu: assigned reserved memory node ipu1_cma@9d000000 [ 5.603289] omap-rproc 55020000.ipu: assigned reserved memory node ipu2_cma@95800000 [ 5.713411] omap-rproc 40800000.dsp: assigned reserved memory node dsp1_cma@9b000000 [ 5.771990] omap-rproc 41000000.dsp: assigned reserved memory node dsp2_cma@9f000000jZj"$jbjõ!jdjjf}rW$(jöj÷jk]jj]jh]ji]jn]ujpMÛ jqhjr]rX$j{Xdroot@am57xx-evm:~# dmesg | grep -i cma [ 0.000000] Reserved memory: created CMA memory pool at 0x0000000095800000, size 56 MiB [ 0.000000] Reserved memory: initialized node ipu2_cma@95800000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created CMA memory pool at 0x0000000099000000, size 64 MiB [ 0.000000] Reserved memory: initialized node dsp1_cma@99000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created CMA memory pool at 0x000000009d000000, size 32 MiB [ 0.000000] Reserved memory: initialized node ipu1_cma@9d000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created CMA memory pool at 0x000000009f000000, size 8 MiB [ 0.000000] Reserved memory: initialized node dsp2_cma@9f000000, compatible id shared-dma-pool [ 0.000000] cma: Reserved 24 MiB at 0x00000000fe400000 [ 0.000000] Memory: 1713468K/1897472K available (6535K kernel code, 358K rwdata, 2464K rodata, 332K init, 289K bss, 28356K reserved, 155648K cma-reserved, 1283072K highmem) [ 5.492945] omap-rproc 58820000.ipu: assigned reserved memory node ipu1_cma@9d000000 [ 5.603289] omap-rproc 55020000.ipu: assigned reserved memory node ipu2_cma@95800000 [ 5.713411] omap-rproc 40800000.dsp: assigned reserved memory node dsp1_cma@9b000000 [ 5.771990] omap-rproc 41000000.dsp: assigned reserved memory node dsp2_cma@9f000000rY$…�rZ$}r[$(jYUjZjU$ubaubj¡)�r\$}r]$(jYXPFrom the output above, we can derive the location and size of each CMA carveout:r^$jZj"$jbjõ!jdj¥jf}r_$(jh]ji]jj]jk]jn]ujpM^jqhjr]r`$j{XPFrom the output above, we can derive the location and size of each CMA carveout:ra$…�rb$}rc$(jYj^$jZj\$ubaubcdocutils.nodes table rd$)�re$}rf$(jYUjZj"$jbjõ!jdUtablerg$jf}rh$(jh]ji]jj]jk]jn]ujpNjqhjr]ri$cdocutils.nodes tgroup rj$)�rk$}rl$(jYUjf}rm$(jk]jj]jh]ji]jn]UcolsKujZje$jr]rn$(cdocutils.nodes colspec ro$)�rp$}rq$(jYUjf}rr$(jk]jj]jh]ji]jn]UcolwidthKujZjk$jr]jdUcolspecrs$ubjo$)�rt$}ru$(jYUjf}rv$(jk]jj]jh]ji]jn]UcolwidthKujZjk$jr]jdjs$ubjo$)�rw$}rx$(jYUjf}ry$(jk]jj]jh]ji]jn]UcolwidthKujZjk$jr]jdjs$ubcdocutils.nodes thead rz$)�r{$}r|$(jYUjf}r}$(jh]ji]jj]jk]jn]ujZjk$jr]r~$cdocutils.nodes row r$)�r€$}r�$(jYUjf}r‚$(jh]ji]jj]jk]jn]ujZj{$jr]rƒ$(cdocutils.nodes entry r„$)�r…$}r†$(jYUjf}r‡$(jh]ji]jj]jk]jn]ujZj€$jr]rˆ$j¡)�r‰$}rŠ$(jYXMemory Sectionr‹$jZj…$jbjõ!jdj¥jf}rŒ$(jh]ji]jj]jk]jn]ujpMbjr]r�$j{XMemory SectionrŽ$…�r�$}r�$(jYj‹$jZj‰$ubaubajdUentryr‘$ubj„$)�r’$}r“$(jYUjf}r”$(jh]ji]jj]jk]jn]ujZj€$jr]r•$j¡)�r–$}r—$(jYXPhysical Addressr˜$jZj’$jbjõ!jdj¥jf}r™$(jh]ji]jj]jk]jn]ujpMbjr]rš$j{XPhysical Addressr›$…�rœ$}r�$(jYj˜$jZj–$ubaubajdj‘$ubj„$)�rž$}rŸ$(jYUjf}r $(jh]ji]jj]jk]jn]ujZj€$jr]r¡$j¡)�r¢$}r£$(jYXSizer¤$jZjž$jbjõ!jdj¥jf}r¥$(jh]ji]jj]jk]jn]ujpMbjr]r¦$j{XSizer§$…�r¨$}r©$(jYj¤$jZj¢$ubaubajdj‘$ubejdUrowrª$ubajdUtheadr«$ubcdocutils.nodes tbody r¬$)�r­$}r®$(jYUjf}r¯$(jh]ji]jj]jk]jn]ujZjk$jr]r°$(j$)�r±$}r²$(jYUjf}r³$(jh]ji]jj]jk]jn]ujZj­$jr]r´$(j„$)�rµ$}r¶$(jYUjf}r·$(jh]ji]jj]jk]jn]ujZj±$jr]r¸$j¡)�r¹$}rº$(jYXIPU2 CMAr»$jZjµ$jbjõ!jdj¥jf}r¼$(jh]ji]jj]jk]jn]ujpMdjr]r½$j{XIPU2 CMAr¾$…�r¿$}rÀ$(jYj»$jZj¹$ubaubajdj‘$ubj„$)�rÁ$}rÂ$(jYUjf}rÃ$(jh]ji]jj]jk]jn]ujZj±$jr]rÄ$j¡)�rÅ$}rÆ$(jYX 0x95800000rÇ$jZjÁ$jbjõ!jdj¥jf}rÈ$(jh]ji]jj]jk]jn]ujpMdjr]rÉ$j{X 0x95800000rÊ$…�rË$}rÌ$(jYjÇ$jZjÅ$ubaubajdj‘$ubj„$)�rÍ$}rÎ$(jYUjf}rÏ$(jh]ji]jj]jk]jn]ujZj±$jr]rÐ$j¡)�rÑ$}rÒ$(jYX56 MBrÓ$jZjÍ$jbjõ!jdj¥jf}rÔ$(jh]ji]jj]jk]jn]ujpMdjr]rÕ$j{X56 MBrÖ$…�r×$}rØ$(jYjÓ$jZjÑ$ubaubajdj‘$ubejdjª$ubj$)�rÙ$}rÚ$(jYUjf}rÛ$(jh]ji]jj]jk]jn]ujZj­$jr]rÜ$(j„$)�rÝ$}rÞ$(jYUjf}rß$(jh]ji]jj]jk]jn]ujZjÙ$jr]rà$j¡)�rá$}râ$(jYXDSP1 CMArã$jZjÝ$jbjõ!jdj¥jf}rä$(jh]ji]jj]jk]jn]ujpMfjr]rå$j{XDSP1 CMAræ$…�rç$}rè$(jYjã$jZjá$ubaubajdj‘$ubj„$)�ré$}rê$(jYUjf}rë$(jh]ji]jj]jk]jn]ujZjÙ$jr]rì$j¡)�rí$}rî$(jYX 0x99000000rï$jZjé$jbjõ!jdj¥jf}rð$(jh]ji]jj]jk]jn]ujpMfjr]rñ$j{X 0x99000000rò$…�ró$}rô$(jYjï$jZjí$ubaubajdj‘$ubj„$)�rõ$}rö$(jYUjf}r÷$(jh]ji]jj]jk]jn]ujZjÙ$jr]rø$j¡)�rù$}rú$(jYX64 MBrû$jZjõ$jbjõ!jdj¥jf}rü$(jh]ji]jj]jk]jn]ujpMfjr]rý$j{X64 MBrþ$…�rÿ$}r%(jYjû$jZjù$ubaubajdj‘$ubejdjª$ubj$)�r%}r%(jYUjf}r%(jh]ji]jj]jk]jn]ujZj­$jr]r%(j„$)�r%}r%(jYUjf}r%(jh]ji]jj]jk]jn]ujZj%jr]r%j¡)�r %}r %(jYXIPU1 CMAr %jZj%jbjõ!jdj¥jf}r %(jh]ji]jj]jk]jn]ujpMhjr]r %j{XIPU1 CMAr%…�r%}r%(jYj %jZj %ubaubajdj‘$ubj„$)�r%}r%(jYUjf}r%(jh]ji]jj]jk]jn]ujZj%jr]r%j¡)�r%}r%(jYX 0x9d000000r%jZj%jbjõ!jdj¥jf}r%(jh]ji]jj]jk]jn]ujpMhjr]r%j{X 0x9d000000r%…�r%}r%(jYj%jZj%ubaubajdj‘$ubj„$)�r%}r%(jYUjf}r%(jh]ji]jj]jk]jn]ujZj%jr]r %j¡)�r!%}r"%(jYX32 MBr#%jZj%jbjõ!jdj¥jf}r$%(jh]ji]jj]jk]jn]ujpMhjr]r%%j{X32 MBr&%…�r'%}r(%(jYj#%jZj!%ubaubajdj‘$ubejdjª$ubj$)�r)%}r*%(jYUjf}r+%(jh]ji]jj]jk]jn]ujZj­$jr]r,%(j„$)�r-%}r.%(jYUjf}r/%(jh]ji]jj]jk]jn]ujZj)%jr]r0%j¡)�r1%}r2%(jYXDSP2 CMAr3%jZj-%jbjõ!jdj¥jf}r4%(jh]ji]jj]jk]jn]ujpMjjr]r5%j{XDSP2 CMAr6%…�r7%}r8%(jYj3%jZj1%ubaubajdj‘$ubj„$)�r9%}r:%(jYUjf}r;%(jh]ji]jj]jk]jn]ujZj)%jr]r<%j¡)�r=%}r>%(jYX 0x9f000000r?%jZj9%jbjõ!jdj¥jf}r@%(jh]ji]jj]jk]jn]ujpMjjr]rA%j{X 0x9f000000rB%…�rC%}rD%(jYj?%jZj=%ubaubajdj‘$ubj„$)�rE%}rF%(jYUjf}rG%(jh]ji]jj]jk]jn]ujZj)%jr]rH%j¡)�rI%}rJ%(jYX8 MBrK%jZjE%jbjõ!jdj¥jf}rL%(jh]ji]jj]jk]jn]ujpMjjr]rM%j{X8 MBrN%…�rO%}rP%(jYjK%jZjI%ubaubajdj‘$ubejdjª$ubj$)�rQ%}rR%(jYUjf}rS%(jh]ji]jj]jk]jn]ujZj­$jr]rT%(j„$)�rU%}rV%(jYUjf}rW%(jh]ji]jj]jk]jn]ujZjQ%jr]rX%j¡)�rY%}rZ%(jYX Default CMAr[%jZjU%jbjõ!jdj¥jf}r\%(jh]ji]jj]jk]jn]ujpMljr]r]%j{X Default CMAr^%…�r_%}r`%(jYj[%jZjY%ubaubajdj‘$ubj„$)�ra%}rb%(jYUjf}rc%(jh]ji]jj]jk]jn]ujZjQ%jr]rd%j¡)�re%}rf%(jYX 0xfe400000rg%jZja%jbjõ!jdj¥jf}rh%(jh]ji]jj]jk]jn]ujpMljr]ri%j{X 0xfe400000rj%…�rk%}rl%(jYjg%jZje%ubaubajdj‘$ubj„$)�rm%}rn%(jYUjf}ro%(jh]ji]jj]jk]jn]ujZjQ%jr]rp%j¡)�rq%}rr%(jYX24 MBrs%jZjm%jbjõ!jdj¥jf}rt%(jh]ji]jj]jk]jn]ujpMljr]ru%j{X24 MBrv%…�rw%}rx%(jYjs%jZjq%ubaubajdj‘$ubejdjª$ubejdUtbodyry%ubejdUtgrouprz%ubaubj¡)�r{%}r|%(jYXŸFor details on how to adjust the sizes and locations of the DSP/IPU CMA carveouts, please see the corresponding section for changing the DSP or IPU memory map.r}%jZj"$jbjõ!jdj¥jf}r~%(jh]ji]jj]jk]jn]ujpMojqhjr]r%j{XŸFor details on how to adjust the sizes and locations of the DSP/IPU CMA carveouts, please see the corresponding section for changing the DSP or IPU memory map.r€%…�r�%}r‚%(jYj}%jZj{%ubaubj¡)�rƒ%}r„%(jYXZTo adjust the size of the "Default CMA" section, this is done as part of the Linux config:r…%jZj"$jbjõ!jdj¥jf}r†%(jh]ji]jj]jk]jn]ujpMsjqhjr]r‡%j{XZTo adjust the size of the "Default CMA" section, this is done as part of the Linux config:rˆ%…�r‰%}rŠ%(jYj…%jZjƒ%ubaubj¡)�r‹%}rŒ%(jYX1linux/arch/arm/configs/tisdk_am57xx-evm_defconfigr�%jZj"$jbjõ!jdj¥jf}rŽ%(jh]ji]jj]jk]jn]ujpMvjqhjr]r�%j{X1linux/arch/arm/configs/tisdk_am57xx-evm_defconfigr�%…�r‘%}r’%(jYj�%jZj‹%ubaubj)�r“%}r”%(jYXa# # Default contiguous memory area size: # CONFIG_CMA_SIZE_MBYTES=24 CONFIG_CMA_SIZE_SEL_MBYTES=yjZj"$jbjõ!jdjjf}r•%(jöj÷jk]jj]jh]ji]jn]ujpMjqhjr]r–%j{Xa# # Default contiguous memory area size: # CONFIG_CMA_SIZE_MBYTES=24 CONFIG_CMA_SIZE_SEL_MBYTES=yr—%…�r˜%}r™%(jYUjZj“%ubaubjZ)�rš%}r›%(jYUjZj"$jbjõ!jdj]jf}rœ%(jh]ji]jj]jk]jn]ujpM€jqhjr]r�%j`)�rž%}rŸ%(jYUjcKjZjš%jbjõ!jdjpjf}r %(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�r¡%}r¢%(jYXCMEMr£%jZj"$jbjõ!jdjíjf}r¤%(jk]r¥%Ucmemr¦%ajj]jh]ji]jn]r§%hKaujpNjqhjr]r¨%j{XCMEMr©%…�rª%}r«%(jYj£%jZj¡%ubaubj¡)�r¬%}r­%(jYX#To view the allocation at run-time:r®%jZj"$jbjõ!jdj¥jf}r¯%(jh]ji]jj]jk]jn]ujpM…jqhjr]r°%j{X#To view the allocation at run-time:r±%…�r²%}r³%(jYj®%jZj¬%ubaubj)�r´%}rµ%(jYX root@am57xx-evm:~# cat /proc/cmem Block 0: Pool 0: 1 bufs size 0xc000000 (0xc000000 requested) Pool 0 busy bufs: Pool 0 free bufs: id 0: phys addr 0xa0000000jZj"$jbjõ!jdjjf}r¶%(jöj÷jk]jj]jh]ji]jn]ujpMjqhjr]r·%j{X root@am57xx-evm:~# cat /proc/cmem Block 0: Pool 0: 1 bufs size 0xc000000 (0xc000000 requested) Pool 0 busy bufs: Pool 0 free bufs: id 0: phys addr 0xa0000000r¸%…�r¹%}rº%(jYUjZj´%ubaubj¡)�r»%}r¼%(jYXThis shows that we have defined a CMEM block at physical base address of 0xA0000000 with total size 0xc000000 (192 MB). This block contains a buffer pool consisting of 1 buffer. Each buffer in the pool (only one in this case) is defined to have a size of 0xc000000 (192 MB).r½%jZj"$jbjõ!jdj¥jf}r¾%(jh]ji]jj]jk]jn]ujpM’jqhjr]r¿%j{XThis shows that we have defined a CMEM block at physical base address of 0xA0000000 with total size 0xc000000 (192 MB). This block contains a buffer pool consisting of 1 buffer. Each buffer in the pool (only one in this case) is defined to have a size of 0xc000000 (192 MB).rÀ%…�rÁ%}rÂ%(jYj½%jZj»%ubaubj¡)�rÃ%}rÄ%(jYXDHere is where those sizes/addresses were defined for the AM57xx EVM:rÅ%jZj"$jbjõ!jdj¥jf}rÆ%(jh]ji]jj]jk]jn]ujpM—jqhjr]rÇ%j{XDHere is where those sizes/addresses were defined for the AM57xx EVM:rÈ%…�rÉ%}rÊ%(jYjÅ%jZjÃ%ubaubj¡)�rË%}rÌ%(jYX,linux/arch/arm/boot/dts/am57xx-evm-cmem.dtsirÍ%jZj"$jbjõ!jdj¥jf}rÎ%(jh]ji]jj]jk]jn]ujpM™jqhjr]rÏ%j{X,linux/arch/arm/boot/dts/am57xx-evm-cmem.dtsirÐ%…�rÑ%}rÒ%(jYjÍ%jZjË%ubaubj)�rÓ%}rÔ%(jYX{{ reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; cmem_block_mem_0: cmem_block_mem@a0000000 { reg = <0x0 0xa0000000 0x0 0x0c000000>; no-map; status = "okay"; }; cmem_block_mem_1_ocmc3: cmem_block_mem@40500000 { reg = <0x0 0x40500000 0x0 0x100000>; no-map; status = "okay"; }; }; cmem { compatible = "ti,cmem"; #address-cells = <1>; #size-cells = <0>; #pool-size-cells = <2>; status = "okay"; cmem_block_0: cmem_block@0 { reg = <0>; memory-region = <&cmem_block_mem_0>; cmem-buf-pools = <1 0x0 0x0c000000>; }; cmem_block_1: cmem_block@1 { reg = <1>; memory-region = <&cmem_block_mem_1_ocmc3>; }; }; };jZj"$jbjõ!jdjjf}rÕ%(jöj÷jk]jj]jh]ji]jn]ujpM*jqhjr]rÖ%j{X{{ reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; cmem_block_mem_0: cmem_block_mem@a0000000 { reg = <0x0 0xa0000000 0x0 0x0c000000>; no-map; status = "okay"; }; cmem_block_mem_1_ocmc3: cmem_block_mem@40500000 { reg = <0x0 0x40500000 0x0 0x100000>; no-map; status = "okay"; }; }; cmem { compatible = "ti,cmem"; #address-cells = <1>; #size-cells = <0>; #pool-size-cells = <2>; status = "okay"; cmem_block_0: cmem_block@0 { reg = <0>; memory-region = <&cmem_block_mem_0>; cmem-buf-pools = <1 0x0 0x0c000000>; }; cmem_block_1: cmem_block@1 { reg = <1>; memory-region = <&cmem_block_mem_1_ocmc3>; }; }; };r×%…�rØ%}rÙ%(jYUjZjÓ%ubaubjZ)�rÚ%}rÛ%(jYUjZj"$jbjõ!jdj]jf}rÜ%(jh]ji]jj]jk]jn]ujpMÆjqhjr]rÝ%j`)�rÞ%}rß%(jYUjcKjZjÚ%jbjõ!jdjpjf}rà%(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�rá%}râ%(jYXChanging the DSP Memory Maprã%jZj"$jbjõ!jdjíjf}rä%(jk]rå%Uchanging-the-dsp-memory-mapræ%ajj]jh]ji]jn]rç%haujpNjqhjr]rè%j{XChanging the DSP Memory Mapré%…�rê%}rë%(jYjã%jZjá%ubaubj¡)�rì%}rí%(jYX§First, it is important to understand that there are a pair of Memory Management Units (MMUs) that sit between the DSP subsystems and the L3 interconnect. One of these MMUs is for the DSP core and the other is for its local EDMA. They both serve the same purpose of translating virtual addresses (i.e. the addresses as viewed by the DSP subsystem) into physical addresses (i.e. addresses as viewed from the L3 interconnect).rî%jZj"$jbjõ!jdj¥jf}rï%(jh]ji]jj]jk]jn]ujpMËjqhjr]rð%j{X§First, it is important to understand that there are a pair of Memory Management Units (MMUs) that sit between the DSP subsystems and the L3 interconnect. One of these MMUs is for the DSP core and the other is for its local EDMA. They both serve the same purpose of translating virtual addresses (i.e. the addresses as viewed by the DSP subsystem) into physical addresses (i.e. addresses as viewed from the L3 interconnect).rñ%…�rò%}ró%(jYjî%jZjì%ubaubjB)�rô%}rõ%(jYX(.. Image:: ../images/LinuxIpcDspMmu.png jZj"$jbjõ!jdjEjf}rö%(UuriX!rtos/../images/LinuxIpcDspMmu.pngr÷%jk]jj]jh]ji]jH}rø%U*j÷%sjn]ujpMÓjqhjr]ubjè)�rù%}rú%(jYXDSP Physical Addressesrû%jZj"$jbjõ!jdjíjf}rü%(jk]rý%Udsp-physical-addressesrþ%ajj]jh]ji]jn]rÿ%hZaujpNjqhjr]r&j{XDSP Physical Addressesr&…�r&}r&(jYjû%jZjù%ubaubj¡)�r&}r&(jYXThe physical location where the DSP code/data will actually reside is defined by the CMA carveout. To change this location, you must change the definition of the carveout. **The DSP carveouts are defined in the Linux dts file.** For example for the AM57xx EVM:jZj"$jbjõ!jdj¥jf}r&(jh]ji]jj]jk]jn]ujpM×jqhjr]r&(j{X¬The physical location where the DSP code/data will actually reside is defined by the CMA carveout. To change this location, you must change the definition of the carveout. r&…�r &}r &(jYX¬The physical location where the DSP code/data will actually reside is defined by the CMA carveout. To change this location, you must change the definition of the carveout. jZj&ubjü)�r &}r &(jYX8**The DSP carveouts are defined in the Linux dts file.**jf}r &(jh]ji]jj]jk]jn]ujZj&jr]r&j{X4The DSP carveouts are defined in the Linux dts file.r&…�r&}r&(jYUjZj &ubajdjubj{X For example for the AM57xx EVM:r&…�r&}r&(jYX For example for the AM57xx EVM:jZj&ubeubjZ)�r&}r&(jYUjZj"$jbjõ!jdj]jf}r&(jh]ji]jj]jk]jn]ujpMÜjqhjr]r&j`)�r&}r&(jYUjcKjZj&jbjõ!jdjpjf}r&(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r&}r&(jYX5linux/arch/arm/boot/dts/am57xx-beagle-x15-common.dtsir&jZj"$jbjõ!jdj¥jf}r&(jh]ji]jj]jk]jn]ujpMÝjqhjr]r &j{X5linux/arch/arm/boot/dts/am57xx-beagle-x15-common.dtsir!&…�r"&}r#&(jYj&jZj&ubaubj)�r$&}r%&(jYX²{ dsp1_cma_pool: dsp1_cma@99000000 { compatible = "shared-dma-pool"; reg = <0x0 0x99000000 0x0 0x4000000>; reusable; status = "okay"; }; dsp2_cma_pool: dsp2_cma@9f000000 { compatible = "shared-dma-pool"; reg = <0x0 0x9f000000 0x0 0x800000>; reusable; status = "okay"; }; };jZj"$jbjõ!jdjjf}r&&(jöj÷jk]jj]jh]ji]jn]ujpMnjqhjr]r'&j{X²{ dsp1_cma_pool: dsp1_cma@99000000 { compatible = "shared-dma-pool"; reg = <0x0 0x99000000 0x0 0x4000000>; reusable; status = "okay"; }; dsp2_cma_pool: dsp2_cma@9f000000 { compatible = "shared-dma-pool"; reg = <0x0 0x9f000000 0x0 0x800000>; reusable; status = "okay"; }; };r(&…�r)&}r*&(jYUjZj$&ubaubjZ)�r+&}r,&(jYUjZj"$jbjõ!jdj]jf}r-&(jh]ji]jj]jk]jn]ujpMñjqhjr]r.&j`)�r/&}r0&(jYUjcKjZj+&jbjõ!jdjpjf}r1&(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r2&}r3&(jYXeYou are able to change both the size and location. **Be careful not to overlap any other carveouts!**jZj"$jbjõ!jdj¥jf}r4&(jh]ji]jj]jk]jn]ujpMòjqhjr]r5&(j{X3You are able to change both the size and location. r6&…�r7&}r8&(jYX3You are able to change both the size and location. jZj2&ubjü)�r9&}r:&(jYX2**Be careful not to overlap any other carveouts!**jf}r;&(jh]ji]jj]jk]jn]ujZj2&jr]r<&j{X.Be careful not to overlap any other carveouts!r=&…�r>&}r?&(jYUjZj9&ubajdjubeubj)�r@&}rA&(jYX?The **two** location entries for a given DSP must be identical!jZj"$jbjõ!jdjjf}rB&(jh]ji]jj]jk]jn]ujpNjqhjr]rC&j¡)�rD&}rE&(jYX?The **two** location entries for a given DSP must be identical!jZj@&jbjõ!jdj¥jf}rF&(jh]ji]jj]jk]jn]ujpMöjr]rG&(j{XThe rH&…�rI&}rJ&(jYXThe jZjD&ubjü)�rK&}rL&(jYX**two**jf}rM&(jh]ji]jj]jk]jn]ujZjD&jr]rN&j{XtworO&…�rP&}rQ&(jYUjZjK&ubajdjubj{X4 location entries for a given DSP must be identical!rR&…�rS&}rT&(jYX4 location entries for a given DSP must be identical!jZjD&ubeubaubjZ)�rU&}rV&(jYUjZj"$jbjõ!jdj]jf}rW&(jh]ji]jj]jk]jn]ujpMùjqhjr]rX&j`)�rY&}rZ&(jYUjcKjZjU&jbjõ!jdjpjf}r[&(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r\&}r]&(jYX,Additionally, when you change the carveout location, there is a corresponding change that must be made to the resource table. For starters, if you're making a memory change you will need a **custom** resource table. The resource table is a large structure that is the "bridge" between physical memory and virtual memory. This structure is utilized for configuring the MMUs that sit in front of the DSP subsystem. There is detailed information available in the article `IPC Resource customTable `__.jZj"$jbjõ!jdj¥jf}r^&(jh]ji]jj]jk]jn]ujpMújqhjr]r_&(j{X½Additionally, when you change the carveout location, there is a corresponding change that must be made to the resource table. For starters, if you're making a memory change you will need a r`&…�ra&}rb&(jYX½Additionally, when you change the carveout location, there is a corresponding change that must be made to the resource table. For starters, if you're making a memory change you will need a jZj\&ubjü)�rc&}rd&(jYX **custom**jf}re&(jh]ji]jj]jk]jn]ujZj\&jr]rf&j{Xcustomrg&…�rh&}ri&(jYUjZjc&ubajdjubj{X  resource table. The resource table is a large structure that is the "bridge" between physical memory and virtual memory. This structure is utilized for configuring the MMUs that sit in front of the DSP subsystem. There is detailed information available in the article rj&…�rk&}rl&(jYX  resource table. The resource table is a large structure that is the "bridge" between physical memory and virtual memory. This structure is utilized for configuring the MMUs that sit in front of the DSP subsystem. There is detailed information available in the article jZj\&ubjÜ)�rm&}rn&(jYXW`IPC Resource customTable `__jf}ro&(UnameXIPC Resource customTablejX8index_Foundational_Components.html#resource-custom-tablejk]jj]jh]ji]jn]ujZj\&jr]rp&j{XIPC Resource customTablerq&…�rr&}rs&(jYUjZjm&ubajdjàubj{X.…�rt&}ru&(jYX.jZj\&ubeubj¡)�rv&}rw&(jYX˜Once you've created your custom resource table, you must update the address of PHYS_MEM_IPC_VRING to be the same base address as your corresponding CMA.rx&jZj"$jbjõ!jdj¥jf}ry&(jh]ji]jj]jk]jn]ujpMjqhjr]rz&j{X˜Once you've created your custom resource table, you must update the address of PHYS_MEM_IPC_VRING to be the same base address as your corresponding CMA.r{&…�r|&}r}&(jYjx&jZjv&ubaubj)�r~&}r&(jYX�#if defined (VAYU_DSP_1) #define PHYS_MEM_IPC_VRING 0x99000000 #elif defined (VAYU_DSP_2) #define PHYS_MEM_IPC_VRING 0x9F000000 #endifjZj"$jbjõ!jdjjf}r€&(j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpMjqhjr]r�&j{X�#if defined (VAYU_DSP_1) #define PHYS_MEM_IPC_VRING 0x99000000 #elif defined (VAYU_DSP_2) #define PHYS_MEM_IPC_VRING 0x9F000000 #endifr‚&…�rƒ&}r„&(jYUjZj~&ubaubjZ)�r…&}r†&(jYUjZj"$jbjõ!jdj]jf}r‡&(jh]ji]jj]jk]jn]ujpMjqhjr]rˆ&j`)�r‰&}rŠ&(jYUjcKjZj…&jbjõ!jdjpjf}r‹&(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj)�rŒ&}r�&(jYXpThe PHYS_MEM_IPC_VRING definition from the resource table must match the address of the associated CMA carveout!jZj"$jbjõ!jdjjf}rŽ&(jh]ji]jj]jk]jn]ujpNjqhjr]r�&j¡)�r�&}r‘&(jYXpThe PHYS_MEM_IPC_VRING definition from the resource table must match the address of the associated CMA carveout!r’&jZjŒ&jbjõ!jdj¥jf}r“&(jh]ji]jj]jk]jn]ujpMjr]r”&j{XpThe PHYS_MEM_IPC_VRING definition from the resource table must match the address of the associated CMA carveout!r•&…�r–&}r—&(jYj’&jZj�&ubaubaubjè)�r˜&}r™&(jYXDSP Virtual Addressesrš&jZj"$jbjõ!jdjíjf}r›&(jk]rœ&Udsp-virtual-addressesr�&ajj]jh]ji]jn]rž&hšaujpNjqhjr]rŸ&j{XDSP Virtual Addressesr &…�r¡&}r¢&(jYjš&jZj˜&ubaubj¡)�r£&}r¤&(jYX{These addresses are the ones seen by the DSP subsystem, i.e. these will be the addresses in your linker command files, etc.r¥&jZj"$jbjõ!jdj¥jf}r¦&(jh]ji]jj]jk]jn]ujpMjqhjr]r§&j{X{These addresses are the ones seen by the DSP subsystem, i.e. these will be the addresses in your linker command files, etc.r¨&…�r©&}rª&(jYj¥&jZj£&ubaubj¡)�r«&}r¬&(jYXwYou must ensure that the sizes of your sections are consistent with the corresponding definitions in the resource table. You should create your own resource table in order to modify the memory map. This is describe in the wiki page `IPC Resource customTable `__. You can look at an existing resource table inside IPC:jZj"$jbjõ!jdj¥jf}r­&(jh]ji]jj]jk]jn]ujpMjqhjr]r®&(j{XèYou must ensure that the sizes of your sections are consistent with the corresponding definitions in the resource table. You should create your own resource table in order to modify the memory map. This is describe in the wiki page r¯&…�r°&}r±&(jYXèYou must ensure that the sizes of your sections are consistent with the corresponding definitions in the resource table. You should create your own resource table in order to modify the memory map. This is describe in the wiki page jZj«&ubjÜ)�r²&}r³&(jYXW`IPC Resource customTable `__jf}r´&(UnameXIPC Resource customTablejX8index_Foundational_Components.html#resource-custom-tablejk]jj]jh]ji]jn]ujZj«&jr]rµ&j{XIPC Resource customTabler¶&…�r·&}r¸&(jYUjZj²&ubajdjàubj{X8. You can look at an existing resource table inside IPC:r¹&…�rº&}r»&(jYX8. You can look at an existing resource table inside IPC:jZj«&ubeubj¡)�r¼&}r½&(jYX3ipc/packages/ti/ipc/remoteproc/rsc_table_vayu_dsp.hr¾&jZj"$jbjõ!jdj¥jf}r¿&(jh]ji]jj]jk]jn]ujpM"jqhjr]rÀ&j{X3ipc/packages/ti/ipc/remoteproc/rsc_table_vayu_dsp.hrÁ&…�rÂ&}rÃ&(jYj¾&jZj¼&ubaubj)�rÄ&}rÅ&(jYX,{ TYPE_CARVEOUT, DSP_MEM_TEXT, 0, DSP_MEM_TEXT_SIZE, 0, 0, "DSP_MEM_TEXT", }, { TYPE_CARVEOUT, DSP_MEM_DATA, 0, DSP_MEM_DATA_SIZE, 0, 0, "DSP_MEM_DATA", }, { TYPE_CARVEOUT, DSP_MEM_HEAP, 0, DSP_MEM_HEAP_SIZE, 0, 0, "DSP_MEM_HEAP", }, { TYPE_CARVEOUT, DSP_MEM_IPC_DATA, 0, DSP_MEM_IPC_DATA_SIZE, 0, 0, "DSP_MEM_IPC_DATA", }, { TYPE_TRACE, TRACEBUFADDR, 0x8000, 0, "trace:dsp", }, { TYPE_DEVMEM, DSP_MEM_IPC_VRING, PHYS_MEM_IPC_VRING, DSP_MEM_IPC_VRING_SIZE, 0, 0, "DSP_MEM_IPC_VRING", },jZj"$jbjõ!jdjjf}rÆ&(j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpM$jqhjr]rÇ&j{X,{ TYPE_CARVEOUT, DSP_MEM_TEXT, 0, DSP_MEM_TEXT_SIZE, 0, 0, "DSP_MEM_TEXT", }, { TYPE_CARVEOUT, DSP_MEM_DATA, 0, DSP_MEM_DATA_SIZE, 0, 0, "DSP_MEM_DATA", }, { TYPE_CARVEOUT, DSP_MEM_HEAP, 0, DSP_MEM_HEAP_SIZE, 0, 0, "DSP_MEM_HEAP", }, { TYPE_CARVEOUT, DSP_MEM_IPC_DATA, 0, DSP_MEM_IPC_DATA_SIZE, 0, 0, "DSP_MEM_IPC_DATA", }, { TYPE_TRACE, TRACEBUFADDR, 0x8000, 0, "trace:dsp", }, { TYPE_DEVMEM, DSP_MEM_IPC_VRING, PHYS_MEM_IPC_VRING, DSP_MEM_IPC_VRING_SIZE, 0, 0, "DSP_MEM_IPC_VRING", },rÈ&…�rÉ&}rÊ&(jYUjZjÄ&ubaubjZ)�rË&}rÌ&(jYUjZj"$jbjõ!jdj]jf}rÍ&(jh]ji]jj]jk]jn]ujpMIjqhjr]rÎ&j`)�rÏ&}rÐ&(jYUjcKjZjË&jbjõ!jdjpjf}rÑ&(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rÒ&}rÓ&(jYXJLet's have a look at some of these to understand them better. For example:rÔ&jZj"$jbjõ!jdj¥jf}rÕ&(jh]ji]jj]jk]jn]ujpMKjqhjr]rÖ&j{XJLet's have a look at some of these to understand them better. For example:r×&…�rØ&}rÙ&(jYjÔ&jZjÒ&ubaubj)�rÚ&}rÛ&(jYXY{ TYPE_CARVEOUT, DSP_MEM_TEXT, 0, DSP_MEM_TEXT_SIZE, 0, 0, "DSP_MEM_TEXT", },jZj"$jbjõ!jdjjf}rÜ&(j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpMNjqhjr]rÝ&j{XY{ TYPE_CARVEOUT, DSP_MEM_TEXT, 0, DSP_MEM_TEXT_SIZE, 0, 0, "DSP_MEM_TEXT", },rÞ&…�rß&}rà&(jYUjZjÚ&ubaubjZ)�rá&}râ&(jYUjZj"$jbjõ!jdj]jf}rã&(jh]ji]jj]jk]jn]ujpMVjqhjr]rä&j`)�rå&}ræ&(jYUjcKjZjá&jbjõ!jdjpjf}rç&(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rè&}ré&(jYXKey points to note are:rê&jZj"$jbjõ!jdj¥jf}rë&(jh]ji]jj]jk]jn]ujpMXjqhjr]rì&j{XKey points to note are:rí&…�rî&}rï&(jYjê&jZjè&ubaubj%)�rð&}rñ&(jYUjZj"$jbjõ!jdj(jf}rò&(j*U.jk]jj]jh]j+Uji]jn]j,j-ujpMZjqhjr]ró&(j/)�rô&}rõ&(jYXqThe "TYPE_CARVEOUT" indicates that the physical memory backing this entry will come from the associated CMA pool.jZjð&jbjõ!jdj2jf}rö&(jh]ji]jj]jk]jn]ujpNjqhjr]r÷&j¡)�rø&}rù&(jYXqThe "TYPE_CARVEOUT" indicates that the physical memory backing this entry will come from the associated CMA pool.rú&jZjô&jbjõ!jdj¥jf}rû&(jh]ji]jj]jk]jn]ujpMZjr]rü&j{XqThe "TYPE_CARVEOUT" indicates that the physical memory backing this entry will come from the associated CMA pool.rý&…�rþ&}rÿ&(jYjú&jZjø&ubaubaubj/)�r'}r'(jYXDSP_MEM_TEXT is a #define earlier in the code providing the address for the code section. It is 0x95000000 by default. **This must correspond to a section from your DSP linker command file, i.e. EXT_CODE (or whatever name you choose to give it) must be linked to the same address.**jZjð&jbjõ!jdj2jf}r'(jh]ji]jj]jk]jn]ujpNjqhjr]r'j¡)�r'}r'(jYXDSP_MEM_TEXT is a #define earlier in the code providing the address for the code section. It is 0x95000000 by default. **This must correspond to a section from your DSP linker command file, i.e. EXT_CODE (or whatever name you choose to give it) must be linked to the same address.**jZj'jbjõ!jdj¥jf}r'(jh]ji]jj]jk]jn]ujpM\jr]r'(j{XwDSP_MEM_TEXT is a #define earlier in the code providing the address for the code section. It is 0x95000000 by default. r'…�r '}r '(jYXwDSP_MEM_TEXT is a #define earlier in the code providing the address for the code section. It is 0x95000000 by default. jZj'ubjü)�r '}r '(jYX£**This must correspond to a section from your DSP linker command file, i.e. EXT_CODE (or whatever name you choose to give it) must be linked to the same address.**jf}r '(jh]ji]jj]jk]jn]ujZj'jr]r'j{XŸThis must correspond to a section from your DSP linker command file, i.e. EXT_CODE (or whatever name you choose to give it) must be linked to the same address.r'…�r'}r'(jYUjZj 'ubajdjubeubaubj/)�r'}r'(jYXèDSP_MEM_TEXT_SIZE is the size of the MMU pagetable entry being created (1MB in this particular instance). **The actual amount of linked code in the corresponding section of your executable must be less than or equal to this size.** jZjð&jbjõ!jdj2jf}r'(jh]ji]jj]jk]jn]ujpNjqhjr]r'j¡)�r'}r'(jYXçDSP_MEM_TEXT_SIZE is the size of the MMU pagetable entry being created (1MB in this particular instance). **The actual amount of linked code in the corresponding section of your executable must be less than or equal to this size.**jZj'jbjõ!jdj¥jf}r'(jh]ji]jj]jk]jn]ujpMajr]r'(j{XjDSP_MEM_TEXT_SIZE is the size of the MMU pagetable entry being created (1MB in this particular instance). r'…�r'}r'(jYXjDSP_MEM_TEXT_SIZE is the size of the MMU pagetable entry being created (1MB in this particular instance). jZj'ubjü)�r'}r'(jYX}**The actual amount of linked code in the corresponding section of your executable must be less than or equal to this size.**jf}r'(jh]ji]jj]jk]jn]ujZj'jr]r 'j{XyThe actual amount of linked code in the corresponding section of your executable must be less than or equal to this size.r!'…�r"'}r#'(jYUjZj'ubajdjubeubaubeubj¡)�r$'}r%'(jYXLet's take another:r&'jZj"$jbjõ!jdj¥jf}r''(jh]ji]jj]jk]jn]ujpMfjqhjr]r('j{XLet's take another:r)'…�r*'}r+'(jYj&'jZj$'ubaubj)�r,'}r-'(jYX:{ TYPE_TRACE, TRACEBUFADDR, 0x8000, 0, "trace:dsp", },jZj"$jbjõ!jdjjf}r.'(j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpMhjqhjr]r/'j{X:{ TYPE_TRACE, TRACEBUFADDR, 0x8000, 0, "trace:dsp", },r0'…�r1'}r2'(jYUjZj,'ubaubjZ)�r3'}r4'(jYUjZj"$jbjõ!jdj]jf}r5'(jh]ji]jj]jk]jn]ujpMnjqhjr]r6'j`)�r7'}r8'(jYUjcKjZj3'jbjõ!jdjpjf}r9'(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r:'}r;'(jYXKey points are:r<'jZj"$jbjõ!jdj¥jf}r='(jh]ji]jj]jk]jn]ujpMpjqhjr]r>'j{XKey points are:r?'…�r@'}rA'(jYj<'jZj:'ubaubj%)�rB'}rC'(jYUjZj"$jbjõ!jdj(jf}rD'(j*U.jk]jj]jh]j+Uji]jn]j,j-ujpMrjqhjr]rE'(j/)�rF'}rG'(jYX2The "TYPE_TRACE" indicates this is for trace info.rH'jZjB'jbjõ!jdj2jf}rI'(jh]ji]jj]jk]jn]ujpNjqhjr]rJ'j¡)�rK'}rL'(jYjH'jZjF'jbjõ!jdj¥jf}rM'(jh]ji]jj]jk]jn]ujpMrjr]rN'j{X2The "TYPE_TRACE" indicates this is for trace info.rO'…�rP'}rQ'(jYjH'jZjK'ubaubaubj/)�rR'}rS'(jYX¢The TRACEBUFADDR is defined earlier in the file as &ti_trace_SysMin_Module_State_0_outbuf__A. That corresponds to the symbol used in TI-RTOS for the trace buffer.jZjB'jbjõ!jdj2jf}rT'(jh]ji]jj]jk]jn]ujpNjqhjr]rU'j¡)�rV'}rW'(jYX¢The TRACEBUFADDR is defined earlier in the file as &ti_trace_SysMin_Module_State_0_outbuf__A. That corresponds to the symbol used in TI-RTOS for the trace buffer.rX'jZjR'jbjõ!jdj¥jf}rY'(jh]ji]jj]jk]jn]ujpMsjr]rZ'j{X¢The TRACEBUFADDR is defined earlier in the file as &ti_trace_SysMin_Module_State_0_outbuf__A. That corresponds to the symbol used in TI-RTOS for the trace buffer.r['…�r\'}r]'(jYjX'jZjV'ubaubaubj/)�r^'}r_'(jYX¤The "0x8000" is the size of the MMU mapping. The corresponding size in the cfg file should be the same (or less). It looks like this: ``SysMin.bufSize = 0x8000;`` jZjB'jbjõ!jdj2jf}r`'(jh]ji]jj]jk]jn]ujpNjqhjr]ra'j¡)�rb'}rc'(jYX£The "0x8000" is the size of the MMU mapping. The corresponding size in the cfg file should be the same (or less). It looks like this: ``SysMin.bufSize = 0x8000;``jZj^'jbjõ!jdj¥jf}rd'(jh]ji]jj]jk]jn]ujpMvjr]re'(j{X†The "0x8000" is the size of the MMU mapping. The corresponding size in the cfg file should be the same (or less). It looks like this: rf'…�rg'}rh'(jYX†The "0x8000" is the size of the MMU mapping. The corresponding size in the cfg file should be the same (or less). It looks like this: jZjb'ubcdocutils.nodes literal ri')�rj'}rk'(jYX``SysMin.bufSize = 0x8000;``jf}rl'(jh]ji]jj]jk]jn]ujZjb'jr]rm'j{XSysMin.bufSize = 0x8000;rn'…�ro'}rp'(jYUjZjj'ubajdUliteralrq'ubeubaubeubj¡)�rr'}rs'(jYX-Finally, let's look at a TYPE_DEVMEM example:rt'jZj"$jbjõ!jdj¥jf}ru'(jh]ji]jj]jk]jn]ujpMzjqhjr]rv'j{X-Finally, let's look at a TYPE_DEVMEM example:rw'…�rx'}ry'(jYjt'jZjr'ubaubj)�rz'}r{'(jYXn{ TYPE_DEVMEM, DSP_PERIPHERAL_L4CFG, L4_PERIPHERAL_L4CFG, SZ_16M, 0, 0, "DSP_PERIPHERAL_L4CFG", },jZj"$jbjõ!jdjjf}r|'(j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpM|jqhjr]r}'j{Xn{ TYPE_DEVMEM, DSP_PERIPHERAL_L4CFG, L4_PERIPHERAL_L4CFG, SZ_16M, 0, 0, "DSP_PERIPHERAL_L4CFG", },r~'…�r'}r€'(jYUjZjz'ubaubjZ)�r�'}r‚'(jYUjZj"$jbjõ!jdj]jf}rƒ'(jh]ji]jj]jk]jn]ujpM„jqhjr]r„'j`)�r…'}r†'(jYUjcKjZj�'jbjõ!jdjpjf}r‡'(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rˆ'}r‰'(jYX Key points:rŠ'jZj"$jbjõ!jdj¥jf}r‹'(jh]ji]jj]jk]jn]ujpM†jqhjr]rŒ'j{X Key points:r�'…�rŽ'}r�'(jYjŠ'jZjˆ'ubaubj%)�r�'}r‘'(jYUjZj"$jbjõ!jdj(jf}r’'(j*U.jk]jj]jh]j+Uji]jn]j,j-ujpMˆjqhjr]r“'(j/)�r”'}r•'(jYXÆThe "TYPE_DEVMEM" indicates that we are making an MMU mapping, but this *does not come from the CMA pool*. This is intended for mapping peripherals, etc. that already exist in the device memory map.jZj�'jbjõ!jdj2jf}r–'(jh]ji]jj]jk]jn]ujpNjqhjr]r—'j¡)�r˜'}r™'(jYXÆThe "TYPE_DEVMEM" indicates that we are making an MMU mapping, but this *does not come from the CMA pool*. This is intended for mapping peripherals, etc. that already exist in the device memory map.jZj”'jbjõ!jdj¥jf}rš'(jh]ji]jj]jk]jn]ujpMˆjr]r›'(j{XHThe "TYPE_DEVMEM" indicates that we are making an MMU mapping, but this rœ'…�r�'}rž'(jYXHThe "TYPE_DEVMEM" indicates that we are making an MMU mapping, but this jZj˜'ubcdocutils.nodes emphasis rŸ')�r '}r¡'(jYX!*does not come from the CMA pool*jf}r¢'(jh]ji]jj]jk]jn]ujZj˜'jr]r£'j{Xdoes not come from the CMA poolr¤'…�r¥'}r¦'(jYUjZj 'ubajdUemphasisr§'ubj{X]. This is intended for mapping peripherals, etc. that already exist in the device memory map.r¨'…�r©'}rª'(jYX]. This is intended for mapping peripherals, etc. that already exist in the device memory map.jZj˜'ubeubaubj/)�r«'}r¬'(jYXîDSP_PERIPHERAL_L4CFG (0x4A000000) is the virtual address while L4_PERIPHERAL_L4CFG (0x4A000000) is the physical address. **This is an identity mapping, meaning that peripherals can be referenced by the DSP using their physical address.** jZj�'jbjõ!jdj2jf}r­'(jh]ji]jj]jk]jn]ujpNjqhjr]r®'j¡)�r¯'}r°'(jYXíDSP_PERIPHERAL_L4CFG (0x4A000000) is the virtual address while L4_PERIPHERAL_L4CFG (0x4A000000) is the physical address. **This is an identity mapping, meaning that peripherals can be referenced by the DSP using their physical address.**jZj«'jbjõ!jdj¥jf}r±'(jh]ji]jj]jk]jn]ujpM‹jr]r²'(j{XyDSP_PERIPHERAL_L4CFG (0x4A000000) is the virtual address while L4_PERIPHERAL_L4CFG (0x4A000000) is the physical address. r³'…�r´'}rµ'(jYXyDSP_PERIPHERAL_L4CFG (0x4A000000) is the virtual address while L4_PERIPHERAL_L4CFG (0x4A000000) is the physical address. jZj¯'ubjü)�r¶'}r·'(jYXt**This is an identity mapping, meaning that peripherals can be referenced by the DSP using their physical address.**jf}r¸'(jh]ji]jj]jk]jn]ujZj¯'jr]r¹'j{XpThis is an identity mapping, meaning that peripherals can be referenced by the DSP using their physical address.rº'…�r»'}r¼'(jYUjZj¶'ubajdjubeubaubeubjè)�r½'}r¾'(jYXDSP Access to Peripheralsr¿'jZj"$jbjõ!jdjíjf}rÀ'(jk]rÁ'Udsp-access-to-peripheralsrÂ'ajj]jh]ji]jn]rÃ'haujpNjqhjr]rÄ'j{XDSP Access to PeripheralsrÅ'…�rÆ'}rÇ'(jYj¿'jZj½'ubaubj¡)�rÈ'}rÉ'(jYX:The default resource table creates the following mappings:rÊ'jZj"$jbjõ!jdj¥jf}rË'(jh]ji]jj]jk]jn]ujpM“jqhjr]rÌ'j{X:The default resource table creates the following mappings:rÍ'…�rÎ'}rÏ'(jYjÊ'jZjÈ'ubaubjd$)�rÐ'}rÑ'(jYUjZj"$jbjõ!jdjg$jf}rÒ'(jh]ji]jj]jk]jn]ujpNjqhjr]rÓ'jj$)�rÔ'}rÕ'(jYUjf}rÖ'(jk]jj]jh]ji]jn]UcolsKujZjÐ'jr]r×'(jo$)�rØ'}rÙ'(jYUjf}rÚ'(jk]jj]jh]ji]jn]UcolwidthKujZjÔ'jr]jdjs$ubjo$)�rÛ'}rÜ'(jYUjf}rÝ'(jk]jj]jh]ji]jn]UcolwidthKujZjÔ'jr]jdjs$ubjo$)�rÞ'}rß'(jYUjf}rà'(jk]jj]jh]ji]jn]UcolwidthKujZjÔ'jr]jdjs$ubjo$)�rá'}râ'(jYUjf}rã'(jk]jj]jh]ji]jn]UcolwidthKujZjÔ'jr]jdjs$ubjz$)�rä'}rå'(jYUjf}ræ'(jh]ji]jj]jk]jn]ujZjÔ'jr]rç'j$)�rè'}ré'(jYUjf}rê'(jh]ji]jj]jk]jn]ujZjä'jr]rë'(j„$)�rì'}rí'(jYUjf}rî'(jh]ji]jj]jk]jn]ujZjè'jr]rï'j¡)�rð'}rñ'(jYXVirtual Addressrò'jZjì'jbjõ!jdj¥jf}ró'(jh]ji]jj]jk]jn]ujpM–jr]rô'j{XVirtual Addressrõ'…�rö'}r÷'(jYjò'jZjð'ubaubajdj‘$ubj„$)�rø'}rù'(jYUjf}rú'(jh]ji]jj]jk]jn]ujZjè'jr]rû'j¡)�rü'}rý'(jYXPhysical Addressrþ'jZjø'jbjõ!jdj¥jf}rÿ'(jh]ji]jj]jk]jn]ujpM–jr]r(j{XPhysical Addressr(…�r(}r((jYjþ'jZjü'ubaubajdj‘$ubj„$)�r(}r((jYUjf}r((jh]ji]jj]jk]jn]ujZjè'jr]r(j¡)�r(}r ((jYXSizer (jZj(jbjõ!jdj¥jf}r ((jh]ji]jj]jk]jn]ujpM–jr]r (j{XSizer (…�r(}r((jYj (jZj(ubaubajdj‘$ubj„$)�r(}r((jYUjf}r((jh]ji]jj]jk]jn]ujZjè'jr]r(j¡)�r(}r((jYXCommentr(jZj(jbjõ!jdj¥jf}r((jh]ji]jj]jk]jn]ujpM–jr]r(j{XCommentr(…�r(}r((jYj(jZj(ubaubajdj‘$ubejdjª$ubajdj«$ubj¬$)�r(}r((jYUjf}r((jh]ji]jj]jk]jn]ujZjÔ'jr]r((j$)�r (}r!((jYUjf}r"((jh]ji]jj]jk]jn]ujZj(jr]r#((j„$)�r$(}r%((jYUjf}r&((jh]ji]jj]jk]jn]ujZj (jr]r'(j¡)�r((}r)((jYX 0x4A000000r*(jZj$(jbjõ!jdj¥jf}r+((jh]ji]jj]jk]jn]ujpM˜jr]r,(j{X 0x4A000000r-(…�r.(}r/((jYj*(jZj((ubaubajdj‘$ubj„$)�r0(}r1((jYUjf}r2((jh]ji]jj]jk]jn]ujZj (jr]r3(j¡)�r4(}r5((jYX 0x4A000000r6(jZj0(jbjõ!jdj¥jf}r7((jh]ji]jj]jk]jn]ujpM˜jr]r8(j{X 0x4A000000r9(…�r:(}r;((jYj6(jZj4(ubaubajdj‘$ubj„$)�r<(}r=((jYUjf}r>((jh]ji]jj]jk]jn]ujZj (jr]r?(j¡)�r@(}rA((jYX16 MBrB(jZj<(jbjõ!jdj¥jf}rC((jh]ji]jj]jk]jn]ujpM˜jr]rD(j{X16 MBrE(…�rF(}rG((jYjB(jZj@(ubaubajdj‘$ubj„$)�rH(}rI((jYUjf}rJ((jh]ji]jj]jk]jn]ujZj (jr]rK(j¡)�rL(}rM((jYXL4CFG + L4WKUPrN(jZjH(jbjõ!jdj¥jf}rO((jh]ji]jj]jk]jn]ujpM˜jr]rP(j{XL4CFG + L4WKUPrQ(…�rR(}rS((jYjN(jZjL(ubaubajdj‘$ubejdjª$ubj$)�rT(}rU((jYUjf}rV((jh]ji]jj]jk]jn]ujZj(jr]rW((j„$)�rX(}rY((jYUjf}rZ((jh]ji]jj]jk]jn]ujZjT(jr]r[(j¡)�r\(}r]((jYX 0x48000000r^(jZjX(jbjõ!jdj¥jf}r_((jh]ji]jj]jk]jn]ujpMšjr]r`(j{X 0x48000000ra(…�rb(}rc((jYj^(jZj\(ubaubajdj‘$ubj„$)�rd(}re((jYUjf}rf((jh]ji]jj]jk]jn]ujZjT(jr]rg(j¡)�rh(}ri((jYX 0x48000000rj(jZjd(jbjõ!jdj¥jf}rk((jh]ji]jj]jk]jn]ujpMšjr]rl(j{X 0x48000000rm(…�rn(}ro((jYjj(jZjh(ubaubajdj‘$ubj„$)�rp(}rq((jYUjf}rr((jh]ji]jj]jk]jn]ujZjT(jr]rs(j¡)�rt(}ru((jYX2 MBrv(jZjp(jbjõ!jdj¥jf}rw((jh]ji]jj]jk]jn]ujpMšjr]rx(j{X2 MBry(…�rz(}r{((jYjv(jZjt(ubaubajdj‘$ubj„$)�r|(}r}((jYUjf}r~((jh]ji]jj]jk]jn]ujZjT(jr]r(j¡)�r€(}r�((jYXL4PER1r‚(jZj|(jbjõ!jdj¥jf}rƒ((jh]ji]jj]jk]jn]ujpMšjr]r„(j{XL4PER1r…(…�r†(}r‡((jYj‚(jZj€(ubaubajdj‘$ubejdjª$ubj$)�rˆ(}r‰((jYUjf}rŠ((jh]ji]jj]jk]jn]ujZj(jr]r‹((j„$)�rŒ(}r�((jYUjf}rŽ((jh]ji]jj]jk]jn]ujZjˆ(jr]r�(j¡)�r�(}r‘((jYX 0x48400000r’(jZjŒ(jbjõ!jdj¥jf}r“((jh]ji]jj]jk]jn]ujpMœjr]r”(j{X 0x48400000r•(…�r–(}r—((jYj’(jZj�(ubaubajdj‘$ubj„$)�r˜(}r™((jYUjf}rš((jh]ji]jj]jk]jn]ujZjˆ(jr]r›(j¡)�rœ(}r�((jYX 0x48400000rž(jZj˜(jbjõ!jdj¥jf}rŸ((jh]ji]jj]jk]jn]ujpMœjr]r (j{X 0x48400000r¡(…�r¢(}r£((jYjž(jZjœ(ubaubajdj‘$ubj„$)�r¤(}r¥((jYUjf}r¦((jh]ji]jj]jk]jn]ujZjˆ(jr]r§(j¡)�r¨(}r©((jYX4 MBrª(jZj¤(jbjõ!jdj¥jf}r«((jh]ji]jj]jk]jn]ujpMœjr]r¬(j{X4 MBr­(…�r®(}r¯((jYjª(jZj¨(ubaubajdj‘$ubj„$)�r°(}r±((jYUjf}r²((jh]ji]jj]jk]jn]ujZjˆ(jr]r³(j¡)�r´(}rµ((jYXL4PER2r¶(jZj°(jbjõ!jdj¥jf}r·((jh]ji]jj]jk]jn]ujpMœjr]r¸(j{XL4PER2r¹(…�rº(}r»((jYj¶(jZj´(ubaubajdj‘$ubejdjª$ubj$)�r¼(}r½((jYUjf}r¾((jh]ji]jj]jk]jn]ujZj(jr]r¿((j„$)�rÀ(}rÁ((jYUjf}rÂ((jh]ji]jj]jk]jn]ujZj¼(jr]rÃ(j¡)�rÄ(}rÅ((jYX 0x48800000rÆ(jZjÀ(jbjõ!jdj¥jf}rÇ((jh]ji]jj]jk]jn]ujpMžjr]rÈ(j{X 0x48800000rÉ(…�rÊ(}rË((jYjÆ(jZjÄ(ubaubajdj‘$ubj„$)�rÌ(}rÍ((jYUjf}rÎ((jh]ji]jj]jk]jn]ujZj¼(jr]rÏ(j¡)�rÐ(}rÑ((jYX 0x48800000rÒ(jZjÌ(jbjõ!jdj¥jf}rÓ((jh]ji]jj]jk]jn]ujpMžjr]rÔ(j{X 0x48800000rÕ(…�rÖ(}r×((jYjÒ(jZjÐ(ubaubajdj‘$ubj„$)�rØ(}rÙ((jYUjf}rÚ((jh]ji]jj]jk]jn]ujZj¼(jr]rÛ(j¡)�rÜ(}rÝ((jYX8 MBrÞ(jZjØ(jbjõ!jdj¥jf}rß((jh]ji]jj]jk]jn]ujpMžjr]rà(j{X8 MBrá(…�râ(}rã((jYjÞ(jZjÜ(ubaubajdj‘$ubj„$)�rä(}rå((jYUjf}ræ((jh]ji]jj]jk]jn]ujZj¼(jr]rç(j¡)�rè(}ré((jYXL4PER3rê(jZjä(jbjõ!jdj¥jf}rë((jh]ji]jj]jk]jn]ujpMžjr]rì(j{XL4PER3rí(…�rî(}rï((jYjê(jZjè(ubaubajdj‘$ubejdjª$ubj$)�rð(}rñ((jYUjf}rò((jh]ji]jj]jk]jn]ujZj(jr]ró((j„$)�rô(}rõ((jYUjf}rö((jh]ji]jj]jk]jn]ujZjð(jr]r÷(j¡)�rø(}rù((jYX 0x54000000rú(jZjô(jbjõ!jdj¥jf}rû((jh]ji]jj]jk]jn]ujpM jr]rü(j{X 0x54000000rý(…�rþ(}rÿ((jYjú(jZjø(ubaubajdj‘$ubj„$)�r)}r)(jYUjf}r)(jh]ji]jj]jk]jn]ujZjð(jr]r)j¡)�r)}r)(jYX 0x54000000r)jZj)jbjõ!jdj¥jf}r)(jh]ji]jj]jk]jn]ujpM jr]r)j{X 0x54000000r )…�r )}r )(jYj)jZj)ubaubajdj‘$ubj„$)�r )}r )(jYUjf}r)(jh]ji]jj]jk]jn]ujZjð(jr]r)j¡)�r)}r)(jYX16 MBr)jZj )jbjõ!jdj¥jf}r)(jh]ji]jj]jk]jn]ujpM jr]r)j{X16 MBr)…�r)}r)(jYj)jZj)ubaubajdj‘$ubj„$)�r)}r)(jYUjf}r)(jh]ji]jj]jk]jn]ujZjð(jr]r)j¡)�r)}r)(jYXL3_INSTR + CT_TBRr)jZj)jbjõ!jdj¥jf}r)(jh]ji]jj]jk]jn]ujpM jr]r )j{XL3_INSTR + CT_TBRr!)…�r")}r#)(jYj)jZj)ubaubajdj‘$ubejdjª$ubj$)�r$)}r%)(jYUjf}r&)(jh]ji]jj]jk]jn]ujZj(jr]r')(j„$)�r()}r))(jYUjf}r*)(jh]ji]jj]jk]jn]ujZj$)jr]r+)j¡)�r,)}r-)(jYX 0x4E000000r.)jZj()jbjõ!jdj¥jf}r/)(jh]ji]jj]jk]jn]ujpM¢jr]r0)j{X 0x4E000000r1)…�r2)}r3)(jYj.)jZj,)ubaubajdj‘$ubj„$)�r4)}r5)(jYUjf}r6)(jh]ji]jj]jk]jn]ujZj$)jr]r7)j¡)�r8)}r9)(jYX 0x4E000000r:)jZj4)jbjõ!jdj¥jf}r;)(jh]ji]jj]jk]jn]ujpM¢jr]r<)j{X 0x4E000000r=)…�r>)}r?)(jYj:)jZj8)ubaubajdj‘$ubj„$)�r@)}rA)(jYUjf}rB)(jh]ji]jj]jk]jn]ujZj$)jr]rC)j¡)�rD)}rE)(jYX1 MBrF)jZj@)jbjõ!jdj¥jf}rG)(jh]ji]jj]jk]jn]ujpM¢jr]rH)j{X1 MBrI)…�rJ)}rK)(jYjF)jZjD)ubaubajdj‘$ubj„$)�rL)}rM)(jYUjf}rN)(jh]ji]jj]jk]jn]ujZj$)jr]rO)j¡)�rP)}rQ)(jYX DMM configrR)jZjL)jbjõ!jdj¥jf}rS)(jh]ji]jj]jk]jn]ujpM¢jr]rT)j{X DMM configrU)…�rV)}rW)(jYjR)jZjP)ubaubajdj‘$ubejdjª$ubejdjy%ubejdjz%ubaubj¡)�rX)}rY)(jYXmIn other words, the peripherals can be accessed at their physical addresses since we use an identity mapping.rZ)jZj"$jbjõ!jdj¥jf}r[)(jh]ji]jj]jk]jn]ujpM¥jqhjr]r\)j{XmIn other words, the peripherals can be accessed at their physical addresses since we use an identity mapping.r])…�r^)}r_)(jYjZ)jZjX)ubaubjè)�r`)}ra)(jYX0Inspecting the DSP IOMMU Page Tables at Run-Timerb)jZj"$jbjõ!jdjíjf}rc)(jk]rd)U0inspecting-the-dsp-iommu-page-tables-at-run-timere)ajj]jh]ji]jn]rf)h¿aujpNjqhjr]rg)j{X0Inspecting the DSP IOMMU Page Tables at Run-Timerh)…�ri)}rj)(jYjb)jZj`)ubaubj¡)�rk)}rl)(jYXCYou can dump the DSP IOMMU page tables with the following commands:rm)jZj"$jbjõ!jdj¥jf}rn)(jh]ji]jj]jk]jn]ujpM«jqhjr]ro)j{XCYou can dump the DSP IOMMU page tables with the following commands:rp)…�rq)}rr)(jYjm)jZjk)ubaubjd$)�rs)}rt)(jYUjZj"$jbjõ!jdjg$jf}ru)(jh]ji]jj]jk]jn]ujpNjqhjr]rv)jj$)�rw)}rx)(jYUjf}ry)(jk]jj]jh]ji]jn]UcolsKujZjs)jr]rz)(jo$)�r{)}r|)(jYUjf}r})(jk]jj]jh]ji]jn]UcolwidthKujZjw)jr]jdjs$ubjo$)�r~)}r)(jYUjf}r€)(jk]jj]jh]ji]jn]UcolwidthKujZjw)jr]jdjs$ubjo$)�r�)}r‚)(jYUjf}rƒ)(jk]jj]jh]ji]jn]UcolwidthK9ujZjw)jr]jdjs$ubjz$)�r„)}r…)(jYUjf}r†)(jh]ji]jj]jk]jn]ujZjw)jr]r‡)j$)�rˆ)}r‰)(jYUjf}rŠ)(jh]ji]jj]jk]jn]ujZj„)jr]r‹)(j„$)�rŒ)}r�)(jYUjf}rŽ)(jh]ji]jj]jk]jn]ujZjˆ)jr]r�)j¡)�r�)}r‘)(jYXDSPr’)jZjŒ)jbjõ!jdj¥jf}r“)(jh]ji]jj]jk]jn]ujpM®jr]r”)j{XDSPr•)…�r–)}r—)(jYj’)jZj�)ubaubajdj‘$ubj„$)�r˜)}r™)(jYUjf}rš)(jh]ji]jj]jk]jn]ujZjˆ)jr]r›)j¡)�rœ)}r�)(jYXMMUrž)jZj˜)jbjõ!jdj¥jf}rŸ)(jh]ji]jj]jk]jn]ujpM®jr]r )j{XMMUr¡)…�r¢)}r£)(jYjž)jZjœ)ubaubajdj‘$ubj„$)�r¤)}r¥)(jYUjf}r¦)(jh]ji]jj]jk]jn]ujZjˆ)jr]r§)j¡)�r¨)}r©)(jYXCommandrª)jZj¤)jbjõ!jdj¥jf}r«)(jh]ji]jj]jk]jn]ujpM®jr]r¬)j{XCommandr­)…�r®)}r¯)(jYjª)jZj¨)ubaubajdj‘$ubejdjª$ubajdj«$ubj¬$)�r°)}r±)(jYUjf}r²)(jh]ji]jj]jk]jn]ujZjw)jr]r³)(j$)�r´)}rµ)(jYUjf}r¶)(jh]ji]jj]jk]jn]ujZj°)jr]r·)(j„$)�r¸)}r¹)(jYUjf}rº)(jh]ji]jj]jk]jn]ujZj´)jr]r»)j¡)�r¼)}r½)(jYXDSP1r¾)jZj¸)jbjõ!jdj¥jf}r¿)(jh]ji]jj]jk]jn]ujpM°jr]rÀ)j{XDSP1rÁ)…�rÂ)}rÃ)(jYj¾)jZj¼)ubaubajdj‘$ubj„$)�rÄ)}rÅ)(jYUjf}rÆ)(jh]ji]jj]jk]jn]ujZj´)jr]rÇ)j¡)�rÈ)}rÉ)(jYXMMU0rÊ)jZjÄ)jbjõ!jdj¥jf}rË)(jh]ji]jj]jk]jn]ujpM°jr]rÌ)j{XMMU0rÍ)…�rÎ)}rÏ)(jYjÊ)jZjÈ)ubaubajdj‘$ubj„$)�rÐ)}rÑ)(jYUjf}rÒ)(jh]ji]jj]jk]jn]ujZj´)jr]rÓ)j¡)�rÔ)}rÕ)(jYX7cat /sys/kernel/debug/omap_iommu/40d01000.mmu/pagetablerÖ)jZjÐ)jbjõ!jdj¥jf}r×)(jh]ji]jj]jk]jn]ujpM°jr]rØ)j{X7cat /sys/kernel/debug/omap_iommu/40d01000.mmu/pagetablerÙ)…�rÚ)}rÛ)(jYjÖ)jZjÔ)ubaubajdj‘$ubejdjª$ubj$)�rÜ)}rÝ)(jYUjf}rÞ)(jh]ji]jj]jk]jn]ujZj°)jr]rß)(j„$)�rà)}rá)(jYUjf}râ)(jh]ji]jj]jk]jn]ujZjÜ)jr]rã)j¡)�rä)}rå)(jYXDSP1ræ)jZjà)jbjõ!jdj¥jf}rç)(jh]ji]jj]jk]jn]ujpM²jr]rè)j{XDSP1ré)…�rê)}rë)(jYjæ)jZjä)ubaubajdj‘$ubj„$)�rì)}rí)(jYUjf}rî)(jh]ji]jj]jk]jn]ujZjÜ)jr]rï)j¡)�rð)}rñ)(jYXMMU1rò)jZjì)jbjõ!jdj¥jf}ró)(jh]ji]jj]jk]jn]ujpM²jr]rô)j{XMMU1rõ)…�rö)}r÷)(jYjò)jZjð)ubaubajdj‘$ubj„$)�rø)}rù)(jYUjf}rú)(jh]ji]jj]jk]jn]ujZjÜ)jr]rû)j¡)�rü)}rý)(jYX7cat /sys/kernel/debug/omap_iommu/40d02000.mmu/pagetablerþ)jZjø)jbjõ!jdj¥jf}rÿ)(jh]ji]jj]jk]jn]ujpM²jr]r*j{X7cat /sys/kernel/debug/omap_iommu/40d02000.mmu/pagetabler*…�r*}r*(jYjþ)jZjü)ubaubajdj‘$ubejdjª$ubj$)�r*}r*(jYUjf}r*(jh]ji]jj]jk]jn]ujZj°)jr]r*(j„$)�r*}r *(jYUjf}r *(jh]ji]jj]jk]jn]ujZj*jr]r *j¡)�r *}r *(jYXDSP2r*jZj*jbjõ!jdj¥jf}r*(jh]ji]jj]jk]jn]ujpM´jr]r*j{XDSP2r*…�r*}r*(jYj*jZj *ubaubajdj‘$ubj„$)�r*}r*(jYUjf}r*(jh]ji]jj]jk]jn]ujZj*jr]r*j¡)�r*}r*(jYXMMU0r*jZj*jbjõ!jdj¥jf}r*(jh]ji]jj]jk]jn]ujpM´jr]r*j{XMMU0r*…�r*}r*(jYj*jZj*ubaubajdj‘$ubj„$)�r *}r!*(jYUjf}r"*(jh]ji]jj]jk]jn]ujZj*jr]r#*j¡)�r$*}r%*(jYX7cat /sys/kernel/debug/omap_iommu/41501000.mmu/pagetabler&*jZj *jbjõ!jdj¥jf}r'*(jh]ji]jj]jk]jn]ujpM´jr]r(*j{X7cat /sys/kernel/debug/omap_iommu/41501000.mmu/pagetabler)*…�r**}r+*(jYj&*jZj$*ubaubajdj‘$ubejdjª$ubj$)�r,*}r-*(jYUjf}r.*(jh]ji]jj]jk]jn]ujZj°)jr]r/*(j„$)�r0*}r1*(jYUjf}r2*(jh]ji]jj]jk]jn]ujZj,*jr]r3*j¡)�r4*}r5*(jYXDSP2r6*jZj0*jbjõ!jdj¥jf}r7*(jh]ji]jj]jk]jn]ujpM¶jr]r8*j{XDSP2r9*…�r:*}r;*(jYj6*jZj4*ubaubajdj‘$ubj„$)�r<*}r=*(jYUjf}r>*(jh]ji]jj]jk]jn]ujZj,*jr]r?*j¡)�r@*}rA*(jYXMMU1rB*jZj<*jbjõ!jdj¥jf}rC*(jh]ji]jj]jk]jn]ujpM¶jr]rD*j{XMMU1rE*…�rF*}rG*(jYjB*jZj@*ubaubajdj‘$ubj„$)�rH*}rI*(jYUjf}rJ*(jh]ji]jj]jk]jn]ujZj,*jr]rK*j¡)�rL*}rM*(jYX7cat /sys/kernel/debug/omap_iommu/41502000.mmu/pagetablerN*jZjH*jbjõ!jdj¥jf}rO*(jh]ji]jj]jk]jn]ujpM¶jr]rP*j{X7cat /sys/kernel/debug/omap_iommu/41502000.mmu/pagetablerQ*…�rR*}rS*(jYjN*jZjL*ubaubajdj‘$ubejdjª$ubejdjy%ubejdjz%ubaubj¡)�rT*}rU*(jYX In general, MMU0 and MMU1 are being programmed identically so you really only need to take a look at one or the other to understand the mapping for a given DSP.rV*jZj"$jbjõ!jdj¥jf}rW*(jh]ji]jj]jk]jn]ujpM¹jqhjr]rX*j{X In general, MMU0 and MMU1 are being programmed identically so you really only need to take a look at one or the other to understand the mapping for a given DSP.rY*…�rZ*}r[*(jYjV*jZjT*ubaubj¡)�r\*}r]*(jYX For example:r^*jZj"$jbjõ!jdj¥jf}r_*(jh]ji]jj]jk]jn]ujpM½jqhjr]r`*j{X For example:ra*…�rb*}rc*(jYj^*jZj\*ubaubj)�rd*}re*(jYXhroot@am57xx-evm:~# cat /sys/kernel/debug/omap_iommu/40d01000.mmu/pagetable L: da: pte: -------------------------- 1: 0x48000000 0x48000002 1: 0x48100000 0x48100002 1: 0x48400000 0x48400002 1: 0x48500000 0x48500002 1: 0x48600000 0x48600002 1: 0x48700000 0x48700002 1: 0x48800000 0x48800002 1: 0x48900000 0x48900002 1: 0x48a00000 0x48a00002 1: 0x48b00000 0x48b00002 1: 0x48c00000 0x48c00002 1: 0x48d00000 0x48d00002 1: 0x48e00000 0x48e00002 1: 0x48f00000 0x48f00002 1: 0x4a000000 0x4a040002 1: 0x4a100000 0x4a040002 1: 0x4a200000 0x4a040002 1: 0x4a300000 0x4a040002 1: 0x4a400000 0x4a040002 1: 0x4a500000 0x4a040002 1: 0x4a600000 0x4a040002 1: 0x4a700000 0x4a040002 1: 0x4a800000 0x4a040002 1: 0x4a900000 0x4a040002 1: 0x4aa00000 0x4a040002 1: 0x4ab00000 0x4a040002 1: 0x4ac00000 0x4a040002 1: 0x4ad00000 0x4a040002 1: 0x4ae00000 0x4a040002 1: 0x4af00000 0x4a040002jZj"$jbjõ!jdjjf}rf*(jöj÷jk]jj]jh]ji]jn]ujpMNjqhjr]rg*j{Xhroot@am57xx-evm:~# cat /sys/kernel/debug/omap_iommu/40d01000.mmu/pagetable L: da: pte: -------------------------- 1: 0x48000000 0x48000002 1: 0x48100000 0x48100002 1: 0x48400000 0x48400002 1: 0x48500000 0x48500002 1: 0x48600000 0x48600002 1: 0x48700000 0x48700002 1: 0x48800000 0x48800002 1: 0x48900000 0x48900002 1: 0x48a00000 0x48a00002 1: 0x48b00000 0x48b00002 1: 0x48c00000 0x48c00002 1: 0x48d00000 0x48d00002 1: 0x48e00000 0x48e00002 1: 0x48f00000 0x48f00002 1: 0x4a000000 0x4a040002 1: 0x4a100000 0x4a040002 1: 0x4a200000 0x4a040002 1: 0x4a300000 0x4a040002 1: 0x4a400000 0x4a040002 1: 0x4a500000 0x4a040002 1: 0x4a600000 0x4a040002 1: 0x4a700000 0x4a040002 1: 0x4a800000 0x4a040002 1: 0x4a900000 0x4a040002 1: 0x4aa00000 0x4a040002 1: 0x4ab00000 0x4a040002 1: 0x4ac00000 0x4a040002 1: 0x4ad00000 0x4a040002 1: 0x4ae00000 0x4a040002 1: 0x4af00000 0x4a040002rh*…�ri*}rj*(jYUjZjd*ubaubj¡)�rk*}rl*(jYXµThe first column tells us whether the mapping is a Level 1 or Level 2 descriptor. All the lines above are a first level descriptor, so we look at the associated format from the TRM:rm*jZj"$jbjõ!jdj¥jf}rn*(jh]ji]jj]jk]jn]ujpMãjqhjr]ro*j{XµThe first column tells us whether the mapping is a Level 1 or Level 2 descriptor. All the lines above are a first level descriptor, so we look at the associated format from the TRM:rp*…�rq*}rr*(jYjm*jZjk*ubaubjB)�rs*}rt*(jYX6.. Image:: ../images/LinuxIpcPageTableDescriptor1.png jZj"$jbjõ!jdjEjf}ru*(UuriX/rtos/../images/LinuxIpcPageTableDescriptor1.pngrv*jk]jj]jh]ji]jH}rw*U*jv*sjn]ujpMèjqhjr]ubj¡)�rx*}ry*(jYXGThe "da" ("device address") column reflects the virtual address. It is *derived* from the index into the table, i.e. there does not exist a "da" register or field in the page table. Each MB of the address space maps to an entry in the table. The "da" column is displayed to make it easy to find the virtual address of interest.jZj"$jbjõ!jdj¥jf}rz*(jh]ji]jj]jk]jn]ujpMéjqhjr]r{*(j{XGThe "da" ("device address") column reflects the virtual address. It is r|*…�r}*}r~*(jYXGThe "da" ("device address") column reflects the virtual address. It is jZjx*ubjŸ')�r*}r€*(jYX *derived*jf}r�*(jh]ji]jj]jk]jn]ujZjx*jr]r‚*j{Xderivedrƒ*…�r„*}r…*(jYUjZj*ubajdj§'ubj{X÷ from the index into the table, i.e. there does not exist a "da" register or field in the page table. Each MB of the address space maps to an entry in the table. The "da" column is displayed to make it easy to find the virtual address of interest.r†*…�r‡*}rˆ*(jYX÷ from the index into the table, i.e. there does not exist a "da" register or field in the page table. Each MB of the address space maps to an entry in the table. The "da" column is displayed to make it easy to find the virtual address of interest.jZjx*ubeubj¡)�r‰*}rŠ*(jYXfThe "pte" ("page table entry") column can be decoded according to Table 20-4 shown above. For example:r‹*jZj"$jbjõ!jdj¥jf}rŒ*(jh]ji]jj]jk]jn]ujpMïjqhjr]r�*j{XfThe "pte" ("page table entry") column can be decoded according to Table 20-4 shown above. For example:rŽ*…�r�*}r�*(jYj‹*jZj‰*ubaubj)�r‘*}r’*(jYX1: 0x4a000000 0x4a040002jZj"$jbjõ!jdjjf}r“*(jöj÷jk]jj]jh]ji]jn]ujpM�jqhjr]r”*j{X1: 0x4a000000 0x4a040002r•*…�r–*}r—*(jYUjZj‘*ubaubj¡)�r˜*}r™*(jYXØThe 0x4a040002 shows us that it is a Supersection with base address 0x4A000000. This gives us a 16 MB memory page. Note the repeated entries afterward. That's a requirement of the MMU. Here's an excerpt from the TRM:rš*jZj"$jbjõ!jdj¥jf}r›*(jh]ji]jj]jk]jn]ujpMöjqhjr]rœ*j{XØThe 0x4a040002 shows us that it is a Supersection with base address 0x4A000000. This gives us a 16 MB memory page. Note the repeated entries afterward. That's a requirement of the MMU. Here's an excerpt from the TRM:r�*…�rž*}rŸ*(jYjš*jZj˜*ubaubj)�r *}r¡*(jYXõSupersection descriptors must be repeated 16 times, because each descriptor in the first level translation table describes 1 MiB of memory. If an access points to a descriptor that is not initialized, the MMU will behave in an unpredictable way.jZj"$jbjõ!jdjjf}r¢*(jh]ji]jj]jk]jn]ujpNjqhjr]r£*j¡)�r¤*}r¥*(jYXõSupersection descriptors must be repeated 16 times, because each descriptor in the first level translation table describes 1 MiB of memory. If an access points to a descriptor that is not initialized, the MMU will behave in an unpredictable way.r¦*jZj *jbjõ!jdj¥jf}r§*(jh]ji]jj]jk]jn]ujpMüjr]r¨*j{XõSupersection descriptors must be repeated 16 times, because each descriptor in the first level translation table describes 1 MiB of memory. If an access points to a descriptor that is not initialized, the MMU will behave in an unpredictable way.r©*…�rª*}r«*(jYj¦*jZj¤*ubaubaubjZ)�r¬*}r­*(jYUjZj"$jbjõ!jdj]jf}r®*(jh]ji]jj]jk]jn]ujpMjqhjr]r¯*j`)�r°*}r±*(jYUjcKjZj¬*jbjõ!jdjpjf}r²*(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�r³*}r´*(jYX!Changing Cortex M4 IPU Memory Maprµ*jZj"$jbjõ!jdjíjf}r¶*(jk]r·*U!changing-cortex-m4-ipu-memory-mapr¸*ajj]jh]ji]jn]r¹*h±aujpNjqhjr]rº*j{X!Changing Cortex M4 IPU Memory Mapr»*…�r¼*}r½*(jYjµ*jZj³*ubaubj¡)�r¾*}r¿*(jYXÝIn order to fully understand the memory mapping of the Cortex M4 IPU Subsystems, it's helpful to recognize that there are two distinct/independent levels of memory translation. Here's a snippet from the TRM to illustrate:rÀ*jZj"$jbjõ!jdj¥jf}rÁ*(jh]ji]jj]jk]jn]ujpMjqhjr]rÂ*j{XÝIn order to fully understand the memory mapping of the Cortex M4 IPU Subsystems, it's helpful to recognize that there are two distinct/independent levels of memory translation. Here's a snippet from the TRM to illustrate:rÃ*…�rÄ*}rÅ*(jYjÀ*jZj¾*ubaubjB)�rÆ*}rÇ*(jYX(.. Image:: ../images/LinuxIpcIpuMmu.png jZj"$jbjõ!jdjEjf}rÈ*(UuriX!rtos/../images/LinuxIpcIpuMmu.pngrÉ*jk]jj]jh]ji]jH}rÊ*U*jÉ*sjn]ujpM jqhjr]ubjè)�rË*}rÌ*(jYX Cortex M4 IPU Physical AddressesrÍ*jZj"$jbjõ!jdjíjf}rÎ*(jk]rÏ*U cortex-m4-ipu-physical-addressesrÐ*ajj]jh]ji]jn]rÑ*hàaujpNjqhjr]rÒ*j{X Cortex M4 IPU Physical AddressesrÓ*…�rÔ*}rÕ*(jYjÍ*jZjË*ubaubj¡)�rÖ*}r×*(jYXThe physical location where the M4 code/data will actually reside is defined by the CMA carveout. To change this location, you must change the definition of the carveout. **The M4 carveouts are defined in the Linux dts file.** For example for the AM57xx EVM:jZj"$jbjõ!jdj¥jf}rØ*(jh]ji]jj]jk]jn]ujpMjqhjr]rÙ*(j{X«The physical location where the M4 code/data will actually reside is defined by the CMA carveout. To change this location, you must change the definition of the carveout. rÚ*…�rÛ*}rÜ*(jYX«The physical location where the M4 code/data will actually reside is defined by the CMA carveout. To change this location, you must change the definition of the carveout. jZjÖ*ubjü)�rÝ*}rÞ*(jYX7**The M4 carveouts are defined in the Linux dts file.**jf}rß*(jh]ji]jj]jk]jn]ujZjÖ*jr]rà*j{X3The M4 carveouts are defined in the Linux dts file.rá*…�râ*}rã*(jYUjZjÝ*ubajdjubj{X For example for the AM57xx EVM:rä*…�rå*}ræ*(jYX For example for the AM57xx EVM:jZjÖ*ubeubjZ)�rç*}rè*(jYUjZj"$jbjõ!jdj]jf}ré*(jh]ji]jj]jk]jn]ujpMjqhjr]rê*(j`)�rë*}rì*(jYUjcKjZjç*jbjõ!jdjpjf}rí*(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�rî*}rï*(jYUjcKjZjç*jbjõ!jdjpjf}rð*(jh]ji]jj]jk]jn]ujpKjqhjr]ubeubj¡)�rñ*}rò*(jYX5linux/arch/arm/boot/dts/am57xx-beagle-x15-common.dtsiró*jZj"$jbjõ!jdj¥jf}rô*(jh]ji]jj]jk]jn]ujpMjqhjr]rõ*j{X5linux/arch/arm/boot/dts/am57xx-beagle-x15-common.dtsirö*…�r÷*}rø*(jYjó*jZjñ*ubaubj)�rù*}rú*(jYX¯{ ipu2_cma_pool: ipu2_cma@95800000 { compatible = "shared-dma-pool"; reg = <0x0 95800000 0x0 0x3800000>; reusable; status = "okay"; }; ipu1_cma_pool: ipu1_cma@9d000000 { compatible = "shared-dma-pool"; reg = <0x0 9d000000 0x0 0x2000000>; reusable; status = "okay"; }; };jZj"$jbjõ!jdjjf}rû*(jöj÷jk]jj]jh]ji]jn]ujpM§jqhjr]rü*j{X¯{ ipu2_cma_pool: ipu2_cma@95800000 { compatible = "shared-dma-pool"; reg = <0x0 95800000 0x0 0x3800000>; reusable; status = "okay"; }; ipu1_cma_pool: ipu1_cma@9d000000 { compatible = "shared-dma-pool"; reg = <0x0 9d000000 0x0 0x2000000>; reusable; status = "okay"; }; };rý*…�rþ*}rÿ*(jYUjZjù*ubaubjZ)�r+}r+(jYUjZj"$jbjõ!jdj]jf}r+(jh]ji]jj]jk]jn]ujpM*jqhjr]r+j`)�r+}r+(jYUjcKjZj+jbjõ!jdjpjf}r+(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r+}r+(jYXeYou are able to change both the size and location. **Be careful not to overlap any other carveouts!**jZj"$jbjõ!jdj¥jf}r +(jh]ji]jj]jk]jn]ujpM+jqhjr]r +(j{X3You are able to change both the size and location. r +…�r +}r +(jYX3You are able to change both the size and location. jZj+ubjü)�r+}r+(jYX2**Be careful not to overlap any other carveouts!**jf}r+(jh]ji]jj]jk]jn]ujZj+jr]r+j{X.Be careful not to overlap any other carveouts!r+…�r+}r+(jYUjZj+ubajdjubeubj)�r+}r+(jYXDThe **two** location entries for a given carveout must be identical!jZj"$jbjõ!jdjjf}r+(jh]ji]jj]jk]jn]ujpNjqhjr]r+j¡)�r+}r+(jYXDThe **two** location entries for a given carveout must be identical!jZj+jbjõ!jdj¥jf}r+(jh]ji]jj]jk]jn]ujpM/jr]r+(j{XThe r+…�r+}r+(jYXThe jZj+ubjü)�r +}r!+(jYX**two**jf}r"+(jh]ji]jj]jk]jn]ujZj+jr]r#+j{Xtwor$+…�r%+}r&+(jYUjZj +ubajdjubj{X9 location entries for a given carveout must be identical!r'+…�r(+}r)+(jYX9 location entries for a given carveout must be identical!jZj+ubeubaubjZ)�r*+}r++(jYUjZj"$jbjõ!jdj]jf}r,+(jh]ji]jj]jk]jn]ujpM1jqhjr]r-+j`)�r.+}r/+(jYUjcKjZj*+jbjõ!jdjpjf}r0+(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r1+}r2+(jYX Additionally, when you change the carveout location, there is a corresponding change that must be made to the resource table. For starters, if you're making a memory change you will need a **custom** resource table. The resource table is a large structure that is the "bridge" between physical memory and virtual memory. This structure is utilized for configuring the IPUx_MMU (not the Unicache MMU). There is detailed information available in the article `IPC Resource customTable `__.jZj"$jbjõ!jdj¥jf}r3+(jh]ji]jj]jk]jn]ujpM2jqhjr]r4+(j{X½Additionally, when you change the carveout location, there is a corresponding change that must be made to the resource table. For starters, if you're making a memory change you will need a r5+…�r6+}r7+(jYX½Additionally, when you change the carveout location, there is a corresponding change that must be made to the resource table. For starters, if you're making a memory change you will need a jZj1+ubjü)�r8+}r9+(jYX **custom**jf}r:+(jh]ji]jj]jk]jn]ujZj1+jr]r;+j{Xcustomr<+…�r=+}r>+(jYUjZj8+ubajdjubj{X resource table. The resource table is a large structure that is the "bridge" between physical memory and virtual memory. This structure is utilized for configuring the IPUx_MMU (not the Unicache MMU). There is detailed information available in the article r?+…�r@+}rA+(jYX resource table. The resource table is a large structure that is the "bridge" between physical memory and virtual memory. This structure is utilized for configuring the IPUx_MMU (not the Unicache MMU). There is detailed information available in the article jZj1+ubjÜ)�rB+}rC+(jYXW`IPC Resource customTable `__jf}rD+(UnameXIPC Resource customTablejX8index_Foundational_Components.html#resource-custom-tablejk]jj]jh]ji]jn]ujZj1+jr]rE+j{XIPC Resource customTablerF+…�rG+}rH+(jYUjZjB+ubajdjàubj{X.…�rI+}rJ+(jYX.jZj1+ubeubj¡)�rK+}rL+(jYX˜Once you've created your custom resource table, you must update the address of PHYS_MEM_IPC_VRING to be the same base address as your corresponding CMA.rM+jZj"$jbjõ!jdj¥jf}rN+(jh]ji]jj]jk]jn]ujpM;jqhjr]rO+j{X˜Once you've created your custom resource table, you must update the address of PHYS_MEM_IPC_VRING to be the same base address as your corresponding CMA.rP+…�rQ+}rR+(jYjM+jZjK+ubaubj)�rS+}rT+(jYX�#if defined(VAYU_IPU_1) #define PHYS_MEM_IPC_VRING 0x9D000000 #elif defined (VAYU_IPU_2) #define PHYS_MEM_IPC_VRING 0x95800000 #endifjZj"$jbjõ!jdjjf}rU+(jöj÷jk]jj]jh]ji]jn]ujpMÎjqhjr]rV+j{X�#if defined(VAYU_IPU_1) #define PHYS_MEM_IPC_VRING 0x9D000000 #elif defined (VAYU_IPU_2) #define PHYS_MEM_IPC_VRING 0x95800000 #endifrW+…�rX+}rY+(jYUjZjS+ubaubjZ)�rZ+}r[+(jYUjZj"$jbjõ!jdj]jf}r\+(jh]ji]jj]jk]jn]ujpMGjqhjr]r]+j`)�r^+}r_+(jYUjcKjZjZ+jbjõ!jdjpjf}r`+(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj)�ra+}rb+(jYXpThe PHYS_MEM_IPC_VRING definition from the resource table must match the address of the associated CMA carveout!jZj"$jbjõ!jdjjf}rc+(jh]ji]jj]jk]jn]ujpNjqhjr]rd+j¡)�re+}rf+(jYXpThe PHYS_MEM_IPC_VRING definition from the resource table must match the address of the associated CMA carveout!rg+jZja+jbjõ!jdj¥jf}rh+(jh]ji]jj]jk]jn]ujpMJjr]ri+j{XpThe PHYS_MEM_IPC_VRING definition from the resource table must match the address of the associated CMA carveout!rj+…�rk+}rl+(jYjg+jZje+ubaubaubjè)�rm+}rn+(jYXCortex M4 IPU Virtual Addressesro+jZj"$jbjõ!jdjíjf}rp+(jk]rq+Ucortex-m4-ipu-virtual-addressesrr+ajj]jh]ji]jn]rs+j.aujpNjqhjr]rt+j{XCortex M4 IPU Virtual Addressesru+…�rv+}rw+(jYjo+jZjm+ubaubjè)�rx+}ry+(jYX Unicache MMUrz+jZj"$jbjõ!jdjíjf}r{+(jk]r|+U unicache-mmur}+ajj]jh]ji]jn]r~+h?aujpNjqhjr]r+j{X Unicache MMUr€+…�r�+}r‚+(jYjz+jZjx+ubaubj¡)�rƒ+}r„+(jYXTThe Unicache MMU sits closest to the Cortex M4. It provides the first level of address translation. The Unicache MMU is actually "self programmed" by the Cortex M4. The Unicache MMU is also referred to as the Attribute MMU (AMMU). There are a fixed number of small, medium and large pages. Here's a snippet showing some of the key mappings:r…+jZj"$jbjõ!jdj¥jf}r†+(jh]ji]jj]jk]jn]ujpMSjqhjr]r‡+j{XTThe Unicache MMU sits closest to the Cortex M4. It provides the first level of address translation. The Unicache MMU is actually "self programmed" by the Cortex M4. The Unicache MMU is also referred to as the Attribute MMU (AMMU). There are a fixed number of small, medium and large pages. Here's a snippet showing some of the key mappings:rˆ+…�r‰+}rŠ+(jYj…+jZjƒ+ubaubj¡)�r‹+}rŒ+(jYXGipc_3_43_02_04/examples/DRA7XX_linux_elf/ex02_messageq/ipu1/IpuAmmu.cfgr�+jZj"$jbjõ!jdj¥jf}rŽ+(jh]ji]jj]jk]jn]ujpMYjqhjr]r�+j{XGipc_3_43_02_04/examples/DRA7XX_linux_elf/ex02_messageq/ipu1/IpuAmmu.cfgr�+…�r‘+}r’+(jYj�+jZj‹+ubaubj)�r“+}r”+(jYXs/*********************** Large Pages *************************/ /* Instruction Code: Large page (512M); cacheable */ /* config large page[0] to map 512MB VA 0x0 to L3 0x0 */ AMMU.largePages[0].pageEnabled = AMMU.Enable_YES; AMMU.largePages[0].logicalAddress = 0x0; AMMU.largePages[0].translationEnabled = AMMU.Enable_NO; AMMU.largePages[0].size = AMMU.Large_512M; AMMU.largePages[0].L1_cacheable = AMMU.CachePolicy_CACHEABLE; AMMU.largePages[0].L1_posted = AMMU.PostedPolicy_POSTED; /* Peripheral regions: Large Page (512M); non-cacheable */ /* config large page[1] to map 512MB VA 0x60000000 to L3 0x60000000 */ AMMU.largePages[1].pageEnabled = AMMU.Enable_YES; AMMU.largePages[1].logicalAddress = 0x60000000; AMMU.largePages[1].translationEnabled = AMMU.Enable_NO; AMMU.largePages[1].size = AMMU.Large_512M; AMMU.largePages[1].L1_cacheable = AMMU.CachePolicy_NON_CACHEABLE; AMMU.largePages[1].L1_posted = AMMU.PostedPolicy_POSTED; /* Private, Shared and IPC Data regions: Large page (512M); cacheable */ /* config large page[2] to map 512MB VA 0x80000000 to L3 0x80000000 */ AMMU.largePages[2].pageEnabled = AMMU.Enable_YES; AMMU.largePages[2].logicalAddress = 0x80000000; AMMU.largePages[2].translationEnabled = AMMU.Enable_NO; AMMU.largePages[2].size = AMMU.Large_512M; AMMU.largePages[2].L1_cacheable = AMMU.CachePolicy_CACHEABLE; AMMU.largePages[2].L1_posted = AMMU.PostedPolicy_POSTED;jZj"$jbjõ!jdjjf}r•+(jöj÷jk]jj]jh]ji]jn]ujpMêjqhjr]r–+j{Xs/*********************** Large Pages *************************/ /* Instruction Code: Large page (512M); cacheable */ /* config large page[0] to map 512MB VA 0x0 to L3 0x0 */ AMMU.largePages[0].pageEnabled = AMMU.Enable_YES; AMMU.largePages[0].logicalAddress = 0x0; AMMU.largePages[0].translationEnabled = AMMU.Enable_NO; AMMU.largePages[0].size = AMMU.Large_512M; AMMU.largePages[0].L1_cacheable = AMMU.CachePolicy_CACHEABLE; AMMU.largePages[0].L1_posted = AMMU.PostedPolicy_POSTED; /* Peripheral regions: Large Page (512M); non-cacheable */ /* config large page[1] to map 512MB VA 0x60000000 to L3 0x60000000 */ AMMU.largePages[1].pageEnabled = AMMU.Enable_YES; AMMU.largePages[1].logicalAddress = 0x60000000; AMMU.largePages[1].translationEnabled = AMMU.Enable_NO; AMMU.largePages[1].size = AMMU.Large_512M; AMMU.largePages[1].L1_cacheable = AMMU.CachePolicy_NON_CACHEABLE; AMMU.largePages[1].L1_posted = AMMU.PostedPolicy_POSTED; /* Private, Shared and IPC Data regions: Large page (512M); cacheable */ /* config large page[2] to map 512MB VA 0x80000000 to L3 0x80000000 */ AMMU.largePages[2].pageEnabled = AMMU.Enable_YES; AMMU.largePages[2].logicalAddress = 0x80000000; AMMU.largePages[2].translationEnabled = AMMU.Enable_NO; AMMU.largePages[2].size = AMMU.Large_512M; AMMU.largePages[2].L1_cacheable = AMMU.CachePolicy_CACHEABLE; AMMU.largePages[2].L1_posted = AMMU.PostedPolicy_POSTED;r—+…�r˜+}r™+(jYUjZj“+ubaubjZ)�rš+}r›+(jYUjZj"$jbjõ!jdj]jf}rœ+(jh]ji]jj]jk]jn]ujpMyjqhjr]r�+j`)�rž+}rŸ+(jYUjcKjZjš+jbjõ!jdjpjf}r +(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubcdocutils.nodes transition r¡+)�r¢+}r£+(jYX````r¤+jZj"$jbjõ!jdU transitionr¥+jf}r¦+(jh]ji]jj]jk]jn]ujpM{jqhjr]ubjd$)�r§+}r¨+(jYUjZj"$jbjõ!jdjg$jf}r©+(jh]ji]jj]jk]jn]ujpNjqhjr]rª+jj$)�r«+}r¬+(jYUjf}r­+(jk]jj]jh]ji]jn]UcolsKujZj§+jr]r®+(jo$)�r¯+}r°+(jYUjf}r±+(jk]jj]jh]ji]jn]UcolwidthKujZj«+jr]jdjs$ubjo$)�r²+}r³+(jYUjf}r´+(jk]jj]jh]ji]jn]UcolwidthKujZj«+jr]jdjs$ubjo$)�rµ+}r¶+(jYUjf}r·+(jk]jj]jh]ji]jn]UcolwidthKujZj«+jr]jdjs$ubjo$)�r¸+}r¹+(jYUjf}rº+(jk]jj]jh]ji]jn]UcolwidthKujZj«+jr]jdjs$ubjo$)�r»+}r¼+(jYUjf}r½+(jk]jj]jh]ji]jn]UcolwidthK ujZj«+jr]jdjs$ubjz$)�r¾+}r¿+(jYUjf}rÀ+(jh]ji]jj]jk]jn]ujZj«+jr]rÁ+j$)�rÂ+}rÃ+(jYUjf}rÄ+(jh]ji]jj]jk]jn]ujZj¾+jr]rÅ+(j„$)�rÆ+}rÇ+(jYUjf}rÈ+(jh]ji]jj]jk]jn]ujZjÂ+jr]rÉ+j¡)�rÊ+}rË+(jYXPagerÌ+jZjÆ+jbjõ!jdj¥jf}rÍ+(jh]ji]jj]jk]jn]ujpM~jr]rÎ+j{XPagerÏ+…�rÐ+}rÑ+(jYjÌ+jZjÊ+ubaubajdj‘$ubj„$)�rÒ+}rÓ+(jYUjf}rÔ+(jh]ji]jj]jk]jn]ujZjÂ+jr]rÕ+j¡)�rÖ+}r×+(jYXCortex M4 AddressrØ+jZjÒ+jbjõ!jdj¥jf}rÙ+(jh]ji]jj]jk]jn]ujpM~jr]rÚ+j{XCortex M4 AddressrÛ+…�rÜ+}rÝ+(jYjØ+jZjÖ+ubaubajdj‘$ubj„$)�rÞ+}rß+(jYUjf}rà+(jh]ji]jj]jk]jn]ujZjÂ+jr]rá+j¡)�râ+}rã+(jYXIntermediate Addressrä+jZjÞ+jbjõ!jdj¥jf}rå+(jh]ji]jj]jk]jn]ujpM~jr]ræ+j{XIntermediate Addressrç+…�rè+}ré+(jYjä+jZjâ+ubaubajdj‘$ubj„$)�rê+}rë+(jYUjf}rì+(jh]ji]jj]jk]jn]ujZjÂ+jr]rí+j¡)�rî+}rï+(jYXSizerð+jZjê+jbjõ!jdj¥jf}rñ+(jh]ji]jj]jk]jn]ujpM~jr]rò+j{XSizeró+…�rô+}rõ+(jYjð+jZjî+ubaubajdj‘$ubj„$)�rö+}r÷+(jYUjf}rø+(jh]ji]jj]jk]jn]ujZjÂ+jr]rù+j¡)�rú+}rû+(jYXCommentrü+jZjö+jbjõ!jdj¥jf}rý+(jh]ji]jj]jk]jn]ujpM~jr]rþ+j{XCommentrÿ+…�r,}r,(jYjü+jZjú+ubaubajdj‘$ubejdjª$ubajdj«$ubj¬$)�r,}r,(jYUjf}r,(jh]ji]jj]jk]jn]ujZj«+jr]r,(j$)�r,}r,(jYUjf}r,(jh]ji]jj]jk]jn]ujZj,jr]r ,(j„$)�r ,}r ,(jYUjf}r ,(jh]ji]jj]jk]jn]ujZj,jr]r ,j¡)�r,}r,(jYX Large Page 0r,jZj ,jbjõ!jdj¥jf}r,(jh]ji]jj]jk]jn]ujpM€jr]r,j{X Large Page 0r,…�r,}r,(jYj,jZj,ubaubajdj‘$ubj„$)�r,}r,(jYUjf}r,(jh]ji]jj]jk]jn]ujZj,jr]r,j¡)�r,}r,(jYX0x00000000-0x1fffffffr,jZj,jbjõ!jdj¥jf}r,(jh]ji]jj]jk]jn]ujpM€jr]r,j{X0x00000000-0x1fffffffr,…�r ,}r!,(jYj,jZj,ubaubajdj‘$ubj„$)�r",}r#,(jYUjf}r$,(jh]ji]jj]jk]jn]ujZj,jr]r%,j¡)�r&,}r',(jYX0x00000000-0x1fffffffr(,jZj",jbjõ!jdj¥jf}r),(jh]ji]jj]jk]jn]ujpM€jr]r*,j{X0x00000000-0x1fffffffr+,…�r,,}r-,(jYj(,jZj&,ubaubajdj‘$ubj„$)�r.,}r/,(jYUjf}r0,(jh]ji]jj]jk]jn]ujZj,jr]r1,j¡)�r2,}r3,(jYX512 MBr4,jZj.,jbjõ!jdj¥jf}r5,(jh]ji]jj]jk]jn]ujpM€jr]r6,j{X512 MBr7,…�r8,}r9,(jYj4,jZj2,ubaubajdj‘$ubj„$)�r:,}r;,(jYUjf}r<,(jh]ji]jj]jk]jn]ujZj,jr]r=,j¡)�r>,}r?,(jYXCoder@,jZj:,jbjõ!jdj¥jf}rA,(jh]ji]jj]jk]jn]ujpM€jr]rB,j{XCoderC,…�rD,}rE,(jYj@,jZj>,ubaubajdj‘$ubejdjª$ubj$)�rF,}rG,(jYUjf}rH,(jh]ji]jj]jk]jn]ujZj,jr]rI,(j„$)�rJ,}rK,(jYUjf}rL,(jh]ji]jj]jk]jn]ujZjF,jr]rM,j¡)�rN,}rO,(jYX Large Page 1rP,jZjJ,jbjõ!jdj¥jf}rQ,(jh]ji]jj]jk]jn]ujpM‚jr]rR,j{X Large Page 1rS,…�rT,}rU,(jYjP,jZjN,ubaubajdj‘$ubj„$)�rV,}rW,(jYUjf}rX,(jh]ji]jj]jk]jn]ujZjF,jr]rY,j¡)�rZ,}r[,(jYX0x60000000-0x7fffffffr\,jZjV,jbjõ!jdj¥jf}r],(jh]ji]jj]jk]jn]ujpM‚jr]r^,j{X0x60000000-0x7fffffffr_,…�r`,}ra,(jYj\,jZjZ,ubaubajdj‘$ubj„$)�rb,}rc,(jYUjf}rd,(jh]ji]jj]jk]jn]ujZjF,jr]re,j¡)�rf,}rg,(jYX0x60000000-0x7fffffffrh,jZjb,jbjõ!jdj¥jf}ri,(jh]ji]jj]jk]jn]ujpM‚jr]rj,j{X0x60000000-0x7fffffffrk,…�rl,}rm,(jYjh,jZjf,ubaubajdj‘$ubj„$)�rn,}ro,(jYUjf}rp,(jh]ji]jj]jk]jn]ujZjF,jr]rq,j¡)�rr,}rs,(jYX512 MBrt,jZjn,jbjõ!jdj¥jf}ru,(jh]ji]jj]jk]jn]ujpM‚jr]rv,j{X512 MBrw,…�rx,}ry,(jYjt,jZjr,ubaubajdj‘$ubj„$)�rz,}r{,(jYUjf}r|,(jh]ji]jj]jk]jn]ujZjF,jr]r},j¡)�r~,}r,(jYX Peripheralsr€,jZjz,jbjõ!jdj¥jf}r�,(jh]ji]jj]jk]jn]ujpM‚jr]r‚,j{X Peripheralsrƒ,…�r„,}r…,(jYj€,jZj~,ubaubajdj‘$ubejdjª$ubj$)�r†,}r‡,(jYUjf}rˆ,(jh]ji]jj]jk]jn]ujZj,jr]r‰,(j„$)�rŠ,}r‹,(jYUjf}rŒ,(jh]ji]jj]jk]jn]ujZj†,jr]r�,j¡)�rŽ,}r�,(jYX Large Page 2r�,jZjŠ,jbjõ!jdj¥jf}r‘,(jh]ji]jj]jk]jn]ujpM„jr]r’,j{X Large Page 2r“,…�r”,}r•,(jYj�,jZjŽ,ubaubajdj‘$ubj„$)�r–,}r—,(jYUjf}r˜,(jh]ji]jj]jk]jn]ujZj†,jr]r™,j¡)�rš,}r›,(jYX0x80000000-0x9fffffffrœ,jZj–,jbjõ!jdj¥jf}r�,(jh]ji]jj]jk]jn]ujpM„jr]rž,j{X0x80000000-0x9fffffffrŸ,…�r ,}r¡,(jYjœ,jZjš,ubaubajdj‘$ubj„$)�r¢,}r£,(jYUjf}r¤,(jh]ji]jj]jk]jn]ujZj†,jr]r¥,j¡)�r¦,}r§,(jYX0x80000000-0x9fffffffr¨,jZj¢,jbjõ!jdj¥jf}r©,(jh]ji]jj]jk]jn]ujpM„jr]rª,j{X0x80000000-0x9fffffffr«,…�r¬,}r­,(jYj¨,jZj¦,ubaubajdj‘$ubj„$)�r®,}r¯,(jYUjf}r°,(jh]ji]jj]jk]jn]ujZj†,jr]r±,j¡)�r²,}r³,(jYX512 MBr´,jZj®,jbjõ!jdj¥jf}rµ,(jh]ji]jj]jk]jn]ujpM„jr]r¶,j{X512 MBr·,…�r¸,}r¹,(jYj´,jZj²,ubaubajdj‘$ubj„$)�rº,}r»,(jYUjf}r¼,(jh]ji]jj]jk]jn]ujZj†,jr]r½,j¡)�r¾,}r¿,(jYXDatarÀ,jZjº,jbjõ!jdj¥jf}rÁ,(jh]ji]jj]jk]jn]ujpM„jr]rÂ,j{XDatarÃ,…�rÄ,}rÅ,(jYjÀ,jZj¾,ubaubajdj‘$ubejdjª$ubejdjy%ubejdjz%ubaubj¡)�rÆ,}rÇ,(jYXÛThese 3 pages are "identity" mappings, performing a passthrough of requests to the associated address ranges. These intermediate addresses get mapped to their physical addresses in the next level of translation (IOMMU).rÈ,jZj"$jbjõ!jdj¥jf}rÉ,(jh]ji]jj]jk]jn]ujpM‡jqhjr]rÊ,j{XÛThese 3 pages are "identity" mappings, performing a passthrough of requests to the associated address ranges. These intermediate addresses get mapped to their physical addresses in the next level of translation (IOMMU).rË,…�rÌ,}rÍ,(jYjÈ,jZjÆ,ubaubj¡)�rÎ,}rÏ,(jYXÖThe AMMU ranges for code and data *need* to be identity mappings because otherwise the remoteproc loader wouldn't be able to match up the sections from the ELF file with the associated IOMMU mapping. These mappings should suffice for any application, i.e. no need to adjust these. The more likely area for modification is the resource table in the next section. The AMMU mappings are needed mainly to understand the full picture with respect to the Cortex M4 memory map.jZj"$jbjõ!jdj¥jf}rÐ,(jh]ji]jj]jk]jn]ujpMŒjqhjr]rÑ,(j{X"The AMMU ranges for code and data rÒ,…�rÓ,}rÔ,(jYX"The AMMU ranges for code and data jZjÎ,ubjŸ')�rÕ,}rÖ,(jYX*need*jf}r×,(jh]ji]jj]jk]jn]ujZjÎ,jr]rØ,j{XneedrÙ,…�rÚ,}rÛ,(jYUjZjÕ,ubajdj§'ubj{X® to be identity mappings because otherwise the remoteproc loader wouldn't be able to match up the sections from the ELF file with the associated IOMMU mapping. These mappings should suffice for any application, i.e. no need to adjust these. The more likely area for modification is the resource table in the next section. The AMMU mappings are needed mainly to understand the full picture with respect to the Cortex M4 memory map.rÜ,…�rÝ,}rÞ,(jYX® to be identity mappings because otherwise the remoteproc loader wouldn't be able to match up the sections from the ELF file with the associated IOMMU mapping. These mappings should suffice for any application, i.e. no need to adjust these. The more likely area for modification is the resource table in the next section. The AMMU mappings are needed mainly to understand the full picture with respect to the Cortex M4 memory map.jZjÎ,ubeubjZ)�rß,}rà,(jYUjZj"$jbjõ!jdj]jf}rá,(jh]ji]jj]jk]jn]ujpM”jqhjr]râ,j`)�rã,}rä,(jYUjcKjZjß,jbjõ!jdjpjf}rå,(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�ræ,}rç,(jYXIOMMUrè,jZj"$jbjõ!jdjíjf}ré,(jk]rê,Uiommurë,ajj]jh]ji]jn]rì,haaujpNjqhjr]rí,j{XIOMMUrî,…�rï,}rð,(jYjè,jZjæ,ubaubj¡)�rñ,}rò,(jYXÅThe IOMMU sits closest to the L3 interconnect. It takes the intermediate address output from the AMMU and translates it to the physical address used by the L3 interconnect. The IOMMU is programmed by the ARM based on the associated resource table. If you're planning any memory changes then you'll want to make a custom resource table as described in the wiki page `IPC Resource customTable `__.jZj"$jbjõ!jdj¥jf}ró,(jh]ji]jj]jk]jn]ujpM™jqhjr]rô,(j{XmThe IOMMU sits closest to the L3 interconnect. It takes the intermediate address output from the AMMU and translates it to the physical address used by the L3 interconnect. The IOMMU is programmed by the ARM based on the associated resource table. If you're planning any memory changes then you'll want to make a custom resource table as described in the wiki page rõ,…�rö,}r÷,(jYXmThe IOMMU sits closest to the L3 interconnect. It takes the intermediate address output from the AMMU and translates it to the physical address used by the L3 interconnect. The IOMMU is programmed by the ARM based on the associated resource table. If you're planning any memory changes then you'll want to make a custom resource table as described in the wiki page jZjñ,ubjÜ)�rø,}rù,(jYXW`IPC Resource customTable `__jf}rú,(UnameXIPC Resource customTablejX8index_Foundational_Components.html#resource-custom-tablejk]jj]jh]ji]jn]ujZjñ,jr]rû,j{XIPC Resource customTablerü,…�rý,}rþ,(jYUjZjø,ubajdjàubj{X.…�rÿ,}r-(jYX.jZjñ,ubeubj¡)�r-}r-(jYXgThe default resource table (which can be adapted to make a custom table) can be found at this location:r-jZj"$jbjõ!jdj¥jf}r-(jh]ji]jj]jk]jn]ujpM¡jqhjr]r-j{XgThe default resource table (which can be adapted to make a custom table) can be found at this location:r-…�r-}r-(jYj-jZj-ubaubj¡)�r -}r -(jYX3ipc/packages/ti/ipc/remoteproc/rsc_table_vayu_ipu.hr -jZj"$jbjõ!jdj¥jf}r -(jh]ji]jj]jk]jn]ujpM¤jqhjr]r -j{X3ipc/packages/ti/ipc/remoteproc/rsc_table_vayu_ipu.hr-…�r-}r-(jYj -jZj -ubaubj)�r-}r-(jYXë#define IPU_MEM_TEXT 0x0 #define IPU_MEM_DATA 0x80000000 #define IPU_MEM_IOBUFS 0x90000000 #define IPU_MEM_IPC_DATA 0x9F000000 #define IPU_MEM_IPC_VRING 0x60000000 #define IPU_MEM_RPMSG_VRING0 0x60000000 #define IPU_MEM_RPMSG_VRING1 0x60004000 #define IPU_MEM_VRING_BUFS0 0x60040000 #define IPU_MEM_VRING_BUFS1 0x60080000 #define IPU_MEM_IPC_VRING_SIZE SZ_1M #define IPU_MEM_IPC_DATA_SIZE SZ_1M #if defined(VAYU_IPU_1) #define IPU_MEM_TEXT_SIZE (SZ_1M) #elif defined(VAYU_IPU_2) #define IPU_MEM_TEXT_SIZE (SZ_1M * 6) #endif #if defined(VAYU_IPU_1) #define IPU_MEM_DATA_SIZE (SZ_1M * 5) #elif defined(VAYU_IPU_2) #define IPU_MEM_DATA_SIZE (SZ_1M * 48) #endifjZj"$jbjõ!jdjjf}r-(j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpM¦jqhjr]r-j{Xë#define IPU_MEM_TEXT 0x0 #define IPU_MEM_DATA 0x80000000 #define IPU_MEM_IOBUFS 0x90000000 #define IPU_MEM_IPC_DATA 0x9F000000 #define IPU_MEM_IPC_VRING 0x60000000 #define IPU_MEM_RPMSG_VRING0 0x60000000 #define IPU_MEM_RPMSG_VRING1 0x60004000 #define IPU_MEM_VRING_BUFS0 0x60040000 #define IPU_MEM_VRING_BUFS1 0x60080000 #define IPU_MEM_IPC_VRING_SIZE SZ_1M #define IPU_MEM_IPC_DATA_SIZE SZ_1M #if defined(VAYU_IPU_1) #define IPU_MEM_TEXT_SIZE (SZ_1M) #elif defined(VAYU_IPU_2) #define IPU_MEM_TEXT_SIZE (SZ_1M * 6) #endif #if defined(VAYU_IPU_1) #define IPU_MEM_DATA_SIZE (SZ_1M * 5) #elif defined(VAYU_IPU_2) #define IPU_MEM_DATA_SIZE (SZ_1M * 48) #endifr-…�r-}r-(jYUjZj-ubaubjZ)�r-}r-(jYUjZj"$jbjõ!jdj]jf}r-(jh]ji]jj]jk]jn]ujpMÃjqhjr]r-j`)�r-}r-(jYUjcKjZj-jbjõ!jdjpjf}r-(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r-}r -(jYX r!-jZj"$jbjõ!jdj¥jf}r"-(jh]ji]jj]jk]jn]ujpMÅjqhjr]r#-j{X r$-…�r%-}r&-(jYj!-jZj-ubaubj)�r'-}r(-(jYX{ TYPE_CARVEOUT, IPU_MEM_TEXT, 0, IPU_MEM_TEXT_SIZE, 0, 0, "IPU_MEM_TEXT", }, { TYPE_CARVEOUT, IPU_MEM_DATA, 0, IPU_MEM_DATA_SIZE, 0, 0, "IPU_MEM_DATA", }, { TYPE_CARVEOUT, IPU_MEM_IPC_DATA, 0, IPU_MEM_IPC_DATA_SIZE, 0, 0, "IPU_MEM_IPC_DATA", },jZj"$jbjõ!jdjjf}r)-(j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpMÇjqhjr]r*-j{X{ TYPE_CARVEOUT, IPU_MEM_TEXT, 0, IPU_MEM_TEXT_SIZE, 0, 0, "IPU_MEM_TEXT", }, { TYPE_CARVEOUT, IPU_MEM_DATA, 0, IPU_MEM_DATA_SIZE, 0, 0, "IPU_MEM_DATA", }, { TYPE_CARVEOUT, IPU_MEM_IPC_DATA, 0, IPU_MEM_IPC_DATA_SIZE, 0, 0, "IPU_MEM_IPC_DATA", },r+-…�r,-}r--(jYUjZj'-ubaubjZ)�r.-}r/-(jYUjZj"$jbjõ!jdj]jf}r0-(jh]ji]jj]jk]jn]ujpMÚjqhjr]r1-j`)�r2-}r3-(jYUjcKjZj.-jbjõ!jdjpjf}r4-(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r5-}r6-(jYXÃThe 3 entries above from the resource table all come from the associated IPU CMA pool (i.e. as dictated by the TYPE_CARVEOUT). The second parameter represents the virtual address (i.e. input address to the IOMMU). **These addresses must be consistent with both the AMMU mapping as well as the linker command file.** The ex02_messageq example from ipc defines these memory sections in the file examples/DRA7XX_linux_elf/ex02_messageq/shared/config.bld.jZj"$jbjõ!jdj¥jf}r7-(jh]ji]jj]jk]jn]ujpMÜjqhjr]r8-(j{XÖThe 3 entries above from the resource table all come from the associated IPU CMA pool (i.e. as dictated by the TYPE_CARVEOUT). The second parameter represents the virtual address (i.e. input address to the IOMMU). r9-…�r:-}r;-(jYXÖThe 3 entries above from the resource table all come from the associated IPU CMA pool (i.e. as dictated by the TYPE_CARVEOUT). The second parameter represents the virtual address (i.e. input address to the IOMMU). jZj5-ubjü)�r<-}r=-(jYXe**These addresses must be consistent with both the AMMU mapping as well as the linker command file.**jf}r>-(jh]ji]jj]jk]jn]ujZj5-jr]r?-j{XaThese addresses must be consistent with both the AMMU mapping as well as the linker command file.r@-…�rA-}rB-(jYUjZj<-ubajdjubj{Xˆ The ex02_messageq example from ipc defines these memory sections in the file examples/DRA7XX_linux_elf/ex02_messageq/shared/config.bld.rC-…�rD-}rE-(jYXˆ The ex02_messageq example from ipc defines these memory sections in the file examples/DRA7XX_linux_elf/ex02_messageq/shared/config.bld.jZj5-ubeubj¡)�rF-}rG-(jYXCYou can dump the IPU IOMMU page tables with the following commands:rH-jZj"$jbjõ!jdj¥jf}rI-(jh]ji]jj]jk]jn]ujpMäjqhjr]rJ-j{XCYou can dump the IPU IOMMU page tables with the following commands:rK-…�rL-}rM-(jYjH-jZjF-ubaubjd$)�rN-}rO-(jYUjZj"$jbjõ!jdjg$jf}rP-(jh]ji]jj]jk]jn]ujpNjqhjr]rQ-jj$)�rR-}rS-(jYUjf}rT-(jk]jj]jh]ji]jn]UcolsKujZjN-jr]rU-(jo$)�rV-}rW-(jYUjf}rX-(jk]jj]jh]ji]jn]UcolwidthKujZjR-jr]jdjs$ubjo$)�rY-}rZ-(jYUjf}r[-(jk]jj]jh]ji]jn]UcolwidthK9ujZjR-jr]jdjs$ubjz$)�r\-}r]-(jYUjf}r^-(jh]ji]jj]jk]jn]ujZjR-jr]r_-j$)�r`-}ra-(jYUjf}rb-(jh]ji]jj]jk]jn]ujZj\-jr]rc-(j„$)�rd-}re-(jYUjf}rf-(jh]ji]jj]jk]jn]ujZj`-jr]rg-j¡)�rh-}ri-(jYXIPUrj-jZjd-jbjõ!jdj¥jf}rk-(jh]ji]jj]jk]jn]ujpMçjr]rl-j{XIPUrm-…�rn-}ro-(jYjj-jZjh-ubaubajdj‘$ubj„$)�rp-}rq-(jYUjf}rr-(jh]ji]jj]jk]jn]ujZj`-jr]rs-j¡)�rt-}ru-(jYXCommandrv-jZjp-jbjõ!jdj¥jf}rw-(jh]ji]jj]jk]jn]ujpMçjr]rx-j{XCommandry-…�rz-}r{-(jYjv-jZjt-ubaubajdj‘$ubejdjª$ubajdj«$ubj¬$)�r|-}r}-(jYUjf}r~-(jh]ji]jj]jk]jn]ujZjR-jr]r-(j$)�r€-}r�-(jYUjf}r‚-(jh]ji]jj]jk]jn]ujZj|-jr]rƒ-(j„$)�r„-}r…-(jYUjf}r†-(jh]ji]jj]jk]jn]ujZj€-jr]r‡-j¡)�rˆ-}r‰-(jYXIPU1rŠ-jZj„-jbjõ!jdj¥jf}r‹-(jh]ji]jj]jk]jn]ujpMéjr]rŒ-j{XIPU1r�-…�rŽ-}r�-(jYjŠ-jZjˆ-ubaubajdj‘$ubj„$)�r�-}r‘-(jYUjf}r’-(jh]ji]jj]jk]jn]ujZj€-jr]r“-j¡)�r”-}r•-(jYX7cat /sys/kernel/debug/omap_iommu/58882000.mmu/pagetabler–-jZj�-jbjõ!jdj¥jf}r—-(jh]ji]jj]jk]jn]ujpMéjr]r˜-j{X7cat /sys/kernel/debug/omap_iommu/58882000.mmu/pagetabler™-…�rš-}r›-(jYj–-jZj”-ubaubajdj‘$ubejdjª$ubj$)�rœ-}r�-(jYUjf}rž-(jh]ji]jj]jk]jn]ujZj|-jr]rŸ-(j„$)�r -}r¡-(jYUjf}r¢-(jh]ji]jj]jk]jn]ujZjœ-jr]r£-j¡)�r¤-}r¥-(jYXIPU2r¦-jZj -jbjõ!jdj¥jf}r§-(jh]ji]jj]jk]jn]ujpMëjr]r¨-j{XIPU2r©-…�rª-}r«-(jYj¦-jZj¤-ubaubajdj‘$ubj„$)�r¬-}r­-(jYUjf}r®-(jh]ji]jj]jk]jn]ujZjœ-jr]r¯-j¡)�r°-}r±-(jYX7cat /sys/kernel/debug/omap_iommu/55082000.mmu/pagetabler²-jZj¬-jbjõ!jdj¥jf}r³-(jh]ji]jj]jk]jn]ujpMëjr]r´-j{X7cat /sys/kernel/debug/omap_iommu/55082000.mmu/pagetablerµ-…�r¶-}r·-(jYj²-jZj°-ubaubajdj‘$ubejdjª$ubejdjy%ubejdjz%ubaubj¡)�r¸-}r¹-(jYX±Please see the `corresponding DSP documentation `__ for more details on interpreting the output.jZj"$jbjõ!jdj¥jf}rº-(jh]ji]jj]jk]jn]ujpMîjqhjr]r»-(j{XPlease see the r¼-…�r½-}r¾-(jYXPlease see the jZj¸-ubjÜ)�r¿-}rÀ-(jYXu`corresponding DSP documentation `__jf}rÁ-(UnameXcorresponding DSP documentationjXO/index.php/Linux_IPC_on_AM57xx#Inspecting_the_DSP_IOMMU_Page_Tables_at_Run-Timejk]jj]jh]ji]jn]ujZj¸-jr]rÂ-j{Xcorresponding DSP documentationrÃ-…�rÄ-}rÅ-(jYUjZj¿-ubajdjàubj{X- for more details on interpreting the output.rÆ-…�rÇ-}rÈ-(jYX- for more details on interpreting the output.jZj¸-ubeubjZ)�rÉ-}rÊ-(jYUjZj"$jbjõ!jdj]jf}rË-(jh]ji]jj]jk]jn]ujpMòjqhjr]rÌ-j`)�rÍ-}rÎ-(jYUjcKjZjÉ-jbjõ!jdjpjf}rÏ-(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�rÐ-}rÑ-(jYX#Cortex M4 IPU Access to PeripheralsrÒ-jZj"$jbjõ!jdjíjf}rÓ-(jk]rÔ-U#cortex-m4-ipu-access-to-peripheralsrÕ-ajj]jh]ji]jn]rÖ-h•aujpNjqhjr]r×-j{X#Cortex M4 IPU Access to PeripheralsrØ-…�rÙ-}rÚ-(jYjÒ-jZjÐ-ubaubj¡)�rÛ-}rÜ-(jYX:The default resource table creates the following mappings:rÝ-jZj"$jbjõ!jdj¥jf}rÞ-(jh]ji]jj]jk]jn]ujpM÷jqhjr]rß-j{X:The default resource table creates the following mappings:rà-…�rá-}râ-(jYjÝ-jZjÛ-ubaubjd$)�rã-}rä-(jYUjZj"$jbjõ!jdjg$jf}rå-(jh]ji]jj]jk]jn]ujpNjqhjr]ræ-jj$)�rç-}rè-(jYUjf}ré-(jk]jj]jh]ji]jn]UcolsKujZjã-jr]rê-(jo$)�rë-}rì-(jYUjf}rí-(jk]jj]jh]ji]jn]UcolwidthK ujZjç-jr]jdjs$ubjo$)�rî-}rï-(jYUjf}rð-(jk]jj]jh]ji]jn]UcolwidthK ujZjç-jr]jdjs$ubjo$)�rñ-}rò-(jYUjf}ró-(jk]jj]jh]ji]jn]UcolwidthK ujZjç-jr]jdjs$ubjo$)�rô-}rõ-(jYUjf}rö-(jk]jj]jh]ji]jn]UcolwidthK ujZjç-jr]jdjs$ubjo$)�r÷-}rø-(jYUjf}rù-(jk]jj]jh]ji]jn]UcolwidthK ujZjç-jr]jdjs$ubjz$)�rú-}rû-(jYUjf}rü-(jh]ji]jj]jk]jn]ujZjç-jr]rý-j$)�rþ-}rÿ-(jYUjf}r.(jh]ji]jj]jk]jn]ujZjú-jr]r.(j„$)�r.}r.(jYUjf}r.(jh]ji]jj]jk]jn]ujZjþ-jr]r.j¡)�r.}r.(jYX!Virtual Address used by Cortex M4r.jZj.jbjõ!jdj¥jf}r .(jh]ji]jj]jk]jn]ujpMújr]r .j{X!Virtual Address used by Cortex M4r .…�r .}r .(jYj.jZj.ubaubajdj‘$ubj„$)�r.}r.(jYUjf}r.(jh]ji]jj]jk]jn]ujZjþ-jr]r.j¡)�r.}r.(jYX!Address at output of Unicache MMUr.jZj.jbjõ!jdj¥jf}r.(jh]ji]jj]jk]jn]ujpMújr]r.j{X!Address at output of Unicache MMUr.…�r.}r.(jYj.jZj.ubaubajdj‘$ubj„$)�r.}r.(jYUjf}r.(jh]ji]jj]jk]jn]ujZjþ-jr]r.j¡)�r.}r.(jYXAddress at output of IOMMUr .jZj.jbjõ!jdj¥jf}r!.(jh]ji]jj]jk]jn]ujpMújr]r".j{XAddress at output of IOMMUr#.…�r$.}r%.(jYj .jZj.ubaubajdj‘$ubj„$)�r&.}r'.(jYUjf}r(.(jh]ji]jj]jk]jn]ujZjþ-jr]r).j¡)�r*.}r+.(jYXSizer,.jZj&.jbjõ!jdj¥jf}r-.(jh]ji]jj]jk]jn]ujpMújr]r..j{XSizer/.…�r0.}r1.(jYj,.jZj*.ubaubajdj‘$ubj„$)�r2.}r3.(jYUjf}r4.(jh]ji]jj]jk]jn]ujZjþ-jr]r5.j¡)�r6.}r7.(jYXCommentr8.jZj2.jbjõ!jdj¥jf}r9.(jh]ji]jj]jk]jn]ujpMújr]r:.j{XCommentr;.…�r<.}r=.(jYj8.jZj6.ubaubajdj‘$ubejdjª$ubajdj«$ubj¬$)�r>.}r?.(jYUjf}r@.(jh]ji]jj]jk]jn]ujZjç-jr]rA.(j$)�rB.}rC.(jYUjf}rD.(jh]ji]jj]jk]jn]ujZj>.jr]rE.(j„$)�rF.}rG.(jYUjf}rH.(jh]ji]jj]jk]jn]ujZjB.jr]rI.j¡)�rJ.}rK.(jYX 0x6A000000rL.jZjF.jbjõ!jdj¥jf}rM.(jh]ji]jj]jk]jn]ujpMÿjr]rN.j{X 0x6A000000rO.…�rP.}rQ.(jYjL.jZjJ.ubaubajdj‘$ubj„$)�rR.}rS.(jYUjf}rT.(jh]ji]jj]jk]jn]ujZjB.jr]rU.j¡)�rV.}rW.(jYX 0x6A000000rX.jZjR.jbjõ!jdj¥jf}rY.(jh]ji]jj]jk]jn]ujpMÿjr]rZ.j{X 0x6A000000r[.…�r\.}r].(jYjX.jZjV.ubaubajdj‘$ubj„$)�r^.}r_.(jYUjf}r`.(jh]ji]jj]jk]jn]ujZjB.jr]ra.j¡)�rb.}rc.(jYX 0x4A000000rd.jZj^.jbjõ!jdj¥jf}re.(jh]ji]jj]jk]jn]ujpMÿjr]rf.j{X 0x4A000000rg.…�rh.}ri.(jYjd.jZjb.ubaubajdj‘$ubj„$)�rj.}rk.(jYUjf}rl.(jh]ji]jj]jk]jn]ujZjB.jr]rm.j¡)�rn.}ro.(jYX16 MBrp.jZjj.jbjõ!jdj¥jf}rq.(jh]ji]jj]jk]jn]ujpMÿjr]rr.j{X16 MBrs.…�rt.}ru.(jYjp.jZjn.ubaubajdj‘$ubj„$)�rv.}rw.(jYUjf}rx.(jh]ji]jj]jk]jn]ujZjB.jr]ry.j¡)�rz.}r{.(jYXL4CFG + L4WKUPr|.jZjv.jbjõ!jdj¥jf}r}.(jh]ji]jj]jk]jn]ujpMÿjr]r~.j{XL4CFG + L4WKUPr.…�r€.}r�.(jYj|.jZjz.ubaubajdj‘$ubejdjª$ubj$)�r‚.}rƒ.(jYUjf}r„.(jh]ji]jj]jk]jn]ujZj>.jr]r….(j„$)�r†.}r‡.(jYUjf}rˆ.(jh]ji]jj]jk]jn]ujZj‚.jr]r‰.j¡)�rŠ.}r‹.(jYX 0x68000000rŒ.jZj†.jbjõ!jdj¥jf}r�.(jh]ji]jj]jk]jn]ujpMjr]rŽ.j{X 0x68000000r�.…�r�.}r‘.(jYjŒ.jZjŠ.ubaubajdj‘$ubj„$)�r’.}r“.(jYUjf}r”.(jh]ji]jj]jk]jn]ujZj‚.jr]r•.j¡)�r–.}r—.(jYX 0x68000000r˜.jZj’.jbjõ!jdj¥jf}r™.(jh]ji]jj]jk]jn]ujpMjr]rš.j{X 0x68000000r›.…�rœ.}r�.(jYj˜.jZj–.ubaubajdj‘$ubj„$)�rž.}rŸ.(jYUjf}r .(jh]ji]jj]jk]jn]ujZj‚.jr]r¡.j¡)�r¢.}r£.(jYX 0x48000000r¤.jZjž.jbjõ!jdj¥jf}r¥.(jh]ji]jj]jk]jn]ujpMjr]r¦.j{X 0x48000000r§.…�r¨.}r©.(jYj¤.jZj¢.ubaubajdj‘$ubj„$)�rª.}r«.(jYUjf}r¬.(jh]ji]jj]jk]jn]ujZj‚.jr]r­.j¡)�r®.}r¯.(jYX2 MBr°.jZjª.jbjõ!jdj¥jf}r±.(jh]ji]jj]jk]jn]ujpMjr]r².j{X2 MBr³.…�r´.}rµ.(jYj°.jZj®.ubaubajdj‘$ubj„$)�r¶.}r·.(jYUjf}r¸.(jh]ji]jj]jk]jn]ujZj‚.jr]r¹.j¡)�rº.}r».(jYXL4PER1r¼.jZj¶.jbjõ!jdj¥jf}r½.(jh]ji]jj]jk]jn]ujpMjr]r¾.j{XL4PER1r¿.…�rÀ.}rÁ.(jYj¼.jZjº.ubaubajdj‘$ubejdjª$ubj$)�rÂ.}rÃ.(jYUjf}rÄ.(jh]ji]jj]jk]jn]ujZj>.jr]rÅ.(j„$)�rÆ.}rÇ.(jYUjf}rÈ.(jh]ji]jj]jk]jn]ujZjÂ.jr]rÉ.j¡)�rÊ.}rË.(jYX 0x68400000rÌ.jZjÆ.jbjõ!jdj¥jf}rÍ.(jh]ji]jj]jk]jn]ujpMjr]rÎ.j{X 0x68400000rÏ.…�rÐ.}rÑ.(jYjÌ.jZjÊ.ubaubajdj‘$ubj„$)�rÒ.}rÓ.(jYUjf}rÔ.(jh]ji]jj]jk]jn]ujZjÂ.jr]rÕ.j¡)�rÖ.}r×.(jYX 0x68400000rØ.jZjÒ.jbjõ!jdj¥jf}rÙ.(jh]ji]jj]jk]jn]ujpMjr]rÚ.j{X 0x68400000rÛ.…�rÜ.}rÝ.(jYjØ.jZjÖ.ubaubajdj‘$ubj„$)�rÞ.}rß.(jYUjf}rà.(jh]ji]jj]jk]jn]ujZjÂ.jr]rá.j¡)�râ.}rã.(jYX 0x48400000rä.jZjÞ.jbjõ!jdj¥jf}rå.(jh]ji]jj]jk]jn]ujpMjr]ræ.j{X 0x48400000rç.…�rè.}ré.(jYjä.jZjâ.ubaubajdj‘$ubj„$)�rê.}rë.(jYUjf}rì.(jh]ji]jj]jk]jn]ujZjÂ.jr]rí.j¡)�rî.}rï.(jYX4 MBrð.jZjê.jbjõ!jdj¥jf}rñ.(jh]ji]jj]jk]jn]ujpMjr]rò.j{X4 MBró.…�rô.}rõ.(jYjð.jZjî.ubaubajdj‘$ubj„$)�rö.}r÷.(jYUjf}rø.(jh]ji]jj]jk]jn]ujZjÂ.jr]rù.j¡)�rú.}rû.(jYXL4PER2rü.jZjö.jbjõ!jdj¥jf}rý.(jh]ji]jj]jk]jn]ujpMjr]rþ.j{XL4PER2rÿ.…�r/}r/(jYjü.jZjú.ubaubajdj‘$ubejdjª$ubj$)�r/}r/(jYUjf}r/(jh]ji]jj]jk]jn]ujZj>.jr]r/(j„$)�r/}r/(jYUjf}r/(jh]ji]jj]jk]jn]ujZj/jr]r /j¡)�r /}r /(jYX 0x68800000r /jZj/jbjõ!jdj¥jf}r /(jh]ji]jj]jk]jn]ujpMjr]r/j{X 0x68800000r/…�r/}r/(jYj /jZj /ubaubajdj‘$ubj„$)�r/}r/(jYUjf}r/(jh]ji]jj]jk]jn]ujZj/jr]r/j¡)�r/}r/(jYX 0x68800000r/jZj/jbjõ!jdj¥jf}r/(jh]ji]jj]jk]jn]ujpMjr]r/j{X 0x68800000r/…�r/}r/(jYj/jZj/ubaubajdj‘$ubj„$)�r/}r/(jYUjf}r /(jh]ji]jj]jk]jn]ujZj/jr]r!/j¡)�r"/}r#/(jYX 0x48800000r$/jZj/jbjõ!jdj¥jf}r%/(jh]ji]jj]jk]jn]ujpMjr]r&/j{X 0x48800000r'/…�r(/}r)/(jYj$/jZj"/ubaubajdj‘$ubj„$)�r*/}r+/(jYUjf}r,/(jh]ji]jj]jk]jn]ujZj/jr]r-/j¡)�r./}r//(jYX8 MBr0/jZj*/jbjõ!jdj¥jf}r1/(jh]ji]jj]jk]jn]ujpMjr]r2/j{X8 MBr3/…�r4/}r5/(jYj0/jZj./ubaubajdj‘$ubj„$)�r6/}r7/(jYUjf}r8/(jh]ji]jj]jk]jn]ujZj/jr]r9/j¡)�r:/}r;/(jYXL4PER3r/j{XL4PER3r?/…�r@/}rA/(jYj.jr]rE/(j„$)�rF/}rG/(jYUjf}rH/(jh]ji]jj]jk]jn]ujZjB/jr]rI/j¡)�rJ/}rK/(jYX 0x74000000rL/jZjF/jbjõ!jdj¥jf}rM/(jh]ji]jj]jk]jn]ujpMjr]rN/j{X 0x74000000rO/…�rP/}rQ/(jYjL/jZjJ/ubaubajdj‘$ubj„$)�rR/}rS/(jYUjf}rT/(jh]ji]jj]jk]jn]ujZjB/jr]rU/j¡)�rV/}rW/(jYX 0x74000000rX/jZjR/jbjõ!jdj¥jf}rY/(jh]ji]jj]jk]jn]ujpMjr]rZ/j{X 0x74000000r[/…�r\/}r]/(jYjX/jZjV/ubaubajdj‘$ubj„$)�r^/}r_/(jYUjf}r`/(jh]ji]jj]jk]jn]ujZjB/jr]ra/j¡)�rb/}rc/(jYX 0x54000000rd/jZj^/jbjõ!jdj¥jf}re/(jh]ji]jj]jk]jn]ujpMjr]rf/j{X 0x54000000rg/…�rh/}ri/(jYjd/jZjb/ubaubajdj‘$ubj„$)�rj/}rk/(jYUjf}rl/(jh]ji]jj]jk]jn]ujZjB/jr]rm/j¡)�rn/}ro/(jYX16 MBrp/jZjj/jbjõ!jdj¥jf}rq/(jh]ji]jj]jk]jn]ujpMjr]rr/j{X16 MBrs/…�rt/}ru/(jYjp/jZjn/ubaubajdj‘$ubj„$)�rv/}rw/(jYUjf}rx/(jh]ji]jj]jk]jn]ujZjB/jr]ry/j¡)�rz/}r{/(jYXL3_INSTR + CT_TBRr|/jZjv/jbjõ!jdj¥jf}r}/(jh]ji]jj]jk]jn]ujpMjr]r~/j{XL3_INSTR + CT_TBRr/…�r€/}r�/(jYj|/jZjz/ubaubajdj‘$ubejdjª$ubejdjy%ubejdjz%ubaubj¡)�r‚/}rƒ/(jYX!Example: Accessing UART5 from IPUr„/jZj"$jbjõ!jdj¥jf}r…/(jh]ji]jj]jk]jn]ujpM jqhjr]r†/j{X!Example: Accessing UART5 from IPUr‡/…�rˆ/}r‰/(jYj„/jZj‚/ubaubj%)�rŠ/}r‹/(jYUjZj"$jbjõ!jdj(jf}rŒ/(j*U.jk]jj]jh]j+Uji]jn]j,j-ujpMjqhjr]r�/(j/)�rŽ/}r�/(jYXŠFor this example, it's assumed the pin-muxing was already setup in the bootloader. If that's not the case, you would need to do that here.jZjŠ/jbjõ!jdj2jf}r�/(jh]ji]jj]jk]jn]ujpNjqhjr]r‘/j¡)�r’/}r“/(jYXŠFor this example, it's assumed the pin-muxing was already setup in the bootloader. If that's not the case, you would need to do that here.r”/jZjŽ/jbjõ!jdj¥jf}r•/(jh]ji]jj]jk]jn]ujpMjr]r–/j{XŠFor this example, it's assumed the pin-muxing was already setup in the bootloader. If that's not the case, you would need to do that here.r—/…�r˜/}r™/(jYj”/jZj’/ubaubaubj/)�rš/}r›/(jYX The UART5 module needs to be enabled via the CM_L4PER_UART5_CLKCTRL register. This is located at physical address 0x4A009870. So from the M4 we would program this register at virtual address 0x6A009870. Writing a value of 2 to this register will enable the peripheral.jZjŠ/jbjõ!jdj2jf}rœ/(jh]ji]jj]jk]jn]ujpNjqhjr]r�/j¡)�rž/}rŸ/(jYX The UART5 module needs to be enabled via the CM_L4PER_UART5_CLKCTRL register. This is located at physical address 0x4A009870. So from the M4 we would program this register at virtual address 0x6A009870. Writing a value of 2 to this register will enable the peripheral.r /jZjš/jbjõ!jdj¥jf}r¡/(jh]ji]jj]jk]jn]ujpMjr]r¢/j{X The UART5 module needs to be enabled via the CM_L4PER_UART5_CLKCTRL register. This is located at physical address 0x4A009870. So from the M4 we would program this register at virtual address 0x6A009870. Writing a value of 2 to this register will enable the peripheral.r£/…�r¤/}r¥/(jYj /jZjž/ubaubaubj/)�r¦/}r§/(jYXÕAfter completing the previous step, the UART5 registers will become accessible. Normally UART5 is accessible at physical base address 0x48066000. This would correspondingly be accessed from the IPU at 0x68066000. jZjŠ/jbjõ!jdj2jf}r¨/(jh]ji]jj]jk]jn]ujpNjqhjr]r©/j¡)�rª/}r«/(jYXÔAfter completing the previous step, the UART5 registers will become accessible. Normally UART5 is accessible at physical base address 0x48066000. This would correspondingly be accessed from the IPU at 0x68066000.r¬/jZj¦/jbjõ!jdj¥jf}r­/(jh]ji]jj]jk]jn]ujpMjr]r®/j{XÔAfter completing the previous step, the UART5 registers will become accessible. Normally UART5 is accessible at physical base address 0x48066000. This would correspondingly be accessed from the IPU at 0x68066000.r¯/…�r°/}r±/(jYj¬/jZjª/ubaubaubeubeubj[)�r²/}r³/(jYUjZjã!jbjõ!jdjejf}r´/(jh]ji]jj]jk]rµ/Upower-managementr¶/ajn]r·/hAaujpMjqhjr]r¸/(jt)�r¹/}rº/(jYXPower Managementr»/jZj²/jbjõ!jdjxjf}r¼/(jh]ji]jj]jk]jn]ujpMjqhjr]r½/j{XPower Managementr¾/…�r¿/}rÀ/(jYj»/jZj¹/ubaubj¡)�rÁ/}rÂ/(jYX@The IPUs and DSPs auto-idle by default. This can prevent you from being able to connect to the device using JTAG or from accessing local memory via devmem2. There are some options sprinkled throughout sysfs that are needed in order to force these subsystems on, as is sometimes needed for development and debug purposes.rÃ/jZj²/jbjõ!jdj¥jf}rÄ/(jh]ji]jj]jk]jn]ujpMjqhjr]rÅ/j{X@The IPUs and DSPs auto-idle by default. This can prevent you from being able to connect to the device using JTAG or from accessing local memory via devmem2. There are some options sprinkled throughout sysfs that are needed in order to force these subsystems on, as is sometimes needed for development and debug purposes.rÆ/…�rÇ/}rÈ/(jYjÃ/jZjÁ/ubaubj¡)�rÉ/}rÊ/(jYXzThere are some hard-coded device names that originate in the device tree (dra7.dtsi) that are needed for these operations:rË/jZj²/jbjõ!jdj¥jf}rÌ/(jh]ji]jj]jk]jn]ujpM#jqhjr]rÍ/j{XzThere are some hard-coded device names that originate in the device tree (dra7.dtsi) that are needed for these operations:rÎ/…�rÏ/}rÐ/(jYjË/jZjÉ/ubaubjd$)�rÑ/}rÒ/(jYUjZj²/jbjõ!jdjg$jf}rÓ/(jh]ji]jj]jk]jn]ujpNjqhjr]rÔ/jj$)�rÕ/}rÖ/(jYUjf}r×/(jk]jj]jh]ji]jn]UcolsKujZjÑ/jr]rØ/(jo$)�rÙ/}rÚ/(jYUjf}rÛ/(jk]jj]jh]ji]jn]UcolwidthK ujZjÕ/jr]jdjs$ubjo$)�rÜ/}rÝ/(jYUjf}rÞ/(jk]jj]jh]ji]jn]UcolwidthKujZjÕ/jr]jdjs$ubjo$)�rß/}rà/(jYUjf}rá/(jk]jj]jh]ji]jn]UcolwidthKujZjÕ/jr]jdjs$ubjz$)�râ/}rã/(jYUjf}rä/(jh]ji]jj]jk]jn]ujZjÕ/jr]rå/j$)�ræ/}rç/(jYUjf}rè/(jh]ji]jj]jk]jn]ujZjâ/jr]ré/(j„$)�rê/}rë/(jYUjf}rì/(jh]ji]jj]jk]jn]ujZjæ/jr]rí/j¡)�rî/}rï/(jYX Remote Corerð/jZjê/jbjõ!jdj¥jf}rñ/(jh]ji]jj]jk]jn]ujpM'jr]rò/j{X Remote Coreró/…�rô/}rõ/(jYjð/jZjî/ubaubajdj‘$ubj„$)�rö/}r÷/(jYUjf}rø/(jh]ji]jj]jk]jn]ujZjæ/jr]rù/j¡)�rú/}rû/(jYXDefinition in dra7.dtsirü/jZjö/jbjõ!jdj¥jf}rý/(jh]ji]jj]jk]jn]ujpM'jr]rþ/j{XDefinition in dra7.dtsirÿ/…�r0}r0(jYjü/jZjú/ubaubajdj‘$ubj„$)�r0}r0(jYUjf}r0(jh]ji]jj]jk]jn]ujZjæ/jr]r0j¡)�r0}r0(jYXSystem FS Namer0jZj0jbjõ!jdj¥jf}r 0(jh]ji]jj]jk]jn]ujpM'jr]r 0j{XSystem FS Namer 0…�r 0}r 0(jYj0jZj0ubaubajdj‘$ubejdjª$ubajdj«$ubj¬$)�r0}r0(jYUjf}r0(jh]ji]jj]jk]jn]ujZjÕ/jr]r0(j$)�r0}r0(jYUjf}r0(jh]ji]jj]jk]jn]ujZj0jr]r0(j„$)�r0}r0(jYUjf}r0(jh]ji]jj]jk]jn]ujZj0jr]r0j¡)�r0}r0(jYXIPU1r0jZj0jbjõ!jdj¥jf}r0(jh]ji]jj]jk]jn]ujpM)jr]r0j{XIPU1r0…�r 0}r!0(jYj0jZj0ubaubajdj‘$ubj„$)�r"0}r#0(jYUjf}r$0(jh]ji]jj]jk]jn]ujZj0jr]r%0j¡)�r&0}r'0(jYX ipu@58820000r(0jZj"0jbjõ!jdj¥jf}r)0(jh]ji]jj]jk]jn]ujpM)jr]r*0jÜ)�r+0}r,0(jYj(0jf}r-0(UrefuriXmailto:ipu@58820000jk]jj]jh]ji]jn]ujZj&0jr]r.0j{X ipu@58820000r/0…�r00}r10(jYUjZj+0ubajdjàubaubajdj‘$ubj„$)�r20}r30(jYUjf}r40(jh]ji]jj]jk]jn]ujZj0jr]r50j¡)�r60}r70(jYX 58820000.ipur80jZj20jbjõ!jdj¥jf}r90(jh]ji]jj]jk]jn]ujpM)jr]r:0j{X 58820000.ipur;0…�r<0}r=0(jYj80jZj60ubaubajdj‘$ubejdjª$ubj$)�r>0}r?0(jYUjf}r@0(jh]ji]jj]jk]jn]ujZj0jr]rA0(j„$)�rB0}rC0(jYUjf}rD0(jh]ji]jj]jk]jn]ujZj>0jr]rE0j¡)�rF0}rG0(jYXIPU2rH0jZjB0jbjõ!jdj¥jf}rI0(jh]ji]jj]jk]jn]ujpM+jr]rJ0j{XIPU2rK0…�rL0}rM0(jYjH0jZjF0ubaubajdj‘$ubj„$)�rN0}rO0(jYUjf}rP0(jh]ji]jj]jk]jn]ujZj>0jr]rQ0j¡)�rR0}rS0(jYX ipu@55020000rT0jZjN0jbjõ!jdj¥jf}rU0(jh]ji]jj]jk]jn]ujpM+jr]rV0jÜ)�rW0}rX0(jYjT0jf}rY0(UrefuriXmailto:ipu@55020000jk]jj]jh]ji]jn]ujZjR0jr]rZ0j{X ipu@55020000r[0…�r\0}r]0(jYUjZjW0ubajdjàubaubajdj‘$ubj„$)�r^0}r_0(jYUjf}r`0(jh]ji]jj]jk]jn]ujZj>0jr]ra0j¡)�rb0}rc0(jYX 55020000.ipurd0jZj^0jbjõ!jdj¥jf}re0(jh]ji]jj]jk]jn]ujpM+jr]rf0j{X 55020000.ipurg0…�rh0}ri0(jYjd0jZjb0ubaubajdj‘$ubejdjª$ubj$)�rj0}rk0(jYUjf}rl0(jh]ji]jj]jk]jn]ujZj0jr]rm0(j„$)�rn0}ro0(jYUjf}rp0(jh]ji]jj]jk]jn]ujZjj0jr]rq0j¡)�rr0}rs0(jYXDSP1rt0jZjn0jbjõ!jdj¥jf}ru0(jh]ji]jj]jk]jn]ujpM-jr]rv0j{XDSP1rw0…�rx0}ry0(jYjt0jZjr0ubaubajdj‘$ubj„$)�rz0}r{0(jYUjf}r|0(jh]ji]jj]jk]jn]ujZjj0jr]r}0j¡)�r~0}r0(jYX dsp@40800000r€0jZjz0jbjõ!jdj¥jf}r�0(jh]ji]jj]jk]jn]ujpM-jr]r‚0jÜ)�rƒ0}r„0(jYj€0jf}r…0(UrefuriXmailto:dsp@40800000jk]jj]jh]ji]jn]ujZj~0jr]r†0j{X dsp@40800000r‡0…�rˆ0}r‰0(jYUjZjƒ0ubajdjàubaubajdj‘$ubj„$)�rŠ0}r‹0(jYUjf}rŒ0(jh]ji]jj]jk]jn]ujZjj0jr]r�0j¡)�rŽ0}r�0(jYX 40800000.dspr�0jZjŠ0jbjõ!jdj¥jf}r‘0(jh]ji]jj]jk]jn]ujpM-jr]r’0j{X 40800000.dspr“0…�r”0}r•0(jYj�0jZjŽ0ubaubajdj‘$ubejdjª$ubj$)�r–0}r—0(jYUjf}r˜0(jh]ji]jj]jk]jn]ujZj0jr]r™0(j„$)�rš0}r›0(jYUjf}rœ0(jh]ji]jj]jk]jn]ujZj–0jr]r�0j¡)�rž0}rŸ0(jYXDSP2r 0jZjš0jbjõ!jdj¥jf}r¡0(jh]ji]jj]jk]jn]ujpM/jr]r¢0j{XDSP2r£0…�r¤0}r¥0(jYj 0jZjž0ubaubajdj‘$ubj„$)�r¦0}r§0(jYUjf}r¨0(jh]ji]jj]jk]jn]ujZj–0jr]r©0j¡)�rª0}r«0(jYX dsp@41000000r¬0jZj¦0jbjõ!jdj¥jf}r­0(jh]ji]jj]jk]jn]ujpM/jr]r®0jÜ)�r¯0}r°0(jYj¬0jf}r±0(UrefuriXmailto:dsp@41000000jk]jj]jh]ji]jn]ujZjª0jr]r²0j{X dsp@41000000r³0…�r´0}rµ0(jYUjZj¯0ubajdjàubaubajdj‘$ubj„$)�r¶0}r·0(jYUjf}r¸0(jh]ji]jj]jk]jn]ujZj–0jr]r¹0j¡)�rº0}r»0(jYX 41000000.dspr¼0jZj¶0jbjõ!jdj¥jf}r½0(jh]ji]jj]jk]jn]ujpM/jr]r¾0j{X 41000000.dspr¿0…�rÀ0}rÁ0(jYj¼0jZjº0ubaubajdj‘$ubejdjª$ubj$)�rÂ0}rÃ0(jYUjf}rÄ0(jh]ji]jj]jk]jn]ujZj0jr]rÅ0(j„$)�rÆ0}rÇ0(jYUjf}rÈ0(jh]ji]jj]jk]jn]ujZjÂ0jr]rÉ0j¡)�rÊ0}rË0(jYX ICSS1-PRU0rÌ0jZjÆ0jbjõ!jdj¥jf}rÍ0(jh]ji]jj]jk]jn]ujpM1jr]rÎ0j{X ICSS1-PRU0rÏ0…�rÐ0}rÑ0(jYjÌ0jZjÊ0ubaubajdj‘$ubj„$)�rÒ0}rÓ0(jYUjf}rÔ0(jh]ji]jj]jk]jn]ujZjÂ0jr]rÕ0j¡)�rÖ0}r×0(jYX pru@4b234000rØ0jZjÒ0jbjõ!jdj¥jf}rÙ0(jh]ji]jj]jk]jn]ujpM1jr]rÚ0jÜ)�rÛ0}rÜ0(jYjØ0jf}rÝ0(UrefuriXmailto:pru@4b234000jk]jj]jh]ji]jn]ujZjÖ0jr]rÞ0j{X pru@4b234000rß0…�rà0}rá0(jYUjZjÛ0ubajdjàubaubajdj‘$ubj„$)�râ0}rã0(jYUjf}rä0(jh]ji]jj]jk]jn]ujZjÂ0jr]rå0j¡)�ræ0}rç0(jYX 4b234000.pru0rè0jZjâ0jbjõ!jdj¥jf}ré0(jh]ji]jj]jk]jn]ujpM1jr]rê0j{X 4b234000.pru0rë0…�rì0}rí0(jYjè0jZjæ0ubaubajdj‘$ubejdjª$ubj$)�rî0}rï0(jYUjf}rð0(jh]ji]jj]jk]jn]ujZj0jr]rñ0(j„$)�rò0}ró0(jYUjf}rô0(jh]ji]jj]jk]jn]ujZjî0jr]rõ0j¡)�rö0}r÷0(jYX ICSS1-PRU1rø0jZjò0jbjõ!jdj¥jf}rù0(jh]ji]jj]jk]jn]ujpM3jr]rú0j{X ICSS1-PRU1rû0…�rü0}rý0(jYjø0jZjö0ubaubajdj‘$ubj„$)�rþ0}rÿ0(jYUjf}r1(jh]ji]jj]jk]jn]ujZjî0jr]r1j¡)�r1}r1(jYX pru@4b238000r1jZjþ0jbjõ!jdj¥jf}r1(jh]ji]jj]jk]jn]ujpM3jr]r1jÜ)�r1}r1(jYj1jf}r 1(UrefuriXmailto:pru@4b238000jk]jj]jh]ji]jn]ujZj1jr]r 1j{X pru@4b238000r 1…�r 1}r 1(jYUjZj1ubajdjàubaubajdj‘$ubj„$)�r1}r1(jYUjf}r1(jh]ji]jj]jk]jn]ujZjî0jr]r1j¡)�r1}r1(jYX 4b238000.pru1r1jZj1jbjõ!jdj¥jf}r1(jh]ji]jj]jk]jn]ujpM3jr]r1j{X 4b238000.pru1r1…�r1}r1(jYj1jZj1ubaubajdj‘$ubejdjª$ubj$)�r1}r1(jYUjf}r1(jh]ji]jj]jk]jn]ujZj0jr]r1(j„$)�r1}r1(jYUjf}r 1(jh]ji]jj]jk]jn]ujZj1jr]r!1j¡)�r"1}r#1(jYX ICSS2-PRU0r$1jZj1jbjõ!jdj¥jf}r%1(jh]ji]jj]jk]jn]ujpM5jr]r&1j{X ICSS2-PRU0r'1…�r(1}r)1(jYj$1jZj"1ubaubajdj‘$ubj„$)�r*1}r+1(jYUjf}r,1(jh]ji]jj]jk]jn]ujZj1jr]r-1j¡)�r.1}r/1(jYX pru@4b2b4000r01jZj*1jbjõ!jdj¥jf}r11(jh]ji]jj]jk]jn]ujpM5jr]r21jÜ)�r31}r41(jYj01jf}r51(UrefuriXmailto:pru@4b2b4000jk]jj]jh]ji]jn]ujZj.1jr]r61j{X pru@4b2b4000r71…�r81}r91(jYUjZj31ubajdjàubaubajdj‘$ubj„$)�r:1}r;1(jYUjf}r<1(jh]ji]jj]jk]jn]ujZj1jr]r=1j¡)�r>1}r?1(jYX 4b2b4000.pru0r@1jZj:1jbjõ!jdj¥jf}rA1(jh]ji]jj]jk]jn]ujpM5jr]rB1j{X 4b2b4000.pru0rC1…�rD1}rE1(jYj@1jZj>1ubaubajdj‘$ubejdjª$ubj$)�rF1}rG1(jYUjf}rH1(jh]ji]jj]jk]jn]ujZj0jr]rI1(j„$)�rJ1}rK1(jYUjf}rL1(jh]ji]jj]jk]jn]ujZjF1jr]rM1j¡)�rN1}rO1(jYX ICSS2-PRU1rP1jZjJ1jbjõ!jdj¥jf}rQ1(jh]ji]jj]jk]jn]ujpM7jr]rR1j{X ICSS2-PRU1rS1…�rT1}rU1(jYjP1jZjN1ubaubajdj‘$ubj„$)�rV1}rW1(jYUjf}rX1(jh]ji]jj]jk]jn]ujZjF1jr]rY1j¡)�rZ1}r[1(jYX pru@4b2b8000r\1jZjV1jbjõ!jdj¥jf}r]1(jh]ji]jj]jk]jn]ujpM7jr]r^1jÜ)�r_1}r`1(jYj\1jf}ra1(UrefuriXmailto:pru@4b2b8000jk]jj]jh]ji]jn]ujZjZ1jr]rb1j{X pru@4b2b8000rc1…�rd1}re1(jYUjZj_1ubajdjàubaubajdj‘$ubj„$)�rf1}rg1(jYUjf}rh1(jh]ji]jj]jk]jn]ujZjF1jr]ri1j¡)�rj1}rk1(jYX 4b2b8000.pru1rl1jZjf1jbjõ!jdj¥jf}rm1(jh]ji]jj]jk]jn]ujpM7jr]rn1j{X 4b2b8000.pru1ro1…�rp1}rq1(jYjl1jZjj1ubaubajdj‘$ubejdjª$ubejdjy%ubejdjz%ubaubj¡)�rr1}rs1(jYXdTo map these System FS names to the associated remoteproc entry, you can run the following commands:rt1jZj²/jbjõ!jdj¥jf}ru1(jh]ji]jj]jk]jn]ujpM:jqhjr]rv1j{XdTo map these System FS names to the associated remoteproc entry, you can run the following commands:rw1…�rx1}ry1(jYjt1jZjr1ubaubj)�rz1}r{1(jYX{root@am57xx-evm:~# ls -l /sys/kernel/debug/remoteproc/ root@am57xx-evm:~# cat /sys/kernel/debug/remoteproc/remoteproc*/namejZj²/jbjõ!jdjjf}r|1(jöj÷jk]jj]jh]ji]jn]ujpMÌjqhjr]r}1j{X{root@am57xx-evm:~# ls -l /sys/kernel/debug/remoteproc/ root@am57xx-evm:~# cat /sys/kernel/debug/remoteproc/remoteproc*/namer~1…�r1}r€1(jYUjZjz1ubaubj¡)�r�1}r‚1(jYXqThe results of the commands will be a one-to-one mapping. For example, 58820000.ipu corresponds with remoteproc0.rƒ1jZj²/jbjõ!jdj¥jf}r„1(jh]ji]jj]jk]jn]ujpMBjqhjr]r…1j{XqThe results of the commands will be a one-to-one mapping. For example, 58820000.ipu corresponds with remoteproc0.r†1…�r‡1}rˆ1(jYjƒ1jZj�1ubaubj¡)�r‰1}rŠ1(jYX7Similarly, to see the power state of each of the cores:r‹1jZj²/jbjõ!jdj¥jf}rŒ1(jh]ji]jj]jk]jn]ujpMEjqhjr]r�1j{X7Similarly, to see the power state of each of the cores:rŽ1…�r�1}r�1(jYj‹1jZj‰1ubaubj)�r‘1}r’1(jYX>root@am57xx-evm:~# cat /sys/class/remoteproc/remoteproc*/statejZj²/jbjõ!jdjjf}r“1(jöj÷jk]jj]jh]ji]jn]ujpMÖjqhjr]r”1j{X>root@am57xx-evm:~# cat /sys/class/remoteproc/remoteproc*/stater•1…�r–1}r—1(jYUjZj‘1ubaubj¡)�r˜1}r™1(jYXþThe state can be suspended, running, offline, etc. You can only attach JTAG if the state is "running". If it shows as "suspended" then you must force it to run. For example, let's say DSP0 is "suspended". You can run the following command to force it on:rš1jZj²/jbjõ!jdj¥jf}r›1(jh]ji]jj]jk]jn]ujpMKjqhjr]rœ1j{XþThe state can be suspended, running, offline, etc. You can only attach JTAG if the state is "running". If it shows as "suspended" then you must force it to run. For example, let's say DSP0 is "suspended". You can run the following command to force it on:r�1…�rž1}rŸ1(jYjš1jZj˜1ubaubj)�r 1}r¡1(jYXQroot@am57xx-evm:~# echo on > /sys/bus/platform/devices/40800000.dsp/power/controljZj²/jbjõ!jdjjf}r¢1(jöj÷jk]jj]jh]ji]jn]ujpMßjqhjr]r£1j{XQroot@am57xx-evm:~# echo on > /sys/bus/platform/devices/40800000.dsp/power/controlr¤1…�r¥1}r¦1(jYUjZj 1ubaubj¡)�r§1}r¨1(jYXxThe same is true for any of the cores, but replace 40800000.dsp with the associated System FS name from the chart above.r©1jZj²/jbjõ!jdj¥jf}rª1(jh]ji]jj]jk]jn]ujpMTjqhjr]r«1j{XxThe same is true for any of the cores, but replace 40800000.dsp with the associated System FS name from the chart above.r¬1…�r­1}r®1(jYj©1jZj§1ubaubeubj[)�r¯1}r°1(jYUjZjã!jbjõ!jdjejf}r±1(jh]ji]jj]jk]r²1U2(jYj:2jZj82jbjõ!jdj¥jf}r?2(jh]ji]jj]jk]jn]ujpM…jr]r@2j{X@Some edits were made to the LED blink example to allow it to runrA2…�rB2}rC2(jYj:2jZj=2ubaubaubj¡)�rD2}rE2(jYX™in a Linux environment, specifically, removed the GPIO interrupts and then added a Clock object to call the LED GPIO toggle function on a periodic bases.rF2jZj¯1jbjõ!jdj¥jf}rG2(jh]ji]jj]jk]jn]ujpM†jqhjr]rH2j{X™in a Linux environment, specifically, removed the GPIO interrupts and then added a Clock object to call the LED GPIO toggle function on a periodic bases.rI2…�rJ2}rK2(jYjF2jZjD2ubaubjè)�rL2}rM2(jYX1Make CCS project out of ex02_messageq IPC examplerN2jZj¯1jbjõ!jdjíjf}rO2(jk]rP2U1make-ccs-project-out-of-ex02-messageq-ipc-examplerQ2ajj]jh]ji]jn]rR2hbaujpNjqhjr]rS2j{X1Make CCS project out of ex02_messageq IPC examplerT2…�rU2}rV2(jYjN2jZjL2ubaubj¡)�rW2}rX2(jYXoTODO - fill this section in with instructions on how to make a CCS project out of the IPC example source files.rY2jZj¯1jbjõ!jdj¥jf}rZ2(jh]ji]jj]jk]jn]ujpM�jqhjr]r[2j{XoTODO - fill this section in with instructions on how to make a CCS project out of the IPC example source files.r\2…�r]2}r^2(jYjY2jZjW2ubaubjZ)�r_2}r`2(jYUjZj¯1jbjõ!jdj]jf}ra2(jh]ji]jj]jk]jn]ujpM�jqhjr]rb2j`)�rc2}rd2(jYUjcKjZj_2jbjõ!jdjpjf}re2(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�rf2}rg2(jYX Add IPC to the LED Blink Examplerh2jZj¯1jbjõ!jdjíjf}ri2(jk]rj2U add-ipc-to-the-led-blink-examplerk2ajj]jh]ji]jn]rl2jaujpNjqhjr]rm2j{X Add IPC to the LED Blink Examplern2…�ro2}rp2(jYjh2jZjf2ubaubj¡)�rq2}rr2(jYX¦The first step is to clone our out-of-box LED blink CCS project and rename it to denote it's using IPC. The easiest way to do this is using CCS. Here are the steps...rs2jZj¯1jbjõ!jdj¥jf}rt2(jh]ji]jj]jk]jn]ujpM•jqhjr]ru2j{X¦The first step is to clone our out-of-box LED blink CCS project and rename it to denote it's using IPC. The easiest way to do this is using CCS. Here are the steps...rv2…�rw2}rx2(jYjs2jZjq2ubaubjC)�ry2}rz2(jYUjZj¯1jbjõ!jdj`jf}r{2(jGX-jk]jj]jh]ji]jn]ujpM™jqhjr]r|2(j/)�r}2}r~2(jYXåIn the *Edit* perspective, go into your *Project Explorer* window and right click on your GPIO_LedBlink_evmAM572x+c66xExampleProject project and select *copy* from the pop-up menu. Maske sure the project is not is a closed state.jZjy2jbjõ!jdj2jf}r2(jh]ji]jj]jk]jn]ujpNjqhjr]r€2j¡)�r�2}r‚2(jYXåIn the *Edit* perspective, go into your *Project Explorer* window and right click on your GPIO_LedBlink_evmAM572x+c66xExampleProject project and select *copy* from the pop-up menu. Maske sure the project is not is a closed state.jZj}2jbjõ!jdj¥jf}rƒ2(jh]ji]jj]jk]jn]ujpM™jr]r„2(j{XIn the r…2…�r†2}r‡2(jYXIn the jZj�2ubjŸ')�rˆ2}r‰2(jYX*Edit*jf}rŠ2(jh]ji]jj]jk]jn]ujZj�2jr]r‹2j{XEditrŒ2…�r�2}rŽ2(jYUjZjˆ2ubajdj§'ubj{X perspective, go into your r�2…�r�2}r‘2(jYX perspective, go into your jZj�2ubjŸ')�r’2}r“2(jYX*Project Explorer*jf}r”2(jh]ji]jj]jk]jn]ujZj�2jr]r•2j{XProject Explorerr–2…�r—2}r˜2(jYUjZj’2ubajdj§'ubj{X^ window and right click on your GPIO_LedBlink_evmAM572x+c66xExampleProject project and select r™2…�rš2}r›2(jYX^ window and right click on your GPIO_LedBlink_evmAM572x+c66xExampleProject project and select jZj�2ubjŸ')�rœ2}r�2(jYX*copy*jf}rž2(jh]ji]jj]jk]jn]ujZj�2jr]rŸ2j{Xcopyr 2…�r¡2}r¢2(jYUjZjœ2ubajdj§'ubj{XG from the pop-up menu. Maske sure the project is not is a closed state.r£2…�r¤2}r¥2(jYXG from the pop-up menu. Maske sure the project is not is a closed state.jZj�2ubeubaubj/)�r¦2}r§2(jYXLRick click in and empty area of the project explorer window and select past.jZjy2jbjõ!jdj2jf}r¨2(jh]ji]jj]jk]jn]ujpNjqhjr]r©2j¡)�rª2}r«2(jYXLRick click in and empty area of the project explorer window and select past.r¬2jZj¦2jbjõ!jdj¥jf}r­2(jh]ji]jj]jk]jn]ujpM�jr]r®2j{XLRick click in and empty area of the project explorer window and select past.r¯2…�r°2}r±2(jYj¬2jZjª2ubaubaubj/)�r²2}r³2(jYXƒA dialog box pops up, modify the name to denote it's using IPC. A good name is GPIO_LedBlink_evmAM572x+c66xExampleProjec_with_ipc. jZjy2jbjõ!jdj2jf}r´2(jh]ji]jj]jk]jn]ujpNjqhjr]rµ2j¡)�r¶2}r·2(jYX‚A dialog box pops up, modify the name to denote it's using IPC. A good name is GPIO_LedBlink_evmAM572x+c66xExampleProjec_with_ipc.r¸2jZj²2jbjõ!jdj¥jf}r¹2(jh]ji]jj]jk]jn]ujpMŸjr]rº2j{X‚A dialog box pops up, modify the name to denote it's using IPC. A good name is GPIO_LedBlink_evmAM572x+c66xExampleProjec_with_ipc.r»2…�r¼2}r½2(jYj¸2jZj¶2ubaubaubeubjZ)�r¾2}r¿2(jYUjZj¯1jbjõ!jdj]jf}rÀ2(jh]ji]jj]jk]jn]ujpM¢jqhjr]rÁ2j`)�rÂ2}rÃ2(jYUjcKjZj¾2jbjõ!jdjpjf}rÄ2(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rÅ2}rÆ2(jYX­This is the project we'll be working with from here on. The next thing we want to do is select the proper RTSC platform and other components. To do this, follow these steps.rÇ2jZj¯1jbjõ!jdj¥jf}rÈ2(jh]ji]jj]jk]jn]ujpM¤jqhjr]rÉ2j{X­This is the project we'll be working with from here on. The next thing we want to do is select the proper RTSC platform and other components. To do this, follow these steps.rÊ2…�rË2}rÌ2(jYjÇ2jZjÅ2ubaubjC)�rÍ2}rÎ2(jYUjZj¯1jbjõ!jdj`jf}rÏ2(jGX-jk]jj]jh]ji]jn]ujpM¨jqhjr]rÐ2(j/)�rÑ2}rÒ2(jYXeRight click on the GPIO_LedBlink_evmAM572x+c66xExampleProjec_with_ipc project and select *Properties*jZjÍ2jbjõ!jdj2jf}rÓ2(jh]ji]jj]jk]jn]ujpNjqhjr]rÔ2j¡)�rÕ2}rÖ2(jYXeRight click on the GPIO_LedBlink_evmAM572x+c66xExampleProjec_with_ipc project and select *Properties*jZjÑ2jbjõ!jdj¥jf}r×2(jh]ji]jj]jk]jn]ujpM¨jr]rØ2(j{XYRight click on the GPIO_LedBlink_evmAM572x+c66xExampleProjec_with_ipc project and select rÙ2…�rÚ2}rÛ2(jYXYRight click on the GPIO_LedBlink_evmAM572x+c66xExampleProjec_with_ipc project and select jZjÕ2ubjŸ')�rÜ2}rÝ2(jYX *Properties*jf}rÞ2(jh]ji]jj]jk]jn]ujZjÕ2jr]rß2j{X Propertiesrà2…�rá2}râ2(jYUjZjÜ2ubajdj§'ubeubaubj/)�rã2}rä2(jYX.In the left hand pane, click on *CCS General*.rå2jZjÍ2jbjõ!jdj2jf}ræ2(jh]ji]jj]jk]jn]ujpNjqhjr]rç2j¡)�rè2}ré2(jYjå2jZjã2jbjõ!jdj¥jf}rê2(jh]ji]jj]jk]jn]ujpMªjr]rë2(j{X In the left hand pane, click on rì2…�rí2}rî2(jYX In the left hand pane, click on jZjè2ubjŸ')�rï2}rð2(jYX *CCS General*jf}rñ2(jh]ji]jj]jk]jn]ujZjè2jr]rò2j{X CCS Generalró2…�rô2}rõ2(jYUjZjï2ubajdj§'ubj{X.…�rö2}r÷2(jYX.jZjè2ubeubaubj/)�rø2}rù2(jYX/On the right hand side, click on the *RTSC* tabrú2jZjÍ2jbjõ!jdj2jf}rû2(jh]ji]jj]jk]jn]ujpNjqhjr]rü2j¡)�rý2}rþ2(jYjú2jZjø2jbjõ!jdj¥jf}rÿ2(jh]ji]jj]jk]jn]ujpM«jr]r3(j{X%On the right hand side, click on the r3…�r3}r3(jYX%On the right hand side, click on the jZjý2ubjŸ')�r3}r3(jYX*RTSC*jf}r3(jh]ji]jj]jk]jn]ujZjý2jr]r3j{XRTSCr3…�r 3}r 3(jYUjZj3ubajdj§'ubj{X tabr 3…�r 3}r 3(jYX tabjZjý2ubeubaubj/)�r3}r3(jYX-For *XDCtools version:* select 3.32.0.06_corer3jZjÍ2jbjõ!jdj2jf}r3(jh]ji]jj]jk]jn]ujpNjqhjr]r3j¡)�r3}r3(jYj3jZj3jbjõ!jdj¥jf}r3(jh]ji]jj]jk]jn]ujpM¬jr]r3(j{XFor r3…�r3}r3(jYXFor jZj3ubjŸ')�r3}r3(jYX*XDCtools version:*jf}r3(jh]ji]jj]jk]jn]ujZj3jr]r3j{XXDCtools version:r3…�r3}r 3(jYUjZj3ubajdj§'ubj{X select 3.32.0.06_corer!3…�r"3}r#3(jYX select 3.32.0.06_corejZj3ubeubaubj/)�r$3}r%3(jYX�In the list of *Products and Repositories*, *check* the following... - IPC 3.43.2.04 - SYS/BIOS 6.45.1.29 - am57xx PDK 1.0.4 jZjÍ2jbNjdj2jf}r&3(jh]ji]jj]jk]jn]ujpNjqhjr]r'3(j¡)�r(3}r)3(jYXDIn the list of *Products and Repositories*, *check* the following...jZj$3jbjõ!jdj¥jf}r*3(jh]ji]jj]jk]jn]ujpM­jr]r+3(j{XIn the list of r,3…�r-3}r.3(jYXIn the list of jZj(3ubjŸ')�r/3}r03(jYX*Products and Repositories*jf}r13(jh]ji]jj]jk]jn]ujZj(3jr]r23j{XProducts and Repositoriesr33…�r43}r53(jYUjZj/3ubajdj§'ubj{X, r63…�r73}r83(jYX, jZj(3ubjŸ')�r93}r:3(jYX*check*jf}r;3(jh]ji]jj]jk]jn]ujZj(3jr]r<3j{Xcheckr=3…�r>3}r?3(jYUjZj93ubajdj§'ubj{X the following...r@3…�rA3}rB3(jYX the following...jZj(3ubeubjC)�rC3}rD3(jYUjf}rE3(jGX-jk]jj]jh]ji]jn]ujZj$3jr]rF3(j/)�rG3}rH3(jYX IPC 3.43.2.04rI3jf}rJ3(jh]ji]jj]jk]jn]ujZjC3jr]rK3j¡)�rL3}rM3(jYjI3jZjG3jbjõ!jdj¥jf}rN3(jh]ji]jj]jk]jn]ujpM¯jr]rO3j{X IPC 3.43.2.04rP3…�rQ3}rR3(jYjI3jZjL3ubaubajdj2ubj/)�rS3}rT3(jYXSYS/BIOS 6.45.1.29rU3jf}rV3(jh]ji]jj]jk]jn]ujZjC3jr]rW3j¡)�rX3}rY3(jYjU3jZjS3jbjõ!jdj¥jf}rZ3(jh]ji]jj]jk]jn]ujpM°jr]r[3j{XSYS/BIOS 6.45.1.29r\3…�r]3}r^3(jYjU3jZjX3ubaubajdj2ubj/)�r_3}r`3(jYXam57xx PDK 1.0.4 jf}ra3(jh]ji]jj]jk]jn]ujZjC3jr]rb3j¡)�rc3}rd3(jYXam57xx PDK 1.0.4re3jZj_3jbjõ!jdj¥jf}rf3(jh]ji]jj]jk]jn]ujpM±jr]rg3j{Xam57xx PDK 1.0.4rh3…�ri3}rj3(jYje3jZjc3ubaubajdj2ubejdj`ubeubj/)�rk3}rl3(jYX'For *Target*, select ti.targets.elf.C66rm3jZjÍ2jbjõ!jdj2jf}rn3(jh]ji]jj]jk]jn]ujpNjqhjr]ro3j¡)�rp3}rq3(jYjm3jZjk3jbjõ!jdj¥jf}rr3(jh]ji]jj]jk]jn]ujpM³jr]rs3(j{XFor rt3…�ru3}rv3(jYXFor jZjp3ubjŸ')�rw3}rx3(jYX*Target*jf}ry3(jh]ji]jj]jk]jn]ujZjp3jr]rz3j{XTargetr{3…�r|3}r}3(jYUjZjw3ubajdj§'ubj{X, select ti.targets.elf.C66r~3…�r3}r€3(jYX, select ti.targets.elf.C66jZjp3ubeubaubj/)�r�3}r‚3(jYX-For *Platform*, select ti.platforms.evmDRA7XXrƒ3jZjÍ2jbjõ!jdj2jf}r„3(jh]ji]jj]jk]jn]ujpNjqhjr]r…3j¡)�r†3}r‡3(jYjƒ3jZj�3jbjõ!jdj¥jf}rˆ3(jh]ji]jj]jk]jn]ujpM´jr]r‰3(j{XFor rŠ3…�r‹3}rŒ3(jYXFor jZj†3ubjŸ')�r�3}rŽ3(jYX *Platform*jf}r�3(jh]ji]jj]jk]jn]ujZj†3jr]r�3j{XPlatformr‘3…�r’3}r“3(jYUjZj�3ubajdj§'ubj{X, select ti.platforms.evmDRA7XXr”3…�r•3}r–3(jYX, select ti.platforms.evmDRA7XXjZj†3ubeubaubj/)�r—3}r˜3(jYX‡Once the platform is selected, edit its name buy hand and append :dsp1 to the end. After this it should be ti.platforms.evmDRA7XX:dsp1jZjÍ2jbjõ!jdj2jf}r™3(jh]ji]jj]jk]jn]ujpNjqhjr]rš3j¡)�r›3}rœ3(jYX‡Once the platform is selected, edit its name buy hand and append :dsp1 to the end. After this it should be ti.platforms.evmDRA7XX:dsp1r�3jZj—3jbjõ!jdj¥jf}rž3(jh]ji]jj]jk]jn]ujpMµjr]rŸ3j{X‡Once the platform is selected, edit its name buy hand and append :dsp1 to the end. After this it should be ti.platforms.evmDRA7XX:dsp1r 3…�r¡3}r¢3(jYj�3jZj›3ubaubaubj/)�r£3}r¤3(jYX4Go ahead and leave the *Build-profile* set to debug.r¥3jZjÍ2jbjõ!jdj2jf}r¦3(jh]ji]jj]jk]jn]ujpNjqhjr]r§3j¡)�r¨3}r©3(jYj¥3jZj£3jbjõ!jdj¥jf}rª3(jh]ji]jj]jk]jn]ujpM¸jr]r«3(j{XGo ahead and leave the r¬3…�r­3}r®3(jYXGo ahead and leave the jZj¨3ubjŸ')�r¯3}r°3(jYX*Build-profile*jf}r±3(jh]ji]jj]jk]jn]ujZj¨3jr]r²3j{X Build-profiler³3…�r´3}rµ3(jYUjZj¯3ubajdj§'ubj{X set to debug.r¶3…�r·3}r¸3(jYX set to debug.jZj¨3ubeubaubj/)�r¹3}rº3(jYXHit the OK button. jZjÍ2jbjõ!jdj2jf}r»3(jh]ji]jj]jk]jn]ujpNjqhjr]r¼3j¡)�r½3}r¾3(jYXHit the OK button.r¿3jZj¹3jbjõ!jdj¥jf}rÀ3(jh]ji]jj]jk]jn]ujpM¹jr]rÁ3j{XHit the OK button.rÂ3…�rÃ3}rÄ3(jYj¿3jZj½3ubaubaubeubjZ)�rÅ3}rÆ3(jYUjZj¯1jbjõ!jdj]jf}rÇ3(jh]ji]jj]jk]jn]ujpM»jqhjr]rÈ3j`)�rÉ3}rÊ3(jYUjcKjZjÅ3jbjõ!jdjpjf}rË3(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rÌ3}rÍ3(jYXYNow we want to copy configuration and source files from the ex02_messageq IPC example into our project. The IPC example is located at *C:/ti/ipc_3_43_02_04/examples/DRA7XX_linux_elf/ex02_messageq*. To copy files into your CCS project, you can simply select the files you want in Windows explorer then drag and drop them into your project in CCS.jZj¯1jbjõ!jdj¥jf}rÎ3(jh]ji]jj]jk]jn]ujpM¼jqhjr]rÏ3(j{X†Now we want to copy configuration and source files from the ex02_messageq IPC example into our project. The IPC example is located at rÐ3…�rÑ3}rÒ3(jYX†Now we want to copy configuration and source files from the ex02_messageq IPC example into our project. The IPC example is located at jZjÌ3ubjŸ')�rÓ3}rÔ3(jYX>*C:/ti/ipc_3_43_02_04/examples/DRA7XX_linux_elf/ex02_messageq*jf}rÕ3(jh]ji]jj]jk]jn]ujZjÌ3jr]rÖ3j{X<C:/ti/ipc_3_43_02_04/examples/DRA7XX_linux_elf/ex02_messageqr×3…�rØ3}rÙ3(jYUjZjÓ3ubajdj§'ubj{X•. To copy files into your CCS project, you can simply select the files you want in Windows explorer then drag and drop them into your project in CCS.rÚ3…�rÛ3}rÜ3(jYX•. To copy files into your CCS project, you can simply select the files you want in Windows explorer then drag and drop them into your project in CCS.jZjÌ3ubeubj¡)�rÝ3}rÞ3(jYX)Copy these files into your CCS project...rß3jZj¯1jbjõ!jdj¥jf}rà3(jh]ji]jj]jk]jn]ujpMÃjqhjr]rá3j{X)Copy these files into your CCS project...râ3…�rã3}rä3(jYjß3jZjÝ3ubaubjC)�rå3}ræ3(jYUjZj¯1jbjõ!jdj`jf}rç3(jGX-jk]jj]jh]ji]jn]ujpMÅjqhjr]rè3(j/)�ré3}rê3(jYXOC:/ti/ipc_3_43_02_04/examples/DRA7XX_linux_elf/ex02_messageq/shared/AppCommon.hrë3jZjå3jbjõ!jdj2jf}rì3(jh]ji]jj]jk]jn]ujpNjqhjr]rí3j¡)�rî3}rï3(jYjë3jZjé3jbjõ!jdj¥jf}rð3(jh]ji]jj]jk]jn]ujpMÅjr]rñ3j{XOC:/ti/ipc_3_43_02_04/examples/DRA7XX_linux_elf/ex02_messageq/shared/AppCommon.hrò3…�ró3}rô3(jYjë3jZjî3ubaubaubj/)�rõ3}rö3(jYXNC:/ti/ipc_3_43_02_04/examples/DRA7XX_linux_elf/ex02_messageq/shared/config.bldr÷3jZjå3jbjõ!jdj2jf}rø3(jh]ji]jj]jk]jn]ujpNjqhjr]rù3j¡)�rú3}rû3(jYj÷3jZjõ3jbjõ!jdj¥jf}rü3(jh]ji]jj]jk]jn]ujpMÆjr]rý3j{XNC:/ti/ipc_3_43_02_04/examples/DRA7XX_linux_elf/ex02_messageq/shared/config.bldrþ3…�rÿ3}r4(jYj÷3jZjú3ubaubaubj/)�r4}r4(jYXOC:/ti/ipc_3_43_02_04/examples/DRA7XX_linux_elf/ex02_messageq/shared/ipc.cfg.xs jZjå3jbjõ!jdj2jf}r4(jh]ji]jj]jk]jn]ujpNjqhjr]r4j¡)�r4}r4(jYXNC:/ti/ipc_3_43_02_04/examples/DRA7XX_linux_elf/ex02_messageq/shared/ipc.cfg.xsr4jZj4jbjõ!jdj¥jf}r4(jh]ji]jj]jk]jn]ujpMÇjr]r 4j{XNC:/ti/ipc_3_43_02_04/examples/DRA7XX_linux_elf/ex02_messageq/shared/ipc.cfg.xsr 4…�r 4}r 4(jYj4jZj4ubaubaubeubjZ)�r 4}r4(jYUjZj¯1jbjõ!jdj]jf}r4(jh]ji]jj]jk]jn]ujpMÉjqhjr]r4j`)�r4}r4(jYUjcKjZj 4jbjõ!jdjpjf}r4(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r4}r4(jYX-Now copy these files into your CCS project...r4jZj¯1jbjõ!jdj¥jf}r4(jh]ji]jj]jk]jn]ujpMÊjqhjr]r4j{X-Now copy these files into your CCS project...r4…�r4}r4(jYj4jZj4ubaubjC)�r4}r4(jYUjZj¯1jbjõ!jdj`jf}r4(jGX-jk]jj]jh]ji]jn]ujpMÌjqhjr]r4(j/)�r 4}r!4(jYXJC:/ti/ipc_3_43_02_04/examples/DRA7XX_linux_elf/ex02_messageq/dsp1/Dsp1.cfgr"4jZj4jbjõ!jdj2jf}r#4(jh]ji]jj]jk]jn]ujpNjqhjr]r$4j¡)�r%4}r&4(jYj"4jZj 4jbjõ!jdj¥jf}r'4(jh]ji]jj]jk]jn]ujpMÌjr]r(4j{XJC:/ti/ipc_3_43_02_04/examples/DRA7XX_linux_elf/ex02_messageq/dsp1/Dsp1.cfgr)4…�r*4}r+4(jYj"4jZj%4ubaubaubj/)�r,4}r-4(jYXLC:/ti/ipc_3_43_02_04/examples/DRA7XX_linux_elf/ex02_messageq/dsp1/MainDsp1.cr.4jZj4jbjõ!jdj2jf}r/4(jh]ji]jj]jk]jn]ujpNjqhjr]r04j¡)�r14}r24(jYj.4jZj,4jbjõ!jdj¥jf}r34(jh]ji]jj]jk]jn]ujpMÍjr]r44j{XLC:/ti/ipc_3_43_02_04/examples/DRA7XX_linux_elf/ex02_messageq/dsp1/MainDsp1.cr54…�r64}r74(jYj.4jZj14ubaubaubj/)�r84}r94(jYXJC:/ti/ipc_3_43_02_04/examples/DRA7XX_linux_elf/ex02_messageq/dsp1/Server.cr:4jZj4jbjõ!jdj2jf}r;4(jh]ji]jj]jk]jn]ujpNjqhjr]r<4j¡)�r=4}r>4(jYj:4jZj84jbjõ!jdj¥jf}r?4(jh]ji]jj]jk]jn]ujpMÎjr]r@4j{XJC:/ti/ipc_3_43_02_04/examples/DRA7XX_linux_elf/ex02_messageq/dsp1/Server.crA4…�rB4}rC4(jYj:4jZj=4ubaubaubj/)�rD4}rE4(jYXKC:/ti/ipc_3_43_02_04/examples/DRA7XX_linux_elf/ex02_messageq/dsp1/Server.h jZj4jbjõ!jdj2jf}rF4(jh]ji]jj]jk]jn]ujpNjqhjr]rG4j¡)�rH4}rI4(jYXJC:/ti/ipc_3_43_02_04/examples/DRA7XX_linux_elf/ex02_messageq/dsp1/Server.hrJ4jZjD4jbjõ!jdj¥jf}rK4(jh]ji]jj]jk]jn]ujpMÏjr]rL4j{XJC:/ti/ipc_3_43_02_04/examples/DRA7XX_linux_elf/ex02_messageq/dsp1/Server.hrM4…�rN4}rO4(jYjJ4jZjH4ubaubaubeubj)�rP4}rQ4(jYXWhen you copy Dsp1.cfg into your CCS project, it should show up greyed out. This is because the LED blink example already has a cfg file (gpio_test_evmAM572x.cfg). The Dsp1.cfg will be used for copying and pasting. When it's all done, you can delete it from your project.jZj¯1jbjõ!jdjjf}rR4(jh]ji]jj]jk]jn]ujpNjqhjr]rS4j¡)�rT4}rU4(jYXWhen you copy Dsp1.cfg into your CCS project, it should show up greyed out. This is because the LED blink example already has a cfg file (gpio_test_evmAM572x.cfg). The Dsp1.cfg will be used for copying and pasting. When it's all done, you can delete it from your project.rV4jZjP4jbjõ!jdj¥jf}rW4(jh]ji]jj]jk]jn]ujpMÒjr]rX4j{XWhen you copy Dsp1.cfg into your CCS project, it should show up greyed out. This is because the LED blink example already has a cfg file (gpio_test_evmAM572x.cfg). The Dsp1.cfg will be used for copying and pasting. When it's all done, you can delete it from your project.rY4…�rZ4}r[4(jYjV4jZjT4ubaubaubj¡)�r\4}r]4(jYXiFinally, you will likely want to use a custom resource table so copy these files into your CCS project...r^4jZj¯1jbjõ!jdj¥jf}r_4(jh]ji]jj]jk]jn]ujpMØjqhjr]r`4j{XiFinally, you will likely want to use a custom resource table so copy these files into your CCS project...ra4…�rb4}rc4(jYj^4jZj\4ubaubjC)�rd4}re4(jYUjZj¯1jbjõ!jdj`jf}rf4(jGX-jk]jj]jh]ji]jn]ujpMÛjqhjr]rg4(j/)�rh4}ri4(jYXDC:/ti/ipc_3_43_02_04/packages/ti/ipc/remoteproc/rsc_table_vayu_dsp.hrj4jZjd4jbjõ!jdj2jf}rk4(jh]ji]jj]jk]jn]ujpNjqhjr]rl4j¡)�rm4}rn4(jYjj4jZjh4jbjõ!jdj¥jf}ro4(jh]ji]jj]jk]jn]ujpMÛjr]rp4j{XDC:/ti/ipc_3_43_02_04/packages/ti/ipc/remoteproc/rsc_table_vayu_dsp.hrq4…�rr4}rs4(jYjj4jZjm4ubaubaubj/)�rt4}ru4(jYX<C:/ti/ipc_3_43_02_04/packages/ti/ipc/remoteproc/rsc_types.h jZjd4jbjõ!jdj2jf}rv4(jh]ji]jj]jk]jn]ujpNjqhjr]rw4j¡)�rx4}ry4(jYX;C:/ti/ipc_3_43_02_04/packages/ti/ipc/remoteproc/rsc_types.hrz4jZjt4jbjõ!jdj¥jf}r{4(jh]ji]jj]jk]jn]ujpMÜjr]r|4j{X;C:/ti/ipc_3_43_02_04/packages/ti/ipc/remoteproc/rsc_types.hr}4…�r~4}r4(jYjz4jZjx4ubaubaubeubj¡)�r€4}r�4(jYX`The rsc_table_vayu_dsp.h file defines an initialized structure so let's make a *.c* source file.jZj¯1jbjõ!jdj¥jf}r‚4(jh]ji]jj]jk]jn]ujpMÞjqhjr]rƒ4(j{XOThe rsc_table_vayu_dsp.h file defines an initialized structure so let's make a r„4…�r…4}r†4(jYXOThe rsc_table_vayu_dsp.h file defines an initialized structure so let's make a jZj€4ubjŸ')�r‡4}rˆ4(jYX*.c*jf}r‰4(jh]ji]jj]jk]jn]ujZj€4jr]rŠ4j{X.cr‹4…�rŒ4}r�4(jYUjZj‡4ubajdj§'ubj{X source file.rŽ4…�r�4}r�4(jYX source file.jZj€4ubeubjC)�r‘4}r’4(jYUjZj¯1jbjõ!jdj`jf}r“4(jGX-jk]jj]jh]ji]jn]ujpMájqhjr]r”4j/)�r•4}r–4(jYXIIn your CCS project, rename rsc_table_vayu_dsp.h to rsc_table_vayu_dsp.c jZj‘4jbjõ!jdj2jf}r—4(jh]ji]jj]jk]jn]ujpNjqhjr]r˜4j¡)�r™4}rš4(jYXHIn your CCS project, rename rsc_table_vayu_dsp.h to rsc_table_vayu_dsp.cr›4jZj•4jbjõ!jdj¥jf}rœ4(jh]ji]jj]jk]jn]ujpMájr]r�4j{XHIn your CCS project, rename rsc_table_vayu_dsp.h to rsc_table_vayu_dsp.crž4…�rŸ4}r 4(jYj›4jZj™4ubaubaubaubjZ)�r¡4}r¢4(jYUjZj¯1jbjõ!jdj]jf}r£4(jh]ji]jj]jk]jn]ujpMäjqhjr]r¤4(j`)�r¥4}r¦4(jYUjcKjZj¡4jbjõ!jdjpjf}r§4(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�r¨4}r©4(jYX~Now we want to *merge* the IPC example configuration file with the LED blink example configuration file. Follow these steps...jcKjZj¡4jbjõ!jdjpjf}rª4(jh]ji]jj]jk]jn]ujpMæjqhjr]r«4(j{XNow we want to r¬4…�r­4}r®4(jYXNow we want to jZj¨4ubjŸ')�r¯4}r°4(jYX*merge*jf}r±4(jh]ji]jj]jk]jn]ujZj¨4jr]r²4j{Xmerger³4…�r´4}rµ4(jYUjZj¯4ubajdj§'ubj{Xh the IPC example configuration file with the LED blink example configuration file. Follow these steps...r¶4…�r·4}r¸4(jYXh the IPC example configuration file with the LED blink example configuration file. Follow these steps...jZj¨4ubeubeubjC)�r¹4}rº4(jYUjZj¯1jbjõ!jdj`jf}r»4(jGX-jk]jj]jh]ji]jn]ujpMèjqhjr]r¼4(j/)�r½4}r¾4(jYX‚Open up *Dsp1.cfg* using a text editor (don't open it using the GUI). Right click on it and select *Open With -> XDCscript Editor*jZj¹4jbjõ!jdj2jf}r¿4(jh]ji]jj]jk]jn]ujpNjqhjr]rÀ4j¡)�rÁ4}rÂ4(jYX‚Open up *Dsp1.cfg* using a text editor (don't open it using the GUI). Right click on it and select *Open With -> XDCscript Editor*jZj½4jbjõ!jdj¥jf}rÃ4(jh]ji]jj]jk]jn]ujpMèjr]rÄ4(j{XOpen up rÅ4…�rÆ4}rÇ4(jYXOpen up jZjÁ4ubjŸ')�rÈ4}rÉ4(jYX *Dsp1.cfg*jf}rÊ4(jh]ji]jj]jk]jn]ujZjÁ4jr]rË4j{XDsp1.cfgrÌ4…�rÍ4}rÎ4(jYUjZjÈ4ubajdj§'ubj{XQ using a text editor (don't open it using the GUI). Right click on it and select rÏ4…�rÐ4}rÑ4(jYXQ using a text editor (don't open it using the GUI). Right click on it and select jZjÁ4ubjŸ')�rÒ4}rÓ4(jYX*Open With -> XDCscript Editor*jf}rÔ4(jh]ji]jj]jk]jn]ujZjÁ4jr]rÕ4j{XOpen With -> XDCscript EditorrÖ4…�r×4}rØ4(jYUjZjÒ4ubajdj§'ubeubaubj/)�rÙ4}rÚ4(jYXLWe want to copy the entire contents into the clipboard. Select all and copy.jZj¹4jbjõ!jdj2jf}rÛ4(jh]ji]jj]jk]jn]ujpNjqhjr]rÜ4j¡)�rÝ4}rÞ4(jYXLWe want to copy the entire contents into the clipboard. Select all and copy.rß4jZjÙ4jbjõ!jdj¥jf}rà4(jh]ji]jj]jk]jn]ujpMêjr]rá4j{XLWe want to copy the entire contents into the clipboard. Select all and copy.râ4…�rã4}rä4(jYjß4jZjÝ4ubaubaubj/)�rå4}ræ4(jYXðNow just like above, open the gpio_test_evmAM572x.cfg config file in the text editor. Go to the very bottom and *paste* in the contents from the Dsp1.cfg file. Basically we've appended the contents of Dsp1.cfg into gpio_test_evmAM572x.cfg. jZj¹4jbjõ!jdj2jf}rç4(jh]ji]jj]jk]jn]ujpNjqhjr]rè4j¡)�ré4}rê4(jYXïNow just like above, open the gpio_test_evmAM572x.cfg config file in the text editor. Go to the very bottom and *paste* in the contents from the Dsp1.cfg file. Basically we've appended the contents of Dsp1.cfg into gpio_test_evmAM572x.cfg.jZjå4jbjõ!jdj¥jf}rë4(jh]ji]jj]jk]jn]ujpMìjr]rì4(j{XpNow just like above, open the gpio_test_evmAM572x.cfg config file in the text editor. Go to the very bottom and rí4…�rî4}rï4(jYXpNow just like above, open the gpio_test_evmAM572x.cfg config file in the text editor. Go to the very bottom and jZjé4ubjŸ')�rð4}rñ4(jYX*paste*jf}rò4(jh]ji]jj]jk]jn]ujZjé4jr]ró4j{Xpasterô4…�rõ4}rö4(jYUjZjð4ubajdj§'ubj{Xx in the contents from the Dsp1.cfg file. Basically we've appended the contents of Dsp1.cfg into gpio_test_evmAM572x.cfg.r÷4…�rø4}rù4(jYXx in the contents from the Dsp1.cfg file. Basically we've appended the contents of Dsp1.cfg into gpio_test_evmAM572x.cfg.jZjé4ubeubaubeubjZ)�rú4}rû4(jYUjZj¯1jbjõ!jdj]jf}rü4(jh]ji]jj]jk]jn]ujpMñjqhjr]rý4j`)�rþ4}rÿ4(jYUjcKjZjú4jbjõ!jdjpjf}r5(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r5}r5(jYX¸We've now added in all the necessary configuration and source files into our project. Don't expect it to build at this point, we have to make edits first. These edits are listed below.r5jZj¯1jbjõ!jdj¥jf}r5(jh]ji]jj]jk]jn]ujpMòjqhjr]r5j{X¸We've now added in all the necessary configuration and source files into our project. Don't expect it to build at this point, we have to make edits first. These edits are listed below.r5…�r5}r5(jYj5jZj5ubaubj)�r 5}r 5(jYXxYou can download the full CCS project with source files to use as a reference. See link towards the end of this section.jZj¯1jbjõ!jdjjf}r 5(jh]ji]jj]jk]jn]ujpNjqhjr]r 5j¡)�r 5}r5(jYXxYou can download the full CCS project with source files to use as a reference. See link towards the end of this section.r5jZj 5jbjõ!jdj¥jf}r5(jh]ji]jj]jk]jn]ujpM÷jr]r5j{XxYou can download the full CCS project with source files to use as a reference. See link towards the end of this section.r5…�r5}r5(jYj5jZj 5ubaubaubjC)�r5}r5(jYUjZj¯1jbjõ!jdj`jf}r5(jGX-jk]jj]jh]ji]jn]ujpMújqhjr]r5j/)�r5}r5(jYX!Edit **gpio_test_evmAM572x.cfg** jZj5jbjõ!jdj2jf}r5(jh]ji]jj]jk]jn]ujpNjqhjr]r5j¡)�r5}r5(jYX Edit **gpio_test_evmAM572x.cfg**jZj5jbjõ!jdj¥jf}r5(jh]ji]jj]jk]jn]ujpMújr]r 5(j{XEdit r!5…�r"5}r#5(jYXEdit jZj5ubjü)�r$5}r%5(jYX**gpio_test_evmAM572x.cfg**jf}r&5(jh]ji]jj]jk]jn]ujZj5jr]r'5j{Xgpio_test_evmAM572x.cfgr(5…�r)5}r*5(jYUjZj$5ubajdjubeubaubaubjZ)�r+5}r,5(jYUjZj¯1jbjõ!jdj]jf}r-5(jh]ji]jj]jk]jn]ujpMüjqhjr]r.5j`)�r/5}r05(jYUjcKjZj+5jbjõ!jdjpjf}r15(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r25}r35(jYX=Add the following to the beginning of your configuration filer45jZj¯1jbjõ!jdj¥jf}r55(jh]ji]jj]jk]jn]ujpMýjqhjr]r65j{X=Add the following to the beginning of your configuration filer75…�r85}r95(jYj45jZj25ubaubj)�r:5}r;5(jYX/var Program = xdc.useModule('xdc.cfg.Program');jZj¯1jbjõ!jdjjf}r<5(j‰jX javascriptjöj÷jk]jj]jh]j }ji]jn]ujpMÿjqhjr]r=5j{X/var Program = xdc.useModule('xdc.cfg.Program');r>5…�r?5}r@5(jYUjZj:5ubaubjZ)�rA5}rB5(jYUjZj¯1jbjõ!jdj]jf}rC5(jh]ji]jj]jk]jn]ujpMjqhjr]rD5j`)�rE5}rF5(jYUjcKjZjA5jbjõ!jdjpjf}rG5(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rH5}rI5(jYX<Comment out the Memory sections configuration as shown belowrJ5jZj¯1jbjõ!jdj¥jf}rK5(jh]ji]jj]jk]jn]ujpMjqhjr]rL5j{X<Comment out the Memory sections configuration as shown belowrM5…�rN5}rO5(jYjJ5jZjH5ubaubj)�rP5}rQ5(jYX5/* ================ Memory sections configuration ================ */ //Program.sectMap[".text"] = "EXT_RAM"; //Program.sectMap[".const"] = "EXT_RAM"; //Program.sectMap[".plt"] = "EXT_RAM"; /* Program.sectMap["BOARD_IO_DELAY_DATA"] = "OCMC_RAM1"; */ /* Program.sectMap["BOARD_IO_DELAY_CODE"] = "OCMC_RAM1"; */jZj¯1jbjõ!jdjjf}rR5(j‰jX javascriptjöj÷jk]jj]jh]j }ji]jn]ujpMjqhjr]rS5j{X5/* ================ Memory sections configuration ================ */ //Program.sectMap[".text"] = "EXT_RAM"; //Program.sectMap[".const"] = "EXT_RAM"; //Program.sectMap[".plt"] = "EXT_RAM"; /* Program.sectMap["BOARD_IO_DELAY_DATA"] = "OCMC_RAM1"; */ /* Program.sectMap["BOARD_IO_DELAY_CODE"] = "OCMC_RAM1"; */rT5…�rU5}rV5(jYUjZjP5ubaubjZ)�rW5}rX5(jYUjZj¯1jbjõ!jdj]jf}rY5(jh]ji]jj]jk]jn]ujpMjqhjr]rZ5j`)�r[5}r\5(jYUjcKjZjW5jbjõ!jdjpjf}r]5(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r^5}r_5(jYXGSince we are no longer using a shared folder, make the following changer`5jZj¯1jbjõ!jdj¥jf}ra5(jh]ji]jj]jk]jn]ujpMjqhjr]rb5j{XGSince we are no longer using a shared folder, make the following changerc5…�rd5}re5(jYj`5jZj^5ubaubj)�rf5}rg5(jYXh//var ipc_cfg = xdc.loadCapsule("../shared/ipc.cfg.xs"); var ipc_cfg = xdc.loadCapsule("../ipc.cfg.xs");jZj¯1jbjõ!jdjjf}rh5(j‰jX javascriptjöj÷jk]jj]jh]j }ji]jn]ujpMjqhjr]ri5j{Xh//var ipc_cfg = xdc.loadCapsule("../shared/ipc.cfg.xs"); var ipc_cfg = xdc.loadCapsule("../ipc.cfg.xs");rj5…�rk5}rl5(jYUjZjf5ubaubjZ)�rm5}rn5(jYUjZj¯1jbjõ!jdj]jf}ro5(jh]ji]jj]jk]jn]ujpMjqhjr]rp5j`)�rq5}rr5(jYUjcKjZjm5jbjõ!jdjpjf}rs5(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rt5}ru5(jYXMComment out the following. We'll be calling this function directly from main.rv5jZj¯1jbjõ!jdj¥jf}rw5(jh]ji]jj]jk]jn]ujpMjqhjr]rx5j{XMComment out the following. We'll be calling this function directly from main.ry5…�rz5}r{5(jYjv5jZjt5ubaubj)�r|5}r}5(jYX4//BIOS.addUserStartupFunction('&IpcMgr_ipcStartup');jZj¯1jbjõ!jdjjf}r~5(j‰jX javascriptjöj÷jk]jj]jh]j }ji]jn]ujpMjqhjr]r5j{X4//BIOS.addUserStartupFunction('&IpcMgr_ipcStartup');r€5…�r�5}r‚5(jYUjZj|5ubaubjZ)�rƒ5}r„5(jYUjZj¯1jbjõ!jdj]jf}r…5(jh]ji]jj]jk]jn]ujpM!jqhjr]r†5j`)�r‡5}rˆ5(jYUjcKjZjƒ5jbjõ!jdjpjf}r‰5(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rŠ5}r‹5(jYXIncrease the system stack sizerŒ5jZj¯1jbjõ!jdj¥jf}r�5(jh]ji]jj]jk]jn]ujpM#jqhjr]rŽ5j{XIncrease the system stack sizer�5…�r�5}r‘5(jYjŒ5jZjŠ5ubaubj)�r’5}r“5(jYX1//Program.stack = 0x1000; Program.stack = 0x8000;jZj¯1jbjõ!jdjjf}r”5(j‰jX javascriptjöj÷jk]jj]jh]j }ji]jn]ujpM%jqhjr]r•5j{X1//Program.stack = 0x1000; Program.stack = 0x8000;r–5…�r—5}r˜5(jYUjZj’5ubaubjZ)�r™5}rš5(jYUjZj¯1jbjõ!jdj]jf}r›5(jh]ji]jj]jk]jn]ujpM*jqhjr]rœ5j`)�r�5}rž5(jYUjcKjZj™5jbjõ!jdjpjf}rŸ5(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r 5}r¡5(jYX#Comment out the entire TICK sectionr¢5jZj¯1jbjõ!jdj¥jf}r£5(jh]ji]jj]jk]jn]ujpM,jqhjr]r¤5j{X#Comment out the entire TICK sectionr¥5…�r¦5}r§5(jYj¢5jZj 5ubaubj)�r¨5}r©5(jYX=/* --------------------------- TICK --------------------------------------*/ // var Clock = xdc.useModule('ti.sysbios.knl.Clock'); // Clock.tickSource = Clock.TickSource_NULL; // //Clock.tickSource = Clock.TickSource_USER; // /* Configure BIOS clock source as GPTimer5 */ // //Clock.timerId = 0; // // var Timer = xdc.useModule('ti.sysbios.timers.dmtimer.Timer'); // // /* Skip the Timer frequency verification check. Need to remove this later */ // Timer.checkFrequency = false; // // /* Match this to the SYS_CLK frequency sourcing the dmTimers. // * Not needed once the SYS/BIOS family settings is updated. */ // Timer.intFreq.hi = 0; // Timer.intFreq.lo = 19200000; // // //var timerParams = new Timer.Params(); // //timerParams.period = Clock.tickPeriod; // //timerParams.periodType = Timer.PeriodType_MICROSECS; // /* Switch off Software Reset to make the below settings effective */ // //timerParams.tiocpCfg.softreset = 0x0; // /* Smart-idle wake-up-capable mode */ // //timerParams.tiocpCfg.idlemode = 0x3; // /* Wake-up generation for Overflow */ // //timerParams.twer.ovf_wup_ena = 0x1; // //Timer.create(Clock.timerId, Clock.doTick, timerParams); // // var Idle = xdc.useModule('ti.sysbios.knl.Idle'); // var Deh = xdc.useModule('ti.deh.Deh'); // // /* Must be placed before pwr mgmt */ // Idle.addFunc('&ti_deh_Deh_idleBegin');jZj¯1jbjõ!jdjjf}rª5(j‰jX javascriptjöj÷jk]jj]jh]j }ji]jn]ujpM.jqhjr]r«5j{X=/* --------------------------- TICK --------------------------------------*/ // var Clock = xdc.useModule('ti.sysbios.knl.Clock'); // Clock.tickSource = Clock.TickSource_NULL; // //Clock.tickSource = Clock.TickSource_USER; // /* Configure BIOS clock source as GPTimer5 */ // //Clock.timerId = 0; // // var Timer = xdc.useModule('ti.sysbios.timers.dmtimer.Timer'); // // /* Skip the Timer frequency verification check. Need to remove this later */ // Timer.checkFrequency = false; // // /* Match this to the SYS_CLK frequency sourcing the dmTimers. // * Not needed once the SYS/BIOS family settings is updated. */ // Timer.intFreq.hi = 0; // Timer.intFreq.lo = 19200000; // // //var timerParams = new Timer.Params(); // //timerParams.period = Clock.tickPeriod; // //timerParams.periodType = Timer.PeriodType_MICROSECS; // /* Switch off Software Reset to make the below settings effective */ // //timerParams.tiocpCfg.softreset = 0x0; // /* Smart-idle wake-up-capable mode */ // //timerParams.tiocpCfg.idlemode = 0x3; // /* Wake-up generation for Overflow */ // //timerParams.twer.ovf_wup_ena = 0x1; // //Timer.create(Clock.timerId, Clock.doTick, timerParams); // // var Idle = xdc.useModule('ti.sysbios.knl.Idle'); // var Deh = xdc.useModule('ti.deh.Deh'); // // /* Must be placed before pwr mgmt */ // Idle.addFunc('&ti_deh_Deh_idleBegin');r¬5…�r­5}r®5(jYUjZj¨5ubaubjZ)�r¯5}r°5(jYUjZj¯1jbjõ!jdj]jf}r±5(jh]ji]jj]jk]jn]ujpMRjqhjr]r²5j`)�r³5}r´5(jYUjcKjZj¯5jbjõ!jdjpjf}rµ5(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r¶5}r·5(jYXSMake configuration change to use custom resource table. Add to the end of the file.r¸5jZj¯1jbjõ!jdj¥jf}r¹5(jh]ji]jj]jk]jn]ujpMTjqhjr]rº5j{XSMake configuration change to use custom resource table. Add to the end of the file.r»5…�r¼5}r½5(jYj¸5jZj¶5ubaubj)�r¾5}r¿5(jYXŽ/* Override the default resource table with my own */ var Resource = xdc.useModule('ti.ipc.remoteproc.Resource'); Resource.customTable = true;jZj¯1jbjõ!jdjjf}rÀ5(j‰jX javascriptjöj÷jk]jj]jh]j }ji]jn]ujpMWjqhjr]rÁ5j{XŽ/* Override the default resource table with my own */ var Resource = xdc.useModule('ti.ipc.remoteproc.Resource'); Resource.customTable = true;rÂ5…�rÃ5}rÄ5(jYUjZj¾5ubaubjZ)�rÅ5}rÆ5(jYUjZj¯1jbjõ!jdj]jf}rÇ5(jh]ji]jj]jk]jn]ujpM]jqhjr]rÈ5j`)�rÉ5}rÊ5(jYUjcKjZjÅ5jbjõ!jdjpjf}rË5(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjZ)�rÌ5}rÍ5(jYUjZj¯1jbjõ!jdj]jf}rÎ5(jh]ji]jj]jk]jn]ujpM_jqhjr]rÏ5j`)�rÐ5}rÑ5(jYUjcKjZjÌ5jbjõ!jdjpjf}rÒ5(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjC)�rÓ5}rÔ5(jYUjZj¯1jbjõ!jdj`jf}rÕ5(jGX-jk]jj]jh]ji]jn]ujpM`jqhjr]rÖ5j/)�r×5}rØ5(jYXEdit **main_led_blink.c** jZjÓ5jbjõ!jdj2jf}rÙ5(jh]ji]jj]jk]jn]ujpNjqhjr]rÚ5j¡)�rÛ5}rÜ5(jYXEdit **main_led_blink.c**jZj×5jbjõ!jdj¥jf}rÝ5(jh]ji]jj]jk]jn]ujpM`jr]rÞ5(j{XEdit rß5…�rà5}rá5(jYXEdit jZjÛ5ubjü)�râ5}rã5(jYX**main_led_blink.c**jf}rä5(jh]ji]jj]jk]jn]ujZjÛ5jr]rå5j{Xmain_led_blink.cræ5…�rç5}rè5(jYUjZjâ5ubajdjubeubaubaubjZ)�ré5}rê5(jYUjZj¯1jbjõ!jdj]jf}rë5(jh]ji]jj]jk]jn]ujpMbjqhjr]rì5j`)�rí5}rî5(jYUjcKjZjé5jbjõ!jdjpjf}rï5(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rð5}rñ5(jYX'Add the following external declarationsrò5jZj¯1jbjõ!jdj¥jf}ró5(jh]ji]jj]jk]jn]ujpMdjqhjr]rô5j{X'Add the following external declarationsrõ5…�rö5}r÷5(jYjò5jZjð5ubaubj)�rø5}rù5(jYX;extern Int ipc_main(); extern Void IpcMgr_ipcStartup(Void);jZj¯1jbjõ!jdjjf}rú5(j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpMfjqhjr]rû5j{X;extern Int ipc_main(); extern Void IpcMgr_ipcStartup(Void);rü5…�rý5}rþ5(jYUjZjø5ubaubjZ)�rÿ5}r6(jYUjZj¯1jbjõ!jdj]jf}r6(jh]ji]jj]jk]jn]ujpMkjqhjr]r6j`)�r6}r6(jYUjcKjZjÿ5jbjõ!jdjpjf}r6(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r6}r6(jYXTIn main(), add a call to ipc_main() and IpcMgr_ipcStartup() just before BIOS_start()r6jZj¯1jbjõ!jdj¥jf}r 6(jh]ji]jj]jk]jn]ujpMmjqhjr]r 6j{XTIn main(), add a call to ipc_main() and IpcMgr_ipcStartup() just before BIOS_start()r 6…�r 6}r 6(jYj6jZj6ubaubj)�r6}r6(jYXiipc_main(); if (callIpcStartup) { IpcMgr_ipcStartup(); } /* Start BIOS */ BIOS_start(); return (0);jZj¯1jbjõ!jdjjf}r6(j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpMpjqhjr]r6j{Xiipc_main(); if (callIpcStartup) { IpcMgr_ipcStartup(); } /* Start BIOS */ BIOS_start(); return (0);r6…�r6}r6(jYUjZj6ubaubjZ)�r6}r6(jYUjZj¯1jbjõ!jdj]jf}r6(jh]ji]jj]jk]jn]ujpM|jqhjr]r6j`)�r6}r6(jYUjcKjZj6jbjõ!jdjpjf}r6(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r6}r6(jYXéComment out the line that calls Board_init(boardCfg). This call is in the original example because it assumes TI-RTOS is running on the Arm but in our case here, we are running Linux and this call is destructive so we comment it out.r6jZj¯1jbjõ!jdj¥jf}r6(jh]ji]jj]jk]jn]ujpM~jqhjr]r 6j{XéComment out the line that calls Board_init(boardCfg). This call is in the original example because it assumes TI-RTOS is running on the Arm but in our case here, we are running Linux and this call is destructive so we comment it out.r!6…�r"6}r#6(jYj6jZj6ubaubj)�r$6}r%6(jYXú#if defined(EVM_K2E) || defined(EVM_C6678) boardCfg = BOARD_INIT_MODULE_CLOCK | BOARD_INIT_UART_STDIO; #else boardCfg = BOARD_INIT_PINMUX_CONFIG | BOARD_INIT_MODULE_CLOCK | BOARD_INIT_UART_STDIO; #endif //Board_init(boardCfg);jZj¯1jbjõ!jdjjf}r&6(j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpMƒjqhjr]r'6j{Xú#if defined(EVM_K2E) || defined(EVM_C6678) boardCfg = BOARD_INIT_MODULE_CLOCK | BOARD_INIT_UART_STDIO; #else boardCfg = BOARD_INIT_PINMUX_CONFIG | BOARD_INIT_MODULE_CLOCK | BOARD_INIT_UART_STDIO; #endif //Board_init(boardCfg);r(6…�r)6}r*6(jYUjZj$6ubaubjZ)�r+6}r,6(jYUjZj¯1jbjõ!jdj]jf}r-6(jh]ji]jj]jk]jn]ujpM�jqhjr]r.6j`)�r/6}r06(jYUjcKjZj+6jbjõ!jdjpjf}r16(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjZ)�r26}r36(jYUjZj¯1jbjõ!jdj]jf}r46(jh]ji]jj]jk]jn]ujpM‘jqhjr]r56j`)�r66}r76(jYUjcKjZj26jbjõ!jdjpjf}r86(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjC)�r96}r:6(jYUjZj¯1jbjõ!jdj`jf}r;6(jGX-jk]jj]jh]ji]jn]ujpM“jqhjr]r<6j/)�r=6}r>6(jYXEdit **MainDsp1.c** jZj96jbjõ!jdj2jf}r?6(jh]ji]jj]jk]jn]ujpNjqhjr]r@6j¡)�rA6}rB6(jYXEdit **MainDsp1.c**jZj=6jbjõ!jdj¥jf}rC6(jh]ji]jj]jk]jn]ujpM“jr]rD6(j{XEdit rE6…�rF6}rG6(jYXEdit jZjA6ubjü)�rH6}rI6(jYX**MainDsp1.c**jf}rJ6(jh]ji]jj]jk]jn]ujZjA6jr]rK6j{X MainDsp1.crL6…�rM6}rN6(jYUjZjH6ubajdjubeubaubaubjZ)�rO6}rP6(jYUjZj¯1jbjõ!jdj]jf}rQ6(jh]ji]jj]jk]jn]ujpM•jqhjr]rR6j`)�rS6}rT6(jYUjcKjZjO6jbjõ!jdjpjf}rU6(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rV6}rW6(jYXGThe app now has it's own main(), so rename this one and get rid of argsrX6jZj¯1jbjõ!jdj¥jf}rY6(jh]ji]jj]jk]jn]ujpM—jqhjr]rZ6j{XGThe app now has it's own main(), so rename this one and get rid of argsr[6…�r\6}r]6(jYjX6jZjV6ubaubj)�r^6}r_6(jYX3//Int main(Int argc, Char* argv[]) Int ipc_main() {jZj¯1jbjõ!jdjjf}r`6(j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpM™jqhjr]ra6j{X3//Int main(Int argc, Char* argv[]) Int ipc_main() {rb6…�rc6}rd6(jYUjZj^6ubaubjZ)�re6}rf6(jYUjZj¯1jbjõ!jdj]jf}rg6(jh]ji]jj]jk]jn]ujpMŸjqhjr]rh6j`)�ri6}rj6(jYUjcKjZje6jbjõ!jdjpjf}rk6(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rl6}rm6(jYX+No longer using args so comment these linesrn6jZj¯1jbjõ!jdj¥jf}ro6(jh]ji]jj]jk]jn]ujpM¡jqhjr]rp6j{X+No longer using args so comment these linesrq6…�rr6}rs6(jYjn6jZjl6ubaubj)�rt6}ru6(jYX?//taskParams.arg0 = (UArg)argc; //taskParams.arg1 = (UArg)argv;jZj¯1jbjõ!jdjjf}rv6(jöj÷jk]jj]jh]ji]jn]ujpM2jqhjr]rw6j{X?//taskParams.arg0 = (UArg)argc; //taskParams.arg1 = (UArg)argv;rx6…�ry6}rz6(jYUjZjt6ubaubjZ)�r{6}r|6(jYUjZj¯1jbjõ!jdj]jf}r}6(jh]ji]jj]jk]jn]ujpM§jqhjr]r~6j`)�r6}r€6(jYUjcKjZj{6jbjõ!jdjpjf}r�6(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r‚6}rƒ6(jYX=BIOS_start() is done in the app main() so comment it out herer„6jZj¯1jbjõ!jdj¥jf}r…6(jh]ji]jj]jk]jn]ujpMªjqhjr]r†6j{X=BIOS_start() is done in the app main() so comment it out herer‡6…�rˆ6}r‰6(jYj„6jZj‚6ubaubj)�rŠ6}r‹6(jYX9/* start scheduler, this never returns */ //BIOS_start();jZj¯1jbjõ!jdjjf}rŒ6(jöj÷jk]jj]jh]ji]jn]ujpM;jqhjr]r�6j{X9/* start scheduler, this never returns */ //BIOS_start();rŽ6…�r�6}r�6(jYUjZjŠ6ubaubjZ)�r‘6}r’6(jYUjZj¯1jbjõ!jdj]jf}r“6(jh]ji]jj]jk]jn]ujpM°jqhjr]r”6j`)�r•6}r–6(jYUjcKjZj‘6jbjõ!jdjpjf}r—6(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r˜6}r™6(jYXComment this outrš6jZj¯1jbjõ!jdj¥jf}r›6(jh]ji]jj]jk]jn]ujpM³jqhjr]rœ6j{XComment this outr�6…�rž6}rŸ6(jYjš6jZj˜6ubaubj)�r 6}r¡6(jYX&//Log_print0(Diags_EXIT, "<-- main:");jZj¯1jbjõ!jdjjf}r¢6(jöj÷jk]jj]jh]ji]jn]ujpMDjqhjr]r£6j{X&//Log_print0(Diags_EXIT, "<-- main:");r¤6…�r¥6}r¦6(jYUjZj 6ubaubjZ)�r§6}r¨6(jYUjZj¯1jbjõ!jdj]jf}r©6(jh]ji]jj]jk]jn]ujpM¸jqhjr]rª6j`)�r«6}r¬6(jYUjcKjZj§6jbjõ!jdjpjf}r­6(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjC)�r®6}r¯6(jYUjZj¯1jbjõ!jdj`jf}r°6(jGX-jk]jj]jh]ji]jn]ujpMºjqhjr]r±6j/)�r²6}r³6(jYXEdit **rsc_table_vayu_dsp.c** jZj®6jbjõ!jdj2jf}r´6(jh]ji]jj]jk]jn]ujpNjqhjr]rµ6j¡)�r¶6}r·6(jYXEdit **rsc_table_vayu_dsp.c**jZj²6jbjõ!jdj¥jf}r¸6(jh]ji]jj]jk]jn]ujpMºjr]r¹6(j{XEdit rº6…�r»6}r¼6(jYXEdit jZj¶6ubjü)�r½6}r¾6(jYX**rsc_table_vayu_dsp.c**jf}r¿6(jh]ji]jj]jk]jn]ujZj¶6jr]rÀ6j{Xrsc_table_vayu_dsp.crÁ6…�rÂ6}rÃ6(jYUjZj½6ubajdjubeubaubaubjZ)�rÄ6}rÅ6(jYUjZj¯1jbjõ!jdj]jf}rÆ6(jh]ji]jj]jk]jn]ujpM¼jqhjr]rÇ6j`)�rÈ6}rÉ6(jYUjcKjZjÄ6jbjõ!jdjpjf}rÊ6(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rË6}rÌ6(jYXDSet this #define before it's used to select PHYS_MEM_IPC_VRING valuerÍ6jZj¯1jbjõ!jdj¥jf}rÎ6(jh]ji]jj]jk]jn]ujpM¾jqhjr]rÏ6j{XDSet this #define before it's used to select PHYS_MEM_IPC_VRING valuerÐ6…�rÑ6}rÒ6(jYjÍ6jZjË6ubaubj)�rÓ6}rÔ6(jYX#define VAYU_DSP_1jZj¯1jbjõ!jdjjf}rÕ6(jöj÷jk]jj]jh]ji]jn]ujpMOjqhjr]rÖ6j{X#define VAYU_DSP_1r×6…�rØ6}rÙ6(jYUjZjÓ6ubaubjZ)�rÚ6}rÛ6(jYUjZj¯1jbjõ!jdj]jf}rÜ6(jh]ji]jj]jk]jn]ujpMÃjqhjr]rÝ6j`)�rÞ6}rß6(jYUjcKjZjÚ6jbjõ!jdjpjf}rà6(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rá6}râ6(jYX:Add this extern declaration prior to the symbol being usedrã6jZj¯1jbjõ!jdj¥jf}rä6(jh]ji]jj]jk]jn]ujpMÅjqhjr]rå6j{X:Add this extern declaration prior to the symbol being usedræ6…�rç6}rè6(jYjã6jZjá6ubaubj)�ré6}rê6(jYX5extern char ti_trace_SysMin_Module_State_0_outbuf__A;jZj¯1jbjõ!jdjjf}rë6(jöj÷jk]jj]jh]ji]jn]ujpMVjqhjr]rì6j{X5extern char ti_trace_SysMin_Module_State_0_outbuf__A;rí6…�rî6}rï6(jYUjZjé6ubaubjZ)�rð6}rñ6(jYUjZj¯1jbjõ!jdj]jf}rò6(jh]ji]jj]jk]jn]ujpMÊjqhjr]ró6j`)�rô6}rõ6(jYUjcKjZjð6jbjõ!jdjpjf}rö6(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjC)�r÷6}rø6(jYUjZj¯1jbjõ!jdj`jf}rù6(jGX-jk]jj]jh]ji]jn]ujpMÌjqhjr]rú6j/)�rû6}rü6(jYXEdit **Server.c** jZj÷6jbjõ!jdj2jf}rý6(jh]ji]jj]jk]jn]ujpNjqhjr]rþ6j¡)�rÿ6}r7(jYXEdit **Server.c**jZjû6jbjõ!jdj¥jf}r7(jh]ji]jj]jk]jn]ujpMÌjr]r7(j{XEdit r7…�r7}r7(jYXEdit jZjÿ6ubjü)�r7}r7(jYX **Server.c**jf}r7(jh]ji]jj]jk]jn]ujZjÿ6jr]r 7j{XServer.cr 7…�r 7}r 7(jYUjZj7ubajdjubeubaubaubjZ)�r 7}r7(jYUjZj¯1jbjõ!jdj]jf}r7(jh]ji]jj]jk]jn]ujpMÎjqhjr]r7j`)�r7}r7(jYUjcKjZj 7jbjõ!jdjpjf}r7(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjZ)�r7}r7(jYUjZj¯1jbjõ!jdj]jf}r7(jh]ji]jj]jk]jn]ujpMÐjqhjr]r7j`)�r7}r7(jYUjcKjZj7jbjõ!jdjpjf}r7(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r7}r7(jYX3No longer have shared folder so change include pathr7jZj¯1jbjõ!jdj¥jf}r7(jh]ji]jj]jk]jn]ujpMÑjqhjr]r7j{X3No longer have shared folder so change include pathr 7…�r!7}r"7(jYj7jZj7ubaubj)�r#7}r$7(jYXU/* local header files */ //#include "../shared/AppCommon.h" #include "../AppCommon.h"jZj¯1jbjõ!jdjjf}r%7(jöj÷jk]jj]jh]ji]jn]ujpMbjqhjr]r&7j{XU/* local header files */ //#include "../shared/AppCommon.h" #include "../AppCommon.h"r'7…�r(7}r)7(jYUjZj#7ubaubjZ)�r*7}r+7(jYUjZj¯1jbjõ!jdj]jf}r,7(jh]ji]jj]jk]jn]ujpMÙjqhjr]r-7j`)�r.7}r/7(jYUjcKjZj*7jbjõ!jdjpjf}r07(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�r17}r27(jYXDownload the Full CCS Projectr37jZj¯1jbjõ!jdjíjf}r47(jk]r57Udownload-the-full-ccs-projectr67ajj]jh]ji]jn]r77hŽaujpNjqhjr]r87j{XDownload the Full CCS Projectr97…�r:7}r;7(jYj37jZj17ubaubjZ)�r<7}r=7(jYUjZj¯1jbjõ!jdj]jf}r>7(jh]ji]jj]jk]jn]ujpMÞjqhjr]r?7j`)�r@7}rA7(jYUjcKjZj<7jbjõ!jdjpjf}rB7(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rC7}rD7(jYXŸ`GPIO_LedBlink_evmAM572x_c66xExampleProject_with_ipc.zip `__rE7jZj¯1jbjõ!jdj¥jf}rF7(jh]ji]jj]jk]jn]ujpMßjqhjr]rG7jÜ)�rH7}rI7(jYjE7jf}rJ7(UnameX7GPIO_LedBlink_evmAM572x_c66xExampleProject_with_ipc.zipjXahttp://processors.wiki.ti.com/images/c/c9/GPIO_LedBlink_evmAM572x_c66xExampleProject_with_ipc.zipjk]jj]jh]ji]jn]ujZjC7jr]rK7j{X7GPIO_LedBlink_evmAM572x_c66xExampleProject_with_ipc.ziprL7…�rM7}rN7(jYUjZjH7ubajdjàubaubjè)�rO7}rP7(jYX8Adding IPC to an existing TI RTOS application on the IPUrQ7jZj¯1jbjõ!jdjíjf}rR7(jk]rS7U8adding-ipc-to-an-existing-ti-rtos-application-on-the-ipurT7ajj]jh]ji]jn]rU7hgaujpNjqhjr]rV7j{X8Adding IPC to an existing TI RTOS application on the IPUrW7…�rX7}rY7(jYjQ7jZjO7ubaubjZ)�rZ7}r[7(jYUjZj¯1jbjõ!jdj]jf}r\7(jh]ji]jj]jk]jn]ujpMäjqhjr]r]7j`)�r^7}r_7(jYUjcKjZjZ7jbjõ!jdjpjf}r`7(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�ra7}rb7(jYXLA common thing people want to do is take an existing IPU application that may be controlling serial or control interfaces and add IPC to it so that the firmware can be loaded from the ARM. This is common when migrating from a IPU only solution to a heterogeneous SoC with an MPUSS (ARM) and IPUSS. This is the focus of this section.rc7jZj¯1jbjõ!jdj¥jf}rd7(jh]ji]jj]jk]jn]ujpMåjqhjr]re7j{XLA common thing people want to do is take an existing IPU application that may be controlling serial or control interfaces and add IPC to it so that the firmware can be loaded from the ARM. This is common when migrating from a IPU only solution to a heterogeneous SoC with an MPUSS (ARM) and IPUSS. This is the focus of this section.rf7…�rg7}rh7(jYjc7jZja7ubaubjZ)�ri7}rj7(jYUjZj¯1jbjõ!jdj]jf}rk7(jh]ji]jj]jk]jn]ujpMëjqhjr]rl7j`)�rm7}rn7(jYUjcKjZji7jbjõ!jdjpjf}ro7(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rp7}rq7(jYXzIn order to describe this process, we need an example TI RTOS test case to work with. For this purpose, we'll be using the UART_BasicExample_evmAM572x_m4ExampleProject example that's part of the PDK (installed as part of the Processor SDK RTOS). This example uses TI RTOS and does serial IO using UART3 port on the AM572x GP EVM, it's labeled Serial Debug on the EVM silkscreen.rr7jZj¯1jbjõ!jdj¥jf}rs7(jh]ji]jj]jk]jn]ujpMìjqhjr]rt7j{XzIn order to describe this process, we need an example TI RTOS test case to work with. For this purpose, we'll be using the UART_BasicExample_evmAM572x_m4ExampleProject example that's part of the PDK (installed as part of the Processor SDK RTOS). This example uses TI RTOS and does serial IO using UART3 port on the AM572x GP EVM, it's labeled Serial Debug on the EVM silkscreen.ru7…�rv7}rw7(jYjr7jZjp7ubaubjZ)�rx7}ry7(jYUjZj¯1jbjõ!jdj]jf}rz7(jh]ji]jj]jk]jn]ujpMójqhjr]r{7j`)�r|7}r}7(jYUjcKjZjx7jbjõ!jdjpjf}r~7(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r7}r€7(jYXuThere were several steps taken to make this whole process work, each of which will be described in following sectionsr�7jZj¯1jbjõ!jdj¥jf}r‚7(jh]ji]jj]jk]jn]ujpMõjqhjr]rƒ7j{XuThere were several steps taken to make this whole process work, each of which will be described in following sectionsr„7…�r…7}r†7(jYj�7jZj7ubaubj%)�r‡7}rˆ7(jYUjZj¯1jbjõ!jdj(jf}r‰7(j*U.jk]jj]jh]j+Uji]jn]j,j-ujpMøjqhjr]rŠ7(j/)�r‹7}rŒ7(jYXXBuild and run the out-of-box UART M4 example on the EVM using Code Composer Studio (CCS)jZj‡7jbjõ!jdj2jf}r�7(jh]ji]jj]jk]jn]ujpNjqhjr]rŽ7j¡)�r�7}r�7(jYXXBuild and run the out-of-box UART M4 example on the EVM using Code Composer Studio (CCS)r‘7jZj‹7jbjõ!jdj¥jf}r’7(jh]ji]jj]jk]jn]ujpMøjr]r“7j{XXBuild and run the out-of-box UART M4 example on the EVM using Code Composer Studio (CCS)r”7…�r•7}r–7(jYj‘7jZj�7ubaubaubj/)�r—7}r˜7(jYX"Build and run the ex02_messageQ example from the IPC software bundle and turn it into a CCS project. Build it and modify the Linux startup code to use this new image. This is just a sanity check step to make sure we can build the IPC examples in CCS and have them run at boot up on the EVM.jZj‡7jbjõ!jdj2jf}r™7(jh]ji]jj]jk]jn]ujpNjqhjr]rš7j¡)�r›7}rœ7(jYX"Build and run the ex02_messageQ example from the IPC software bundle and turn it into a CCS project. Build it and modify the Linux startup code to use this new image. This is just a sanity check step to make sure we can build the IPC examples in CCS and have them run at boot up on the EVM.r�7jZj—7jbjõ!jdj¥jf}rž7(jh]ji]jj]jk]jn]ujpMújr]rŸ7j{X"Build and run the ex02_messageQ example from the IPC software bundle and turn it into a CCS project. Build it and modify the Linux startup code to use this new image. This is just a sanity check step to make sure we can build the IPC examples in CCS and have them run at boot up on the EVM.r 7…�r¡7}r¢7(jYj�7jZj›7ubaubaubj/)�r£7}r¤7(jYXIn CCS, make a clone of the out-of-box UART M4 example and rename it to denote it's the IPC version of the example. Then using the ex02_messageq example as a reference, add in the IPC pieces to the UART example code. Build from CCS then add it to the Linux firmware folder. jZj‡7jbjõ!jdj2jf}r¥7(jh]ji]jj]jk]jn]ujpNjqhjr]r¦7j¡)�r§7}r¨7(jYXIn CCS, make a clone of the out-of-box UART M4 example and rename it to denote it's the IPC version of the example. Then using the ex02_messageq example as a reference, add in the IPC pieces to the UART example code. Build from CCS then add it to the Linux firmware folder.r©7jZj£7jbjõ!jdj¥jf}rª7(jh]ji]jj]jk]jn]ujpMÿjr]r«7j{XIn CCS, make a clone of the out-of-box UART M4 example and rename it to denote it's the IPC version of the example. Then using the ex02_messageq example as a reference, add in the IPC pieces to the UART example code. Build from CCS then add it to the Linux firmware folder.r¬7…�r­7}r®7(jYj©7jZj§7ubaubaubeubjè)�r¯7}r°7(jYX,Running UART Read/Write PDK Example from CCSr±7jZj¯1jbjõ!jdjíjf}r²7(jk]r³7U+running-uart-readwrite-pdk-example-from-ccsr´7ajj]jh]ji]jn]rµ7h aujpNjqhjr]r¶7j{X,Running UART Read/Write PDK Example from CCSr·7…�r¸7}r¹7(jYj±7jZj¯7ubaubj¡)�rº7}r»7(jYXÆDevelopers are required to run pdkProjectCreate script to generate this example as described in the `Processor SDK RTOS wiki article `__.jZj¯1jbjõ!jdj¥jf}r¼7(jh]ji]jj]jk]jn]ujpMjqhjr]r½7(j{XdDevelopers are required to run pdkProjectCreate script to generate this example as described in the r¾7…�r¿7}rÀ7(jYXdDevelopers are required to run pdkProjectCreate script to generate this example as described in the jZjº7ubjÜ)�rÁ7}rÂ7(jYXa`Processor SDK RTOS wiki article `__jf}rÃ7(UnameXProcessor SDK RTOS wiki articlejX;index_how_to_guides.html#rebuild-drivers-from-pdk-directoryjk]jj]jh]ji]jn]ujZjº7jr]rÄ7j{XProcessor SDK RTOS wiki articlerÅ7…�rÆ7}rÇ7(jYUjZjÁ7ubajdjàubj{X.…�rÈ7}rÉ7(jYX.jZjº7ubeubj¡)�rÊ7}rË7(jYXDFor the UART M4 example run the script with the following arguments:rÌ7jZj¯1jbjõ!jdj¥jf}rÍ7(jh]ji]jj]jk]jn]ujpM jqhjr]rÎ7j{XDFor the UART M4 example run the script with the following arguments:rÏ7…�rÐ7}rÑ7(jYjÌ7jZjÊ7ubaubj)�rÒ7}rÓ7(jYX4pdkProjectCreate.bat AM572x evmAM572x little uart m4jZj¯1jbjõ!jdjjf}rÔ7(jöj÷jk]jj]jh]ji]jn]ujpM�jqhjr]rÕ7j{X4pdkProjectCreate.bat AM572x evmAM572x little uart m4rÖ7…�r×7}rØ7(jYUjZjÒ7ubaubjZ)�rÙ7}rÚ7(jYUjZj¯1jbjõ!jdj]jf}rÛ7(jh]ji]jj]jk]jn]ujpMjqhjr]rÜ7(j`)�rÝ7}rÞ7(jYUjcKjZjÙ7jbjõ!jdjpjf}rß7(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�rà7}rá7(jYUjcKjZjÙ7jbjõ!jdjpjf}râ7(jh]ji]jj]jk]jn]ujpKjqhjr]ubeubj¡)�rã7}rä7(jYX²After you run the script, you can find the UART M4 example project at /pdk_am57xx_1_0_4/packages/MyExampleProjects/UART_BasicExample_evmAM572x_m4ExampleProject.rå7jZj¯1jbjõ!jdj¥jf}ræ7(jh]ji]jj]jk]jn]ujpMjqhjr]rç7j{X²After you run the script, you can find the UART M4 example project at /pdk_am57xx_1_0_4/packages/MyExampleProjects/UART_BasicExample_evmAM572x_m4ExampleProject.rè7…�ré7}rê7(jYjå7jZjã7ubaubj¡)�rë7}rì7(jYXÔImport the project in CCS and build the example. You can now connect to the EVM using an emulator and CCS using the instructions provided here: http://processors.wiki.ti.com/index.php/AM572x_GP_EVM_Hardware_SetupjZj¯1jbjõ!jdj¥jf}rí7(jh]ji]jj]jk]jn]ujpMjqhjr]rî7(j{X�Import the project in CCS and build the example. You can now connect to the EVM using an emulator and CCS using the instructions provided here: rï7…�rð7}rñ7(jYX�Import the project in CCS and build the example. You can now connect to the EVM using an emulator and CCS using the instructions provided here: jZjë7ubjÜ)�rò7}ró7(jYXDhttp://processors.wiki.ti.com/index.php/AM572x_GP_EVM_Hardware_Setuprô7jf}rõ7(Urefurijô7jk]jj]jh]ji]jn]ujZjë7jr]rö7j{XDhttp://processors.wiki.ti.com/index.php/AM572x_GP_EVM_Hardware_Setupr÷7…�rø7}rù7(jYUjZjò7ubajdjàubeubj¡)�rú7}rû7(jYX÷Connect to the ARM core and make sure GEL runs multicore initialization and brings the IPUSS out of reset. Connect to IPU2 core0 and load and run the M4 UART example. When you run the code you should see the following log on the serial IO console:rü7jZj¯1jbjõ!jdj¥jf}rý7(jh]ji]jj]jk]jn]ujpMjqhjr]rþ7j{X÷Connect to the ARM core and make sure GEL runs multicore initialization and brings the IPUSS out of reset. Connect to IPU2 core0 and load and run the M4 UART example. When you run the code you should see the following log on the serial IO console:rÿ7…�r8}r8(jYjü7jZjú7ubaubj)�r8}r8(jYXøuart driver and utils example test cases : Enter 16 characters or press Esc 1234567890123456 <- user input Data received is 1234567890123456 <- loopback from user input uart driver and utils example test cases : Enter 16 characters or press EscjZj¯1jbjõ!jdjjf}r8(jöj÷jk]jj]jh]ji]jn]ujpM¯jqhjr]r8j{Xøuart driver and utils example test cases : Enter 16 characters or press Esc 1234567890123456 <- user input Data received is 1234567890123456 <- loopback from user input uart driver and utils example test cases : Enter 16 characters or press Escr8…�r8}r8(jYUjZj8ubaubjZ)�r 8}r 8(jYUjZj¯1jbjõ!jdj]jf}r 8(jh]ji]jj]jk]jn]ujpM*jqhjr]r 8j`)�r 8}r8(jYUjcKjZj 8jbjõ!jdjpjf}r8(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjZ)�r8}r8(jYUjZj¯1jbjõ!jdj]jf}r8(jh]ji]jj]jk]jn]ujpM,jqhjr]r8j`)�r8}r8(jYUjcKjZj8jbjõ!jdjpjf}r8(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�r8}r8(jYX'Build and Run ex02_messageq IPC exampler8jZj¯1jbjõ!jdjíjf}r8(jk]r8U'build-and-run-ex02-messageq-ipc-exampler8ajj]jh]ji]jn]r8h¼aujpNjqhjr]r8j{X'Build and Run ex02_messageq IPC exampler8…�r 8}r!8(jYj8jZj8ubaubj¡)�r"8}r#8(jYX¨Follow instructions described in Article `Run IPC Linux Examples `__jZj¯1jbjõ!jdj¥jf}r$8(jh]ji]jj]jk]jn]ujpM1jqhjr]r%8(j{X)Follow instructions described in Article r&8…�r'8}r(8(jYX)Follow instructions described in Article jZj"8ubjÜ)�r)8}r*8(jYX`Run IPC Linux Examples `__jf}r+8(UnameXRun IPC Linux ExamplesjXbhttp://processors.wiki.ti.com/index.php/Processor_SDK_IPC_Quick_Start_Guide#Run_IPC_Linux_examplesjk]jj]jh]ji]jn]ujZj"8jr]r,8j{XRun IPC Linux Examplesr-8…�r.8}r/8(jYUjZj)8ubajdjàubeubjè)�r08}r18(jYXLUpdate Linux Kernel device tree to remove UART that will be controlled by M4r28jZj¯1jbjõ!jdjíjf}r38(jk]r48ULupdate-linux-kernel-device-tree-to-remove-uart-that-will-be-controlled-by-m4r58ajj]jh]ji]jn]r68j&aujpNjqhjr]r78j{XLUpdate Linux Kernel device tree to remove UART that will be controlled by M4r88…�r98}r:8(jYj28jZj08ubaubj¡)�r;8}r<8(jYXÊ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.r=8jZj¯1jbjõ!jdj¥jf}r>8(jh]ji]jj]jk]jn]ujpM8jqhjr]r?8j{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.r@8…�rA8}rB8(jYj=8jZj;8ubaubj¡)�rC8}rD8(jYXrThe uart3 node is disabled in kernel using device tree. Also this restricts kernel to put those IPs to sleep mode.rE8jZj¯1jbjõ!jdj¥jf}rF8(jh]ji]jj]jk]jn]ujpM<jqhjr]rG8j{XrThe uart3 node is disabled in kernel using device tree. Also this restricts kernel to put those IPs to sleep mode.rH8…�rI8}rJ8(jYjE8jZjC8ubaubj)�rK8}rL8(jYX4&uart3 { status = "disabled"; ti,no-idle; };jZj¯1jbjõ!jdjjf}rM8(jöj÷jk]jj]jh]ji]jn]ujpMÎjqhjr]rN8j{X4&uart3 { status = "disabled"; ti,no-idle; };rO8…�rP8}rQ8(jYUjZjK8ubaubjè)�rR8}rS8(jYXAdd IPC to the UART ExamplerT8jZj¯1jbjõ!jdjíjf}rU8(jk]rV8Uadd-ipc-to-the-uart-examplerW8ajj]jh]ji]jn]rX8hæaujpNjqhjr]rY8j{XAdd IPC to the UART ExamplerZ8…�r[8}r\8(jYjT8jZjR8ubaubj¡)�r]8}r^8(jYX©The first step is to clone our out-of-box UART example CCS project and rename it to denote it's using IPC. The easiest way to do this is using CCS. Here are the steps...r_8jZj¯1jbjõ!jdj¥jf}r`8(jh]ji]jj]jk]jn]ujpMIjqhjr]ra8j{X©The first step is to clone our out-of-box UART example CCS project and rename it to denote it's using IPC. The easiest way to do this is using CCS. Here are the steps...rb8…�rc8}rd8(jYj_8jZj]8ubaubjC)�re8}rf8(jYUjZj¯1jbjõ!jdj`jf}rg8(jGX-jk]jj]jh]ji]jn]ujpMMjqhjr]rh8(j/)�ri8}rj8(jYXçIn the *Edit* perspective, go into your *Project Explorer* window and right click on your UART_BasicExample_evmAM572x_m4ExampleProject project and select *copy* from the pop-up menu. Maske sure the project is not is a closed state.jZje8jbjõ!jdj2jf}rk8(jh]ji]jj]jk]jn]ujpNjqhjr]rl8j¡)�rm8}rn8(jYXçIn the *Edit* perspective, go into your *Project Explorer* window and right click on your UART_BasicExample_evmAM572x_m4ExampleProject project and select *copy* from the pop-up menu. Maske sure the project is not is a closed state.jZji8jbjõ!jdj¥jf}ro8(jh]ji]jj]jk]jn]ujpMMjr]rp8(j{XIn the rq8…�rr8}rs8(jYXIn the jZjm8ubjŸ')�rt8}ru8(jYX*Edit*jf}rv8(jh]ji]jj]jk]jn]ujZjm8jr]rw8j{XEditrx8…�ry8}rz8(jYUjZjt8ubajdj§'ubj{X perspective, go into your r{8…�r|8}r}8(jYX perspective, go into your jZjm8ubjŸ')�r~8}r8(jYX*Project Explorer*jf}r€8(jh]ji]jj]jk]jn]ujZjm8jr]r�8j{XProject Explorerr‚8…�rƒ8}r„8(jYUjZj~8ubajdj§'ubj{X` window and right click on your UART_BasicExample_evmAM572x_m4ExampleProject project and select r…8…�r†8}r‡8(jYX` window and right click on your UART_BasicExample_evmAM572x_m4ExampleProject project and select jZjm8ubjŸ')�rˆ8}r‰8(jYX*copy*jf}rŠ8(jh]ji]jj]jk]jn]ujZjm8jr]r‹8j{XcopyrŒ8…�r�8}rŽ8(jYUjZjˆ8ubajdj§'ubj{XG from the pop-up menu. Maske sure the project is not is a closed state.r�8…�r�8}r‘8(jYXG from the pop-up menu. Maske sure the project is not is a closed state.jZjm8ubeubaubj/)�r’8}r“8(jYXLRick click in and empty area of the project explorer window and select past.jZje8jbjõ!jdj2jf}r”8(jh]ji]jj]jk]jn]ujpNjqhjr]r•8j¡)�r–8}r—8(jYXLRick click in and empty area of the project explorer window and select past.r˜8jZj’8jbjõ!jdj¥jf}r™8(jh]ji]jj]jk]jn]ujpMQjr]rš8j{XLRick click in and empty area of the project explorer window and select past.r›8…�rœ8}r�8(jYj˜8jZj–8ubaubaubj/)�rž8}rŸ8(jYX†A dialog box pops up, modify the name to denote it's using IPC. A good name is UART_BasicExample_evmAM572x_m4ExampleProject_with_ipc. jZje8jbjõ!jdj2jf}r 8(jh]ji]jj]jk]jn]ujpNjqhjr]r¡8j¡)�r¢8}r£8(jYX…A dialog box pops up, modify the name to denote it's using IPC. A good name is UART_BasicExample_evmAM572x_m4ExampleProject_with_ipc.r¤8jZjž8jbjõ!jdj¥jf}r¥8(jh]ji]jj]jk]jn]ujpMSjr]r¦8j{X…A dialog box pops up, modify the name to denote it's using IPC. A good name is UART_BasicExample_evmAM572x_m4ExampleProject_with_ipc.r§8…�r¨8}r©8(jYj¤8jZj¢8ubaubaubeubjZ)�rª8}r«8(jYUjZj¯1jbjõ!jdj]jf}r¬8(jh]ji]jj]jk]jn]ujpMVjqhjr]r­8j`)�r®8}r¯8(jYUjcKjZjª8jbjõ!jdjpjf}r°8(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r±8}r²8(jYX­This is the project we'll be working with from here on. The next thing we want to do is select the proper RTSC platform and other components. To do this, follow these steps.r³8jZj¯1jbjõ!jdj¥jf}r´8(jh]ji]jj]jk]jn]ujpMXjqhjr]rµ8j{X­This is the project we'll be working with from here on. The next thing we want to do is select the proper RTSC platform and other components. To do this, follow these steps.r¶8…�r·8}r¸8(jYj³8jZj±8ubaubjC)�r¹8}rº8(jYUjZj¯1jbjõ!jdj`jf}r»8(jGX-jk]jj]jh]ji]jn]ujpM\jqhjr]r¼8(j/)�r½8}r¾8(jYXhRight click on the UART_BasicExample_evmAM572x_m4ExampleProject_with_ipc project and select *Properties*jZj¹8jbjõ!jdj2jf}r¿8(jh]ji]jj]jk]jn]ujpNjqhjr]rÀ8j¡)�rÁ8}rÂ8(jYXhRight click on the UART_BasicExample_evmAM572x_m4ExampleProject_with_ipc project and select *Properties*jZj½8jbjõ!jdj¥jf}rÃ8(jh]ji]jj]jk]jn]ujpM\jr]rÄ8(j{X\Right click on the UART_BasicExample_evmAM572x_m4ExampleProject_with_ipc project and select rÅ8…�rÆ8}rÇ8(jYX\Right click on the UART_BasicExample_evmAM572x_m4ExampleProject_with_ipc project and select jZjÁ8ubjŸ')�rÈ8}rÉ8(jYX *Properties*jf}rÊ8(jh]ji]jj]jk]jn]ujZjÁ8jr]rË8j{X PropertiesrÌ8…�rÍ8}rÎ8(jYUjZjÈ8ubajdj§'ubeubaubj/)�rÏ8}rÐ8(jYX.In the left hand pane, click on *CCS General*.rÑ8jZj¹8jbjõ!jdj2jf}rÒ8(jh]ji]jj]jk]jn]ujpNjqhjr]rÓ8j¡)�rÔ8}rÕ8(jYjÑ8jZjÏ8jbjõ!jdj¥jf}rÖ8(jh]ji]jj]jk]jn]ujpM_jr]r×8(j{X In the left hand pane, click on rØ8…�rÙ8}rÚ8(jYX In the left hand pane, click on jZjÔ8ubjŸ')�rÛ8}rÜ8(jYX *CCS General*jf}rÝ8(jh]ji]jj]jk]jn]ujZjÔ8jr]rÞ8j{X CCS Generalrß8…�rà8}rá8(jYUjZjÛ8ubajdj§'ubj{X.…�râ8}rã8(jYX.jZjÔ8ubeubaubj/)�rä8}rå8(jYX/On the right hand side, click on the *RTSC* tabræ8jZj¹8jbjõ!jdj2jf}rç8(jh]ji]jj]jk]jn]ujpNjqhjr]rè8j¡)�ré8}rê8(jYjæ8jZjä8jbjõ!jdj¥jf}rë8(jh]ji]jj]jk]jn]ujpM`jr]rì8(j{X%On the right hand side, click on the rí8…�rî8}rï8(jYX%On the right hand side, click on the jZjé8ubjŸ')�rð8}rñ8(jYX*RTSC*jf}rò8(jh]ji]jj]jk]jn]ujZjé8jr]ró8j{XRTSCrô8…�rõ8}rö8(jYUjZjð8ubajdj§'ubj{X tabr÷8…�rø8}rù8(jYX tabjZjé8ubeubaubj/)�rú8}rû8(jYX-For *XDCtools version:* select 3.xx.x.xx_corerü8jZj¹8jbjõ!jdj2jf}rý8(jh]ji]jj]jk]jn]ujpNjqhjr]rþ8j¡)�rÿ8}r9(jYjü8jZjú8jbjõ!jdj¥jf}r9(jh]ji]jj]jk]jn]ujpMajr]r9(j{XFor r9…�r9}r9(jYXFor jZjÿ8ubjŸ')�r9}r9(jYX*XDCtools version:*jf}r9(jh]ji]jj]jk]jn]ujZjÿ8jr]r 9j{XXDCtools version:r 9…�r 9}r 9(jYUjZj9ubajdj§'ubj{X select 3.xx.x.xx_corer 9…�r9}r9(jYX select 3.xx.x.xx_corejZjÿ8ubeubaubj/)�r9}r9(jYX�In the list of *Products and Repositories*, *check* the following... - IPC 3.xx.x.xx - SYS/BIOS 6.4x.x.xx - am57xx PDK x.x.x jZj¹8jbNjdj2jf}r9(jh]ji]jj]jk]jn]ujpNjqhjr]r9(j¡)�r9}r9(jYXDIn the list of *Products and Repositories*, *check* the following...jZj9jbjõ!jdj¥jf}r9(jh]ji]jj]jk]jn]ujpMbjr]r9(j{XIn the list of r9…�r9}r9(jYXIn the list of jZj9ubjŸ')�r9}r9(jYX*Products and Repositories*jf}r9(jh]ji]jj]jk]jn]ujZj9jr]r9j{XProducts and Repositoriesr9…�r 9}r!9(jYUjZj9ubajdj§'ubj{X, r"9…�r#9}r$9(jYX, jZj9ubjŸ')�r%9}r&9(jYX*check*jf}r'9(jh]ji]jj]jk]jn]ujZj9jr]r(9j{Xcheckr)9…�r*9}r+9(jYUjZj%9ubajdj§'ubj{X the following...r,9…�r-9}r.9(jYX the following...jZj9ubeubjC)�r/9}r09(jYUjf}r19(jGX-jk]jj]jh]ji]jn]ujZj9jr]r29(j/)�r39}r49(jYX IPC 3.xx.x.xxr59jf}r69(jh]ji]jj]jk]jn]ujZj/9jr]r79j¡)�r89}r99(jYj59jZj39jbjõ!jdj¥jf}r:9(jh]ji]jj]jk]jn]ujpMdjr]r;9j{X IPC 3.xx.x.xxr<9…�r=9}r>9(jYj59jZj89ubaubajdj2ubj/)�r?9}r@9(jYXSYS/BIOS 6.4x.x.xxrA9jf}rB9(jh]ji]jj]jk]jn]ujZj/9jr]rC9j¡)�rD9}rE9(jYjA9jZj?9jbjõ!jdj¥jf}rF9(jh]ji]jj]jk]jn]ujpMejr]rG9j{XSYS/BIOS 6.4x.x.xxrH9…�rI9}rJ9(jYjA9jZjD9ubaubajdj2ubj/)�rK9}rL9(jYXam57xx PDK x.x.x jf}rM9(jh]ji]jj]jk]jn]ujZj/9jr]rN9j¡)�rO9}rP9(jYXam57xx PDK x.x.xrQ9jZjK9jbjõ!jdj¥jf}rR9(jh]ji]jj]jk]jn]ujpMfjr]rS9j{Xam57xx PDK x.x.xrT9…�rU9}rV9(jYjQ9jZjO9ubaubajdj2ubejdj`ubeubj/)�rW9}rX9(jYX.For *Target*, select **ti.targets.arm.elf.M4**rY9jZj¹8jbjõ!jdj2jf}rZ9(jh]ji]jj]jk]jn]ujpNjqhjr]r[9j¡)�r\9}r]9(jYjY9jZjW9jbjõ!jdj¥jf}r^9(jh]ji]jj]jk]jn]ujpMhjr]r_9(j{XFor r`9…�ra9}rb9(jYXFor jZj\9ubjŸ')�rc9}rd9(jYX*Target*jf}re9(jh]ji]jj]jk]jn]ujZj\9jr]rf9j{XTargetrg9…�rh9}ri9(jYUjZjc9ubajdj§'ubj{X , select rj9…�rk9}rl9(jYX , select jZj\9ubjü)�rm9}rn9(jYX**ti.targets.arm.elf.M4**jf}ro9(jh]ji]jj]jk]jn]ujZj\9jr]rp9j{Xti.targets.arm.elf.M4rq9…�rr9}rs9(jYUjZjm9ubajdjubeubaubj/)�rt9}ru9(jYX1For *Platform*, select **ti.platforms.evmDRA7XX**rv9jZj¹8jbjõ!jdj2jf}rw9(jh]ji]jj]jk]jn]ujpNjqhjr]rx9j¡)�ry9}rz9(jYjv9jZjt9jbjõ!jdj¥jf}r{9(jh]ji]jj]jk]jn]ujpMijr]r|9(j{XFor r}9…�r~9}r9(jYXFor jZjy9ubjŸ')�r€9}r�9(jYX *Platform*jf}r‚9(jh]ji]jj]jk]jn]ujZjy9jr]rƒ9j{XPlatformr„9…�r…9}r†9(jYUjZj€9ubajdj§'ubj{X , select r‡9…�rˆ9}r‰9(jYX , select jZjy9ubjü)�rŠ9}r‹9(jYX**ti.platforms.evmDRA7XX**jf}rŒ9(jh]ji]jj]jk]jn]ujZjy9jr]r�9j{Xti.platforms.evmDRA7XXrŽ9…�r�9}r�9(jYUjZjŠ9ubajdjubeubaubj/)�r‘9}r’9(jYX‡Once the platform is selected, edit its name buy hand and append :ipu2 to the end. After this it should be ti.platforms.evmDRA7XX:ipu2jZj¹8jbjõ!jdj2jf}r“9(jh]ji]jj]jk]jn]ujpNjqhjr]r”9j¡)�r•9}r–9(jYX‡Once the platform is selected, edit its name buy hand and append :ipu2 to the end. After this it should be ti.platforms.evmDRA7XX:ipu2r—9jZj‘9jbjõ!jdj¥jf}r˜9(jh]ji]jj]jk]jn]ujpMjjr]r™9j{X‡Once the platform is selected, edit its name buy hand and append :ipu2 to the end. After this it should be ti.platforms.evmDRA7XX:ipu2rš9…�r›9}rœ9(jYj—9jZj•9ubaubaubj/)�r�9}rž9(jYX4Go ahead and leave the *Build-profile* set to debug.rŸ9jZj¹8jbjõ!jdj2jf}r 9(jh]ji]jj]jk]jn]ujpNjqhjr]r¡9j¡)�r¢9}r£9(jYjŸ9jZj�9jbjõ!jdj¥jf}r¤9(jh]ji]jj]jk]jn]ujpMmjr]r¥9(j{XGo ahead and leave the r¦9…�r§9}r¨9(jYXGo ahead and leave the jZj¢9ubjŸ')�r©9}rª9(jYX*Build-profile*jf}r«9(jh]ji]jj]jk]jn]ujZj¢9jr]r¬9j{X Build-profiler­9…�r®9}r¯9(jYUjZj©9ubajdj§'ubj{X set to debug.r°9…�r±9}r²9(jYX set to debug.jZj¢9ubeubaubj/)�r³9}r´9(jYXHit the OK button. jZj¹8jbjõ!jdj2jf}rµ9(jh]ji]jj]jk]jn]ujpNjqhjr]r¶9j¡)�r·9}r¸9(jYXHit the OK button.r¹9jZj³9jbjõ!jdj¥jf}rº9(jh]ji]jj]jk]jn]ujpMnjr]r»9j{XHit the OK button.r¼9…�r½9}r¾9(jYj¹9jZj·9ubaubaubeubjZ)�r¿9}rÀ9(jYUjZj¯1jbjõ!jdj]jf}rÁ9(jh]ji]jj]jk]jn]ujpMpjqhjr]rÂ9j`)�rÃ9}rÄ9(jYUjcKjZj¿9jbjõ!jdjpjf}rÅ9(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rÆ9}rÇ9(jYXYNow we want to copy configuration and source files from the ex02_messageq IPC example into our project. The IPC example is located at *C:/ti/ipc_3_xx_xx_xx/examples/DRA7XX_linux_elf/ex02_messageq*. To copy files into your CCS project, you can simply select the files you want in Windows explorer then drag and drop them into your project in CCS.jZj¯1jbjõ!jdj¥jf}rÈ9(jh]ji]jj]jk]jn]ujpMrjqhjr]rÉ9(j{X†Now we want to copy configuration and source files from the ex02_messageq IPC example into our project. The IPC example is located at rÊ9…�rË9}rÌ9(jYX†Now we want to copy configuration and source files from the ex02_messageq IPC example into our project. The IPC example is located at jZjÆ9ubjŸ')�rÍ9}rÎ9(jYX>*C:/ti/ipc_3_xx_xx_xx/examples/DRA7XX_linux_elf/ex02_messageq*jf}rÏ9(jh]ji]jj]jk]jn]ujZjÆ9jr]rÐ9j{X<C:/ti/ipc_3_xx_xx_xx/examples/DRA7XX_linux_elf/ex02_messageqrÑ9…�rÒ9}rÓ9(jYUjZjÍ9ubajdj§'ubj{X•. To copy files into your CCS project, you can simply select the files you want in Windows explorer then drag and drop them into your project in CCS.rÔ9…�rÕ9}rÖ9(jYX•. To copy files into your CCS project, you can simply select the files you want in Windows explorer then drag and drop them into your project in CCS.jZjÆ9ubeubj¡)�r×9}rØ9(jYX)Copy these files into your CCS project...rÙ9jZj¯1jbjõ!jdj¥jf}rÚ9(jh]ji]jj]jk]jn]ujpMyjqhjr]rÛ9j{X)Copy these files into your CCS project...rÜ9…�rÝ9}rÞ9(jYjÙ9jZj×9ubaubjC)�rß9}rà9(jYUjZj¯1jbjõ!jdj`jf}rá9(jGX-jk]jj]jh]ji]jn]ujpM{jqhjr]râ9(j/)�rã9}rä9(jYXOC:/ti/ipc_3_xx_xx_xx/examples/DRA7XX_linux_elf/ex02_messageq/shared/AppCommon.hrå9jZjß9jbjõ!jdj2jf}ræ9(jh]ji]jj]jk]jn]ujpNjqhjr]rç9j¡)�rè9}ré9(jYjå9jZjã9jbjõ!jdj¥jf}rê9(jh]ji]jj]jk]jn]ujpM{jr]rë9j{XOC:/ti/ipc_3_xx_xx_xx/examples/DRA7XX_linux_elf/ex02_messageq/shared/AppCommon.hrì9…�rí9}rî9(jYjå9jZjè9ubaubaubj/)�rï9}rð9(jYXNC:/ti/ipc_3_xx_xx_xx/examples/DRA7XX_linux_elf/ex02_messageq/shared/config.bldrñ9jZjß9jbjõ!jdj2jf}rò9(jh]ji]jj]jk]jn]ujpNjqhjr]ró9j¡)�rô9}rõ9(jYjñ9jZjï9jbjõ!jdj¥jf}rö9(jh]ji]jj]jk]jn]ujpM|jr]r÷9j{XNC:/ti/ipc_3_xx_xx_xx/examples/DRA7XX_linux_elf/ex02_messageq/shared/config.bldrø9…�rù9}rú9(jYjñ9jZjô9ubaubaubj/)�rû9}rü9(jYXOC:/ti/ipc_3_xx_xx_xx/examples/DRA7XX_linux_elf/ex02_messageq/shared/ipc.cfg.xs jZjß9jbjõ!jdj2jf}rý9(jh]ji]jj]jk]jn]ujpNjqhjr]rþ9j¡)�rÿ9}r:(jYXNC:/ti/ipc_3_xx_xx_xx/examples/DRA7XX_linux_elf/ex02_messageq/shared/ipc.cfg.xsr:jZjû9jbjõ!jdj¥jf}r:(jh]ji]jj]jk]jn]ujpM}jr]r:j{XNC:/ti/ipc_3_xx_xx_xx/examples/DRA7XX_linux_elf/ex02_messageq/shared/ipc.cfg.xsr:…�r:}r:(jYj:jZjÿ9ubaubaubeubjZ)�r:}r:(jYUjZj¯1jbjõ!jdj]jf}r :(jh]ji]jj]jk]jn]ujpMjqhjr]r :j`)�r :}r :(jYUjcKjZj:jbjõ!jdjpjf}r :(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r:}r:(jYX-Now copy these files into your CCS project...r:jZj¯1jbjõ!jdj¥jf}r:(jh]ji]jj]jk]jn]ujpM€jqhjr]r:j{X-Now copy these files into your CCS project...r:…�r:}r:(jYj:jZj:ubaubjC)�r:}r:(jYUjZj¯1jbjõ!jdj`jf}r:(jGX-jk]jj]jh]ji]jn]ujpM‚jqhjr]r:(j/)�r:}r:(jYXJC:/ti/ipc_3_xx_xx_xx/examples/DRA7XX_linux_elf/ex02_messageq/ipu2/Ipu2.cfgr:jZj:jbjõ!jdj2jf}r:(jh]ji]jj]jk]jn]ujpNjqhjr]r:j¡)�r:}r :(jYj:jZj:jbjõ!jdj¥jf}r!:(jh]ji]jj]jk]jn]ujpM‚jr]r":j{XJC:/ti/ipc_3_xx_xx_xx/examples/DRA7XX_linux_elf/ex02_messageq/ipu2/Ipu2.cfgr#:…�r$:}r%:(jYj:jZj:ubaubaubj/)�r&:}r':(jYXLC:/ti/ipc_3_xx_xx_xx/examples/DRA7XX_linux_elf/ex02_messageq/ipu2/MainIpu2.cr(:jZj:jbjõ!jdj2jf}r):(jh]ji]jj]jk]jn]ujpNjqhjr]r*:j¡)�r+:}r,:(jYj(:jZj&:jbjõ!jdj¥jf}r-:(jh]ji]jj]jk]jn]ujpMƒjr]r.:j{XLC:/ti/ipc_3_xx_xx_xx/examples/DRA7XX_linux_elf/ex02_messageq/ipu2/MainIpu2.cr/:…�r0:}r1:(jYj(:jZj+:ubaubaubj/)�r2:}r3:(jYXJC:/ti/ipc_3_xx_xx_xx/examples/DRA7XX_linux_elf/ex02_messageq/ipu2/Server.cr4:jZj:jbjõ!jdj2jf}r5:(jh]ji]jj]jk]jn]ujpNjqhjr]r6:j¡)�r7:}r8:(jYj4:jZj2:jbjõ!jdj¥jf}r9:(jh]ji]jj]jk]jn]ujpM„jr]r::j{XJC:/ti/ipc_3_xx_xx_xx/examples/DRA7XX_linux_elf/ex02_messageq/ipu2/Server.cr;:…�r<:}r=:(jYj4:jZj7:ubaubaubj/)�r>:}r?:(jYXKC:/ti/ipc_3_xx_xx_xx/examples/DRA7XX_linux_elf/ex02_messageq/ipu2/Server.h jZj:jbjõ!jdj2jf}r@:(jh]ji]jj]jk]jn]ujpNjqhjr]rA:j¡)�rB:}rC:(jYXJC:/ti/ipc_3_xx_xx_xx/examples/DRA7XX_linux_elf/ex02_messageq/ipu2/Server.hrD:jZj>:jbjõ!jdj¥jf}rE:(jh]ji]jj]jk]jn]ujpM…jr]rF:j{XJC:/ti/ipc_3_xx_xx_xx/examples/DRA7XX_linux_elf/ex02_messageq/ipu2/Server.hrG:…�rH:}rI:(jYjD:jZjB:ubaubaubeubj)�rJ:}rK:(jYX7When you copy Ipu2.cfg into your CCS project, it should show up greyed out. If not, right click and exclude it from build. This is because the UART example already has a cfg file (uart_m4_evmAM572x.cfg). The Ipu2.cfg will be used for copying and pasting. When it's all done, you can delete it from your project.jZj¯1jbjõ!jdjjf}rL:(jh]ji]jj]jk]jn]ujpNjqhjr]rM:j¡)�rN:}rO:(jYX7When you copy Ipu2.cfg into your CCS project, it should show up greyed out. If not, right click and exclude it from build. This is because the UART example already has a cfg file (uart_m4_evmAM572x.cfg). The Ipu2.cfg will be used for copying and pasting. When it's all done, you can delete it from your project.rP:jZjJ:jbjõ!jdj¥jf}rQ:(jh]ji]jj]jk]jn]ujpMˆjr]rR:j{X7When you copy Ipu2.cfg into your CCS project, it should show up greyed out. If not, right click and exclude it from build. This is because the UART example already has a cfg file (uart_m4_evmAM572x.cfg). The Ipu2.cfg will be used for copying and pasting. When it's all done, you can delete it from your project.rS:…�rT:}rU:(jYjP:jZjN:ubaubaubj¡)�rV:}rW:(jYXiFinally, you will likely want to use a custom resource table so copy these files into your CCS project...rX:jZj¯1jbjõ!jdj¥jf}rY:(jh]ji]jj]jk]jn]ujpMŽjqhjr]rZ:j{XiFinally, you will likely want to use a custom resource table so copy these files into your CCS project...r[:…�r\:}r]:(jYjX:jZjV:ubaubjC)�r^:}r_:(jYUjZj¯1jbjõ!jdj`jf}r`:(jGX-jk]jj]jh]ji]jn]ujpM‘jqhjr]ra:(j/)�rb:}rc:(jYXDC:/ti/ipc_3_xx_xx_xx/packages/ti/ipc/remoteproc/rsc_table_vayu_ipu.hrd:jZj^:jbjõ!jdj2jf}re:(jh]ji]jj]jk]jn]ujpNjqhjr]rf:j¡)�rg:}rh:(jYjd:jZjb:jbjõ!jdj¥jf}ri:(jh]ji]jj]jk]jn]ujpM‘jr]rj:j{XDC:/ti/ipc_3_xx_xx_xx/packages/ti/ipc/remoteproc/rsc_table_vayu_ipu.hrk:…�rl:}rm:(jYjd:jZjg:ubaubaubj/)�rn:}ro:(jYX<C:/ti/ipc_3_xx_xx_xx/packages/ti/ipc/remoteproc/rsc_types.h jZj^:jbjõ!jdj2jf}rp:(jh]ji]jj]jk]jn]ujpNjqhjr]rq:j¡)�rr:}rs:(jYX;C:/ti/ipc_3_xx_xx_xx/packages/ti/ipc/remoteproc/rsc_types.hrt:jZjn:jbjõ!jdj¥jf}ru:(jh]ji]jj]jk]jn]ujpM’jr]rv:j{X;C:/ti/ipc_3_xx_xx_xx/packages/ti/ipc/remoteproc/rsc_types.hrw:…�rx:}ry:(jYjt:jZjr:ubaubaubeubj¡)�rz:}r{:(jYX`The rsc_table_vayu_dsp.h file defines an initialized structure so let's make a *.c* source file.jZj¯1jbjõ!jdj¥jf}r|:(jh]ji]jj]jk]jn]ujpM”jqhjr]r}:(j{XOThe rsc_table_vayu_dsp.h file defines an initialized structure so let's make a r~:…�r:}r€:(jYXOThe rsc_table_vayu_dsp.h file defines an initialized structure so let's make a jZjz:ubjŸ')�r�:}r‚:(jYX*.c*jf}rƒ:(jh]ji]jj]jk]jn]ujZjz:jr]r„:j{X.cr…:…�r†:}r‡:(jYUjZj�:ubajdj§'ubj{X source file.rˆ:…�r‰:}rŠ:(jYX source file.jZjz:ubeubjC)�r‹:}rŒ:(jYUjZj¯1jbjõ!jdj`jf}r�:(jGX-jk]jj]jh]ji]jn]ujpM—jqhjr]rŽ:j/)�r�:}r�:(jYXIIn your CCS project, rename rsc_table_vayu_ipu.h to rsc_table_vayu_ipu.c jZj‹:jbjõ!jdj2jf}r‘:(jh]ji]jj]jk]jn]ujpNjqhjr]r’:j¡)�r“:}r”:(jYXHIn your CCS project, rename rsc_table_vayu_ipu.h to rsc_table_vayu_ipu.cr•:jZj�:jbjõ!jdj¥jf}r–:(jh]ji]jj]jk]jn]ujpM—jr]r—:j{XHIn your CCS project, rename rsc_table_vayu_ipu.h to rsc_table_vayu_ipu.cr˜:…�r™:}rš:(jYj•:jZj“:ubaubaubaubjZ)�r›:}rœ:(jYUjZj¯1jbjõ!jdj]jf}r�:(jh]ji]jj]jk]jn]ujpMšjqhjr]rž:j`)�rŸ:}r :(jYUjcKjZj›:jbjõ!jdjpjf}r¡:(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r¢:}r£:(jYX~Now we want to *merge* the IPC example configuration file with the LED blink example configuration file. Follow these steps...jZj¯1jbjõ!jdj¥jf}r¤:(jh]ji]jj]jk]jn]ujpMœjqhjr]r¥:(j{XNow we want to r¦:…�r§:}r¨:(jYXNow we want to jZj¢:ubjŸ')�r©:}rª:(jYX*merge*jf}r«:(jh]ji]jj]jk]jn]ujZj¢:jr]r¬:j{Xmerger­:…�r®:}r¯:(jYUjZj©:ubajdj§'ubj{Xh the IPC example configuration file with the LED blink example configuration file. Follow these steps...r°:…�r±:}r²:(jYXh the IPC example configuration file with the LED blink example configuration file. Follow these steps...jZj¢:ubeubjC)�r³:}r´:(jYUjZj¯1jbjõ!jdj`jf}rµ:(jGX-jk]jj]jh]ji]jn]ujpMŸjqhjr]r¶:(j/)�r·:}r¸:(jYX‚Open up *Ipu2.cfg* using a text editor (don't open it using the GUI). Right click on it and select *Open With -> XDCscript Editor*jZj³:jbjõ!jdj2jf}r¹:(jh]ji]jj]jk]jn]ujpNjqhjr]rº:j¡)�r»:}r¼:(jYX‚Open up *Ipu2.cfg* using a text editor (don't open it using the GUI). Right click on it and select *Open With -> XDCscript Editor*jZj·:jbjõ!jdj¥jf}r½:(jh]ji]jj]jk]jn]ujpMŸjr]r¾:(j{XOpen up r¿:…�rÀ:}rÁ:(jYXOpen up jZj»:ubjŸ')�rÂ:}rÃ:(jYX *Ipu2.cfg*jf}rÄ:(jh]ji]jj]jk]jn]ujZj»:jr]rÅ:j{XIpu2.cfgrÆ:…�rÇ:}rÈ:(jYUjZjÂ:ubajdj§'ubj{XQ using a text editor (don't open it using the GUI). Right click on it and select rÉ:…�rÊ:}rË:(jYXQ using a text editor (don't open it using the GUI). Right click on it and select jZj»:ubjŸ')�rÌ:}rÍ:(jYX*Open With -> XDCscript Editor*jf}rÎ:(jh]ji]jj]jk]jn]ujZj»:jr]rÏ:j{XOpen With -> XDCscript EditorrÐ:…�rÑ:}rÒ:(jYUjZjÌ:ubajdj§'ubeubaubj/)�rÓ:}rÔ:(jYXLWe want to copy the entire contents into the clipboard. Select all and copy.jZj³:jbjõ!jdj2jf}rÕ:(jh]ji]jj]jk]jn]ujpNjqhjr]rÖ:j¡)�r×:}rØ:(jYXLWe want to copy the entire contents into the clipboard. Select all and copy.rÙ:jZjÓ:jbjõ!jdj¥jf}rÚ:(jh]ji]jj]jk]jn]ujpM¡jr]rÛ:j{XLWe want to copy the entire contents into the clipboard. Select all and copy.rÜ:…�rÝ:}rÞ:(jYjÙ:jZj×:ubaubaubj/)�rß:}rà:(jYXìNow just like above, open the uart_m4_evmAM572x.cfg config file in the text editor. Go to the very bottom and *paste* in the contents from the Ipu2.cfg file. Basically we've appended the contents of Ipu2.cfg into uart_m4_evmAM572x.cfg. jZj³:jbjõ!jdj2jf}rá:(jh]ji]jj]jk]jn]ujpNjqhjr]râ:j¡)�rã:}rä:(jYXëNow just like above, open the uart_m4_evmAM572x.cfg config file in the text editor. Go to the very bottom and *paste* in the contents from the Ipu2.cfg file. Basically we've appended the contents of Ipu2.cfg into uart_m4_evmAM572x.cfg.jZjß:jbjõ!jdj¥jf}rå:(jh]ji]jj]jk]jn]ujpM£jr]ræ:(j{XnNow just like above, open the uart_m4_evmAM572x.cfg config file in the text editor. Go to the very bottom and rç:…�rè:}ré:(jYXnNow just like above, open the uart_m4_evmAM572x.cfg config file in the text editor. Go to the very bottom and jZjã:ubjŸ')�rê:}rë:(jYX*paste*jf}rì:(jh]ji]jj]jk]jn]ujZjã:jr]rí:j{Xpasterî:…�rï:}rð:(jYUjZjê:ubajdj§'ubj{Xv in the contents from the Ipu2.cfg file. Basically we've appended the contents of Ipu2.cfg into uart_m4_evmAM572x.cfg.rñ:…�rò:}ró:(jYXv in the contents from the Ipu2.cfg file. Basically we've appended the contents of Ipu2.cfg into uart_m4_evmAM572x.cfg.jZjã:ubeubaubeubjZ)�rô:}rõ:(jYUjZj¯1jbjõ!jdj]jf}rö:(jh]ji]jj]jk]jn]ujpM¨jqhjr]r÷:j`)�rø:}rù:(jYUjcKjZjô:jbjõ!jdjpjf}rú:(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rû:}rü:(jYX¸We've now added in all the necessary configuration and source files into our project. Don't expect it to build at this point, we have to make edits first. These edits are listed below.rý:jZj¯1jbjõ!jdj¥jf}rþ:(jh]ji]jj]jk]jn]ujpMªjqhjr]rÿ:j{X¸We've now added in all the necessary configuration and source files into our project. Don't expect it to build at this point, we have to make edits first. These edits are listed below.r;…�r;}r;(jYjý:jZjû:ubaubj)�r;}r;(jYXxYou can download the full CCS project with source files to use as a reference. See link towards the end of this section.jZj¯1jbjõ!jdjjf}r;(jh]ji]jj]jk]jn]ujpNjqhjr]r;j¡)�r;}r;(jYXxYou can download the full CCS project with source files to use as a reference. See link towards the end of this section.r ;jZj;jbjõ!jdj¥jf}r ;(jh]ji]jj]jk]jn]ujpM¯jr]r ;j{XxYou can download the full CCS project with source files to use as a reference. See link towards the end of this section.r ;…�r ;}r;(jYj ;jZj;ubaubaubjC)�r;}r;(jYUjZj¯1jbjõ!jdj`jf}r;(jGX-jk]jj]jh]ji]jn]ujpM²jqhjr]r;j/)�r;}r;(jYXEdit **uart_m4_evmAM572x.cfg** jZj;jbjõ!jdj2jf}r;(jh]ji]jj]jk]jn]ujpNjqhjr]r;j¡)�r;}r;(jYXEdit **uart_m4_evmAM572x.cfg**jZj;jbjõ!jdj¥jf}r;(jh]ji]jj]jk]jn]ujpM²jr]r;(j{XEdit r;…�r;}r;(jYXEdit jZj;ubjü)�r;}r;(jYX**uart_m4_evmAM572x.cfg**jf}r ;(jh]ji]jj]jk]jn]ujZj;jr]r!;j{Xuart_m4_evmAM572x.cfgr";…�r#;}r$;(jYUjZj;ubajdjubeubaubaubjZ)�r%;}r&;(jYUjZj¯1jbjõ!jdj]jf}r';(jh]ji]jj]jk]jn]ujpM´jqhjr]r(;j`)�r);}r*;(jYUjcKjZj%;jbjõ!jdjpjf}r+;(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r,;}r-;(jYXIAdd the following to the beginning(at the top) of your configuration filer.;jZj¯1jbjõ!jdj¥jf}r/;(jh]ji]jj]jk]jn]ujpMµjqhjr]r0;j{XIAdd the following to the beginning(at the top) of your configuration filer1;…�r2;}r3;(jYj.;jZj,;ubaubj)�r4;}r5;(jYX/var Program = xdc.useModule('xdc.cfg.Program');jZj¯1jbjõ!jdjjf}r6;(jöj÷jk]jj]jh]ji]jn]ujpMGjqhjr]r7;j{X/var Program = xdc.useModule('xdc.cfg.Program');r8;…�r9;}r:;(jYUjZj4;ubaubjZ)�r;;}r<;(jYUjZj¯1jbjõ!jdj]jf}r=;(jh]ji]jj]jk]jn]ujpM¼jqhjr]r>;j`)�r?;}r@;(jYUjcKjZj;;jbjõ!jdjpjf}rA;(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjZ)�rB;}rC;(jYUjZj¯1jbjõ!jdj]jf}rD;(jh]ji]jj]jk]jn]ujpM¾jqhjr]rE;j`)�rF;}rG;(jYUjcKjZjB;jbjõ!jdjpjf}rH;(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rI;}rJ;(jYXGSince we are no longer using a shared folder, make the following changerK;jZj¯1jbjõ!jdj¥jf}rL;(jh]ji]jj]jk]jn]ujpM¿jqhjr]rM;j{XGSince we are no longer using a shared folder, make the following changerN;…�rO;}rP;(jYjK;jZjI;ubaubj)�rQ;}rR;(jYXh//var ipc_cfg = xdc.loadCapsule("../shared/ipc.cfg.xs"); var ipc_cfg = xdc.loadCapsule("../ipc.cfg.xs");jZj¯1jbjõ!jdjjf}rS;(jöj÷jk]jj]jh]ji]jn]ujpMQjqhjr]rT;j{Xh//var ipc_cfg = xdc.loadCapsule("../shared/ipc.cfg.xs"); var ipc_cfg = xdc.loadCapsule("../ipc.cfg.xs");rU;…�rV;}rW;(jYUjZjQ;ubaubjZ)�rX;}rY;(jYUjZj¯1jbjõ!jdj]jf}rZ;(jh]ji]jj]jk]jn]ujpMÇjqhjr]r[;j`)�r\;}r];(jYUjcKjZjX;jbjõ!jdjpjf}r^;(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r_;}r`;(jYXMComment out the following. We'll be calling this function directly from main.ra;jZj¯1jbjõ!jdj¥jf}rb;(jh]ji]jj]jk]jn]ujpMÉjqhjr]rc;j{XMComment out the following. We'll be calling this function directly from main.rd;…�re;}rf;(jYja;jZj_;ubaubj)�rg;}rh;(jYX4//BIOS.addUserStartupFunction('&IpcMgr_ipcStartup');jZj¯1jbjõ!jdjjf}ri;(jöj÷jk]jj]jh]ji]jn]ujpM[jqhjr]rj;j{X4//BIOS.addUserStartupFunction('&IpcMgr_ipcStartup');rk;…�rl;}rm;(jYUjZjg;ubaubjZ)�rn;}ro;(jYUjZj¯1jbjõ!jdj]jf}rp;(jh]ji]jj]jk]jn]ujpMÐjqhjr]rq;j`)�rr;}rs;(jYUjcKjZjn;jbjõ!jdjpjf}rt;(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�ru;}rv;(jYXIncrease the system stack sizerw;jZj¯1jbjõ!jdj¥jf}rx;(jh]ji]jj]jk]jn]ujpMÒjqhjr]ry;j{XIncrease the system stack sizerz;…�r{;}r|;(jYjw;jZju;ubaubj)�r};}r~;(jYX1//Program.stack = 0x1000; Program.stack = 0x8000;jZj¯1jbjõ!jdjjf}r;(jöj÷jk]jj]jh]ji]jn]ujpMcjqhjr]r€;j{X1//Program.stack = 0x1000; Program.stack = 0x8000;r�;…�r‚;}rƒ;(jYUjZj};ubaubjZ)�r„;}r…;(jYUjZj¯1jbjõ!jdj]jf}r†;(jh]ji]jj]jk]jn]ujpMÙjqhjr]r‡;j`)�rˆ;}r‰;(jYUjcKjZj„;jbjõ!jdjpjf}rŠ;(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r‹;}rŒ;(jYX#Comment out the entire TICK sectionr�;jZj¯1jbjõ!jdj¥jf}rŽ;(jh]ji]jj]jk]jn]ujpMÛjqhjr]r�;j{X#Comment out the entire TICK sectionr�;…�r‘;}r’;(jYj�;jZj‹;ubaubj)�r“;}r”;(jYX=/* --------------------------- TICK --------------------------------------*/ // var Clock = xdc.useModule('ti.sysbios.knl.Clock'); // Clock.tickSource = Clock.TickSource_NULL; // //Clock.tickSource = Clock.TickSource_USER; // /* Configure BIOS clock source as GPTimer5 */ // //Clock.timerId = 0; // // var Timer = xdc.useModule('ti.sysbios.timers.dmtimer.Timer'); // // /* Skip the Timer frequency verification check. Need to remove this later */ // Timer.checkFrequency = false; // // /* Match this to the SYS_CLK frequency sourcing the dmTimers. // * Not needed once the SYS/BIOS family settings is updated. */ // Timer.intFreq.hi = 0; // Timer.intFreq.lo = 19200000; // // //var timerParams = new Timer.Params(); // //timerParams.period = Clock.tickPeriod; // //timerParams.periodType = Timer.PeriodType_MICROSECS; // /* Switch off Software Reset to make the below settings effective */ // //timerParams.tiocpCfg.softreset = 0x0; // /* Smart-idle wake-up-capable mode */ // //timerParams.tiocpCfg.idlemode = 0x3; // /* Wake-up generation for Overflow */ // //timerParams.twer.ovf_wup_ena = 0x1; // //Timer.create(Clock.timerId, Clock.doTick, timerParams); // // var Idle = xdc.useModule('ti.sysbios.knl.Idle'); // var Deh = xdc.useModule('ti.deh.Deh'); // // /* Must be placed before pwr mgmt */ // Idle.addFunc('&ti_deh_Deh_idleBegin');jZj¯1jbjõ!jdjjf}r•;(jöj÷jk]jj]jh]ji]jn]ujpMljqhjr]r–;j{X=/* --------------------------- TICK --------------------------------------*/ // var Clock = xdc.useModule('ti.sysbios.knl.Clock'); // Clock.tickSource = Clock.TickSource_NULL; // //Clock.tickSource = Clock.TickSource_USER; // /* Configure BIOS clock source as GPTimer5 */ // //Clock.timerId = 0; // // var Timer = xdc.useModule('ti.sysbios.timers.dmtimer.Timer'); // // /* Skip the Timer frequency verification check. Need to remove this later */ // Timer.checkFrequency = false; // // /* Match this to the SYS_CLK frequency sourcing the dmTimers. // * Not needed once the SYS/BIOS family settings is updated. */ // Timer.intFreq.hi = 0; // Timer.intFreq.lo = 19200000; // // //var timerParams = new Timer.Params(); // //timerParams.period = Clock.tickPeriod; // //timerParams.periodType = Timer.PeriodType_MICROSECS; // /* Switch off Software Reset to make the below settings effective */ // //timerParams.tiocpCfg.softreset = 0x0; // /* Smart-idle wake-up-capable mode */ // //timerParams.tiocpCfg.idlemode = 0x3; // /* Wake-up generation for Overflow */ // //timerParams.twer.ovf_wup_ena = 0x1; // //Timer.create(Clock.timerId, Clock.doTick, timerParams); // // var Idle = xdc.useModule('ti.sysbios.knl.Idle'); // var Deh = xdc.useModule('ti.deh.Deh'); // // /* Must be placed before pwr mgmt */ // Idle.addFunc('&ti_deh_Deh_idleBegin');r—;…�r˜;}r™;(jYUjZj“;ubaubjZ)�rš;}r›;(jYUjZj¯1jbjõ!jdj]jf}rœ;(jh]ji]jj]jk]jn]ujpMjqhjr]r�;j`)�rž;}rŸ;(jYUjcKjZjš;jbjõ!jdjpjf}r ;(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r¡;}r¢;(jYXSMake configuration change to use custom resource table. Add to the end of the file.r£;jZj¯1jbjõ!jdj¥jf}r¤;(jh]ji]jj]jk]jn]ujpMjqhjr]r¥;j{XSMake configuration change to use custom resource table. Add to the end of the file.r¦;…�r§;}r¨;(jYj£;jZj¡;ubaubj)�r©;}rª;(jYXŽ/* Override the default resource table with my own */ var Resource = xdc.useModule('ti.ipc.remoteproc.Resource'); Resource.customTable = true;jZj¯1jbjõ!jdjjf}r«;(jöj÷jk]jj]jh]ji]jn]ujpM•jqhjr]r¬;j{XŽ/* Override the default resource table with my own */ var Resource = xdc.useModule('ti.ipc.remoteproc.Resource'); Resource.customTable = true;r­;…�r®;}r¯;(jYUjZj©;ubaubjZ)�r°;}r±;(jYUjZj¯1jbjõ!jdj]jf}r²;(jh]ji]jj]jk]jn]ujpM jqhjr]r³;j`)�r´;}rµ;(jYUjcKjZj°;jbjõ!jdjpjf}r¶;(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjZ)�r·;}r¸;(jYUjZj¯1jbjõ!jdj]jf}r¹;(jh]ji]jj]jk]jn]ujpMjqhjr]rº;j`)�r»;}r¼;(jYUjcKjZj·;jbjõ!jdjpjf}r½;(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjC)�r¾;}r¿;(jYUjZj¯1jbjõ!jdj`jf}rÀ;(jGX-jk]jj]jh]ji]jn]ujpMjqhjr]rÁ;j/)�rÂ;}rÃ;(jYXEdit **main_uart_example.c** jZj¾;jbjõ!jdj2jf}rÄ;(jh]ji]jj]jk]jn]ujpNjqhjr]rÅ;j¡)�rÆ;}rÇ;(jYXEdit **main_uart_example.c**jZjÂ;jbjõ!jdj¥jf}rÈ;(jh]ji]jj]jk]jn]ujpMjr]rÉ;(j{XEdit rÊ;…�rË;}rÌ;(jYXEdit jZjÆ;ubjü)�rÍ;}rÎ;(jYX**main_uart_example.c**jf}rÏ;(jh]ji]jj]jk]jn]ujZjÆ;jr]rÐ;j{Xmain_uart_example.crÑ;…�rÒ;}rÓ;(jYUjZjÍ;ubajdjubeubaubaubjZ)�rÔ;}rÕ;(jYUjZj¯1jbjõ!jdj]jf}rÖ;(jh]ji]jj]jk]jn]ujpMjqhjr]r×;j`)�rØ;}rÙ;(jYUjcKjZjÔ;jbjõ!jdjpjf}rÚ;(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rÛ;}rÜ;(jYX'Add the following external declarationsrÝ;jZj¯1jbjõ!jdj¥jf}rÞ;(jh]ji]jj]jk]jn]ujpMjqhjr]rß;j{X'Add the following external declarationsrà;…�rá;}râ;(jYjÝ;jZjÛ;ubaubj)�rã;}rä;(jYX;extern Int ipc_main(); extern Void IpcMgr_ipcStartup(Void);jZj¯1jbjõ!jdjjf}rå;(jöj÷jk]jj]jh]ji]jn]ujpM¥jqhjr]ræ;j{X;extern Int ipc_main(); extern Void IpcMgr_ipcStartup(Void);rç;…�rè;}ré;(jYUjZjã;ubaubjZ)�rê;}rë;(jYUjZj¯1jbjõ!jdj]jf}rì;(jh]ji]jj]jk]jn]ujpMjqhjr]rí;j`)�rî;}rï;(jYUjcKjZjê;jbjõ!jdjpjf}rð;(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rñ;}rò;(jYXTIn main(), add a call to ipc_main() and IpcMgr_ipcStartup() just before BIOS_start()ró;jZj¯1jbjõ!jdj¥jf}rô;(jh]ji]jj]jk]jn]ujpMjqhjr]rõ;j{XTIn main(), add a call to ipc_main() and IpcMgr_ipcStartup() just before BIOS_start()rö;…�r÷;}rø;(jYjó;jZjñ;ubaubj)�rù;}rú;(jYXjipc_main(); if (callIpcStartup) { IpcMgr_ipcStartup(); } /* Start BIOS */ BIOS_start(); return (0);jZj¯1jbjõ!jdjjf}rû;(j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpM jqhjr]rü;j{Xjipc_main(); if (callIpcStartup) { IpcMgr_ipcStartup(); } /* Start BIOS */ BIOS_start(); return (0);rý;…�rþ;}rÿ;(jYUjZjù;ubaubjZ)�r<}r<(jYUjZj¯1jbjõ!jdj]jf}r<(jh]ji]jj]jk]jn]ujpM*jqhjr]r<j`)�r<}r<(jYUjcKjZj<jbjõ!jdjpjf}r<(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r<}r<(jYXMComment out the line that calls Board_init(boardCfg). This call is in the original example because it assumes TI-RTOS is running on the Arm but in our case here, we are running Linux and this call is destructive so we comment it out. The board init call does all pinmux configuration, module clock and UART peripheral initialization.r <jZj¯1jbjõ!jdj¥jf}r <(jh]ji]jj]jk]jn]ujpM,jqhjr]r <j{XMComment out the line that calls Board_init(boardCfg). This call is in the original example because it assumes TI-RTOS is running on the Arm but in our case here, we are running Linux and this call is destructive so we comment it out. The board init call does all pinmux configuration, module clock and UART peripheral initialization.r <…�r <}r<(jYj <jZj<ubaubj¡)�r<}r<(jYX=In order to run the UART Example on M4, you need to disable the UART in the Linux DTB file and interact with the Linux kernel using Telnet (This will be described later in the article). Since Linux will be running uboot performs the pinmux configuration but clock and UART Stdio setup needs to be performed by the M4.r<jZj¯1jbjõ!jdj¥jf}r<(jh]ji]jj]jk]jn]ujpM2jqhjr]r<j{X=In order to run the UART Example on M4, you need to disable the UART in the Linux DTB file and interact with the Linux kernel using Telnet (This will be described later in the article). Since Linux will be running uboot performs the pinmux configuration but clock and UART Stdio setup needs to be performed by the M4.r<…�r<}r<(jYj<jZj<ubaubjZ)�r<}r<(jYUjZj¯1jbjõ!jdj]jf}r<(jh]ji]jj]jk]jn]ujpM8jqhjr]r<j`)�r<}r<(jYUjcKjZj<jbjõ!jdjpjf}r<(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r<}r<(jYX**Original code**r <jZj¯1jbjõ!jdj¥jf}r!<(jh]ji]jj]jk]jn]ujpM9jqhjr]r"<jü)�r#<}r$<(jYj <jf}r%<(jh]ji]jj]jk]jn]ujZj<jr]r&<j{X Original coder'<…�r(<}r)<(jYUjZj#<ubajdjubaubj)�r*<}r+<(jYXì#if defined(EVM_K2E) || defined(EVM_C6678) boardCfg = BOARD_INIT_MODULE_CLOCK | BOARD_INIT_UART_STDIO; #else boardCfg = BOARD_INIT_PINMUX_CONFIG | BOARD_INIT_MODULE_CLOCK | BOARD_INIT_UART_STDIO; #endif Board_init(boardCfg);jZj¯1jbjõ!jdjjf}r,<(j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpM;jqhjr]r-<j{Xì#if defined(EVM_K2E) || defined(EVM_C6678) boardCfg = BOARD_INIT_MODULE_CLOCK | BOARD_INIT_UART_STDIO; #else boardCfg = BOARD_INIT_PINMUX_CONFIG | BOARD_INIT_MODULE_CLOCK | BOARD_INIT_UART_STDIO; #endif Board_init(boardCfg);r.<…�r/<}r0<(jYUjZj*<ubaubjZ)�r1<}r2<(jYUjZj¯1jbjõ!jdj]jf}r3<(jh]ji]jj]jk]jn]ujpMDjqhjr]r4<j`)�r5<}r6<(jYUjcKjZj1<jbjõ!jdjpjf}r7<(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjZ)�r8<}r9<(jYUjZj¯1jbjõ!jdj]jf}r:<(jh]ji]jj]jk]jn]ujpMFjqhjr]r;<j`)�r<<}r=<(jYUjcKjZj8<jbjõ!jdjpjf}r><(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r?<}r@<(jYX**Modified Code :**rA<jZj¯1jbjõ!jdj¥jf}rB<(jh]ji]jj]jk]jn]ujpMGjqhjr]rC<jü)�rD<}rE<(jYjA<jf}rF<(jh]ji]jj]jk]jn]ujZj?<jr]rG<j{XModified Code :rH<…�rI<}rJ<(jYUjZjD<ubajdjubaubj)�rK<}rL<(jYX7boardCfg = BOARD_INIT_UART_STDIO; Board_init(boardCfg);jZj¯1jbjõ!jdjjf}rM<(j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpMIjqhjr]rN<j{X7boardCfg = BOARD_INIT_UART_STDIO; Board_init(boardCfg);rO<…�rP<}rQ<(jYUjZjK<ubaubjZ)�rR<}rS<(jYUjZj¯1jbjõ!jdj]jf}rT<(jh]ji]jj]jk]jn]ujpMNjqhjr]rU<j`)�rV<}rW<(jYUjcKjZjR<jbjõ!jdjpjf}rX<(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rY<}rZ<(jYXÄWe are not done yet as we still need to configure turn the clock control on for the UART without impacting the other clocks. We can do that by adding the following code before Board_init API call:r[<jZj¯1jbjõ!jdj¥jf}r\<(jh]ji]jj]jk]jn]ujpMPjqhjr]r]<j{XÄWe are not done yet as we still need to configure turn the clock control on for the UART without impacting the other clocks. We can do that by adding the following code before Board_init API call:r^<…�r_<}r`<(jYj[<jZjY<ubaubj)�ra<}rb<(jYX°CSL_l4per_cm_core_componentRegs *l4PerCmReg = (CSL_l4per_cm_core_componentRegs *)CSL_MPU_L4PER_CM_CORE_REGS; CSL_FINST(l4PerCmReg->CM_L4PER_UART3_CLKCTRL_REG, L4PER_CM_CORE_COMPONENT_CM_L4PER_UART3_CLKCTRL_REG_MODULEMODE, ENABLE); while(CSL_L4PER_CM_CORE_COMPONENT_CM_L4PER_UART3_CLKCTRL_REG_IDLEST_FUNC != CSL_FEXT(l4PerCmReg->CM_L4PER_UART3_CLKCTRL_REG, L4PER_CM_CORE_COMPONENT_CM_L4PER_UART3_CLKCTRL_REG_IDLEST));jZj¯1jbjõ!jdjjf}rc<(jöj÷jk]jj]jh]ji]jn]ujpMãjqhjr]rd<j{X°CSL_l4per_cm_core_componentRegs *l4PerCmReg = (CSL_l4per_cm_core_componentRegs *)CSL_MPU_L4PER_CM_CORE_REGS; CSL_FINST(l4PerCmReg->CM_L4PER_UART3_CLKCTRL_REG, L4PER_CM_CORE_COMPONENT_CM_L4PER_UART3_CLKCTRL_REG_MODULEMODE, ENABLE); while(CSL_L4PER_CM_CORE_COMPONENT_CM_L4PER_UART3_CLKCTRL_REG_IDLEST_FUNC != CSL_FEXT(l4PerCmReg->CM_L4PER_UART3_CLKCTRL_REG, L4PER_CM_CORE_COMPONENT_CM_L4PER_UART3_CLKCTRL_REG_IDLEST));re<…�rf<}rg<(jYUjZja<ubaubjC)�rh<}ri<(jYUjZj¯1jbjõ!jdj`jf}rj<(jGX-jk]jj]jh]ji]jn]ujpM^jqhjr]rk<j/)�rl<}rm<(jYXEdit **MainIpu2.c** jZjh<jbjõ!jdj2jf}rn<(jh]ji]jj]jk]jn]ujpNjqhjr]ro<j¡)�rp<}rq<(jYXEdit **MainIpu2.c**jZjl<jbjõ!jdj¥jf}rr<(jh]ji]jj]jk]jn]ujpM^jr]rs<(j{XEdit rt<…�ru<}rv<(jYXEdit jZjp<ubjü)�rw<}rx<(jYX**MainIpu2.c**jf}ry<(jh]ji]jj]jk]jn]ujZjp<jr]rz<j{X MainIpu2.cr{<…�r|<}r}<(jYUjZjw<ubajdjubeubaubaubjZ)�r~<}r<(jYUjZj¯1jbjõ!jdj]jf}r€<(jh]ji]jj]jk]jn]ujpM`jqhjr]r�<j`)�r‚<}rƒ<(jYUjcKjZj~<jbjõ!jdjpjf}r„<(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r…<}r†<(jYXGThe app now has it's own main(), so rename this one and get rid of argsr‡<jZj¯1jbjõ!jdj¥jf}rˆ<(jh]ji]jj]jk]jn]ujpMbjqhjr]r‰<j{XGThe app now has it's own main(), so rename this one and get rid of argsrŠ<…�r‹<}rŒ<(jYj‡<jZj…<ubaubj)�r�<}rŽ<(jYX3//Int main(Int argc, Char* argv[]) Int ipc_main() {jZj¯1jbjõ!jdjjf}r�<(j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpMdjqhjr]r�<j{X3//Int main(Int argc, Char* argv[]) Int ipc_main() {r‘<…�r’<}r“<(jYUjZj�<ubaubj¡)�r”<}r•<(jYX+No longer using args so comment these linesr–<jZj¯1jbjõ!jdj¥jf}r—<(jh]ji]jj]jk]jn]ujpMjjqhjr]r˜<j{X+No longer using args so comment these linesr™<…�rš<}r›<(jYj–<jZj”<ubaubj)�rœ<}r�<(jYX?//taskParams.arg0 = (UArg)argc; //taskParams.arg1 = (UArg)argv;jZj¯1jbjõ!jdjjf}rž<(jöj÷jk]jj]jh]ji]jn]ujpMûjqhjr]rŸ<j{X?//taskParams.arg0 = (UArg)argc; //taskParams.arg1 = (UArg)argv;r <…�r¡<}r¢<(jYUjZjœ<ubaubj¡)�r£<}r¤<(jYX=BIOS_start() is done in the app main() so comment it out herer¥<jZj¯1jbjõ!jdj¥jf}r¦<(jh]ji]jj]jk]jn]ujpMqjqhjr]r§<j{X=BIOS_start() is done in the app main() so comment it out herer¨<…�r©<}rª<(jYj¥<jZj£<ubaubj)�r«<}r¬<(jYX9/* start scheduler, this never returns */ //BIOS_start();jZj¯1jbjõ!jdjjf}r­<(jöj÷jk]jj]jh]ji]jn]ujpMjqhjr]r®<j{X9/* start scheduler, this never returns */ //BIOS_start();r¯<…�r°<}r±<(jYUjZj«<ubaubjZ)�r²<}r³<(jYUjZj¯1jbjõ!jdj]jf}r´<(jh]ji]jj]jk]jn]ujpMxjqhjr]rµ<j`)�r¶<}r·<(jYUjcKjZj²<jbjõ!jdjpjf}r¸<(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r¹<}rº<(jYXComment this outr»<jZj¯1jbjõ!jdj¥jf}r¼<(jh]ji]jj]jk]jn]ujpMzjqhjr]r½<j{XComment this outr¾<…�r¿<}rÀ<(jYj»<jZj¹<ubaubj)�rÁ<}rÂ<(jYX&//Log_print0(Diags_EXIT, "<-- main:");jZj¯1jbjõ!jdjjf}rÃ<(jöj÷jk]jj]jh]ji]jn]ujpM jqhjr]rÄ<j{X&//Log_print0(Diags_EXIT, "<-- main:");rÅ<…�rÆ<}rÇ<(jYUjZjÁ<ubaubjZ)�rÈ<}rÉ<(jYUjZj¯1jbjõ!jdj]jf}rÊ<(jh]ji]jj]jk]jn]ujpM€jqhjr]rË<j`)�rÌ<}rÍ<(jYUjcKjZjÈ<jbjõ!jdjpjf}rÎ<(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjC)�rÏ<}rÐ<(jYUjZj¯1jbjõ!jdj`jf}rÑ<(jGX-jk]jj]jh]ji]jn]ujpM‚jqhjr]rÒ<j/)�rÓ<}rÔ<(jYXEdit **rsc_table_vayu_ipu.c** jZjÏ<jbjõ!jdj2jf}rÕ<(jh]ji]jj]jk]jn]ujpNjqhjr]rÖ<j¡)�r×<}rØ<(jYXEdit **rsc_table_vayu_ipu.c**jZjÓ<jbjõ!jdj¥jf}rÙ<(jh]ji]jj]jk]jn]ujpM‚jr]rÚ<(j{XEdit rÛ<…�rÜ<}rÝ<(jYXEdit jZj×<ubjü)�rÞ<}rß<(jYX**rsc_table_vayu_ipu.c**jf}rà<(jh]ji]jj]jk]jn]ujZj×<jr]rá<j{Xrsc_table_vayu_ipu.crâ<…�rã<}rä<(jYUjZjÞ<ubajdjubeubaubaubjZ)�rå<}ræ<(jYUjZj¯1jbjõ!jdj]jf}rç<(jh]ji]jj]jk]jn]ujpM„jqhjr]rè<j`)�ré<}rê<(jYUjcKjZjå<jbjõ!jdjpjf}rë<(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rì<}rí<(jYXDSet this #define before it's used to select PHYS_MEM_IPC_VRING valuerî<jZj¯1jbjõ!jdj¥jf}rï<(jh]ji]jj]jk]jn]ujpM†jqhjr]rð<j{XDSet this #define before it's used to select PHYS_MEM_IPC_VRING valuerñ<…�rò<}ró<(jYjî<jZjì<ubaubj)�rô<}rõ<(jYX#define VAYU_IPU_2jZj¯1jbjõ!jdjjf}rö<(jöj÷jk]jj]jh]ji]jn]ujpMjqhjr]r÷<j{X#define VAYU_IPU_2rø<…�rù<}rú<(jYUjZjô<ubaubjZ)�rû<}rü<(jYUjZj¯1jbjõ!jdj]jf}rý<(jh]ji]jj]jk]jn]ujpMŒjqhjr]rþ<j`)�rÿ<}r=(jYUjcKjZjû<jbjõ!jdjpjf}r=(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r=}r=(jYX:Add this extern declaration prior to the symbol being usedr=jZj¯1jbjõ!jdj¥jf}r=(jh]ji]jj]jk]jn]ujpMŽjqhjr]r=j{X:Add this extern declaration prior to the symbol being usedr=…�r=}r =(jYj=jZj=ubaubj)�r =}r =(jYX5extern char ti_trace_SysMin_Module_State_0_outbuf__A;jZj¯1jbjõ!jdjjf}r =(jöj÷jk]jj]jh]ji]jn]ujpMjqhjr]r =j{X5extern char ti_trace_SysMin_Module_State_0_outbuf__A;r=…�r=}r=(jYUjZj =ubaubjZ)�r=}r=(jYUjZj¯1jbjõ!jdj]jf}r=(jh]ji]jj]jk]jn]ujpM”jqhjr]r=j`)�r=}r=(jYUjcKjZj=jbjõ!jdjpjf}r=(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjZ)�r=}r=(jYUjZj¯1jbjõ!jdj]jf}r=(jh]ji]jj]jk]jn]ujpM–jqhjr]r=j`)�r=}r=(jYUjcKjZj=jbjõ!jdjpjf}r=(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjC)�r=}r =(jYUjZj¯1jbjõ!jdj`jf}r!=(jGX-jk]jj]jh]ji]jn]ujpM˜jqhjr]r"=j/)�r#=}r$=(jYXEdit **Server.c** jZj=jbjõ!jdj2jf}r%=(jh]ji]jj]jk]jn]ujpNjqhjr]r&=j¡)�r'=}r(=(jYXEdit **Server.c**jZj#=jbjõ!jdj¥jf}r)=(jh]ji]jj]jk]jn]ujpM˜jr]r*=(j{XEdit r+=…�r,=}r-=(jYXEdit jZj'=ubjü)�r.=}r/=(jYX **Server.c**jf}r0=(jh]ji]jj]jk]jn]ujZj'=jr]r1=j{XServer.cr2=…�r3=}r4=(jYUjZj.=ubajdjubeubaubaubjZ)�r5=}r6=(jYUjZj¯1jbjõ!jdj]jf}r7=(jh]ji]jj]jk]jn]ujpMšjqhjr]r8=j`)�r9=}r:=(jYUjcKjZj5=jbjõ!jdjpjf}r;=(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r<=}r==(jYX3No longer have shared folder so change include pathr>=jZj¯1jbjõ!jdj¥jf}r?=(jh]ji]jj]jk]jn]ujpMœjqhjr]r@=j{X3No longer have shared folder so change include pathrA=…�rB=}rC=(jYj>=jZj<=ubaubj)�rD=}rE=(jYXU/* local header files */ //#include "../shared/AppCommon.h" #include "../AppCommon.h"jZj¯1jbjõ!jdjjf}rF=(jöj÷jk]jj]jh]ji]jn]ujpM-jqhjr]rG=j{XU/* local header files */ //#include "../shared/AppCommon.h" #include "../AppCommon.h"rH=…�rI=}rJ=(jYUjZjD=ubaubjZ)�rK=}rL=(jYUjZj¯1jbjõ!jdj]jf}rM=(jh]ji]jj]jk]jn]ujpM¤jqhjr]rN=j`)�rO=}rP=(jYUjcKjZjK=jbjõ!jdjpjf}rQ=(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�rR=}rS=(jYX*Handling AMMU (L1 Unicache MMU) and L2 MMUrT=jZj¯1jbjõ!jdjíjf}rU=(jk]rV=U(handling-ammu-l1-unicache-mmu-and-l2-mmurW=ajj]jh]ji]jn]rX=hNaujpNjqhjr]rY=j{X*Handling AMMU (L1 Unicache MMU) and L2 MMUrZ=…�r[=}r\=(jYjT=jZjR=ubaubj¡)�r]=}r^=(jYX>There are two MMUs inside each of the IPU1, and IPU2 subsystems. The L1 MMU is referred to as IPU_UNICACHE_MMU or AMMU and L2 MMU. The description of how this is configured in IPC-remoteproc has been described in section `Changing_Cortex_M4_IPU_Memory_Map `__. IPC handling of L1 and L2 MMU is different from how the PDK driver examples setup the memory access using these MMUs which the users need to manage when integrating the components. This difference is highlighted below:jZj¯1jbjõ!jdj¥jf}r_=(jh]ji]jj]jk]jn]ujpM©jqhjr]r`=(j{XÝThere are two MMUs inside each of the IPU1, and IPU2 subsystems. The L1 MMU is referred to as IPU_UNICACHE_MMU or AMMU and L2 MMU. The description of how this is configured in IPC-remoteproc has been described in section ra=…�rb=}rc=(jYXÝThere are two MMUs inside each of the IPU1, and IPU2 subsystems. The L1 MMU is referred to as IPU_UNICACHE_MMU or AMMU and L2 MMU. The description of how this is configured in IPC-remoteproc has been described in section jZj]=ubjÜ)�rd=}re=(jYX…`Changing_Cortex_M4_IPU_Memory_Map `__jf}rf=(UnameX!Changing_Cortex_M4_IPU_Memory_MapjX]http://processors.wiki.ti.com/index.php/Linux_IPC_on_AM57xx#Changing_Cortex_M4_IPU_Memory_Mapjk]jj]jh]ji]jn]ujZj]=jr]rg=j{X!Changing_Cortex_M4_IPU_Memory_Maprh=…�ri=}rj=(jYUjZjd=ubajdjàubj{XÜ. IPC handling of L1 and L2 MMU is different from how the PDK driver examples setup the memory access using these MMUs which the users need to manage when integrating the components. This difference is highlighted below:rk=…�rl=}rm=(jYXÜ. IPC handling of L1 and L2 MMU is different from how the PDK driver examples setup the memory access using these MMUs which the users need to manage when integrating the components. This difference is highlighted below:jZj]=ubeubjB)�rn=}ro=(jYX3.. Image:: ../images/IPU_MMU_Peripheral_access.png jZj¯1jbjõ!jdjEjf}rp=(UuriX,rtos/../images/IPU_MMU_Peripheral_access.pngrq=jk]jj]jh]ji]jH}rr=U*jq=sjn]ujpM´jqhjr]ubjC)�rs=}rt=(jYUjZj¯1jbjõ!jdj`jf}ru=(jGX-jk]jj]jh]ji]jn]ujpMµjqhjr]rv=(j/)�rw=}rx=(jYX×PDK examples use addresses (0x4X000000) to peripheral registers and use following MMU setting - L2 MMU uses default 1:1 Mapping - AMMU configuration translates physical 0x4X000000 access to logical 0x4X000000 jZjs=jbNjdj2jf}ry=(jh]ji]jj]jk]jn]ujpNjqhjr]rz=(j¡)�r{=}r|=(jYX]PDK examples use addresses (0x4X000000) to peripheral registers and use following MMU settingr}=jZjw=jbjõ!jdj¥jf}r~=(jh]ji]jj]jk]jn]ujpMµjr]r=j{X]PDK examples use addresses (0x4X000000) to peripheral registers and use following MMU settingr€=…�r�=}r‚=(jYj}=jZj{=ubaubjC)�rƒ=}r„=(jYUjf}r…=(jGX-jk]jj]jh]ji]jn]ujZjw=jr]r†=(j/)�r‡=}rˆ=(jYXL2 MMU uses default 1:1 Mappingr‰=jf}rŠ=(jh]ji]jj]jk]jn]ujZjƒ=jr]r‹=j¡)�rŒ=}r�=(jYj‰=jZj‡=jbjõ!jdj¥jf}rŽ=(jh]ji]jj]jk]jn]ujpM¸jr]r�=j{XL2 MMU uses default 1:1 Mappingr�=…�r‘=}r’=(jYj‰=jZjŒ=ubaubajdj2ubj/)�r“=}r”=(jYXOAMMU configuration translates physical 0x4X000000 access to logical 0x4X000000 jf}r•=(jh]ji]jj]jk]jn]ujZjƒ=jr]r–=j¡)�r—=}r˜=(jYXNAMMU configuration translates physical 0x4X000000 access to logical 0x4X000000r™=jZj“=jbjõ!jdj¥jf}rš=(jh]ji]jj]jk]jn]ujpM¹jr]r›=j{XNAMMU configuration translates physical 0x4X000000 access to logical 0x4X000000rœ=…�r�=}rž=(jYj™=jZj—=ubaubajdj2ubejdj`ubeubj/)�rŸ=}r =(jYXIPC+ Remote Proc ARM+M4 requires IPU to use logical address (0x6X000000) and uses following MMU setting - L2 MMU is configured such that MMU translates 0x6X000000 access to addresss 0x4X000000 - AMMU is configured for 1:1 mapping 0x6X000000 and 0x6X000000 jZjs=jbNjdj2jf}r¡=(jh]ji]jj]jk]jn]ujpNjqhjr]r¢=(j¡)�r£=}r¤=(jYXgIPC+ Remote Proc ARM+M4 requires IPU to use logical address (0x6X000000) and uses following MMU settingr¥=jZjŸ=jbjõ!jdj¥jf}r¦=(jh]ji]jj]jk]jn]ujpM¼jr]r§=j{XgIPC+ Remote Proc ARM+M4 requires IPU to use logical address (0x6X000000) and uses following MMU settingr¨=…�r©=}rª=(jYj¥=jZj£=ubaubjC)�r«=}r¬=(jYUjf}r­=(jGX-jk]jj]jh]ji]jn]ujZjŸ=jr]r®=(j/)�r¯=}r°=(jYXVL2 MMU is configured such that MMU translates 0x6X000000 access to addresss 0x4X000000jf}r±=(jh]ji]jj]jk]jn]ujZj«=jr]r²=j¡)�r³=}r´=(jYXVL2 MMU is configured such that MMU translates 0x6X000000 access to addresss 0x4X000000rµ=jZj¯=jbjõ!jdj¥jf}r¶=(jh]ji]jj]jk]jn]ujpM¿jr]r·=j{XVL2 MMU is configured such that MMU translates 0x6X000000 access to addresss 0x4X000000r¸=…�r¹=}rº=(jYjµ=jZj³=ubaubajdj2ubj/)�r»=}r¼=(jYX=AMMU is configured for 1:1 mapping 0x6X000000 and 0x6X000000 jf}r½=(jh]ji]jj]jk]jn]ujZj«=jr]r¾=j¡)�r¿=}rÀ=(jYX<AMMU is configured for 1:1 mapping 0x6X000000 and 0x6X000000rÁ=jZj»=jbjõ!jdj¥jf}rÂ=(jh]ji]jj]jk]jn]ujpMÁjr]rÃ=j{X<AMMU is configured for 1:1 mapping 0x6X000000 and 0x6X000000rÄ=…�rÅ=}rÆ=(jYjÁ=jZj¿=ubaubajdj2ubejdj`ubeubeubj¡)�rÇ=}rÈ=(jYXãTherefore after integrating IPC with PDK drivers, it is recommended that the alias addresses are used to access peripherals and PRCM registers. This requires changes to the addresses used by PDK drivers and in application code.rÉ=jZj¯1jbjõ!jdj¥jf}rÊ=(jh]ji]jj]jk]jn]ujpMÃjqhjr]rË=j{XãTherefore after integrating IPC with PDK drivers, it is recommended that the alias addresses are used to access peripherals and PRCM registers. This requires changes to the addresses used by PDK drivers and in application code.rÌ=…�rÍ=}rÎ=(jYjÉ=jZjÇ=ubaubj¡)�rÏ=}rÐ=(jYXHThe following changes were then made to the IPU application source code:rÑ=jZj¯1jbjõ!jdj¥jf}rÒ=(jh]ji]jj]jk]jn]ujpMÈjqhjr]rÓ=j{XHThe following changes were then made to the IPU application source code:rÔ=…�rÕ=}rÖ=(jYjÑ=jZjÏ=ubaubj¡)�r×=}rØ=(jYX�Add UART_soc.c file to the project and modify the base addresses for all IPU UART register instance in the UART_HwAttrs to use alias addresses:rÙ=jZj¯1jbjõ!jdj¥jf}rÚ=(jh]ji]jj]jk]jn]ujpMÊjqhjr]rÛ=j{X�Add UART_soc.c file to the project and modify the base addresses for all IPU UART register instance in the UART_HwAttrs to use alias addresses:rÜ=…�rÝ=}rÞ=(jYjÙ=jZj×=ubaubj)�rß=}rà=(jYX#ifdef _TMS320C6X CSL_DSP_UART3_REGS, OSAL_REGINT_INTVEC_EVENT_COMBINER, #elif defined(__ARM_ARCH_7A__) CSL_MPU_UART3_REGS, 106, #else (CSL_IPU_UART3_REGS + 0x20000000), //Base Addr = 0x48000000 + 0x20000000 = 0x68000000 45, #endifjZj¯1jbjõ!jdjjf}rá=(j‰jXcjöj÷jk]jj]jh]j }ji]jn]ujpMÍjqhjr]râ=j{X#ifdef _TMS320C6X CSL_DSP_UART3_REGS, OSAL_REGINT_INTVEC_EVENT_COMBINER, #elif defined(__ARM_ARCH_7A__) CSL_MPU_UART3_REGS, 106, #else (CSL_IPU_UART3_REGS + 0x20000000), //Base Addr = 0x48000000 + 0x20000000 = 0x68000000 45, #endifrã=…�rä=}rå=(jYUjZjß=ubaubj¡)�ræ=}rç=(jYX°Adding custom SOC configuration also means that you should use the generic UART driver instead of driver with built in SOC setup. To do this comment the following line in .cfg:rè=jZj¯1jbjõ!jdj¥jf}ré=(jh]ji]jj]jk]jn]ujpMÚjqhjr]rê=j{X°Adding custom SOC configuration also means that you should use the generic UART driver instead of driver with built in SOC setup. To do this comment the following line in .cfg:rë=…�rì=}rí=(jYjè=jZjæ=ubaubj)�rî=}rï=(jYXZvar Uart = xdc.loadPackage('ti.drv.uart'); //Uart.Settings.socType = socType;jZj¯1jbjõ!jdjjf}rð=(jöj÷jk]jj]jh]ji]jn]ujpMmjqhjr]rñ=j{XZvar Uart = xdc.loadPackage('ti.drv.uart'); //Uart.Settings.socType = socType;rò=…�ró=}rô=(jYUjZjî=ubaubj¡)�rõ=}rö=(jYX~There is also an instance in the application code where we added pointer to PRCM registers that need to be changed as follows.r÷=jZj¯1jbjõ!jdj¥jf}rø=(jh]ji]jj]jk]jn]ujpMãjqhjr]rù=j{X~There is also an instance in the application code where we added pointer to PRCM registers that need to be changed as follows.rú=…�rû=}rü=(jYj÷=jZjõ=ubaubj)�rý=}rþ=(jYX| CSL_l4per_cm_core_componentRegs *l4PerCmReg = (CSL_l4per_cm_core_componentRegs *) 0x6a009700; //CSL_MPU_L4PER_CM_CORE_REGS;jZj¯1jbjõ!jdjjf}rÿ=(jöj÷jk]jj]jh]ji]jn]ujpMujqhjr]r>j{X| CSL_l4per_cm_core_componentRegs *l4PerCmReg = (CSL_l4per_cm_core_componentRegs *) 0x6a009700; //CSL_MPU_L4PER_CM_CORE_REGS;r>…�r>}r>(jYUjZjý=ubaubj¡)�r>}r>(jYXµNow, you are ready to build the firmware. After the .out is built, change the extension to .xem4 and copy it over to the location in the filesystem that is used to load M4 firmware.r>jZj¯1jbjõ!jdj¥jf}r>(jh]ji]jj]jk]jn]ujpMëjqhjr]r>j{XµNow, you are ready to build the firmware. After the .out is built, change the extension to .xem4 and copy it over to the location in the filesystem that is used to load M4 firmware.r >…�r >}r >(jYj>jZj>ubaubeubeubj[)�r >}r >(jYUjZjÔ!jbjcjdjejf}r>(jh]ji]jj]jk]r>UNcustomizing-memory-map-for-creating-multicore-applications-on-am57xx-using-ipcr>ajn]r>hÕaujpKYjqhjr]r>(jt)�r>}r>(jYXNCustomizing Memory map for creating Multicore Applications on AM57xx using IPCr>jZj >jbjcjdjxjf}r>(jh]ji]jj]jk]jn]ujpKYjqhjr]r>j{XNCustomizing Memory map for creating Multicore Applications on AM57xx using IPCr>…�r>}r>(jYj>jZj>ubaubj¡)�r>}r>(jYX2``__r>jZj >jbjcjdj¥jf}r>(jh]ji]jj]jk]jn]ujpKZjqhjr]r>jÜ)�r >}r!>(jYj>jf}r">(UnameX,http://www.ti.com/lit/an/sprac60/sprac60.pdfr#>jj#>jk]jj]jh]ji]jn]ujZj>jr]r$>j{X,http://www.ti.com/lit/an/sprac60/sprac60.pdfr%>…�r&>}r'>(jYUjZj >ubajdjàubaubeubj[)�r(>}r)>(jYUjZjÔ!jbjcjdjejf}r*>(jh]ji]jj]jk]r+>U,ipc-debugging-tools-and-techniques-on-am57xxr,>ajn]r->h aujpK]jqhjr]r.>(jt)�r/>}r0>(jYX,IPC Debugging Tools and Techniques on AM57xxr1>jZj(>jbjcjdjxjf}r2>(jh]ji]jj]jk]jn]ujpK]jqhjr]r3>j{X,IPC Debugging Tools and Techniques on AM57xxr4>…�r5>}r6>(jYj1>jZj/>ubaubjî)�r7>}r8>(jYXMhttp://processors.wiki.ti.com/index.php/Running_IPC_Examples_on_DRA7xx/AM572xjZj(>jbj�Xfsource/rtos/How_to_Guides/Host/System_Integration/IPC_Debugging_Tools_and_Techniques_on_AM57xx.rst.incr9>…�r:>}r;>bjdjôjf}r<>(jöj÷jk]jj]jh]ji]jn]ujpKjqhjr]r=>j{XMhttp://processors.wiki.ti.com/index.php/Running_IPC_Examples_on_DRA7xx/AM572xr>>…�r?>}r@>(jYUjZj7>ubaubj¡)�rA>}rB>(jYX¸The sections relevant to AM57xx have been pulled from the `Debugging Tools and Techniques With IPC3.x Application Note `_ and placed here.rC>jZj(>jbj:>jdj¥jf}rD>(jh]ji]jj]jk]jn]ujpKjqhjr]rE>(j{X:The sections relevant to AM57xx have been pulled from the rF>…�rG>}rH>(jYX:The sections relevant to AM57xx have been pulled from the jZjA>ubjÜ)�rI>}rJ>(jYXm`Debugging Tools and Techniques With IPC3.x Application Note `_jf}rK>(UnameX;Debugging Tools and Techniques With IPC3.x Application NotejX,http://www.ti.com/lit/an/sprac12/sprac12.pdfrL>jk]jj]jh]ji]jn]ujZjA>jr]rM>j{X;Debugging Tools and Techniques With IPC3.x Application NoterN>…�rO>}rP>(jYUjZjI>ubajdjàubj–)�rQ>}rR>(jYX/ jìKjZjA>jdj™jf}rS>(UrefurijL>jk]rT>U;debugging-tools-and-techniques-with-ipc3-x-application-noterU>ajj]jh]ji]jn]rV>haujr]ubj{X and placed here.rW>…�rX>}rY>(jYX and placed here.jZjA>ubeubj[)�rZ>}r[>(jYUjìKjZj(>jbj:>jdjejf}r\>(jh]r]>X introductionr^>aji]jj]jk]r_>Uid32r`>ajn]ujpKjqhjr]ra>(jt)�rb>}rc>(jYX Introductionrd>jZjZ>jbj:>jdjxjf}re>(jh]ji]jj]jk]jn]ujpKjqhjr]rf>j{X Introductionrg>…�rh>}ri>(jYjd>jZjb>ubaubj¡)�rj>}rk>(jYX³During development of software, it is common to encounter issues that must be debugged to provide a robust software offering. When developing software that uses the IPC3.x product for inter-processor communication, there are tools and techniques available to aid in the debugging process. These tools and techniques help to more quickly understand and debug the issue. This document addresses all three HLOS’s supported by IPC3.x: Androidâ„¢ platform, Linux®, and QNX®. Where applicable, differences between the OS's are noted. This document aims to provide tools, techniques, and resources for debugging issues encountered when using the IPC3.x to communicate with remote core software.rl>jZjZ>jbj:>jdj¥jf}rm>(jh]ji]jj]jk]jn]ujpKjqhjr]rn>j{X³During development of software, it is common to encounter issues that must be debugged to provide a robust software offering. When developing software that uses the IPC3.x product for inter-processor communication, there are tools and techniques available to aid in the debugging process. These tools and techniques help to more quickly understand and debug the issue. This document addresses all three HLOS’s supported by IPC3.x: Androidâ„¢ platform, Linux®, and QNX®. Where applicable, differences between the OS's are noted. This document aims to provide tools, techniques, and resources for debugging issues encountered when using the IPC3.x to communicate with remote core software.ro>…�rp>}rq>(jYjl>jZjj>ubaubeubj[)�rr>}rs>(jYUjZj(>jbj:>jdjejf}rt>(jh]ji]jj]jk]ru>U debug-toolsrv>ajn]rw>j1aujpKjqhjr]rx>(jt)�ry>}rz>(jYX Debug Toolsr{>jZjr>jbj:>jdjxjf}r|>(jh]ji]jj]jk]jn]ujpKjqhjr]r}>j{X Debug Toolsr~>…�r>}r€>(jYj{>jZjy>ubaubj¡)�r�>}r‚>(jYXÛThere are several tools that can be leveraged for debugging the IPC, from simple tracing to using Code Composer Studioâ„¢ (CCS) to attach to the remote cores. Each provides different advantages in the debugging process.rƒ>jZjr>jbj:>jdj¥jf}r„>(jh]ji]jj]jk]jn]ujpKjqhjr]r…>j{XÛThere are several tools that can be leveraged for debugging the IPC, from simple tracing to using Code Composer Studioâ„¢ (CCS) to attach to the remote cores. Each provides different advantages in the debugging process.r†>…�r‡>}rˆ>(jYjƒ>jZj�>ubaubj[)�r‰>}rŠ>(jYUjZjr>jbj:>jdjejf}r‹>(jh]ji]jj]jk]rŒ>Utracingr�>ajn]rŽ>hõaujpKjqhjr]r�>(jt)�r�>}r‘>(jYXTracingr’>jZj‰>jbj:>jdjxjf}r“>(jh]ji]jj]jk]jn]ujpKjqhjr]r”>j{XTracingr•>…�r–>}r—>(jYj’>jZj�>ubaubj¡)�r˜>}r™>(jYX¹When an issue occurs, checking the traces is often the first thing done. The traces can give quick insight into what may be happening. In normal, non-error cases, you might see little to no traces from the IPC. But when there is an error, there often is an error trace that can be used to shed light on the issue. An error trace often gives an error code and a module or function name that can be used to identify where the error was thrown.rš>jZj‰>jbj:>jdj¥jf}r›>(jh]ji]jj]jk]jn]ujpKjqhjr]rœ>j{X¹When an issue occurs, checking the traces is often the first thing done. The traces can give quick insight into what may be happening. In normal, non-error cases, you might see little to no traces from the IPC. But when there is an error, there often is an error trace that can be used to shed light on the issue. An error trace often gives an error code and a module or function name that can be used to identify where the error was thrown.r�>…�rž>}rŸ>(jYjš>jZj˜>ubaubeubj[)�r >}r¡>(jYUjZjr>jbj:>jdjejf}r¢>(jh]ji]jj]jk]r£>Ulinux-and-android-debugfsr¤>ajn]r¥>jFaujpKjqhjr]r¦>(jt)�r§>}r¨>(jYXLinux and Android - Debugfsr©>jZj >jbj:>jdjxjf}rª>(jh]ji]jj]jk]jn]ujpKjqhjr]r«>j{XLinux and Android - Debugfsr¬>…�r­>}r®>(jYj©>jZj§>ubaubj¡)�r¯>}r°>(jYX´Another useful place to look for debug info is in the debugfs. Information for each remote processor can be found there, as well as remote core traces, state information, and more.r±>jZj >jbj:>jdj¥jf}r²>(jh]ji]jj]jk]jn]ujpK jqhjr]r³>j{X´Another useful place to look for debug info is in the debugfs. Information for each remote processor can be found there, as well as remote core traces, state information, and more.r´>…�rµ>}r¶>(jYj±>jZj¯>ubaubeubj[)�r·>}r¸>(jYUjZjr>jbj:>jdjejf}r¹>(jh]ji]jj]jk]rº>Ucode-composer-studior»>ajn]r¼>jIaujpK$jqhjr]r½>(jt)�r¾>}r¿>(jYXCode Composer StudiorÀ>jZj·>jbj:>jdjxjf}rÁ>(jh]ji]jj]jk]jn]ujpK$jqhjr]rÂ>j{XCode Composer StudiorÃ>…�rÄ>}rÅ>(jYjÀ>jZj¾>ubaubj¡)�rÆ>}rÇ>(jYXéConnecting over JTAG using Code Composer Studio provides the ability to see exactly what is happening on the remote core, providing access to a wealth of information including viewing memory, registers, and stepping through the code.rÈ>jZj·>jbj:>jdj¥jf}rÉ>(jh]ji]jj]jk]jn]ujpK%jqhjr]rÊ>j{XéConnecting over JTAG using Code Composer Studio provides the ability to see exactly what is happening on the remote core, providing access to a wealth of information including viewing memory, registers, and stepping through the code.rË>…�rÌ>}rÍ>(jYjÈ>jZjÆ>ubaubeubeubj[)�rÎ>}rÏ>(jYUjZj(>jbj:>jdjejf}rÐ>(jh]ji]jj]jk]rÑ>UtracesrÒ>ajn]rÓ>hVaujpK*jqhjr]rÔ>(jt)�rÕ>}rÖ>(jYXTracesr×>jZjÎ>jbj:>jdjxjf}rØ>(jh]ji]jj]jk]jn]ujpK*jqhjr]rÙ>j{XTracesrÚ>…�rÛ>}rÜ>(jYj×>jZjÕ>ubaubj¡)�rÝ>}rÞ>(jYXÄThe first place to check when an issue occurs is the traces. Often an error code or a trace regarding an error gives some clue. Both the remote core traces and the HLOS-side traces can be checked.rß>jZjÎ>jbj:>jdj¥jf}rà>(jh]ji]jj]jk]jn]ujpK+jqhjr]rá>j{XÄThe first place to check when an issue occurs is the traces. Often an error code or a trace regarding an error gives some clue. Both the remote core traces and the HLOS-side traces can be checked.râ>…�rã>}rä>(jYjß>jZjÝ>ubaubj[)�rå>}ræ>(jYUjZjÎ>jbj:>jdjejf}rç>(jh]ji]jj]jk]rè>U%linux-and-android-enabling-ipc-tracesré>ajn]rê>j6aujpK/jqhjr]rë>(jt)�rì>}rí>(jYX'Linux and Android - Enabling IPC Tracesrî>jZjå>jbj:>jdjxjf}rï>(jh]ji]jj]jk]jn]ujpK/jqhjr]rð>j{X'Linux and Android - Enabling IPC Tracesrñ>…�rò>}ró>(jYjî>jZjì>ubaubj¡)�rô>}rõ>(jYXBy default, the IPC only prints error traces. To enable additional tracing, use the IPC_DEBUG environment variable at runtime. This feature is only supported on Linux and is available starting in IPC 3.22.00.05. Table 1 lists the two levels of tracing supported.rö>jZjå>jbj:>jdj¥jf}r÷>(jh]ji]jj]jk]jn]ujpK0jqhjr]rø>j{XBy default, the IPC only prints error traces. To enable additional tracing, use the IPC_DEBUG environment variable at runtime. This feature is only supported on Linux and is available starting in IPC 3.22.00.05. Table 1 lists the two levels of tracing supported.rù>…�rú>}rû>(jYjö>jZjô>ubaubj¡)�rü>}rý>(jYXTable 1. IPC_DEBUG Trace Levelsrþ>jZjå>jbj:>jdj¥jf}rÿ>(jh]ji]jj]jk]jn]ujpK4jqhjr]r?j{XTable 1. IPC_DEBUG Trace Levelsr?…�r?}r?(jYjþ>jZjü>ubaubjd$)�r?}r?(jYUjZjå>jbj:>jdjg$jf}r?(jh]ji]jj]jk]jn]ujpNjqhjr]r?jj$)�r?}r ?(jYUjf}r ?(jk]jj]jh]ji]jn]UcolsKujZj?jr]r ?(jo$)�r ?}r ?(jYUjf}r?(jk]jj]jh]ji]jn]UcolwidthK ujZj?jr]jdjs$ubjo$)�r?}r?(jYUjf}r?(jk]jj]jh]ji]jn]UcolwidthKBujZj?jr]jdjs$ubjz$)�r?}r?(jYUjf}r?(jh]ji]jj]jk]jn]ujZj?jr]r?j$)�r?}r?(jYUjf}r?(jh]ji]jj]jk]jn]ujZj?jr]r?(j„$)�r?}r?(jYUjf}r?(jh]ji]jj]jk]jn]ujZj?jr]r?j¡)�r?}r?(jYX Trace Levelr ?jZj?jbj:>jdj¥jf}r!?(jh]ji]jj]jk]jn]ujpK7jr]r"?j{X Trace Levelr#?…�r$?}r%?(jYj ?jZj?ubaubajdj‘$ubj„$)�r&?}r'?(jYUjf}r(?(jh]ji]jj]jk]jn]ujZj?jr]r)?j¡)�r*?}r+?(jYX Descriptionr,?jZj&?jbj:>jdj¥jf}r-?(jh]ji]jj]jk]jn]ujpK7jr]r.?j{X Descriptionr/?…�r0?}r1?(jYj,?jZj*?ubaubajdj‘$ubejdjª$ubajdj«$ubj¬$)�r2?}r3?(jYUjf}r4?(jh]ji]jj]jk]jn]ujZj?jr]r5?(j$)�r6?}r7?(jYUjf}r8?(jh]ji]jj]jk]jn]ujZj2?jr]r9?(j„$)�r:?}r;?(jYUjf}r?}r??(jYX1jZj:?jbj:>jdj¥jf}r@?(jh]ji]jj]jk]jn]ujpK9jr]rA?j{X1…�rB?}rC?(jYX1jZj>?ubaubajdj‘$ubj„$)�rD?}rE?(jYUjf}rF?(jh]ji]jj]jk]jn]ujZj6?jr]rG?j¡)�rH?}rI?(jYX-Enables all warnings and errors to be printedrJ?jZjD?jbj:>jdj¥jf}rK?(jh]ji]jj]jk]jn]ujpK9jr]rL?j{X-Enables all warnings and errors to be printedrM?…�rN?}rO?(jYjJ?jZjH?ubaubajdj‘$ubejdjª$ubj$)�rP?}rQ?(jYUjf}rR?(jh]ji]jj]jk]jn]ujZj2?jr]rS?(j„$)�rT?}rU?(jYUjf}rV?(jh]ji]jj]jk]jn]ujZjP?jr]rW?j¡)�rX?}rY?(jYX2jZjT?jbj:>jdj¥jf}rZ?(jh]ji]jj]jk]jn]ujpK;jr]r[?j{X2…�r\?}r]?(jYX2jZjX?ubaubajdj‘$ubj„$)�r^?}r_?(jYUjf}r`?(jh]ji]jj]jk]jn]ujZjP?jr]ra?j¡)�rb?}rc?(jYX?Turns on all tracing (including socket and LAD client tracing).rd?jZj^?jbj:>jdj¥jf}re?(jh]ji]jj]jk]jn]ujpK;jr]rf?j{X?Turns on all tracing (including socket and LAD client tracing).rg?…�rh?}ri?(jYjd?jZjb?ubaubajdj‘$ubejdjª$ubejdjy%ubejdjz%ubaubeubj[)�rj?}rk?(jYUjZjÎ>jbj:>jdjejf}rl?(jh]ji]jj]jk]rm?Uqnx-enabling-ipc-tracesrn?ajn]ro?jEaujpK?jqhjr]rp?(jt)�rq?}rr?(jYXQNX – Enabling IPC Tracesrs?jZjj?jbj:>jdjxjf}rt?(jh]ji]jj]jk]jn]ujpK?jqhjr]ru?j{XQNX – Enabling IPC Tracesrv?…�rw?}rx?(jYjs?jZjq?ubaubj¡)�ry?}rz?(jYX¼When using QNX, additional traces are enabled by setting environment variables. There are separate environment variables for enabling traces in the resource manager and the user libraries.r{?jZjj?jbj:>jdj¥jf}r|?(jh]ji]jj]jk]jn]ujpK@jqhjr]r}?j{X¼When using QNX, additional traces are enabled by setting environment variables. There are separate environment variables for enabling traces in the resource manager and the user libraries.r~?…�r?}r€?(jYj{?jZjy?ubaubj¡)�r�?}r‚?(jYX**Resource Manager Traces**rƒ?jZjj?jbj:>jdj¥jf}r„?(jh]ji]jj]jk]jn]ujpKCjqhjr]r…?jü)�r†?}r‡?(jYjƒ?jf}rˆ?(jh]ji]jj]jk]jn]ujZj�?jr]r‰?j{XResource Manager TracesrŠ?…�r‹?}rŒ?(jYUjZj†?ubajdjubaubj¡)�r�?}rŽ?(jYX5Enable additional traces in the slog by setting the environment variable IPC_DEBUG_SLOG_LEVEL at runtime. By default, only errors and warnings are printed. The IPC_DEBUG_SLOG_LEVEL can be set before launching IPC to enable more traces. Setting the level to 7 enables all IPC traces. The default level is 2. ::jZjj?jbj:>jdj¥jf}r�?(jh]ji]jj]jk]jn]ujpKEjqhjr]r�?j{X2Enable additional traces in the slog by setting the environment variable IPC_DEBUG_SLOG_LEVEL at runtime. By default, only errors and warnings are printed. The IPC_DEBUG_SLOG_LEVEL can be set before launching IPC to enable more traces. Setting the level to 7 enables all IPC traces. The default level is 2.r‘?…�r’?}r“?(jYX2Enable additional traces in the slog by setting the environment variable IPC_DEBUG_SLOG_LEVEL at runtime. By default, only errors and warnings are printed. The IPC_DEBUG_SLOG_LEVEL can be set before launching IPC to enable more traces. Setting the level to 7 enables all IPC traces. The default level is 2.jZj�?ubaubj)�r”?}r•?(jYXexport IPC_DEBUG_SLOG_LEVEL=7jZjj?jbj:>jdjjf}r–?(jöj÷jk]jj]jh]ji]jn]ujpM×jqhjr]r—?j{Xexport IPC_DEBUG_SLOG_LEVEL=7r˜?…�r™?}rš?(jYUjZj”?ubaubj¡)�r›?}rœ?(jYXÃThese traces are printed to the slog, and can be viewed by using the sloginfo command. All IPC traces use 42 as identification in the slog, and you can filter the slog to view only these traces::jZjj?jbj:>jdj¥jf}r�?(jh]ji]jj]jk]jn]ujpKMjqhjr]rž?j{XÂThese traces are printed to the slog, and can be viewed by using the sloginfo command. All IPC traces use 42 as identification in the slog, and you can filter the slog to view only these traces:rŸ?…�r ?}r¡?(jYXÂThese traces are printed to the slog, and can be viewed by using the sloginfo command. All IPC traces use 42 as identification in the slog, and you can filter the slog to view only these traces:jZj›?ubaubj)�r¢?}r£?(jYXsloginfo –m42jZjj?jbj:>jdjjf}r¤?(jöj÷jk]jj]jh]ji]jn]ujpMÜjqhjr]r¥?j{Xsloginfo –m42r¦?…�r§?}r¨?(jYUjZj¢?ubaubj¡)�r©?}rª?(jYX**User Library Traces**r«?jZjj?jbj:>jdj¥jf}r¬?(jh]ji]jj]jk]jn]ujpKRjqhjr]r­?jü)�r®?}r¯?(jYj«?jf}r°?(jh]ji]jj]jk]jn]ujZj©?jr]r±?j{XUser Library Tracesr²?…�r³?}r´?(jYUjZj®?ubajdjubaubj¡)�rµ?}r¶?(jYX¨User library traces can be enabled by using the variable IPC_DEBUG when launching the application. Valid levels are 1 to 3, with 3 being the most verbose. For example::jZjj?jbj:>jdj¥jf}r·?(jh]ji]jj]jk]jn]ujpKTjqhjr]r¸?j{X§User library traces can be enabled by using the variable IPC_DEBUG when launching the application. Valid levels are 1 to 3, with 3 being the most verbose. For example:r¹?…�rº?}r»?(jYX§User library traces can be enabled by using the variable IPC_DEBUG when launching the application. Valid levels are 1 to 3, with 3 being the most verbose. For example:jZjµ?ubaubj)�r¼?}r½?(jYXIPC_DEBUG= app_hostjZjj?jbj:>jdjjf}r¾?(jöj÷jk]jj]jh]ji]jn]ujpMãjqhjr]r¿?j{XIPC_DEBUG= app_hostrÀ?…�rÁ?}rÂ?(jYUjZj¼?ubaubeubj[)�rÃ?}rÄ?(jYUjìKjZjÎ>jbj:>jdjejf}rÅ?(jh]ji]jj]jk]rÆ?U$linux-and-android-remote-core-tracesrÇ?ajn]rÈ?h/aujpKZjqhjr]rÉ?(jt)�rÊ?}rË?(jYX&Linux and Android - Remote Core TracesrÌ?jZjÃ?jbj:>jdjxjf}rÍ?(jh]ji]jj]jk]jn]ujpKZjqhjr]rÎ?j{X&Linux and Android - Remote Core TracesrÏ?…�rÐ?}rÑ?(jYjÌ?jZjÊ?ubaubj¡)�rÒ?}rÓ?(jYXŸThe remote core traces can be checked by using debugfs. Run the following command, replacing the “Xâ€� with the core-id for the remote core to be checked. ::jZjÃ?jbj:>jdj¥jf}rÔ?(jh]ji]jj]jk]jn]ujpK[jqhjr]rÕ?j{XœThe remote core traces can be checked by using debugfs. Run the following command, replacing the “Xâ€� with the core-id for the remote core to be checked.rÖ?…�r×?}rØ?(jYXœThe remote core traces can be checked by using debugfs. Run the following command, replacing the “Xâ€� with the core-id for the remote core to be checked.jZjÒ?ubaubj)�rÙ?}rÚ?(jYX3cat /sys/kernel/debug/remoteproc/remoteprocX/trace0jZjÃ?jbj:>jdjjf}rÛ?(jöj÷jk]jj]jh]ji]jn]ujpMëjqhjr]rÜ?j{X3cat /sys/kernel/debug/remoteproc/remoteprocX/trace0rÝ?…�rÞ?}rß?(jYUjZjÙ?ubaubj¡)�rà?}rá?(jYXSCheck the following when checking the traces after an error recovery has occurred::râ?jZjÃ?jbj:>jdj¥jf}rã?(jh]ji]jj]jk]jn]ujpKajqhjr]rä?j{XRCheck the following when checking the traces after an error recovery has occurred:rå?…�ræ?}rç?(jYXRCheck the following when checking the traces after an error recovery has occurred:jZjà?ubaubj)�rè?}ré?(jYX8cat /sys/kernel/debug/remoteproc/remoteprocX/trace0_lastjZjÃ?jbj:>jdjjf}rê?(jöj÷jk]jj]jh]ji]jn]ujpMïjqhjr]rë?j{X8cat /sys/kernel/debug/remoteproc/remoteprocX/trace0_lastrì?…�rí?}rî?(jYUjZjè?ubaubj¡)�rï?}rð?(jYXÄThis provides the last traces that happened before error recovery was triggered. For more information about debugging remote core faults and exceptions, see `Debugging MMU Faults and Exceptions`_.jZjÃ?jbj:>jdj¥jf}rñ?(jh]ji]jj]jk]jn]ujpKejqhjr]rò?(j{X�This provides the last traces that happened before error recovery was triggered. For more information about debugging remote core faults and exceptions, see ró?…�rô?}rõ?(jYX�This provides the last traces that happened before error recovery was triggered. For more information about debugging remote core faults and exceptions, see jZjï?ubjÜ)�rö?}r÷?(jYX&`Debugging MMU Faults and Exceptions`_jßKjZjï?jdjàjf}rø?(UnameX#Debugging MMU Faults and Exceptionsjk]jj]jh]ji]jn]jâU#debugging-mmu-faults-and-exceptionsrù?ujr]rú?j{X#Debugging MMU Faults and Exceptionsrû?…�rü?}rý?(jYUjZjö?ubaubj{X.…�rþ?}rÿ?(jYX.jZjï?ubeubj¡)�r@}r@(jYXfThe core-id, “Xâ€�, starts at 0 and increments to include all of the remote cores supported by the remoteproc module in the dts file. Because the number of remoteprocs supported can vary depending on the dts configuration, it is not ensured that a certain remote core will always have a certain core-id if the remoteprocs supported in the dts file changes.r@jZjÃ?jbj:>jdj¥jf}r@(jh]ji]jj]jk]jn]ujpKhjqhjr]r@j{XfThe core-id, “Xâ€�, starts at 0 and increments to include all of the remote cores supported by the remoteproc module in the dts file. Because the number of remoteprocs supported can vary depending on the dts configuration, it is not ensured that a certain remote core will always have a certain core-id if the remoteprocs supported in the dts file changes.r@…�r@}r@(jYj@jZj@ubaubj¡)�r@}r @(jYXâThe core associated with a particular core-id can be found by checking the name of the remoteproc (see `Linux and Android - Remoteproc`_). Table 2 associates the remoteproc name with the common name of the remote processor. ::jZjÃ?jbj:>jdj¥jf}r @(jh]ji]jj]jk]jn]ujpKmjqhjr]r @(j{XgThe core associated with a particular core-id can be found by checking the name of the remoteproc (see r @…�r @}r@(jYXgThe core associated with a particular core-id can be found by checking the name of the remoteproc (see jZj@ubjÜ)�r@}r@(jYX!`Linux and Android - Remoteproc`_jßKjZj@jdjàjf}r@(UnameXLinux and Android - Remoteprocjk]jj]jh]ji]jn]jâUlinux-and-android-remoteprocr@ujr]r@j{XLinux and Android - Remoteprocr@…�r@}r@(jYUjZj@ubaubj{XW). Table 2 associates the remoteproc name with the common name of the remote processor.r@…�r@}r@(jYXW). Table 2 associates the remoteproc name with the common name of the remote processor.jZj@ubeubj)�r@}r@(jYX1cat /sys/kernel/debug/remoteproc/remoteprocX/namejZjÃ?jbj:>jdjjf}r@(jöj÷jk]jj]jh]ji]jn]ujpMýjqhjr]r@j{X1cat /sys/kernel/debug/remoteproc/remoteprocX/namer@…�r@}r @(jYUjZj@ubaubj¡)�r!@}r"@(jYX$Table 2. Remoteproc Names for AM57xxr#@jZjÃ?jbj:>jdj¥jf}r$@(jh]ji]jj]jk]jn]ujpKsjqhjr]r%@j{X$Table 2. Remoteproc Names for AM57xxr&@…�r'@}r(@(jYj#@jZj!@ubaubjd$)�r)@}r*@(jYUjZjÃ?jbj:>jdjg$jf}r+@(jh]ji]jj]jk]jn]ujpNjqhjr]r,@jj$)�r-@}r.@(jYUjf}r/@(jk]jj]jh]ji]jn]UcolsKujZj)@jr]r0@(jo$)�r1@}r2@(jYUjf}r3@(jk]jj]jh]ji]jn]UcolwidthKujZj-@jr]jdjs$ubjo$)�r4@}r5@(jYUjf}r6@(jk]jj]jh]ji]jn]UcolwidthKujZj-@jr]jdjs$ubjz$)�r7@}r8@(jYUjf}r9@(jh]ji]jj]jk]jn]ujZj-@jr]r:@j$)�r;@}r<@(jYUjf}r=@(jh]ji]jj]jk]jn]ujZj7@jr]r>@(j„$)�r?@}r@@(jYUjf}rA@(jh]ji]jj]jk]jn]ujZj;@jr]rB@j¡)�rC@}rD@(jYX Debugfs NamerE@jZj?@jbj:>jdj¥jf}rF@(jh]ji]jj]jk]jn]ujpKvjr]rG@j{X Debugfs NamerH@…�rI@}rJ@(jYjE@jZjC@ubaubajdj‘$ubj„$)�rK@}rL@(jYUjf}rM@(jh]ji]jj]jk]jn]ujZj;@jr]rN@j¡)�rO@}rP@(jYXRemote Core NamerQ@jZjK@jbj:>jdj¥jf}rR@(jh]ji]jj]jk]jn]ujpKvjr]rS@j{XRemote Core NamerT@…�rU@}rV@(jYjQ@jZjO@ubaubajdj‘$ubejdjª$ubajdj«$ubj¬$)�rW@}rX@(jYUjf}rY@(jh]ji]jj]jk]jn]ujZj-@jr]rZ@(j$)�r[@}r\@(jYUjf}r]@(jh]ji]jj]jk]jn]ujZjW@jr]r^@(j„$)�r_@}r`@(jYUjf}ra@(jh]ji]jj]jk]jn]ujZj[@jr]rb@j¡)�rc@}rd@(jYX 58820000.ipure@jZj_@jbj:>jdj¥jf}rf@(jh]ji]jj]jk]jn]ujpKxjr]rg@j{X 58820000.ipurh@…�ri@}rj@(jYje@jZjc@ubaubajdj‘$ubj„$)�rk@}rl@(jYUjf}rm@(jh]ji]jj]jk]jn]ujZj[@jr]rn@j¡)�ro@}rp@(jYXIPU1rq@jZjk@jbj:>jdj¥jf}rr@(jh]ji]jj]jk]jn]ujpKxjr]rs@j{XIPU1rt@…�ru@}rv@(jYjq@jZjo@ubaubajdj‘$ubejdjª$ubj$)�rw@}rx@(jYUjf}ry@(jh]ji]jj]jk]jn]ujZjW@jr]rz@(j„$)�r{@}r|@(jYUjf}r}@(jh]ji]jj]jk]jn]ujZjw@jr]r~@j¡)�r@}r€@(jYX 55020000.ipur�@jZj{@jbj:>jdj¥jf}r‚@(jh]ji]jj]jk]jn]ujpKzjr]rƒ@j{X 55020000.ipur„@…�r…@}r†@(jYj�@jZj@ubaubajdj‘$ubj„$)�r‡@}rˆ@(jYUjf}r‰@(jh]ji]jj]jk]jn]ujZjw@jr]rŠ@j¡)�r‹@}rŒ@(jYXIPU2r�@jZj‡@jbj:>jdj¥jf}rŽ@(jh]ji]jj]jk]jn]ujpKzjr]r�@j{XIPU2r�@…�r‘@}r’@(jYj�@jZj‹@ubaubajdj‘$ubejdjª$ubj$)�r“@}r”@(jYUjf}r•@(jh]ji]jj]jk]jn]ujZjW@jr]r–@(j„$)�r—@}r˜@(jYUjf}r™@(jh]ji]jj]jk]jn]ujZj“@jr]rš@j¡)�r›@}rœ@(jYX 40800000.dspr�@jZj—@jbj:>jdj¥jf}rž@(jh]ji]jj]jk]jn]ujpK|jr]rŸ@j{X 40800000.dspr @…�r¡@}r¢@(jYj�@jZj›@ubaubajdj‘$ubj„$)�r£@}r¤@(jYUjf}r¥@(jh]ji]jj]jk]jn]ujZj“@jr]r¦@j¡)�r§@}r¨@(jYXDSP1r©@jZj£@jbj:>jdj¥jf}rª@(jh]ji]jj]jk]jn]ujpK|jr]r«@j{XDSP1r¬@…�r­@}r®@(jYj©@jZj§@ubaubajdj‘$ubejdjª$ubj$)�r¯@}r°@(jYUjf}r±@(jh]ji]jj]jk]jn]ujZjW@jr]r²@(j„$)�r³@}r´@(jYUjf}rµ@(jh]ji]jj]jk]jn]ujZj¯@jr]r¶@j¡)�r·@}r¸@(jYX 41000000.dspr¹@jZj³@jbj:>jdj¥jf}rº@(jh]ji]jj]jk]jn]ujpK~jr]r»@j{X 41000000.dspr¼@…�r½@}r¾@(jYj¹@jZj·@ubaubajdj‘$ubj„$)�r¿@}rÀ@(jYUjf}rÁ@(jh]ji]jj]jk]jn]ujZj¯@jr]rÂ@j¡)�rÃ@}rÄ@(jYXDSP2rÅ@jZj¿@jbj:>jdj¥jf}rÆ@(jh]ji]jj]jk]jn]ujpK~jr]rÇ@j{XDSP2rÈ@…�rÉ@}rÊ@(jYjÅ@jZjÃ@ubaubajdj‘$ubejdjª$ubejdjy%ubejdjz%ubaubeubj[)�rË@}rÌ@(jYUjZjÎ>jbj:>jdjejf}rÍ@(jh]ji]jj]jk]rÎ@Uqnx-remote-core-tracesrÏ@ajn]rÐ@hŸaujpK‚jqhjr]rÑ@(jt)�rÒ@}rÓ@(jYXQNX - Remote Core TracesrÔ@jZjË@jbj:>jdjxjf}rÕ@(jh]ji]jj]jk]jn]ujpK‚jqhjr]rÖ@j{XQNX - Remote Core Tracesr×@…�rØ@}rÙ@(jYjÔ@jZjÒ@ubaubj¡)�rÚ@}rÛ@(jYXÖThe remote core traces can be checked by using sysfs. Run the following command, replacing with the core name for the remote core to check. Valid core names for AM57xx are IPU1, IPU2, DSP1, and DSP2. ::jZjË@jbj:>jdj¥jf}rÜ@(jh]ji]jj]jk]jn]ujpKƒjqhjr]rÝ@j{XÓThe remote core traces can be checked by using sysfs. Run the following command, replacing with the core name for the remote core to check. Valid core names for AM57xx are IPU1, IPU2, DSP1, and DSP2.rÞ@…�rß@}rà@(jYXÓThe remote core traces can be checked by using sysfs. Run the following command, replacing with the core name for the remote core to check. Valid core names for AM57xx are IPU1, IPU2, DSP1, and DSP2.jZjÚ@ubaubj)�rá@}râ@(jYXcat /dev/ipc-trace/jZjË@jbj:>jdjjf}rã@(jöj÷jk]jj]jh]ji]jn]ujpMjqhjr]rä@j{Xcat /dev/ipc-trace/rå@…�ræ@}rç@(jYUjZjá@ubaubj¡)�rè@}ré@(jYX~When checking the traces after error recovery has happened, check the logfile specified at IPC startup, if one was specified. When starting IPC, specify a logfile using the “-câ€� option. When an error recovery happens, the last traces are dumped to this log file. For more information about debugging remote core faults and exceptions, see `Debugging MMU Faults and Exceptions`_.jZjË@jbj:>jdj¥jf}rê@(jh]ji]jj]jk]jn]ujpKŠjqhjr]rë@(j{XWWhen checking the traces after error recovery has happened, check the logfile specified at IPC startup, if one was specified. When starting IPC, specify a logfile using the “-câ€� option. When an error recovery happens, the last traces are dumped to this log file. For more information about debugging remote core faults and exceptions, see rì@…�rí@}rî@(jYXWWhen checking the traces after error recovery has happened, check the logfile specified at IPC startup, if one was specified. When starting IPC, specify a logfile using the “-câ€� option. When an error recovery happens, the last traces are dumped to this log file. For more information about debugging remote core faults and exceptions, see jZjè@ubjÜ)�rï@}rð@(jYX&`Debugging MMU Faults and Exceptions`_jßKjZjè@jdjàjf}rñ@(UnameX#Debugging MMU Faults and Exceptionsjk]jj]jh]ji]jn]jâjù?ujr]rò@j{X#Debugging MMU Faults and Exceptionsró@…�rô@}rõ@(jYUjZjï@ubaubj{X.…�rö@}r÷@(jYX.jZjè@ubeubeubj[)�rø@}rù@(jYUjZjÎ>jbj:>jdjejf}rú@(jh]ji]jj]jk]rû@Uqnx-adding-tracesrü@ajn]rý@jaujpK�jqhjr]rþ@(jt)�rÿ@}rA(jYXQNX - Adding TracesrAjZjø@jbj:>jdjxjf}rA(jh]ji]jj]jk]jn]ujpK�jqhjr]rAj{XQNX - Adding TracesrA…�rA}rA(jYjAjZjÿ@ubaubj¡)�rA}rA(jYXIn some cases, you may want to add traces to get more information about the issue. If the issue is reliably reproducible, one technique is to add additional traces to get more information. If the issue is timing-related, this technique may not be helpful, as it may mask the issuer AjZjø@jbj:>jdj¥jf}r A(jh]ji]jj]jk]jn]ujpK‘jqhjr]r Aj{XIn some cases, you may want to add traces to get more information about the issue. If the issue is reliably reproducible, one technique is to add additional traces to get more information. If the issue is timing-related, this technique may not be helpful, as it may mask the issuer A…�r A}rA(jYj AjZjAubaubj¡)�rA}rA(jYX **SYS-BIOS**rAjZjø@jbj:>jdj¥jf}rA(jh]ji]jj]jk]jn]ujpK”jqhjr]rAjü)�rA}rA(jYjAjf}rA(jh]ji]jj]jk]jn]ujZjAjr]rAj{XSYS-BIOSrA…�rA}rA(jYUjZjAubajdjubaubj¡)�rA}rA(jYXaYou can add traces in the SYS-BIOS IPC code that come to the trace buffer by using the System_printf() API. After adding traces to the SYS-BIOS IPC and rebuilding the IPC, you must rebuild the remote core image. The traces come to the remote core trace buffer and can be viewed by following the instructions in `Linux and Android - Remote Core Traces`_.jZjø@jbj:>jdj¥jf}rA(jh]ji]jj]jk]jn]ujpK–jqhjr]rA(j{X7You can add traces in the SYS-BIOS IPC code that come to the trace buffer by using the System_printf() API. After adding traces to the SYS-BIOS IPC and rebuilding the IPC, you must rebuild the remote core image. The traces come to the remote core trace buffer and can be viewed by following the instructions in rA…�r A}r!A(jYX7You can add traces in the SYS-BIOS IPC code that come to the trace buffer by using the System_printf() API. After adding traces to the SYS-BIOS IPC and rebuilding the IPC, you must rebuild the remote core image. The traces come to the remote core trace buffer and can be viewed by following the instructions in jZjAubjÜ)�r"A}r#A(jYX)`Linux and Android - Remote Core Traces`_jßKjZjAjdjàjf}r$A(UnameX&Linux and Android - Remote Core Tracesjk]jj]jh]ji]jn]jâjÇ?ujr]r%Aj{X&Linux and Android - Remote Core Tracesr&A…�r'A}r(A(jYUjZj"Aubaubj{X.…�r)A}r*A(jYX.jZjAubeubj¡)�r+A}r,A(jYX **Linux**r-AjZjø@jbj:>jdj¥jf}r.A(jh]ji]jj]jk]jn]ujpK›jqhjr]r/Ajü)�r0A}r1A(jYj-Ajf}r2A(jh]ji]jj]jk]jn]ujZj+Ajr]r3Aj{XLinuxr4A…�r5A}r6A(jYUjZj0Aubajdjubaubj¡)�r7A}r8A(jYX×Additionally, traces can be added in the Linux code. The modules of interest when adding traces are the remoteproc, iommu, and rpmsg modules in the kernel, and the MessageQ, MMRPC, and LAD modules in the user space.r9AjZjø@jbj:>jdj¥jf}r:A(jh]ji]jj]jk]jn]ujpK�jqhjr]r;Aj{X×Additionally, traces can be added in the Linux code. The modules of interest when adding traces are the remoteproc, iommu, and rpmsg modules in the kernel, and the MessageQ, MMRPC, and LAD modules in the user space.rA(jYj9AjZj7Aubaubj¡)�r?A}r@A(jYX7In the kernel are these modules in the following paths:rAAjZjø@jbj:>jdj¥jf}rBA(jh]ji]jj]jk]jn]ujpK¡jqhjr]rCAj{X7In the kernel are these modules in the following paths:rDA…�rEA}rFA(jYjAAjZj?AubaubjC)�rGA}rHA(jYUjZjø@jbj:>jdj`jf}rIA(jGX*jk]jj]jh]ji]jn]ujpK£jqhjr]rJA(j/)�rKA}rLA(jYXdrivers/remoteproc/rMAjZjGAjbj:>jdj2jf}rNA(jh]ji]jj]jk]jn]ujpNjqhjr]rOAj¡)�rPA}rQA(jYjMAjZjKAjbj:>jdj¥jf}rRA(jh]ji]jj]jk]jn]ujpK£jr]rSAj{Xdrivers/remoteproc/rTA…�rUA}rVA(jYjMAjZjPAubaubaubj/)�rWA}rXA(jYXdrivers/iommu/rYAjZjGAjbj:>jdj2jf}rZA(jh]ji]jj]jk]jn]ujpNjqhjr]r[Aj¡)�r\A}r]A(jYjYAjZjWAjbj:>jdj¥jf}r^A(jh]ji]jj]jk]jn]ujpK¤jr]r_Aj{Xdrivers/iommu/r`A…�raA}rbA(jYjYAjZj\Aubaubaubj/)�rcA}rdA(jYXdrivers/rpmsg/ jZjGAjbj:>jdj2jf}reA(jh]ji]jj]jk]jn]ujpNjqhjr]rfAj¡)�rgA}rhA(jYXdrivers/rpmsg/riAjZjcAjbj:>jdj¥jf}rjA(jh]ji]jj]jk]jn]ujpK¥jr]rkAj{Xdrivers/rpmsg/rlA…�rmA}rnA(jYjiAjZjgAubaubaubeubj¡)�roA}rpA(jYXŒMost of the user space code can be found in the IPC package, in the linux folder. The MMRPC code is found in the packages/ti/ipc/mm/ folder.rqAjZjø@jbj:>jdj¥jf}rrA(jh]ji]jj]jk]jn]ujpK§jqhjr]rsAj{XŒMost of the user space code can be found in the IPC package, in the linux folder. The MMRPC code is found in the packages/ti/ipc/mm/ folder.rtA…�ruA}rvA(jYjqAjZjoAubaubeubeubj[)�rwA}rxA(jYUjZj(>jbj:>jdjejf}ryA(jh]ji]jj]jk]rzAUremote-core-status-informationr{Aajn]r|AjaujpK«jqhjr]r}A(jt)�r~A}rA(jYXRemote Core Status Informationr€AjZjwAjbj:>jdjxjf}r�A(jh]ji]jj]jk]jn]ujpK«jqhjr]r‚Aj{XRemote Core Status InformationrƒA…�r„A}r…A(jYj€AjZj~Aubaubj¡)�r†A}r‡A(jYXPUseful information about the status of the remote cores can be found in debugfs.rˆAjZjwAjbj:>jdj¥jf}r‰A(jh]ji]jj]jk]jn]ujpK¬jqhjr]rŠAj{XPUseful information about the status of the remote cores can be found in debugfs.r‹A…�rŒA}r�A(jYjˆAjZj†Aubaubj[)�rŽA}r�A(jYUjìKjZjwAjbj:>jdjejf}r�A(jh]ji]jj]jk]r‘Aj@ajn]r’Ah’aujpK¯jqhjr]r“A(jt)�r”A}r•A(jYXLinux and Android - Remoteprocr–AjZjŽAjbj:>jdjxjf}r—A(jh]ji]jj]jk]jn]ujpK¯jqhjr]r˜Aj{XLinux and Android - Remoteprocr™A…�ršA}r›A(jYj–AjZj”Aubaubj¡)�rœA}r�A(jYXInformation about each remote core can be found in the following, where the “Xâ€� can be replaced with the remote core id. ::jZjŽAjbj:>jdj¥jf}ržA(jh]ji]jj]jk]jn]ujpK°jqhjr]rŸAj{X|Information about each remote core can be found in the following, where the “Xâ€� can be replaced with the remote core id.r A…�r¡A}r¢A(jYX|Information about each remote core can be found in the following, where the “Xâ€� can be replaced with the remote core id.jZjœAubaubj)�r£A}r¤A(jYX4cat /sys/kernel/debug/remoteproc/remoteprocX/jZjŽAjbj:>jdjjf}r¥A(jöj÷jk]jj]jh]ji]jn]ujpM@jqhjr]r¦Aj{X4cat /sys/kernel/debug/remoteproc/remoteprocX/r§A…�r¨A}r©A(jYUjZj£Aubaubj¡)�rªA}r«A(jYX.Table 3 lists what can be found for each core.r¬AjZjŽAjbj:>jdj¥jf}r­A(jh]ji]jj]jk]jn]ujpK¶jqhjr]r®Aj{X.Table 3 lists what can be found for each core.r¯A…�r°A}r±A(jYj¬AjZjªAubaubj¡)�r²A}r³A(jYX#Table 3. Remoteproc Debugfs Entriesr´AjZjŽAjbj:>jdj¥jf}rµA(jh]ji]jj]jk]jn]ujpK¸jqhjr]r¶Aj{X#Table 3. Remoteproc Debugfs Entriesr·A…�r¸A}r¹A(jYj´AjZj²Aubaubjd$)�rºA}r»A(jYUjZjŽAjbj:>jdjg$jf}r¼A(jh]ji]jj]jk]jn]ujpNjqhjr]r½Ajj$)�r¾A}r¿A(jYUjf}rÀA(jk]jj]jh]ji]jn]UcolsKujZjºAjr]rÁA(jo$)�rÂA}rÃA(jYUjf}rÄA(jk]jj]jh]ji]jn]UcolwidthKujZj¾Ajr]jdjs$ubjo$)�rÅA}rÆA(jYUjf}rÇA(jk]jj]jh]ji]jn]UcolwidthK[ujZj¾Ajr]jdjs$ubjz$)�rÈA}rÉA(jYUjf}rÊA(jh]ji]jj]jk]jn]ujZj¾Ajr]rËAj$)�rÌA}rÍA(jYUjf}rÎA(jh]ji]jj]jk]jn]ujZjÈAjr]rÏA(j„$)�rÐA}rÑA(jYUjf}rÒA(jh]ji]jj]jk]jn]ujZjÌAjr]rÓAj¡)�rÔA}rÕA(jYXEntryrÖAjZjÐAjbj:>jdj¥jf}r×A(jh]ji]jj]jk]jn]ujpK»jr]rØAj{XEntryrÙA…�rÚA}rÛA(jYjÖAjZjÔAubaubajdj‘$ubj„$)�rÜA}rÝA(jYUjf}rÞA(jh]ji]jj]jk]jn]ujZjÌAjr]rßAj¡)�ràA}ráA(jYX DescriptionrâAjZjÜAjbj:>jdj¥jf}rãA(jh]ji]jj]jk]jn]ujpK»jr]räAj{X DescriptionråA…�ræA}rçA(jYjâAjZjàAubaubajdj‘$ubejdjª$ubajdj«$ubj¬$)�rèA}réA(jYUjf}rêA(jh]ji]jj]jk]jn]ujZj¾Ajr]rëA(j$)�rìA}ríA(jYUjf}rîA(jh]ji]jj]jk]jn]ujZjèAjr]rïA(j„$)�rðA}rñA(jYUjf}ròA(jh]ji]jj]jk]jn]ujZjìAjr]róAj¡)�rôA}rõA(jYXnameröAjZjðAjbj:>jdj¥jf}r÷A(jh]ji]jj]jk]jn]ujpK½jr]røAj{XnamerùA…�rúA}rûA(jYjöAjZjôAubaubajdj‘$ubj„$)�rüA}rýA(jYUjf}rþA(jh]ji]jj]jk]jn]ujZjìAjr]rÿAj¡)�rB}rB(jYX•Processor name, comprised of the RAM address and the processor type, (for example, 58820000.ipu for IPU1). For a complete list of names, see Table 2.rBjZjüAjbj:>jdj¥jf}rB(jh]ji]jj]jk]jn]ujpK½jr]rBj{X•Processor name, comprised of the RAM address and the processor type, (for example, 58820000.ipu for IPU1). For a complete list of names, see Table 2.rB…�rB}rB(jYjBjZjBubaubajdj‘$ubejdjª$ubj$)�rB}r B(jYUjf}r B(jh]ji]jj]jk]jn]ujZjèAjr]r B(j„$)�r B}r B(jYUjf}rB(jh]ji]jj]jk]jn]ujZjBjr]rBj¡)�rB}rB(jYXrecoveryrBjZj Bjbj:>jdj¥jf}rB(jh]ji]jj]jk]jn]ujpKÀjr]rBj{XrecoveryrB…�rB}rB(jYjBjZjBubaubajdj‘$ubj„$)�rB}rB(jYUjf}rB(jh]ji]jj]jk]jn]ujZjBjr]rBj¡)�rB}rB(jYXwReturns either “enabledâ€� or “disabledâ€�, indicating if recovery is enabled or disabled for the remote processor.rBjZjBjbj:>jdj¥jf}rB(jh]ji]jj]jk]jn]ujpKÀjr]r Bj{XwReturns either “enabledâ€� or “disabledâ€�, indicating if recovery is enabled or disabled for the remote processor.r!B…�r"B}r#B(jYjBjZjBubaubajdj‘$ubejdjª$ubj$)�r$B}r%B(jYUjf}r&B(jh]ji]jj]jk]jn]ujZjèAjr]r'B(j„$)�r(B}r)B(jYUjf}r*B(jh]ji]jj]jk]jn]ujZj$Bjr]r+Bj¡)�r,B}r-B(jYXstater.BjZj(Bjbj:>jdj¥jf}r/B(jh]ji]jj]jk]jn]ujpKÃjr]r0Bj{Xstater1B…�r2B}r3B(jYj.BjZj,Bubaubajdj‘$ubj„$)�r4B}r5B(jYUjf}r6B(jh]ji]jj]jk]jn]ujZj$Bjr]r7Bj¡)�r8B}r9B(jYXsGives the state of the remote processor. State is one of: * offline (0) * suspended (1) * running (2) * crashed (3)r:BjZj4Bjbj:>jdj¥jf}r;B(jh]ji]jj]jk]jn]ujpKÃjr]rB}r?B(jYj:BjZj8Bubaubajdj‘$ubejdjª$ubj$)�r@B}rAB(jYUjf}rBB(jh]ji]jj]jk]jn]ujZjèAjr]rCB(j„$)�rDB}rEB(jYUjf}rFB(jh]ji]jj]jk]jn]ujZj@Bjr]rGBj¡)�rHB}rIB(jYXtrace0rJBjZjDBjbj:>jdj¥jf}rKB(jh]ji]jj]jk]jn]ujpKÉjr]rLBj{Xtrace0rMB…�rNB}rOB(jYjJBjZjHBubaubajdj‘$ubj„$)�rPB}rQB(jYUjf}rRB(jh]ji]jj]jk]jn]ujZj@Bjr]rSBj¡)�rTB}rUB(jYX:Returns the contents of the remote processor trace buffer.rVBjZjPBjbj:>jdj¥jf}rWB(jh]ji]jj]jk]jn]ujpKÉjr]rXBj{X:Returns the contents of the remote processor trace buffer.rYB…�rZB}r[B(jYjVBjZjTBubaubajdj‘$ubejdjª$ubj$)�r\B}r]B(jYUjf}r^B(jh]ji]jj]jk]jn]ujZjèAjr]r_B(j„$)�r`B}raB(jYUjf}rbB(jh]ji]jj]jk]jn]ujZj\Bjr]rcBj¡)�rdB}reB(jYX trace0_lastrfBjZj`Bjbj:>jdj¥jf}rgB(jh]ji]jj]jk]jn]ujpKËjr]rhBj{X trace0_lastriB…�rjB}rkB(jYjfBjZjdBubaubajdj‘$ubj„$)�rlB}rmB(jYUjf}rnB(jh]ji]jj]jk]jn]ujZj\Bjr]roBj¡)�rpB}rqB(jYX‚Created after recovering the remote core. Returns the contents of the remote processor trace buffer before recovery was triggered.rrBjZjlBjbj:>jdj¥jf}rsB(jh]ji]jj]jk]jn]ujpKËjr]rtBj{X‚Created after recovering the remote core. Returns the contents of the remote processor trace buffer before recovery was triggered.ruB…�rvB}rwB(jYjrBjZjpBubaubajdj‘$ubejdjª$ubj$)�rxB}ryB(jYUjf}rzB(jh]ji]jj]jk]jn]ujZjèAjr]r{B(j„$)�r|B}r}B(jYUjf}r~B(jh]ji]jj]jk]jn]ujZjxBjr]rBj¡)�r€B}r�B(jYXversionr‚BjZj|Bjbj:>jdj¥jf}rƒB(jh]ji]jj]jk]jn]ujpKÎjr]r„Bj{Xversionr…B…�r†B}r‡B(jYj‚BjZj€Bubaubajdj‘$ubj„$)�rˆB}r‰B(jYUjf}rŠB(jh]ji]jj]jk]jn]ujZjxBjr]r‹Bj¡)�rŒB}r�B(jYX/Returns the version. Currently returns nothing.rŽBjZjˆBjbj:>jdj¥jf}r�B(jh]ji]jj]jk]jn]ujpKÎjr]r�Bj{X/Returns the version. Currently returns nothing.r‘B…�r’B}r“B(jYjŽBjZjŒBubaubajdj‘$ubejdjª$ubejdjy%ubejdjz%ubaubeubj[)�r”B}r•B(jYUjZjwAjbj:>jdjejf}r–B(jh]ji]jj]jk]r—BUlinux-and-android-iommu-infor˜Bajn]r™BhíaujpKÒjqhjr]ršB(jt)�r›B}rœB(jYXLinux and Android - IOMMU Infor�BjZj”Bjbj:>jdjxjf}ržB(jh]ji]jj]jk]jn]ujpKÒjqhjr]rŸBj{XLinux and Android - IOMMU Infor B…�r¡B}r¢B(jYj�BjZj›Bubaubj¡)�r£B}r¤B(jYX¿Information about the IOMMU can also be found in debugfs. It can be found in the following path, where “XXXXXXXXâ€� is replaced by the register address for the remote core MMU registers. ::jZj”Bjbj:>jdj¥jf}r¥B(jh]ji]jj]jk]jn]ujpKÓjqhjr]r¦Bj{X¼Information about the IOMMU can also be found in debugfs. It can be found in the following path, where “XXXXXXXXâ€� is replaced by the register address for the remote core MMU registers.r§B…�r¨B}r©B(jYX¼Information about the IOMMU can also be found in debugfs. It can be found in the following path, where “XXXXXXXXâ€� is replaced by the register address for the remote core MMU registers.jZj£Bubaubj)�rªB}r«B(jYX5cat /sys/kernel/debug/omap_iommu/XXXXXXXX.mmu/jZj”Bjbj:>jdjjf}r¬B(jöj÷jk]jj]jh]ji]jn]ujpMcjqhjr]r­Bj{X5cat /sys/kernel/debug/omap_iommu/XXXXXXXX.mmu/r®B…�r¯B}r°B(jYUjZjªBubaubj¡)�r±B}r²B(jYXgTable 4 gives the corresponding core name for each MMU for AM57xx, and the register address in the TRM.r³BjZj”Bjbj:>jdj¥jf}r´B(jh]ji]jj]jk]jn]ujpKÙjqhjr]rµBj{XgTable 4 gives the corresponding core name for each MMU for AM57xx, and the register address in the TRM.r¶B…�r·B}r¸B(jYj³BjZj±Bubaubj¡)�r¹B}rºB(jYXTable 4. IOMMU Entry Namesr»BjZj”Bjbj:>jdj¥jf}r¼B(jh]ji]jj]jk]jn]ujpKÛjqhjr]r½Bj{XTable 4. IOMMU Entry Namesr¾B…�r¿B}rÀB(jYj»BjZj¹Bubaubjd$)�rÁB}rÂB(jYUjZj”Bjbj:>jdjg$jf}rÃB(jh]ji]jj]jk]jn]ujpNjqhjr]rÄBjj$)�rÅB}rÆB(jYUjf}rÇB(jk]jj]jh]ji]jn]UcolsKujZjÁBjr]rÈB(jo$)�rÉB}rÊB(jYUjf}rËB(jk]jj]jh]ji]jn]UcolwidthKujZjÅBjr]jdjs$ubjo$)�rÌB}rÍB(jYUjf}rÎB(jk]jj]jh]ji]jn]UcolwidthK ujZjÅBjr]jdjs$ubjz$)�rÏB}rÐB(jYUjf}rÑB(jh]ji]jj]jk]jn]ujZjÅBjr]rÒBj$)�rÓB}rÔB(jYUjf}rÕB(jh]ji]jj]jk]jn]ujZjÏBjr]rÖB(j„$)�r×B}rØB(jYUjf}rÙB(jh]ji]jj]jk]jn]ujZjÓBjr]rÚBj¡)�rÛB}rÜB(jYX IOMMU EntryrÝBjZj×Bjbj:>jdj¥jf}rÞB(jh]ji]jj]jk]jn]ujpKÞjr]rßBj{X IOMMU EntryràB…�ráB}râB(jYjÝBjZjÛBubaubajdj‘$ubj„$)�rãB}räB(jYUjf}råB(jh]ji]jj]jk]jn]ujZjÓBjr]ræBj¡)�rçB}rèB(jYX Core NameréBjZjãBjbj:>jdj¥jf}rêB(jh]ji]jj]jk]jn]ujpKÞjr]rëBj{X Core NamerìB…�ríB}rîB(jYjéBjZjçBubaubajdj‘$ubejdjª$ubajdj«$ubj¬$)�rïB}rðB(jYUjf}rñB(jh]ji]jj]jk]jn]ujZjÅBjr]ròB(j$)�róB}rôB(jYUjf}rõB(jh]ji]jj]jk]jn]ujZjïBjr]röB(j„$)�r÷B}røB(jYUjf}rùB(jh]ji]jj]jk]jn]ujZjóBjr]rúBj¡)�rûB}rüB(jYX 58882000.mmurýBjZj÷Bjbj:>jdj¥jf}rþB(jh]ji]jj]jk]jn]ujpKàjr]rÿBj{X 58882000.mmurC…�rC}rC(jYjýBjZjûBubaubajdj‘$ubj„$)�rC}rC(jYUjf}rC(jh]ji]jj]jk]jn]ujZjóBjr]rCj¡)�rC}rC(jYXIPU1r CjZjCjbj:>jdj¥jf}r C(jh]ji]jj]jk]jn]ujpKàjr]r Cj{XIPU1r C…�r C}rC(jYj CjZjCubaubajdj‘$ubejdjª$ubj$)�rC}rC(jYUjf}rC(jh]ji]jj]jk]jn]ujZjïBjr]rC(j„$)�rC}rC(jYUjf}rC(jh]ji]jj]jk]jn]ujZjCjr]rCj¡)�rC}rC(jYX 55082000.mmurCjZjCjbj:>jdj¥jf}rC(jh]ji]jj]jk]jn]ujpKâjr]rCj{X 55082000.mmurC…�rC}rC(jYjCjZjCubaubajdj‘$ubj„$)�rC}r C(jYUjf}r!C(jh]ji]jj]jk]jn]ujZjCjr]r"Cj¡)�r#C}r$C(jYXIPU2r%CjZjCjbj:>jdj¥jf}r&C(jh]ji]jj]jk]jn]ujpKâjr]r'Cj{XIPU2r(C…�r)C}r*C(jYj%CjZj#Cubaubajdj‘$ubejdjª$ubj$)�r+C}r,C(jYUjf}r-C(jh]ji]jj]jk]jn]ujZjïBjr]r.C(j„$)�r/C}r0C(jYUjf}r1C(jh]ji]jj]jk]jn]ujZj+Cjr]r2Cj¡)�r3C}r4C(jYX 40d01000.mmur5CjZj/Cjbj:>jdj¥jf}r6C(jh]ji]jj]jk]jn]ujpKäjr]r7Cj{X 40d01000.mmur8C…�r9C}r:C(jYj5CjZj3Cubaubajdj‘$ubj„$)�r;C}rCj¡)�r?C}r@C(jYX DSP1 (MMU1)rACjZj;Cjbj:>jdj¥jf}rBC(jh]ji]jj]jk]jn]ujpKäjr]rCCj{X DSP1 (MMU1)rDC…�rEC}rFC(jYjACjZj?Cubaubajdj‘$ubejdjª$ubj$)�rGC}rHC(jYUjf}rIC(jh]ji]jj]jk]jn]ujZjïBjr]rJC(j„$)�rKC}rLC(jYUjf}rMC(jh]ji]jj]jk]jn]ujZjGCjr]rNCj¡)�rOC}rPC(jYX 40d02000.mmurQCjZjKCjbj:>jdj¥jf}rRC(jh]ji]jj]jk]jn]ujpKæjr]rSCj{X 40d02000.mmurTC…�rUC}rVC(jYjQCjZjOCubaubajdj‘$ubj„$)�rWC}rXC(jYUjf}rYC(jh]ji]jj]jk]jn]ujZjGCjr]rZCj¡)�r[C}r\C(jYX DSP1 (MMU2)r]CjZjWCjbj:>jdj¥jf}r^C(jh]ji]jj]jk]jn]ujpKæjr]r_Cj{X DSP1 (MMU2)r`C…�raC}rbC(jYj]CjZj[Cubaubajdj‘$ubejdjª$ubj$)�rcC}rdC(jYUjf}reC(jh]ji]jj]jk]jn]ujZjïBjr]rfC(j„$)�rgC}rhC(jYUjf}riC(jh]ji]jj]jk]jn]ujZjcCjr]rjCj¡)�rkC}rlC(jYX 41501000.mmurmCjZjgCjbj:>jdj¥jf}rnC(jh]ji]jj]jk]jn]ujpKèjr]roCj{X 41501000.mmurpC…�rqC}rrC(jYjmCjZjkCubaubajdj‘$ubj„$)�rsC}rtC(jYUjf}ruC(jh]ji]jj]jk]jn]ujZjcCjr]rvCj¡)�rwC}rxC(jYX DSP2 (MMU1)ryCjZjsCjbj:>jdj¥jf}rzC(jh]ji]jj]jk]jn]ujpKèjr]r{Cj{X DSP2 (MMU1)r|C…�r}C}r~C(jYjyCjZjwCubaubajdj‘$ubejdjª$ubj$)�rC}r€C(jYUjf}r�C(jh]ji]jj]jk]jn]ujZjïBjr]r‚C(j„$)�rƒC}r„C(jYUjf}r…C(jh]ji]jj]jk]jn]ujZjCjr]r†Cj¡)�r‡C}rˆC(jYX 41502000.mmur‰CjZjƒCjbj:>jdj¥jf}rŠC(jh]ji]jj]jk]jn]ujpKêjr]r‹Cj{X 41502000.mmurŒC…�r�C}rŽC(jYj‰CjZj‡Cubaubajdj‘$ubj„$)�r�C}r�C(jYUjf}r‘C(jh]ji]jj]jk]jn]ujZjCjr]r’Cj¡)�r“C}r”C(jYX DSP2 (MMU2)r•CjZj�Cjbj:>jdj¥jf}r–C(jh]ji]jj]jk]jn]ujpKêjr]r—Cj{X DSP2 (MMU2)r˜C…�r™C}ršC(jYj•CjZj“Cubaubajdj‘$ubejdjª$ubejdjy%ubejdjz%ubaubj¡)�r›C}rœC(jYXoSome of this information is inaccessible from a suspended state. Table 5 lists what can be found for each core.r�CjZj”Bjbj:>jdj¥jf}ržC(jh]ji]jj]jk]jn]ujpKíjqhjr]rŸCj{XoSome of this information is inaccessible from a suspended state. Table 5 lists what can be found for each core.r C…�r¡C}r¢C(jYj�CjZj›Cubaubj¡)�r£C}r¤C(jYXTable 5. IOMMU Debugfs Entriesr¥CjZj”Bjbj:>jdj¥jf}r¦C(jh]ji]jj]jk]jn]ujpKïjqhjr]r§Cj{XTable 5. IOMMU Debugfs Entriesr¨C…�r©C}rªC(jYj¥CjZj£Cubaubjd$)�r«C}r¬C(jYUjZj”Bjbj:>jdjg$jf}r­C(jh]ji]jj]jk]jn]ujpNjqhjr]r®Cjj$)�r¯C}r°C(jYUjf}r±C(jk]jj]jh]ji]jn]UcolsKujZj«Cjr]r²C(jo$)�r³C}r´C(jYUjf}rµC(jk]jj]jh]ji]jn]UcolwidthKujZj¯Cjr]jdjs$ubjo$)�r¶C}r·C(jYUjf}r¸C(jk]jj]jh]ji]jn]UcolwidthK'ujZj¯Cjr]jdjs$ubjz$)�r¹C}rºC(jYUjf}r»C(jh]ji]jj]jk]jn]ujZj¯Cjr]r¼Cj$)�r½C}r¾C(jYUjf}r¿C(jh]ji]jj]jk]jn]ujZj¹Cjr]rÀC(j„$)�rÁC}rÂC(jYUjf}rÃC(jh]ji]jj]jk]jn]ujZj½Cjr]rÄCj¡)�rÅC}rÆC(jYXEntryrÇCjZjÁCjbj:>jdj¥jf}rÈC(jh]ji]jj]jk]jn]ujpKòjr]rÉCj{XEntryrÊC…�rËC}rÌC(jYjÇCjZjÅCubaubajdj‘$ubj„$)�rÍC}rÎC(jYUjf}rÏC(jh]ji]jj]jk]jn]ujZj½Cjr]rÐCj¡)�rÑC}rÒC(jYX DescriptionrÓCjZjÍCjbj:>jdj¥jf}rÔC(jh]ji]jj]jk]jn]ujpKòjr]rÕCj{X DescriptionrÖC…�r×C}rØC(jYjÓCjZjÑCubaubajdj‘$ubejdjª$ubajdj«$ubj¬$)�rÙC}rÚC(jYUjf}rÛC(jh]ji]jj]jk]jn]ujZj¯Cjr]rÜC(j$)�rÝC}rÞC(jYUjf}rßC(jh]ji]jj]jk]jn]ujZjÙCjr]ràC(j„$)�ráC}râC(jYUjf}rãC(jh]ji]jj]jk]jn]ujZjÝCjr]räCj¡)�råC}ræC(jYXnr_tlb_entriesrçCjZjáCjbj:>jdj¥jf}rèC(jh]ji]jj]jk]jn]ujpKôjr]réCj{Xnr_tlb_entriesrêC…�rëC}rìC(jYjçCjZjåCubaubajdj‘$ubj„$)�ríC}rîC(jYUjf}rïC(jh]ji]jj]jk]jn]ujZjÝCjr]rðCj¡)�rñC}ròC(jYXGives the number of tlb entriesróCjZjíCjbj:>jdj¥jf}rôC(jh]ji]jj]jk]jn]ujpKôjr]rõCj{XGives the number of tlb entriesröC…�r÷C}røC(jYjóCjZjñCubaubajdj‘$ubejdjª$ubj$)�rùC}rúC(jYUjf}rûC(jh]ji]jj]jk]jn]ujZjÙCjr]rüC(j„$)�rýC}rþC(jYUjf}rÿC(jh]ji]jj]jk]jn]ujZjùCjr]rDj¡)�rD}rD(jYX pagetablerDjZjýCjbj:>jdj¥jf}rD(jh]ji]jj]jk]jn]ujpKöjr]rDj{X pagetablerD…�rD}rD(jYjDjZjDubaubajdj‘$ubj„$)�r D}r D(jYUjf}r D(jh]ji]jj]jk]jn]ujZjùCjr]r Dj¡)�r D}rD(jYXDumps the pagetable entriesrDjZj Djbj:>jdj¥jf}rD(jh]ji]jj]jk]jn]ujpKöjr]rDj{XDumps the pagetable entriesrD…�rD}rD(jYjDjZj Dubaubajdj‘$ubejdjª$ubj$)�rD}rD(jYUjf}rD(jh]ji]jj]jk]jn]ujZjÙCjr]rD(j„$)�rD}rD(jYUjf}rD(jh]ji]jj]jk]jn]ujZjDjr]rDj¡)�rD}rD(jYXregsrDjZjDjbj:>jdj¥jf}r D(jh]ji]jj]jk]jn]ujpKøjr]r!Dj{Xregsr"D…�r#D}r$D(jYjDjZjDubaubajdj‘$ubj„$)�r%D}r&D(jYUjf}r'D(jh]ji]jj]jk]jn]ujZjDjr]r(Dj¡)�r)D}r*D(jYX%Gives the values of the MMU registersr+DjZj%Djbj:>jdj¥jf}r,D(jh]ji]jj]jk]jn]ujpKøjr]r-Dj{X%Gives the values of the MMU registersr.D…�r/D}r0D(jYj+DjZj)Dubaubajdj‘$ubejdjª$ubj$)�r1D}r2D(jYUjf}r3D(jh]ji]jj]jk]jn]ujZjÙCjr]r4D(j„$)�r5D}r6D(jYUjf}r7D(jh]ji]jj]jk]jn]ujZj1Djr]r8Dj¡)�r9D}r:D(jYXtlbr;DjZj5Djbj:>jdj¥jf}rD…�r?D}r@D(jYj;DjZj9Dubaubajdj‘$ubj„$)�rAD}rBD(jYUjf}rCD(jh]ji]jj]jk]jn]ujZj1Djr]rDDj¡)�rED}rFD(jYXLists the tlb entries.rGDjZjADjbj:>jdj¥jf}rHD(jh]ji]jj]jk]jn]ujpKújr]rIDj{XLists the tlb entries.rJD…�rKD}rLD(jYjGDjZjEDubaubajdj‘$ubejdjª$ubejdjy%ubejdjz%ubaubeubj[)�rMD}rND(jYUjZjwAjbj:>jdjejf}rOD(jh]ji]jj]jk]rPDU!qnx-remote-core-state-informationrQDajn]rRDh*aujpKþjqhjr]rSD(jt)�rTD}rUD(jYX%QNX – Remote Core State InformationrVDjZjMDjbj:>jdjxjf}rWD(jh]ji]jj]jk]jn]ujpKþjqhjr]rXDj{X%QNX – Remote Core State InformationrYD…�rZD}r[D(jYjVDjZjTDubaubj¡)�r\D}r]D(jYXRFind out the current state of the remote core by issuing the following command: ::jZjMDjbj:>jdj¥jf}r^D(jh]ji]jj]jk]jn]ujpKÿjqhjr]r_Dj{XOFind out the current state of the remote core by issuing the following command:r`D…�raD}rbD(jYXOFind out the current state of the remote core by issuing the following command:jZj\Dubaubj)�rcD}rdD(jYXcat /dev/ipc-state/jZjMDjbj:>jdjjf}reD(jöj÷jk]jj]jh]ji]jn]ujpMŽjqhjr]rfDj{Xcat /dev/ipc-state/rgD…�rhD}riD(jYUjZjcDubaubj¡)�rjD}rkD(jYX§The “core_nameâ€� is the name of the remote core. Valid names for AM57xx are IPU1, IPU2, DSP1, and DSP2. The current state will show as “runningâ€� or “resetâ€�.rlDjZjMDjbj:>jdj¥jf}rmD(jh]ji]jj]jk]jn]ujpMjqhjr]rnDj{X§The “core_nameâ€� is the name of the remote core. Valid names for AM57xx are IPU1, IPU2, DSP1, and DSP2. The current state will show as “runningâ€� or “resetâ€�.roD…�rpD}rqD(jYjlDjZjjDubaubeubeubj[)�rrD}rsD(jYUjZj(>jbj:>jdjejf}rtD(jh]ji]jj]jk]ruDUusing-code-composer-studiorvDajn]rwDh�aujpMjqhjr]rxD(jt)�ryD}rzD(jYXUsing Code Composer Studior{DjZjrDjbj:>jdjxjf}r|D(jh]ji]jj]jk]jn]ujpMjqhjr]r}Dj{XUsing Code Composer Studior~D…�rD}r€D(jYj{DjZjyDubaubj¡)�r�D}r‚D(jYX—A useful tool for debugging issues is Code Composer Studio. CCS allows easy connection to the remote core in order to see the state of the remote core.rƒDjZjrDjbj:>jdj¥jf}r„D(jh]ji]jj]jk]jn]ujpM jqhjr]r…Dj{X—A useful tool for debugging issues is Code Composer Studio. CCS allows easy connection to the remote core in order to see the state of the remote core.r†D…�r‡D}rˆD(jYjƒDjZj�Dubaubj[)�r‰D}rŠD(jYUjZjrDjbj:>jdjejf}r‹D(jh]ji]jj]jk]rŒDU debug-symbolsr�Dajn]rŽDhÓaujpM jqhjr]r�D(jt)�r�D}r‘D(jYX Debug Symbolsr’DjZj‰Djbj:>jdjxjf}r“D(jh]ji]jj]jk]jn]ujpM jqhjr]r”Dj{X Debug Symbolsr•D…�r–D}r—D(jYj’DjZj�Dubaubj¡)�r˜D}r™D(jYXsThe remote core image must be built with debug symbols to see information such as the call stack and variables. Once attached, load the symbols. The symbols are built into the executable itself. When loading symbols, point to the same executable that is loaded on the target (or the unstripped version locally, if it is stripped to save space when loading to the target.)ršDjZj‰Djbj:>jdj¥jf}r›D(jh]ji]jj]jk]jn]ujpMjqhjr]rœDj{XsThe remote core image must be built with debug symbols to see information such as the call stack and variables. Once attached, load the symbols. The symbols are built into the executable itself. When loading symbols, point to the same executable that is loaded on the target (or the unstripped version locally, if it is stripped to save space when loading to the target.)r�D…�ržD}rŸD(jYjšDjZj˜Dubaubeubj[)�r D}r¡D(jYUjìKjZjrDjbj:>jdjejf}r¢D(jh]ji]jj]jk]r£DU3linux-and-android-disabling-remoteproc-auto-suspendr¤Dajn]r¥DjaujpMjqhjr]r¦D(jt)�r§D}r¨D(jYX5Linux and Android - Disabling Remoteproc Auto-Suspendr©DjZj Djbj:>jdjxjf}rªD(jh]ji]jj]jk]jn]ujpMjqhjr]r«Dj{X5Linux and Android - Disabling Remoteproc Auto-Suspendr¬D…�r­D}r®D(jYj©DjZj§Dubaubj¡)�r¯D}r°D(jYXYou may want to disable auto-suspend of the remote cores (provided that is not what is being debugged). When the core is suspended, you will not be able to connect to the remote core using CCS. Auto-suspend can be disabled by setting the power control to “onâ€� for the remote core. ::jZj Djbj:>jdj¥jf}r±D(jh]ji]jj]jk]jn]ujpMjqhjr]r²Dj{XYou may want to disable auto-suspend of the remote cores (provided that is not what is being debugged). When the core is suspended, you will not be able to connect to the remote core using CCS. Auto-suspend can be disabled by setting the power control to “onâ€� for the remote core.r³D…�r´D}rµD(jYXYou may want to disable auto-suspend of the remote cores (provided that is not what is being debugged). When the core is suspended, you will not be able to connect to the remote core using CCS. Auto-suspend can be disabled by setting the power control to “onâ€� for the remote core.jZj¯Dubaubj)�r¶D}r·D(jYX:echo on > /sys/bus/platform/devices//power/controljZj Djbj:>jdjjf}r¸D(jöj÷jk]jj]jh]ji]jn]ujpM¥jqhjr]r¹Dj{X:echo on > /sys/bus/platform/devices//power/controlrºD…�r»D}r¼D(jYUjZj¶Dubaubj¡)�r½D}r¾D(jYXIThe remote core device name for each remote core can be found in Table 2.r¿DjZj Djbj:>jdj¥jf}rÀD(jh]ji]jj]jk]jn]ujpMjqhjr]rÁDj{XIThe remote core device name for each remote core can be found in Table 2.rÂD…�rÃD}rÄD(jYj¿DjZj½Dubaubeubj[)�rÅD}rÆD(jYUjìKjZjrDjbj:>jdjejf}rÇD(jh]ji]jj]jk]rÈDU$linux-and-android-disabling-watchdogrÉDajn]rÊDj2aujpMjqhjr]rËD(jt)�rÌD}rÍD(jYX(Linux and Android – Disabling WatchdogrÎDjZjÅDjbj:>jdjxjf}rÏD(jh]ji]jj]jk]jn]ujpMjqhjr]rÐDj{X(Linux and Android – Disabling WatchdogrÑD…�rÒD}rÓD(jYjÎDjZjÌDubaubj¡)�rÔD}rÕD(jYX`You may decide to disable the watchdog timers when debugging and using CCS. Otherwise, while connected to the target, the watchdog may expire, triggering an abort sequence. Disable the watchdog timers for a remote core by removing their definitions from the dts file. For example, to disable the watchdog timers for IPU1, change the dts file as below::jZjÅDjbj:>jdj¥jf}rÖD(jh]ji]jj]jk]jn]ujpMjqhjr]r×Dj{X_You may decide to disable the watchdog timers when debugging and using CCS. Otherwise, while connected to the target, the watchdog may expire, triggering an abort sequence. Disable the watchdog timers for a remote core by removing their definitions from the dts file. For example, to disable the watchdog timers for IPU1, change the dts file as below:rØD…�rÙD}rÚD(jYX_You may decide to disable the watchdog timers when debugging and using CCS. Otherwise, while connected to the target, the watchdog may expire, triggering an abort sequence. Disable the watchdog timers for a remote core by removing their definitions from the dts file. For example, to disable the watchdog timers for IPU1, change the dts file as below:jZjÔDubaubj)�rÛD}rÜD(jYXê&ipu1 { status = "okay"; memory-region = <&ipu1_cma_pool>; mboxes = <&mailbox5 &mbox_ipu1_legacy>; timers = <&timer11>; - watchdog-timers = <&timer7>, <&timer8>; + /*watchdog-timers = <&timer7>, <&timer8>;*/jZjÅDjbj:>jdjjf}rÝD(jöj÷jk]jj]jh]ji]jn]ujpM°jqhjr]rÞDj{Xê&ipu1 { status = "okay"; memory-region = <&ipu1_cma_pool>; mboxes = <&mailbox5 &mbox_ipu1_legacy>; timers = <&timer11>; - watchdog-timers = <&timer7>, <&timer8>; + /*watchdog-timers = <&timer7>, <&timer8>;*/rßD…�ràD}ráD(jYUjZjÛDubaubeubj[)�râD}rãD(jYUjZjrDjbj:>jdjejf}räD(jh]ji]jj]jk]råDUsys-bios-disabling-watchdogræDajn]rçDh�aujpM3jqhjr]rèD(jt)�réD}rêD(jYXSYS/BIOS – Disabling WatchdogrëDjZjâDjbj:>jdjxjf}rìD(jh]ji]jj]jk]jn]ujpM3jqhjr]ríDj{XSYS/BIOS – Disabling WatchdogrîD…�rïD}rðD(jYjëDjZjéDubaubj¡)�rñD}ròD(jYXÛWhen using QNX, you can disable the watchdog from within the remote core image itself. If using Linux or Android, this step is not required; simply follow the instructions in `Linux and Android – Disabling Watchdog`_.jZjâDjbj:>jdj¥jf}róD(jh]ji]jj]jk]jn]ujpM4jqhjr]rôD(j{X¯When using QNX, you can disable the watchdog from within the remote core image itself. If using Linux or Android, this step is not required; simply follow the instructions in rõD…�röD}r÷D(jYX¯When using QNX, you can disable the watchdog from within the remote core image itself. If using Linux or Android, this step is not required; simply follow the instructions in jZjñDubjÜ)�røD}rùD(jYX+`Linux and Android – Disabling Watchdog`_jßKjZjñDjdjàjf}rúD(UnameX(Linux and Android – Disabling Watchdogjk]jj]jh]ji]jn]jâjÉDujr]rûDj{X(Linux and Android – Disabling WatchdogrüD…�rýD}rþD(jYUjZjøDubaubj{X.…�rÿD}rE(jYX.jZjñDubeubj¡)�rE}rE(jYX,To disable the usage of the watchdog from the remote core without completely disabling the device exception module (DEH), comment out the calls to Watchdog_init in the SYS/BIOS IPC code. These calls can be found in packages/ti/deh/Deh.c, packages/ti/deh/DehDsp.c, and packages/ti/ipc/ipcmgr/IpcMgr.c.rEjZjâDjbj:>jdj¥jf}rE(jh]ji]jj]jk]jn]ujpM7jqhjr]rEj{X,To disable the usage of the watchdog from the remote core without completely disabling the device exception module (DEH), comment out the calls to Watchdog_init in the SYS/BIOS IPC code. These calls can be found in packages/ti/deh/Deh.c, packages/ti/deh/DehDsp.c, and packages/ti/ipc/ipcmgr/IpcMgr.c.rE…�rE}rE(jYjEjZjEubaubj¡)�r E}r E(jYXpackages/ti/deh/Deh.c::r EjZjâDjbj:>jdj¥jf}r E(jh]ji]jj]jk]jn]ujpM;jqhjr]r Ej{Xpackages/ti/deh/Deh.c:rE…�rE}rE(jYXpackages/ti/deh/Deh.c:jZj Eubaubj)�rE}rE(jYX,/* * ======== Deh_Module_startup ======== */ Int Deh_Module_startup(Int phase) { if (AMMU_Module_startupDone() == TRUE) { - Watchdog_init(ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I); + //Watchdog_init(ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I); return Startup_DONE; } return Startup_NOTDONE; }jZjâDjbj:>jdjjf}rE(jöj÷jk]jj]jh]ji]jn]ujpMÉjqhjr]rEj{X,/* * ======== Deh_Module_startup ======== */ Int Deh_Module_startup(Int phase) { if (AMMU_Module_startupDone() == TRUE) { - Watchdog_init(ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I); + //Watchdog_init(ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I); return Startup_DONE; } return Startup_NOTDONE; }rE…�rE}rE(jYUjZjEubaubj¡)�rE}rE(jYXpackages/ti/deh/DehDsp.c::rEjZjâDjbj:>jdj¥jf}rE(jh]ji]jj]jk]jn]ujpMKjqhjr]rEj{Xpackages/ti/deh/DehDsp.c:rE…�rE}rE(jYXpackages/ti/deh/DehDsp.c:jZjEubaubj)�r E}r!E(jYXãInt Deh_Module_startup(Int phase) { #if defined(HAS_AMMU) if (AMMU_Module_startupDone() == TRUE) { - Watchdog_init((Void (*)(Void))ti_sysbios_family_c64p_Exception_handler); + //Watchdog_init((Void (*)(Void))ti_sysbios_family_c64p_Exception_handler); return Startup_DONE; } return Startup_NOTDONE; #else - Watchdog_init((Void (*)(Void))ti_sysbios_family_c64p_Exception_handler); + //Watchdog_init((Void (*)(Void))ti_sysbios_family_c64p_Exception_handler); return Startup_DONE; #endifjZjâDjbj:>jdjjf}r"E(jöj÷jk]jj]jh]ji]jn]ujpMÙjqhjr]r#Ej{XãInt Deh_Module_startup(Int phase) { #if defined(HAS_AMMU) if (AMMU_Module_startupDone() == TRUE) { - Watchdog_init((Void (*)(Void))ti_sysbios_family_c64p_Exception_handler); + //Watchdog_init((Void (*)(Void))ti_sysbios_family_c64p_Exception_handler); return Startup_DONE; } return Startup_NOTDONE; #else - Watchdog_init((Void (*)(Void))ti_sysbios_family_c64p_Exception_handler); + //Watchdog_init((Void (*)(Void))ti_sysbios_family_c64p_Exception_handler); return Startup_DONE; #endifr$E…�r%E}r&E(jYUjZj Eubaubj¡)�r'E}r(E(jYX!packages/ti/ipc/ipcmgr/IpcMgr.c::r)EjZjâDjbj:>jdj¥jf}r*E(jh]ji]jj]jk]jn]ujpM\jqhjr]r+Ej{X packages/ti/ipc/ipcmgr/IpcMgr.c:r,E…�r-E}r.E(jYX packages/ti/ipc/ipcmgr/IpcMgr.c:jZj'Eubaubj)�r/E}r0E(jYXuVoid IpcMgr_rpmsgStartup(Void) { Assert_isTrue(MultiProc_self() != MultiProc_getId("HOST"), NULL); RPMessage_init(MultiProc_getId("HOST")); -#ifdef IpcMgr_USEDEH +#if 0 /* * When using DEH, initialize the Watchdog timers if not already done * (i.e. late-attach) */ #ifdef IpcMgr_DSP Watchdog_init((Void (*)(Void))ti_sysbios_family_c64p_Exception_handler); #elif IpcMgr_IPU Watchdog_init(ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I); #endif #endif } [...] Void IpcMgr_ipcStartup(Void) { UInt procId = MultiProc_getId("HOST"); Int status; /* TransportRpmsgSetup will busy wait until host kicks ready to recv: */ status = TransportRpmsgSetup_attach(procId, 0); Assert_isTrue(status >= 0, NULL); /* Sets up to communicate with host's NameServer: */ status = NameServerRemoteRpmsg_attach(procId, 0); Assert_isTrue(status >= 0, NULL); -#ifdef IpcMgr_USEDEH +#if 0 /* * When using DEH, initialize the Watchdog timers if not already done * (i.e. late-attach) */ #ifdef IpcMgr_DSP Watchdog_init((Void (*)(Void))ti_sysbios_family_c64p_Exception_handler); #elif IpcMgr_IPU Watchdog_init(ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I); #endif #endif }jZjâDjbj:>jdjjf}r1E(jöj÷jk]jj]jh]ji]jn]ujpMêjqhjr]r2Ej{XuVoid IpcMgr_rpmsgStartup(Void) { Assert_isTrue(MultiProc_self() != MultiProc_getId("HOST"), NULL); RPMessage_init(MultiProc_getId("HOST")); -#ifdef IpcMgr_USEDEH +#if 0 /* * When using DEH, initialize the Watchdog timers if not already done * (i.e. late-attach) */ #ifdef IpcMgr_DSP Watchdog_init((Void (*)(Void))ti_sysbios_family_c64p_Exception_handler); #elif IpcMgr_IPU Watchdog_init(ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I); #endif #endif } [...] Void IpcMgr_ipcStartup(Void) { UInt procId = MultiProc_getId("HOST"); Int status; /* TransportRpmsgSetup will busy wait until host kicks ready to recv: */ status = TransportRpmsgSetup_attach(procId, 0); Assert_isTrue(status >= 0, NULL); /* Sets up to communicate with host's NameServer: */ status = NameServerRemoteRpmsg_attach(procId, 0); Assert_isTrue(status >= 0, NULL); -#ifdef IpcMgr_USEDEH +#if 0 /* * When using DEH, initialize the Watchdog timers if not already done * (i.e. late-attach) */ #ifdef IpcMgr_DSP Watchdog_init((Void (*)(Void))ti_sysbios_family_c64p_Exception_handler); #elif IpcMgr_IPU Watchdog_init(ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I); #endif #endif }r3E…�r4E}r5E(jYUjZj/Eubaubj¡)�r6E}r7E(jYXrFollowing this, rebuild the IPC and the remote core image to have an image with DEH, but without watchdog enabled.r8EjZjâDjbj:>jdj¥jf}r9E(jh]ji]jj]jk]jn]ujpMˆjqhjr]r:Ej{XrFollowing this, rebuild the IPC and the remote core image to have an image with DEH, but without watchdog enabled.r;E…�rE}r?E(jYUjZjrDjbj:>jdjejf}r@E(jh]ji]jj]jk]rAEUattaching-before-the-issuerBEajn]rCEhïaujpMŒjqhjr]rDE(jt)�rEE}rFE(jYXAttaching Before the IssuerGEjZj>Ejbj:>jdjxjf}rHE(jh]ji]jj]jk]jn]ujpMŒjqhjr]rIEj{XAttaching Before the IssuerJE…�rKE}rLE(jYjGEjZjEEubaubj¡)�rME}rNE(jYX$In certain cases, you may want to attach to the remote core before the issue has occurred. If the issue is reliably reproducible and always occurs at the same location, then adding a breakpoint close to where the issue happens could be a good way to get a better picture of what is happening.rOEjZj>Ejbj:>jdj¥jf}rPE(jh]ji]jj]jk]jn]ujpM�jqhjr]rQEj{X$In certain cases, you may want to attach to the remote core before the issue has occurred. If the issue is reliably reproducible and always occurs at the same location, then adding a breakpoint close to where the issue happens could be a good way to get a better picture of what is happening.rRE…�rSE}rTE(jYjOEjZjMEubaubj¡)�rUE}rVE(jYXòOne instance where it may be difficult is if the issue is happening during boot-up of the remote core. In this case, it may be necessary to add a while loop in the main function, to attach before the issue occurs. Add a loop similar to this::jZj>Ejbj:>jdj¥jf}rWE(jh]ji]jj]jk]jn]ujpM‘jqhjr]rXEj{XñOne instance where it may be difficult is if the issue is happening during boot-up of the remote core. In this case, it may be necessary to add a while loop in the main function, to attach before the issue occurs. Add a loop similar to this:rYE…�rZE}r[E(jYXñOne instance where it may be difficult is if the issue is happening during boot-up of the remote core. In this case, it may be necessary to add a while loop in the main function, to attach before the issue occurs. Add a loop similar to this:jZjUEubaubj)�r\E}r]E(jYX&{ volatile int foo = 1; while (foo); }jZj>Ejbj:>jdjjf}r^E(jöj÷jk]jj]jh]ji]jn]ujpM!jqhjr]r_Ej{X&{ volatile int foo = 1; while (foo); }r`E…�raE}rbE(jYUjZj\Eubaubj¡)�rcE}rdE(jYXjThen, after attaching, load the symbols, add the breakpoints, change “fooâ€� to 0, and continue running.reEjZj>Ejbj:>jdj¥jf}rfE(jh]ji]jj]jk]jn]ujpMšjqhjr]rgEj{XjThen, after attaching, load the symbols, add the breakpoints, change “fooâ€� to 0, and continue running.rhE…�riE}rjE(jYjeEjZjcEubaubeubj[)�rkE}rlE(jYUjZjrDjbj:>jdjejf}rmE(jh]ji]jj]jk]rnEUattaching-after-the-issueroEajn]rpEhaujpM�jqhjr]rqE(jt)�rrE}rsE(jYXAttaching After the IssuertEjZjkEjbj:>jdjxjf}ruE(jh]ji]jj]jk]jn]ujpM�jqhjr]rvEj{XAttaching After the IssuerwE…�rxE}ryE(jYjtEjZjrEubaubj¡)�rzE}r{E(jYX’You can also attach to the core after the issue, load the symbols, and see the state and view memory. You can view the Exception module’s exception CallStack ROV view and the task module’s per task CallStack ROV view. For more information about the runtime object viewer (ROV) in the RTSC documentation online, see `Runtime Object Viewer `_.jZjkEjbj:>jdj¥jf}r|E(jh]ji]jj]jk]jn]ujpMžjqhjr]r}E(j{X?You can also attach to the core after the issue, load the symbols, and see the state and view memory. You can view the Exception module’s exception CallStack ROV view and the task module’s per task CallStack ROV view. For more information about the runtime object viewer (ROV) in the RTSC documentation online, see r~E…�rE}r€E(jYX?You can also attach to the core after the issue, load the symbols, and see the state and view memory. You can view the Exception module’s exception CallStack ROV view and the task module’s per task CallStack ROV view. For more information about the runtime object viewer (ROV) in the RTSC documentation online, see jZjzEubjÜ)�r�E}r‚E(jYXR`Runtime Object Viewer `_jf}rƒE(UnameXRuntime Object ViewerjX7http://rtsc.eclipse.org/docs-tip/Runtime_Object_Viewer/r„Ejk]jj]jh]ji]jn]ujZjzEjr]r…Ej{XRuntime Object Viewerr†E…�r‡E}rˆE(jYUjZj�Eubajdjàubj–)�r‰E}rŠE(jYX: jìKjZjzEjdj™jf}r‹E(Urefurij„Ejk]rŒEUruntime-object-viewerr�Eajj]jh]ji]jn]rŽEh‚aujr]ubj{X.…�r�E}r�E(jYX.jZjzEubeubeubj[)�r‘E}r’E(jYUjZjrDjbj:>jdjejf}r“E(jh]ji]jj]jk]r”EU$viewing-the-state-of-the-remote-corer•Eajn]r–EhaujpM¤jqhjr]r—E(jt)�r˜E}r™E(jYX$Viewing the State of the Remote CoreršEjZj‘Ejbj:>jdjxjf}r›E(jh]ji]jj]jk]jn]ujpM¤jqhjr]rœEj{X$Viewing the State of the Remote Corer�E…�ržE}rŸE(jYjšEjZj˜Eubaubj¡)�r E}r¡E(jYX¼Once attached and with symbols loaded, the state of the processor can be inspected. You can see the program counter, memory windows, registers, call stack, and the ROV, among other things.r¢EjZj‘Ejbj:>jdj¥jf}r£E(jh]ji]jj]jk]jn]ujpM¥jqhjr]r¤Ej{X¼Once attached and with symbols loaded, the state of the processor can be inspected. You can see the program counter, memory windows, registers, call stack, and the ROV, among other things.r¥E…�r¦E}r§E(jYj¢EjZj Eubaubeubeubj[)�r¨E}r©E(jYUjìKjZj(>jbj:>jdjejf}rªE(jh]ji]jj]jk]r«Ejù?ajn]r¬Eh0aujpM©jqhjr]r­E(jt)�r®E}r¯E(jYX#Debugging MMU Faults and Exceptionsr°EjZj¨Ejbj:>jdjxjf}r±E(jh]ji]jj]jk]jn]ujpM©jqhjr]r²Ej{X#Debugging MMU Faults and Exceptionsr³E…�r´E}rµE(jYj°EjZj®Eubaubj¡)�r¶E}r·E(jYXˆErrors commonly manifest as MMU faults, exceptions, and watchdog errors (if using a version of IPC with watchdog available and enabled).r¸EjZj¨Ejbj:>jdj¥jf}r¹E(jh]ji]jj]jk]jn]ujpMªjqhjr]rºEj{XˆErrors commonly manifest as MMU faults, exceptions, and watchdog errors (if using a version of IPC with watchdog available and enabled).r»E…�r¼E}r½E(jYj¸EjZj¶Eubaubj[)�r¾E}r¿E(jYUjìKjZj¨Ejbj:>jdjejf}rÀE(jh]ji]jj]jk]rÁEU*linux-and-android-disabling-error-recoveryrÂEajn]rÃEj,aujpM®jqhjr]rÄE(jt)�rÅE}rÆE(jYX,Linux and Android - Disabling Error RecoveryrÇEjZj¾Ejbj:>jdjxjf}rÈE(jh]ji]jj]jk]jn]ujpM®jqhjr]rÉEj{X,Linux and Android - Disabling Error RecoveryrÊE…�rËE}rÌE(jYjÇEjZjÅEubaubj¡)�rÍE}rÎE(jYX‚To debug an error, it may be necessary to turn of error recovery. Error recovery can be disabled by giving the following command::jZj¾Ejbj:>jdj¥jf}rÏE(jh]ji]jj]jk]jn]ujpM¯jqhjr]rÐEj{X�To debug an error, it may be necessary to turn of error recovery. Error recovery can be disabled by giving the following command:rÑE…�rÒE}rÓE(jYX�To debug an error, it may be necessary to turn of error recovery. Error recovery can be disabled by giving the following command:jZjÍEubaubj)�rÔE}rÕE(jYXAecho disabled > /sys/kernel/debug/remoteproc/remoteprocX/recoveryjZj¾Ejbj:>jdjjf}rÖE(jöj÷jk]jj]jh]ji]jn]ujpM>jqhjr]r×Ej{XAecho disabled > /sys/kernel/debug/remoteproc/remoteprocX/recoveryrØE…�rÙE}rÚE(jYUjZjÔEubaubj¡)�rÛE}rÜE(jYX;See `Linux and Android - Remoteproc`_ for more information.rÝEjZj¾Ejbj:>jdj¥jf}rÞE(jh]ji]jj]jk]jn]ujpM´jqhjr]rßE(j{XSee ràE…�ráE}râE(jYXSee jZjÛEubjÜ)�rãE}räE(jYX!`Linux and Android - Remoteproc`_jßKjZjÛEjdjàjf}råE(UnameXLinux and Android - Remoteprocjk]jj]jh]ji]jn]jâj@ujr]ræEj{XLinux and Android - RemoteprocrçE…�rèE}réE(jYUjZjãEubaubj{X for more information.rêE…�rëE}rìE(jYX for more information.jZjÛEubeubeubj[)�ríE}rîE(jYUjZj¨Ejbj:>jdjejf}rïE(jh]ji]jj]jk]rðEUqnx-disabling-error-recoveryrñEajn]ròEj3aujpM·jqhjr]róE(jt)�rôE}rõE(jYX QNX – Disabling Error RecoveryröEjZjíEjbj:>jdjxjf}r÷E(jh]ji]jj]jk]jn]ujpM·jqhjr]røEj{X QNX – Disabling Error RecoveryrùE…�rúE}rûE(jYjöEjZjôEubaubj¡)�rüE}rýE(jYX‚To disable error recovery on QNX using IPC version 3.22 and above, give the -d option when launching the ipc binary. For example::jZjíEjbj:>jdj¥jf}rþE(jh]ji]jj]jk]jn]ujpM¸jqhjr]rÿEj{X�To disable error recovery on QNX using IPC version 3.22 and above, give the -d option when launching the ipc binary. For example:rF…�rF}rF(jYX�To disable error recovery on QNX using IPC version 3.22 and above, give the -d option when launching the ipc binary. For example:jZjüEubaubj)�rF}rF(jYX ipc –d IPU2 dra7x-ipu2-fw.xem4jZjíEjbj:>jdjjf}rF(jöj÷jk]jj]jh]ji]jn]ujpMGjqhjr]rFj{X ipc –d IPU2 dra7x-ipu2-fw.xem4rF…�rF}r F(jYUjZjFubaubeubj[)�r F}r F(jYUjìKjZj¨Ejbj:>jdjejf}r F(jh]ji]jj]jk]r FU crash-dumprFajn]rFhIaujpM¾jqhjr]rF(jt)�rF}rF(jYX Crash DumprFjZj Fjbj:>jdjxjf}rF(jh]ji]jj]jk]jn]ujpM¾jqhjr]rFj{X Crash DumprF…�rF}rF(jYjFjZjFubaubj¡)�rF}rF(jYX‚If any of these three errors are encountered, you will get a crash dump from the remote core which is visible in the remote core traces. If error recovery is disabled, the dump can be found in trace0 (when using Linux/Android) or in /dev/ipc-trace/ (when using QNX); otherwise, the trace is found in trace0_last (when using Linux/Android) and in the logfile (when using QNX).rFjZj Fjbj:>jdj¥jf}rF(jh]ji]jj]jk]jn]ujpM¿jqhjr]rFj{X‚If any of these three errors are encountered, you will get a crash dump from the remote core which is visible in the remote core traces. If error recovery is disabled, the dump can be found in trace0 (when using Linux/Android) or in /dev/ipc-trace/ (when using QNX); otherwise, the trace is found in trace0_last (when using Linux/Android) and in the logfile (when using QNX).rF…�rF}r F(jYjFjZjFubaubj¡)�r!F}r"F(jYX2An example of the crash dump will look like this::r#FjZj Fjbj:>jdj¥jf}r$F(jh]ji]jj]jk]jn]ujpMÄjqhjr]r%Fj{X1An example of the crash dump will look like this:r&F…�r'F}r(F(jYX1An example of the crash dump will look like this:jZj!Fubaubj)�r)F}r*F(jYXÝ [0] [ 91.045] Exception occurred at (PC) = 0000c976 [0] [ 91.045] CPU context: thread [0] [ 91.045] BIOS Task name: {empty-instance-name} handle: 0x80060090. [0] [ 91.045] BIOS Task stack base: 0x800600e0. [0] [ 91.045] BIOS Task stack size: 0x800. [0] [ 91.045] [t=0x18f6df13] ti.sysbios.family.arm.m3.Hwi: ERROR: line 1078: E_hardFault: FORCED [0] [ 91.045] ti.sysbios.family.arm.m3.Hwi: line 1078: E_hardFault: FORCED [0] [ 91.045] [t=0x18f9a0cb] ti.sysbios.family.arm.m3.Hwi: ERROR: line 1155: E_busFault: PRECISERR: Immediate Bus Fault, exact addr known, address: 96000000 [0] [ 91.045] ti.sysbios.family.arm.m3.Hwi: line 1155: E_busFault: PRECISERR: Immediate Bus Fault, exact addr known, address: 96000000 [0] [ 91.045] R0 = 0x96000000 R8 = 0xffffffff [0] [ 91.045] R1 = 0x00000000 R9 = 0xffffffff [0] [ 91.045] R2 = 0x00000000 R10 = 0xffffffff [0] [ 91.045] R3 = 0x80060814 R11 = 0xffffffff [0] [ 91.045] R4 = 0x00013098 R12 = 0x8006074c [0] [ 91.045] R5 = 0x0000000a SP(R13) = 0x80060820 [0] [ 91.045] R6 = 0xffffffff LR(R14) = 0x0000c973 [0] [ 91.045] R7 = 0xffffffff PC(R15) = 0x0000c976 [0] [ 91.045] PSR = 0x61000000 [0] [ 91.045] ICSR = 0x00438803 [0] [ 91.045] MMFSR = 0x00 [0] [ 91.045] BFSR = 0x82 [0] [ 91.045] UFSR = 0x0000 [0] [ 91.045] HFSR = 0x40000000 [0] [ 91.045] DFSR = 0x00000000 [0] [ 91.045] MMAR = 0x96000000 [0] [ 91.045] BFAR = 0x96000000 [0] [ 91.045] AFSR = 0x00000000 [0] [ 91.045] Stack trace [0] [ 91.045] 00 [op faaaf00e] 00006abd (ret from call to 00015010) [0] [ 91.045] 01 [op ff49f005] 00006ac3 (ret from call to 0000c954) [0] [ 91.045] -- [op 98009000] 000154c9 [0] [ 91.045] -- [op 00000000] 000a0001 [0] [ 91.045] -- [op 80084a64] 0000fec9 [0] [ 91.045] -- [op 0001a75c] 000068b9 [0] [ 91.045] -- [op 80084a64] 0000fec9 [0] [ 91.045] -- [op bd0ef919] 00015b91 [0] [ 91.045] Stack dump base 800600e0 size 2048 sp 80060820: [0] [ 91.045] 80060820: 00000001 00006abd 96000000 00000000 ffffffff 00006ac3 0000000a 00006bf4 [0] [ 91.045] 80060840: 00000000 00000000 80041800 80060ab0 00000080 56414c53 50495f45 be003155 [0] [ 91.045] 80060860: bebebebe bebebebe bebebebe bebebebe bebebebe bebebebe bebebebe bebebebe [0] [ 91.045] 80060880: bebebebe bebebebe bebebebe bebebebe bebebebe 00000000 00000000 00000001 [0] [ 91.045] 800608a0: 00000001 000154c9 0001309a 0000000a 00000000 80041820 00000001 ffffffff [0] [ 91.045] 800608c0: ffffffff 0000fec9 00000000 00000000 000068b9 0000fec9 00015b91 bebebebe [0] [ 91.045] Terminating execution...jZj Fjbj:>jdjjf}r+F(jöj÷jk]jj]jh]ji]jn]ujpMRjqhjr]r,Fj{XÝ [0] [ 91.045] Exception occurred at (PC) = 0000c976 [0] [ 91.045] CPU context: thread [0] [ 91.045] BIOS Task name: {empty-instance-name} handle: 0x80060090. [0] [ 91.045] BIOS Task stack base: 0x800600e0. [0] [ 91.045] BIOS Task stack size: 0x800. [0] [ 91.045] [t=0x18f6df13] ti.sysbios.family.arm.m3.Hwi: ERROR: line 1078: E_hardFault: FORCED [0] [ 91.045] ti.sysbios.family.arm.m3.Hwi: line 1078: E_hardFault: FORCED [0] [ 91.045] [t=0x18f9a0cb] ti.sysbios.family.arm.m3.Hwi: ERROR: line 1155: E_busFault: PRECISERR: Immediate Bus Fault, exact addr known, address: 96000000 [0] [ 91.045] ti.sysbios.family.arm.m3.Hwi: line 1155: E_busFault: PRECISERR: Immediate Bus Fault, exact addr known, address: 96000000 [0] [ 91.045] R0 = 0x96000000 R8 = 0xffffffff [0] [ 91.045] R1 = 0x00000000 R9 = 0xffffffff [0] [ 91.045] R2 = 0x00000000 R10 = 0xffffffff [0] [ 91.045] R3 = 0x80060814 R11 = 0xffffffff [0] [ 91.045] R4 = 0x00013098 R12 = 0x8006074c [0] [ 91.045] R5 = 0x0000000a SP(R13) = 0x80060820 [0] [ 91.045] R6 = 0xffffffff LR(R14) = 0x0000c973 [0] [ 91.045] R7 = 0xffffffff PC(R15) = 0x0000c976 [0] [ 91.045] PSR = 0x61000000 [0] [ 91.045] ICSR = 0x00438803 [0] [ 91.045] MMFSR = 0x00 [0] [ 91.045] BFSR = 0x82 [0] [ 91.045] UFSR = 0x0000 [0] [ 91.045] HFSR = 0x40000000 [0] [ 91.045] DFSR = 0x00000000 [0] [ 91.045] MMAR = 0x96000000 [0] [ 91.045] BFAR = 0x96000000 [0] [ 91.045] AFSR = 0x00000000 [0] [ 91.045] Stack trace [0] [ 91.045] 00 [op faaaf00e] 00006abd (ret from call to 00015010) [0] [ 91.045] 01 [op ff49f005] 00006ac3 (ret from call to 0000c954) [0] [ 91.045] -- [op 98009000] 000154c9 [0] [ 91.045] -- [op 00000000] 000a0001 [0] [ 91.045] -- [op 80084a64] 0000fec9 [0] [ 91.045] -- [op 0001a75c] 000068b9 [0] [ 91.045] -- [op 80084a64] 0000fec9 [0] [ 91.045] -- [op bd0ef919] 00015b91 [0] [ 91.045] Stack dump base 800600e0 size 2048 sp 80060820: [0] [ 91.045] 80060820: 00000001 00006abd 96000000 00000000 ffffffff 00006ac3 0000000a 00006bf4 [0] [ 91.045] 80060840: 00000000 00000000 80041800 80060ab0 00000080 56414c53 50495f45 be003155 [0] [ 91.045] 80060860: bebebebe bebebebe bebebebe bebebebe bebebebe bebebebe bebebebe bebebebe [0] [ 91.045] 80060880: bebebebe bebebebe bebebebe bebebebe bebebebe 00000000 00000000 00000001 [0] [ 91.045] 800608a0: 00000001 000154c9 0001309a 0000000a 00000000 80041820 00000001 ffffffff [0] [ 91.045] 800608c0: ffffffff 0000fec9 00000000 00000000 000068b9 0000fec9 00015b91 bebebebe [0] [ 91.045] Terminating execution...r-F…�r.F}r/F(jYUjZj)Fubaubeubj[)�r0F}r1F(jYUjZj¨Ejbj:>jdjejf}r2F(jh]ji]jj]jk]r3FUexception-dump-decodingr4Fajn]r5Fh½aujpM!jqhjr]r6F(jt)�r7F}r8F(jYXException Dump Decodingr9FjZj0Fjbj:>jdjxjf}r:F(jh]ji]jj]jk]jn]ujpM!jqhjr]r;Fj{XException Dump DecodingrF(jYj9FjZj7Fubaubj¡)�r?F}r@F(jYXzSome useful information that can be found in the dump is the fault address, PC address, register contents, and call stack.rAFjZj0Fjbj:>jdj¥jf}rBF(jh]ji]jj]jk]jn]ujpM"jqhjr]rCFj{XzSome useful information that can be found in the dump is the fault address, PC address, register contents, and call stack.rDF…�rEF}rFF(jYjAFjZj?Fubaubj¡)�rGF}rHF(jYXpWhen an error occurs, you gets a crash dump from the remote core that looks similar to the one in `Crash Dump`_.rIFjZj0Fjbj:>jdj¥jf}rJF(jh]ji]jj]jk]jn]ujpM$jqhjr]rKF(j{XbWhen an error occurs, you gets a crash dump from the remote core that looks similar to the one in rLF…�rMF}rNF(jYXbWhen an error occurs, you gets a crash dump from the remote core that looks similar to the one in jZjGFubjÜ)�rOF}rPF(jYX `Crash Dump`_jßKjZjGFjdjàjf}rQF(UnameX Crash Dumpjk]jj]jh]ji]jn]jâjFujr]rRFj{X Crash DumprSF…�rTF}rUF(jYUjZjOFubaubj{X.…�rVF}rWF(jYX.jZjGFubeubj¡)�rXF}rYF(jYXÓThe particular dump example above is from a MMU read fault. This dump provides important information in helping to understand what has happened. Some of the useful parts are broken down in the following section.rZFjZj0Fjbj:>jdj¥jf}r[F(jh]ji]jj]jk]jn]ujpM&jqhjr]r\Fj{XÓThe particular dump example above is from a MMU read fault. This dump provides important information in helping to understand what has happened. Some of the useful parts are broken down in the following section.r]F…�r^F}r_F(jYjZFjZjXFubaubj¡)�r`F}raF(jYX **Timestamp**rbFjZj0Fjbj:>jdj¥jf}rcF(jh]ji]jj]jk]jn]ujpM*jqhjr]rdFjü)�reF}rfF(jYjbFjf}rgF(jh]ji]jj]jk]jn]ujZj`Fjr]rhFj{X TimestampriF…�rjF}rkF(jYUjZjeFubajdjubaubj¡)�rlF}rmF(jYX~All traces (not just exception dumps) provide a timestamp for each trace. The time starts from the booting of the remote core.rnFjZj0Fjbj:>jdj¥jf}roF(jh]ji]jj]jk]jn]ujpM,jqhjr]rpFj{X~All traces (not just exception dumps) provide a timestamp for each trace. The time starts from the booting of the remote core.rqF…�rrF}rsF(jYjnFjZjlFubaubj=)�rtF}ruF(jYUjZj0Fjbj:>jdj@jf}rvF(jh]ji]jj]jk]jn]ujpNjqhjr]rwF(j¡)�rxF}ryF(jYX7[0] **[ 91.045]** Exception occurred at (PC) = 0000c976jZjtFjbj:>jdj¥jf}rzF(jh]ji]jj]jk]jn]ujpM/jr]r{F(j{X[0] r|F…�r}F}r~F(jYX[0] jZjxFubjü)�rF}r€F(jYX **[ 91.045]**jf}r�F(jh]ji]jj]jk]jn]ujZjxFjr]r‚Fj{X [ 91.045]rƒF…�r„F}r…F(jYUjZjFubajdjubj{X& Exception occurred at (PC) = 0000c976r†F…�r‡F}rˆF(jYX& Exception occurred at (PC) = 0000c976jZjxFubeubj¡)�r‰F}rŠF(jYX%[0] **[ 91.045]** CPU context: threadjZjtFjbj:>jdj¥jf}r‹F(jh]ji]jj]jk]jn]ujpM1jr]rŒF(j{X[0] r�F…�rŽF}r�F(jYX[0] jZj‰Fubjü)�r�F}r‘F(jYX **[ 91.045]**jf}r’F(jh]ji]jj]jk]jn]ujZj‰Fjr]r“Fj{X [ 91.045]r”F…�r•F}r–F(jYUjZj�Fubajdjubj{X CPU context: threadr—F…�r˜F}r™F(jYX CPU context: threadjZj‰Fubeubj¡)�ršF}r›F(jYXK[0] **[ 91.045]** BIOS Task name: {empty-instance-name} handle: 0x80060090.jZjtFjbj:>jdj¥jf}rœF(jh]ji]jj]jk]jn]ujpM3jr]r�F(j{X[0] ržF…�rŸF}r F(jYX[0] jZjšFubjü)�r¡F}r¢F(jYX **[ 91.045]**jf}r£F(jh]ji]jj]jk]jn]ujZjšFjr]r¤Fj{X [ 91.045]r¥F…�r¦F}r§F(jYUjZj¡Fubajdjubj{X: BIOS Task name: {empty-instance-name} handle: 0x80060090.r¨F…�r©F}rªF(jYX: BIOS Task name: {empty-instance-name} handle: 0x80060090.jZjšFubeubeubj¡)�r«F}r¬F(jYXÀThe timestamp information can be useful even in non-crash situations, indicating the amount of time taken between two events. You can add traces at each event and then see when the events run.r­FjZj0Fjbj:>jdj¥jf}r®F(jh]ji]jj]jk]jn]ujpM5jqhjr]r¯Fj{XÀThe timestamp information can be useful even in non-crash situations, indicating the amount of time taken between two events. You can add traces at each event and then see when the events run.r°F…�r±F}r²F(jYj­FjZj«Fubaubj¡)�r³F}r´F(jYX£For example, to check that a certain event is happening every second, put a trace at that event, then check the timestamps to see that it is happening as expected.rµFjZj0Fjbj:>jdj¥jf}r¶F(jh]ji]jj]jk]jn]ujpM8jqhjr]r·Fj{X£For example, to check that a certain event is happening every second, put a trace at that event, then check the timestamps to see that it is happening as expected.r¸F…�r¹F}rºF(jYjµFjZj³Fubaubj¡)�r»F}r¼F(jYX**PC Address**r½FjZj0Fjbj:>jdj¥jf}r¾F(jh]ji]jj]jk]jn]ujpM;jqhjr]r¿Fjü)�rÀF}rÁF(jYj½Fjf}rÂF(jh]ji]jj]jk]jn]ujZj»Fjr]rÃFj{X PC AddressrÄF…�rÅF}rÆF(jYUjZjÀFubajdjubaubj¡)�rÇF}rÈF(jYX³The PC address where the exception occurred is also provided. This can be used, in conjunction with the map file or CCS, to identify the line of code where the exception happened.rÉFjZj0Fjbj:>jdj¥jf}rÊF(jh]ji]jj]jk]jn]ujpM=jqhjr]rËFj{X³The PC address where the exception occurred is also provided. This can be used, in conjunction with the map file or CCS, to identify the line of code where the exception happened.rÌF…�rÍF}rÎF(jYjÉFjZjÇFubaubj=)�rÏF}rÐF(jYUjZj0Fjbj:>jdj@jf}rÑF(jh]ji]jj]jk]jn]ujpNjqhjr]rÒF(j¡)�rÓF}rÔF(jYX7[0] [ 91.045] **Exception occurred at (PC) = 0000c976**jZjÏFjbj:>jdj¥jf}rÕF(jh]ji]jj]jk]jn]ujpM@jr]rÖF(j{X[0] [ 91.045] r×F…�rØF}rÙF(jYX[0] [ 91.045] jZjÓFubjü)�rÚF}rÛF(jYX)**Exception occurred at (PC) = 0000c976**jf}rÜF(jh]ji]jj]jk]jn]ujZjÓFjr]rÝFj{X%Exception occurred at (PC) = 0000c976rÞF…�rßF}ràF(jYUjZjÚFubajdjubeubj¡)�ráF}râF(jYX![0] [ 91.045] CPU context: threadrãFjZjÏFjbj:>jdj¥jf}räF(jh]ji]jj]jk]jn]ujpMBjr]råFj{X![0] [ 91.045] CPU context: threadræF…�rçF}rèF(jYjãFjZjáFubaubj¡)�réF}rêF(jYXG[0] [ 91.045] BIOS Task name: {empty-instance-name} handle: 0x80060090.rëFjZjÏFjbj:>jdj¥jf}rìF(jh]ji]jj]jk]jn]ujpMDjr]ríFj{XG[0] [ 91.045] BIOS Task name: {empty-instance-name} handle: 0x80060090.rîF…�rïF}rðF(jYjëFjZjéFubaubeubj¡)�rñF}ròF(jYX**Task Information**róFjZj0Fjbj:>jdj¥jf}rôF(jh]ji]jj]jk]jn]ujpMFjqhjr]rõFjü)�röF}r÷F(jYjóFjf}røF(jh]ji]jj]jk]jn]ujZjñFjr]rùFj{XTask InformationrúF…�rûF}rüF(jYUjZjöFubajdjubaubj¡)�rýF}rþF(jYX_The information about the task that was executing when the exception occurred is also provided.rÿFjZj0Fjbj:>jdj¥jf}rG(jh]ji]jj]jk]jn]ujpMHjqhjr]rGj{X_The information about the task that was executing when the exception occurred is also provided.rG…�rG}rG(jYjÿFjZjýFubaubj=)�rG}rG(jYUjZj0Fjbj:>jdj@jf}rG(jh]ji]jj]jk]jn]ujpNjqhjr]rG(j¡)�r G}r G(jYX3[0] [ 91.045] Exception occurred at (PC) = 0000c976r GjZjGjbj:>jdj¥jf}r G(jh]ji]jj]jk]jn]ujpMJjr]r Gj{X3[0] [ 91.045] Exception occurred at (PC) = 0000c976rG…�rG}rG(jYj GjZj Gubaubj¡)�rG}rG(jYX![0] [ 91.045] CPU context: threadrGjZjGjbj:>jdj¥jf}rG(jh]ji]jj]jk]jn]ujpMLjr]rGj{X![0] [ 91.045] CPU context: threadrG…�rG}rG(jYjGjZjGubaubj¡)�rG}rG(jYXK[0] **[ 91.045] BIOS Task name: {empty-instance-name} handle: 0x80060090.**jZjGjbj:>jdj¥jf}rG(jh]ji]jj]jk]jn]ujpMNjr]rG(j{X[0] rG…�rG}rG(jYX[0] jZjGubjü)�r G}r!G(jYXG**[ 91.045] BIOS Task name: {empty-instance-name} handle: 0x80060090.**jf}r"G(jh]ji]jj]jk]jn]ujZjGjr]r#Gj{XC[ 91.045] BIOS Task name: {empty-instance-name} handle: 0x80060090.r$G…�r%G}r&G(jYUjZj Gubajdjubeubj¡)�r'G}r(G(jYX3[0] **[ 91.045] BIOS Task stack base: 0x800600e0.**jZjGjbj:>jdj¥jf}r)G(jh]ji]jj]jk]jn]ujpMPjr]r*G(j{X[0] r+G…�r,G}r-G(jYX[0] jZj'Gubjü)�r.G}r/G(jYX/**[ 91.045] BIOS Task stack base: 0x800600e0.**jf}r0G(jh]ji]jj]jk]jn]ujZj'Gjr]r1Gj{X+[ 91.045] BIOS Task stack base: 0x800600e0.r2G…�r3G}r4G(jYUjZj.Gubajdjubeubj¡)�r5G}r6G(jYX.[0] **[ 91.045] BIOS Task stack size: 0x800.**jZjGjbj:>jdj¥jf}r7G(jh]ji]jj]jk]jn]ujpMRjr]r8G(j{X[0] r9G…�r:G}r;G(jYX[0] jZj5Gubjü)�rG(jh]ji]jj]jk]jn]ujZj5Gjr]r?Gj{X&[ 91.045] BIOS Task stack size: 0x800.r@G…�rAG}rBG(jYUjZjjdj¥jf}rFG(jh]ji]jj]jk]jn]ujpMTjqhjr]rGGjü)�rHG}rIG(jYjEGjf}rJG(jh]ji]jj]jk]jn]ujZjCGjr]rKGj{XFault InformationrLG…�rMG}rNG(jYUjZjHGubajdjubaubj¡)�rOG}rPG(jYXÃThe information about the fault is also provided. This can look different depending on the type of exception that occurred, but often provides a fault address to identify the source of the fault.rQGjZj0Fjbj:>jdj¥jf}rRG(jh]ji]jj]jk]jn]ujpMVjqhjr]rSGj{XÃThe information about the fault is also provided. This can look different depending on the type of exception that occurred, but often provides a fault address to identify the source of the fault.rTG…�rUG}rVG(jYjQGjZjOGubaubj=)�rWG}rXG(jYUjZj0Fjbj:>jdj@jf}rYG(jh]ji]jj]jk]jn]ujpNjqhjr]rZG(j¡)�r[G}r\G(jYX3[0] [ 91.045] Exception occurred at (PC) = 0000c976r]GjZjWGjbj:>jdj¥jf}r^G(jh]ji]jj]jk]jn]ujpMYjr]r_Gj{X3[0] [ 91.045] Exception occurred at (PC) = 0000c976r`G…�raG}rbG(jYj]GjZj[Gubaubj¡)�rcG}rdG(jYX![0] [ 91.045] CPU context: threadreGjZjWGjbj:>jdj¥jf}rfG(jh]ji]jj]jk]jn]ujpM[jr]rgGj{X![0] [ 91.045] CPU context: threadrhG…�riG}rjG(jYjeGjZjcGubaubj¡)�rkG}rlG(jYXG[0] [ 91.045] BIOS Task name: {empty-instance-name} handle: 0x80060090.rmGjZjWGjbj:>jdj¥jf}rnG(jh]ji]jj]jk]jn]ujpM]jr]roGj{XG[0] [ 91.045] BIOS Task name: {empty-instance-name} handle: 0x80060090.rpG…�rqG}rrG(jYjmGjZjkGubaubj¡)�rsG}rtG(jYX/[0] [ 91.045] BIOS Task stack base: 0x800600e0.ruGjZjWGjbj:>jdj¥jf}rvG(jh]ji]jj]jk]jn]ujpM_jr]rwGj{X/[0] [ 91.045] BIOS Task stack base: 0x800600e0.rxG…�ryG}rzG(jYjuGjZjsGubaubj¡)�r{G}r|G(jYX*[0] [ 91.045] BIOS Task stack size: 0x800.r}GjZjWGjbj:>jdj¥jf}r~G(jh]ji]jj]jk]jn]ujpMajr]rGj{X*[0] [ 91.045] BIOS Task stack size: 0x800.r€G…�r�G}r‚G(jYj}GjZj{Gubaubj¡)�rƒG}r„G(jYXd[0] [ 91.045] **[t=0x18f6df13] ti.sysbios.family.arm.m3.Hwi: ERROR: line 1078: E_hardFault: FORCED**jZjWGjbj:>jdj¥jf}r…G(jh]ji]jj]jk]jn]ujpMcjr]r†G(j{X[0] [ 91.045] r‡G…�rˆG}r‰G(jYX[0] [ 91.045] jZjƒGubjü)�rŠG}r‹G(jYXV**[t=0x18f6df13] ti.sysbios.family.arm.m3.Hwi: ERROR: line 1078: E_hardFault: FORCED**jf}rŒG(jh]ji]jj]jk]jn]ujZjƒGjr]r�Gj{XR[t=0x18f6df13] ti.sysbios.family.arm.m3.Hwi: ERROR: line 1078: E_hardFault: FORCEDrŽG…�r�G}r�G(jYUjZjŠGubajdjubeubj¡)�r‘G}r’G(jYXN[0] [ 91.045] **ti.sysbios.family.arm.m3.Hwi: line 1078: E_hardFault: FORCED**jZjWGjbj:>jdj¥jf}r“G(jh]ji]jj]jk]jn]ujpMejr]r”G(j{X[0] [ 91.045] r•G…�r–G}r—G(jYX[0] [ 91.045] jZj‘Gubjü)�r˜G}r™G(jYX@**ti.sysbios.family.arm.m3.Hwi: line 1078: E_hardFault: FORCED**jf}ršG(jh]ji]jj]jk]jn]ujZj‘Gjr]r›Gj{X<ti.sysbios.family.arm.m3.Hwi: line 1078: E_hardFault: FORCEDrœG…�r�G}ržG(jYUjZj˜Gubajdjubeubj¡)�rŸG}r G(jYX [0] [ 91.045] **[t=0x18f9a0cb] ti.sysbios.family.arm.m3.Hwi: ERROR: line 1155: E_busFault: PRECISERR: Immediate Bus Fault, exact addr known, address: 96000000**jZjWGjbj:>jdj¥jf}r¡G(jh]ji]jj]jk]jn]ujpMgjr]r¢G(j{X[0] [ 91.045] r£G…�r¤G}r¥G(jYX[0] [ 91.045] jZjŸGubjü)�r¦G}r§G(jYX’**[t=0x18f9a0cb] ti.sysbios.family.arm.m3.Hwi: ERROR: line 1155: E_busFault: PRECISERR: Immediate Bus Fault, exact addr known, address: 96000000**jf}r¨G(jh]ji]jj]jk]jn]ujZjŸGjr]r©Gj{XŽ[t=0x18f9a0cb] ti.sysbios.family.arm.m3.Hwi: ERROR: line 1155: E_busFault: PRECISERR: Immediate Bus Fault, exact addr known, address: 96000000rªG…�r«G}r¬G(jYUjZj¦Gubajdjubeubj¡)�r­G}r®G(jYXŠ[0] [ 91.045] **ti.sysbios.family.arm.m3.Hwi: line 1155: E_busFault: PRECISERR: Immediate Bus Fault, exact addr known, address: 96000000**jZjWGjbj:>jdj¥jf}r¯G(jh]ji]jj]jk]jn]ujpMijr]r°G(j{X[0] [ 91.045] r±G…�r²G}r³G(jYX[0] [ 91.045] jZj­Gubjü)�r´G}rµG(jYX|**ti.sysbios.family.arm.m3.Hwi: line 1155: E_busFault: PRECISERR: Immediate Bus Fault, exact addr known, address: 96000000**jf}r¶G(jh]ji]jj]jk]jn]ujZj­Gjr]r·Gj{Xxti.sysbios.family.arm.m3.Hwi: line 1155: E_busFault: PRECISERR: Immediate Bus Fault, exact addr known, address: 96000000r¸G…�r¹G}rºG(jYUjZj´Gubajdjubeubeubj¡)�r»G}r¼G(jYX **Registers**r½GjZj0Fjbj:>jdj¥jf}r¾G(jh]ji]jj]jk]jn]ujpMkjqhjr]r¿Gjü)�rÀG}rÁG(jYj½Gjf}rÂG(jh]ji]jj]jk]jn]ujZj»Gjr]rÃGj{X RegistersrÄG…�rÅG}rÆG(jYUjZjÀGubajdjubaubj¡)�rÇG}rÈG(jYXNA dump of the register contents at the time of the exception is also provided.rÉGjZj0Fjbj:>jdj¥jf}rÊG(jh]ji]jj]jk]jn]ujpMmjqhjr]rËGj{XNA dump of the register contents at the time of the exception is also provided.rÌG…�rÍG}rÎG(jYjÉGjZjÇGubaubjB)�rÏG}rÐG(jYX&.. image:: ../images/RegisterDump.PNG jZj0Fjbj:>jdjEjf}rÑG(UuriXrtos/../images/RegisterDump.PNGrÒGjk]jj]jh]ji]jH}rÓGU*jÒGsjn]ujpMpjqhjr]ubj¡)�rÔG}rÕG(jYX**Stack Trace**rÖGjZj0Fjbj:>jdj¥jf}r×G(jh]ji]jj]jk]jn]ujpMqjqhjr]rØGjü)�rÙG}rÚG(jYjÖGjf}rÛG(jh]ji]jj]jk]jn]ujZjÔGjr]rÜGj{X Stack TracerÝG…�rÞG}rßG(jYUjZjÙGubajdjubaubj¡)�ràG}ráG(jYXÈThe stack trace is also provided (see Figure 6). This can be used in conjunction with the source code and the map file or CCS to get more information about what was executing at the time of the crash.râGjZj0Fjbj:>jdj¥jf}rãG(jh]ji]jj]jk]jn]ujpMsjqhjr]räGj{XÈThe stack trace is also provided (see Figure 6). This can be used in conjunction with the source code and the map file or CCS to get more information about what was executing at the time of the crash.råG…�ræG}rçG(jYjâGjZjàGubaubjB)�rèG}réG(jYX(.. image:: ../images/StackTraceDump.PNG jZj0Fjbj:>jdjEjf}rêG(UuriX!rtos/../images/StackTraceDump.PNGrëGjk]jj]jh]ji]jH}rìGU*jëGsjn]ujpMwjqhjr]ubeubj[)�ríG}rîG(jYUjZj¨Ejbj:>jdjejf}rïG(jh]ji]jj]jk]rðGU mmu-faultsrñGajn]ròGjaujpMyjqhjr]róG(jt)�rôG}rõG(jYX MMU FaultsröGjZjíGjbj:>jdjxjf}r÷G(jh]ji]jj]jk]jn]ujpMyjqhjr]røGj{X MMU FaultsrùG…�rúG}rûG(jYjöGjZjôGubaubj¡)�rüG}rýG(jYXMMU faults occur when an address that is not mapped to the remote core MMU is accessed. This can be due to a read, write, or an attempt to execute the address. When an MMU fault occurs, a crash dump from the remote core occurs that looks similar to the example provided in `Crash Dump`_.jZjíGjbj:>jdj¥jf}rþG(jh]ji]jj]jk]jn]ujpM{jqhjr]rÿG(j{XMMU faults occur when an address that is not mapped to the remote core MMU is accessed. This can be due to a read, write, or an attempt to execute the address. When an MMU fault occurs, a crash dump from the remote core occurs that looks similar to the example provided in rH…�rH}rH(jYXMMU faults occur when an address that is not mapped to the remote core MMU is accessed. This can be due to a read, write, or an attempt to execute the address. When an MMU fault occurs, a crash dump from the remote core occurs that looks similar to the example provided in jZjüGubjÜ)�rH}rH(jYX `Crash Dump`_jßKjZjüGjdjàjf}rH(UnameX Crash Dumpjk]jj]jh]ji]jn]jâjFujr]rHj{X Crash DumprH…�rH}r H(jYUjZjHubaubj{X.…�r H}r H(jYX.jZjüGubeubj¡)�r H}r H(jYX}Some debugging techniques, as well as common times when an MMU fault occurs, are given as examples in the following sections.rHjZjíGjbj:>jdj¥jf}rH(jh]ji]jj]jk]jn]ujpMjqhjr]rHj{X}Some debugging techniques, as well as common times when an MMU fault occurs, are given as examples in the following sections.rH…�rH}rH(jYjHjZj Hubaubj¡)�rH}rH(jYX5**Using CCS to Halt the Code When the Fault Happens**rHjZjíGjbj:>jdj¥jf}rH(jh]ji]jj]jk]jn]ujpM‚jqhjr]rHjü)�rH}rH(jYjHjf}rH(jh]ji]jj]jk]jn]ujZjHjr]rHj{X1Using CCS to Halt the Code When the Fault HappensrH…�rH}rH(jYUjZjHubajdjubaubj¡)�r H}r!H(jYXIIf the fault always happens at the same address, pre-map the location and then set up CCS with a breakpoint for that address. In this way, you can view the state of the remote core when the fault happens and see the call stack. From there, put a breakpoint at the surrounding code and step through to see where the fault happens.r"HjZjíGjbj:>jdj¥jf}r#H(jh]ji]jj]jk]jn]ujpM„jqhjr]r$Hj{XIIf the fault always happens at the same address, pre-map the location and then set up CCS with a breakpoint for that address. In this way, you can view the state of the remote core when the fault happens and see the call stack. From there, put a breakpoint at the surrounding code and step through to see where the fault happens.r%H…�r&H}r'H(jYj"HjZj Hubaubj¡)�r(H}r)H(jYX)Pre-mapping the address can be done either through the remote core resource table, or through CCS. With CCS, you can connect to the debug DAP and then bring up a memory window to inspect the MMU registers. Directly program the MMU from here to map some unused memory to the fault address location.r*HjZjíGjbj:>jdj¥jf}r+H(jh]ji]jj]jk]jn]ujpM‰jqhjr]r,Hj{X)Pre-mapping the address can be done either through the remote core resource table, or through CCS. With CCS, you can connect to the debug DAP and then bring up a memory window to inspect the MMU registers. Directly program the MMU from here to map some unused memory to the fault address location.r-H…�r.H}r/H(jYj*HjZj(Hubaubj¡)�r0H}r1H(jYX For example:r2HjZjíGjbj:>jdj¥jf}r3H(jh]ji]jj]jk]jn]ujpM�jqhjr]r4Hj{X For example:r5H…�r6H}r7H(jYj2HjZj0HubaubjC)�r8H}r9H(jYUjZjíGjbj:>jdj`jf}r:H(jGX*jk]jj]jh]ji]jn]ujpM�jqhjr]r;H(j/)�rHjZj8Hjbj:>jdj2jf}r?H(jh]ji]jj]jk]jn]ujpNjqhjr]r@Hj¡)�rAH}rBH(jYj>HjZjjdj¥jf}rCH(jh]ji]jj]jk]jn]ujpM�jr]rDHj{XœMMU CAM: 0x9600000E (Change the most significant 20 bits here to match the fault address. For example, it would be 96000 if the fault address is 0x96000010)rEH…�rFH}rGH(jYj>HjZjAHubaubaubj/)�rHH}rIH(jYXxMMU RAM: 0xBA300000 (Change the most significant 20 bits here to match an unused 4-KB physical region in the memory map)rJHjZj8Hjbj:>jdj2jf}rKH(jh]ji]jj]jk]jn]ujpNjqhjr]rLHj¡)�rMH}rNH(jYjJHjZjHHjbj:>jdj¥jf}rOH(jh]ji]jj]jk]jn]ujpM�jr]rPHj{XxMMU RAM: 0xBA300000 (Change the most significant 20 bits here to match an unused 4-KB physical region in the memory map)rQH…�rRH}rSH(jYjJHjZjMHubaubaubj/)�rTH}rUH(jYXMMU Lock: 0x00000400rVHjZj8Hjbj:>jdj2jf}rWH(jh]ji]jj]jk]jn]ujpNjqhjr]rXHj¡)�rYH}rZH(jYjVHjZjTHjbj:>jdj¥jf}r[H(jh]ji]jj]jk]jn]ujpM‘jr]r\Hj{XMMU Lock: 0x00000400r]H…�r^H}r_H(jYjVHjZjYHubaubaubj/)�r`H}raH(jYXMMU LD: 0x00000001 jZj8Hjbj:>jdj2jf}rbH(jh]ji]jj]jk]jn]ujpNjqhjr]rcHj¡)�rdH}reH(jYXMMU LD: 0x00000001rfHjZj`Hjbj:>jdj¥jf}rgH(jh]ji]jj]jk]jn]ujpM’jr]rhHj{XMMU LD: 0x00000001riH…�rjH}rkH(jYjfHjZjdHubaubaubeubj¡)�rlH}rmH(jYX:**Using the Crash Dump to Find the Location of the Fault**rnHjZjíGjbj:>jdj¥jf}roH(jh]ji]jj]jk]jn]ujpM”jqhjr]rpHjü)�rqH}rrH(jYjnHjf}rsH(jh]ji]jj]jk]jn]ujZjlHjr]rtHj{X6Using the Crash Dump to Find the Location of the FaultruH…�rvH}rwH(jYUjZjqHubajdjubaubj¡)�rxH}ryH(jYXThe crash dump call stack can indicate where the crash occurred. Using that information, connect to the remote core with CCS and put a breakpoint in the code at the most recent function in the call stack before the crash. From there, step through the code until the crash happens.rzHjZjíGjbj:>jdj¥jf}r{H(jh]ji]jj]jk]jn]ujpM–jqhjr]r|Hj{XThe crash dump call stack can indicate where the crash occurred. Using that information, connect to the remote core with CCS and put a breakpoint in the code at the most recent function in the call stack before the crash. From there, step through the code until the crash happens.r}H…�r~H}rH(jYjzHjZjxHubaubj¡)�r€H}r�H(jYX<**Example – Accessing a Memory Region That is Not Mapped**r‚HjZjíGjbj:>jdj¥jf}rƒH(jh]ji]jj]jk]jn]ujpMšjqhjr]r„Hjü)�r…H}r†H(jYj‚Hjf}r‡H(jh]ji]jj]jk]jn]ujZj€Hjr]rˆHj{X8Example – Accessing a Memory Region That is Not Mappedr‰H…�rŠH}r‹H(jYUjZj…Hubajdjubaubj¡)�rŒH}r�H(jYXäWhen using the L2 MMU, every address accessed by the remote core must be mapped. An attempt to access an un-mapped address results in an MMU fault. The following example explores the crash dump of an access to an un-mapped area.rŽHjZjíGjbj:>jdj¥jf}r�H(jh]ji]jj]jk]jn]ujpMœjqhjr]r�Hj{XäWhen using the L2 MMU, every address accessed by the remote core must be mapped. An attempt to access an un-mapped address results in an MMU fault. The following example explores the crash dump of an access to an un-mapped area.r‘H…�r’H}r“H(jYjŽHjZjŒHubaubj¡)�r”H}r•H(jYXHere is an example fault dump:r–HjZjíGjbj:>jdj¥jf}r—H(jh]ji]jj]jk]jn]ujpM jqhjr]r˜Hj{XHere is an example fault dump:r™H…�ršH}r›H(jYj–HjZj”HubaubjB)�rœH}r�H(jYX).. image:: ../images/StackTraceDump2.PNG jZjíGjbj:>jdjEjf}ržH(UuriX"rtos/../images/StackTraceDump2.PNGrŸHjk]jj]jh]ji]jH}r HU*jŸHsjn]ujpM£jqhjr]ubj¡)�r¡H}r¢H(jYX‹From the crash dump, the fault address is 0x96000000. The address will not be found in the resource table, which is why the fault occurred.r£HjZjíGjbj:>jdj¥jf}r¤H(jh]ji]jj]jk]jn]ujpM¤jqhjr]r¥Hj{X‹From the crash dump, the fault address is 0x96000000. The address will not be found in the resource table, which is why the fault occurred.r¦H…�r§H}r¨H(jYj£HjZj¡Hubaubj¡)�r©H}rªH(jYXJAvoid hard-coding of virtual addresses for peripherals and memory blocks with a one-time physical to virtual address lookup using the resource table. There is an API available for this called Resource_physToVirt() in the resource module. This alerts that the address is not mapped in the resource table when the translation fails.r«HjZjíGjbj:>jdj¥jf}r¬H(jh]ji]jj]jk]jn]ujpM§jqhjr]r­Hj{XJAvoid hard-coding of virtual addresses for peripherals and memory blocks with a one-time physical to virtual address lookup using the resource table. There is an API available for this called Resource_physToVirt() in the resource module. This alerts that the address is not mapped in the resource table when the translation fails.r®H…�r¯H}r°H(jYj«HjZj©Hubaubj¡)�r±H}r²H(jYXÏFrom here, either use the crash dump to see the PC and call stack or follow the instructions under the section "Using CCS to Halt the Code When the Fault Happens." Error recovery, watchdog timers, and remoteproc autosuspend may need to be disabled to connect CCS. See `Linux and Android - Disabling Error Recovery`_, `Linux and Android – Disabling Watchdog`_, and `Linux and Android - Disabling Remoteproc Auto-Suspend`_ for more information on disabling these.jZjíGjbj:>jdj¥jf}r³H(jh]ji]jj]jk]jn]ujpM¬jqhjr]r´H(j{X From here, either use the crash dump to see the PC and call stack or follow the instructions under the section "Using CCS to Halt the Code When the Fault Happens." Error recovery, watchdog timers, and remoteproc autosuspend may need to be disabled to connect CCS. See rµH…�r¶H}r·H(jYX From here, either use the crash dump to see the PC and call stack or follow the instructions under the section "Using CCS to Halt the Code When the Fault Happens." Error recovery, watchdog timers, and remoteproc autosuspend may need to be disabled to connect CCS. See jZj±HubjÜ)�r¸H}r¹H(jYX/`Linux and Android - Disabling Error Recovery`_jßKjZj±Hjdjàjf}rºH(UnameX,Linux and Android - Disabling Error Recoveryjk]jj]jh]ji]jn]jâjÂEujr]r»Hj{X,Linux and Android - Disabling Error Recoveryr¼H…�r½H}r¾H(jYUjZj¸Hubaubj{X, r¿H…�rÀH}rÁH(jYX, jZj±HubjÜ)�rÂH}rÃH(jYX+`Linux and Android – Disabling Watchdog`_jßKjZj±Hjdjàjf}rÄH(UnameX(Linux and Android – Disabling Watchdogjk]jj]jh]ji]jn]jâjÉDujr]rÅHj{X(Linux and Android – Disabling WatchdogrÆH…�rÇH}rÈH(jYUjZjÂHubaubj{X, and rÉH…�rÊH}rËH(jYX, and jZj±HubjÜ)�rÌH}rÍH(jYX8`Linux and Android - Disabling Remoteproc Auto-Suspend`_jßKjZj±Hjdjàjf}rÎH(UnameX5Linux and Android - Disabling Remoteproc Auto-Suspendjk]jj]jh]ji]jn]jâj¤Dujr]rÏHj{X5Linux and Android - Disabling Remoteproc Auto-SuspendrÐH…�rÑH}rÒH(jYUjZjÌHubaubj{X) for more information on disabling these.rÓH…�rÔH}rÕH(jYX) for more information on disabling these.jZj±Hubeubj¡)�rÖH}r×H(jYXSFor this example, use the PC address which, as seen in the crash dump, is at 0xcfa6rØHjZjíGjbj:>jdj¥jf}rÙH(jh]ji]jj]jk]jn]ujpM°jqhjr]rÚHj{XSFor this example, use the PC address which, as seen in the crash dump, is at 0xcfa6rÛH…�rÜH}rÝH(jYjØHjZjÖHubaubj)�rÞH}rßH(jYX4[0] [ 107.092] Exception occurred at (PC) = 0000cfa6jZjíGjbj:>jdjjf}ràH(jöj÷jk]jj]jh]ji]jn]ujpM@jqhjr]ráHj{X4[0] [ 107.092] Exception occurred at (PC) = 0000cfa6râH…�rãH}räH(jYUjZjÞHubaubj¡)�råH}ræH(jYXýFind the corresponding function by looking this address up in the map file for the remote core image. If the PC address is invalid due to an issue such as stack corruption, then this may not yield useful results. In this case, something useful is found:rçHjZjíGjbj:>jdj¥jf}rèH(jh]ji]jj]jk]jn]ujpM¶jqhjr]réHj{XýFind the corresponding function by looking this address up in the map file for the remote core image. If the PC address is invalid due to an issue such as stack corruption, then this may not yield useful results. In this case, something useful is found:rêH…�rëH}rìH(jYjçHjZjåHubaubjB)�ríH}rîH(jYX0.. image:: ../images/SourceInsightCrashDump.PNG jZjíGjbj:>jdjEjf}rïH(UuriX)rtos/../images/SourceInsightCrashDump.PNGrðHjk]jj]jh]ji]jH}rñHU*jðHsjn]ujpM»jqhjr]ubj¡)�ròH}róH(jYXAlternatively, use CCS to see the location of the fault. If CCS was already connected to the remote core before the fault happened, the core will have halted in the abort function. From here, directly set the PC address and see the line that caused the fault:rôHjZjíGjbj:>jdj¥jf}rõH(jh]ji]jj]jk]jn]ujpM¼jqhjr]röHj{XAlternatively, use CCS to see the location of the fault. If CCS was already connected to the remote core before the fault happened, the core will have halted in the abort function. From here, directly set the PC address and see the line that caused the fault:r÷H…�røH}rùH(jYjôHjZjòHubaubjB)�rúH}rûH(jYX".. image:: ../images/CCSFault.PNG jZjíGjbj:>jdjEjf}rüH(UuriXrtos/../images/CCSFault.PNGrýHjk]jj]jh]ji]jH}rþHU*jýHsjn]ujpMÁjqhjr]ubj¡)�rÿH}rI(jYXUse this technique at any time after booting the remote core to see what a PC address corresponds to. It will display the line that caused the error. This may, however, prevent proper execution because the registers and call stack won’t have proper values.rIjZjíGjbj:>jdj¥jf}rI(jh]ji]jj]jk]jn]ujpMÂjqhjr]rIj{XUse this technique at any time after booting the remote core to see what a PC address corresponds to. It will display the line that caused the error. This may, however, prevent proper execution because the registers and call stack won’t have proper values.rI…�rI}rI(jYjIjZjÿHubaubj¡)�rI}rI(jYX£You can now isolate the particular line in the fxnFault() function that was executing. That code is found in the file /packages/ti/ipc/tests/fault.c::jZjíGjbj:>jdj¥jf}r I(jh]ji]jj]jk]jn]ujpMÆjqhjr]r Ij{X¢You can now isolate the particular line in the fxnFault() function that was executing. That code is found in the file /packages/ti/ipc/tests/fault.c:r I…�r I}r I(jYX¢You can now isolate the particular line in the fxnFault() function that was executing. That code is found in the file /packages/ti/ipc/tests/fault.c:jZjIubaubj)�rI}rI(jYX{case 1: System_printf("Generating read MMU Fault...\n"); a = *(volatile int *) (0x96000000); break;jZjíGjbj:>jdjjf}rI(jöj÷jk]jj]jh]ji]jn]ujpMUjqhjr]rIj{X{case 1: System_printf("Generating read MMU Fault...\n"); a = *(volatile int *) (0x96000000); break;rI…�rI}rI(jYUjZjIubaubj¡)�rI}rI(jYXDFigure 8 clearly shows what caused the fault in this code, but when it is not clear, use CCS to see the fault in action. Once connected and the symbols are loaded, put a breakpoint in this function (if this function does not happen often). Once the breakpoint is hit, step through the code to find what is causing the fault.rIjZjíGjbj:>jdj¥jf}rI(jh]ji]jj]jk]jn]ujpMÎjqhjr]rIj{XDFigure 8 clearly shows what caused the fault in this code, but when it is not clear, use CCS to see the fault in action. Once connected and the symbols are loaded, put a breakpoint in this function (if this function does not happen often). Once the breakpoint is hit, step through the code to find what is causing the fault.rI…�rI}rI(jYjIjZjIubaubj¡)�rI}rI(jYX¨Upon stepping through, observe that the variable, a, is being set to the contents of 0x96000000, which is equal to the fault address. This is the fault in this example.rIjZjíGjbj:>jdj¥jf}r I(jh]ji]jj]jk]jn]ujpMÐjqhjr]r!Ij{X¨Upon stepping through, observe that the variable, a, is being set to the contents of 0x96000000, which is equal to the fault address. This is the fault in this example.r"I…�r#I}r$I(jYjIjZjIubaubj¡)�r%I}r&I(jYX£Next, decide if this is a valid value that needs mapping, or if this is an invalid value that passed due to some error in the code. If it is still not known where the value is coming from, use CCS to trace it back through the call stack to fix the code. If it turns out that the address is an address that must be accessible to the remote core, then map it through the resource table to the appropriate physical memory.r'IjZjíGjbj:>jdj¥jf}r(I(jh]ji]jj]jk]jn]ujpMÓjqhjr]r)Ij{X£Next, decide if this is a valid value that needs mapping, or if this is an invalid value that passed due to some error in the code. If it is still not known where the value is coming from, use CCS to trace it back through the call stack to fix the code. If it turns out that the address is an address that must be accessible to the remote core, then map it through the resource table to the appropriate physical memory.r*I…�r+I}r,I(jYj'IjZj%Iubaubeubeubeubeubeubjbjcjdjejf}r-I(jh]ji]jj]jk]r.IUsetupr/Iajn]r0IhëaujpKjqhjr]r1I(jt)�r2I}r3I(jYXSetupr4IjZjýjbjcjdjxjf}r5I(jh]ji]jj]jk]jn]ujpKjqhjr]r6Ij{XSetupr7I…�r8I}r9I(jYj4IjZj2Iubaubjî)�r:I}r;I(jYX(Setup CCS for EVM and Processor-SDK RTOSjZjýjbjcjdjôjf}rI…�r?I}r@I(jYUjZj:Iubaubjî)�rAI}rBI(jYX*------------------------------------------jZjýjbjcjdjôjf}rCI(jöj÷jk]jj]jh]ji]jn]ujpK"jqhjr]rDIj{X*------------------------------------------rEI…�rFI}rGI(jYUjZjAIubaubj–)�rHI}rII(jYX'.. _Processor-SDK-RTOS-Setup-CCS-label:jZjýjbjcjdj™jf}rJI(jk]jj]jh]ji]jn]jâU"processor-sdk-rtos-setup-ccs-labelrKIujpM=jqhjr]ubjûj[)�rLI}rMI(jYUjZjýjbj�XIsource/rtos/How_to_Guides/Host/Setup/Update_ENV_for_a_Custom_Path.rst.incrNI…�rOI}rPIbjÄ}rQIh1j–)�rRI}rSI(jYX4.. _Processor-SDK-RTOS-Install-In-Custom-Path-label:jZj[)�rTI}rUI(jYUjZjùjbj�XLsource/rtos/How_to_Guides/Host/Setup/Setup_CCS_for_EVM_and_PSDK_RTOS.rst.incrVI…�rWI}rXIbjdjejf}rYI(jh]ji]jj]jk]rZIUtroubleshootingr[Iajn]r\Ih»aujpMUjqhjr]r]I(jt)�r^I}r_I(jYXTroubleshootingr`IjZjTIjbjWIjdjxjf}raI(jh]ji]jj]jk]jn]ujpMUjqhjr]rbIj{XTroubleshootingrcI…�rdI}reI(jYj`IjZj^Iubaubj¡)�rfI}rgI(jYX8If you face any problems, first check these basic items:rhIjZjTIjbjWIjdj¥jf}riI(jh]ji]jj]jk]jn]ujpMWjqhjr]rjIj{X8If you face any problems, first check these basic items:rkI…�rlI}rmI(jYjhIjZjfIubaubjC)�rnI}roI(jYUjZjTIjbjWIjdj`jf}rpI(jGX-jk]jj]jh]ji]jn]ujpMYjqhjr]rqI(j/)�rrI}rsI(jYX**Power cycle your target.**rtIjZjnIjbjWIjdj2jf}ruI(jh]ji]jj]jk]jn]ujpNjqhjr]rvIj¡)�rwI}rxI(jYjtIjZjrIjbjWIjdj¥jf}ryI(jh]ji]jj]jk]jn]ujpMYjr]rzIjü)�r{I}r|I(jYjtIjf}r}I(jh]ji]jj]jk]jn]ujZjwIjr]r~Ij{XPower cycle your target.rI…�r€I}r�I(jYUjZj{Iubajdjubaubaubj/)�r‚I}rƒI(jYXv**Check the USB cable.** One simple way to do this is to connect another device to the USB and ensure the cable works.jZjnIjbjWIjdj2jf}r„I(jh]ji]jj]jk]jn]ujpNjqhjr]r…Ij¡)�r†I}r‡I(jYXv**Check the USB cable.** One simple way to do this is to connect another device to the USB and ensure the cable works.jZj‚IjbjWIjdj¥jf}rˆI(jh]ji]jj]jk]jn]ujpMZjr]r‰I(jü)�rŠI}r‹I(jYX**Check the USB cable.**jf}rŒI(jh]ji]jj]jk]jn]ujZj†Ijr]r�Ij{XCheck the USB cable.rŽI…�r�I}r�I(jYUjZjŠIubajdjubj{X^ One simple way to do this is to connect another device to the USB and ensure the cable works.r‘I…�r’I}r“I(jYX^ One simple way to do this is to connect another device to the USB and ensure the cable works.jZj†Iubeubaubj/)�r”I}r•I(jYX“**Check host driver.** Even with CCS turned off, your host should list the TI XDS as a USB device. If this does not work, try a different USB port.jZjnIjbjWIjdj2jf}r–I(jh]ji]jj]jk]jn]ujpNjqhjr]r—Ij¡)�r˜I}r™I(jYX“**Check host driver.** Even with CCS turned off, your host should list the TI XDS as a USB device. If this does not work, try a different USB port.jZj”IjbjWIjdj¥jf}ršI(jh]ji]jj]jk]jn]ujpM\jr]r›I(jü)�rœI}r�I(jYX**Check host driver.**jf}ržI(jh]ji]jj]jk]jn]ujZj˜Ijr]rŸIj{XCheck host driver.r I…�r¡I}r¢I(jYUjZjœIubajdjubj{X} Even with CCS turned off, your host should list the TI XDS as a USB device. If this does not work, try a different USB port.r£I…�r¤I}r¥I(jYX} Even with CCS turned off, your host should list the TI XDS as a USB device. If this does not work, try a different USB port.jZj˜Iubeubaubj/)�r¦I}r§I(jYX¤**Latest emulation package.** Ensure that you have the latest emulation files as specified in the `Getting Started Guide `__. jZjnIjbjWIjdj2jf}r¨I(jh]ji]jj]jk]jn]ujpNjqhjr]r©Ij¡)�rªI}r«I(jYX£**Latest emulation package.** Ensure that you have the latest emulation files as specified in the `Getting Started Guide `__.jZj¦IjbjWIjdj¥jf}r¬I(jh]ji]jj]jk]jn]ujpM_jr]r­I(jü)�r®I}r¯I(jYX**Latest emulation package.**jf}r°I(jh]ji]jj]jk]jn]ujZjªIjr]r±Ij{XLatest emulation package.r²I…�r³I}r´I(jYUjZj®Iubajdjubj{XE Ensure that you have the latest emulation files as specified in the rµI…�r¶I}r·I(jYXE Ensure that you have the latest emulation files as specified in the jZjªIubjÜ)�r¸I}r¹I(jYX@`Getting Started Guide `__jf}rºI(UnameXGetting Started GuidejX$index_overview.html#emulator-supportjk]jj]jh]ji]jn]ujZjªIjr]r»Ij{XGetting Started Guider¼I…�r½I}r¾I(jYUjZj¸Iubajdjàubj{X.…�r¿I}rÀI(jYX.jZjªIubeubaubeubj¡)�rÁI}rÂI(jYXFIf this does not resolve your problem, see these additional resources:rÃIjZjTIjbjWIjdj¥jf}rÄI(jh]ji]jj]jk]jn]ujpMbjqhjr]rÅIj{XFIf this does not resolve your problem, see these additional resources:rÆI…�rÇI}rÈI(jYjÃIjZjÁIubaubjC)�rÉI}rÊI(jYUjZjTIjbjWIjdj`jf}rËI(jGX-jk]jj]jh]ji]jn]ujpMdjqhjr]rÌI(j/)�rÍI}rÎI(jYXT`Troubleshoot CCS `__jZjÉIjbjWIjdj2jf}rÏI(jh]ji]jj]jk]jn]ujpNjqhjr]rÐIj¡)�rÑI}rÒI(jYXT`Troubleshoot CCS `__rÓIjZjÍIjbjWIjdj¥jf}rÔI(jh]ji]jj]jk]jn]ujpMdjr]rÕIjÜ)�rÖI}r×I(jYjÓIjf}rØI(UnameXTroubleshoot CCSjX=http://processors.wiki.ti.com/index.php/Troubleshooting_CCSv6jk]jj]jh]ji]jn]ujZjÑIjr]rÙIj{XTroubleshoot CCSrÚI…�rÛI}rÜI(jYUjZjÖIubajdjàubaubaubj/)�rÝI}rÞI(jYXX`Troubleshoot XDS100 `__jZjÉIjbjWIjdj2jf}rßI(jh]ji]jj]jk]jn]ujpNjqhjr]ràIj¡)�ráI}râI(jYXX`Troubleshoot XDS100 `__rãIjZjÝIjbjWIjdj¥jf}räI(jh]ji]jj]jk]jn]ujpMfjr]råIjÜ)�ræI}rçI(jYjãIjf}rèI(UnameXTroubleshoot XDS100jX>http://processors.wiki.ti.com/index.php/XDS100#Troubleshootingjk]jj]jh]ji]jn]ujZjáIjr]réIj{XTroubleshoot XDS100rêI…�rëI}rìI(jYUjZjæIubajdjàubaubaubj/)�ríI}rîI(jYXX`Troubleshoot XDS200 `__jZjÉIjbjWIjdj2jf}rïI(jh]ji]jj]jk]jn]ujpNjqhjr]rðIj¡)�rñI}ròI(jYXX`Troubleshoot XDS200 `__róIjZjíIjbjWIjdj¥jf}rôI(jh]ji]jj]jk]jn]ujpMhjr]rõIjÜ)�röI}r÷I(jYjóIjf}røI(UnameXTroubleshoot XDS200jX>http://processors.wiki.ti.com/index.php/XDS200#Troubleshootingjk]jj]jh]ji]jn]ujZjñIjr]rùIj{XTroubleshoot XDS200rúI…�rûI}rüI(jYUjZjöIubajdjàubaubaubj/)�rýI}rþI(jYXd`Troubleshoot XDS560 `__ jZjÉIjbjWIjdj2jf}rÿI(jh]ji]jj]jk]jn]ujpNjqhjr]rJj¡)�rJ}rJ(jYXc`Troubleshoot XDS560 `__rJjZjýIjbjWIjdj¥jf}rJ(jh]ji]jj]jk]jn]ujpMjjr]rJjÜ)�rJ}rJ(jYjJjf}rJ(UnameXTroubleshoot XDS560jXIhttp://processors.wiki.ti.com/index.php/XDS560#Frequently_Asked_Questionsjk]jj]jh]ji]jn]ujZjJjr]r Jj{XTroubleshoot XDS560r J…�r J}r J(jYUjZjJubajdjàubaubaubeubjZ)�r J}rJ(jYUjZjTIjbjWIjdj]jf}rJ(jh]ji]jj]jk]jn]ujpMmjqhjr]rJj`)�rJ}rJ(jYUjcKjZj JjbjWIjdjpjf}rJ(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjî)�rJ}rJ(jYX3Update environment when installing to a custom pathjZjTIjbjcjdjôjf}rJ(jöj÷jk]jj]jh]ji]jn]ujpK'jqhjr]rJj{X3Update environment when installing to a custom pathrJ…�rJ}rJ(jYUjZjJubaubjî)�rJ}rJ(jYX5-----------------------------------------------------jZjTIjbjcjdjôjf}rJ(jöj÷jk]jj]jh]ji]jn]ujpK(jqhjr]rJj{X5-----------------------------------------------------rJ…�r J}r!J(jYUjZjJubaubjRIeubjbjcjdj™jf}r"J(jk]jj]jh]ji]jn]jâU/processor-sdk-rtos-install-in-custom-path-labelr#JujpMµjqhjr]ubsjdjejf}r$J(jh]ji]jj]jk]r%J(U3update-environment-when-installing-to-a-custom-pathr&Jj#Jejn]r'J(hžh1eujpKjqhjÉ}r(Jj#JjRIsjr]r)J(jt)�r*J}r+J(jYX3Update environment when installing to a custom pathr,JjZjLIjbjOIjdjxjf}r-J(jh]ji]jj]jk]jn]ujpKjqhjr]r.Jj{X3Update environment when installing to a custom pathr/J…�r0J}r1J(jYj,JjZj*Jubaubjî)�r2J}r3J(jYXQhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Install_In_Custom_PathjZjLIjbjOIjdjôjf}r4J(jöj÷jk]jj]jh]ji]jn]ujpKjqhjr]r5Jj{XQhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Install_In_Custom_Pathr6J…�r7J}r8J(jYUjZj2Jubaubj[)�r9J}r:J(jYUjìKjZjLIjbjOIjdjejf}r;J(jh]rJUid24r?Jajn]ujpKjqhjr]r@J(jt)�rAJ}rBJ(jYXOverviewrCJjZj9JjbjOIjdjxjf}rDJ(jh]ji]jj]jk]jn]ujpKjqhjr]rEJj{XOverviewrFJ…�rGJ}rHJ(jYjCJjZjAJubaubj¡)�rIJ}rJJ(jYXZThis page will provide configuration information if the SDK is installed in a custom path.rKJjZj9JjbjOIjdj¥jf}rLJ(jh]ji]jj]jk]jn]ujpK jqhjr]rMJj{XZThis page will provide configuration information if the SDK is installed in a custom path.rNJ…�rOJ}rPJ(jYjKJjZjIJubaubj¡)�rQJ}rRJ(jYX**Useful Tip**rSJjZj9JjbjOIjdj¥jf}rTJ(jh]ji]jj]jk]jn]ujpK jqhjr]rUJjü)�rVJ}rWJ(jYjSJjf}rXJ(jh]ji]jj]jk]jn]ujZjQJjr]rYJj{X Useful TiprZJ…�r[J}r\J(jYUjZjVJubajdjubaubj¡)�r]J}r^J(jYX©To avoid changing environment variable for each new shell, modify environment variable file directly. This file is the *setupenv* file located in the SDK root directory.jZj9JjbjOIjdj¥jf}r_J(jh]ji]jj]jk]jn]ujpKjqhjr]r`J(j{XwTo avoid changing environment variable for each new shell, modify environment variable file directly. This file is the raJ…�rbJ}rcJ(jYXwTo avoid changing environment variable for each new shell, modify environment variable file directly. This file is the jZj]JubjŸ')�rdJ}reJ(jYX *setupenv*jf}rfJ(jh]ji]jj]jk]jn]ujZj]Jjr]rgJj{XsetupenvrhJ…�riJ}rjJ(jYUjZjdJubajdj§'ubj{X( file located in the SDK root directory.rkJ…�rlJ}rmJ(jYX( file located in the SDK root directory.jZj]Jubeubeubj[)�rnJ}roJ(jYUjZjLIjbjOIjdjejf}rpJ(jh]ji]jj]jk]rqJUchanges-to-ccs-configurationrrJajn]rsJh­aujpKjqhjr]rtJ(jt)�ruJ}rvJ(jYXChanges to CCS ConfigurationrwJjZjnJjbjOIjdjxjf}rxJ(jh]ji]jj]jk]jn]ujpKjqhjr]ryJj{XChanges to CCS ConfigurationrzJ…�r{J}r|J(jYjwJjZjuJubaubj¡)�r}J}r~J(jYXþInstalling the SDK in a folder other than where CCS is installed will require modifications to CCS to be able to discover the SDK. See the `Setup CCS `__ **How To** page explaining how to update CCS configuration.jZjnJjbjOIjdj¥jf}rJ(jh]ji]jj]jk]jn]ujpKjqhjr]r€J(j{X‹Installing the SDK in a folder other than where CCS is installed will require modifications to CCS to be able to discover the SDK. See the r�J…�r‚J}rƒJ(jYX‹Installing the SDK in a folder other than where CCS is installed will require modifications to CCS to be able to discover the SDK. See the jZj}JubjÜ)�r„J}r…J(jYX7`Setup CCS `__jf}r†J(UnameX Setup CCSjX'/index.php/Processor_SDK_RTOS_Setup_CCSjk]jj]jh]ji]jn]ujZj}Jjr]r‡Jj{X Setup CCSrˆJ…�r‰J}rŠJ(jYUjZj„Jubajdjàubj{X …�r‹J}rŒJ(jYX jZj}Jubjü)�r�J}rŽJ(jYX **How To**jf}r�J(jh]ji]jj]jk]jn]ujZj}Jjr]r�Jj{XHow Tor‘J…�r’J}r“J(jYUjZj�Jubajdjubj{X1 page explaining how to update CCS configuration.r”J…�r•J}r–J(jYX1 page explaining how to update CCS configuration.jZj}Jubeubeubj[)�r—J}r˜J(jYUjZjLIjbjOIjdjejf}r™J(jh]ji]jj]jk]ršJUrebuilding-the-sdk-rtosr›Jajn]rœJh2aujpKjqhjr]r�J(jt)�ržJ}rŸJ(jYXRebuilding the SDK RTOSr JjZj—JjbjOIjdjxjf}r¡J(jh]ji]jj]jk]jn]ujpKjqhjr]r¢Jj{XRebuilding the SDK RTOSr£J…�r¤J}r¥J(jYj JjZjžJubaubj¡)�r¦J}r§J(jYXÞInstalling the SDK in a folder other than the default (``C:\TI`` for Windows, ``/home/[user]/ti`` for Linux) requires modifications to SDK RTOS scripts in order for recompilation and example/test creation to work properly.jZj—JjbjOIjdj¥jf}r¨J(jh]ji]jj]jk]jn]ujpK!jqhjr]r©J(j{X7Installing the SDK in a folder other than the default (rªJ…�r«J}r¬J(jYX7Installing the SDK in a folder other than the default (jZj¦Jubji')�r­J}r®J(jYX ``C:\TI``jf}r¯J(jh]ji]jj]jk]jn]ujZj¦Jjr]r°Jj{XC:\TIr±J…�r²J}r³J(jYUjZj­Jubajdjq'ubj{X for Windows, r´J…�rµJ}r¶J(jYX for Windows, jZj¦Jubji')�r·J}r¸J(jYX``/home/[user]/ti``jf}r¹J(jh]ji]jj]jk]jn]ujZj¦Jjr]rºJj{X/home/[user]/tir»J…�r¼J}r½J(jYUjZj·Jubajdjq'ubj{X} for Linux) requires modifications to SDK RTOS scripts in order for recompilation and example/test creation to work properly.r¾J…�r¿J}rÀJ(jYX} for Linux) requires modifications to SDK RTOS scripts in order for recompilation and example/test creation to work properly.jZj¦Jubeubj¡)�rÁJ}rÂJ(jYXaIn all the commands below, replace *[version]* with the appropriate version of the software/tool.jZj—JjbjOIjdj¥jf}rÃJ(jh]ji]jj]jk]jn]ujpK&jqhjr]rÄJ(j{X#In all the commands below, replace rÅJ…�rÆJ}rÇJ(jYX#In all the commands below, replace jZjÁJubjŸ')�rÈJ}rÉJ(jYX *[version]*jf}rÊJ(jh]ji]jj]jk]jn]ujZjÁJjr]rËJj{X [version]rÌJ…�rÍJ}rÎJ(jYUjZjÈJubajdj§'ubj{X3 with the appropriate version of the software/tool.rÏJ…�rÐJ}rÑJ(jYX3 with the appropriate version of the software/tool.jZjÁJubeubj[)�rÒJ}rÓJ(jYUjZj—JjbjOIjdjejf}rÔJ(jh]ji]jj]jk]rÕJU/ccs-in-custom-path-and-sdk-rtos-in-default-pathrÖJajn]r×JhÄaujpK*jqhjr]rØJ(jt)�rÙJ}rÚJ(jYX/CCS in Custom Path and SDK RTOS in Default PathrÛJjZjÒJjbjOIjdjxjf}rÜJ(jh]ji]jj]jk]jn]ujpK*jqhjr]rÝJj{X/CCS in Custom Path and SDK RTOS in Default PathrÞJ…�rßJ}ràJ(jYjÛJjZjÙJubaubj¡)�ráJ}râJ(jYX CCS installation and toolchain paths can be customized by setting the TOOLS_INSTALL_PATH environment variable prior to running the SDK level setupenv script. This feature is used if CCS and the toolchains are installed somewhere other than the default C:\\ti location.jZjÒJjbjOIjdj¥jf}rãJ(jh]ji]jj]jk]jn]ujpK,jqhjr]räJj{X CCS installation and toolchain paths can be customized by setting the TOOLS_INSTALL_PATH environment variable prior to running the SDK level setupenv script. This feature is used if CCS and the toolchains are installed somewhere other than the default C:\ti location.råJ…�ræJ}rçJ(jYX CCS installation and toolchain paths can be customized by setting the TOOLS_INSTALL_PATH environment variable prior to running the SDK level setupenv script. This feature is used if CCS and the toolchains are installed somewhere other than the default C:\\ti location.jZjáJubaubj¡)�rèJ}réJ(jYX˜For example, environment configuration assuming CCS is installed to [os_base]\\ti_temp and SDK RTOS has been installed to default path, [os_base]\\ti :jZjÒJjbjOIjdj¥jf}rêJ(jh]ji]jj]jk]jn]ujpK1jqhjr]rëJj{X–For example, environment configuration assuming CCS is installed to [os_base]\ti_temp and SDK RTOS has been installed to default path, [os_base]\ti :rìJ…�ríJ}rîJ(jYX˜For example, environment configuration assuming CCS is installed to [os_base]\\ti_temp and SDK RTOS has been installed to default path, [os_base]\\ti :jZjèJubaubjC)�rïJ}rðJ(jYUjZjÒJjbjOIjdj`jf}rñJ(jGX-jk]jj]jh]ji]jn]ujpK5jqhjr]ròJj/)�róJ}rôJ(jYXWindows jZjïJjbjOIjdj2jf}rõJ(jh]ji]jj]jk]jn]ujpNjqhjr]röJj¡)�r÷J}røJ(jYXWindowsrùJjZjóJjbjOIjdj¥jf}rúJ(jh]ji]jj]jk]jn]ujpK5jr]rûJj{XWindowsrüJ…�rýJ}rþJ(jYjùJjZj÷Jubaubaubaubj)�rÿJ}rK(jYX&C:\> set TOOLS_INSTALL_PATH=C:\ti_tempjZjÒJjbjOIjdjjf}rK(jöj÷jk]jj]jh]ji]jn]ujpMòjqhjr]rKj{X&C:\> set TOOLS_INSTALL_PATH=C:\ti_temprK…�rK}rK(jYUjZjÿJubaubj)�rK}rK(jYX0C:\> cd C:\ti\processor_sdk_rtos_[soc]_[version]jZjÒJjbjOIjdjjf}rK(jöj÷jk]jj]jh]ji]jn]ujpMöjqhjr]r Kj{X0C:\> cd C:\ti\processor_sdk_rtos_[soc]_[version]r K…�r K}r K(jYUjZjKubaubj)�r K}rK(jYX6C:\ti\processor_sdk_rtos_[soc]_[version]> setupenv.batjZjÒJjbjOIjdjjf}rK(jöj÷jk]jj]jh]ji]jn]ujpMújqhjr]rKj{X6C:\ti\processor_sdk_rtos_[soc]_[version]> setupenv.batrK…�rK}rK(jYUjZj Kubaubj¡)�rK}rK(jYXGives the output:rKjZjÒJjbjOIjdj¥jf}rK(jh]ji]jj]jk]jn]ujpKCjqhjr]rKj{XGives the output:rK…�rK}rK(jYjKjZjKubaubj)�rK}rK(jYXZOptional parameter not configured : CG_XML_BIN_INSTALL_PATH REQUIRED for xdc release build Example: set CG_XML_BIN_INSTALL_PATH=C:/ti/cg_xml/bin Optional parameter not configured : DOXYGEN_INSTALL_PATH REQUIRED for xdc release build Example: set DOXYGEN_INSTALL_PATH=C:/ti/Doxygen/doxygen/1.5.1-p1/bin ************************************************************************** Environment Configuration: PDK Directory  : /ti/PDK_AM~3/packages/ CGTOOL INSTALL Directory  : C:/ti_temp/ccsv6/tools/compiler/ti-cgt-c6000_[version] TOOLCHAIN A15 Directory  : C:/ti_temp/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN A8 Directory  : C:/ti_temp/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN A9 Directory  : C:/ti_temp/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN M4 Directory  : C:/ti_temp/ccsv6/tools/compiler/ti-cgt-arm_[version] FPULIB_PATH  : C:/ti_temp/ccsv6/tools/compiler/gcc-arm-none-eabi-[version]/lib/gcc/arm-none-eabi/[version]/fpu CROSS_TOOL_PRFX  : arm-none-eabi- XDC_INSTALL_PATH  : C:/ti/xdctools_[version]_core BIOS_INSTALL_PATH  : C:/ti/bios_[version] IPC_INSTALL_PATH  : C:/ti/ipc_[version] EDMA3LLD_BIOS6_INSTALLDIR : C:/ti/edma3_lld_[version] NDK_INSTALL_PATH  : C:/ti/ndk_[version] IMGLIB_INSTALL_PATH  : C:/ti/imglib_c66x_[version] UIA_INSTALL_PATH  : C:/ti/uia_[version] PROC_SDK_INSTALL_PATH  : C:/ti/processor_sdk_rtos_[soc]_[version] ************************************************************************** Changing to short name to support directory names containing spaces current directory: C:/ti/processor_sdk_rtos_[soc]_[version] PROCESSOR SDK BUILD ENVIRONMENT CONFIGURED **************************************************************************jZjÒJjbjOIjdjjf}rK(jöj÷jk]jj]jh]ji]jn]ujpMjqhjr]rKj{XZOptional parameter not configured : CG_XML_BIN_INSTALL_PATH REQUIRED for xdc release build Example: set CG_XML_BIN_INSTALL_PATH=C:/ti/cg_xml/bin Optional parameter not configured : DOXYGEN_INSTALL_PATH REQUIRED for xdc release build Example: set DOXYGEN_INSTALL_PATH=C:/ti/Doxygen/doxygen/1.5.1-p1/bin ************************************************************************** Environment Configuration: PDK Directory  : /ti/PDK_AM~3/packages/ CGTOOL INSTALL Directory  : C:/ti_temp/ccsv6/tools/compiler/ti-cgt-c6000_[version] TOOLCHAIN A15 Directory  : C:/ti_temp/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN A8 Directory  : C:/ti_temp/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN A9 Directory  : C:/ti_temp/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN M4 Directory  : C:/ti_temp/ccsv6/tools/compiler/ti-cgt-arm_[version] FPULIB_PATH  : C:/ti_temp/ccsv6/tools/compiler/gcc-arm-none-eabi-[version]/lib/gcc/arm-none-eabi/[version]/fpu CROSS_TOOL_PRFX  : arm-none-eabi- XDC_INSTALL_PATH  : C:/ti/xdctools_[version]_core BIOS_INSTALL_PATH  : C:/ti/bios_[version] IPC_INSTALL_PATH  : C:/ti/ipc_[version] EDMA3LLD_BIOS6_INSTALLDIR : C:/ti/edma3_lld_[version] NDK_INSTALL_PATH  : C:/ti/ndk_[version] IMGLIB_INSTALL_PATH  : C:/ti/imglib_c66x_[version] UIA_INSTALL_PATH  : C:/ti/uia_[version] PROC_SDK_INSTALL_PATH  : C:/ti/processor_sdk_rtos_[soc]_[version] ************************************************************************** Changing to short name to support directory names containing spaces current directory: C:/ti/processor_sdk_rtos_[soc]_[version] PROCESSOR SDK BUILD ENVIRONMENT CONFIGURED **************************************************************************r K…�r!K}r"K(jYUjZjKubaubjC)�r#K}r$K(jYUjZjÒJjbjOIjdj`jf}r%K(jGX-jk]jj]jh]ji]jn]ujpKejqhjr]r&Kj/)�r'K}r(K(jYXLinux jZj#KjbjOIjdj2jf}r)K(jh]ji]jj]jk]jn]ujpNjqhjr]r*Kj¡)�r+K}r,K(jYXLinuxr-KjZj'KjbjOIjdj¥jf}r.K(jh]ji]jj]jk]jn]ujpKejr]r/Kj{XLinuxr0K…�r1K}r2K(jYj-KjZj+Kubaubaubaubj)�r3K}r4K(jYX%$ export TOOLS_INSTALL_PATH=~/ti_tempjZjÒJjbjOIjdjjf}r5K(jöj÷jk]jj]jh]ji]jn]ujpM"jqhjr]r6Kj{X%$ export TOOLS_INSTALL_PATH=~/ti_tempr7K…�r8K}r9K(jYUjZj3Kubaubj)�r:K}r;K(jYX-$ cd ~/ti/processor_sdk_rtos_[soc]_[version]/jZjÒJjbjOIjdjjf}rK…�r?K}r@K(jYUjZj:Kubaubj)�rAK}rBK(jYX;~/ti/processor_sdk_rtos_[soc]_[version]$ source setupenv.shjZjÒJjbjOIjdjjf}rCK(jöj÷jk]jj]jh]ji]jn]ujpM*jqhjr]rDKj{X;~/ti/processor_sdk_rtos_[soc]_[version]$ source setupenv.shrEK…�rFK}rGK(jYUjZjAKubaubj¡)�rHK}rIK(jYXGives the output:rJKjZjÒJjbjOIjdj¥jf}rKK(jh]ji]jj]jk]jn]ujpKsjqhjr]rLKj{XGives the output:rMK…�rNK}rOK(jYjJKjZjHKubaubj)�rPK}rQK(jYX?Optional parameter not configured : CG_XML_BIN_INSTALL_PATH REQUIRED for xdc release build Example: export CG_XML_BIN_INSTALL_PATH="~/ti/cg_xml/bin" Optional parameter not configured : DOXYGEN_INSTALL_PATH REQUIRED for xdc release build Example: export DOXYGEN_INSTALL_PATH="~/ti/Doxygen/doxygen/1.5.1-p1/bin" ************************************************************************** Environment Configuration: PDK Directory  : /home/[user]/ti/pdk_[soc]_[version]/packages CGTOOL INSTALL Directory  : /home/[user]/ti_temp/ccsv6/tools/compiler/ti-cgt-c6000_[version] TOOLCHAIN A15 Directory  : /home/[user]/ti_temp/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN A8 Directory  : /home/[user]/ti_temp/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN A9 Directory  : /home/[user]/ti_temp/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN M4 Directory  : /home/[user]/ti_temp/ccsv6/tools/compiler/ti-cgt-arm_[version] FPULIB_PATH  : /home/[user]/ti_temp/ccsv6/tools/compiler/gcc-arm-none-eabi-[version]/lib/gcc/arm-none-eabi/[version]/fpu CROSS_TOOL_PRFX  : arm-none-eabi- XDC_INSTALL_PATH  : /home/[user]/ti/xdctools_[version]_core BIOS_INSTALL_PATH  : /home/[user]/ti/bios_[version] IPC_INSTALL_PATH  : /home/[user]/ti/ipc_[version] EDMA3LLD_BIOS6_INSTALLDIR : /home/[user]/ti/edma3_lld_[version] NDK_INSTALL_PATH  : /home/[user]/ti/ndk_[version] IMGLIB_INSTALL_PATH  : /home/[user]/ti/imglib_c66x_[version] UIA_INSTALL_PATH  : /home/[user]/ti/uia_[version] PROC_SDK_INSTALL_PATH  : /home/[user]/ti/processor_sdk_rtos_[soc]_[version] PROCESSOR SDK BUILD ENVIRONMENT CONFIGURED *******************************************************************************jZjÒJjbjOIjdjjf}rRK(jöj÷jk]jj]jh]ji]jn]ujpM0jqhjr]rSKj{X?Optional parameter not configured : CG_XML_BIN_INSTALL_PATH REQUIRED for xdc release build Example: export CG_XML_BIN_INSTALL_PATH="~/ti/cg_xml/bin" Optional parameter not configured : DOXYGEN_INSTALL_PATH REQUIRED for xdc release build Example: export DOXYGEN_INSTALL_PATH="~/ti/Doxygen/doxygen/1.5.1-p1/bin" ************************************************************************** Environment Configuration: PDK Directory  : /home/[user]/ti/pdk_[soc]_[version]/packages CGTOOL INSTALL Directory  : /home/[user]/ti_temp/ccsv6/tools/compiler/ti-cgt-c6000_[version] TOOLCHAIN A15 Directory  : /home/[user]/ti_temp/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN A8 Directory  : /home/[user]/ti_temp/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN A9 Directory  : /home/[user]/ti_temp/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN M4 Directory  : /home/[user]/ti_temp/ccsv6/tools/compiler/ti-cgt-arm_[version] FPULIB_PATH  : /home/[user]/ti_temp/ccsv6/tools/compiler/gcc-arm-none-eabi-[version]/lib/gcc/arm-none-eabi/[version]/fpu CROSS_TOOL_PRFX  : arm-none-eabi- XDC_INSTALL_PATH  : /home/[user]/ti/xdctools_[version]_core BIOS_INSTALL_PATH  : /home/[user]/ti/bios_[version] IPC_INSTALL_PATH  : /home/[user]/ti/ipc_[version] EDMA3LLD_BIOS6_INSTALLDIR : /home/[user]/ti/edma3_lld_[version] NDK_INSTALL_PATH  : /home/[user]/ti/ndk_[version] IMGLIB_INSTALL_PATH  : /home/[user]/ti/imglib_c66x_[version] UIA_INSTALL_PATH  : /home/[user]/ti/uia_[version] PROC_SDK_INSTALL_PATH  : /home/[user]/ti/processor_sdk_rtos_[soc]_[version] PROCESSOR SDK BUILD ENVIRONMENT CONFIGURED *******************************************************************************rTK…�rUK}rVK(jYUjZjPKubaubj¡)�rWK}rXK(jYX¼The `RTOS SDK top level Makefile `__ can now be used to rebuild SDK RTOS components with CCS and toolchains installed in a custom installation path.jZjÒJjbjOIjdj¥jf}rYK(jh]ji]jj]jk]jn]ujpK“jqhjr]rZK(j{XThe r[K…�r\K}r]K(jYXThe jZjWKubjÜ)�r^K}r_K(jYXH`RTOS SDK top level Makefile `__jf}r`K(UnameXRTOS SDK top level MakefilejX&index_overview.html#top-level-makefilejk]jj]jh]ji]jn]ujZjWKjr]raKj{XRTOS SDK top level MakefilerbK…�rcK}rdK(jYUjZj^Kubajdjàubj{Xp can now be used to rebuild SDK RTOS components with CCS and toolchains installed in a custom installation path.reK…�rfK}rgK(jYXp can now be used to rebuild SDK RTOS components with CCS and toolchains installed in a custom installation path.jZjWKubeubeubj[)�rhK}riK(jYUjZj—JjbjOIjdjejf}rjK(jh]ji]jj]jk]rkKU/ccs-in-default-path-and-sdk-rtos-in-custom-pathrlKajn]rmKh:aujpK™jqhjr]rnK(jt)�roK}rpK(jYX/CCS in Default Path and SDK RTOS in Custom PathrqKjZjhKjbjOIjdjxjf}rrK(jh]ji]jj]jk]jn]ujpK™jqhjr]rsKj{X/CCS in Default Path and SDK RTOS in Custom PathrtK…�ruK}rvK(jYjqKjZjoKubaubj¡)�rwK}rxK(jYXòSDK RTOS component installation paths can be customized by setting the SDK_INSTALL_PATH variable prior to running the SDK level setupenv script. This feature is used if the SDK is installed somewhere other than the default ``C:\ti`` location.jZjhKjbjOIjdj¥jf}ryK(jh]ji]jj]jk]jn]ujpK›jqhjr]rzK(j{XßSDK RTOS component installation paths can be customized by setting the SDK_INSTALL_PATH variable prior to running the SDK level setupenv script. This feature is used if the SDK is installed somewhere other than the default r{K…�r|K}r}K(jYXßSDK RTOS component installation paths can be customized by setting the SDK_INSTALL_PATH variable prior to running the SDK level setupenv script. This feature is used if the SDK is installed somewhere other than the default jZjwKubji')�r~K}rK(jYX ``C:\ti``jf}r€K(jh]ji]jj]jk]jn]ujZjwKjr]r�Kj{XC:\tir‚K…�rƒK}r„K(jYUjZj~Kubajdjq'ubj{X location.r…K…�r†K}r‡K(jYX location.jZjwKubeubj¡)�rˆK}r‰K(jYX For example, environment configuration assuming CCS is installed to the default path, ``[os_base]\ti`` and SDK RTOS has been installed to ``[os_base]\ti_temp``:jZjhKjbjOIjdj¥jf}rŠK(jh]ji]jj]jk]jn]ujpK jqhjr]r‹K(j{XVFor example, environment configuration assuming CCS is installed to the default path, rŒK…�r�K}rŽK(jYXVFor example, environment configuration assuming CCS is installed to the default path, jZjˆKubji')�r�K}r�K(jYX``[os_base]\ti``jf}r‘K(jh]ji]jj]jk]jn]ujZjˆKjr]r’Kj{X [os_base]\tir“K…�r”K}r•K(jYUjZj�Kubajdjq'ubj{X$ and SDK RTOS has been installed to r–K…�r—K}r˜K(jYX$ and SDK RTOS has been installed to jZjˆKubji')�r™K}ršK(jYX``[os_base]\ti_temp``jf}r›K(jh]ji]jj]jk]jn]ujZjˆKjr]rœKj{X[os_base]\ti_tempr�K…�ržK}rŸK(jYUjZj™Kubajdjq'ubj{X:…�r K}r¡K(jYX:jZjˆKubeubjC)�r¢K}r£K(jYUjZjhKjbjOIjdj`jf}r¤K(jGX-jk]jj]jh]ji]jn]ujpK¤jqhjr]r¥Kj/)�r¦K}r§K(jYXWindows jZj¢KjbjOIjdj2jf}r¨K(jh]ji]jj]jk]jn]ujpNjqhjr]r©Kj¡)�rªK}r«K(jYXWindowsr¬KjZj¦KjbjOIjdj¥jf}r­K(jh]ji]jj]jk]jn]ujpK¤jr]r®Kj{XWindowsr¯K…�r°K}r±K(jYj¬KjZjªKubaubaubaubj)�r²K}r³K(jYX$C:\> set SDK_INSTALL_PATH=C:/ti_tempjZjhKjbjOIjdjjf}r´K(jöj÷jk]jj]jh]ji]jn]ujpMajqhjr]rµKj{X$C:\> set SDK_INSTALL_PATH=C:/ti_tempr¶K…�r·K}r¸K(jYUjZj²Kubaubj)�r¹K}rºK(jYX5C:\> cd C:\ti_temp\processor_sdk_rtos_[soc]_[version]jZjhKjbjOIjdjjf}r»K(jöj÷jk]jj]jh]ji]jn]ujpMejqhjr]r¼Kj{X5C:\> cd C:\ti_temp\processor_sdk_rtos_[soc]_[version]r½K…�r¾K}r¿K(jYUjZj¹Kubaubj)�rÀK}rÁK(jYX;C:\ti_temp\processor_sdk_rtos_[soc]_[version]> setupenv.batjZjhKjbjOIjdjjf}rÂK(jöj÷jk]jj]jh]ji]jn]ujpMijqhjr]rÃKj{X;C:\ti_temp\processor_sdk_rtos_[soc]_[version]> setupenv.batrÄK…�rÅK}rÆK(jYUjZjÀKubaubj¡)�rÇK}rÈK(jYXGives the output:rÉKjZjhKjbjOIjdj¥jf}rÊK(jh]ji]jj]jk]jn]ujpK²jqhjr]rËKj{XGives the output:rÌK…�rÍK}rÎK(jYjÉKjZjÇKubaubj)�rÏK}rÐK(jYXnOptional parameter not configured : CG_XML_BIN_INSTALL_PATH REQUIRED for xdc release build Example: set CG_XML_BIN_INSTALL_PATH=C:/ti/cg_xml/bin Optional parameter not configured : DOXYGEN_INSTALL_PATH REQUIRED for xdc release build Example: set DOXYGEN_INSTALL_PATH=C:/ti/Doxygen/doxygen/1.5.1-p1/bin ************************************************************************** Environment Configuration: PDK Directory  : /ti_temp/PDK_AM~3/packages/ CGTOOL INSTALL Directory  : C:/ti/ccsv6/tools/compiler/ti-cgt-c6000_[version] TOOLCHAIN A15 Directory  : C:/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN A8 Directory  : C:/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN A9 Directory  : C:/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN M4 Directory  : C:/ti/ccsv6/tools/compiler/ti-cgt-arm_[version] FPULIB_PATH  : C:/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-[version]/lib/gcc/arm-none-eabi/[version]/fpu CROSS_TOOL_PRFX  : arm-none-eabi- XDC_INSTALL_PATH  : C:/ti_temp/xdctools_[version]_core BIOS_INSTALL_PATH  : C:/ti_temp/bios_[version] IPC_INSTALL_PATH  : C:/ti_temp/ipc_[version] EDMA3LLD_BIOS6_INSTALLDIR : C:/ti_temp/edma3_lld_[version] NDK_INSTALL_PATH  : C:/ti_temp/ndk_[version] IMGLIB_INSTALL_PATH  : C:/ti_temp/imglib_c66x_[version] UIA_INSTALL_PATH  : C:/ti_temp/uia_[version] PROC_SDK_INSTALL_PATH  : C:/ti_temp/processor_sdk_rtos_[soc]_[version] ************************************************************************** Changing to short name to support directory names containing spaces current directory: C:/ti_temp/processor_sdk_rtos_[soc]_[version] PROCESSOR SDK BUILD ENVIRONMENT CONFIGURED **************************************************************************jZjhKjbjOIjdjjf}rÑK(jöj÷jk]jj]jh]ji]jn]ujpMojqhjr]rÒKj{XnOptional parameter not configured : CG_XML_BIN_INSTALL_PATH REQUIRED for xdc release build Example: set CG_XML_BIN_INSTALL_PATH=C:/ti/cg_xml/bin Optional parameter not configured : DOXYGEN_INSTALL_PATH REQUIRED for xdc release build Example: set DOXYGEN_INSTALL_PATH=C:/ti/Doxygen/doxygen/1.5.1-p1/bin ************************************************************************** Environment Configuration: PDK Directory  : /ti_temp/PDK_AM~3/packages/ CGTOOL INSTALL Directory  : C:/ti/ccsv6/tools/compiler/ti-cgt-c6000_[version] TOOLCHAIN A15 Directory  : C:/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN A8 Directory  : C:/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN A9 Directory  : C:/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN M4 Directory  : C:/ti/ccsv6/tools/compiler/ti-cgt-arm_[version] FPULIB_PATH  : C:/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-[version]/lib/gcc/arm-none-eabi/[version]/fpu CROSS_TOOL_PRFX  : arm-none-eabi- XDC_INSTALL_PATH  : C:/ti_temp/xdctools_[version]_core BIOS_INSTALL_PATH  : C:/ti_temp/bios_[version] IPC_INSTALL_PATH  : C:/ti_temp/ipc_[version] EDMA3LLD_BIOS6_INSTALLDIR : C:/ti_temp/edma3_lld_[version] NDK_INSTALL_PATH  : C:/ti_temp/ndk_[version] IMGLIB_INSTALL_PATH  : C:/ti_temp/imglib_c66x_[version] UIA_INSTALL_PATH  : C:/ti_temp/uia_[version] PROC_SDK_INSTALL_PATH  : C:/ti_temp/processor_sdk_rtos_[soc]_[version] ************************************************************************** Changing to short name to support directory names containing spaces current directory: C:/ti_temp/processor_sdk_rtos_[soc]_[version] PROCESSOR SDK BUILD ENVIRONMENT CONFIGURED **************************************************************************rÓK…�rÔK}rÕK(jYUjZjÏKubaubjC)�rÖK}r×K(jYUjZjhKjbjOIjdj`jf}rØK(jGX-jk]jj]jh]ji]jn]ujpKÔjqhjr]rÙKj/)�rÚK}rÛK(jYXLinux jZjÖKjbjOIjdj2jf}rÜK(jh]ji]jj]jk]jn]ujpNjqhjr]rÝKj¡)�rÞK}rßK(jYXLinuxràKjZjÚKjbjOIjdj¥jf}ráK(jh]ji]jj]jk]jn]ujpKÔjr]râKj{XLinuxrãK…�räK}råK(jYjàKjZjÞKubaubaubaubj)�ræK}rçK(jYX#$ export SDK_INSTALL_PATH=~/ti_tempjZjhKjbjOIjdjjf}rèK(jöj÷jk]jj]jh]ji]jn]ujpM‘jqhjr]réKj{X#$ export SDK_INSTALL_PATH=~/ti_temprêK…�rëK}rìK(jYUjZjæKubaubj)�ríK}rîK(jYX2$ cd ~/ti_temp/processor_sdk_rtos_[soc]_[version]/jZjhKjbjOIjdjjf}rïK(jöj÷jk]jj]jh]ji]jn]ujpM•jqhjr]rðKj{X2$ cd ~/ti_temp/processor_sdk_rtos_[soc]_[version]/rñK…�ròK}róK(jYUjZjíKubaubj)�rôK}rõK(jYX@~/ti_temp/processor_sdk_rtos_[soc]_[version]$ source setupenv.shjZjhKjbjOIjdjjf}röK(jöj÷jk]jj]jh]ji]jn]ujpM™jqhjr]r÷Kj{X@~/ti_temp/processor_sdk_rtos_[soc]_[version]$ source setupenv.shrøK…�rùK}rúK(jYUjZjôKubaubj¡)�rûK}rüK(jYXGives the output:rýKjZjhKjbjOIjdj¥jf}rþK(jh]ji]jj]jk]jn]ujpKâjqhjr]rÿKj{XGives the output:rL…�rL}rL(jYjýKjZjûKubaubj)�rL}rL(jYXNOptional parameter not configured : CG_XML_BIN_INSTALL_PATH REQUIRED for xdc release build Example: export CG_XML_BIN_INSTALL_PATH="~/ti/cg_xml/bin" Optional parameter not configured : DOXYGEN_INSTALL_PATH REQUIRED for xdc release build Example: export DOXYGEN_INSTALL_PATH="~/ti/Doxygen/doxygen/1.5.1-p1/bin" ************************************************************************** Environment Configuration: PDK Directory  : /home/[user]/ti_temp/pdk_[soc]_[version]/packages CGTOOL INSTALL Directory  : /home/[user]/ti/ccsv6/tools/compiler/ti-cgt-c6000_[version] TOOLCHAIN A15 Directory  : /home/[user]/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN A8 Directory  : /home/[user]/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN A9 Directory  : /home/[user]/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN M4 Directory  : /home/[user]/ti/ccsv6/tools/compiler/ti-cgt-arm_[version] FPULIB_PATH  : /home/[user]/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-[version]/lib/gcc/arm-none-eabi/[version]/fpu CROSS_TOOL_PRFX  : arm-none-eabi- XDC_INSTALL_PATH  : /home/[user]/ti_temp/xdctools_[version]_core BIOS_INSTALL_PATH  : /home/[user]/ti_temp/bios_[version] IPC_INSTALL_PATH  : /home/[user]/ti_temp/ipc_[version] EDMA3LLD_BIOS6_INSTALLDIR : /home/[user]/ti_temp/edma3_lld_[version] NDK_INSTALL_PATH  : /home/[user]/ti_temp/ndk_[version] IMGLIB_INSTALL_PATH  : /home/[user]/ti_temp/imglib_c66x_[version] UIA_INSTALL_PATH  : /home/[user]/ti_temp/uia_[version] PROC_SDK_INSTALL_PATH  : /home/[user]/ti_temp/processor_sdk_rtos_[soc]_[version] PROCESSOR SDK BUILD ENVIRONMENT CONFIGURED *******************************************************************************jZjhKjbjOIjdjjf}rL(jöj÷jk]jj]jh]ji]jn]ujpMŸjqhjr]rLj{XNOptional parameter not configured : CG_XML_BIN_INSTALL_PATH REQUIRED for xdc release build Example: export CG_XML_BIN_INSTALL_PATH="~/ti/cg_xml/bin" Optional parameter not configured : DOXYGEN_INSTALL_PATH REQUIRED for xdc release build Example: export DOXYGEN_INSTALL_PATH="~/ti/Doxygen/doxygen/1.5.1-p1/bin" ************************************************************************** Environment Configuration: PDK Directory  : /home/[user]/ti_temp/pdk_[soc]_[version]/packages CGTOOL INSTALL Directory  : /home/[user]/ti/ccsv6/tools/compiler/ti-cgt-c6000_[version] TOOLCHAIN A15 Directory  : /home/[user]/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN A8 Directory  : /home/[user]/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN A9 Directory  : /home/[user]/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN M4 Directory  : /home/[user]/ti/ccsv6/tools/compiler/ti-cgt-arm_[version] FPULIB_PATH  : /home/[user]/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-[version]/lib/gcc/arm-none-eabi/[version]/fpu CROSS_TOOL_PRFX  : arm-none-eabi- XDC_INSTALL_PATH  : /home/[user]/ti_temp/xdctools_[version]_core BIOS_INSTALL_PATH  : /home/[user]/ti_temp/bios_[version] IPC_INSTALL_PATH  : /home/[user]/ti_temp/ipc_[version] EDMA3LLD_BIOS6_INSTALLDIR : /home/[user]/ti_temp/edma3_lld_[version] NDK_INSTALL_PATH  : /home/[user]/ti_temp/ndk_[version] IMGLIB_INSTALL_PATH  : /home/[user]/ti_temp/imglib_c66x_[version] UIA_INSTALL_PATH  : /home/[user]/ti_temp/uia_[version] PROC_SDK_INSTALL_PATH  : /home/[user]/ti_temp/processor_sdk_rtos_[soc]_[version] PROCESSOR SDK BUILD ENVIRONMENT CONFIGURED *******************************************************************************rL…�rL}r L(jYUjZjLubaubj¡)�r L}r L(jYX¦The `RTOS SDK top level Makefile `__ can now be used to rebuild SDK RTOS components installed in the custom installation path.jZjhKjbjOIjdj¥jf}r L(jh]ji]jj]jk]jn]ujpMjqhjr]r L(j{XThe rL…�rL}rL(jYXThe jZj LubjÜ)�rL}rL(jYXH`RTOS SDK top level Makefile `__jf}rL(UnameXRTOS SDK top level MakefilejX&index_overview.html#top-level-makefilejk]jj]jh]ji]jn]ujZj Ljr]rLj{XRTOS SDK top level MakefilerL…�rL}rL(jYUjZjLubajdjàubj{XZ can now be used to rebuild SDK RTOS components installed in the custom installation path.rL…�rL}rL(jYXZ can now be used to rebuild SDK RTOS components installed in the custom installation path.jZj Lubeubj)�rL}rL(jYX The following known issue impacts this step: **PRSDK-1263**: PDK AM437x: Make fails on Windows if CCS is installed in custom path. **Workaround:** Edit the UTILS_INSTALL_DIR variable in /packages/ti/starterware/Rules.make to point to the CCS installation on your Windows PC.jZjhKjbjOIjdjjf}rL(jh]ji]jj]jk]jn]ujpNjqhjr]rLj¡)�rL}r L(jYX The following known issue impacts this step: **PRSDK-1263**: PDK AM437x: Make fails on Windows if CCS is installed in custom path. **Workaround:** Edit the UTILS_INSTALL_DIR variable in /packages/ti/starterware/Rules.make to point to the CCS installation on your Windows PC.jZjLjbjOIjdj¥jf}r!L(jh]ji]jj]jk]jn]ujpMjr]r"L(j{X-The following known issue impacts this step: r#L…�r$L}r%L(jYX-The following known issue impacts this step: jZjLubjü)�r&L}r'L(jYX**PRSDK-1263**jf}r(L(jh]ji]jj]jk]jn]ujZjLjr]r)Lj{X PRSDK-1263r*L…�r+L}r,L(jYUjZj&Lubajdjubj{XH: PDK AM437x: Make fails on Windows if CCS is installed in custom path. r-L…�r.L}r/L(jYXH: PDK AM437x: Make fails on Windows if CCS is installed in custom path. jZjLubjü)�r0L}r1L(jYX**Workaround:**jf}r2L(jh]ji]jj]jk]jn]ujZjLjr]r3Lj{X Workaround:r4L…�r5L}r6L(jYUjZj0Lubajdjubj{XŽ Edit the UTILS_INSTALL_DIR variable in /packages/ti/starterware/Rules.make to point to the CCS installation on your Windows PC.r7L…�r8L}r9L(jYXŽ Edit the UTILS_INSTALL_DIR variable in /packages/ti/starterware/Rules.make to point to the CCS installation on your Windows PC.jZjLubeubaubeubj[)�r:L}r;L(jYUjZj—JjbjOIjdjejf}rLajn]r?LheaujpMjqhjr]r@L(jt)�rAL}rBL(jYXCCS and SDK RTOS in Custom PathrCLjZj:LjbjOIjdjxjf}rDL(jh]ji]jj]jk]jn]ujpMjqhjr]rELj{XCCS and SDK RTOS in Custom PathrFL…�rGL}rHL(jYjCLjZjALubaubj¡)�rIL}rJL(jYX=When CCS and the SDK RTOS are both installed to custom paths the SDK can be rebuilt by setting the SDK_INSTALL_PATH and TOOLS_INSTALL_PATH variables prior to running the SDK RTOS top level environment setup script. The Windows and Linux environment setup scripts can be found in the following locations, respectively:rKLjZj:LjbjOIjdj¥jf}rLL(jh]ji]jj]jk]jn]ujpMjqhjr]rMLj{X=When CCS and the SDK RTOS are both installed to custom paths the SDK can be rebuilt by setting the SDK_INSTALL_PATH and TOOLS_INSTALL_PATH variables prior to running the SDK RTOS top level environment setup script. The Windows and Linux environment setup scripts can be found in the following locations, respectively:rNL…�rOL}rPL(jYjKLjZjILubaubjC)�rQL}rRL(jYUjZj:LjbjOIjdj`jf}rSL(jGX-jk]jj]jh]ji]jn]ujpMjqhjr]rTL(j/)�rUL}rVL(jYXUWindows - C:\\custom\\install\\path\\processor_sdk_rtos_[soc]_[version]\\setupenv.batjZjQLjbjOIjdj2jf}rWL(jh]ji]jj]jk]jn]ujpNjqhjr]rXLj¡)�rYL}rZL(jYXUWindows - C:\\custom\\install\\path\\processor_sdk_rtos_[soc]_[version]\\setupenv.batjZjULjbjOIjdj¥jf}r[L(jh]ji]jj]jk]jn]ujpMjr]r\Lj{XPWindows - C:\custom\install\path\processor_sdk_rtos_[soc]_[version]\setupenv.batr]L…�r^L}r_L(jYXUWindows - C:\\custom\\install\\path\\processor_sdk_rtos_[soc]_[version]\\setupenv.batjZjYLubaubaubj/)�r`L}raL(jYXXLinux - /home/[user]/custom/install/path/processor_sdk_rtos_[soc]_[version]/setupenv.sh jZjQLjbjOIjdj2jf}rbL(jh]ji]jj]jk]jn]ujpNjqhjr]rcLj¡)�rdL}reL(jYXWLinux - /home/[user]/custom/install/path/processor_sdk_rtos_[soc]_[version]/setupenv.shrfLjZj`LjbjOIjdj¥jf}rgL(jh]ji]jj]jk]jn]ujpMjr]rhLj{XWLinux - /home/[user]/custom/install/path/processor_sdk_rtos_[soc]_[version]/setupenv.shriL…�rjL}rkL(jYjfLjZjdLubaubaubeubj¡)�rlL}rmL(jYX›The SDK_INSTALL_PATH and TOOLS_INSTALL_PATH environment variables must be set to the custom install path **prior to running** the environment setup script.jZj:LjbjOIjdj¥jf}rnL(jh]ji]jj]jk]jn]ujpMjqhjr]roL(j{XiThe SDK_INSTALL_PATH and TOOLS_INSTALL_PATH environment variables must be set to the custom install path rpL…�rqL}rrL(jYXiThe SDK_INSTALL_PATH and TOOLS_INSTALL_PATH environment variables must be set to the custom install path jZjlLubjü)�rsL}rtL(jYX**prior to running**jf}ruL(jh]ji]jj]jk]jn]ujZjlLjr]rvLj{Xprior to runningrwL…�rxL}ryL(jYUjZjsLubajdjubj{X the environment setup script.rzL…�r{L}r|L(jYX the environment setup script.jZjlLubeubj¡)�r}L}r~L(jYXvFor example, environment configuration assuming CCS and the SDK have been installed to [os_base]\\new_sdk_release\\ :jZj:LjbjOIjdj¥jf}rL(jh]ji]jj]jk]jn]ujpM jqhjr]r€Lj{XtFor example, environment configuration assuming CCS and the SDK have been installed to [os_base]\new_sdk_release\ :r�L…�r‚L}rƒL(jYXvFor example, environment configuration assuming CCS and the SDK have been installed to [os_base]\\new_sdk_release\\ :jZj}LubaubjC)�r„L}r…L(jYUjZj:LjbjOIjdj`jf}r†L(jGX-jk]jj]jh]ji]jn]ujpM#jqhjr]r‡Lj/)�rˆL}r‰L(jYXWindows jZj„LjbjOIjdj2jf}rŠL(jh]ji]jj]jk]jn]ujpNjqhjr]r‹Lj¡)�rŒL}r�L(jYXWindowsrŽLjZjˆLjbjOIjdj¥jf}r�L(jh]ji]jj]jk]jn]ujpM#jr]r�Lj{XWindowsr‘L…�r’L}r“L(jYjŽLjZjŒLubaubaubaubj)�r”L}r•L(jYX[C:\> set SDK_INSTALL_PATH=C:\new_sdk_release C:\> set TOOLS_INSTALL_PATH=C:\new_sdk_releasejZj:LjbjOIjdjjf}r–L(jöj÷jk]jj]jh]ji]jn]ujpMàjqhjr]r—Lj{X[C:\> set SDK_INSTALL_PATH=C:\new_sdk_release C:\> set TOOLS_INSTALL_PATH=C:\new_sdk_releaser˜L…�r™L}ršL(jYUjZj”Lubaubj)�r›L}rœL(jYX=C:\> cd C:\new_sdk_release\processor_sdk_rtos_[soc]_[version]jZj:LjbjOIjdjjf}r�L(jöj÷jk]jj]jh]ji]jn]ujpMåjqhjr]ržLj{X=C:\> cd C:\new_sdk_release\processor_sdk_rtos_[soc]_[version]rŸL…�r L}r¡L(jYUjZj›Lubaubj)�r¢L}r£L(jYXCC:\new_sdk_release\processor_sdk_rtos_[soc]_[version]> setupenv.batjZj:LjbjOIjdjjf}r¤L(jöj÷jk]jj]jh]ji]jn]ujpMéjqhjr]r¥Lj{XCC:\new_sdk_release\processor_sdk_rtos_[soc]_[version]> setupenv.batr¦L…�r§L}r¨L(jYUjZj¢Lubaubj¡)�r©L}rªL(jYXGives the output:r«LjZj:LjbjOIjdj¥jf}r¬L(jh]ji]jj]jk]jn]ujpM2jqhjr]r­Lj{XGives the output:r®L…�r¯L}r°L(jYj«LjZj©Lubaubj)�r±L}r²L(jYXOptional parameter not configured : CG_XML_BIN_INSTALL_PATH REQUIRED for xdc release build Example: set CG_XML_BIN_INSTALL_PATH=C:/ti/cg_xml/bin Optional parameter not configured : DOXYGEN_INSTALL_PATH REQUIRED for xdc release build Example: set DOXYGEN_INSTALL_PATH=C:/ti/Doxygen/doxygen/1.5.1-p1/bin ************************************************************************** Environment Configuration: PDK Directory  : /NEW_SD~1/PDK_AM~1/packages/ CGTOOL INSTALL Directory  : C:/new_sdk_release/ccsv6/tools/compiler/ti-cgt-c6000_[version] TOOLCHAIN A15 Directory  : C:/new_sdk_release/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN A8 Directory  : C:/new_sdk_release/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN A9 Directory  : C:/new_sdk_release/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN M4 Directory  : C:/new_sdk_release/ccsv6/tools/compiler/ti-cgt-arm_[version] FPULIB_PATH  : C:/new_sdk_release/ccsv6/tools/compiler/gcc-arm-none-eabi-[version]/lib/gcc/arm-none-eabi/[version]/fpu CROSS_TOOL_PRFX  : arm-none-eabi- XDC_INSTALL_PATH  : C:/new_sdk_release/xdctools_[version]_core BIOS_INSTALL_PATH  : C:/new_sdk_release/bios_[version] IPC_INSTALL_PATH  : C:/new_sdk_release/ipc_[version] EDMA3LLD_BIOS6_INSTALLDIR : C:/new_sdk_release/edma3_lld_[version] NDK_INSTALL_PATH  : C:/new_sdk_release/ndk_[version] IMGLIB_INSTALL_PATH  : C:/new_sdk_release/imglib_c66x_[version] UIA_INSTALL_PATH  : C:/new_sdk_release/uia_[version] PROC_SDK_INSTALL_PATH  : C:/new_sdk_release/processor_sdk_rtos_[soc]_[version] ************************************************************************** Changing to short name to support directory names containing spaces current directory: C:/new_sdk_release/processor_sdk_rtos_[soc]_[version] PROCESSOR SDK BUILD ENVIRONMENT CONFIGURED **************************************************************************jZj:LjbjOIjdjjf}r³L(jöj÷jk]jj]jh]ji]jn]ujpMïjqhjr]r´Lj{XOptional parameter not configured : CG_XML_BIN_INSTALL_PATH REQUIRED for xdc release build Example: set CG_XML_BIN_INSTALL_PATH=C:/ti/cg_xml/bin Optional parameter not configured : DOXYGEN_INSTALL_PATH REQUIRED for xdc release build Example: set DOXYGEN_INSTALL_PATH=C:/ti/Doxygen/doxygen/1.5.1-p1/bin ************************************************************************** Environment Configuration: PDK Directory  : /NEW_SD~1/PDK_AM~1/packages/ CGTOOL INSTALL Directory  : C:/new_sdk_release/ccsv6/tools/compiler/ti-cgt-c6000_[version] TOOLCHAIN A15 Directory  : C:/new_sdk_release/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN A8 Directory  : C:/new_sdk_release/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN A9 Directory  : C:/new_sdk_release/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN M4 Directory  : C:/new_sdk_release/ccsv6/tools/compiler/ti-cgt-arm_[version] FPULIB_PATH  : C:/new_sdk_release/ccsv6/tools/compiler/gcc-arm-none-eabi-[version]/lib/gcc/arm-none-eabi/[version]/fpu CROSS_TOOL_PRFX  : arm-none-eabi- XDC_INSTALL_PATH  : C:/new_sdk_release/xdctools_[version]_core BIOS_INSTALL_PATH  : C:/new_sdk_release/bios_[version] IPC_INSTALL_PATH  : C:/new_sdk_release/ipc_[version] EDMA3LLD_BIOS6_INSTALLDIR : C:/new_sdk_release/edma3_lld_[version] NDK_INSTALL_PATH  : C:/new_sdk_release/ndk_[version] IMGLIB_INSTALL_PATH  : C:/new_sdk_release/imglib_c66x_[version] UIA_INSTALL_PATH  : C:/new_sdk_release/uia_[version] PROC_SDK_INSTALL_PATH  : C:/new_sdk_release/processor_sdk_rtos_[soc]_[version] ************************************************************************** Changing to short name to support directory names containing spaces current directory: C:/new_sdk_release/processor_sdk_rtos_[soc]_[version] PROCESSOR SDK BUILD ENVIRONMENT CONFIGURED **************************************************************************rµL…�r¶L}r·L(jYUjZj±LubaubjC)�r¸L}r¹L(jYUjZj:LjbjOIjdj`jf}rºL(jGX-jk]jj]jh]ji]jn]ujpMTjqhjr]r»Lj/)�r¼L}r½L(jYXLinux jZj¸LjbjOIjdj2jf}r¾L(jh]ji]jj]jk]jn]ujpNjqhjr]r¿Lj¡)�rÀL}rÁL(jYXLinuxrÂLjZj¼LjbjOIjdj¥jf}rÃL(jh]ji]jj]jk]jn]ujpMTjr]rÄLj{XLinuxrÅL…�rÆL}rÇL(jYjÂLjZjÀLubaubaubaubj)�rÈL}rÉL(jYXY$ export SDK_INSTALL_PATH=~/new_sdk_release $ export TOOLS_INSTALL_PATH=~/new_sdk_releasejZj:LjbjOIjdjjf}rÊL(jöj÷jk]jj]jh]ji]jn]ujpMjqhjr]rËLj{XY$ export SDK_INSTALL_PATH=~/new_sdk_release $ export TOOLS_INSTALL_PATH=~/new_sdk_releaserÌL…�rÍL}rÎL(jYUjZjÈLubaubj)�rÏL}rÐL(jYX:$ cd ~/new_sdk_release/processor_sdk_rtos_[soc]_[version]/jZj:LjbjOIjdjjf}rÑL(jöj÷jk]jj]jh]ji]jn]ujpMjqhjr]rÒLj{X:$ cd ~/new_sdk_release/processor_sdk_rtos_[soc]_[version]/rÓL…�rÔL}rÕL(jYUjZjÏLubaubj)�rÖL}r×L(jYXH~/new_sdk_release/processor_sdk_rtos_[soc]_[version]$ source setupenv.shjZj:LjbjOIjdjjf}rØL(jöj÷jk]jj]jh]ji]jn]ujpMjqhjr]rÙLj{XH~/new_sdk_release/processor_sdk_rtos_[soc]_[version]$ source setupenv.shrÚL…�rÛL}rÜL(jYUjZjÖLubaubj¡)�rÝL}rÞL(jYXGives the output:rßLjZj:LjbjOIjdj¥jf}ràL(jh]ji]jj]jk]jn]ujpMcjqhjr]ráLj{XGives the output:râL…�rãL}räL(jYjßLjZjÝLubaubj)�råL}ræL(jYXäOptional parameter not configured : CG_XML_BIN_INSTALL_PATH REQUIRED for xdc release build Example: export CG_XML_BIN_INSTALL_PATH="~/ti/cg_xml/bin" Optional parameter not configured : DOXYGEN_INSTALL_PATH REQUIRED for xdc release build Example: export DOXYGEN_INSTALL_PATH="~/ti/Doxygen/doxygen/1.5.1-p1/bin" ************************************************************************** Environment Configuration: PDK Directory  : /home/[user]/new_sdk_release/pdk_[soc]_[version]/packages CGTOOL INSTALL Directory  : /home/[user]/new_sdk_release/ccsv6/tools/compiler/ti-cgt-c6000_[version] TOOLCHAIN A15 Directory  : /home/[user]/new_sdk_release/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN A8 Directory  : /home/[user]/new_sdk_release/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN A9 Directory  : /home/[user]/new_sdk_release/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN M4 Directory  : /home/[user]/new_sdk_release/ccsv6/tools/compiler/ti-cgt-arm_[version] FPULIB_PATH  : /home/[user]/new_sdk_release/ccsv6/tools/compiler/gcc-arm-none-eabi-[version]/lib/gcc/arm-none-eabi/[version]/fpu CROSS_TOOL_PRFX  : arm-none-eabi- XDC_INSTALL_PATH  : /home/[user]/new_sdk_release/xdctools_[version]_core BIOS_INSTALL_PATH  : /home/[user]/new_sdk_release/bios_[version] IPC_INSTALL_PATH  : /home/[user]/new_sdk_release/ipc_[version] EDMA3LLD_BIOS6_INSTALLDIR : /home/[user]/new_sdk_release/edma3_lld_[version] NDK_INSTALL_PATH  : /home/[user]/new_sdk_release/ndk_[version] IMGLIB_INSTALL_PATH  : /home/[user]/new_sdk_release/imglib_c66x_[version] UIA_INSTALL_PATH  : /home/[user]/new_sdk_release/uia_[version] PROC_SDK_INSTALL_PATH  : /home/[user]/new_sdk_release/processor_sdk_rtos_[soc]_[version] PROCESSOR SDK BUILD ENVIRONMENT CONFIGURED *******************************************************************************jZj:LjbjOIjdjjf}rçL(jöj÷jk]jj]jh]ji]jn]ujpM jqhjr]rèLj{XäOptional parameter not configured : CG_XML_BIN_INSTALL_PATH REQUIRED for xdc release build Example: export CG_XML_BIN_INSTALL_PATH="~/ti/cg_xml/bin" Optional parameter not configured : DOXYGEN_INSTALL_PATH REQUIRED for xdc release build Example: export DOXYGEN_INSTALL_PATH="~/ti/Doxygen/doxygen/1.5.1-p1/bin" ************************************************************************** Environment Configuration: PDK Directory  : /home/[user]/new_sdk_release/pdk_[soc]_[version]/packages CGTOOL INSTALL Directory  : /home/[user]/new_sdk_release/ccsv6/tools/compiler/ti-cgt-c6000_[version] TOOLCHAIN A15 Directory  : /home/[user]/new_sdk_release/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN A8 Directory  : /home/[user]/new_sdk_release/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN A9 Directory  : /home/[user]/new_sdk_release/ccsv6/tools/compiler/gcc-arm-none-eabi-[version] TOOLCHAIN M4 Directory  : /home/[user]/new_sdk_release/ccsv6/tools/compiler/ti-cgt-arm_[version] FPULIB_PATH  : /home/[user]/new_sdk_release/ccsv6/tools/compiler/gcc-arm-none-eabi-[version]/lib/gcc/arm-none-eabi/[version]/fpu CROSS_TOOL_PRFX  : arm-none-eabi- XDC_INSTALL_PATH  : /home/[user]/new_sdk_release/xdctools_[version]_core BIOS_INSTALL_PATH  : /home/[user]/new_sdk_release/bios_[version] IPC_INSTALL_PATH  : /home/[user]/new_sdk_release/ipc_[version] EDMA3LLD_BIOS6_INSTALLDIR : /home/[user]/new_sdk_release/edma3_lld_[version] NDK_INSTALL_PATH  : /home/[user]/new_sdk_release/ndk_[version] IMGLIB_INSTALL_PATH  : /home/[user]/new_sdk_release/imglib_c66x_[version] UIA_INSTALL_PATH  : /home/[user]/new_sdk_release/uia_[version] PROC_SDK_INSTALL_PATH  : /home/[user]/new_sdk_release/processor_sdk_rtos_[soc]_[version] PROCESSOR SDK BUILD ENVIRONMENT CONFIGURED *******************************************************************************réL…�rêL}rëL(jYUjZjåLubaubj¡)�rìL}ríL(jYXâThe `RTOS SDK top level Makefile `__ can now be used to rebuild SDK RTOS components installed in the custom installation path using CCS and toolchains installed in a custom path as well.jZj:LjbjOIjdj¥jf}rîL(jh]ji]jj]jk]jn]ujpMƒjqhjr]rïL(j{XThe rðL…�rñL}ròL(jYXThe jZjìLubjÜ)�róL}rôL(jYXH`RTOS SDK top level Makefile `__jf}rõL(UnameXRTOS SDK top level MakefilejX&index_overview.html#top-level-makefilejk]jj]jh]ji]jn]ujZjìLjr]röLj{XRTOS SDK top level Makefiler÷L…�røL}rùL(jYUjZjóLubajdjàubj{X– can now be used to rebuild SDK RTOS components installed in the custom installation path using CCS and toolchains installed in a custom path as well.rúL…�rûL}rüL(jYX– can now be used to rebuild SDK RTOS components installed in the custom installation path using CCS and toolchains installed in a custom path as well.jZjìLubeubeubeubj[)�rýL}rþL(jYUjZjLIjbjOIjdjejf}rÿL(jh]ji]jj]jk]rMUrebuilding-the-pdkrMajn]rMh@aujpMŠjqhjr]rM(jt)�rM}rM(jYXRebuilding the PDKrMjZjýLjbjOIjdjxjf}rM(jh]ji]jj]jk]jn]ujpMŠjqhjr]rMj{XRebuilding the PDKr M…�r M}r M(jYjMjZjMubaubj¡)�r M}r M(jYXÑInstalling the PDK in a folder other than the default (C:\TI for Windows, /home/[user]/ti for Linux) requires modifications to PDK scripts in order for recompilation and example/test creation to work properly.jZjýLjbjOIjdj¥jf}rM(jh]ji]jj]jk]jn]ujpMŒjqhjr]rMj{XÐInstalling the PDK in a folder other than the default (C:TI for Windows, /home/[user]/ti for Linux) requires modifications to PDK scripts in order for recompilation and example/test creation to work properly.rM…�rM}rM(jYXÑInstalling the PDK in a folder other than the default (C:\TI for Windows, /home/[user]/ti for Linux) requires modifications to PDK scripts in order for recompilation and example/test creation to work properly.jZj Mubaubj[)�rM}rM(jYUjZjýLjbjOIjdjejf}rM(jh]ji]jj]jk]rMU*ccs-in-custom-path-and-pdk-in-default-pathrMajn]rMhjaujpM’jqhjr]rM(jt)�rM}rM(jYX*CCS in Custom Path and PDK in Default PathrMjZjMjbjOIjdjxjf}rM(jh]ji]jj]jk]jn]ujpM’jqhjr]rMj{X*CCS in Custom Path and PDK in Default PathrM…�r M}r!M(jYjMjZjMubaubj¡)�r"M}r#M(jYXÉThe instructions provided in the `CCS in Custom Path and SDK RTOS in Default Path `__ section can be used to rebuild components at the PDK level. The only difference is the PDK level setup script should be used instead of the SDK RTOS level setup script. The PDK level setup scripts are found in the following locations on Windows and Linux, respectively:jZjMjbjOIjdj¥jf}r$M(jh]ji]jj]jk]jn]ujpM”jqhjr]r%M(j{X!The instructions provided in the r&M…�r'M}r(M(jYX!The instructions provided in the jZj"MubjÜ)�r)M}r*M(jYXš`CCS in Custom Path and SDK RTOS in Default Path `__jf}r+M(UnameX/CCS in Custom Path and SDK RTOS in Default PathjXd/index.php/Processor_SDK_RTOS_Install_In_Custom_Path#CCS_in_Custom_Path_and_SDK_RTOS_in_Default_Pathjk]jj]jh]ji]jn]ujZj"Mjr]r,Mj{X/CCS in Custom Path and SDK RTOS in Default Pathr-M…�r.M}r/M(jYUjZj)Mubajdjàubj{X section can be used to rebuild components at the PDK level. The only difference is the PDK level setup script should be used instead of the SDK RTOS level setup script. The PDK level setup scripts are found in the following locations on Windows and Linux, respectively:r0M…�r1M}r2M(jYX section can be used to rebuild components at the PDK level. The only difference is the PDK level setup script should be used instead of the SDK RTOS level setup script. The PDK level setup scripts are found in the following locations on Windows and Linux, respectively:jZj"MubeubjC)�r3M}r4M(jYUjZjMjbjOIjdj`jf}r5M(jGX-jk]jj]jh]ji]jn]ujpMœjqhjr]r6M(j/)�r7M}r8M(jYXSWindows - C:\\custom\\install\\path\\pdk_[soc]_[version]\\packages\\pdksetupenv.batjZj3MjbjOIjdj2jf}r9M(jh]ji]jj]jk]jn]ujpNjqhjr]r:Mj¡)�r;M}rMj{XMWindows - C:\custom\install\path\pdk_[soc]_[version]\packages\pdksetupenv.batr?M…�r@M}rAM(jYXSWindows - C:\\custom\\install\\path\\pdk_[soc]_[version]\\packages\\pdksetupenv.batjZj;Mubaubaubj/)�rBM}rCM(jYXULinux - /home/[user]/custom/install/path/pdk_[soc]_[version]/packages/pdksetupenv.sh jZj3MjbjOIjdj2jf}rDM(jh]ji]jj]jk]jn]ujpNjqhjr]rEMj¡)�rFM}rGM(jYXTLinux - /home/[user]/custom/install/path/pdk_[soc]_[version]/packages/pdksetupenv.shrHMjZjBMjbjOIjdj¥jf}rIM(jh]ji]jj]jk]jn]ujpMžjr]rJMj{XTLinux - /home/[user]/custom/install/path/pdk_[soc]_[version]/packages/pdksetupenv.shrKM…�rLM}rMM(jYjHMjZjFMubaubaubeubeubj[)�rNM}rOM(jYUjZjýLjbjOIjdjejf}rPM(jh]ji]jj]jk]rQMU*ccs-in-default-path-and-pdk-in-custom-pathrRMajn]rSMh”aujpM¢jqhjr]rTM(jt)�rUM}rVM(jYX*CCS in Default Path and PDK in Custom PathrWMjZjNMjbjOIjdjxjf}rXM(jh]ji]jj]jk]jn]ujpM¢jqhjr]rYMj{X*CCS in Default Path and PDK in Custom PathrZM…�r[M}r\M(jYjWMjZjUMubaubj¡)�r]M}r^M(jYXÉThe instructions provided in the `CCS in Default Path and SDK RTOS in Custom Path `__ section can be used to rebuild components at the PDK level. The only difference is the PDK level setup script should be used instead of the SDK RTOS level setup script. The PDK level setup scripts are found in the following locations on Windows and Linux, respectively:jZjNMjbjOIjdj¥jf}r_M(jh]ji]jj]jk]jn]ujpM¤jqhjr]r`M(j{X!The instructions provided in the raM…�rbM}rcM(jYX!The instructions provided in the jZj]MubjÜ)�rdM}reM(jYXš`CCS in Default Path and SDK RTOS in Custom Path `__jf}rfM(UnameX/CCS in Default Path and SDK RTOS in Custom PathjXd/index.php/Processor_SDK_RTOS_Install_In_Custom_Path#CCS_in_Default_Path_and_SDK_RTOS_in_Custom_Pathjk]jj]jh]ji]jn]ujZj]Mjr]rgMj{X/CCS in Default Path and SDK RTOS in Custom PathrhM…�riM}rjM(jYUjZjdMubajdjàubj{X section can be used to rebuild components at the PDK level. The only difference is the PDK level setup script should be used instead of the SDK RTOS level setup script. The PDK level setup scripts are found in the following locations on Windows and Linux, respectively:rkM…�rlM}rmM(jYX section can be used to rebuild components at the PDK level. The only difference is the PDK level setup script should be used instead of the SDK RTOS level setup script. The PDK level setup scripts are found in the following locations on Windows and Linux, respectively:jZj]MubeubjC)�rnM}roM(jYUjZjNMjbjOIjdj`jf}rpM(jGX-jk]jj]jh]ji]jn]ujpM¬jqhjr]rqM(j/)�rrM}rsM(jYXSWindows - C:\\custom\\install\\path\\pdk_[soc]_[version]\\packages\\pdksetupenv.batjZjnMjbjOIjdj2jf}rtM(jh]ji]jj]jk]jn]ujpNjqhjr]ruMj¡)�rvM}rwM(jYXSWindows - C:\\custom\\install\\path\\pdk_[soc]_[version]\\packages\\pdksetupenv.batjZjrMjbjOIjdj¥jf}rxM(jh]ji]jj]jk]jn]ujpM¬jr]ryMj{XMWindows - C:\custom\install\path\pdk_[soc]_[version]\packages\pdksetupenv.batrzM…�r{M}r|M(jYXSWindows - C:\\custom\\install\\path\\pdk_[soc]_[version]\\packages\\pdksetupenv.batjZjvMubaubaubj/)�r}M}r~M(jYXULinux - /home/[user]/custom/install/path/pdk_[soc]_[version]/packages/pdksetupenv.sh jZjnMjbjOIjdj2jf}rM(jh]ji]jj]jk]jn]ujpNjqhjr]r€Mj¡)�r�M}r‚M(jYXTLinux - /home/[user]/custom/install/path/pdk_[soc]_[version]/packages/pdksetupenv.shrƒMjZj}MjbjOIjdj¥jf}r„M(jh]ji]jj]jk]jn]ujpM®jr]r…Mj{XTLinux - /home/[user]/custom/install/path/pdk_[soc]_[version]/packages/pdksetupenv.shr†M…�r‡M}rˆM(jYjƒMjZj�Mubaubaubeubeubj[)�r‰M}rŠM(jYUjZjýLjbjOIjdjejf}r‹M(jh]ji]jj]jk]rŒMUccs-and-pdk-in-custom-pathr�Majn]rŽMh\aujpM²jqhjr]r�M(jt)�r�M}r‘M(jYXCCS and PDK in Custom Pathr’MjZj‰MjbjOIjdjxjf}r“M(jh]ji]jj]jk]jn]ujpM²jqhjr]r”Mj{XCCS and PDK in Custom Pathr•M…�r–M}r—M(jYj’MjZj�Mubaubj¡)�r˜M}r™M(jYX©The instructions provided in the `CCS and SDK RTOS in Custom Path `__ section can be used to rebuild components at the PDK level. The only difference is the PDK level setup script should be used instead of the SDK RTOS level setup script. The PDK level setup scripts are found in the following locations on Windows and Linux, respectively:jZj‰MjbjOIjdj¥jf}ršM(jh]ji]jj]jk]jn]ujpM´jqhjr]r›M(j{X!The instructions provided in the rœM…�r�M}ržM(jYX!The instructions provided in the jZj˜MubjÜ)�rŸM}r M(jYXz`CCS and SDK RTOS in Custom Path `__jf}r¡M(UnameXCCS and SDK RTOS in Custom PathjXT/index.php/Processor_SDK_RTOS_Install_In_Custom_Path#CCS_and_SDK_RTOS_in_Custom_Pathjk]jj]jh]ji]jn]ujZj˜Mjr]r¢Mj{XCCS and SDK RTOS in Custom Pathr£M…�r¤M}r¥M(jYUjZjŸMubajdjàubj{X section can be used to rebuild components at the PDK level. The only difference is the PDK level setup script should be used instead of the SDK RTOS level setup script. The PDK level setup scripts are found in the following locations on Windows and Linux, respectively:r¦M…�r§M}r¨M(jYX section can be used to rebuild components at the PDK level. The only difference is the PDK level setup script should be used instead of the SDK RTOS level setup script. The PDK level setup scripts are found in the following locations on Windows and Linux, respectively:jZj˜MubeubjC)�r©M}rªM(jYUjZj‰MjbjOIjdj`jf}r«M(jGX-jk]jj]jh]ji]jn]ujpM»jqhjr]r¬M(j/)�r­M}r®M(jYXSWindows - C:\\custom\\install\\path\\pdk_[soc]_[version]\\packages\\pdksetupenv.batjZj©MjbjOIjdj2jf}r¯M(jh]ji]jj]jk]jn]ujpNjqhjr]r°Mj¡)�r±M}r²M(jYXSWindows - C:\\custom\\install\\path\\pdk_[soc]_[version]\\packages\\pdksetupenv.batjZj­MjbjOIjdj¥jf}r³M(jh]ji]jj]jk]jn]ujpM»jr]r´Mj{XMWindows - C:\custom\install\path\pdk_[soc]_[version]\packages\pdksetupenv.batrµM…�r¶M}r·M(jYXSWindows - C:\\custom\\install\\path\\pdk_[soc]_[version]\\packages\\pdksetupenv.batjZj±Mubaubaubj/)�r¸M}r¹M(jYXVLinux - /home/[user]/custom/install/path/pdk_[soc]_[version]/packages/pdksetupenv.sh jZj©MjbjOIjdj2jf}rºM(jh]ji]jj]jk]jn]ujpNjqhjr]r»Mj¡)�r¼M}r½M(jYXTLinux - /home/[user]/custom/install/path/pdk_[soc]_[version]/packages/pdksetupenv.shr¾MjZj¸MjbjOIjdj¥jf}r¿M(jh]ji]jj]jk]jn]ujpM½jr]rÀMj{XTLinux - /home/[user]/custom/install/path/pdk_[soc]_[version]/packages/pdksetupenv.shrÁM…�rÂM}rÃM(jYj¾MjZj¼Mubaubaubeubeubeubj[)�rÄM}rÅM(jYUjZjLIjbjOIjdjejf}rÆM(jh]ji]jj]jk]rÇMUGcreating-pdk-example-test-projects-when-ccs-is-installed-to-custom-pathrÈMajn]rÉMhXaujpMÂjqhjr]rÊM(jt)�rËM}rÌM(jYXGCreating PDK Example/Test Projects When CCS is Installed to Custom PathrÍMjZjÄMjbjOIjdjxjf}rÎM(jh]ji]jj]jk]jn]ujpMÂjqhjr]rÏMj{XGCreating PDK Example/Test Projects When CCS is Installed to Custom PathrÐM…�rÑM}rÒM(jYjÍMjZjËMubaubj¡)�rÓM}rÔM(jYX·The pdkProjectCreate scripts must be modified in order to build PDK example and test projects only if CCS has been installed to a custom path. The modification is the same for both Windows and Linux. Inside the pdkProjectCreate scripts is a CCS_INSTALL_PATH variable which points to the Code Composer Studio root directory. This variable must be redefined to the new location of the CCS root directory if CCS is installed to a custom path.rÕMjZjÄMjbjOIjdj¥jf}rÖM(jh]ji]jj]jk]jn]ujpMÄjqhjr]r×Mj{X·The pdkProjectCreate scripts must be modified in order to build PDK example and test projects only if CCS has been installed to a custom path. The modification is the same for both Windows and Linux. Inside the pdkProjectCreate scripts is a CCS_INSTALL_PATH variable which points to the Code Composer Studio root directory. This variable must be redefined to the new location of the CCS root directory if CCS is installed to a custom path.rØM…�rÙM}rÚM(jYjÕMjZjÓMubaubjC)�rÛM}rÜM(jYUjZjÄMjbjOIjdj`jf}rÝM(jGX-jk]jj]jh]ji]jn]ujpMÌjqhjr]rÞMj/)�rßM}ràM(jYXWindows jZjÛMjbjOIjdj2jf}ráM(jh]ji]jj]jk]jn]ujpNjqhjr]râMj¡)�rãM}räM(jYXWindowsråMjZjßMjbjOIjdj¥jf}ræM(jh]ji]jj]jk]jn]ujpMÌjr]rçMj{XWindowsrèM…�réM}rêM(jYjåMjZjãMubaubaubaubj)�rëM}rìM(jYX?REM Install Location for CCS set CCS_INSTALL_PATH="C:\ti\ccsv6"jZjÄMjbjOIjdjjf}ríM(jöj÷jk]jj]jh]ji]jn]ujpM‰jqhjr]rîMj{X?REM Install Location for CCS set CCS_INSTALL_PATH="C:\ti\ccsv6"rïM…�rðM}rñM(jYUjZjëMubaubjC)�ròM}róM(jYUjZjÄMjbjOIjdj`jf}rôM(jGX-jk]jj]jh]ji]jn]ujpMÓjqhjr]rõMj/)�röM}r÷M(jYXLinux jZjòMjbjOIjdj2jf}røM(jh]ji]jj]jk]jn]ujpNjqhjr]rùMj¡)�rúM}rûM(jYXLinuxrüMjZjöMjbjOIjdj¥jf}rýM(jh]ji]jj]jk]jn]ujpMÓjr]rþMj{XLinuxrÿM…�rN}rN(jYjüMjZjúMubaubaubaubj)�rN}rN(jYX=# Install Location for CCS export CCS_INSTALL_PATH=~/ti/ccsv6jZjÄMjbjOIjdjjf}rN(jöj÷jk]jj]jh]ji]jn]ujpM�jqhjr]rNj{X=# Install Location for CCS export CCS_INSTALL_PATH=~/ti/ccsv6rN…�rN}rN(jYUjZjNubaubj)�r N}r N(jYXÞPrior to invoking the pdkProjectCreate script, make sure to start CCS and register the SDK RTOS components installed. Project creation will fail if the RTOS SDK components installed to the custom path have not been registered with CCS. Please see `CCS and SDK installed in different directories `__ for instructions on how to register SDK RTOS components installed to a custom path with CCSjZjÄMjbjOIjdjjf}r N(jh]ji]jj]jk]jn]ujpNjqhjr]r Nj¡)�r N}rN(jYXÞPrior to invoking the pdkProjectCreate script, make sure to start CCS and register the SDK RTOS components installed. Project creation will fail if the RTOS SDK components installed to the custom path have not been registered with CCS. Please see `CCS and SDK installed in different directories `__ for instructions on how to register SDK RTOS components installed to a custom path with CCSjZj NjbjOIjdj¥jf}rN(jh]ji]jj]jk]jn]ujpMÛjr]rN(j{X÷Prior to invoking the pdkProjectCreate script, make sure to start CCS and register the SDK RTOS components installed. Project creation will fail if the RTOS SDK components installed to the custom path have not been registered with CCS. Please see rN…�rN}rN(jYX÷Prior to invoking the pdkProjectCreate script, make sure to start CCS and register the SDK RTOS components installed. Project creation will fail if the RTOS SDK components installed to the custom path have not been registered with CCS. Please see jZj NubjÜ)�rN}rN(jYX‹`CCS and SDK installed in different directories `__jf}rN(UnameX.CCS and SDK installed in different directoriesjXV/index.php/Processor_SDK_RTOS_Setup_CCS#CCS_and_SDK_installed_in_different_directoriesjk]jj]jh]ji]jn]ujZj Njr]rNj{X.CCS and SDK installed in different directoriesrN…�rN}rN(jYUjZjNubajdjàubj{X\ for instructions on how to register SDK RTOS components installed to a custom path with CCSrN…�rN}rN(jYX\ for instructions on how to register SDK RTOS components installed to a custom path with CCSjZj Nubeubaubeubeubj[)�rN}rN(jYUjZjýjbjcjdjejf}r N(jh]ji]jj]jk]r!NU.prevent-beaglebone-board-reset-on-jtag-connectr"Najn]r#Nj$aujpK.jqhjr]r$N(jt)�r%N}r&N(jYX.Prevent BeagleBone board reset on JTAG Connectr'NjZjNjbjcjdjxjf}r(N(jh]ji]jj]jk]jn]ujpK.jqhjr]r)Nj{X.Prevent BeagleBone board reset on JTAG Connectr*N…�r+N}r,N(jYj'NjZj%Nubaubj¡)�r-N}r.N(jYX]``__r/NjZjNjbjcjdj¥jf}r0N(jh]ji]jj]jk]jn]ujpK/jqhjr]r1NjÜ)�r2N}r3N(jYj/Njf}r4N(UnameXWhttps://elinux.org/Beagleboard:BeagleBone#Board_Reset_on_JTAG_Connect.28A3.2CA4.2CA5.29r5Njj5Njk]jj]jh]ji]jn]ujZj-Njr]r6Nj{XWhttps://elinux.org/Beagleboard:BeagleBone#Board_Reset_on_JTAG_Connect.28A3.2CA4.2CA5.29r7N…�r8N}r9N(jYUjZj2Nubajdjàubaubeubj[)�r:N}r;N(jYUjZjýjbjcjdjejf}rNajn]r?NjaujpK3jqhjr]r@N(jt)�rAN}rBN(jYX"Rebuild drivers from PDK directoryrCNjZj:Njbjcjdjxjf}rDN(jh]ji]jj]jk]jn]ujpK3jqhjr]rENj{X"Rebuild drivers from PDK directoryrFN…�rGN}rHN(jYjCNjZjANubaubj¡)�rIN}rJN(jYXfRefer `Rebuilding the PDK `__ for details on rebuilding the PDK components.rKNjZj:Njbjcjdj¥jf}rLN(jh]ji]jj]jk]jn]ujpK4jqhjr]rMN(j{XRefer rNN…�rON}rPN(jYXRefer jZjINubjÜ)�rQN}rRN(jYX2`Rebuilding the PDK `__jf}rSN(UnameXRebuilding the PDKjXOverview.html#rebuild-pdkjk]jj]jh]ji]jn]ujZjINjr]rTNj{XRebuilding the PDKrUN…�rVN}rWN(jYUjZjQNubajdjàubj{X. for details on rebuilding the PDK components.rXN…�rYN}rZN(jYX. for details on rebuilding the PDK components.jZjINubeubeubeubjbjWIjÄ}r[NjAjHIsjdjejf}r\N(jh]ji]jj]jk]r]N(U(setup-ccs-for-evm-and-processor-sdk-rtosr^NjKIejn]r_N(h}jAeujpKjqhjÉ}r`NjKIjHIsjr]raN(jt)�rbN}rcN(jYX(Setup CCS for EVM and Processor-SDK RTOSrdNjZjûjbjWIjdjxjf}reN(jh]ji]jj]jk]jn]ujpKjqhjr]rfNj{X(Setup CCS for EVM and Processor-SDK RTOSrgN…�rhN}riN(jYjdNjZjbNubaubjî)�rjN}rkN(jYXDhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Setup_CCSjZjûjbjWIjdjôjf}rlN(jöj÷jk]jj]jh]ji]jn]ujpKjqhjr]rmNj{XDhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Setup_CCSrnN…�roN}rpN(jYUjZjjNubaubj[)�rqN}rrN(jYUjìKjZjûjbjWIjdjejf}rsN(jh]rtNj=Jaji]jj]jk]ruNUoverviewrvNajn]ujpKjqhjr]rwN(jt)�rxN}ryN(jYXOverviewrzNjZjqNjbjWIjdjxjf}r{N(jh]ji]jj]jk]jn]ujpKjqhjr]r|Nj{XOverviewr}N…�r~N}rN(jYjzNjZjxNubaubj¡)�r€N}r�N(jYXkThis page provides information on configuring CCS to work with both the EVM and the Processor-SDK for RTOS.r‚NjZjqNjbjWIjdj¥jf}rƒN(jh]ji]jj]jk]jn]ujpK jqhjr]r„Nj{XkThis page provides information on configuring CCS to work with both the EVM and the Processor-SDK for RTOS.r…N…�r†N}r‡N(jYj‚NjZj€NubaubeubjùeubjbjWIjdjejf}rˆN(jh]ji]jj]jk]r‰NUdiscovering-sdk-productsrŠNajn]r‹Nh"aujpK jqhjr]rŒN(jt)�r�N}rŽN(jYXDiscovering SDK productsr�NjZjùjbjWIjdjxjf}r�N(jh]ji]jj]jk]jn]ujpK jqhjr]r‘Nj{XDiscovering SDK productsr’N…�r“N}r”N(jYj�NjZj�Nubaubj÷j[)�r•N}r–N(jYUjZjùjbjWIjdjejf}r—N(jh]ji]jj]jk]r˜NU.ccs-and-sdk-installed-in-different-directoriesr™Najn]ršNh¥aujpKjqhjr]r›N(jt)�rœN}r�N(jYX.CCS and SDK installed in different directoriesržNjZj•NjbjWIjdjxjf}rŸN(jh]ji]jj]jk]jn]ujpKjqhjr]r Nj{X.CCS and SDK installed in different directoriesr¡N…�r¢N}r£N(jYjžNjZjœNubaubj¡)�r¤N}r¥N(jYXLIf you chose to install the SDK package in a different folder from where CCS is installed (e.g. C:\\TEMP\\RTOS-SDK\\am57x), then you will need to add the path to the search path for CCS to locate the new packages. The screenshots below demonstrate the process to setup the CCS environment; the sequence for a Linux host is the same.jZj•NjbjWIjdj¥jf}r¦N(jh]ji]jj]jk]jn]ujpKjqhjr]r§Nj{XIIf you chose to install the SDK package in a different folder from where CCS is installed (e.g. C:\TEMP\RTOS-SDK\am57x), then you will need to add the path to the search path for CCS to locate the new packages. The screenshots below demonstrate the process to setup the CCS environment; the sequence for a Linux host is the same.r¨N…�r©N}rªN(jYXLIf you chose to install the SDK package in a different folder from where CCS is installed (e.g. C:\\TEMP\\RTOS-SDK\\am57x), then you will need to add the path to the search path for CCS to locate the new packages. The screenshots below demonstrate the process to setup the CCS environment; the sequence for a Linux host is the same.jZj¤Nubaubj[)�r«N}r¬N(jYUjZj•NjbjWIjdjejf}r­N(jh]ji]jj]jk]r®NUgo-to-product-preferencer¯Najn]r°NhÀaujpK!jqhjr]r±N(jt)�r²N}r³N(jYXGo to product preferencer´NjZj«NjbjWIjdjxjf}rµN(jh]ji]jj]jk]jn]ujpK!jqhjr]r¶Nj{XGo to product preferencer·N…�r¸N}r¹N(jYj´NjZj²Nubaubj¡)�rºN}r»N(jYX)From CCS, select "Window -> Preferences":r¼NjZj«NjbjWIjdj¥jf}r½N(jh]ji]jj]jk]jn]ujpK#jqhjr]r¾Nj{X)From CCS, select "Window -> Preferences":r¿N…�rÀN}rÁN(jYj¼NjZjºNubaubjB)�rÂN}rÃN(jYX9.. Image:: ../images/CCS-GP57x-EVM-Custom-Preferences.pngrÄNjZj«NjbjWIjdjEjf}rÅN(UuriX3rtos/../images/CCS-GP57x-EVM-Custom-Preferences.pngrÆNjk]jj]jh]ji]jH}rÇNU*jÆNsjn]ujpK%jqhjr]ubjZ)�rÈN}rÉN(jYUjZj«NjbjWIjdj]jf}rÊN(jh]ji]jj]jk]jn]ujpK&jqhjr]rËNj`)�rÌN}rÍN(jYUjcKjZjÈNjbjWIjdjpjf}rÎN(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubj[)�rÏN}rÐN(jYUjZj•NjbjWIjdjejf}rÑN(jh]ji]jj]jk]rÒNUenter-path-to-sdkrÓNajn]rÔNj/aujpK(jqhjr]rÕN(jt)�rÖN}r×N(jYXEnter path to SDKrØNjZjÏNjbjWIjdjxjf}rÙN(jh]ji]jj]jk]jn]ujpK(jqhjr]rÚNj{XEnter path to SDKrÛN…�rÜN}rÝN(jYjØNjZjÖNubaubj¡)�rÞN}rßN(jYXžIn the Preferences window, select "Code Composer Studio -> RTSC -> Products" in the panel on the left. Then, press the "Add" button on the panel on the right:ràNjZjÏNjbjWIjdj¥jf}ráN(jh]ji]jj]jk]jn]ujpK*jqhjr]râNj{XžIn the Preferences window, select "Code Composer Studio -> RTSC -> Products" in the panel on the left. Then, press the "Add" button on the panel on the right:rãN…�räN}råN(jYjàNjZjÞNubaubjB)�ræN}rçN(jYX1.. Image:: ../images/CCS-GP57x-EVM-Custom-Add.pngrèNjZjÏNjbjWIjdjEjf}réN(UuriX+rtos/../images/CCS-GP57x-EVM-Custom-Add.pngrêNjk]jj]jh]ji]jH}rëNU*jêNsjn]ujpK.jqhjr]ubjZ)�rìN}ríN(jYUjZjÏNjbjWIjdj]jf}rîN(jh]ji]jj]jk]jn]ujpK/jqhjr]rïNj`)�rðN}rñN(jYUjcKjZjìNjbjWIjdjpjf}ròN(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubj[)�róN}rôN(jYUjZj•NjbjWIjdjejf}rõN(jh]ji]jj]jk]röNUverify-componentsr÷Najn]røNhaujpK1jqhjr]rùN(jt)�rúN}rûN(jYXVerify componentsrüNjZjóNjbjWIjdjxjf}rýN(jh]ji]jj]jk]jn]ujpK1jqhjr]rþNj{XVerify componentsrÿN…�rO}rO(jYjüNjZjúNubaubj¡)�rO}rO(jYXnNext, verify the newly discovered products. If everything is correct, press the "Finish" button on the bottom:rOjZjóNjbjWIjdj¥jf}rO(jh]ji]jj]jk]jn]ujpK3jqhjr]rOj{XnNext, verify the newly discovered products. If everything is correct, press the "Finish" button on the bottom:rO…�rO}r O(jYjOjZjOubaubjB)�r O}r O(jYX4.. Image:: ../images/CCS-GP57x-EVM-Custom-Finish.pngr OjZjóNjbjWIjdjEjf}r O(UuriX.rtos/../images/CCS-GP57x-EVM-Custom-Finish.pngrOjk]jj]jh]ji]jH}rOU*jOsjn]ujpK6jqhjr]ubjZ)�rO}rO(jYUjZjóNjbjWIjdj]jf}rO(jh]ji]jj]jk]jn]ujpK7jqhjr]rOj`)�rO}rO(jYUjcKjZjOjbjWIjdjpjf}rO(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubj[)�rO}rO(jYUjZj•NjbjWIjdjejf}rO(jh]ji]jj]jk]rOU restart-ccsrOajn]rOjLaujpK9jqhjr]rO(jt)�rO}rO(jYX Restart CCSr OjZjOjbjWIjdjxjf}r!O(jh]ji]jj]jk]jn]ujpK9jqhjr]r"Oj{X Restart CCSr#O…�r$O}r%O(jYj OjZjOubaubj¡)�r&O}r'O(jYXsWhen prompted, restart CCS for changes to take effect. You will see newly discovered products from the custom path.r(OjZjOjbjWIjdj¥jf}r)O(jh]ji]jj]jk]jn]ujpK;jqhjr]r*Oj{XsWhen prompted, restart CCS for changes to take effect. You will see newly discovered products from the custom path.r+O…�r,O}r-O(jYj(OjZj&OubaubjB)�r.O}r/O(jYX5.. Image:: ../images/CCS-GP57x-EVM-Custom-Confirm.pngr0OjZjOjbjWIjdjEjf}r1O(UuriX/rtos/../images/CCS-GP57x-EVM-Custom-Confirm.pngr2Ojk]jj]jh]ji]jH}r3OU*j2Osjn]ujpK>jqhjr]ubjZ)�r4O}r5O(jYUjZjOjbjWIjdj]jf}r6O(jh]ji]jj]jk]jn]ujpK?jqhjr]r7Oj`)�r8O}r9O(jYUjcKjZj4OjbjWIjdjpjf}r:O(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubeubj[)�r;O}rOUBinstall-latest-emulation-package-and-sitara-device-support-packager?Oajn]r@OhÃaujpKBjqhjr]rAO(jt)�rBO}rCO(jYXBInstall Latest Emulation Package and Sitara Device Support PackagerDOjZj;OjbjWIjdjxjf}rEO(jh]ji]jj]jk]jn]ujpKBjqhjr]rFOj{XBInstall Latest Emulation Package and Sitara Device Support PackagerGO…�rHO}rIO(jYjDOjZjBOubaubj¡)�rJO}rKO(jYXv1. In CCS, navigate to Help -> Check for Updates and select "Sitara device support" and "TI Emulators" and click Next.rLOjZj;OjbjWIjdj¥jf}rMO(jh]ji]jj]jk]jn]ujpKCjqhjr]rNOj{Xv1. In CCS, navigate to Help -> Check for Updates and select "Sitara device support" and "TI Emulators" and click Next.rOO…�rPO}rQO(jYjLOjZjJOubaubj=)�rRO}rSO(jYUjZj;OjbNjdj@jf}rTO(jh]ji]jj]jk]jn]ujpNjqhjr]rUOjB)�rVO}rWO(jYXJ.. image:: ../images/TMDX654_EVM_Hardware_Setup/CCS_Check_for_Updates.PNG jf}rXO(UuriXCrtos/../images/TMDX654_EVM_Hardware_Setup/CCS_Check_for_Updates.PNGrYOjk]jj]jh]ji]jH}rZOU*jYOsjn]ujZjROjr]jdjEubaubj¡)�r[O}r\O(jYXx2. Click "Next" again, select "I accept the terms of the license agreements" and click Finish to begin the installation.r]OjZj;OjbjWIjdj¥jf}r^O(jh]ji]jj]jk]jn]ujpKHjqhjr]r_Oj{Xx2. Click "Next" again, select "I accept the terms of the license agreements" and click Finish to begin the installation.r`O…�raO}rbO(jYj]OjZj[Oubaubj=)�rcO}rdO(jYUjZj;OjbNjdj@jf}reO(jh]ji]jj]jk]jn]ujpNjqhjr]rfOjB)�rgO}rhO(jYXJ.. image:: ../images/TMDX654_EVM_Hardware_Setup/CCS_Updating_Software.png jf}riO(UuriXCrtos/../images/TMDX654_EVM_Hardware_Setup/CCS_Updating_Software.pngrjOjk]jj]jh]ji]jH}rkOU*jjOsjn]ujZjcOjr]jdjEubaubj¡)�rlO}rmO(jYX…3. You may be prompted to restart CCS for the updates to take effect. Click "Restart Now" when prompted to complete the installation.rnOjZj;OjbjWIjdj¥jf}roO(jh]ji]jj]jk]jn]ujpKMjqhjr]rpOj{X…3. You may be prompted to restart CCS for the updates to take effect. Click "Restart Now" when prompted to complete the installation.rqO…�rrO}rsO(jYjnOjZjlOubaubeubj[)�rtO}ruO(jYUjZjùjbjWIjdjejf}rvO(jh]ji]jj]jk]rwOU(create-target-configuration-file-for-evmrxOajn]ryOhƒaujpKRjqhjr]rzO(jt)�r{O}r|O(jYX(Create Target Configuration File for EVMr}OjZjtOjbjWIjdjxjf}r~O(jh]ji]jj]jk]jn]ujpKRjqhjr]rOj{X(Create Target Configuration File for EVMr€O…�r�O}r‚O(jYj}OjZj{Oubaubj¡)�rƒO}r„O(jYX†In CCS, you need to create a *Target Configuration* for your EVM to be able to connect to the target. This configuration defines your:jZjtOjbjWIjdj¥jf}r…O(jh]ji]jj]jk]jn]ujpKTjqhjr]r†O(j{XIn CCS, you need to create a r‡O…�rˆO}r‰O(jYXIn CCS, you need to create a jZjƒOubjŸ')�rŠO}r‹O(jYX*Target Configuration*jf}rŒO(jh]ji]jj]jk]jn]ujZjƒOjr]r�Oj{XTarget ConfigurationrŽO…�r�O}r�O(jYUjZjŠOubajdj§'ubj{XS for your EVM to be able to connect to the target. This configuration defines your:r‘O…�r’O}r“O(jYXS for your EVM to be able to connect to the target. This configuration defines your:jZjƒOubeubjC)�r”O}r•O(jYUjZjtOjbjWIjdj`jf}r–O(jGX-jk]jj]jh]ji]jn]ujpKWjqhjr]r—O(j/)�r˜O}r™O(jYX)Connection to the target (XDS, FET, etc.)ršOjZj”OjbjWIjdj2jf}r›O(jh]ji]jj]jk]jn]ujpNjqhjr]rœOj¡)�r�O}ržO(jYjšOjZj˜OjbjWIjdj¥jf}rŸO(jh]ji]jj]jk]jn]ujpKWjr]r Oj{X)Connection to the target (XDS, FET, etc.)r¡O…�r¢O}r£O(jYjšOjZj�Oubaubaubj/)�r¤O}r¥O(jYX1Target device (AM437x GP EVM, AM57x GP EVM, etc.)r¦OjZj”OjbjWIjdj2jf}r§O(jh]ji]jj]jk]jn]ujpNjqhjr]r¨Oj¡)�r©O}rªO(jYj¦OjZj¤OjbjWIjdj¥jf}r«O(jh]ji]jj]jk]jn]ujpKXjr]r¬Oj{X1Target device (AM437x GP EVM, AM57x GP EVM, etc.)r­O…�r®O}r¯O(jYj¦OjZj©Oubaubaubj/)�r°O}r±O(jYXŸGEL file for hardware initialization. A GEL file is basically a “batch fileâ€� that sets up the CCS debug environment including memory map, PLL, clock, etc. jZj”OjbjWIjdj2jf}r²O(jh]ji]jj]jk]jn]ujpNjqhjr]r³Oj¡)�r´O}rµO(jYXžGEL file for hardware initialization. A GEL file is basically a “batch fileâ€� that sets up the CCS debug environment including memory map, PLL, clock, etc.r¶OjZj°OjbjWIjdj¥jf}r·O(jh]ji]jj]jk]jn]ujpKYjr]r¸Oj{XžGEL file for hardware initialization. A GEL file is basically a “batch fileâ€� that sets up the CCS debug environment including memory map, PLL, clock, etc.r¹O…�rºO}r»O(jYj¶OjZj´Oubaubaubeubj¡)�r¼O}r½O(jYXåCCS comes with basic configuration that can be used to configure your particular setup. In the example below, we provide details for a GP AM437x EVM; configuration information for other supported EVMs are also provided as needed.r¾OjZjtOjbjWIjdj¥jf}r¿O(jh]ji]jj]jk]jn]ujpK]jqhjr]rÀOj{XåCCS comes with basic configuration that can be used to configure your particular setup. In the example below, we provide details for a GP AM437x EVM; configuration information for other supported EVMs are also provided as needed.rÁO…�rÂO}rÃO(jYj¾OjZj¼Oubaubj¡)�rÄO}rÅO(jYX•For EVM specific instructions, refer to the **Hardware User's Guide** for your `EVM `__jZjtOjbjWIjdj¥jf}rÆO(jh]ji]jj]jk]jn]ujpKbjqhjr]rÇO(j{X,For EVM specific instructions, refer to the rÈO…�rÉO}rÊO(jYX,For EVM specific instructions, refer to the jZjÄOubjü)�rËO}rÌO(jYX**Hardware User's Guide**jf}rÍO(jh]ji]jj]jk]jn]ujZjÄOjr]rÎOj{XHardware User's GuiderÏO…�rÐO}rÑO(jYUjZjËOubajdjubj{X for your rÒO…�rÓO}rÔO(jYX for your jZjÄOubjÜ)�rÕO}rÖO(jYXF`EVM `__jf}r×O(UnameXEVMjX<index_release_specific.html#supported-platforms-and-versionsjk]jj]jh]ji]jn]ujZjÄOjr]rØOj{XEVMrÙO…�rÚO}rÛO(jYUjZjÕOubajdjàubeubj)�rÜO}rÝO(jYX¿**Note for K2G devices:** If using CCS v6.1.2 and Keystone2 device support v1.1.7, 66AK2G02 would not show up in the list of devices when creating the target configuration. This is due to an incompatibility in the XML parser in CCS v6.1.2 with the K2G device xml. In order to work-around this issue, make the change in 66AK2G02.xml as illustrated below in order to have 66AK2G02 display in the device list. This problem does not exist in CCS v6.1.3 onwards as the XML parser has been updated. :: C:\ti\ccsv6\ccs_base\common\targetdb\devices\66AK2G02.xml Line #1 to jZjtOjbjWIjdjjf}rÞO(jh]ji]jj]jk]jn]ujpNjqhjr]rßO(j¡)�ràO}ráO(jYXì**Note for K2G devices:** If using CCS v6.1.2 and Keystone2 device support v1.1.7, 66AK2G02 would not show up in the list of devices when creating the target configuration. This is due to an incompatibility in the XML parser in CCS v6.1.2 with the K2G device xml. In order to work-around this issue, make the change in 66AK2G02.xml as illustrated below in order to have 66AK2G02 display in the device list. This problem does not exist in CCS v6.1.3 onwards as the XML parser has been updated.jZjÜOjbjWIjdj¥jf}râO(jh]ji]jj]jk]jn]ujpKfjr]rãO(jü)�räO}råO(jYX**Note for K2G devices:**jf}ræO(jh]ji]jj]jk]jn]ujZjàOjr]rçOj{XNote for K2G devices:rèO…�réO}rêO(jYUjZjäOubajdjubj{XÓ If using CCS v6.1.2 and Keystone2 device support v1.1.7, 66AK2G02 would not show up in the list of devices when creating the target configuration. This is due to an incompatibility in the XML parser in CCS v6.1.2 with the K2G device xml. In order to work-around this issue, make the change in 66AK2G02.xml as illustrated below in order to have 66AK2G02 display in the device list. This problem does not exist in CCS v6.1.3 onwards as the XML parser has been updated.rëO…�rìO}ríO(jYXÓ If using CCS v6.1.2 and Keystone2 device support v1.1.7, 66AK2G02 would not show up in the list of devices when creating the target configuration. This is due to an incompatibility in the XML parser in CCS v6.1.2 with the K2G device xml. In order to work-around this issue, make the change in 66AK2G02.xml as illustrated below in order to have 66AK2G02 display in the device list. This problem does not exist in CCS v6.1.3 onwards as the XML parser has been updated.jZjàOubeubj)�rîO}rïO(jYX´C:\ti\ccsv6\ccs_base\common\targetdb\devices\66AK2G02.xml Line #1 to jZjÜOjdjjf}rðO(jöj÷jk]jj]jh]ji]jn]ujpM±jr]rñOj{X´C:\ti\ccsv6\ccs_base\common\targetdb\devices\66AK2G02.xml Line #1 to ròO…�róO}rôO(jYUjZjîOubaubeubj[)�rõO}röO(jYUjZjtOjbjWIjdjejf}r÷O(jh]ji]jj]jk]røOU"open-new-target-configuration-filerùOajn]rúOhHaujpKyjqhjr]rûO(jt)�rüO}rýO(jYX"Open new target configuration filerþOjZjõOjbjWIjdjxjf}rÿO(jh]ji]jj]jk]jn]ujpKyjqhjr]rPj{X"Open new target configuration filerP…�rP}rP(jYjþOjZjüOubaubj¡)�rP}rP(jYX<From CCS, select "File -> New -> Target Configuration File":rPjZjõOjbjWIjdj¥jf}rP(jh]ji]jj]jk]jn]ujpK{jqhjr]rPj{X<From CCS, select "File -> New -> Target Configuration File":r P…�r P}r P(jYjPjZjPubaubjB)�r P}r P(jYX2.. Image:: ../images/CCS-GP437x-EVM-New-Target.pngrPjZjõOjbjWIjdjEjf}rP(UuriX,rtos/../images/CCS-GP437x-EVM-New-Target.pngrPjk]jj]jh]ji]jH}rPU*jPsjn]ujpK}jqhjr]ubjZ)�rP}rP(jYUjZjõOjbjWIjdj]jf}rP(jh]ji]jj]jk]jn]ujpK~jqhjr]rPj`)�rP}rP(jYUjcKjZjPjbjWIjdjpjf}rP(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubj[)�rP}rP(jYUjZjtOjbjWIjdjejf}rP(jh]ji]jj]jk]rPU#select-target-configuration-optionsrPajn]rPj=aujpK€jqhjr]rP(jt)�r P}r!P(jYX#Select target configuration optionsr"PjZjPjbjWIjdjxjf}r#P(jh]ji]jj]jk]jn]ujpK€jqhjr]r$Pj{X#Select target configuration optionsr%P…�r&P}r'P(jYj"PjZj Pubaubj¡)�r(P}r)P(jYXdThe AM437x GP EVM supports embedded XDS100V2 USB Emulation through the MicroUSB AB connector. Selectr*PjZjPjbjWIjdj¥jf}r+P(jh]ji]jj]jk]jn]ujpK‚jqhjr]r,Pj{XdThe AM437x GP EVM supports embedded XDS100V2 USB Emulation through the MicroUSB AB connector. Selectr-P…�r.P}r/P(jYj*PjZj(PubaubjC)�r0P}r1P(jYUjZjPjbjWIjdj`jf}r2P(jGX-jk]jj]jh]ji]jn]ujpK…jqhjr]r3P(j/)�r4P}r5P(jYX:**Connection**: Texas Instruments XDS100v2 USB Debug Prober6PjZj0PjbjWIjdj2jf}r7P(jh]ji]jj]jk]jn]ujpNjqhjr]r8Pj¡)�r9P}r:P(jYj6PjZj4PjbjWIjdj¥jf}r;P(jh]ji]jj]jk]jn]ujpK…jr]rP(jYX**Connection**jf}r?P(jh]ji]jj]jk]jn]ujZj9Pjr]r@Pj{X ConnectionrAP…�rBP}rCP(jYUjZj=Pubajdjubj{X,: Texas Instruments XDS100v2 USB Debug ProberDP…�rEP}rFP(jYX,: Texas Instruments XDS100v2 USB Debug ProbejZj9Pubeubaubj/)�rGP}rHP(jYX**Board or Device**: EVMAM437X jZj0PjbjWIjdj2jf}rIP(jh]ji]jj]jk]jn]ujpNjqhjr]rJPj¡)�rKP}rLP(jYX**Board or Device**: EVMAM437XjZjGPjbjWIjdj¥jf}rMP(jh]ji]jj]jk]jn]ujpK†jr]rNP(jü)�rOP}rPP(jYX**Board or Device**jf}rQP(jh]ji]jj]jk]jn]ujZjKPjr]rRPj{XBoard or DevicerSP…�rTP}rUP(jYUjZjOPubajdjubj{X : EVMAM437XrVP…�rWP}rXP(jYX : EVMAM437XjZjKPubeubaubeubjB)�rYP}rZP(jYX8.. Image:: ../images/CCS-GP437x-EVM-Configure-Target.pngr[PjZjPjbjWIjdjEjf}r\P(UuriX2rtos/../images/CCS-GP437x-EVM-Configure-Target.pngr]Pjk]jj]jh]ji]jH}r^PU*j]Psjn]ujpKˆjqhjr]ubjZ)�r_P}r`P(jYUjZjPjbjWIjdj]jf}raP(jh]ji]jj]jk]jn]ujpK‰jqhjr]rbPj`)�rcP}rdP(jYUjcKjZj_PjbjWIjdjpjf}reP(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rfP}rgP(jYX**Useful Tip**rhPjZjPjbjWIjdj¥jf}riP(jh]ji]jj]jk]jn]ujpKŠjqhjr]rjPjü)�rkP}rlP(jYjhPjf}rmP(jh]ji]jj]jk]jn]ujZjfPjr]rnPj{X Useful TiproP…�rpP}rqP(jYUjZjkPubajdjubaubj¡)�rrP}rsP(jYXzIf you enter the starting numbers of your device in the **Board or Device** field, the list will show the relevant subset.jZjPjbjWIjdj¥jf}rtP(jh]ji]jj]jk]jn]ujpKŒjqhjr]ruP(j{X8If you enter the starting numbers of your device in the rvP…�rwP}rxP(jYX8If you enter the starting numbers of your device in the jZjrPubjü)�ryP}rzP(jYX**Board or Device**jf}r{P(jh]ji]jj]jk]jn]ujZjrPjr]r|Pj{XBoard or Devicer}P…�r~P}rP(jYUjZjyPubajdjubj{X/ field, the list will show the relevant subset.r€P…�r�P}r‚P(jYX/ field, the list will show the relevant subset.jZjrPubeubj¡)�rƒP}r„P(jYXcHere is a table showing configuration information for all supported EVMs in the Processor-SDK RTOS:r…PjZjPjbjWIjdj¥jf}r†P(jh]ji]jj]jk]jn]ujpK�jqhjr]r‡Pj{XcHere is a table showing configuration information for all supported EVMs in the Processor-SDK RTOS:rˆP…�r‰P}rŠP(jYj…PjZjƒPubaubjd$)�r‹P}rŒP(jYUjZjPjbjWIjdjg$jf}r�P(jh]ji]jj]jk]jn]ujpNjqhjr]rŽPjj$)�r�P}r�P(jYUjf}r‘P(jk]jj]jh]ji]jn]UcolsKujZj‹Pjr]r’P(jo$)�r“P}r”P(jYUjf}r•P(jk]jj]jh]ji]jn]UcolwidthKujZj�Pjr]jdjs$ubjo$)�r–P}r—P(jYUjf}r˜P(jk]jj]jh]ji]jn]UcolwidthKujZj�Pjr]jdjs$ubjo$)�r™P}ršP(jYUjf}r›P(jk]jj]jh]ji]jn]UcolwidthKujZj�Pjr]jdjs$ubjz$)�rœP}r�P(jYUjf}ržP(jh]ji]jj]jk]jn]ujZj�Pjr]rŸPj$)�r P}r¡P(jYUjf}r¢P(jh]ji]jj]jk]jn]ujZjœPjr]r£P(j„$)�r¤P}r¥P(jYUjf}r¦P(jh]ji]jj]jk]jn]ujZj Pjr]r§Pj¡)�r¨P}r©P(jYXEVMrªPjZj¤PjbjWIjdj¥jf}r«P(jh]ji]jj]jk]jn]ujpK“jr]r¬Pj{XEVMr­P…�r®P}r¯P(jYjªPjZj¨Pubaubajdj‘$ubj„$)�r°P}r±P(jYUjf}r²P(jh]ji]jj]jk]jn]ujZj Pjr]r³Pj¡)�r´P}rµP(jYX Connectionr¶PjZj°PjbjWIjdj¥jf}r·P(jh]ji]jj]jk]jn]ujpK“jr]r¸Pj{X Connectionr¹P…�rºP}r»P(jYj¶PjZj´Pubaubajdj‘$ubj„$)�r¼P}r½P(jYUjf}r¾P(jh]ji]jj]jk]jn]ujZj Pjr]r¿Pj¡)�rÀP}rÁP(jYXBoardrÂPjZj¼PjbjWIjdj¥jf}rÃP(jh]ji]jj]jk]jn]ujpK“jr]rÄPj{XBoardrÅP…�rÆP}rÇP(jYjÂPjZjÀPubaubajdj‘$ubejdjª$ubajdj«$ubj¬$)�rÈP}rÉP(jYUjf}rÊP(jh]ji]jj]jk]jn]ujZj�Pjr]rËP(j$)�rÌP}rÍP(jYUjf}rÎP(jh]ji]jj]jk]jn]ujZjÈPjr]rÏP(j„$)�rÐP}rÑP(jYUjf}rÒP(jh]ji]jj]jk]jn]ujZjÌPjr]rÓPj¡)�rÔP}rÕP(jYX AM65x EVMrÖPjZjÐPjbjWIjdj¥jf}r×P(jh]ji]jj]jk]jn]ujpK•jr]rØPj{X AM65x EVMrÙP…�rÚP}rÛP(jYjÖPjZjÔPubaubajdj‘$ubj„$)�rÜP}rÝP(jYUjf}rÞP(jh]ji]jj]jk]jn]ujZjÌPjr]rßPj¡)�ràP}ráP(jYX(Texas Instruments XDS110 USB Debug ProberâPjZjÜPjbjWIjdj¥jf}rãP(jh]ji]jj]jk]jn]ujpK•jr]räPj{X(Texas Instruments XDS110 USB Debug ProberåP…�ræP}rçP(jYjâPjZjàPubaubajdj‘$ubj„$)�rèP}réP(jYUjf}rêP(jh]ji]jj]jk]jn]ujZjÌPjr]rëPj¡)�rìP}ríP(jYX GPEVM_AM65xrîPjZjèPjbjWIjdj¥jf}rïP(jh]ji]jj]jk]jn]ujpK•jr]rðPj{X GPEVM_AM65xrñP…�ròP}róP(jYjîPjZjìPubaubajdj‘$ubejdjª$ubj$)�rôP}rõP(jYUjf}röP(jh]ji]jj]jk]jn]ujZjÈPjr]r÷P(j„$)�røP}rùP(jYUjf}rúP(jh]ji]jj]jk]jn]ujZjôPjr]rûPj¡)�rüP}rýP(jYX AM65x IDKrþPjZjøPjbjWIjdj¥jf}rÿP(jh]ji]jj]jk]jn]ujpKšjr]rQj{X AM65x IDKrQ…�rQ}rQ(jYjþPjZjüPubaubajdj‘$ubj„$)�rQ}rQ(jYUjf}rQ(jh]ji]jj]jk]jn]ujZjôPjr]rQj¡)�rQ}r Q(jYX(Texas Instruments XDS110 USB Debug Prober QjZjQjbjWIjdj¥jf}r Q(jh]ji]jj]jk]jn]ujpKšjr]r Qj{X(Texas Instruments XDS110 USB Debug Prober Q…�rQ}rQ(jYj QjZjQubaubajdj‘$ubj„$)�rQ}rQ(jYUjf}rQ(jh]ji]jj]jk]jn]ujZjôPjr]rQj¡)�rQ}rQ(jYX IDK_AM65xrQjZjQjbjWIjdj¥jf}rQ(jh]ji]jj]jk]jn]ujpKšjr]rQj{X IDK_AM65xrQ…�rQ}rQ(jYjQjZjQubaubajdj‘$ubejdjª$ubj$)�rQ}rQ(jYUjf}rQ(jh]ji]jj]jk]jn]ujZjÈPjr]rQ(j„$)�r Q}r!Q(jYUjf}r"Q(jh]ji]jj]jk]jn]ujZjQjr]r#Qj¡)�r$Q}r%Q(jYXGP335xr&QjZj QjbjWIjdj¥jf}r'Q(jh]ji]jj]jk]jn]ujpKŸjr]r(Qj{XGP335xr)Q…�r*Q}r+Q(jYj&QjZj$Qubaubajdj‘$ubj„$)�r,Q}r-Q(jYUjf}r.Q(jh]ji]jj]jk]jn]ujZjQjr]r/Qj¡)�r0Q}r1Q(jYXLExternal Emulator Supplied by User. EVM includes a TI 20 pin JTAG connector.r2QjZj,QjbjWIjdj¥jf}r3Q(jh]ji]jj]jk]jn]ujpKŸjr]r4Qj{XLExternal Emulator Supplied by User. EVM includes a TI 20 pin JTAG connector.r5Q…�r6Q}r7Q(jYj2QjZj0Qubaubajdj‘$ubj„$)�r8Q}r9Q(jYUjf}r:Q(jh]ji]jj]jk]jn]ujZjQjr]r;Qj¡)�rQjZj8QjbjWIjdj¥jf}r?Q(jh]ji]jj]jk]jn]ujpKŸjr]r@Qj{X EVMAM3358rAQ…�rBQ}rCQ(jYj>QjZjRjZj8RjbjWIjdj¥jf}r?R(jh]ji]jj]jk]jn]ujpK¾jr]r@Rj{XX15rAR…�rBR}rCR(jYj>RjZjS}r?S(jYj:SjZj8Subaubajdj‘$ubj„$)�r@S}rAS(jYUjf}rBS(jh]ji]jj]jk]jn]ujZj$Sjr]rCSj¡)�rDS}rES(jYX TCI6630K2LrFSjZj@SjbjWIjdj¥jf}rGS(jh]ji]jj]jk]jn]ujpKßjr]rHSj{X TCI6630K2LrIS…�rJS}rKS(jYjFSjZjDSubaubajdj‘$ubejdjª$ubj$)�rLS}rMS(jYUjf}rNS(jh]ji]jj]jk]jn]ujZjÈPjr]rOS(j„$)�rPS}rQS(jYUjf}rRS(jh]ji]jj]jk]jn]ujZjLSjr]rSSj¡)�rTS}rUS(jYX K2G GP EVMrVSjZjPSjbjWIjdj¥jf}rWS(jh]ji]jj]jk]jn]ujpKãjr]rXSj{X K2G GP EVMrYS…�rZS}r[S(jYjVSjZjTSubaubajdj‘$ubj„$)�r\S}r]S(jYUjf}r^S(jh]ji]jj]jk]jn]ujZjLSjr]r_Sj¡)�r`S}raS(jYX0Texas Instruments XDS2xx USB Onboard Debug ProberbSjZj\SjbjWIjdj¥jf}rcS(jh]ji]jj]jk]jn]ujpKãjr]rdSj{X0Texas Instruments XDS2xx USB Onboard Debug ProbereS…�rfS}rgS(jYjbSjZj`Subaubajdj‘$ubj„$)�rhS}riS(jYUjf}rjS(jh]ji]jj]jk]jn]ujZjLSjr]rkSj¡)�rlS}rmS(jYX66AK2G02rnSjZjhSjbjWIjdj¥jf}roS(jh]ji]jj]jk]jn]ujpKãjr]rpSj{X66AK2G02rqS…�rrS}rsS(jYjnSjZjlSubaubajdj‘$ubejdjª$ubj$)�rtS}ruS(jYUjf}rvS(jh]ji]jj]jk]jn]ujZjÈPjr]rwS(j„$)�rxS}ryS(jYUjf}rzS(jh]ji]jj]jk]jn]ujZjtSjr]r{Sj¡)�r|S}r}S(jYX OMAPL137 EVMr~SjZjxSjbjWIjdj¥jf}rS(jh]ji]jj]jk]jn]ujpKçjr]r€Sj{X OMAPL137 EVMr�S…�r‚S}rƒS(jYj~SjZj|Subaubajdj‘$ubj„$)�r„S}r…S(jYUjf}r†S(jh]ji]jj]jk]jn]ujZjtSjr]r‡Sj¡)�rˆS}r‰S(jYX#Spectrum Digital XDS510USB EmulatorrŠSjZj„SjbjWIjdj¥jf}r‹S(jh]ji]jj]jk]jn]ujpKçjr]rŒSj{X#Spectrum Digital XDS510USB Emulatorr�S…�rŽS}r�S(jYjŠSjZjˆSubaubajdj‘$ubj„$)�r�S}r‘S(jYUjf}r’S(jh]ji]jj]jk]jn]ujZjtSjr]r“Sj¡)�r”S}r•S(jYX OMAPL137SKr–SjZj�SjbjWIjdj¥jf}r—S(jh]ji]jj]jk]jn]ujpKçjr]r˜Sj{X OMAPL137SKr™S…�ršS}r›S(jYj–SjZj”Subaubajdj‘$ubejdjª$ubj$)�rœS}r�S(jYUjf}ržS(jh]ji]jj]jk]jn]ujZjÈPjr]rŸS(j„$)�r S}r¡S(jYUjf}r¢S(jh]ji]jj]jk]jn]ujZjœSjr]r£Sj¡)�r¤S}r¥S(jYX OMAPL138 LCDKr¦SjZj SjbjWIjdj¥jf}r§S(jh]ji]jj]jk]jn]ujpKêjr]r¨Sj{X OMAPL138 LCDKr©S…�rªS}r«S(jYj¦SjZj¤Subaubajdj‘$ubj„$)�r¬S}r­S(jYUjf}r®S(jh]ji]jj]jk]jn]ujZjœSjr]r¯Sj¡)�r°S}r±S(jYXLExternal Emulator Supplied by User. EVM includes a TI 14 pin JTAG connector.r²SjZj¬SjbjWIjdj¥jf}r³S(jh]ji]jj]jk]jn]ujpKêjr]r´Sj{XLExternal Emulator Supplied by User. EVM includes a TI 14 pin JTAG connector.rµS…�r¶S}r·S(jYj²SjZj°Subaubajdj‘$ubj„$)�r¸S}r¹S(jYUjf}rºS(jh]ji]jj]jk]jn]ujZjœSjr]r»Sj¡)�r¼S}r½S(jYX OMAPL138LCDKr¾SjZj¸SjbjWIjdj¥jf}r¿S(jh]ji]jj]jk]jn]ujpKêjr]rÀSj{X OMAPL138LCDKrÁS…�rÂS}rÃS(jYj¾SjZj¼Subaubajdj‘$ubejdjª$ubejdjy%ubejdjz%ubaubjZ)�rÄS}rÅS(jYUjZjPjbjWIjdj]jf}rÆS(jh]ji]jj]jk]jn]ujpKðjqhjr]rÇSj`)�rÈS}rÉS(jYUjcKjZjÄSjbjWIjdjpjf}rÊS(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubj[)�rËS}rÌS(jYUjZjtOjbjWIjdjejf}rÍS(jh]ji]jj]jk]rÎSUsave-target-configurationrÏSajn]rÐShèaujpKòjqhjr]rÑS(jt)�rÒS}rÓS(jYXSave target configurationrÔSjZjËSjbjWIjdjxjf}rÕS(jh]ji]jj]jk]jn]ujpKòjqhjr]rÖSj{XSave target configurationr×S…�rØS}rÙS(jYjÔSjZjÒSubaubj¡)�rÚS}rÛS(jYXDNext, save the target configuration by pressing the **Save** button:rÜSjZjËSjbjWIjdj¥jf}rÝS(jh]ji]jj]jk]jn]ujpKôjqhjr]rÞS(j{X4Next, save the target configuration by pressing the rßS…�ràS}ráS(jYX4Next, save the target configuration by pressing the jZjÚSubjü)�râS}rãS(jYX**Save**jf}räS(jh]ji]jj]jk]jn]ujZjÚSjr]råSj{XSaveræS…�rçS}rèS(jYUjZjâSubajdjubj{X button:réS…�rêS}rëS(jYX button:jZjÚSubeubjB)�rìS}ríS(jYX3.. Image:: ../images/CCS-GP437x-EVM-Save-Target.pngrîSjZjËSjbjWIjdjEjf}rïS(UuriX-rtos/../images/CCS-GP437x-EVM-Save-Target.pngrðSjk]jj]jh]ji]jH}rñSU*jðSsjn]ujpKöjqhjr]ubjZ)�ròS}róS(jYUjZjËSjbjWIjdj]jf}rôS(jh]ji]jj]jk]jn]ujpK÷jqhjr]rõSj`)�röS}r÷S(jYUjcKjZjòSjbjWIjdjpjf}røS(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubj[)�rùS}rúS(jYUjZjtOjbjWIjdjejf}rûS(jh]ji]jj]jk]rüSUtest-target-configurationrýSajn]rþSjPaujpKùjqhjr]rÿS(jt)�rT}rT(jYXTest target configurationrTjZjùSjbjWIjdjxjf}rT(jh]ji]jj]jk]jn]ujpKùjqhjr]rTj{XTest target configurationrT…�rT}rT(jYjTjZjTubaubj¡)�rT}r T(jYX¬Next, test the target configuration by pressing the **Test Connection** button. This will confirm that you have successfully created an emulator connection with your board.jZjùSjbjWIjdj¥jf}r T(jh]ji]jj]jk]jn]ujpKûjqhjr]r T(j{X4Next, test the target configuration by pressing the r T…�r T}rT(jYX4Next, test the target configuration by pressing the jZjTubjü)�rT}rT(jYX**Test Connection**jf}rT(jh]ji]jj]jk]jn]ujZjTjr]rTj{XTest ConnectionrT…�rT}rT(jYUjZjTubajdjubj{Xe button. This will confirm that you have successfully created an emulator connection with your board.rT…�rT}rT(jYXe button. This will confirm that you have successfully created an emulator connection with your board.jZjTubeubjB)�rT}rT(jYX/.. Image:: ../images/AM4-GP-test-connection.pngrTjZjùSjbjWIjdjEjf}rT(UuriX)rtos/../images/AM4-GP-test-connection.pngrTjk]jj]jh]ji]jH}rTU*jTsjn]ujpKÿjqhjr]ubjZ)�rT}r T(jYUjZjùSjbjWIjdj]jf}r!T(jh]ji]jj]jk]jn]ujpMjqhjr]r"Tj`)�r#T}r$T(jYUjcKjZjTjbjWIjdjpjf}r%T(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubj[)�r&T}r'T(jYUjZjtOjbjWIjdjejf}r(T(jh]ji]jj]jk]r)TUview-target-configurationsr*Tajn]r+Tj aujpMjqhjr]r,T(jt)�r-T}r.T(jYXView target configurationsr/TjZj&TjbjWIjdjxjf}r0T(jh]ji]jj]jk]jn]ujpMjqhjr]r1Tj{XView target configurationsr2T…�r3T}r4T(jYj/TjZj-Tubaubj¡)�r5T}r6T(jYX1From CCS, select "View -> Target Configurations":r7TjZj&TjbjWIjdj¥jf}r8T(jh]ji]jj]jk]jn]ujpMjqhjr]r9Tj{X1From CCS, select "View -> Target Configurations":r:T…�r;T}rT(jYX3.. Image:: ../images/CCS-GP437x-EVM-View-Target.pngr?TjZj&TjbjWIjdjEjf}r@T(UuriX-rtos/../images/CCS-GP437x-EVM-View-Target.pngrATjk]jj]jh]ji]jH}rBTU*jATsjn]ujpMjqhjr]ubjZ)�rCT}rDT(jYUjZj&TjbjWIjdj]jf}rET(jh]ji]jj]jk]jn]ujpMjqhjr]rFTj`)�rGT}rHT(jYUjcKjZjCTjbjWIjdjpjf}rIT(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubj[)�rJT}rKT(jYUjZjtOjbjWIjdjejf}rLT(jh]ji]jj]jk]rMTUlaunch-target-configurationrNTajn]rOThYaujpM jqhjr]rPT(jt)�rQT}rRT(jYXLaunch target configurationrSTjZjJTjbjWIjdjxjf}rTT(jh]ji]jj]jk]jn]ujpM jqhjr]rUTj{XLaunch target configurationrVT…�rWT}rXT(jYjSTjZjQTubaubj¡)�rYT}rZT(jYX‰Open "User Defined" list and right click on the target configuration file that was just saved and select "Launch Selected Configuration":r[TjZjJTjbjWIjdj¥jf}r\T(jh]ji]jj]jk]jn]ujpM jqhjr]r]Tj{X‰Open "User Defined" list and right click on the target configuration file that was just saved and select "Launch Selected Configuration":r^T…�r_T}r`T(jYj[TjZjYTubaubjB)�raT}rbT(jYX5.. Image:: ../images/CCS-GP437x-EVM-Launch-Target.pngrcTjZjJTjbjWIjdjEjf}rdT(UuriX/rtos/../images/CCS-GP437x-EVM-Launch-Target.pngreTjk]jj]jh]ji]jH}rfTU*jeTsjn]ujpMjqhjr]ubjZ)�rgT}rhT(jYUjZjJTjbjWIjdj]jf}riT(jh]ji]jj]jk]jn]ujpMjqhjr]rjTj`)�rkT}rlT(jYUjcKjZjgTjbjWIjdjpjf}rmT(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubj[)�rnT}roT(jYUjZjtOjbjWIjdjejf}rpT(jh]ji]jj]jk]rqTUconnect-targetrrTajn]rsTh¶aujpMjqhjr]rtT(jt)�ruT}rvT(jYXConnect targetrwTjZjnTjbjWIjdjxjf}rxT(jh]ji]jj]jk]jn]ujpMjqhjr]ryTj{XConnect targetrzT…�r{T}r|T(jYjwTjZjuTubaubj¡)�r}T}r~T(jYXmAfter launch, you can connect to a core. For GP AM437x EVM, select **Cortex A9** and select "Connect Target":jZjnTjbjWIjdj¥jf}rT(jh]ji]jj]jk]jn]ujpMjqhjr]r€T(j{XCAfter launch, you can connect to a core. For GP AM437x EVM, select r�T…�r‚T}rƒT(jYXCAfter launch, you can connect to a core. For GP AM437x EVM, select jZj}Tubjü)�r„T}r…T(jYX **Cortex A9**jf}r†T(jh]ji]jj]jk]jn]ujZj}Tjr]r‡Tj{X Cortex A9rˆT…�r‰T}rŠT(jYUjZj„Tubajdjubj{X and select "Connect Target":r‹T…�rŒT}r�T(jYX and select "Connect Target":jZj}TubeubjB)�rŽT}r�T(jYX8.. Image:: ../images/CCS-GP437x-EVM-Connnect-Target.png jZjnTjbjWIjdjEjf}r�T(UuriX1rtos/../images/CCS-GP437x-EVM-Connnect-Target.pngr‘Tjk]jj]jh]ji]jH}r’TU*j‘Tsjn]ujpMjqhjr]ubjZ)�r“T}r”T(jYUjZjnTjbjWIjdj]jf}r•T(jh]ji]jj]jk]jn]ujpMjqhjr]r–Tj`)�r—T}r˜T(jYUjcKjZj“TjbjWIjdjpjf}r™T(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubj[)�ršT}r›T(jYUjZjtOjbjWIjdjejf}rœT(jh]ji]jj]jk]r�TUsuccessržTajn]rŸThÚaujpMjqhjr]r T(jt)�r¡T}r¢T(jYXSuccess!r£TjZjšTjbjWIjdjxjf}r¤T(jh]ji]jj]jk]jn]ujpMjqhjr]r¥Tj{XSuccess!r¦T…�r§T}r¨T(jYj£TjZj¡Tubaubj¡)�r©T}rªT(jYX×After connecting to target, check the console for status. Typically, the end of the configuration will indicate success or failure. For GP AM437x EVM, you will see the message "AM437x GP EVM Initialization is Done":r«TjZjšTjbjWIjdj¥jf}r¬T(jh]ji]jj]jk]jn]ujpMjqhjr]r­Tj{X×After connecting to target, check the console for status. Typically, the end of the configuration will indicate success or failure. For GP AM437x EVM, you will see the message "AM437x GP EVM Initialization is Done":r®T…�r¯T}r°T(jYj«TjZj©TubaubjB)�r±T}r²T(jYX2.. Image:: ../images/CCS-GP437x-EVM-Run-Target.pngr³TjZjšTjbjWIjdjEjf}r´T(UuriX,rtos/../images/CCS-GP437x-EVM-Run-Target.pngrµTjk]jj]jh]ji]jH}r¶TU*jµTsjn]ujpM!jqhjr]ubjZ)�r·T}r¸T(jYUjZjšTjbjWIjdj]jf}r¹T(jh]ji]jj]jk]jn]ujpM"jqhjr]rºTj`)�r»T}r¼T(jYUjcKjZj·TjbjWIjdjpjf}r½T(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubeubj[)�r¾T}r¿T(jYUjZjùjbjWIjdjejf}rÀT(jh]ji]jj]jk]rÁTUadditional-notes-for-am57xrÂTajn]rÃThÊaujpM$jqhjr]rÄT(jt)�rÅT}rÆT(jYXAdditional Notes for AM57xrÇTjZj¾TjbjWIjdjxjf}rÈT(jh]ji]jj]jk]jn]ujpM$jqhjr]rÉTj{XAdditional Notes for AM57xrÊT…�rËT}rÌT(jYjÇTjZjÅTubaubj[)�rÍT}rÎT(jYUjZj¾TjbjWIjdjejf}rÏT(jh]ji]jj]jk]rÐTUconnect-to-am57x-slave-coresrÑTajn]rÒTh›aujpM'jqhjr]rÓT(jt)�rÔT}rÕT(jYXConnect to AM57x Slave CoresrÖTjZjÍTjbjWIjdjxjf}r×T(jh]ji]jj]jk]jn]ujpM'jqhjr]rØTj{XConnect to AM57x Slave CoresrÙT…�rÚT}rÛT(jYjÖTjZjÔTubaubj¡)�rÜT}rÝT(jYX°After connecting to the boot master core -- typically the ARM core -- you may need to connect to a slave core in order to run code. Depending on your SOC, the slave core can berÞTjZjÍTjbjWIjdj¥jf}rßT(jh]ji]jj]jk]jn]ujpM)jqhjr]ràTj{X°After connecting to the boot master core -- typically the ARM core -- you may need to connect to a slave core in order to run code. Depending on your SOC, the slave core can beráT…�râT}rãT(jYjÞTjZjÜTubaubjC)�räT}råT(jYUjZjÍTjbjWIjdj`jf}ræT(jGX-jk]jj]jh]ji]jn]ujpM-jqhjr]rçT(j/)�rèT}réT(jYXDSP C66xrêTjZjäTjbjWIjdj2jf}rëT(jh]ji]jj]jk]jn]ujpNjqhjr]rìTj¡)�ríT}rîT(jYjêTjZjèTjbjWIjdj¥jf}rïT(jh]ji]jj]jk]jn]ujpM-jr]rðTj{XDSP C66xrñT…�ròT}róT(jYjêTjZjíTubaubaubj/)�rôT}rõT(jYXARM M4röTjZjäTjbjWIjdj2jf}r÷T(jh]ji]jj]jk]jn]ujpNjqhjr]røTj¡)�rùT}rúT(jYjöTjZjôTjbjWIjdj¥jf}rûT(jh]ji]jj]jk]jn]ujpM.jr]rüTj{XARM M4rýT…�rþT}rÿT(jYjöTjZjùTubaubaubj/)�rU}rU(jYXPRUSSrUjZjäTjbjWIjdj2jf}rU(jh]ji]jj]jk]jn]ujpNjqhjr]rUj¡)�rU}rU(jYjUjZjUjbjWIjdj¥jf}rU(jh]ji]jj]jk]jn]ujpM/jr]rUj{XPRUSSr U…�r U}r U(jYjUjZjUubaubaubj/)�r U}r U(jYXIVAHD jZjäTjbjWIjdj2jf}rU(jh]ji]jj]jk]jn]ujpNjqhjr]rUj¡)�rU}rU(jYXIVAHDrUjZj UjbjWIjdj¥jf}rU(jh]ji]jj]jk]jn]ujpM0jr]rUj{XIVAHDrU…�rU}rU(jYjUjZjUubaubaubeubj¡)�rU}rU(jYXŸTypically the slave cores will wait in reset state until the master core wakes up the slave core to run code. To connect to the slave core on AM57x, go to **Scripts** menu in CCS Debug View and under **AM572x MULTICORE Initialization** enable the corresponding sub system clock. For example, enable ``DSP11SSClkEnable_API`` for the first DSP core. After running the clock enable option, you can connect to the core.jZjÍTjbjWIjdj¥jf}rU(jh]ji]jj]jk]jn]ujpM2jqhjr]rU(j{X›Typically the slave cores will wait in reset state until the master core wakes up the slave core to run code. To connect to the slave core on AM57x, go to rU…�rU}rU(jYX›Typically the slave cores will wait in reset state until the master core wakes up the slave core to run code. To connect to the slave core on AM57x, go to jZjUubjü)�rU}r U(jYX **Scripts**jf}r!U(jh]ji]jj]jk]jn]ujZjUjr]r"Uj{XScriptsr#U…�r$U}r%U(jYUjZjUubajdjubj{X" menu in CCS Debug View and under r&U…�r'U}r(U(jYX" menu in CCS Debug View and under jZjUubjü)�r)U}r*U(jYX#**AM572x MULTICORE Initialization**jf}r+U(jh]ji]jj]jk]jn]ujZjUjr]r,Uj{XAM572x MULTICORE Initializationr-U…�r.U}r/U(jYUjZj)Uubajdjubj{X@ enable the corresponding sub system clock. For example, enable r0U…�r1U}r2U(jYX@ enable the corresponding sub system clock. For example, enable jZjUubji')�r3U}r4U(jYX``DSP11SSClkEnable_API``jf}r5U(jh]ji]jj]jk]jn]ujZjUjr]r6Uj{XDSP11SSClkEnable_APIr7U…�r8U}r9U(jYUjZj3Uubajdjq'ubj{X\ for the first DSP core. After running the clock enable option, you can connect to the core.r:U…�r;U}rU(jYX).. Image:: ../images/Multicore-Enable.jpgr?UjZjÍTjbjWIjdjEjf}r@U(UuriX#rtos/../images/Multicore-Enable.jpgrAUjk]jj]jh]ji]jH}rBUU*jAUsjn]ujpM9jqhjr]ubjZ)�rCU}rDU(jYUjZjÍTjbjWIjdj]jf}rEU(jh]ji]jj]jk]jn]ujpM:jqhjr]rFUj`)�rGU}rHU(jYUjcKjZjCUjbjWIjdjpjf}rIU(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubj[)�rJU}rKU(jYUjZj¾TjbjWIjdjejf}rLU(jh]ji]jj]jk]rMUU%timer-suspend-control-options-for-dsprNUajn]rOUhqaujpM<jqhjr]rPU(jt)�rQU}rRU(jYX%Timer Suspend Control Options for DSPrSUjZjJUjbjWIjdjxjf}rTU(jh]ji]jj]jk]jn]ujpM<jqhjr]rUUj{X%Timer Suspend Control Options for DSPrVU…�rWU}rXU(jYjSUjZjQUubaubj¡)�rYU}rZU(jYX+On AM57xx devices, all the timers on the chip have their suspend control signal routed to the A15 core. Which means that if any of the slave cores are using these timers, the timers will continue to run even when the slave core has been paused. The timer will only pause when the A15 core is halted.r[UjZjJUjbjWIjdj¥jf}r\U(jh]ji]jj]jk]jn]ujpM>jqhjr]r]Uj{X+On AM57xx devices, all the timers on the chip have their suspend control signal routed to the A15 core. Which means that if any of the slave cores are using these timers, the timers will continue to run even when the slave core has been paused. The timer will only pause when the A15 core is halted.r^U…�r_U}r`U(jYj[UjZjYUubaubj¡)�raU}rbU(jYXÊThis is confusing while debugging code on slave cores if you are relying on timer for logging, inserting delays or if the timer keeps firing interrupts even when the core is halted. One such scenario occurs with *GPtimer5* when DSP developers are using SYS/BIOS. The OS uses *GPtimer5* on the DSP and forces a frequency check to confirm the timer configuration, however the OS can't gain access to the timer due to the hook up of the suspend control signals.jZjJUjbjWIjdj¥jf}rcU(jh]ji]jj]jk]jn]ujpMDjqhjr]rdU(j{XÔThis is confusing while debugging code on slave cores if you are relying on timer for logging, inserting delays or if the timer keeps firing interrupts even when the core is halted. One such scenario occurs with reU…�rfU}rgU(jYXÔThis is confusing while debugging code on slave cores if you are relying on timer for logging, inserting delays or if the timer keeps firing interrupts even when the core is halted. One such scenario occurs with jZjaUubjŸ')�rhU}riU(jYX *GPtimer5*jf}rjU(jh]ji]jj]jk]jn]ujZjaUjr]rkUj{XGPtimer5rlU…�rmU}rnU(jYUjZjhUubajdj§'ubj{X5 when DSP developers are using SYS/BIOS. The OS uses roU…�rpU}rqU(jYX5 when DSP developers are using SYS/BIOS. The OS uses jZjaUubjŸ')�rrU}rsU(jYX *GPtimer5*jf}rtU(jh]ji]jj]jk]jn]ujZjaUjr]ruUj{XGPtimer5rvU…�rwU}rxU(jYUjZjrUubajdj§'ubj{X­ on the DSP and forces a frequency check to confirm the timer configuration, however the OS can't gain access to the timer due to the hook up of the suspend control signals.ryU…�rzU}r{U(jYX­ on the DSP and forces a frequency check to confirm the timer configuration, however the OS can't gain access to the timer due to the hook up of the suspend control signals.jZjaUubeubj¡)�r|U}r}U(jYX¼Due to this issue the SYS/BIOS developers will need to configure an additional CCS configuration check to connect the GPTimer suspend control signal to the DSP as shown in the image below:r~UjZjJUjbjWIjdj¥jf}rU(jh]ji]jj]jk]jn]ujpMLjqhjr]r€Uj{X¼Due to this issue the SYS/BIOS developers will need to configure an additional CCS configuration check to connect the GPTimer suspend control signal to the DSP as shown in the image below:r�U…�r‚U}rƒU(jYj~UjZj|UubaubjB)�r„U}r…U(jYX-.. Image:: ../images/GPtimer5_DSPConnect.png jZjJUjbjWIjdjEjf}r†U(UuriX&rtos/../images/GPtimer5_DSPConnect.pngr‡Ujk]jj]jh]ji]jH}rˆUU*j‡Usjn]ujpMQjqhjr]ubjZ)�r‰U}rŠU(jYUjZjJUjbjWIjdj]jf}r‹U(jh]ji]jj]jk]jn]ujpMRjqhjr]rŒUj`)�r�U}rŽU(jYUjcKjZj‰UjbjWIjdjpjf}r�U(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubeubjTIeubjbjWIjdjejf}r�U(jh]ji]jj]jk]r‘UU'ccs-and-sdk-installed-in-same-directoryr’Uajn]r“UhaujpKjqhjr]r”U(jt)�r•U}r–U(jYX'CCS and SDK installed in same directoryr—UjZj÷jbjWIjdjxjf}r˜U(jh]ji]jj]jk]jn]ujpKjqhjr]r™Uj{X'CCS and SDK installed in same directoryršU…�r›U}rœU(jYj—UjZj•Uubaubj¡)�r�U}ržU(jYX€After installing the Processor-SDK RTOS, start CCS and it will automatically detect the newly installed components (*products*):jZj÷jbjWIjdj¥jf}rŸU(jh]ji]jj]jk]jn]ujpKjqhjr]r U(j{XtAfter installing the Processor-SDK RTOS, start CCS and it will automatically detect the newly installed components (r¡U…�r¢U}r£U(jYXtAfter installing the Processor-SDK RTOS, start CCS and it will automatically detect the newly installed components (jZj�UubjŸ')�r¤U}r¥U(jYX *products*jf}r¦U(jh]ji]jj]jk]jn]ujZj�Ujr]r§Uj{Xproductsr¨U…�r©U}rªU(jYUjZj¤Uubajdj§'ubj{X):r«U…�r¬U}r­U(jYX):jZj�UubeubjB)�r®U}r¯U(jYX0.. Image:: ../images/CCS-discovered-products.pngr°UjZj÷jbjWIjdjEjf}r±U(UuriX*rtos/../images/CCS-discovered-products.pngr²Ujk]jj]jh]ji]jH}r³UU*j²Usjn]ujpKjqhjr]ubjZ)�r´U}rµU(jYUjZj÷jbjWIjdj]jf}r¶U(jh]ji]jj]jk]jn]ujpKjqhjr]r·Uj`)�r¸U}r¹U(jYUjcKjZj´UjbjWIjdjpjf}rºU(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubjbjWIjdj jf}r»U(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineKUtypejú ujpKjqhjr]r¼Uj¡)�r½U}r¾U(jYX?Explicit markup ends without a blank line; unexpected unindent.jf}r¿U(jh]ji]jj]jk]jn]ujZjõjr]rÀUj{X?Explicit markup ends without a blank line; unexpected unindent.rÁU…�rÂU}rÃU(jYUjZj½Uubajdj¥ubaubjV)�rÄU}rÅU(jYUjZj÷jbjWIjdj jf}rÆU(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineKUtypejú ujpKjqhjr]rÇUj¡)�rÈU}rÉU(jYX%Line block ends without a blank line.jf}rÊU(jh]ji]jj]jk]jn]ujZjÄUjr]rËUj{X%Line block ends without a blank line.rÌU…�rÍU}rÎU(jYUjZjÈUubajdj¥ubaubjV)�rÏU}rÐU(jYUjZj«NjbjWIjdj jf}rÑU(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineK&Utypejú ujpK%jqhjr]rÒUj¡)�rÓU}rÔU(jYX?Explicit markup ends without a blank line; unexpected unindent.jf}rÕU(jh]ji]jj]jk]jn]ujZjÏUjr]rÖUj{X?Explicit markup ends without a blank line; unexpected unindent.r×U…�rØU}rÙU(jYUjZjÓUubajdj¥ubaubjV)�rÚU}rÛU(jYUjZj«NjbjWIjdj jf}rÜU(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineK'Utypejú ujpK&jqhjr]rÝUj¡)�rÞU}rßU(jYX%Line block ends without a blank line.jf}ràU(jh]ji]jj]jk]jn]ujZjÚUjr]ráUj{X%Line block ends without a blank line.râU…�rãU}räU(jYUjZjÞUubajdj¥ubaubjV)�råU}ræU(jYUjZjÏNjbjWIjdj jf}rçU(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineK/Utypejú ujpK.jqhjr]rèUj¡)�réU}rêU(jYX?Explicit markup ends without a blank line; unexpected unindent.jf}rëU(jh]ji]jj]jk]jn]ujZjåUjr]rìUj{X?Explicit markup ends without a blank line; unexpected unindent.ríU…�rîU}rïU(jYUjZjéUubajdj¥ubaubjV)�rðU}rñU(jYUjZjÏNjbjWIjdj jf}ròU(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineK0Utypejú ujpK/jqhjr]róUj¡)�rôU}rõU(jYX%Line block ends without a blank line.jf}röU(jh]ji]jj]jk]jn]ujZjðUjr]r÷Uj{X%Line block ends without a blank line.røU…�rùU}rúU(jYUjZjôUubajdj¥ubaubjV)�rûU}rüU(jYUjZjóNjbjWIjdj jf}rýU(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineK7Utypejú ujpK6jqhjr]rþUj¡)�rÿU}rV(jYX?Explicit markup ends without a blank line; unexpected unindent.jf}rV(jh]ji]jj]jk]jn]ujZjûUjr]rVj{X?Explicit markup ends without a blank line; unexpected unindent.rV…�rV}rV(jYUjZjÿUubajdj¥ubaubjV)�rV}rV(jYUjZjóNjbjWIjdj jf}rV(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineK8Utypejú ujpK7jqhjr]r Vj¡)�r V}r V(jYX%Line block ends without a blank line.jf}r V(jh]ji]jj]jk]jn]ujZjVjr]r Vj{X%Line block ends without a blank line.rV…�rV}rV(jYUjZj Vubajdj¥ubaubjV)�rV}rV(jYUjZjOjbjWIjdj jf}rV(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineK?Utypejú ujpK>jqhjr]rVj¡)�rV}rV(jYX?Explicit markup ends without a blank line; unexpected unindent.jf}rV(jh]ji]jj]jk]jn]ujZjVjr]rVj{X?Explicit markup ends without a blank line; unexpected unindent.rV…�rV}rV(jYUjZjVubajdj¥ubaubjV)�rV}rV(jYUjZjõOjbjWIjdj jf}rV(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineK~Utypejú ujpK}jqhjr]rVj¡)�r V}r!V(jYX?Explicit markup ends without a blank line; unexpected unindent.jf}r"V(jh]ji]jj]jk]jn]ujZjVjr]r#Vj{X?Explicit markup ends without a blank line; unexpected unindent.r$V…�r%V}r&V(jYUjZj Vubajdj¥ubaubjV)�r'V}r(V(jYUjZjõOjbjWIjdj jf}r)V(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineKUtypejú ujpK~jqhjr]r*Vj¡)�r+V}r,V(jYX%Line block ends without a blank line.jf}r-V(jh]ji]jj]jk]jn]ujZj'Vjr]r.Vj{X%Line block ends without a blank line.r/V…�r0V}r1V(jYUjZj+Vubajdj¥ubaubjV)�r2V}r3V(jYUjZjPjbjWIjdj jf}r4V(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineK‰Utypejú ujpKˆjqhjr]r5Vj¡)�r6V}r7V(jYX?Explicit markup ends without a blank line; unexpected unindent.jf}r8V(jh]ji]jj]jk]jn]ujZj2Vjr]r9Vj{X?Explicit markup ends without a blank line; unexpected unindent.r:V…�r;V}rV(jYUjZjPjbjWIjdj jf}r?V(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineKŠUtypejú ujpK‰jqhjr]r@Vj¡)�rAV}rBV(jYX%Line block ends without a blank line.jf}rCV(jh]ji]jj]jk]jn]ujZj=Vjr]rDVj{X%Line block ends without a blank line.rEV…�rFV}rGV(jYUjZjAVubajdj¥ubaubjV)�rHV}rIV(jYUjZjPjbjWIjdj jf}rJV(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineKñUtypejú ujpKðjqhjr]rKVj¡)�rLV}rMV(jYX%Line block ends without a blank line.jf}rNV(jh]ji]jj]jk]jn]ujZjHVjr]rOVj{X%Line block ends without a blank line.rPV…�rQV}rRV(jYUjZjLVubajdj¥ubaubjV)�rSV}rTV(jYUjZjËSjbjWIjdj jf}rUV(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineK÷Utypejú ujpKöjqhjr]rVVj¡)�rWV}rXV(jYX?Explicit markup ends without a blank line; unexpected unindent.jf}rYV(jh]ji]jj]jk]jn]ujZjSVjr]rZVj{X?Explicit markup ends without a blank line; unexpected unindent.r[V…�r\V}r]V(jYUjZjWVubajdj¥ubaubjV)�r^V}r_V(jYUjZjËSjbjWIjdj jf}r`V(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineKøUtypejú ujpK÷jqhjr]raVj¡)�rbV}rcV(jYX%Line block ends without a blank line.jf}rdV(jh]ji]jj]jk]jn]ujZj^Vjr]reVj{X%Line block ends without a blank line.rfV…�rgV}rhV(jYUjZjbVubajdj¥ubaubjV)�riV}rjV(jYUjZjùSjbjWIjdj jf}rkV(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineMUtypejú ujpKÿjqhjr]rlVj¡)�rmV}rnV(jYX?Explicit markup ends without a blank line; unexpected unindent.jf}roV(jh]ji]jj]jk]jn]ujZjiVjr]rpVj{X?Explicit markup ends without a blank line; unexpected unindent.rqV…�rrV}rsV(jYUjZjmVubajdj¥ubaubjV)�rtV}ruV(jYUjZjùSjbjWIjdj jf}rvV(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineMUtypejú ujpMjqhjr]rwVj¡)�rxV}ryV(jYX%Line block ends without a blank line.jf}rzV(jh]ji]jj]jk]jn]ujZjtVjr]r{Vj{X%Line block ends without a blank line.r|V…�r}V}r~V(jYUjZjxVubajdj¥ubaubjV)�rV}r€V(jYUjZj&TjbjWIjdj jf}r�V(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineMUtypejú ujpMjqhjr]r‚Vj¡)�rƒV}r„V(jYX?Explicit markup ends without a blank line; unexpected unindent.jf}r…V(jh]ji]jj]jk]jn]ujZjVjr]r†Vj{X?Explicit markup ends without a blank line; unexpected unindent.r‡V…�rˆV}r‰V(jYUjZjƒVubajdj¥ubaubjV)�rŠV}r‹V(jYUjZj&TjbjWIjdj jf}rŒV(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineMUtypejú ujpMjqhjr]r�Vj¡)�rŽV}r�V(jYX%Line block ends without a blank line.jf}r�V(jh]ji]jj]jk]jn]ujZjŠVjr]r‘Vj{X%Line block ends without a blank line.r’V…�r“V}r”V(jYUjZjŽVubajdj¥ubaubjV)�r•V}r–V(jYUjZjJTjbjWIjdj jf}r—V(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineMUtypejú ujpMjqhjr]r˜Vj¡)�r™V}ršV(jYX?Explicit markup ends without a blank line; unexpected unindent.jf}r›V(jh]ji]jj]jk]jn]ujZj•Vjr]rœVj{X?Explicit markup ends without a blank line; unexpected unindent.r�V…�ržV}rŸV(jYUjZj™Vubajdj¥ubaubjV)�r V}r¡V(jYUjZjJTjbjWIjdj jf}r¢V(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineMUtypejú ujpMjqhjr]r£Vj¡)�r¤V}r¥V(jYX%Line block ends without a blank line.jf}r¦V(jh]ji]jj]jk]jn]ujZj Vjr]r§Vj{X%Line block ends without a blank line.r¨V…�r©V}rªV(jYUjZj¤Vubajdj¥ubaubjV)�r«V}r¬V(jYUjZjšTjbjWIjdj jf}r­V(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineM"Utypejú ujpM!jqhjr]r®Vj¡)�r¯V}r°V(jYX?Explicit markup ends without a blank line; unexpected unindent.jf}r±V(jh]ji]jj]jk]jn]ujZj«Vjr]r²Vj{X?Explicit markup ends without a blank line; unexpected unindent.r³V…�r´V}rµV(jYUjZj¯Vubajdj¥ubaubjV)�r¶V}r·V(jYUjZjšTjbjWIjdj jf}r¸V(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineM#Utypejú ujpM"jqhjr]r¹Vj¡)�rºV}r»V(jYX%Line block ends without a blank line.jf}r¼V(jh]ji]jj]jk]jn]ujZj¶Vjr]r½Vj{X%Line block ends without a blank line.r¾V…�r¿V}rÀV(jYUjZjºVubajdj¥ubaubjV)�rÁV}rÂV(jYUjZjÍTjbjWIjdj jf}rÃV(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineM:Utypejú ujpM9jqhjr]rÄVj¡)�rÅV}rÆV(jYX?Explicit markup ends without a blank line; unexpected unindent.jf}rÇV(jh]ji]jj]jk]jn]ujZjÁVjr]rÈVj{X?Explicit markup ends without a blank line; unexpected unindent.rÉV…�rÊV}rËV(jYUjZjÅVubajdj¥ubaubjV)�rÌV}rÍV(jYUjZjÍTjbjWIjdj jf}rÎV(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineM;Utypejú ujpM:jqhjr]rÏVj¡)�rÐV}rÑV(jYX%Line block ends without a blank line.jf}rÒV(jh]ji]jj]jk]jn]ujZjÌVjr]rÓVj{X%Line block ends without a blank line.rÔV…�rÕV}rÖV(jYUjZjÐVubajdj¥ubaubjV)�r×V}rØV(jYUjZjTIjbXcinternal padding after source/rtos/How_to_Guides/Host/Setup/Setup_CCS_for_EVM_and_PSDK_RTOS.rst.incrÙVjdj jf}rÚV(jh]UlevelKjk]jj]UsourcejWIji]jn]UlineMoUtypejæ ujpMqjqhjr]rÛV(j¡)�rÜV}rÝV(jYX;Content block expected for the "raw" directive; none found.jf}rÞV(jh]ji]jj]jk]jn]ujZj×Vjr]rßVj{X;Content block expected for the "raw" directive; none found.ràV…�ráV}râV(jYUjZjÜVubajdj¥ubj)�rãV}räV(jYX.. raw:: html jf}råV(jöj÷jk]jj]jh]ji]jn]ujZj×Vjr]ræVj{X.. raw:: html rçV…�rèV}réV(jYUjZjãVubajdjubeubjV)�rêV}rëV(jYUjZj9JjbjOIjdj jf}rìV(jh]UlevelKjk]jj]ríVj?JaUsourcejOIji]jn]UlineKUtypej� ujpKjqhjr]rîVj¡)�rïV}rðV(jYX+Duplicate implicit target name: "overview".jf}rñV(jh]ji]jj]jk]jn]ujZjêVjr]ròVj{X+Duplicate implicit target name: "overview".róV…�rôV}rõV(jYUjZjïVubajdj¥ubaubjV)�röV}r÷V(jYUjZjÄMjbX`internal padding after source/rtos/How_to_Guides/Host/Setup/Update_ENV_for_a_Custom_Path.rst.incrøVjdj jf}rùV(jh]UlevelKjk]jj]UsourcejOIji]jn]UlineMãUtypejæ ujpMåjqhjr]rúV(j¡)�rûV}rüV(jYX;Content block expected for the "raw" directive; none found.jf}rýV(jh]ji]jj]jk]jn]ujZjöVjr]rþVj{X;Content block expected for the "raw" directive; none found.rÿV…�rW}rW(jYUjZjûVubajdj¥ubj)�rW}rW(jYX.. raw:: html jf}rW(jöj÷jk]jj]jh]ji]jn]ujZjöVjr]rWj{X.. raw:: html rW…�rW}rW(jYUjZjWubajdjubeubjV)�r W}r W(jYUjf}r W(jh]UlevelKjk]jj]Usourcej ji]jn]UlineK Utypejú ujr]r W(j¡)�r W}rW(jYUjf}rW(jh]ji]jj]jk]jn]ujZj Wjr]rWj{XTitle underline too short.rW…�rW}rW(jYUjZj Wubajdj¥ubj)�rW}rW(jYX`RTSC Diagnostics: Understanding XDC build errors ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^jf}rW(jöj÷jk]jj]jh]ji]jn]ujZj Wjr]rWj{X`RTSC Diagnostics: Understanding XDC build errors ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^rW…�rW}rW(jYUjZjWubajdjubejdj ubjV)�rW}rW(jYUjZjijbj jdj jf}rW(jh]UlevelKjk]jj]Usourcej ji]jn]UlineK Utypejú ujpK jqhjr]rW(j¡)�rW}r W(jYXTitle underline too short.jf}r!W(jh]ji]jj]jk]jn]ujZjWjr]r"Wj{XTitle underline too short.r#W…�r$W}r%W(jYUjZjWubajdj¥ubj)�r&W}r'W(jYX`RTSC Diagnostics: Understanding XDC build errors ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^jf}r(W(jöj÷jk]jj]jh]ji]jn]ujZjWjr]r)Wj{X`RTSC Diagnostics: Understanding XDC build errors ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^r*W…�r+W}r,W(jYUjZj&WubajdjubeubjV)�r-W}r.W(jYUjZjjbj jdj jf}r/W(jh]UlevelKjk]jj]Usourcej ji]jn]UlineK2Utypej� ujpK2jqhjr]r0Wj¡)�r1W}r2W(jYXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.jf}r3W(jh]ji]jj]jk]jn]ujZj-Wjr]r4Wj{XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.r5W…�r6W}r7W(jYUjZj1Wubajdj¥ubaubjV)�r8W}r9W(jYUjZjjbj jdj jf}r:W(jh]UlevelKjk]jj]Usourcej ji]jn]UlineKjUtypej� ujpKjjqhjr]r;Wj¡)�rW(jh]ji]jj]jk]jn]ujZj8Wjr]r?Wj{XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.r@W…�rAW}rBW(jYUjZjXj{XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.r?X…�r@X}rAX(jYUjZj;Xubajdj¥ubaubjV)�rBX}rCX(jYUjZj§jbj jdj jf}rDX(jh]UlevelKjk]jj]Usourcej ji]jn]UlineKýUtypejæ ujpKüjqhjr]rEXj¡)�rFX}rGX(jYXUnexpected indentation.jf}rHX(jh]ji]jj]jk]jn]ujZjBXjr]rIXj{XUnexpected indentation.rJX…�rKX}rLX(jYUjZjFXubajdj¥ubaubjV)�rMX}rNX(jYUjZj§jbj jdj jf}rOX(jh]UlevelKjk]jj]Usourcej ji]jn]UlineM Utypejú ujpM jqhjr]rPXj¡)�rQX}rRX(jYX=Literal block ends without a blank line; unexpected unindent.jf}rSX(jh]ji]jj]jk]jn]ujZjMXjr]rTXj{X=Literal block ends without a blank line; unexpected unindent.rUX…�rVX}rWX(jYUjZjQXubajdj¥ubaubjV)�rXX}rYX(jYUjZjùjbj jdj jf}rZX(jh]UlevelKjk]jj]Usourcej ji]jn]UlineM3Utypej� ujpM3jqhjr]r[Xj¡)�r\X}r]X(jYXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.jf}r^X(jh]ji]jj]jk]jn]ujZjXXjr]r_Xj{XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.r`X…�raX}rbX(jYUjZj\Xubajdj¥ubaubjV)�rcX}rdX(jYUjZjùjbj jdj jf}reX(jh]UlevelKjk]jj]Usourcej ji]jn]UlineM4Utypejæ ujpM3jqhjr]rfXj¡)�rgX}rhX(jYXUnexpected indentation.jf}riX(jh]ji]jj]jk]jn]ujZjcXjr]rjXj{XUnexpected indentation.rkX…�rlX}rmX(jYUjZjgXubajdj¥ubaubjV)�rnX}roX(jYUjZjùjbj jdj jf}rpX(jh]UlevelKjk]jj]Usourcej ji]jn]UlineM5Utypejú ujpM4jqhjr]rqXj¡)�rrX}rsX(jYX=Literal block ends without a blank line; unexpected unindent.jf}rtX(jh]ji]jj]jk]jn]ujZjnXjr]ruXj{X=Literal block ends without a blank line; unexpected unindent.rvX…�rwX}rxX(jYUjZjrXubajdj¥ubaubjV)�ryX}rzX(jYUjZjùjbj jdj jf}r{X(jh]UlevelKjk]jj]Usourcej ji]jn]UlineM6Utypejú ujpM5jqhjr]r|Xj¡)�r}X}r~X(jYX%Line block ends without a blank line.jf}rX(jh]ji]jj]jk]jn]ujZjyXjr]r€Xj{X%Line block ends without a blank line.r�X…�r‚X}rƒX(jYUjZj}Xubajdj¥ubaubjV)�r„X}r…X(jYUjZj<jbj jdj jf}r†X(jh]UlevelKjk]jj]Usourcej ji]jn]UlineM<Utypej� ujpM<jqhjr]r‡Xj¡)�rˆX}r‰X(jYXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.jf}rŠX(jh]ji]jj]jk]jn]ujZj„Xjr]r‹Xj{XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.rŒX…�r�X}rŽX(jYUjZjˆXubajdj¥ubaubjV)�r�X}r�X(jYUjZj<jbj jdj jf}r‘X(jh]UlevelKjk]jj]Usourcej ji]jn]UlineM=Utypejæ ujpM<jqhjr]r’Xj¡)�r“X}r”X(jYXUnexpected indentation.jf}r•X(jh]ji]jj]jk]jn]ujZj�Xjr]r–Xj{XUnexpected indentation.r—X…�r˜X}r™X(jYUjZj“Xubajdj¥ubaubjV)�ršX}r›X(jYUjZj<jbj jdj jf}rœX(jh]UlevelKjk]jj]Usourcej ji]jn]UlineM?Utypejú ujpM>jqhjr]r�Xj¡)�ržX}rŸX(jYX=Literal block ends without a blank line; unexpected unindent.jf}r X(jh]ji]jj]jk]jn]ujZjšXjr]r¡Xj{X=Literal block ends without a blank line; unexpected unindent.r¢X…�r£X}r¤X(jYUjZjžXubajdj¥ubaubjV)�r¥X}r¦X(jYUjZj<jbj jdj jf}r§X(jh]UlevelKjk]jj]Usourcej ji]jn]UlineM@Utypejú ujpM?jqhjr]r¨Xj¡)�r©X}rªX(jYX%Line block ends without a blank line.jf}r«X(jh]ji]jj]jk]jn]ujZj¥Xjr]r¬Xj{X%Line block ends without a blank line.r­X…�r®X}r¯X(jYUjZj©Xubajdj¥ubaubjV)�r°X}r±X(jYUjZj<jbj jdj jf}r²X(jh]UlevelKjk]jj]Usourcej ji]jn]UlineMFUtypej� ujpMFjqhjr]r³Xj¡)�r´X}rµX(jYXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.jf}r¶X(jh]ji]jj]jk]jn]ujZj°Xjr]r·Xj{XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.r¸X…�r¹X}rºX(jYUjZj´Xubajdj¥ubaubjV)�r»X}r¼X(jYUjZj<jbj jdj jf}r½X(jh]UlevelKjk]jj]Usourcej ji]jn]UlineMGUtypejæ ujpMFjqhjr]r¾Xj¡)�r¿X}rÀX(jYXUnexpected indentation.jf}rÁX(jh]ji]jj]jk]jn]ujZj»Xjr]rÂXj{XUnexpected indentation.rÃX…�rÄX}rÅX(jYUjZj¿Xubajdj¥ubaubjV)�rÆX}rÇX(jYUjZj<jbj jdj jf}rÈX(jh]UlevelKjk]jj]Usourcej ji]jn]UlineMIUtypejú ujpMHjqhjr]rÉXj¡)�rÊX}rËX(jYX=Literal block ends without a blank line; unexpected unindent.jf}rÌX(jh]ji]jj]jk]jn]ujZjÆXjr]rÍXj{X=Literal block ends without a blank line; unexpected unindent.rÎX…�rÏX}rÐX(jYUjZjÊXubajdj¥ubaubjV)�rÑX}rÒX(jYUjZjžjbj jdj jf}rÓX(jh]UlevelKjk]jj]Usourcej ji]jn]UlineMSUtypej� ujpMSjqhjr]rÔXj¡)�rÕX}rÖX(jYXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.jf}r×X(jh]ji]jj]jk]jn]ujZjÑXjr]rØXj{XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.rÙX…�rÚX}rÛX(jYUjZjÕXubajdj¥ubaubjV)�rÜX}rÝX(jYUjZjžjbj jdj jf}rÞX(jh]UlevelKjk]jj]Usourcej ji]jn]UlineMTUtypejæ ujpMSjqhjr]rßXj¡)�ràX}ráX(jYXUnexpected indentation.jf}râX(jh]ji]jj]jk]jn]ujZjÜXjr]rãXj{XUnexpected indentation.räX…�råX}ræX(jYUjZjàXubajdj¥ubaubjV)�rçX}rèX(jYUjZjžjbj jdj jf}réX(jh]UlevelKjk]jj]Usourcej ji]jn]UlineMWUtypejú ujpMVjqhjr]rêXj¡)�rëX}rìX(jYX=Literal block ends without a blank line; unexpected unindent.jf}ríX(jh]ji]jj]jk]jn]ujZjçXjr]rîXj{X=Literal block ends without a blank line; unexpected unindent.rïX…�rðX}rñX(jYUjZjëXubajdj¥ubaubjV)�ròX}róX(jYUjZjžjbj jdj jf}rôX(jh]UlevelKjk]jj]Usourcej ji]jn]UlineMXUtypejú ujpMWjqhjr]rõXj¡)�röX}r÷X(jYX%Line block ends without a blank line.jf}røX(jh]ji]jj]jk]jn]ujZjòXjr]rùXj{X%Line block ends without a blank line.rúX…�rûX}rüX(jYUjZjöXubajdj¥ubaubjV)�rýX}rþX(jYUjZjÊjbj jdj jf}rÿX(jh]UlevelKjk]jj]Usourcej ji]jn]UlineM]Utypej� ujpM]jqhjr]rYj¡)�rY}rY(jYXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.jf}rY(jh]ji]jj]jk]jn]ujZjýXjr]rYj{XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.rY…�rY}rY(jYUjZjYubajdj¥ubaubjV)�rY}r Y(jYUjZjÊjbj jdj jf}r Y(jh]UlevelKjk]jj]Usourcej ji]jn]UlineM^Utypejæ ujpM]jqhjr]r Yj¡)�r Y}r Y(jYXUnexpected indentation.jf}rY(jh]ji]jj]jk]jn]ujZjYjr]rYj{XUnexpected indentation.rY…�rY}rY(jYUjZj Yubajdj¥ubaubjV)�rY}rY(jYUjZjÊjbj jdj jf}rY(jh]UlevelKjk]jj]Usourcej ji]jn]UlineM_Utypejú ujpM^jqhjr]rYj¡)�rY}rY(jYX=Literal block ends without a blank line; unexpected unindent.jf}rY(jh]ji]jj]jk]jn]ujZjYjr]rYj{X=Literal block ends without a blank line; unexpected unindent.rY…�rY}rY(jYUjZjYubajdj¥ubaubjV)�rY}rY(jYUjZjÊjbj jdj jf}r Y(jh]UlevelKjk]jj]Usourcej ji]jn]UlineM`Utypejú ujpM_jqhjr]r!Yj¡)�r"Y}r#Y(jYX%Line block ends without a blank line.jf}r$Y(jh]ji]jj]jk]jn]ujZjYjr]r%Yj{X%Line block ends without a blank line.r&Y…�r'Y}r(Y(jYUjZj"Yubajdj¥ubaubjV)�r)Y}r*Y(jYUjZj jbj jdj jf}r+Y(jh]UlevelKjk]jj]Usourcej ji]jn]UlineMlUtypej� ujpMljqhjr]r,Yj¡)�r-Y}r.Y(jYXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.jf}r/Y(jh]ji]jj]jk]jn]ujZj)Yjr]r0Yj{XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.r1Y…�r2Y}r3Y(jYUjZj-Yubajdj¥ubaubjV)�r4Y}r5Y(jYUjZj jbj jdj jf}r6Y(jh]UlevelKjk]jj]Usourcej ji]jn]UlineMmUtypejæ ujpMljqhjr]r7Yj¡)�r8Y}r9Y(jYXUnexpected indentation.jf}r:Y(jh]ji]jj]jk]jn]ujZj4Yjr]r;Yj{XUnexpected indentation.rY(jYUjZj8Yubajdj¥ubaubjV)�r?Y}r@Y(jYUjZj jbj jdj jf}rAY(jh]UlevelKjk]jj]Usourcej ji]jn]UlineMoUtypejú ujpMnjqhjr]rBYj¡)�rCY}rDY(jYX=Literal block ends without a blank line; unexpected unindent.jf}rEY(jh]ji]jj]jk]jn]ujZj?Yjr]rFYj{X=Literal block ends without a blank line; unexpected unindent.rGY…�rHY}rIY(jYUjZjCYubajdj¥ubaubjV)�rJY}rKY(jYUjZjtjbj jdj jf}rLY(jh]UlevelKjk]jj]Usourcej ji]jn]UlineMˆUtypej� ujpMˆjqhjr]rMYj¡)�rNY}rOY(jYXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.jf}rPY(jh]ji]jj]jk]jn]ujZjJYjr]rQYj{XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.rRY…�rSY}rTY(jYUjZjNYubajdj¥ubaubjV)�rUY}rVY(jYUjZjtjbj jdj jf}rWY(jh]UlevelKjk]jj]Usourcej ji]jn]UlineM‰Utypejæ ujpMˆjqhjr]rXYj¡)�rYY}rZY(jYXUnexpected indentation.jf}r[Y(jh]ji]jj]jk]jn]ujZjUYjr]r\Yj{XUnexpected indentation.r]Y…�r^Y}r_Y(jYUjZjYYubajdj¥ubaubjV)�r`Y}raY(jYUjZjtjbj jdj jf}rbY(jh]UlevelKjk]jj]Usourcej ji]jn]UlineM�Utypejú ujpM�jqhjr]rcYj¡)�rdY}reY(jYX=Literal block ends without a blank line; unexpected unindent.jf}rfY(jh]ji]jj]jk]jn]ujZj`Yjr]rgYj{X=Literal block ends without a blank line; unexpected unindent.rhY…�riY}rjY(jYUjZjdYubajdj¥ubaubjV)�rkY}rlY(jYUjZjtjbj jdj jf}rmY(jh]UlevelKjk]jj]Usourcej ji]jn]UlineM‘Utypejú ujpM�jqhjr]rnYj¡)�roY}rpY(jYX%Line block ends without a blank line.jf}rqY(jh]ji]jj]jk]jn]ujZjkYjr]rrYj{X%Line block ends without a blank line.rsY…�rtY}ruY(jYUjZjoYubajdj¥ubaubjV)�rvY}rwY(jYUjZj¾jbj jdj jf}rxY(jh]UlevelKjk]jj]Usourcej ji]jn]UlineMœUtypej� ujpMœjqhjr]ryYj¡)�rzY}r{Y(jYXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.jf}r|Y(jh]ji]jj]jk]jn]ujZjvYjr]r}Yj{XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.r~Y…�rY}r€Y(jYUjZjzYubajdj¥ubaubjV)�r�Y}r‚Y(jYUjZj¾jbj jdj jf}rƒY(jh]UlevelKjk]jj]Usourcej ji]jn]UlineM�Utypejæ ujpMœjqhjr]r„Yj¡)�r…Y}r†Y(jYXUnexpected indentation.jf}r‡Y(jh]ji]jj]jk]jn]ujZj�Yjr]rˆYj{XUnexpected indentation.r‰Y…�rŠY}r‹Y(jYUjZj…Yubajdj¥ubaubjV)�rŒY}r�Y(jYUjZj¾jbj jdj jf}rŽY(jh]UlevelKjk]jj]Usourcej ji]jn]UlineM¬Utypejú ujpM«jqhjr]r�Yj¡)�r�Y}r‘Y(jYX=Literal block ends without a blank line; unexpected unindent.jf}r’Y(jh]ji]jj]jk]jn]ujZjŒYjr]r“Yj{X=Literal block ends without a blank line; unexpected unindent.r”Y…�r•Y}r–Y(jYUjZj�Yubajdj¥ubaubjV)�r—Y}r˜Y(jYUjZjjbj jdj jf}r™Y(jh]UlevelKjk]jj]Usourcej ji]jn]UlineMÝUtypejú ujpMÜjqhjr]ršYj¡)�r›Y}rœY(jYX?Explicit markup ends without a blank line; unexpected unindent.jf}r�Y(jh]ji]jj]jk]jn]ujZj—Yjr]ržYj{X?Explicit markup ends without a blank line; unexpected unindent.rŸY…�r Y}r¡Y(jYUjZj›Yubajdj¥ubaubjV)�r¢Y}r£Y(jYUjZjyjbj jdj jf}r¤Y(jh]UlevelKjk]jj]Usourcej ji]jn]UlineMïUtypej� ujpMïjqhjr]r¥Yj¡)�r¦Y}r§Y(jYXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.jf}r¨Y(jh]ji]jj]jk]jn]ujZj¢Yjr]r©Yj{XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.rªY…�r«Y}r¬Y(jYUjZj¦Yubajdj¥ubaubjV)�r­Y}r®Y(jYUjZjyjbj jdj jf}r¯Y(jh]UlevelKjk]jj]Usourcej ji]jn]UlineMðUtypejæ ujpMïjqhjr]r°Yj¡)�r±Y}r²Y(jYXUnexpected indentation.jf}r³Y(jh]ji]jj]jk]jn]ujZj­Yjr]r´Yj{XUnexpected indentation.rµY…�r¶Y}r·Y(jYUjZj±Yubajdj¥ubaubjV)�r¸Y}r¹Y(jYUjZjyjbj jdj jf}rºY(jh]UlevelKjk]r»YjÜajj]r¼YjÛaUsourcej ji]jn]UlineMîUtypejú ujpMïjqhjr]r½Yj¡)�r¾Y}r¿Y(jYX0Inline emphasis start-string without end-string.jf}rÀY(jh]ji]jj]jk]jn]ujZj¸Yjr]rÁYj{X0Inline emphasis start-string without end-string.rÂY…�rÃY}rÄY(jYUjZj¾Yubajdj¥ubaubjV)�rÅY}rÆY(jYUjZjyjbj jdj jf}rÇY(jh]UlevelKjk]jj]Usourcej ji]jn]UlineM÷Utypejú ujpMöjqhjr]rÈYj¡)�rÉY}rÊY(jYX=Literal block ends without a blank line; unexpected unindent.jf}rËY(jh]ji]jj]jk]jn]ujZjÅYjr]rÌYj{X=Literal block ends without a blank line; unexpected unindent.rÍY…�rÎY}rÏY(jYUjZjÉYubajdj¥ubaubjV)�rÐY}rÑY(jYUjZjgjbj jdj jf}rÒY(jh]UlevelKjk]jj]Usourcej ji]jn]UlineMUtypej� ujpMjqhjr]rÓYj¡)�rÔY}rÕY(jYXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.jf}rÖY(jh]ji]jj]jk]jn]ujZjÐYjr]r×Yj{XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.rØY…�rÙY}rÚY(jYUjZjÔYubajdj¥ubaubjV)�rÛY}rÜY(jYUjZjgjbj jdj jf}rÝY(jh]UlevelKjk]jj]Usourcej ji]jn]UlineMUtypejæ ujpMjqhjr]rÞYj¡)�rßY}ràY(jYXUnexpected indentation.jf}ráY(jh]ji]jj]jk]jn]ujZjÛYjr]râYj{XUnexpected indentation.rãY…�räY}råY(jYUjZjßYubajdj¥ubaubjV)�ræY}rçY(jYUjZjgjbj jdj jf}rèY(jh]UlevelKjk]jj]Usourcej ji]jn]UlineMUtypejú ujpMjqhjr]réYj¡)�rêY}rëY(jYX=Literal block ends without a blank line; unexpected unindent.jf}rìY(jh]ji]jj]jk]jn]ujZjæYjr]ríYj{X=Literal block ends without a blank line; unexpected unindent.rîY…�rïY}rðY(jYUjZjêYubajdj¥ubaubjV)�rñY}ròY(jYUjZjgjbj jdj jf}róY(jh]UlevelKjk]jj]Usourcej ji]jn]UlineMUtypejú ujpMjqhjr]rôYj¡)�rõY}röY(jYX%Line block ends without a blank line.jf}r÷Y(jh]ji]jj]jk]jn]ujZjñYjr]røYj{X%Line block ends without a blank line.rùY…�rúY}rûY(jYUjZjõYubajdj¥ubaubjV)�rüY}rýY(jYUjZjgjbj jdj jf}rþY(jh]UlevelKjk]jj]Usourcej ji]jn]UlineMUtypej� ujpMjqhjr]rÿYj¡)�rZ}rZ(jYXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.jf}rZ(jh]ji]jj]jk]jn]ujZjüYjr]rZj{XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.rZ…�rZ}rZ(jYUjZjZubajdj¥ubaubjV)�rZ}rZ(jYUjZjgjbj jdj jf}r Z(jh]UlevelKjk]jj]Usourcej ji]jn]UlineMUtypejæ ujpMjqhjr]r Zj¡)�r Z}r Z(jYXUnexpected indentation.jf}r Z(jh]ji]jj]jk]jn]ujZjZjr]rZj{XUnexpected indentation.rZ…�rZ}rZ(jYUjZj Zubajdj¥ubaubjV)�rZ}rZ(jYUjZjgjbj jdj jf}rZ(jh]UlevelKjk]jj]Usourcej ji]jn]UlineMUtypejú ujpMjqhjr]rZj¡)�rZ}rZ(jYX=Literal block ends without a blank line; unexpected unindent.jf}rZ(jh]ji]jj]jk]jn]ujZjZjr]rZj{X=Literal block ends without a blank line; unexpected unindent.rZ…�rZ}rZ(jYUjZjZubajdj¥ubaubjV)�rZ}rZ(jYUjZjÈjbjÁjdj jf}rZ(jh]UlevelKjk]jj]r ZjÎaUsourcejÁji]jn]UlineKUtypej� ujpKjqhjr]r!Zj¡)�r"Z}r#Z(jYX+Duplicate implicit target name: "overview".jf}r$Z(jh]ji]jj]jk]jn]ujZjZjr]r%Zj{X+Duplicate implicit target name: "overview".r&Z…�r'Z}r(Z(jYUjZj"Zubajdj¥ubaubjV)�r)Z}r*Z(jYUjZj-jbXeinternal padding after source/rtos/How_to_Guides/Host/Flashing_and_Boot/Flash_bootable_images.rst.incr+Zjdj jf}r,Z(jh]UlevelKjk]jj]UsourcejÁji]jn]UlineMUUtypejæ ujpMWjqhjr]r-Z(j¡)�r.Z}r/Z(jYX;Content block expected for the "raw" directive; none found.jf}r0Z(jh]ji]jj]jk]jn]ujZj)Zjr]r1Zj{X;Content block expected for the "raw" directive; none found.r2Z…�r3Z}r4Z(jYUjZj.Zubajdj¥ubj)�r5Z}r6Z(jYX.. raw:: html jf}r7Z(jöj÷jk]jj]jh]ji]jn]ujZj)Zjr]r8Zj{X.. raw:: html r9Z…�r:Z}r;Z(jYUjZj5ZubajdjubeubjV)�rZjdj jf}r?Z(jh]UlevelKjk]jj]Usourcejlji]jn]UlineMUtypejæ ujpMjqhjr]r@Z(j¡)�rAZ}rBZ(jYX;Content block expected for the "raw" directive; none found.jf}rCZ(jh]ji]jj]jk]jn]ujZj[}r?[(jYUjZj9[ubajdj¥ubaubjV)�r@[}rA[(jYUjZj¯1jbjõ!jdj jf}rB[(jh]UlevelKjk]jj]Usourcejõ!ji]jn]UlineMUtypejú ujpMjqhjr]rC[j¡)�rD[}rE[(jYX?Explicit markup ends without a blank line; unexpected unindent.jf}rF[(jh]ji]jj]jk]jn]ujZj@[jr]rG[j{X?Explicit markup ends without a blank line; unexpected unindent.rH[…�rI[}rJ[(jYUjZjD[ubajdj¥ubaubjV)�rK[}rL[(jYUjZj¯1jbjõ!jdj jf}rM[(jh]UlevelKjk]jj]Usourcejõ!ji]jn]UlineM`Utypejú ujpM_jqhjr]rN[j¡)�rO[}rP[(jYX%Line block ends without a blank line.jf}rQ[(jh]ji]jj]jk]jn]ujZjK[jr]rR[j{X%Line block ends without a blank line.rS[…�rT[}rU[(jYUjZjO[ubajdj¥ubaubjV)�rV[}rW[(jYUjZj¯1jbjõ!jdj jf}rX[(jh]UlevelKjk]jj]Usourcejõ!ji]jn]UlineM§Utypejú ujpM¦jqhjr]rY[j¡)�rZ[}r[[(jYX=Literal block ends without a blank line; unexpected unindent.jf}r\[(jh]ji]jj]jk]jn]ujZjV[jr]r][j{X=Literal block ends without a blank line; unexpected unindent.r^[…�r_[}r`[(jYUjZjZ[ubajdj¥ubaubjV)�ra[}rb[(jYUjZj¯1jbjõ!jdj jf}rc[(jh]UlevelKjk]jj]Usourcejõ!ji]jn]UlineM°Utypejú ujpM¯jqhjr]rd[j¡)�re[}rf[(jYX=Literal block ends without a blank line; unexpected unindent.jf}rg[(jh]ji]jj]jk]jn]ujZja[jr]rh[j{X=Literal block ends without a blank line; unexpected unindent.ri[…�rj[}rk[(jYUjZje[ubajdj¥ubaubjV)�rl[}rm[(jYUjZj¯1jbjõ!jdj jf}rn[(jh]UlevelKjk]jj]Usourcejõ!ji]jn]UlineM¸Utypejú ujpM·jqhjr]ro[j¡)�rp[}rq[(jYX=Literal block ends without a blank line; unexpected unindent.jf}rr[(jh]ji]jj]jk]jn]ujZjl[jr]rs[j{X=Literal block ends without a blank line; unexpected unindent.rt[…�ru[}rv[(jYUjZjp[ubajdj¥ubaubjV)�rw[}rx[(jYUjZj¯1jbjõ!jdj jf}ry[(jh]UlevelKjk]jj]Usourcejõ!ji]jn]UlineMÃUtypejú ujpMÂjqhjr]rz[j¡)�r{[}r|[(jYX=Literal block ends without a blank line; unexpected unindent.jf}r}[(jh]ji]jj]jk]jn]ujZjw[jr]r~[j{X=Literal block ends without a blank line; unexpected unindent.r[…�r€[}r�[(jYUjZj{[ubajdj¥ubaubjV)�r‚[}rƒ[(jYUjZj¯1jbjõ!jdj jf}r„[(jh]UlevelKjk]jj]Usourcejõ!ji]jn]UlineMÊUtypejú ujpMÉjqhjr]r…[j¡)�r†[}r‡[(jYX=Literal block ends without a blank line; unexpected unindent.jf}rˆ[(jh]ji]jj]jk]jn]ujZj‚[jr]r‰[j{X=Literal block ends without a blank line; unexpected unindent.rŠ[…�r‹[}rŒ[(jYUjZj†[ubajdj¥ubaubjV)�r�[}rŽ[(jYUjZj¯1jbjõ!jdj jf}r�[(jh]UlevelKjk]jj]Usourcejõ!ji]jn]UlineMÑUtypejú ujpMÐjqhjr]r�[j¡)�r‘[}r’[(jYX%Line block ends without a blank line.jf}r“[(jh]ji]jj]jk]jn]ujZj�[jr]r”[j{X%Line block ends without a blank line.r•[…�r–[}r—[(jYUjZj‘[ubajdj¥ubaubjV)�r˜[}r™[(jYUjZj¯1jbjõ!jdj jf}rš[(jh]UlevelKjk]jj]Usourcejõ!ji]jn]UlineMßUtypejú ujpMÞjqhjr]r›[j¡)�rœ[}r�[(jYX%Line block ends without a blank line.jf}rž[(jh]ji]jj]jk]jn]ujZj˜[jr]rŸ[j{X%Line block ends without a blank line.r […�r¡[}r¢[(jYUjZjœ[ubajdj¥ubaubjV)�r£[}r¤[(jYUjZj¯1jbjõ!jdj jf}r¥[(jh]UlevelKjk]jj]Usourcejõ!ji]jn]UlineMåUtypejú ujpMäjqhjr]r¦[j¡)�r§[}r¨[(jYX%Line block ends without a blank line.jf}r©[(jh]ji]jj]jk]jn]ujZj£[jr]rª[j{X%Line block ends without a blank line.r«[…�r¬[}r­[(jYUjZj§[ubajdj¥ubaubjV)�r®[}r¯[(jYUjZj¯1jbjõ!jdj jf}r°[(jh]UlevelKjk]jj]Usourcejõ!ji]jn]UlineMìUtypejú ujpMëjqhjr]r±[j¡)�r²[}r³[(jYX%Line block ends without a blank line.jf}r´[(jh]ji]jj]jk]jn]ujZj®[jr]rµ[j{X%Line block ends without a blank line.r¶[…�r·[}r¸[(jYUjZj²[ubajdj¥ubaubjV)�r¹[}rº[(jYUjZj¯1jbjõ!jdj jf}r»[(jh]UlevelKjk]jj]Usourcejõ!ji]jn]UlineMUtypejú ujpMjqhjr]r¼[j¡)�r½[}r¾[(jYX%Line block ends without a blank line.jf}r¿[(jh]ji]jj]jk]jn]ujZj¹[jr]rÀ[j{X%Line block ends without a blank line.rÁ[…�rÂ[}rÃ[(jYUjZj½[ubajdj¥ubaubjV)�rÄ[}rÅ[(jYUjZj¯1jbjõ!jdj jf}rÆ[(jh]UlevelKjk]jj]Usourcejõ!ji]jn]UlineM€Utypejú ujpMjqhjr]rÇ[j¡)�rÈ[}rÉ[(jYX%Line block ends without a blank line.jf}rÊ[(jh]ji]jj]jk]jn]ujZjÄ[jr]rË[j{X%Line block ends without a blank line.rÌ[…�rÍ[}rÎ[(jYUjZjÈ[ubajdj¥ubaubjV)�rÏ[}rÐ[(jYUjZj¯1jbjõ!jdj jf}rÑ[(jh]UlevelKjk]jj]Usourcejõ!ji]jn]UlineMµUtypejú ujpM´jqhjr]rÒ[j¡)�rÓ[}rÔ[(jYX%Line block ends without a blank line.jf}rÕ[(jh]ji]jj]jk]jn]ujZjÏ[jr]rÖ[j{X%Line block ends without a blank line.r×[…�rØ[}rÙ[(jYUjZjÓ[ubajdj¥ubaubjV)�rÚ[}rÛ[(jYUjZj¯1jbjõ!jdj jf}rÜ[(jh]UlevelKjk]jj]Usourcejõ!ji]jn]UlineM¿Utypejú ujpM¾jqhjr]rÝ[j¡)�rÞ[}rß[(jYX%Line block ends without a blank line.jf}rà[(jh]ji]jj]jk]jn]ujZjÚ[jr]rá[j{X%Line block ends without a blank line.râ[…�rã[}rä[(jYUjZjÞ[ubajdj¥ubaubjV)�rå[}ræ[(jYUjZj¯1jbjõ!jdj jf}rç[(jh]UlevelKjk]jj]Usourcejõ!ji]jn]UlineM9Utypejú ujpM8jqhjr]rè[j¡)�ré[}rê[(jYX%Line block ends without a blank line.jf}rë[(jh]ji]jj]jk]jn]ujZjå[jr]rì[j{X%Line block ends without a blank line.rí[…�rî[}rï[(jYUjZjé[ubajdj¥ubaubjV)�rð[}rñ[(jYUjZj¯1jbjõ!jdj jf}rò[(jh]UlevelKjk]jj]Usourcejõ!ji]jn]UlineMGUtypejú ujpMFjqhjr]ró[j¡)�rô[}rõ[(jYX%Line block ends without a blank line.jf}rö[(jh]ji]jj]jk]jn]ujZjð[jr]r÷[j{X%Line block ends without a blank line.rø[…�rù[}rú[(jYUjZjô[ubajdj¥ubaubjV)�rû[}rü[(jYUjZj¯1jbjõ!jdj jf}rý[(jh]UlevelKjk]jj]Usourcejõ!ji]jn]UlineMïUtypejæ ujpNjqhjr]rþ[(j¡)�rÿ[}r\(jYX2Error in "rubric" directive: no content permitted.jf}r\(jh]ji]jj]jk]jn]ujZjû[jr]r\j{X2Error in "rubric" directive: no content permitted.r\…�r\}r\(jYUjZjÿ[ubajdj¥ubj)�r\}r\(jYXÿ.. rubric:: Download the Full CCS Project :name: download-the-full-ccs-project-1 `UART_BasicExample_evmAM572x_m4ExampleProject_with_ipc.zip `__ jf}r\(jöj÷jk]jj]jh]ji]jn]ujZjû[jr]r \j{Xÿ.. rubric:: Download the Full CCS Project :name: download-the-full-ccs-project-1 `UART_BasicExample_evmAM572x_m4ExampleProject_with_ipc.zip `__ r \…�r \}r \(jYUjZj\ubajdjubeubjV)�r \}r\(jYUjZj¯1jbX�internal padding after source/rtos/How_to_Guides/Host/System_Integration/Create_DSP_and_IPU_FW_using_PDK_and_IPC_to_load_from_ARM_AM57xx.rst.incr\jdj jf}r\(jh]UlevelKjk]jj]Usourcejõ!ji]jn]UlineMôUtypejæ ujpMöjqhjr]r\(j¡)�r\}r\(jYX;Content block expected for the "raw" directive; none found.jf}r\(jh]ji]jj]jk]jn]ujZj \jr]r\j{X;Content block expected for the "raw" directive; none found.r\…�r\}r\(jYUjZj\ubajdj¥ubj)�r\}r\(jYX.. raw:: html jf}r\(jöj÷jk]jj]jh]ji]jn]ujZj \jr]r\j{X.. raw:: html r\…�r\}r\(jYUjZj\ubajdjubeubjV)�r \}r!\(jYUjZjZ>jbj:>jdj jf}r"\(jh]UlevelKjk]jj]r#\j`>aUsourcej:>ji]jn]UlineKUtypej� ujpKjqhjr]r$\j¡)�r%\}r&\(jYX/Duplicate implicit target name: "introduction".jf}r'\(jh]ji]jj]jk]jn]ujZj \jr]r(\j{X/Duplicate implicit target name: "introduction".r)\…�r*\}r+\(jYUjZj%\ubajdj¥ubaubjV)�r,\}r-\(jYUjZjMDjbj:>jdj jf}r.\(jh]UlevelKjk]jj]Usourcej:>ji]jn]UlineMUtypej� ujpMjqhjr]r/\j¡)�r0\}r1\(jYXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.jf}r2\(jh]ji]jj]jk]jn]ujZj,\jr]r3\j{XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.r4\…�r5\}r6\(jYUjZj0\ubajdj¥ubaubjV)�r7\}r8\(jYUjZjíGjbX}internal padding after source/rtos/How_to_Guides/Host/System_Integration/IPC_Debugging_Tools_and_Techniques_on_AM57xx.rst.incr9\jdj jf}r:\(jh]UlevelKjk]jj]Usourcej:>ji]jn]UlineM×Utypejæ ujpMÙjqhjr]r;\(j¡)�r<\}r=\(jYX;Content block expected for the "raw" directive; none found.jf}r>\(jh]ji]jj]jk]jn]ujZj7\jr]r?\j{X;Content block expected for the "raw" directive; none found.r@\…�rA\}rB\(jYUjZj<\ubajdj¥ubj)�rC\}rD\(jYX.. raw:: html jf}rE\(jöj÷jk]jj]jh]ji]jn]ujZj7\jr]rF\j{X.. raw:: html rG\…�rH\}rI\(jYUjZjC\ubajdjubeubjV)�rJ\}rK\(jYUjZj[)�rL\}rM\(jYUjìKjZj[)�rN\}rO\(jYUjìKjZj[)�rP\}rQ\(jYUjZj[)�rR\}rS\(jYUjZhjbjcjdjejf}rT\(jh]ji]jj]jk]rU\Uevm-hardware-setuprV\ajn]rW\hþaujpKbjqhjr]rX\(jt)�rY\}rZ\(jYXEVM Hardware Setupr[\jZjR\jbjcjdjxjf}r\\(jh]ji]jj]jk]jn]ujpKbjqhjr]r]\j{XEVM Hardware Setupr^\…�r_\}r`\(jYj[\jZjY\ubaubjî)�ra\}rb\(jYX AM65x EVMjZjR\jbjcjdjôjf}rc\(jöj÷jk]jj]jh]ji]jn]ujpKdjqhjr]rd\j{X AM65x EVMre\…�rf\}rg\(jYUjZja\ubaubjî)�rh\}ri\(jYX4====================================================jZjR\jbjcjdjôjf}rj\(jöj÷jk]jj]jh]ji]jn]ujpKejqhjr]rk\j{X4====================================================rl\…�rm\}rn\(jYUjZjh\ubaubjP\j[)�ro\}rp\(jYUjZjR\jbj�XEsource/common/EVM_Hardware_Setup/AM572x_GP_EVM_Hardware_Setup.rst.incrq\…�rr\}rs\bjdjejf}rt\(jh]ji]jj]jk]ru\Uam572x-gp-evm-hardware-setuprv\ajn]rw\jaujpKjqhjr]rx\(jt)�ry\}rz\(jYXAM572x GP EVM Hardware Setupr{\jZjo\jbjr\jdjxjf}r|\(jh]ji]jj]jk]jn]ujpKjqhjr]r}\j{XAM572x GP EVM Hardware Setupr~\…�r\}r€\(jYj{\jZjy\ubaubjè)�r�\}r‚\(jYX Descriptionrƒ\jìKjZjo\jbjr\jdjíjf}r„\(jk]r…\Uid33r†\ajj]jh]r‡\X descriptionrˆ\aji]jn]ujpNjqhjr]r‰\j{X DescriptionrŠ\…�r‹\}rŒ\(jYjƒ\jZj�\ubaubj¡)�r�\}rŽ\(jYXîThe AM572x Evaluation Module provides an affordable platform to quickly start evaluation of Sitaraâ„¢ ARM® Cortex®-A15 AM57x Processors (AM5728, AM5726, AM5718, AM5716) and accelerate development for HMI, machine vision, networking, medical imaging and many other industrial applications. It is a development platform based on the dual ARM Cortex-A15, dual C66x DSP processor that is integrated with tons of connectivity such as PCIe, SATA, HDMI, USB 3.0/2.0, Dual Gigabit Ethernet, and more.r�\jZjo\jbjr\jdj¥jf}r�\(jh]ji]jj]jk]jn]ujpK jqhjr]r‘\j{XîThe AM572x Evaluation Module provides an affordable platform to quickly start evaluation of Sitaraâ„¢ ARM® Cortex®-A15 AM57x Processors (AM5728, AM5726, AM5718, AM5716) and accelerate development for HMI, machine vision, networking, medical imaging and many other industrial applications. It is a development platform based on the dual ARM Cortex-A15, dual C66x DSP processor that is integrated with tons of connectivity such as PCIe, SATA, HDMI, USB 3.0/2.0, Dual Gigabit Ethernet, and more.r’\…�r“\}r”\(jYj�\jZj�\ubaubj¡)�r•\}r–\(jYXªThe AM572x Evaluation Module also integrates video and 3D/2D graphics acceleration, as well as a qual-core Programmable Real-time Unit (PRU) and dual ARM Cortex-M4 cores.r—\jZjo\jbjr\jdj¥jf}r˜\(jh]ji]jj]jk]jn]ujpKjqhjr]r™\j{XªThe AM572x Evaluation Module also integrates video and 3D/2D graphics acceleration, as well as a qual-core Programmable Real-time Unit (PRU) and dual ARM Cortex-M4 cores.rš\…�r›\}rœ\(jYj—\jZj•\ubaubjè)�r�\}rž\(jYXContents of the kitrŸ\jZjo\jbjr\jdjíjf}r \(jk]r¡\Ucontents-of-the-kitr¢\ajj]jh]ji]jn]r£\h[aujpNjqhjr]r¤\j{XContents of the kitr¥\…�r¦\}r§\(jYjŸ\jZj�\ubaubjB)�r¨\}r©\(jYX+.. Image:: ../../../images/EVM_modules.png jZjo\jbjr\jdjEjf}rª\(UuriX$rtos/../../../images/EVM_modules.pngr«\jk]jj]jh]ji]jH}r¬\U*j«\sjn]ujpKjqhjr]ubj¡)�r­\}r®\(jYX **Module:**r¯\jZjo\jbjr\jdj¥jf}r°\(jh]ji]jj]jk]jn]ujpKjqhjr]r±\jü)�r²\}r³\(jYj¯\jf}r´\(jh]ji]jj]jk]jn]ujZj­\jr]rµ\j{XModule:r¶\…�r·\}r¸\(jYUjZj²\ubajdjubaubjC)�r¹\}rº\(jYUjZjo\jbjr\jdj`jf}r»\(jGX-jk]jj]jh]ji]jn]ujpKjqhjr]r¼\(j/)�r½\}r¾\(jYXProcessor Moduler¿\jZj¹\jbjr\jdj2jf}rÀ\(jh]ji]jj]jk]jn]ujpNjqhjr]rÁ\j¡)�rÂ\}rÃ\(jYj¿\jZj½\jbjr\jdj¥jf}rÄ\(jh]ji]jj]jk]jn]ujpKjr]rÅ\j{XProcessor ModulerÆ\…�rÇ\}rÈ\(jYj¿\jZjÂ\ubaubaubj/)�rÉ\}rÊ\(jYX LCD ModulerË\jZj¹\jbjr\jdj2jf}rÌ\(jh]ji]jj]jk]jn]ujpNjqhjr]rÍ\j¡)�rÎ\}rÏ\(jYjË\jZjÉ\jbjr\jdj¥jf}rÐ\(jh]ji]jj]jk]jn]ujpKjr]rÑ\j{X LCD ModulerÒ\…�rÓ\}rÔ\(jYjË\jZjÎ\ubaubaubj/)�rÕ\}rÖ\(jYXCamera Module jZj¹\jbjr\jdj2jf}r×\(jh]ji]jj]jk]jn]ujpNjqhjr]rØ\j¡)�rÙ\}rÚ\(jYX Camera ModulerÛ\jZjÕ\jbjr\jdj¥jf}rÜ\(jh]ji]jj]jk]jn]ujpKjr]rÝ\j{X Camera ModulerÞ\…�rß\}rà\(jYjÛ\jZjÙ\ubaubaubeubj¡)�rá\}râ\(jYX**Other components:**rã\jZjo\jbjr\jdj¥jf}rä\(jh]ji]jj]jk]jn]ujpK!jqhjr]rå\jü)�ræ\}rç\(jYjã\jf}rè\(jh]ji]jj]jk]jn]ujZjá\jr]ré\j{XOther components:rê\…�rë\}rì\(jYUjZjæ\ubajdjubaubjC)�rí\}rî\(jYUjZjo\jbjr\jdj`jf}rï\(jGX-jk]jj]jh]ji]jn]ujpK#jqhjr]rð\(j/)�rñ\}rò\(jYXµSD card with Linux SDKró\jZjí\jbjr\jdj2jf}rô\(jh]ji]jj]jk]jn]ujpNjqhjr]rõ\j¡)�rö\}r÷\(jYjó\jZjñ\jbjr\jdj¥jf}rø\(jh]ji]jj]jk]jn]ujpK#jr]rù\j{XµSD card with Linux SDKrú\…�rû\}rü\(jYjó\jZjö\ubaubaubj/)�rý\}rþ\(jYXUSB-to-serial debug cablerÿ\jZjí\jbjr\jdj2jf}r](jh]ji]jj]jk]jn]ujpNjqhjr]r]j¡)�r]}r](jYjÿ\jZjý\jbjr\jdj¥jf}r](jh]ji]jj]jk]jn]ujpK$jr]r]j{XUSB-to-serial debug cabler]…�r]}r](jYjÿ\jZj]ubaubaubj/)�r ]}r ](jYX(HDMI cable for optional external displayr ]jZjí\jbjr\jdj2jf}r ](jh]ji]jj]jk]jn]ujpNjqhjr]r ]j¡)�r]}r](jYj ]jZj ]jbjr\jdj¥jf}r](jh]ji]jj]jk]jn]ujpK%jr]r]j{X(HDMI cable for optional external displayr]…�r]}r](jYj ]jZj]ubaubaubj/)�r]}r](jYX LCD brackets jZjí\jbjr\jdj2jf}r](jh]ji]jj]jk]jn]ujpNjqhjr]r]j¡)�r]}r](jYX LCD bracketsr]jZj]jbjr\jdj¥jf}r](jh]ji]jj]jk]jn]ujpK&jr]r]j{X LCD bracketsr]…�r]}r ](jYj]jZj]ubaubaubeubj¡)�r!]}r"](jYX**Printed documentation:**r#]jZjo\jbjr\jdj¥jf}r$](jh]ji]jj]jk]jn]ujpK(jqhjr]r%]jü)�r&]}r'](jYj#]jf}r(](jh]ji]jj]jk]jn]ujZj!]jr]r)]j{XPrinted documentation:r*]…�r+]}r,](jYUjZj&]ubajdjubaubjC)�r-]}r.](jYUjZjo\jbjr\jdj`jf}r/](jGX-jk]jj]jh]ji]jn]ujpK*jqhjr]r0]j/)�r1]}r2](jYXE`Quick start guide `__ jZj-]jbjr\jdj2jf}r3](jh]ji]jj]jk]jn]ujpNjqhjr]r4]j¡)�r5]}r6](jYXD`Quick start guide `__r7]jZj1]jbjr\jdj¥jf}r8](jh]ji]jj]jk]jn]ujpK*jr]r9]jÜ)�r:]}r;](jYj7]jf}r<](UnameXQuick start guidejX,http://www.ti.com/lit/ug/sprw275/sprw275.pdfjk]jj]jh]ji]jn]ujZj5]jr]r=]j{XQuick start guider>]…�r?]}r@](jYUjZj:]ubajdjàubaubaubaubjè)�rA]}rB](jYXEVM Layout and Key ComponentsrC]jìKjZjo\jbjr\jdjíjf}rD](jk]rE]Uid34rF]ajj]jh]rG]Xevm-layout-and-key-componentsrH]aji]jn]ujpNjqhjr]rI]j{XEVM Layout and Key ComponentsrJ]…�rK]}rL](jYjC]jZjA]ubaubjB)�rM]}rN](jYX6.. Image:: ../../../images/AM572X_GP_EVM_Overview.png jZjo\jbjr\jdjEjf}rO](UuriX/rtos/../../../images/AM572X_GP_EVM_Overview.pngrP]jk]jj]jh]ji]jH}rQ]U*jP]sjn]ujpK0jqhjr]ubjè)�rR]}rS](jYX+JTAG debug probes (aka Emulators) supportedrT]jìKjZjo\jbjr\jdjíjf}rU](jk]rV]U)jtag-debug-probes-aka-emulators-supportedrW]ajj]jh]rX]X)jtag-debug-probes-aka-emulators-supportedrY]aji]jn]ujpNjqhjr]rZ]j{X+JTAG debug probes (aka Emulators) supportedr[]…�r\]}r]](jYjT]jZjR]ubaubj¡)�r^]}r_](jYX/List of standalone JTAG debug probes supported:r`]jZjo\jbjr\jdj¥jf}ra](jh]ji]jj]jk]jn]ujpK4jqhjr]rb]j{X/List of standalone JTAG debug probes supported:rc]…�rd]}re](jYj`]jZj^]ubaubjC)�rf]}rg](jYUjZjo\jbjr\jdj`jf}rh](jGX-jk]jj]jh]ji]jn]ujpK6jqhjr]ri](j/)�rj]}rk](jYXVXDS100-class JTAG debug probes (low cost, low performance). XDS100v1 is not supported.jZjf]jbjr\jdj2jf}rl](jh]ji]jj]jk]jn]ujpNjqhjr]rm]j¡)�rn]}ro](jYXVXDS100-class JTAG debug probes (low cost, low performance). XDS100v1 is not supported.rp]jZjj]jbjr\jdj¥jf}rq](jh]ji]jj]jk]jn]ujpK6jr]rr]j{XVXDS100-class JTAG debug probes (low cost, low performance). XDS100v1 is not supported.rs]…�rt]}ru](jYjp]jZjn]ubaubaubj/)�rv]}rw](jYX,XDS200-class JTAG debug probes (recommended)rx]jZjf]jbjr\jdj2jf}ry](jh]ji]jj]jk]jn]ujpNjqhjr]rz]j¡)�r{]}r|](jYjx]jZjv]jbjr\jdj¥jf}r}](jh]ji]jj]jk]jn]ujpK8jr]r~]j{X,XDS200-class JTAG debug probes (recommended)r]…�r€]}r�](jYjx]jZj{]ubaubaubj/)�r‚]}rƒ](jYX4XDS560v2-class JTAG debug probes (high performance) jZjf]jbjr\jdj2jf}r„](jh]ji]jj]jk]jn]ujpNjqhjr]r…]j¡)�r†]}r‡](jYX3XDS560v2-class JTAG debug probes (high performance)rˆ]jZj‚]jbjr\jdj¥jf}r‰](jh]ji]jj]jk]jn]ujpK9jr]rŠ]j{X3XDS560v2-class JTAG debug probes (high performance)r‹]…�rŒ]}r�](jYjˆ]jZj†]ubaubaubeubjZ)�rŽ]}r�](jYUjZjo\jbjr\jdj]jf}r�](jh]ji]jj]jk]jn]ujpK;jqhjr]r‘]j`)�r’]}r“](jYUjcKjZjŽ]jbjr\jdjpjf}r”](jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�r•]}r–](jYX Host Driversr—]jZjo\jbjr\jdjíjf}r˜](jk]r™]U host-driversrš]ajj]jh]ji]jn]r›]h«aujpNjqhjr]rœ]j{X Host Driversr�]…�rž]}rŸ](jYj—]jZj•]ubaubj¡)�r ]}r¡](jYXgDownload and install Virtual COM Port Drivers for TTL-232R-3V3 USB to UART cable from the FTDI website:r¢]jZjo\jbjr\jdj¥jf}r£](jh]ji]jj]jk]jn]ujpK@jqhjr]r¤]j{XgDownload and install Virtual COM Port Drivers for TTL-232R-3V3 USB to UART cable from the FTDI website:r¥]…�r¦]}r§](jYj¢]jZj ]ubaubjC)�r¨]}r©](jYUjZjo\jbjr\jdj`jf}rª](jGX-jk]jj]jh]ji]jn]ujpKCjqhjr]r«](j/)�r¬]}r­](jYX9`VCP Drivers `__r®]jZj¨]jbjr\jdj2jf}r¯](jh]ji]jj]jk]jn]ujpNjqhjr]r°]j¡)�r±]}r²](jYj®]jZj¬]jbjr\jdj¥jf}r³](jh]ji]jj]jk]jn]ujpKCjr]r´]jÜ)�rµ]}r¶](jYj®]jf}r·](UnameX VCP DriversjX'http://www.ftdichip.com/Drivers/VCP.htmjk]jj]jh]ji]jn]ujZj±]jr]r¸]j{X VCP Driversr¹]…�rº]}r»](jYUjZjµ]ubajdjàubaubaubj/)�r¼]}r½](jYXT`TTL-232R-3V3 product `__ jZj¨]jbjr\jdj2jf}r¾](jh]ji]jj]jk]jn]ujpNjqhjr]r¿]j¡)�rÀ]}rÁ](jYXS`TTL-232R-3V3 product `__rÂ]jZj¼]jbjr\jdj¥jf}rÃ](jh]ji]jj]jk]jn]ujpKDjr]rÄ]jÜ)�rÅ]}rÆ](jYjÂ]jf}rÇ](UnameXTTL-232R-3V3 productjX8http://www.ftdichip.com/Products/Cables/USBTTLSerial.htmjk]jj]jh]ji]jn]ujZjÀ]jr]rÈ]j{XTTL-232R-3V3 productrÉ]…�rÊ]}rË](jYUjZjÅ]ubajdjàubaubaubeubjè)�rÌ]}rÍ](jYXMinimal EVM setuprÎ]jìKjZjo\jbjr\jdjíjf}rÏ](jk]rÐ]Uminimal-evm-setuprÑ]ajj]jh]rÒ]Xminimal-evm-setuprÓ]aji]jn]ujpNjqhjr]rÔ]j{XMinimal EVM setuprÕ]…�rÖ]}r×](jYjÎ]jZjÌ]ubaubjè)�rØ]}rÙ](jYXSetting boot switchesrÚ]jìKjZjo\jbjr\jdjíjf}rÛ](jk]rÜ]Usetting-boot-switchesrÝ]ajj]jh]rÞ]Xsetting-boot-switchesrß]aji]jn]ujpNjqhjr]rà]j{XSetting boot switchesrá]…�râ]}rã](jYjÚ]jZjØ]ubaubjB)�rä]}rå](jYX-.. Image:: ../../../images/Boot_Switches.png jZjo\jbjr\jdjEjf}ræ](UuriX&rtos/../../../images/Boot_Switches.pngrç]jk]jj]jh]ji]jH}rè]U*jç]sjn]ujpKNjqhjr]ubj¡)�ré]}rê](jYX˜Other Boot Pin configurations: `GP EVM Boot Options `__jZjo\jbjr\jdj¥jf}rë](jh]ji]jj]jk]jn]ujpKOjqhjr]rì](j{XOther Boot Pin configurations: rí]…�rî]}rï](jYXOther Boot Pin configurations: jZjé]ubjÜ)�rð]}rñ](jYXy`GP EVM Boot Options `__jf}rò](UnameXGP EVM Boot OptionsjX_http://processors.wiki.ti.com/AM572x_General_Purpose_EVM_HW_User_Guide#Boot_and_emulation_setupjk]jj]jh]ji]jn]ujZjé]jr]ró]j{XGP EVM Boot Optionsrô]…�rõ]}rö](jYUjZjð]ubajdjàubeubjZ)�r÷]}rø](jYUjZjo\jbjr\jdj]jf}rù](jh]ji]jj]jk]jn]ujpKRjqhjr]rú]j`)�rû]}rü](jYUjcKjZj÷]jbjr\jdjpjf}rý](jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�rþ]}rÿ](jYXConnecting Emulatorr^jìKjZjo\jbjr\jdjíjf}r^(jk]r^Uconnecting-emulatorr^ajj]jh]r^Xconnecting-emulatorr^aji]jn]ujpNjqhjr]r^j{XConnecting Emulatorr^…�r^}r ^(jYj^jZjþ]ubaubj¡)�r ^}r ^(jYX…**Note: This EVM setup is only required for developers who need to connect to cores using Code Composer studio to load application.**r ^jZjo\jbjr\jdj¥jf}r ^(jh]ji]jj]jk]jn]ujpKWjqhjr]r^jü)�r^}r^(jYj ^jf}r^(jh]ji]jj]jk]jn]ujZj ^jr]r^j{X�Note: This EVM setup is only required for developers who need to connect to cores using Code Composer studio to load application.r^…�r^}r^(jYUjZj^ubajdjubaubj¡)�r^}r^(jYX¼The JTAG emulation pins for the EVM are on the back of the processor module. User need to carefully unmount the processor module from the LCD panel in order to get access to the JTAG pins.r^jZjo\jbjr\jdj¥jf}r^(jh]ji]jj]jk]jn]ujpKZjqhjr]r^j{X¼The JTAG emulation pins for the EVM are on the back of the processor module. User need to carefully unmount the processor module from the LCD panel in order to get access to the JTAG pins.r^…�r^}r^(jYj^jZj^ubaubj¡)�r^}r^(jYX\Refer to the image below for how to safely separate the processor module from the LCD panel.r ^jZjo\jbjr\jdj¥jf}r!^(jh]ji]jj]jk]jn]ujpK^jqhjr]r"^j{X\Refer to the image below for how to safely separate the processor module from the LCD panel.r#^…�r$^}r%^(jYj ^jZj^ubaubjd$)�r&^}r'^(jYUjZjo\jbNjdjg$jf}r(^(jh]ji]jj]jk]jn]ujpNjqhjr]r)^jj$)�r*^}r+^(jYUjf}r,^(jk]jj]jh]ji]jn]UcolsKujZj&^jr]r-^(jo$)�r.^}r/^(jYUjf}r0^(jk]jj]jh]ji]jn]UcolwidthK7ujZj*^jr]jdjs$ubjo$)�r1^}r2^(jYUjf}r3^(jk]jj]jh]ji]jn]UcolwidthK1ujZj*^jr]jdjs$ubj¬$)�r4^}r5^(jYUjf}r6^(jh]ji]jj]jk]jn]ujZj*^jr]r7^j$)�r8^}r9^(jYUjf}r:^(jh]ji]jj]jk]jn]ujZj4^jr]r;^(j„$)�r<^}r=^(jYUjf}r>^(jh]ji]jj]jk]jn]ujZj8^jr]r?^jB)�r@^}rA^(jYX5.. Image:: ../../../images/X15_PModule_disconnect.jpgjf}rB^(UuriX/rtos/../../../images/X15_PModule_disconnect.jpgrC^jk]jj]jh]ji]jH}rD^U*jC^sjn]ujZj<^jr]jdjEubajdj‘$ubj„$)�rE^}rF^(jYUjf}rG^(jh]ji]jj]jk]jn]ujZj8^jr]rH^jB)�rI^}rJ^(jYX'.. Image:: ../../../images/JMI_0065.jpgjf}rK^(UuriX!rtos/../../../images/JMI_0065.jpgrL^jk]jj]jh]ji]jH}rM^U*jL^sjn]ujZjE^jr]jdjEubajdj‘$ubejdjª$ubajdjy%ubejdjz%ubaubjZ)�rN^}rO^(jYUjZjo\jbjr\jdj]jf}rP^(jh]ji]jj]jk]jn]ujpKejqhjr]rQ^(j`)�rR^}rS^(jYUjcKjZjN^jbjr\jdjpjf}rT^(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�rU^}rV^(jYXQImage for how to connect the XDS200 Emulator to the 20 pin header is shown below:rW^jcKjZjN^jbjr\jdjpjf}rX^(jh]ji]jj]jk]jn]ujpKgjqhjr]rY^j{XQImage for how to connect the XDS200 Emulator to the 20 pin header is shown below:rZ^…�r[^}r\^(jYjW^jZjU^ubaubeubjB)�r]^}r^^(jYX;.. Image:: ../../../images/GPEVM_XDS200.jpg :scale: 50% jZjo\jbjr\jdjEjf}r_^(UscaleK2UuriX%rtos/../../../images/GPEVM_XDS200.jpgr`^jk]jj]jh]ji]jH}ra^U*j`^sjn]ujpNjqhjr]ubjè)�rb^}rc^(jYXPowering up the EVMrd^jìKjZjo\jbjr\jdjíjf}re^(jk]rf^Upowering-up-the-evmrg^ajj]jh]rh^Xpowering-up-the-evmri^aji]jn]ujpNjqhjr]rj^j{XPowering up the EVMrk^…�rl^}rm^(jYjd^jZjb^ubaubjè)�rn^}ro^(jYXPower Supply specificationsrp^jìKjZjo\jbjr\jdjíjf}rq^(jk]rr^Upower-supply-specificationsrs^ajj]jh]rt^Xpower-supply-specificationsru^aji]jn]ujpNjqhjr]rv^j{XPower Supply specificationsrw^…�rx^}ry^(jYjp^jZjn^ubaubjB)�rz^}r{^(jYX9.. Image:: ../../../images/CUI_Isolated_Power_Supply.png jZjo\jbjr\jdjEjf}r|^(UuriX2rtos/../../../images/CUI_Isolated_Power_Supply.pngr}^jk]jj]jh]ji]jH}r~^U*j}^sjn]ujpKsjqhjr]ubj¡)�r^}r€^(jYXªPlease note that a power supply is NOT included with the AM572x Evaluation Module and needs to be purchased separately. A power supply with the following specs is needed:r�^jZjo\jbjr\jdj¥jf}r‚^(jh]ji]jj]jk]jn]ujpKtjqhjr]rƒ^j{XªPlease note that a power supply is NOT included with the AM572x Evaluation Module and needs to be purchased separately. A power supply with the following specs is needed:r„^…�r…^}r†^(jYj�^jZj^ubaubjC)�r‡^}rˆ^(jYUjZjo\jbjr\jdj`jf}r‰^(jGX-jk]jj]jh]ji]jn]ujpKxjqhjr]rŠ^(j/)�r‹^}rŒ^(jYX 12V DC outputr�^jZj‡^jbjr\jdj2jf}rŽ^(jh]ji]jj]jk]jn]ujpNjqhjr]r�^j¡)�r�^}r‘^(jYj�^jZj‹^jbjr\jdj¥jf}r’^(jh]ji]jj]jk]jn]ujpKxjr]r“^j{X 12V DC outputr”^…�r•^}r–^(jYj�^jZj�^ubaubaubj/)�r—^}r˜^(jYX 5A outputr™^jZj‡^jbjr\jdj2jf}rš^(jh]ji]jj]jk]jn]ujpNjqhjr]r›^j¡)�rœ^}r�^(jYj™^jZj—^jbjr\jdj¥jf}rž^(jh]ji]jj]jk]jn]ujpKyjr]rŸ^j{X 5A outputr ^…�r¡^}r¢^(jYj™^jZjœ^ubaubaubj/)�r£^}r¤^(jYX+Positive inner and negative outer terminalsr¥^jZj‡^jbjr\jdj2jf}r¦^(jh]ji]jj]jk]jn]ujpNjqhjr]r§^j¡)�r¨^}r©^(jYj¥^jZj£^jbjr\jdj¥jf}rª^(jh]ji]jj]jk]jn]ujpKzjr]r«^j{X+Positive inner and negative outer terminalsr¬^…�r­^}r®^(jYj¥^jZj¨^ubaubaubj/)�r¯^}r°^(jYX@Female barrel with 2.5mm inner diameter and 5.5mm outer diameterr±^jZj‡^jbjr\jdj2jf}r²^(jh]ji]jj]jk]jn]ujpNjqhjr]r³^j¡)�r´^}rµ^(jYj±^jZj¯^jbjr\jdj¥jf}r¶^(jh]ji]jj]jk]jn]ujpK{jr]r·^j{X@Female barrel with 2.5mm inner diameter and 5.5mm outer diameterr¸^…�r¹^}rº^(jYj±^jZj´^ubaubaubj/)�r»^}r¼^(jYXIsolated power supply jZj‡^jbjr\jdj2jf}r½^(jh]ji]jj]jk]jn]ujpNjqhjr]r¾^j¡)�r¿^}rÀ^(jYXIsolated power supplyrÁ^jZj»^jbjr\jdj¥jf}rÂ^(jh]ji]jj]jk]jn]ujpK|jr]rÃ^j{XIsolated power supplyrÄ^…�rÅ^}rÆ^(jYjÁ^jZj¿^ubaubaubeubjè)�rÇ^}rÈ^(jYX!PMIC auto-off after seven secondsrÉ^jZjo\jbjr\jdjíjf}rÊ^(jk]rË^U!pmic-auto-off-after-seven-secondsrÌ^ajj]jh]ji]jn]rÍ^hœaujpNjqhjr]rÎ^j{X!PMIC auto-off after seven secondsrÏ^…�rÐ^}rÑ^(jYjÉ^jZjÇ^ubaubj¡)�rÒ^}rÓ^(jYXùThe Power Management Integrated Circuit (PMIC) on the TMDSEVM572X turns off the board in seven seconds after power on to work around a hardware errata. After seven seconds, the PMIC powers off unless software writes to a PMIC register to keep it on.rÔ^jZjo\jbjr\jdj¥jf}rÕ^(jh]ji]jj]jk]jn]ujpK�jqhjr]rÖ^j{XùThe Power Management Integrated Circuit (PMIC) on the TMDSEVM572X turns off the board in seven seconds after power on to work around a hardware errata. After seven seconds, the PMIC powers off unless software writes to a PMIC register to keep it on.r×^…�rØ^}rÙ^(jYjÔ^jZjÒ^ubaubj¡)�rÚ^}rÛ^(jYXÞIn emulation setup, the GEL file will keep the PMIC on after you connect to the A15 core on the SoC. While booting from ROM bootloader user application software, would need to keep the PMIC ON while initializing the board.rÜ^jZjo\jbjr\jdj¥jf}rÝ^(jh]ji]jj]jk]jn]ujpK†jqhjr]rÞ^j{XÞIn emulation setup, the GEL file will keep the PMIC on after you connect to the A15 core on the SoC. While booting from ROM bootloader user application software, would need to keep the PMIC ON while initializing the board.rß^…�rà^}rá^(jYjÜ^jZjÚ^ubaubj¡)�râ^}rã^(jYXƒIn Linux boot, the uboot code keeps the PMIC On and in the TI RTOS boot scenario, the SBL component provides the same functionalityrä^jZjo\jbjr\jdj¥jf}rå^(jh]ji]jj]jk]jn]ujpK‹jqhjr]ræ^j{XƒIn Linux boot, the uboot code keeps the PMIC On and in the TI RTOS boot scenario, the SBL component provides the same functionalityrç^…�rè^}ré^(jYjä^jZjâ^ubaubj¡)�rê^}rë^(jYX**NOTE**rì^jZjo\jbjr\jdj¥jf}rí^(jh]ji]jj]jk]jn]ujpKŽjqhjr]rî^jü)�rï^}rð^(jYjì^jf}rñ^(jh]ji]jj]jk]jn]ujZjê^jr]rò^j{XNOTEró^…�rô^}rõ^(jYUjZjï^ubajdjubaubjC)�rö^}r÷^(jYUjZjo\jbjr\jdj`jf}rø^(jGX-jk]jj]jh]ji]jn]ujpK�jqhjr]rù^(j/)�rú^}rû^(jYX¾To allow quicker execution of the GEL before the PMIC shuts off, you can increase the JTAG TCLK Frequency in Advance settings of your target configuration to 15Mhz or to the maximum (20Mhz).jZjö^jbjr\jdj2jf}rü^(jh]ji]jj]jk]jn]ujpNjqhjr]rý^j¡)�rþ^}rÿ^(jYX¾To allow quicker execution of the GEL before the PMIC shuts off, you can increase the JTAG TCLK Frequency in Advance settings of your target configuration to 15Mhz or to the maximum (20Mhz).r_jZjú^jbjr\jdj¥jf}r_(jh]ji]jj]jk]jn]ujpK�jr]r_j{X¾To allow quicker execution of the GEL before the PMIC shuts off, you can increase the JTAG TCLK Frequency in Advance settings of your target configuration to 15Mhz or to the maximum (20Mhz).r_…�r_}r_(jYj_jZjþ^ubaubaubj/)�r_}r_(jYXWIf the above CCS connect sequence does not work in the first attempt, it means that the PMIC switched off before the GEL could initialize I2C and modify the PMIC settings. In that case, the connection has failed, hit connect in CCS debug view without removing the power cable and then immediately hit the power switch besides the power plug. jZjö^jbjr\jdj2jf}r_(jh]ji]jj]jk]jn]ujpNjqhjr]r _j¡)�r _}r _(jYXUIf the above CCS connect sequence does not work in the first attempt, it means that the PMIC switched off before the GEL could initialize I2C and modify the PMIC settings. In that case, the connection has failed, hit connect in CCS debug view without removing the power cable and then immediately hit the power switch besides the power plug.r _jZj_jbjr\jdj¥jf}r _(jh]ji]jj]jk]jn]ujpK“jr]r_j{XUIf the above CCS connect sequence does not work in the first attempt, it means that the PMIC switched off before the GEL could initialize I2C and modify the PMIC settings. In that case, the connection has failed, hit connect in CCS debug view without removing the power cable and then immediately hit the power switch besides the power plug.r_…�r_}r_(jYj _jZj _ubaubaubeubjè)�r_}r_(jYXConnect Power to the EVMr_jZjo\jbjr\jdjíjf}r_(jk]r_Uconnect-power-to-the-evmr_ajj]jh]ji]jn]r_h·aujpNjqhjr]r_j{XConnect Power to the EVMr_…�r_}r_(jYj_jZj_ubaubjB)�r_}r_(jYX... Image:: ../../../images/Push_Power_EVM.png jZjo\jbjr\jdjEjf}r_(UuriX'rtos/../../../images/Push_Power_EVM.pngr _jk]jj]jh]ji]jH}r!_U*j _sjn]ujpKŸjqhjr]ubjè)�r"_}r#_(jYX CCS Setupr$_jìKjZjo\jbjr\jdjíjf}r%_(jk]r&_U ccs-setupr'_ajj]jh]r(_X ccs-setupr)_aji]jn]ujpNjqhjr]r*_j{X CCS Setupr+_…�r,_}r-_(jYj$_jZj"_ubaubj¡)�r._}r/_(jYX6There are two scenarios while connecting to the EVM :r0_jZjo\jbjr\jdj¥jf}r1_(jh]ji]jj]jk]jn]ujpK£jqhjr]r2_j{X6There are two scenarios while connecting to the EVM :r3_…�r4_}r5_(jYj0_jZj._ubaubjC)�r6_}r7_(jYUjZjo\jbjr\jdj`jf}r8_(jGX-jk]jj]jh]ji]jn]ujpK¥jqhjr]r9_(j/)�r:_}r;_(jYX?**Connect to EVM without a SD card boot image to boot the EVM**r<_jZj6_jbjr\jdj2jf}r=_(jh]ji]jj]jk]jn]ujpNjqhjr]r>_j¡)�r?_}r@_(jYj<_jZj:_jbjr\jdj¥jf}rA_(jh]ji]jj]jk]jn]ujpK¥jr]rB_jü)�rC_}rD_(jYj<_jf}rE_(jh]ji]jj]jk]jn]ujZj?_jr]rF_j{X;Connect to EVM without a SD card boot image to boot the EVMrG_…�rH_}rI_(jYUjZjC_ubajdjubaubaubj/)�rJ_}rK_(jYX<**Connect to EVM after booting an image from the SD card**. jZj6_jbjr\jdj2jf}rL_(jh]ji]jj]jk]jn]ujpNjqhjr]rM_j¡)�rN_}rO_(jYX;**Connect to EVM after booting an image from the SD card**.jZjJ_jbjr\jdj¥jf}rP_(jh]ji]jj]jk]jn]ujpK¦jr]rQ_(jü)�rR_}rS_(jYX:**Connect to EVM after booting an image from the SD card**jf}rT_(jh]ji]jj]jk]jn]ujZjN_jr]rU_j{X6Connect to EVM after booting an image from the SD cardrV_…�rW_}rX_(jYUjZjR_ubajdjubj{X.…�rY_}rZ_(jYX.jZjN_ubeubaubeubjè)�r[_}r\_(jYX$Connect without a SD card boot imager]_jìKjZjo\jbjr\jdjíjf}r^_(jk]r__U$connect-without-a-sd-card-boot-imager`_ajj]jh]ra_X$connect-without-a-sd-card-boot-imagerb_aji]jn]ujpNjqhjr]rc_j{X$Connect without a SD card boot imagerd_…�re_}rf_(jYj]_jZj[_ubaubjè)�rg_}rh_(jYX&Configuring target configuration filesri_jìKjZjo\jbjr\jdjíjf}rj_(jk]rk_U&configuring-target-configuration-filesrl_ajj]jh]rm_X&configuring-target-configuration-filesrn_aji]jn]ujpNjqhjr]ro_j{X&Configuring target configuration filesrp_…�rq_}rr_(jYji_jZjg_ubaubj¡)�rs_}rt_(jYXñLaunch CCS and create new target configuration(File->New->Target Configuration file) as shown in the images below and provide appropriate name to the configuration. Select Spectrum digital XDS200 emulator and target as GPEVM\_AM572x\_SiRevA.jZjo\jbjr\jdj¥jf}ru_(jh]ji]jj]jk]jn]ujpK®jqhjr]rv_j{XïLaunch CCS and create new target configuration(File->New->Target Configuration file) as shown in the images below and provide appropriate name to the configuration. Select Spectrum digital XDS200 emulator and target as GPEVM_AM572x_SiRevA.rw_…�rx_}ry_(jYXñLaunch CCS and create new target configuration(File->New->Target Configuration file) as shown in the images below and provide appropriate name to the configuration. Select Spectrum digital XDS200 emulator and target as GPEVM\_AM572x\_SiRevA.jZjs_ubaubj¡)�rz_}r{_(jYX **Note:** For older revisions of CCSv6, If you don\`t find the GPEVM\_AM572x\_SiRevA target make sure you have installed the CCSv6 package with support for Sitara Processors and done the software update correctly from the Help Menu to get the latest Sitara CSP package.jZjo\jbjr\jdj¥jf}r|_(jh]ji]jj]jk]jn]ujpK³jqhjr]r}_(jü)�r~_}r_(jYX **Note:**jf}r€_(jh]ji]jj]jk]jn]ujZjz_jr]r�_j{XNote:r‚_…�rƒ_}r„_(jYUjZj~_ubajdjubj{X For older revisions of CCSv6, If you don`t find the GPEVM_AM572x_SiRevA target make sure you have installed the CCSv6 package with support for Sitara Processors and done the software update correctly from the Help Menu to get the latest Sitara CSP package.r…_…�r†_}r‡_(jYX For older revisions of CCSv6, If you don\`t find the GPEVM\_AM572x\_SiRevA target make sure you have installed the CCSv6 package with support for Sitara Processors and done the software update correctly from the Help Menu to get the latest Sitara CSP package.jZjz_ubeubjB)�rˆ_}r‰_(jYX:.. Image:: ../../../images/GPEVM_Target_configuration.jpg jZjo\jbjr\jdjEjf}rŠ_(UuriX3rtos/../../../images/GPEVM_Target_configuration.jpgr‹_jk]jj]jh]ji]jH}rŒ_U*j‹_sjn]ujpK¹jqhjr]ubjZ)�r�_}rŽ_(jYUjZjo\jbjr\jdj]jf}r�_(jh]ji]jj]jk]jn]ujpKºjqhjr]r�_j`)�r‘_}r’_(jYUjcKjZj�_jbjr\jdjpjf}r“_(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r”_}r•_(jYX”In advance settings, make sure that the gel files are populated correctly. The following GEL files and their corresponding cores are provided below:r–_jZjo\jbjr\jdj¥jf}r—_(jh]ji]jj]jk]jn]ujpK¼jqhjr]r˜_j{X”In advance settings, make sure that the gel files are populated correctly. The following GEL files and their corresponding cores are provided below:r™_…�rš_}r›_(jYj–_jZj”_ubaubjC)�rœ_}r�_(jYUjZjo\jbjr\jdj`jf}rž_(jGX-jk]jj]jh]ji]jn]ujpKÀjqhjr]rŸ_(j/)�r _}r¡_(jYX)IcePick\_D: AM572x\_ICEPickD\_Utility.gelr¢_jZjœ_jbjr\jdj2jf}r£_(jh]ji]jj]jk]jn]ujpNjqhjr]r¤_j¡)�r¥_}r¦_(jYj¢_jZj _jbjr\jdj¥jf}r§_(jh]ji]jj]jk]jn]ujpKÀjr]r¨_j{X&IcePick_D: AM572x_ICEPickD_Utility.gelr©_…�rª_}r«_(jYX)IcePick\_D: AM572x\_ICEPickD\_Utility.geljZj¥_ubaubaubj/)�r¬_}r­_(jYX*CS\_DAP\_DebugSS: AM572x\_dap\_startup.gelr®_jZjœ_jbjr\jdj2jf}r¯_(jh]ji]jj]jk]jn]ujpNjqhjr]r°_j¡)�r±_}r²_(jYj®_jZj¬_jbjr\jdj¥jf}r³_(jh]ji]jj]jk]jn]ujpKÁjr]r´_j{X&CS_DAP_DebugSS: AM572x_dap_startup.gelrµ_…�r¶_}r·_(jYX*CS\_DAP\_DebugSS: AM572x\_dap\_startup.geljZj±_ubaubaubj/)�r¸_}r¹_(jYX-CS\_DAP\_PC: AM572x\_CS\_DAP\_PC\_Utility.gelrº_jZjœ_jbjr\jdj2jf}r»_(jh]ji]jj]jk]jn]ujpNjqhjr]r¼_j¡)�r½_}r¾_(jYjº_jZj¸_jbjr\jdj¥jf}r¿_(jh]ji]jj]jk]jn]ujpKÂjr]rÀ_j{X'CS_DAP_PC: AM572x_CS_DAP_PC_Utility.gelrÁ_…�rÂ_}rÃ_(jYX-CS\_DAP\_PC: AM572x\_CS\_DAP\_PC\_Utility.geljZj½_ubaubaubj/)�rÄ_}rÅ_(jYX,A15\_0: AM572x\_cortexa15\_cpu0\_startup.gelrÆ_jZjœ_jbjr\jdj2jf}rÇ_(jh]ji]jj]jk]jn]ujpNjqhjr]rÈ_j¡)�rÉ_}rÊ_(jYjÆ_jZjÄ_jbjr\jdj¥jf}rË_(jh]ji]jj]jk]jn]ujpKÃjr]rÌ_j{X(A15_0: AM572x_cortexa15_cpu0_startup.gelrÍ_…�rÎ_}rÏ_(jYX,A15\_0: AM572x\_cortexa15\_cpu0\_startup.geljZjÉ_ubaubaubj/)�rÐ_}rÑ_(jYX,A15\_1: AM572x\_cortexa15\_cpu1\_startup.gelrÒ_jZjœ_jbjr\jdj2jf}rÓ_(jh]ji]jj]jk]jn]ujpNjqhjr]rÔ_j¡)�rÕ_}rÖ_(jYjÒ_jZjÐ_jbjr\jdj¥jf}r×_(jh]ji]jj]jk]jn]ujpKÄjr]rØ_j{X(A15_1: AM572x_cortexa15_cpu1_startup.gelrÙ_…�rÚ_}rÛ_(jYX,A15\_1: AM572x\_cortexa15\_cpu1\_startup.geljZjÕ_ubaubaubj/)�rÜ_}rÝ_(jYX!C66x\_0: AM572x\_dsp\_startup.gelrÞ_jZjœ_jbjr\jdj2jf}rß_(jh]ji]jj]jk]jn]ujpNjqhjr]rà_j¡)�rá_}râ_(jYjÞ_jZjÜ_jbjr\jdj¥jf}rã_(jh]ji]jj]jk]jn]ujpKÅjr]rä_j{XC66x_0: AM572x_dsp_startup.gelrå_…�ræ_}rç_(jYX!C66x\_0: AM572x\_dsp\_startup.geljZjá_ubaubaubj/)�rè_}ré_(jYX!C66x\_1: AM572x\_dsp\_startup.gelrê_jZjœ_jbjr\jdj2jf}rë_(jh]ji]jj]jk]jn]ujpNjqhjr]rì_j¡)�rí_}rî_(jYjê_jZjè_jbjr\jdj¥jf}rï_(jh]ji]jj]jk]jn]ujpKÆjr]rð_j{XC66x_1: AM572x_dsp_startup.gelrñ_…�rò_}ró_(jYX!C66x\_1: AM572x\_dsp\_startup.geljZjí_ubaubaubj/)�rô_}rõ_(jYX-M4\_IPU\_1\_C0: AM572x\_cortexM4\_startup.gelrö_jZjœ_jbjr\jdj2jf}r÷_(jh]ji]jj]jk]jn]ujpNjqhjr]rø_j¡)�rù_}rú_(jYjö_jZjô_jbjr\jdj¥jf}rû_(jh]ji]jj]jk]jn]ujpKÇjr]rü_j{X(M4_IPU_1_C0: AM572x_cortexM4_startup.gelrý_…�rþ_}rÿ_(jYX-M4\_IPU\_1\_C0: AM572x\_cortexM4\_startup.geljZjù_ubaubaubj/)�r`}r`(jYX-M4\_IPU\_1\_C1: AM572x\_cortexM4\_startup.gelr`jZjœ_jbjr\jdj2jf}r`(jh]ji]jj]jk]jn]ujpNjqhjr]r`j¡)�r`}r`(jYj`jZj`jbjr\jdj¥jf}r`(jh]ji]jj]jk]jn]ujpKÈjr]r`j{X(M4_IPU_1_C1: AM572x_cortexM4_startup.gelr `…�r `}r `(jYX-M4\_IPU\_1\_C1: AM572x\_cortexM4\_startup.geljZj`ubaubaubj/)�r `}r `(jYX-M4\_IPU\_2\_C0: AM572x\_cortexM4\_startup.gelr`jZjœ_jbjr\jdj2jf}r`(jh]ji]jj]jk]jn]ujpNjqhjr]r`j¡)�r`}r`(jYj`jZj `jbjr\jdj¥jf}r`(jh]ji]jj]jk]jn]ujpKÉjr]r`j{X(M4_IPU_2_C0: AM572x_cortexM4_startup.gelr`…�r`}r`(jYX-M4\_IPU\_2\_C0: AM572x\_cortexM4\_startup.geljZj`ubaubaubj/)�r`}r`(jYX-M4\_IPU\_2\_C1: AM572x\_cortexM4\_startup.gelr`jZjœ_jbjr\jdj2jf}r`(jh]ji]jj]jk]jn]ujpNjqhjr]r`j¡)�r`}r`(jYj`jZj`jbjr\jdj¥jf}r`(jh]ji]jj]jk]jn]ujpKÊjr]r `j{X(M4_IPU_2_C1: AM572x_cortexM4_startup.gelr!`…�r"`}r#`(jYX-M4\_IPU\_2\_C1: AM572x\_cortexM4\_startup.geljZj`ubaubaubj/)�r$`}r%`(jYX"IVAHD: AM572x\_ivahd\_startup.gel jZjœ_jbjr\jdj2jf}r&`(jh]ji]jj]jk]jn]ujpNjqhjr]r'`j¡)�r(`}r)`(jYX!IVAHD: AM572x\_ivahd\_startup.geljZj$`jbjr\jdj¥jf}r*`(jh]ji]jj]jk]jn]ujpKËjr]r+`j{XIVAHD: AM572x_ivahd_startup.gelr,`…�r-`}r.`(jYX!IVAHD: AM572x\_ivahd\_startup.geljZj(`ubaubaubeubjZ)�r/`}r0`(jYUjZjo\jbjr\jdj]jf}r1`(jh]ji]jj]jk]jn]ujpKÍjqhjr]r2`j`)�r3`}r4`(jYUjcKjZj/`jbjr\jdjpjf}r5`(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�r6`}r7`(jYXConnecting to targetr8`jìKjZjo\jbjr\jdjíjf}r9`(jk]r:`Uconnecting-to-targetr;`ajj]jh]r<`Xconnecting-to-targetr=`aji]jn]ujpNjqhjr]r>`j{XConnecting to targetr?`…�r@`}rA`(jYj8`jZj6`ubaubj¡)�rB`}rC`(jYXz**Step1 :** Download Code composer Studio and AM572x Sitara CSP package as described in the wiki article mentioned below:jZjo\jbjr\jdj¥jf}rD`(jh]ji]jj]jk]jn]ujpKÒjqhjr]rE`(jü)�rF`}rG`(jYX **Step1 :**jf}rH`(jh]ji]jj]jk]jn]ujZjB`jr]rI`j{XStep1 :rJ`…�rK`}rL`(jYUjZjF`ubajdjubj{Xn Download Code composer Studio and AM572x Sitara CSP package as described in the wiki article mentioned below:rM`…�rN`}rO`(jYXn Download Code composer Studio and AM572x Sitara CSP package as described in the wiki article mentioned below:jZjB`ubeubj¡)�rP`}rQ`(jYX–`Install Code composer Studio v6 for AM572x `__rR`jZjo\jbjr\jdj¥jf}rS`(jh]ji]jj]jk]jn]ujpKÕjqhjr]rT`jÜ)�rU`}rV`(jYjR`jf}rW`(UnameX*Install Code composer Studio v6 for AM572xjXehttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Getting_Started_Guide#Code_Composer_Studiojk]jj]jh]ji]jn]ujZjP`jr]rX`j{X*Install Code composer Studio v6 for AM572xrY`…�rZ`}r[`(jYUjZjU`ubajdjàubaubj¡)�r\`}r]`(jYX**Step2:** AM572x EVM doesn\`t have any boot switches to configure for emulation mode. so configure the boot switches to SD Boot Mode. Dont Populate the uSD card when the intent is to connect and load code over emulator and not to boot the device using uSD card.jZjo\jbjr\jdj¥jf}r^`(jh]ji]jj]jk]jn]ujpKØjqhjr]r_`(jü)�r``}ra`(jYX **Step2:**jf}rb`(jh]ji]jj]jk]jn]ujZj\`jr]rc`j{XStep2:rd`…�re`}rf`(jYUjZj``ubajdjubj{Xû AM572x EVM doesn`t have any boot switches to configure for emulation mode. so configure the boot switches to SD Boot Mode. Dont Populate the uSD card when the intent is to connect and load code over emulator and not to boot the device using uSD card.rg`…�rh`}ri`(jYXü AM572x EVM doesn\`t have any boot switches to configure for emulation mode. so configure the boot switches to SD Boot Mode. Dont Populate the uSD card when the intent is to connect and load code over emulator and not to boot the device using uSD card.jZj\`ubeubj¡)�rj`}rk`(jYXÛ**Step3:** Connect an XDS200 Emulator to emulation pins at the back of the GP EVM as shown in section.\ `Connecting\_Emulator `__jZjo\jbjr\jdj¥jf}rl`(jh]ji]jj]jk]jn]ujpKÝjqhjr]rm`(jü)�rn`}ro`(jYX **Step3:**jf}rp`(jh]ji]jj]jk]jn]ujZjj`jr]rq`j{XStep3:rr`…�rs`}rt`(jYUjZjn`ubajdjubj{X\ Connect an XDS200 Emulator to emulation pins at the back of the GP EVM as shown in section.ru`…�rv`}rw`(jYX^ Connect an XDS200 Emulator to emulation pins at the back of the GP EVM as shown in section.\ jZjj`ubjÜ)�rx`}ry`(jYXs`Connecting\_Emulator `__jf}rz`(UnameXConnecting_EmulatorjXXhttp://processors.wiki.ti.com/index.php/AM572x_GP_EVM_Hardware_Setup#Connecting_Emulatorjk]jj]jh]ji]jn]ujZjj`jr]r{`j{XConnecting_Emulatorr|`…�r}`}r~`(jYUjZjx`ubajdjàubeubj¡)�r`}r€`(jYX_**Step4:** Launch CCS and create new target configuration as discussed in the previous section.jZjo\jbjr\jdj¥jf}r�`(jh]ji]jj]jk]jn]ujpKájqhjr]r‚`(jü)�rƒ`}r„`(jYX **Step4:**jf}r…`(jh]ji]jj]jk]jn]ujZj`jr]r†`j{XStep4:r‡`…�rˆ`}r‰`(jYUjZjƒ`ubajdjubj{XU Launch CCS and create new target configuration as discussed in the previous section.rŠ`…�r‹`}rŒ`(jYXU Launch CCS and create new target configuration as discussed in the previous section.jZj`ubeubjZ)�r�`}rŽ`(jYUjZjo\jbjr\jdj]jf}r�`(jh]ji]jj]jk]jn]ujpKäjqhjr]r�`(j`)�r‘`}r’`(jYUjcKjZj�`jbjr\jdjpjf}r“`(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�r”`}r•`(jYX&**Step5**: Launch Target configuration you just created. AM572x is an ARM master boot device so connect to the A15\_0 first. It is also recommended that you do a CPU reset from (Run->Reset->CPU Reset) Menu on the A15 to put it in a clean state as the EVM is designed to come up in SD boot mode.jcKjZj�`jbjr\jdjpjf}r–`(jh]ji]jj]jk]jn]ujpKéjqhjr]r—`(jü)�r˜`}r™`(jYX **Step5**jf}rš`(jh]ji]jj]jk]jn]ujZj”`jr]r›`j{XStep5rœ`…�r�`}rž`(jYUjZj˜`ubajdjubj{X: Launch Target configuration you just created. AM572x is an ARM master boot device so connect to the A15_0 first. It is also recommended that you do a CPU reset from (Run->Reset->CPU Reset) Menu on the A15 to put it in a clean state as the EVM is designed to come up in SD boot mode.rŸ`…�r `}r¡`(jYX: Launch Target configuration you just created. AM572x is an ARM master boot device so connect to the A15\_0 first. It is also recommended that you do a CPU reset from (Run->Reset->CPU Reset) Menu on the A15 to put it in a clean state as the EVM is designed to come up in SD boot mode.jZj”`ubeubeubjZ)�r¢`}r£`(jYUjZjo\jbjr\jdj]jf}r¤`(jh]ji]jj]jk]jn]ujpKëjqhjr]r¥`(j`)�r¦`}r§`(jYUjcKjZj¢`jbjr\jdjpjf}r¨`(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�r©`}rª`(jYXó**Note: Keep in mind the PMIC shutdown issue discussed in previous section while connecting to the target cores. Due to the PMIC shutdown issue, users need to connect to A15\_0 as soon as you push the power button to enable power to the SoC.**jcKjZj¢`jbjr\jdjpjf}r«`(jh]ji]jj]jk]jn]ujpKïjqhjr]r¬`jü)�r­`}r®`(jYXó**Note: Keep in mind the PMIC shutdown issue discussed in previous section while connecting to the target cores. Due to the PMIC shutdown issue, users need to connect to A15\_0 as soon as you push the power button to enable power to the SoC.**jf}r¯`(jh]ji]jj]jk]jn]ujZj©`jr]r°`j{XîNote: Keep in mind the PMIC shutdown issue discussed in previous section while connecting to the target cores. Due to the PMIC shutdown issue, users need to connect to A15_0 as soon as you push the power button to enable power to the SoC.r±`…�r²`}r³`(jYUjZj­`ubajdjubaubeubjZ)�r´`}rµ`(jYUjZjo\jbjr\jdj]jf}r¶`(jh]ji]jj]jk]jn]ujpKñjqhjr]r·`(j`)�r¸`}r¹`(jYUjcKjZj´`jbjr\jdjpjf}rº`(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�r»`}r¼`(jYX4Complete GEL log from A15 connect is provided below:r½`jcKjZj´`jbjr\jdjpjf}r¾`(jh]ji]jj]jk]jn]ujpKòjqhjr]r¿`j{X4Complete GEL log from A15 connect is provided below:rÀ`…�rÁ`}rÂ`(jYj½`jZj»`ubaubeubj)�rÃ`}rÄ`(jYXbIcePick_D: GEL Output: IVAHD ICONT1 is released from Wait-In-Reset. IcePick_D: GEL Output: IVAHD ICONT2 is released from Wait-In-Reset. CS_DAP_DebugSS: GEL Output: --->>> CONFIGURE DEBUG DPLL settings to 1.9 GHZs <<<--- CS_DAP_DebugSS: GEL Output: > Setup DebugSS 1.9GHz in progress... CS_DAP_DebugSS: GEL Output: < Done with Setup DebugSS Trace export clock (TPIU) to 97MHz CS_DAP_DebugSS: GEL Output: < Done with Setup DebugSS PLL Clocking 1.9GHz CS_DAP_DebugSS: GEL Output: < Done with Setup DebugSS ATB Clocking 380MHz CS_DAP_DebugSS: GEL Output: < Done with Setup DebugSS Trace export clock (TPIU) to 97MHz CS_DAP_DebugSS: GEL Output: --->>> TURNING ON L3_INSTR and L3_3 clocks required for debug instrumention <<<<<<---- CS_DAP_DebugSS: GEL Output: ---<<< L3 instrumentation clocks are enabled >>>> --- CS_DAP_DebugSS: GEL Output: --->>> Mapping TIMER supsend sources to default cores <<<<<<---- CS_DAP_PC: GEL Output: Cortex-A15 1 is not in WIR mode so nothing to do. CortexA15_0: GEL Output: --->>> AM572x GP EVM <<<--- CortexA15_0: GEL Output: --->>> AM572x Target Connect Sequence Begins ... <<<--- CortexA15_0: GEL Output: --->>> I2C Init <<<--- CortexA15_0: GEL Output: --->>> AM572x Begin MMC2 Pad Configuration <<<--- CortexA15_0: GEL Output: --->>> AM572x End MMC2 Pad Configuration <<<--- CortexA15_0: GEL Output: --->>> AM572x PG2.0 GP device <<<--- CortexA15_0: GEL Output: --->>> PRCM Clock Configuration for OPPNOM in progress... <<<--- CortexA15_0: GEL Output: Cortex A15 DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: Cortex A15 DPLL is already locked, now unlocking... CortexA15_0: GEL Output: Cortex A15 DPLL OPP 0 is DONE! CortexA15_0: GEL Output: IVA DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: IVA DPLL OPP 0 is DONE! CortexA15_0: GEL Output: PER DPLL OPP 0 clock config in progress... CortexA15_0: GEL Output: PER DPLL already locked, now unlocking CortexA15_0: GEL Output: PER DPLL OPP 0 is DONE! CortexA15_0: GEL Output: CORE DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: CORE DPLL OPP already locked, now unlocking.... CortexA15_0: GEL Output: CORE DPLL OPP 0 is DONE! CortexA15_0: GEL Output: ABE DPLL OPP 0 clock config in progress... CortexA15_0: GEL Output: ABE DPLL OPP 0 is DONE! CortexA15_0: GEL Output: GMAC DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: GMAC DPLL OPP 0 is DONE! CortexA15_0: GEL Output: GPU DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: GPU DPLL OPP 0 is DONE! CortexA15_0: GEL Output: DSP DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: DSP DPLL OPP 0 is DONE! CortexA15_0: GEL Output: PCIE_REF DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: PCIE_REF DPLL OPP 0 is DONE! CortexA15_0: GEL Output: --->>> PRCM Clock Configuration for OPP 0 is DONE! <<<--- CortexA15_0: GEL Output: --->>> PRCM Configuration for all modules in progress... <<<--- CortexA15_0: GEL Output: --->>> PRCM Configuration for all modules is DONE! <<<--- CortexA15_0: GEL Output: --->>> DDR3 Initialization is in progress ... <<<--- CortexA15_0: GEL Output: DDR DPLL clock config for 532MHz is in progress... CortexA15_0: GEL Output: DDR DPLL clock config for 532MHz is in DONE! CortexA15_0: GEL Output: Launch full leveling CortexA15_0: GEL Output: Updating slave ratios in PHY_STATUSx registers CortexA15_0: GEL Output: as per HW leveling output CortexA15_0: GEL Output: HW leveling is now disabled. Using slave ratios from CortexA15_0: GEL Output: PHY_STATUSx registers CortexA15_0: GEL Output: Launch full leveling CortexA15_0: GEL Output: Updating slave ratios in PHY_STATUSx registers CortexA15_0: GEL Output: as per HW leveling output CortexA15_0: GEL Output: HW leveling is now disabled. Using slave ratios from CortexA15_0: GEL Output: PHY_STATUSx registers CortexA15_0: GEL Output: Two EMIFs in interleaved mode - (2GB total) CortexA15_0: GEL Output: --->>> DDR3 Initialization is DONE! <<<--- CortexA15_0: GEL Output: --->>> AM572x Target Connect Sequence DONE !!!!! <<<--- CortexA15_0: GEL Output: --->>> IPU1SS Initialization is in progress ... <<<--- CortexA15_0: GEL Output: --->>> IPU1SS Initialization is DONE! <<<--- CortexA15_0: GEL Output: --->>> IPU2SS Initialization is in progress ... <<<--- CortexA15_0: GEL Output: --->>> IPU2SS Initialization is DONE! <<<--- CortexA15_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! <<<--- CortexA15_0: GEL Output: >> START ==> Enable L3 Clk CortexA15_0: GEL Output: >> Change Suspend source for GPTimer5 to DSP1 CortexA15_0: GEL Output: --->>> DSP2SS 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: --->>> DSP2SS Initialization is DONE! <<<--- CortexA15_0: GEL Output: --->>> IVAHD Initialization is in progress ... <<<--- CortexA15_0: GEL Output: DEBUG: Clock is active ... CortexA15_0: GEL Output: --->>> IVAHD Initialization is DONE! ... <<<--- CortexA15_0: GEL Output: --->>> PRUSS 1 and 2 Initialization is in progress ... <<<--- CortexA15_0: GEL Output: --->>> PRUSS 1 and 2 Initialization is in complete ... <<<---jZjo\jbjr\jdjjf}rÅ`(jöj÷jk]jj]jh]ji]jn]ujpM¡jqhjr]rÆ`j{XbIcePick_D: GEL Output: IVAHD ICONT1 is released from Wait-In-Reset. IcePick_D: GEL Output: IVAHD ICONT2 is released from Wait-In-Reset. CS_DAP_DebugSS: GEL Output: --->>> CONFIGURE DEBUG DPLL settings to 1.9 GHZs <<<--- CS_DAP_DebugSS: GEL Output: > Setup DebugSS 1.9GHz in progress... CS_DAP_DebugSS: GEL Output: < Done with Setup DebugSS Trace export clock (TPIU) to 97MHz CS_DAP_DebugSS: GEL Output: < Done with Setup DebugSS PLL Clocking 1.9GHz CS_DAP_DebugSS: GEL Output: < Done with Setup DebugSS ATB Clocking 380MHz CS_DAP_DebugSS: GEL Output: < Done with Setup DebugSS Trace export clock (TPIU) to 97MHz CS_DAP_DebugSS: GEL Output: --->>> TURNING ON L3_INSTR and L3_3 clocks required for debug instrumention <<<<<<---- CS_DAP_DebugSS: GEL Output: ---<<< L3 instrumentation clocks are enabled >>>> --- CS_DAP_DebugSS: GEL Output: --->>> Mapping TIMER supsend sources to default cores <<<<<<---- CS_DAP_PC: GEL Output: Cortex-A15 1 is not in WIR mode so nothing to do. CortexA15_0: GEL Output: --->>> AM572x GP EVM <<<--- CortexA15_0: GEL Output: --->>> AM572x Target Connect Sequence Begins ... <<<--- CortexA15_0: GEL Output: --->>> I2C Init <<<--- CortexA15_0: GEL Output: --->>> AM572x Begin MMC2 Pad Configuration <<<--- CortexA15_0: GEL Output: --->>> AM572x End MMC2 Pad Configuration <<<--- CortexA15_0: GEL Output: --->>> AM572x PG2.0 GP device <<<--- CortexA15_0: GEL Output: --->>> PRCM Clock Configuration for OPPNOM in progress... <<<--- CortexA15_0: GEL Output: Cortex A15 DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: Cortex A15 DPLL is already locked, now unlocking... CortexA15_0: GEL Output: Cortex A15 DPLL OPP 0 is DONE! CortexA15_0: GEL Output: IVA DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: IVA DPLL OPP 0 is DONE! CortexA15_0: GEL Output: PER DPLL OPP 0 clock config in progress... CortexA15_0: GEL Output: PER DPLL already locked, now unlocking CortexA15_0: GEL Output: PER DPLL OPP 0 is DONE! CortexA15_0: GEL Output: CORE DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: CORE DPLL OPP already locked, now unlocking.... CortexA15_0: GEL Output: CORE DPLL OPP 0 is DONE! CortexA15_0: GEL Output: ABE DPLL OPP 0 clock config in progress... CortexA15_0: GEL Output: ABE DPLL OPP 0 is DONE! CortexA15_0: GEL Output: GMAC DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: GMAC DPLL OPP 0 is DONE! CortexA15_0: GEL Output: GPU DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: GPU DPLL OPP 0 is DONE! CortexA15_0: GEL Output: DSP DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: DSP DPLL OPP 0 is DONE! CortexA15_0: GEL Output: PCIE_REF DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: PCIE_REF DPLL OPP 0 is DONE! CortexA15_0: GEL Output: --->>> PRCM Clock Configuration for OPP 0 is DONE! <<<--- CortexA15_0: GEL Output: --->>> PRCM Configuration for all modules in progress... <<<--- CortexA15_0: GEL Output: --->>> PRCM Configuration for all modules is DONE! <<<--- CortexA15_0: GEL Output: --->>> DDR3 Initialization is in progress ... <<<--- CortexA15_0: GEL Output: DDR DPLL clock config for 532MHz is in progress... CortexA15_0: GEL Output: DDR DPLL clock config for 532MHz is in DONE! CortexA15_0: GEL Output: Launch full leveling CortexA15_0: GEL Output: Updating slave ratios in PHY_STATUSx registers CortexA15_0: GEL Output: as per HW leveling output CortexA15_0: GEL Output: HW leveling is now disabled. Using slave ratios from CortexA15_0: GEL Output: PHY_STATUSx registers CortexA15_0: GEL Output: Launch full leveling CortexA15_0: GEL Output: Updating slave ratios in PHY_STATUSx registers CortexA15_0: GEL Output: as per HW leveling output CortexA15_0: GEL Output: HW leveling is now disabled. Using slave ratios from CortexA15_0: GEL Output: PHY_STATUSx registers CortexA15_0: GEL Output: Two EMIFs in interleaved mode - (2GB total) CortexA15_0: GEL Output: --->>> DDR3 Initialization is DONE! <<<--- CortexA15_0: GEL Output: --->>> AM572x Target Connect Sequence DONE !!!!! <<<--- CortexA15_0: GEL Output: --->>> IPU1SS Initialization is in progress ... <<<--- CortexA15_0: GEL Output: --->>> IPU1SS Initialization is DONE! <<<--- CortexA15_0: GEL Output: --->>> IPU2SS Initialization is in progress ... <<<--- CortexA15_0: GEL Output: --->>> IPU2SS Initialization is DONE! <<<--- CortexA15_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! <<<--- CortexA15_0: GEL Output: >> START ==> Enable L3 Clk CortexA15_0: GEL Output: >> Change Suspend source for GPTimer5 to DSP1 CortexA15_0: GEL Output: --->>> DSP2SS 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: --->>> DSP2SS Initialization is DONE! <<<--- CortexA15_0: GEL Output: --->>> IVAHD Initialization is in progress ... <<<--- CortexA15_0: GEL Output: DEBUG: Clock is active ... CortexA15_0: GEL Output: --->>> IVAHD Initialization is DONE! ... <<<--- CortexA15_0: GEL Output: --->>> PRUSS 1 and 2 Initialization is in progress ... <<<--- CortexA15_0: GEL Output: --->>> PRUSS 1 and 2 Initialization is in complete ... <<<---rÇ`…�rÈ`}rÉ`(jYUjZjÃ`ubaubjZ)�rÊ`}rË`(jYUjZjo\jbjr\jdj]jf}rÌ`(jh]ji]jj]jk]jn]ujpMGjqhjr]rÍ`j`)�rÎ`}rÏ`(jYUjcKjZjÊ`jbjr\jdjpjf}rÐ`(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�rÑ`}rÒ`(jYXMulti-core InitializationrÓ`jZjo\jbjr\jdjíjf}rÔ`(jk]rÕ`Umulti-core-initializationrÖ`ajj]jh]ji]jn]r×`haujpNjqhjr]rØ`j{XMulti-core InitializationrÙ`…�rÚ`}rÛ`(jYjÓ`jZjÑ`ubaubj¡)�rÜ`}rÝ`(jYX°After connecting to the boot master core -- typically the ARM core -- you may need to connect to a slave core in order to run code. Depending on your SOC, the slave core can berÞ`jZjo\jbjr\jdj¥jf}rß`(jh]ji]jj]jk]jn]ujpMLjqhjr]rà`j{X°After connecting to the boot master core -- typically the ARM core -- you may need to connect to a slave core in order to run code. Depending on your SOC, the slave core can berá`…�râ`}rã`(jYjÞ`jZjÜ`ubaubjC)�rä`}rå`(jYUjZjo\jbjr\jdj`jf}ræ`(jGX-jk]jj]jh]ji]jn]ujpMPjqhjr]rç`(j/)�rè`}ré`(jYXDSP C66xrê`jZjä`jbjr\jdj2jf}rë`(jh]ji]jj]jk]jn]ujpNjqhjr]rì`j¡)�rí`}rî`(jYjê`jZjè`jbjr\jdj¥jf}rï`(jh]ji]jj]jk]jn]ujpMPjr]rð`j{XDSP C66xrñ`…�rò`}ró`(jYjê`jZjí`ubaubaubj/)�rô`}rõ`(jYXARM M4rö`jZjä`jbjr\jdj2jf}r÷`(jh]ji]jj]jk]jn]ujpNjqhjr]rø`j¡)�rù`}rú`(jYjö`jZjô`jbjr\jdj¥jf}rû`(jh]ji]jj]jk]jn]ujpMQjr]rü`j{XARM M4rý`…�rþ`}rÿ`(jYjö`jZjù`ubaubaubj/)�ra}ra(jYXPRUSSrajZjä`jbjr\jdj2jf}ra(jh]ji]jj]jk]jn]ujpNjqhjr]raj¡)�ra}ra(jYjajZjajbjr\jdj¥jf}ra(jh]ji]jj]jk]jn]ujpMRjr]raj{XPRUSSr a…�r a}r a(jYjajZjaubaubaubj/)�r a}r a(jYXIVAHD jZjä`jbjr\jdj2jf}ra(jh]ji]jj]jk]jn]ujpNjqhjr]raj¡)�ra}ra(jYXIVAHDrajZj ajbjr\jdj¥jf}ra(jh]ji]jj]jk]jn]ujpMSjr]raj{XIVAHDra…�ra}ra(jYjajZjaubaubaubeubj¡)�ra}ra(jYXŸTypically the slave cores will wait in reset state until the master core wakes up the slave core to run code. To connect to the slave core on AM57x, go to **Scripts** menu in CCS Debug View and under **AM572x MULTICORE Initialization** enable the corresponding sub system clock. For example, enable ``DSP11SSClkEnable_API`` for the first DSP core. After running the clock enable option, you can connect to the core.jZjo\jbjr\jdj¥jf}ra(jh]ji]jj]jk]jn]ujpMUjqhjr]ra(j{X›Typically the slave cores will wait in reset state until the master core wakes up the slave core to run code. To connect to the slave core on AM57x, go to ra…�ra}ra(jYX›Typically the slave cores will wait in reset state until the master core wakes up the slave core to run code. To connect to the slave core on AM57x, go to jZjaubjü)�ra}r a(jYX **Scripts**jf}r!a(jh]ji]jj]jk]jn]ujZjajr]r"aj{XScriptsr#a…�r$a}r%a(jYUjZjaubajdjubj{X" menu in CCS Debug View and under r&a…�r'a}r(a(jYX" menu in CCS Debug View and under jZjaubjü)�r)a}r*a(jYX#**AM572x MULTICORE Initialization**jf}r+a(jh]ji]jj]jk]jn]ujZjajr]r,aj{XAM572x MULTICORE Initializationr-a…�r.a}r/a(jYUjZj)aubajdjubj{X@ enable the corresponding sub system clock. For example, enable r0a…�r1a}r2a(jYX@ enable the corresponding sub system clock. For example, enable jZjaubji')�r3a}r4a(jYX``DSP11SSClkEnable_API``jf}r5a(jh]ji]jj]jk]jn]ujZjajr]r6aj{XDSP11SSClkEnable_APIr7a…�r8a}r9a(jYUjZj3aubajdjq'ubj{X\ for the first DSP core. After running the clock enable option, you can connect to the core.r:a…�r;a}ra(jYX0.. Image:: ../../../images/Multicore-Enable.jpg jZjo\jbjr\jdjEjf}r?a(UuriX)rtos/../../../images/Multicore-Enable.jpgr@ajk]jj]jh]ji]jH}rAaU*j@asjn]ujpM]jqhjr]ubj¡)�rBa}rCa(jYXËIf you wish to run TI RTOS code on DSP, please also run the `Timer Suspend Control Options `__.jZjo\jbjr\jdj¥jf}rDa(jh]ji]jj]jk]jn]ujpM^jqhjr]rEa(j{X<If you wish to run TI RTOS code on DSP, please also run the rFa…�rGa}rHa(jYX<If you wish to run TI RTOS code on DSP, please also run the jZjBaubjÜ)�rIa}rJa(jYXŽ`Timer Suspend Control Options `__jf}rKa(UnameXTimer Suspend Control OptionsjXjhttp://processors.wiki.ti.com/index.php/AM572x_GP_EVM_Hardware_Setup#Timer_Suspend_Control_Options_for_DSPjk]jj]jh]ji]jn]ujZjBajr]rLaj{XTimer Suspend Control OptionsrMa…�rNa}rOa(jYUjZjIaubajdjàubj{X.…�rPa}rQa(jYX.jZjBaubeubjZ)�rRa}rSa(jYUjZjo\jbjr\jdj]jf}rTa(jh]ji]jj]jk]jn]ujpMbjqhjr]rUaj`)�rVa}rWa(jYUjcKjZjRajbjr\jdjpjf}rXa(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�rYa}rZa(jYX"Connect after booting from SD cardr[ajZjo\jbjr\jdjíjf}r\a(jk]r]aU"connect-after-booting-from-sd-cardr^aajj]jh]ji]jn]r_ah¯aujpNjqhjr]r`aj{X"Connect after booting from SD cardraa…�rba}rca(jYj[ajZjYaubaubj¡)�rda}rea(jYXÿWhen you boot an image from the SD card, the secondary boot loader will configure the device clocks, DDR and wake up the slave cores on the AM572x processor on GP EVM hence you don\`t need the GEL initialization scripts to redo the clock and DDR settings.jZjo\jbjr\jdj¥jf}rfa(jh]ji]jj]jk]jn]ujpMgjqhjr]rgaj{XþWhen you boot an image from the SD card, the secondary boot loader will configure the device clocks, DDR and wake up the slave cores on the AM572x processor on GP EVM hence you don`t need the GEL initialization scripts to redo the clock and DDR settings.rha…�ria}rja(jYXÿWhen you boot an image from the SD card, the secondary boot loader will configure the device clocks, DDR and wake up the slave cores on the AM572x processor on GP EVM hence you don\`t need the GEL initialization scripts to redo the clock and DDR settings.jZjdaubaubj¡)�rka}rla(jYX¥**Note:** If you are running the Image processing demo or have created an SD card with the SBL (mlo) for booting the board then please follow the following procedurejZjo\jbjr\jdj¥jf}rma(jh]ji]jj]jk]jn]ujpMljqhjr]rna(jü)�roa}rpa(jYX **Note:**jf}rqa(jh]ji]jj]jk]jn]ujZjkajr]rraj{XNote:rsa…�rta}rua(jYUjZjoaubajdjubj{Xœ If you are running the Image processing demo or have created an SD card with the SBL (mlo) for booting the board then please follow the following procedurerva…�rwa}rxa(jYXœ If you are running the Image processing demo or have created an SD card with the SBL (mlo) for booting the board then please follow the following procedurejZjkaubeubjè)�rya}rza(jYX&Configuring target configuration filesr{ajZjo\jbjr\jdjíjf}r|a(jk]r}aU(configuring-target-configuration-files-1r~aajj]jh]ji]jn]rahéaujpNjqhjr]r€aj{X&Configuring target configuration filesr�a…�r‚a}rƒa(jYj{ajZjyaubaubj¡)�r„a}r…a(jYX;Launch CCS and create new target configuration(File->New->Target Configuration file) as shown in the images below and provide appropriate name to the configuration. Select Spectrum digital XDS200 emulator and target as AM5728\_RevA. This target setting will not populate the GEL files when you connect to the targetjZjo\jbjr\jdj¥jf}r†a(jh]ji]jj]jk]jn]ujpMsjqhjr]r‡aj{X:Launch CCS and create new target configuration(File->New->Target Configuration file) as shown in the images below and provide appropriate name to the configuration. Select Spectrum digital XDS200 emulator and target as AM5728_RevA. This target setting will not populate the GEL files when you connect to the targetrˆa…�r‰a}rŠa(jYX;Launch CCS and create new target configuration(File->New->Target Configuration file) as shown in the images below and provide appropriate name to the configuration. Select Spectrum digital XDS200 emulator and target as AM5728\_RevA. This target setting will not populate the GEL files when you connect to the targetjZj„aubaubj¡)�r‹a}rŒa(jYX�**Note:** If you don\`t find the AM572x\_RevA target make sure you have installed the CCSv6.1.1 package and done the software update correctly.jZjo\jbjr\jdj¥jf}r�a(jh]ji]jj]jk]jn]ujpMyjqhjr]rŽa(jü)�r�a}r�a(jYX **Note:**jf}r‘a(jh]ji]jj]jk]jn]ujZj‹ajr]r’aj{XNote:r“a…�r”a}r•a(jYUjZj�aubajdjubj{X„ If you don`t find the AM572x_RevA target make sure you have installed the CCSv6.1.1 package and done the software update correctly.r–a…�r—a}r˜a(jYX† If you don\`t find the AM572x\_RevA target make sure you have installed the CCSv6.1.1 package and done the software update correctly.jZj‹aubeubjZ)�r™a}rša(jYUjZjo\jbjr\jdj]jf}r›a(jh]ji]jj]jk]jn]ujpM|jqhjr]rœaj`)�r�a}rža(jYUjcKjZj™ajbjr\jdjpjf}rŸa(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjB)�r a}r¡a(jYXB.. Image:: ../../../images/COnfigure_targetConfigFiles_SDboot.png jZjo\jbjr\jdjEjf}r¢a(UuriX;rtos/../../../images/COnfigure_targetConfigFiles_SDboot.pngr£ajk]jj]jh]ji]jH}r¤aU*j£asjn]ujpMjqhjr]ubjè)�r¥a}r¦a(jYXGEL file optionsr§ajZjo\jbjr\jdjíjf}r¨a(jk]r©aUgel-file-optionsrªaajj]jh]ji]jn]r«aj0aujpNjqhjr]r¬aj{XGEL file optionsr­a…�r®a}r¯a(jYj§ajZj¥aubaubjè)�r°a}r±a(jYXChanging SoC Operating pointr²ajZjo\jbjr\jdjíjf}r³a(jk]r´aUchanging-soc-operating-pointrµaajj]jh]ji]jn]r¶ajaujpNjqhjr]r·aj{XChanging SoC Operating pointr¸a…�r¹a}rºa(jYj²ajZj°aubaubj¡)�r»a}r¼a(jYXkThe GEL file for setting the clocks on the SoC provides 3 Operating points OPP\_NOM, OPP\_OD and OPP\_HIGH.jZjo\jbjr\jdj¥jf}r½a(jh]ji]jj]jk]jn]ujpM†jqhjr]r¾aj{XhThe GEL file for setting the clocks on the SoC provides 3 Operating points OPP_NOM, OPP_OD and OPP_HIGH.r¿a…�rÀa}rÁa(jYXkThe GEL file for setting the clocks on the SoC provides 3 Operating points OPP\_NOM, OPP\_OD and OPP\_HIGH.jZj»aubaubj¡)�rÂa}rÃa(jYX**OPP\_NOM PLL Settings:**rÄajZjo\jbjr\jdj¥jf}rÅa(jh]ji]jj]jk]jn]ujpM‰jqhjr]rÆajü)�rÇa}rÈa(jYX**OPP\_NOM PLL Settings:**jf}rÉa(jh]ji]jj]jk]jn]ujZjÂajr]rÊaj{XOPP_NOM PLL Settings:rËa…�rÌa}rÍa(jYUjZjÇaubajdjubaubjC)�rÎa}rÏa(jYUjZjo\jbjr\jdj`jf}rÐa(jGX-jk]jj]jh]ji]jn]ujpM‹jqhjr]rÑa(j/)�rÒa}rÓa(jYXARM = 1000 MHzrÔajZjÎajbjr\jdj2jf}rÕa(jh]ji]jj]jk]jn]ujpNjqhjr]rÖaj¡)�r×a}rØa(jYjÔajZjÒajbjr\jdj¥jf}rÙa(jh]ji]jj]jk]jn]ujpM‹jr]rÚaj{XARM = 1000 MHzrÛa…�rÜa}rÝa(jYjÔajZj×aubaubaubj/)�rÞa}rßa(jYX DSP = 600 MhzràajZjÎajbjr\jdj2jf}ráa(jh]ji]jj]jk]jn]ujpNjqhjr]râaj¡)�rãa}räa(jYjàajZjÞajbjr\jdj¥jf}råa(jh]ji]jj]jk]jn]ujpMŒjr]ræaj{X DSP = 600 Mhzrça…�rèa}réa(jYjàajZjãaubaubaubj/)�rêa}rëa(jYXIVA = 532 Mhz jZjÎajbjr\jdj2jf}rìa(jh]ji]jj]jk]jn]ujpNjqhjr]ríaj¡)�rîa}rïa(jYX IVA = 532 MhzrðajZjêajbjr\jdj¥jf}rña(jh]ji]jj]jk]jn]ujpM�jr]ròaj{X IVA = 532 Mhzróa…�rôa}rõa(jYjðajZjîaubaubaubeubj¡)�röa}r÷a(jYX**OPP\_OD PLL Settings:**røajZjo\jbjr\jdj¥jf}rùa(jh]ji]jj]jk]jn]ujpM�jqhjr]rúajü)�rûa}rüa(jYX**OPP\_OD PLL Settings:**jf}rýa(jh]ji]jj]jk]jn]ujZjöajr]rþaj{XOPP_OD PLL Settings:rÿa…�rb}rb(jYUjZjûaubajdjubaubjC)�rb}rb(jYUjZjo\jbjr\jdj`jf}rb(jGX-jk]jj]jh]ji]jn]ujpM‘jqhjr]rb(j/)�rb}rb(jYXARM = 1176 MHzrbjZjbjbjr\jdj2jf}r b(jh]ji]jj]jk]jn]ujpNjqhjr]r bj¡)�r b}r b(jYjbjZjbjbjr\jdj¥jf}r b(jh]ji]jj]jk]jn]ujpM‘jr]rbj{XARM = 1176 MHzrb…�rb}rb(jYjbjZj bubaubaubj/)�rb}rb(jYX DSP = 600 MhzrbjZjbjbjr\jdj2jf}rb(jh]ji]jj]jk]jn]ujpNjqhjr]rbj¡)�rb}rb(jYjbjZjbjbjr\jdj¥jf}rb(jh]ji]jj]jk]jn]ujpM’jr]rbj{X DSP = 600 Mhzrb…�rb}rb(jYjbjZjbubaubaubj/)�rb}rb(jYX IVA = 430 Mhzr bjZjbjbjr\jdj2jf}r!b(jh]ji]jj]jk]jn]ujpNjqhjr]r"bj¡)�r#b}r$b(jYj bjZjbjbjr\jdj¥jf}r%b(jh]ji]jj]jk]jn]ujpM“jr]r&bj{X IVA = 430 Mhzr'b…�r(b}r)b(jYj bjZj#bubaubaubj/)�r*b}r+b(jYX GPU =500 Mhz jZjbjbjr\jdj2jf}r,b(jh]ji]jj]jk]jn]ujpNjqhjr]r-bj¡)�r.b}r/b(jYX GPU =500 Mhzr0bjZj*bjbjr\jdj¥jf}r1b(jh]ji]jj]jk]jn]ujpM”jr]r2bj{X GPU =500 Mhzr3b…�r4b}r5b(jYj0bjZj.bubaubaubeubj¡)�r6b}r7b(jYX**OPP\_HIGH PLL Settings:**r8bjZjo\jbjr\jdj¥jf}r9b(jh]ji]jj]jk]jn]ujpM–jqhjr]r:bjü)�r;b}rbj{XOPP_HIGH PLL Settings:r?b…�r@b}rAb(jYUjZj;bubajdjubaubjC)�rBb}rCb(jYUjZjo\jbjr\jdj`jf}rDb(jGX-jk]jj]jh]ji]jn]ujpM˜jqhjr]rEb(j/)�rFb}rGb(jYXARM = 1500 MHzrHbjZjBbjbjr\jdj2jf}rIb(jh]ji]jj]jk]jn]ujpNjqhjr]rJbj¡)�rKb}rLb(jYjHbjZjFbjbjr\jdj¥jf}rMb(jh]ji]jj]jk]jn]ujpM˜jr]rNbj{XARM = 1500 MHzrOb…�rPb}rQb(jYjHbjZjKbubaubaubj/)�rRb}rSb(jYX DSP = 700 MhzrTbjZjBbjbjr\jdj2jf}rUb(jh]ji]jj]jk]jn]ujpNjqhjr]rVbj¡)�rWb}rXb(jYjTbjZjRbjbjr\jdj¥jf}rYb(jh]ji]jj]jk]jn]ujpM™jr]rZbj{X DSP = 700 Mhzr[b…�r\b}r]b(jYjTbjZjWbubaubaubj/)�r^b}r_b(jYX GPU = 425 Mhzr`bjZjBbjbjr\jdj2jf}rab(jh]ji]jj]jk]jn]ujpNjqhjr]rbbj¡)�rcb}rdb(jYj`bjZj^bjbjr\jdj¥jf}reb(jh]ji]jj]jk]jn]ujpMšjr]rfbj{X GPU = 425 Mhzrgb…�rhb}rib(jYj`bjZjcbubaubaubj/)�rjb}rkb(jYXIVA = 388.3 Mhz jZjBbjbjr\jdj2jf}rlb(jh]ji]jj]jk]jn]ujpNjqhjr]rmbj¡)�rnb}rob(jYXIVA = 388.3 MhzrpbjZjjbjbjr\jdj¥jf}rqb(jh]ji]jj]jk]jn]ujpM›jr]rrbj{XIVA = 388.3 Mhzrsb…�rtb}rub(jYjpbjZjnbubaubaubeubjZ)�rvb}rwb(jYUjZjo\jbjr\jdj]jf}rxb(jh]ji]jj]jk]jn]ujpM�jqhjr]rybj`)�rzb}r{b(jYUjcKjZjvbjbjr\jdjpjf}r|b(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�r}b}r~b(jYX%Timer Suspend Control Options for DSPrbjZjo\jbjr\jdjíjf}r€b(jk]r�bUid35r‚bajj]jh]ji]jn]rƒbhaujpNjqhjr]r„bj{X%Timer Suspend Control Options for DSPr…b…�r†b}r‡b(jYjbjZj}bubaubj¡)�rˆb}r‰b(jYX+On AM57xx devices, all the timers on the chip have their suspend control signal routed to the A15 core. Which means that if any of the slave cores are using these timers, the timers will continue to run even when the slave core has been paused. The timer will only pause when the A15 core is halted.rŠbjZjo\jbjr\jdj¥jf}r‹b(jh]ji]jj]jk]jn]ujpM¢jqhjr]rŒbj{X+On AM57xx devices, all the timers on the chip have their suspend control signal routed to the A15 core. Which means that if any of the slave cores are using these timers, the timers will continue to run even when the slave core has been paused. The timer will only pause when the A15 core is halted.r�b…�rŽb}r�b(jYjŠbjZjˆbubaubj¡)�r�b}r‘b(jYXÊThis is confusing while debugging code on slave cores if you are relying on timer for logging, inserting delays or if the timer keeps firing interrupts even when the core is halted. One such scenario occurs with *GPtimer5* when DSP developers are using SYS/BIOS. The OS uses *GPtimer5* on the DSP and forces a frequency check to confirm the timer configuration, however the OS can't gain access to the timer due to the hook up of the suspend control signals.jZjo\jbjr\jdj¥jf}r’b(jh]ji]jj]jk]jn]ujpM¨jqhjr]r“b(j{XÔThis is confusing while debugging code on slave cores if you are relying on timer for logging, inserting delays or if the timer keeps firing interrupts even when the core is halted. One such scenario occurs with r”b…�r•b}r–b(jYXÔThis is confusing while debugging code on slave cores if you are relying on timer for logging, inserting delays or if the timer keeps firing interrupts even when the core is halted. One such scenario occurs with jZj�bubjŸ')�r—b}r˜b(jYX *GPtimer5*jf}r™b(jh]ji]jj]jk]jn]ujZj�bjr]ršbj{XGPtimer5r›b…�rœb}r�b(jYUjZj—bubajdj§'ubj{X5 when DSP developers are using SYS/BIOS. The OS uses ržb…�rŸb}r b(jYX5 when DSP developers are using SYS/BIOS. The OS uses jZj�bubjŸ')�r¡b}r¢b(jYX *GPtimer5*jf}r£b(jh]ji]jj]jk]jn]ujZj�bjr]r¤bj{XGPtimer5r¥b…�r¦b}r§b(jYUjZj¡bubajdj§'ubj{X­ on the DSP and forces a frequency check to confirm the timer configuration, however the OS can't gain access to the timer due to the hook up of the suspend control signals.r¨b…�r©b}rªb(jYX­ on the DSP and forces a frequency check to confirm the timer configuration, however the OS can't gain access to the timer due to the hook up of the suspend control signals.jZj�bubeubj¡)�r«b}r¬b(jYX¼Due to this issue the SYS/BIOS developers will need to configure an additional CCS configuration check to connect the GPTimer suspend control signal to the DSP as shown in the image below:r­bjZjo\jbjr\jdj¥jf}r®b(jh]ji]jj]jk]jn]ujpM°jqhjr]r¯bj{X¼Due to this issue the SYS/BIOS developers will need to configure an additional CCS configuration check to connect the GPTimer suspend control signal to the DSP as shown in the image below:r°b…�r±b}r²b(jYj­bjZj«bubaubjB)�r³b}r´b(jYX3.. Image:: ../../../images/GPtimer5_DSPConnect.png jZjo\jbjr\jdjEjf}rµb(UuriX,rtos/../../../images/GPtimer5_DSPConnect.pngr¶bjk]jj]jh]ji]jH}r·bU*j¶bsjn]ujpMµjqhjr]ubjè)�r¸b}r¹b(jYXOther How-To OptionsrºbjZjo\jbjr\jdjíjf}r»b(jk]r¼bUother-how-to-optionsr½bajj]jh]ji]jn]r¾bj:aujpNjqhjr]r¿bj{XOther How-To OptionsrÀb…�rÁb}rÂb(jYjºbjZj¸bubaubjè)�rÃb}rÄb(jYXConnecting the UARTrÅbjZjo\jbjr\jdjíjf}rÆb(jk]rÇbUconnecting-the-uartrÈbajj]jh]ji]jn]rÉbh;aujpNjqhjr]rÊbj{XConnecting the UARTrËb…�rÌb}rÍb(jYjÅbjZjÃbubaubj¡)�rÎb}rÏb(jYX?Connecting FTDI cable to the 6 pin UART header for serial debugrÐbjZjo\jbjr\jdj¥jf}rÑb(jh]ji]jj]jk]jn]ujpM¼jqhjr]rÒbj{X?Connecting FTDI cable to the 6 pin UART header for serial debugrÓb…�rÔb}rÕb(jYjÐbjZjÎbubaubjB)�rÖb}r×b(jYX:.. Image:: ../../../images/GP_EVM_UART.jpg :scale: 50% jZjo\jbjr\jdjEjf}rØb(UscaleK2UuriX$rtos/../../../images/GP_EVM_UART.jpgrÙbjk]jj]jh]ji]jH}rÚbU*jÙbsjn]ujpNjqhjr]ubj¡)�rÛb}rÜb(jYX&**Note:** Pin 1 corresponds to ground.rÝbjZjo\jbjr\jdj¥jf}rÞb(jh]ji]jj]jk]jn]ujpMÁjqhjr]rßb(jü)�ràb}ráb(jYX **Note:**jf}râb(jh]ji]jj]jk]jn]ujZjÛbjr]rãbj{XNote:räb…�råb}ræb(jYUjZjàbubajdjubj{X Pin 1 corresponds to ground.rçb…�rèb}réb(jYX Pin 1 corresponds to ground.jZjÛbubeubj¡)�rêb}rëb(jYXâConnect the USB end to the host. If you connect to the EVM UART, use the following host configuration setup in the serial terminal software (Minicom, Teraterm, etc) Baud Rate: 115200 Data Bits: 8 Parity: None Flow Control: OffrìbjZjo\jbjr\jdj¥jf}ríb(jh]ji]jj]jk]jn]ujpMÃjqhjr]rîbj{XâConnect the USB end to the host. If you connect to the EVM UART, use the following host configuration setup in the serial terminal software (Minicom, Teraterm, etc) Baud Rate: 115200 Data Bits: 8 Parity: None Flow Control: Offrïb…�rðb}rñb(jYjìbjZjêbubaubjè)�ròb}rób(jYX5Connect Ethernet cable to enable Network ConnectivityrôbjZjo\jbjr\jdjíjf}rõb(jk]röbU5connect-ethernet-cable-to-enable-network-connectivityr÷bajj]jh]ji]jn]røbh aujpNjqhjr]rùbj{X5Connect Ethernet cable to enable Network Connectivityrúb…�rûb}rüb(jYjôbjZjòbubaubj¡)�rýb}rþb(jYXjFor ethernet connectivity connect the ethernet cable to the top serial port which is port 0 on the GP EVM.rÿbjZjo\jbjr\jdj¥jf}rc(jh]ji]jj]jk]jn]ujpMËjqhjr]rcj{XjFor ethernet connectivity connect the ethernet cable to the top serial port which is port 0 on the GP EVM.rc…�rc}rc(jYjÿbjZjýbubaubjB)�rc}rc(jYXM.. Image:: ../../../images/AM572x_GP_EVM_Ethernet_connect.jpg :scale: 50% jZjo\jbjr\jdjEjf}rc(UscaleK2UuriX7rtos/../../../images/AM572x_GP_EVM_Ethernet_connect.jpgrcjk]jj]jh]ji]jH}r cU*jcsjn]ujpNjqhjr]ubj¡)�r c}r c(jYX”You can connect the other end of the cable directly to the host or through a network switch based on the configuration required for your test setup.r cjZjo\jbjr\jdj¥jf}r c(jh]ji]jj]jk]jn]ujpMÑjqhjr]rcj{X”You can connect the other end of the cable directly to the host or through a network switch based on the configuration required for your test setup.rc…�rc}rc(jYj cjZj cubaubjî)�rc}rc(jYXTMDXIDK5728 Hardware SetupjZjo\jbjcjdjôjf}rc(jöj÷jk]jj]jh]ji]jn]ujpKljqhjr]rcj{XTMDXIDK5728 Hardware Setuprc…�rc}rc(jYUjZjcubaubjî)�rc}rc(jYX4====================================================jZjo\jbjcjdjôjf}rc(jöj÷jk]jj]jh]ji]jn]ujpKmjqhjr]rcj{X4====================================================rc…�rc}rc(jYUjZjcubaubjî)�r c}r!c(jYXBhttp://processors.wiki.ti.com/index.php/TMDXIDK5728_Hardware_SetupjZjo\jbj�XCsource/common/EVM_Hardware_Setup/TMDXIDK5728_Hardware_Setup.rst.incr"c…�r#c}r$cbjdjôjf}r%c(jöj÷jk]jj]jh]ji]jn]ujpKjqhjr]r&cj{XBhttp://processors.wiki.ti.com/index.php/TMDXIDK5728_Hardware_Setupr'c…�r(c}r)c(jYUjZj cubaubeubj[)�r*c}r+c(jYUjZjR\jbj#cjdjejf}r,c(jh]ji]jj]jk]r-cUtmdxidk5728-hardware-setupr.cajn]r/chiaujpKjqhjr]r0c(jt)�r1c}r2c(jYXTMDXIDK5728 Hardware Setupr3cjZj*cjbj#cjdjxjf}r4c(jh]ji]jj]jk]jn]ujpKjqhjr]r5cj{XTMDXIDK5728 Hardware Setupr6c…�r7c}r8c(jYj3cjZj1cubaubjè)�r9c}r:c(jYX Descriptionr;cjìKjZj*cjbj#cjdjíjf}rcajj]jh]r?cjˆ\aji]jn]ujpNjqhjr]r@cj{X DescriptionrAc…�rBc}rCc(jYj;cjZj9cubaubj¡)�rDc}rEc(jYX%The TMDXIDK5728 is a standalone test, development, and evaluation module system that enables developers to write software and develop hardware for industrial communication type applications. It has been equipped with a TI AM572x processor and a defined set of features to allow the user to experience industrial communication solutions using serial or Ethernet based interfaces. Using standard interfaces, the IDK may interface to other processors or systems and act as a communication gateway in this case. In addition it can directly operate as a standard remote I/O system or simple sensor connected to an industrial communication network. The embedded emulation logic allows emulation and debug using standard development tools such as TI’s Code Composer Studio by just using the supplied USB cable.rFcjZj*cjbj#cjdj¥jf}rGc(jh]ji]jj]jk]jn]ujpK jqhjr]rHcj{X%The TMDXIDK5728 is a standalone test, development, and evaluation module system that enables developers to write software and develop hardware for industrial communication type applications. It has been equipped with a TI AM572x processor and a defined set of features to allow the user to experience industrial communication solutions using serial or Ethernet based interfaces. Using standard interfaces, the IDK may interface to other processors or systems and act as a communication gateway in this case. In addition it can directly operate as a standard remote I/O system or simple sensor connected to an industrial communication network. The embedded emulation logic allows emulation and debug using standard development tools such as TI’s Code Composer Studio by just using the supplied USB cable.rIc…�rJc}rKc(jYjFcjZjDcubaubjè)�rLc}rMc(jYXEVM Layout and key componentsrNcjìKjZj*cjbj#cjdjíjf}rOc(jk]rPcUid37rQcajj]jh]rRcjH]aji]jn]ujpNjqhjr]rScj{XEVM Layout and key componentsrTc…�rUc}rVc(jYjNcjZjLcubaubjB)�rWc}rXc(jYX1.. Image:: ../../../images/AM572x_IDK_layout.png jZj*cjbj#cjdjEjf}rYc(UuriX*rtos/../../../images/AM572x_IDK_layout.pngrZcjk]jj]jh]ji]jH}r[cU*jZcsjn]ujpKjqhjr]ubjC)�r\c}r]c(jYUjZj*cjbj#cjdj`jf}r^c(jGX-jk]jj]jh]ji]jn]ujpKjqhjr]r_cj/)�r`c}rac(jYX1PRU1ETH0 and PRU2ETH0 are not enabled by default jZj\cjbj#cjdj2jf}rbc(jh]ji]jj]jk]jn]ujpNjqhjr]rccj¡)�rdc}rec(jYX0PRU1ETH0 and PRU2ETH0 are not enabled by defaultrfcjZj`cjbj#cjdj¥jf}rgc(jh]ji]jj]jk]jn]ujpKjr]rhcj{X0PRU1ETH0 and PRU2ETH0 are not enabled by defaultric…�rjc}rkc(jYjfcjZjdcubaubaubaubjè)�rlc}rmc(jYXQuick Start GuiderncjZj*cjbj#cjdjíjf}roc(jk]rpcUquick-start-guiderqcajj]jh]ji]jn]rrchJaujpNjqhjr]rscj{XQuick Start Guidertc…�ruc}rvc(jYjncjZjlcubaubj¡)�rwc}rxc(jYXÀThis section talks about how to quickly setup the AM572x Industrial Development Kit (IDK) EVM. This guide is a Beta version and it is designed to help you through the initial setup of the EVM.rycjZj*cjbj#cjdj¥jf}rzc(jh]ji]jj]jk]jn]ujpK jqhjr]r{cj{XÀThis section talks about how to quickly setup the AM572x Industrial Development Kit (IDK) EVM. This guide is a Beta version and it is designed to help you through the initial setup of the EVM.r|c…�r}c}r~c(jYjycjZjwcubaubjZ)�rc}r€c(jYUjZj*cjbj#cjdj]jf}r�c(jh]ji]jj]jk]jn]ujpK$jqhjr]r‚cj`)�rƒc}r„c(jYUjcKjZjcjbj#cjdjpjf}r…c(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjd$)�r†c}r‡c(jYUjZj*cjbNjdjg$jf}rˆc(jh]ji]jj]jk]jn]ujpNjqhjr]r‰cjj$)�rŠc}r‹c(jYUjf}rŒc(jk]jj]jh]ji]jn]UcolsKujZj†cjr]r�c(jo$)�rŽc}r�c(jYUjf}r�c(jk]jj]jh]ji]jn]UcolwidthKJujZjŠcjr]jdjs$ubj¬$)�r‘c}r’c(jYUjf}r“c(jh]ji]jj]jk]jn]ujZjŠcjr]r”c(j$)�r•c}r–c(jYUjf}r—c(jh]ji]jj]jk]jn]ujZj‘cjr]r˜cj„$)�r™c}ršc(jYUjf}r›c(jh]ji]jj]jk]jn]ujZj•cjr]rœcj¡)�r�c}ržc(jYX²**1. Once you have received the TI-RTOS or Linuxâ„¢ software from your TI representative, create a bootable µSD card (using the included blank µSD) and insert it into the EVM**rŸcjZj™cjbj#cjdj¥jf}r c(jh]ji]jj]jk]jn]ujpK'jr]r¡cjü)�r¢c}r£c(jYjŸcjf}r¤c(jh]ji]jj]jk]jn]ujZj�cjr]r¥cj{X®1. Once you have received the TI-RTOS or Linuxâ„¢ software from your TI representative, create a bootable µSD card (using the included blank µSD) and insert it into the EVMr¦c…�r§c}r¨c(jYUjZj¢cubajdjubaubajdj‘$ubajdjª$ubj$)�r©c}rªc(jYUjf}r«c(jh]ji]jj]jk]jn]ujZj‘cjr]r¬cj„$)�r­c}r®c(jYUjf}r¯c(jh]ji]jj]jk]jn]ujZj©cjr]r°c(cdocutils.nodes raw r±c)�r²c}r³c(jYX
jZj­cjbj#cjdUrawr´cjf}rµc(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpK+jr]r¶cj{X
r·c…�r¸c}r¹c(jYUjZj²cubaubj±c)�rºc}r»c(jYX-
jZj­cjbj#cjdj´cjf}r¼c(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpK/jr]r½cj{X-
r¾c…�r¿c}rÀc(jYUjZjºcubaubj±c)�rÁc}rÂc(jYX
jZj­cjbj#cjdj´cjf}rÃc(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpK3jr]rÄcj{X
rÅc…�rÆc}rÇc(jYUjZjÁcubaubj±c)�rÈc}rÉc(jYX
jZj­cjbj#cjdj´cjf}rÊc(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpK7jr]rËcj{X
rÌc…�rÍc}rÎc(jYUjZjÈcubaubjB)�rÏc}rÐc(jYX&.. Image:: ../../../images/IDK_uSD.pngjf}rÑc(UuriX rtos/../../../images/IDK_uSD.pngrÒcjk]jj]jh]ji]jH}rÓcU*jÒcsjn]ujZj­cjr]jdjEubejdj‘$ubajdjª$ubejdjy%ubejdjz%ubaubjd$)�rÔc}rÕc(jYUjZj*cjbNjdjg$jf}rÖc(jh]ji]jj]jk]jn]ujpNjqhjr]r×cjj$)�rØc}rÙc(jYUjf}rÚc(jk]jj]jh]ji]jn]UcolsKujZjÔcjr]rÛc(jo$)�rÜc}rÝc(jYUjf}rÞc(jk]jj]jh]ji]jn]UcolwidthKJujZjØcjr]jdjs$ubj¬$)�rßc}ràc(jYUjf}rác(jh]ji]jj]jk]jn]ujZjØcjr]râc(j$)�rãc}räc(jYUjf}råc(jh]ji]jj]jk]jn]ujZjßcjr]ræcj„$)�rçc}rèc(jYUjf}réc(jh]ji]jj]jk]jn]ujZjãcjr]rêcj¡)�rëc}rìc(jYX_**2. Connect the power cable to the power jack on the board and plug in to an AC power source**rícjZjçcjbj#cjdj¥jf}rîc(jh]ji]jj]jk]jn]ujpK?jr]rïcjü)�rðc}rñc(jYjícjf}ròc(jh]ji]jj]jk]jn]ujZjëcjr]rócj{X[2. Connect the power cable to the power jack on the board and plug in to an AC power sourcerôc…�rõc}röc(jYUjZjðcubajdjubaubajdj‘$ubajdjª$ubj$)�r÷c}røc(jYUjf}rùc(jh]ji]jj]jk]jn]ujZjßcjr]rúcj„$)�rûc}rüc(jYUjf}rýc(jh]ji]jj]jk]jn]ujZj÷cjr]rþc(j±c)�rÿc}rd(jYX
jZjûcjbj#cjdj´cjf}rd(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpKBjr]rdj{X
rd…�rd}rd(jYUjZjÿcubaubj±c)�rd}rd(jYX-
jZjûcjbj#cjdj´cjf}rd(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpKFjr]r dj{X-
r d…�r d}r d(jYUjZjdubaubj±c)�r d}rd(jYX
jZjûcjbj#cjdj´cjf}rd(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpKJjr]rdj{X
rd…�rd}rd(jYUjZj dubaubj±c)�rd}rd(jYX
jZjûcjbj#cjdj´cjf}rd(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpKNjr]rdj{X
rd…�rd}rd(jYUjZjdubaubjB)�rd}rd(jYX2.. Image:: ../../../images/Power_cord_connect.png jf}rd(UuriX+rtos/../../../images/Power_cord_connect.pngrdjk]jj]jh]ji]jH}rdU*jdsjn]ujZjûcjr]jdjEubejdj‘$ubajdjª$ubejdjy%ubejdjz%ubaubj¡)�r d}r!d(jYXvNote: When powering this IDK, always use the recommended power supply (GlobTek Part Number TR9CA6500LCP-N, Model Number GT-43008-3306-1.0-T3) or equivalent model having output voltage of +5VDC and output current max 6.5 Amp as well as the applicable regional product regulatory/safety certification requirements requirements such as (by example) UL, CSA, VDE, CCC, PSE, etc.r"djZj*cjbj#cjdj¥jf}r#d(jh]ji]jj]jk]jn]ujpKVjqhjr]r$dj{XvNote: When powering this IDK, always use the recommended power supply (GlobTek Part Number TR9CA6500LCP-N, Model Number GT-43008-3306-1.0-T3) or equivalent model having output voltage of +5VDC and output current max 6.5 Amp as well as the applicable regional product regulatory/safety certification requirements requirements such as (by example) UL, CSA, VDE, CCC, PSE, etc.r%d…�r&d}r'd(jYj"djZj dubaubjZ)�r(d}r)d(jYUjZj*cjbj#cjdj]jf}r*d(jh]ji]jj]jk]jn]ujpK]jqhjr]r+dj`)�r,d}r-d(jYUjcKjZj(djbj#cjdjpjf}r.d(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjd$)�r/d}r0d(jYUjZj*cjbNjdjg$jf}r1d(jh]ji]jj]jk]jn]ujpNjqhjr]r2djj$)�r3d}r4d(jYUjf}r5d(jk]jj]jh]ji]jn]UcolsKujZj/djr]r6d(jo$)�r7d}r8d(jYUjf}r9d(jk]jj]jh]ji]jn]UcolwidthKJujZj3djr]jdjs$ubj¬$)�r:d}r;d(jYUjf}rd}r?d(jYUjf}r@d(jh]ji]jj]jk]jn]ujZj:djr]rAdj„$)�rBd}rCd(jYUjf}rDd(jh]ji]jj]jk]jn]ujZj>djr]rEdj¡)�rFd}rGd(jYX°**3. Connect the microUSB cable to USB JTAG/Console port on the EVM and connect to the USB on the host. Connect Ethernet cable to GIG ETH0 if Network connectivity is required**rHdjZjBdjbj#cjdj¥jf}rId(jh]ji]jj]jk]jn]ujpK`jr]rJdjü)�rKd}rLd(jYjHdjf}rMd(jh]ji]jj]jk]jn]ujZjFdjr]rNdj{X¬3. Connect the microUSB cable to USB JTAG/Console port on the EVM and connect to the USB on the host. Connect Ethernet cable to GIG ETH0 if Network connectivity is requiredrOd…�rPd}rQd(jYUjZjKdubajdjubaubajdj‘$ubajdjª$ubj$)�rRd}rSd(jYUjf}rTd(jh]ji]jj]jk]jn]ujZj:djr]rUdj„$)�rVd}rWd(jYUjf}rXd(jh]ji]jj]jk]jn]ujZjRdjr]rYd(j±c)�rZd}r[d(jYX
jZjVdjbj#cjdj´cjf}r\d(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpKdjr]r]dj{X
r^d…�r_d}r`d(jYUjZjZdubaubj±c)�rad}rbd(jYX-
jZjVdjbj#cjdj´cjf}rcd(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpKhjr]rddj{X-
red…�rfd}rgd(jYUjZjadubaubj±c)�rhd}rid(jYX
jZjVdjbj#cjdj´cjf}rjd(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpKljr]rkdj{X
rld…�rmd}rnd(jYUjZjhdubaubj±c)�rod}rpd(jYX
jZjVdjbj#cjdj´cjf}rqd(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpKpjr]rrdj{X
rsd…�rtd}rud(jYUjZjodubaubjB)�rvd}rwd(jYX+.. Image:: ../../../images/JTAGUSB_UART.pngjf}rxd(UuriX%rtos/../../../images/JTAGUSB_UART.pngrydjk]jj]jh]ji]jH}rzdU*jydsjn]ujZjVdjr]jdjEubejdj‘$ubajdjª$ubejdjy%ubejdjz%ubaubj¡)�r{d}r|d(jYXU**Note:** The serial port will not show up on the host PC until you power on the EVM.jZj*cjbj#cjdj¥jf}r}d(jh]ji]jj]jk]jn]ujpKwjqhjr]r~d(jü)�rd}r€d(jYX **Note:**jf}r�d(jh]ji]jj]jk]jn]ujZj{djr]r‚dj{XNote:rƒd…�r„d}r…d(jYUjZjdubajdjubj{XL The serial port will not show up on the host PC until you power on the EVM.r†d…�r‡d}rˆd(jYXL The serial port will not show up on the host PC until you power on the EVM.jZj{dubeubjd$)�r‰d}rŠd(jYUjZj*cjbNjdjg$jf}r‹d(jh]ji]jj]jk]jn]ujpNjqhjr]rŒdjj$)�r�d}rŽd(jYUjf}r�d(jk]jj]jh]ji]jn]UcolsKujZj‰djr]r�d(jo$)�r‘d}r’d(jYUjf}r“d(jk]jj]jh]ji]jn]UcolwidthKJujZj�djr]jdjs$ubj¬$)�r”d}r•d(jYUjf}r–d(jh]ji]jj]jk]jn]ujZj�djr]r—d(j$)�r˜d}r™d(jYUjf}ršd(jh]ji]jj]jk]jn]ujZj”djr]r›dj„$)�rœd}r�d(jYUjf}ržd(jh]ji]jj]jk]jn]ujZj˜djr]rŸdj¡)�r d}r¡d(jYX7**4. Select the power ON button to run power the IDK.**r¢djZjœdjbj#cjdj¥jf}r£d(jh]ji]jj]jk]jn]ujpK{jr]r¤djü)�r¥d}r¦d(jYj¢djf}r§d(jh]ji]jj]jk]jn]ujZj djr]r¨dj{X34. Select the power ON button to run power the IDK.r©d…�rªd}r«d(jYUjZj¥dubajdjubaubajdj‘$ubajdjª$ubj$)�r¬d}r­d(jYUjf}r®d(jh]ji]jj]jk]jn]ujZj”djr]r¯dj„$)�r°d}r±d(jYUjf}r²d(jh]ji]jj]jk]jn]ujZj¬djr]r³d(j±c)�r´d}rµd(jYX
jZj°djbj#cjdj´cjf}r¶d(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpK}jr]r·dj{X
r¸d…�r¹d}rºd(jYUjZj´dubaubj±c)�r»d}r¼d(jYX-
jZj°djbj#cjdj´cjf}r½d(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpK�jr]r¾dj{X-
r¿d…�rÀd}rÁd(jYUjZj»dubaubj±c)�rÂd}rÃd(jYX
jZj°djbj#cjdj´cjf}rÄd(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpK…jr]rÅdj{X
rÆd…�rÇd}rÈd(jYUjZjÂdubaubj±c)�rÉd}rÊd(jYX
jZj°djbj#cjdj´cjf}rËd(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpK‰jr]rÌdj{X
rÍd…�rÎd}rÏd(jYUjZjÉdubaubjB)�rÐd}rÑd(jYX&.. Image:: ../../../images/PowerON.pngjf}rÒd(UuriX rtos/../../../images/PowerON.pngrÓdjk]jj]jh]ji]jH}rÔdU*jÓdsjn]ujZj°djr]jdjEubejdj‘$ubajdjª$ubejdjy%ubejdjz%ubaubj¡)�rÕd}rÖd(jYX¹After, you power on the EVM the Status, Industrial LED2, Industrial LED3 will turn on. If the microUSB cable is pluged in then the LED corresponding to FTDI UARTtoUSB will be turned on.r×djZj*cjbj#cjdj¥jf}rØd(jh]ji]jj]jk]jn]ujpK�jqhjr]rÙdj{X¹After, you power on the EVM the Status, Industrial LED2, Industrial LED3 will turn on. If the microUSB cable is pluged in then the LED corresponding to FTDI UARTtoUSB will be turned on.rÚd…�rÛd}rÜd(jYj×djZjÕdubaubjd$)�rÝd}rÞd(jYUjZj*cjbNjdjg$jf}rßd(jh]ji]jj]jk]jn]ujpNjqhjr]ràdjj$)�rád}râd(jYUjf}rãd(jk]jj]jh]ji]jn]UcolsKujZjÝdjr]räd(jo$)�råd}ræd(jYUjf}rçd(jk]jj]jh]ji]jn]UcolwidthK/ujZjádjr]jdjs$ubjo$)�rèd}réd(jYUjf}rêd(jk]jj]jh]ji]jn]UcolwidthK-ujZjádjr]jdjs$ubj¬$)�rëd}rìd(jYUjf}ríd(jh]ji]jj]jk]jn]ujZjádjr]rîd(j$)�rïd}rðd(jYUjf}rñd(jh]ji]jj]jk]jn]ujZjëdjr]ròdj„$)�ród}rôd(jYUjf}rõd(jk]UmorecolsKjj]jh]ji]jn]ujZjïdjr]rödj¡)�r÷d}rød(jYX/**5.** **Users can now connect to UART and the on board XDS100 emulator from the host machine.For UART port connections set the serial terminal software Tera term/minicom/hyperterminal to baudrate 115200 to see log messages. Connecting to target using emulator has been discussed in the section below.**jZjódjbj#cjdj¥jf}rùd(jh]ji]jj]jk]jn]ujpK•jr]rúd(jü)�rûd}rüd(jYX**5.**jf}rýd(jh]ji]jj]jk]jn]ujZj÷djr]rþdj{X5.rÿd…�re}re(jYUjZjûdubajdjubj{X …�re}re(jYX jZj÷dubjü)�re}re(jYX(**Users can now connect to UART and the on board XDS100 emulator from the host machine.For UART port connections set the serial terminal software Tera term/minicom/hyperterminal to baudrate 115200 to see log messages. Connecting to target using emulator has been discussed in the section below.**jf}re(jh]ji]jj]jk]jn]ujZj÷djr]rej{X$Users can now connect to UART and the on board XDS100 emulator from the host machine.For UART port connections set the serial terminal software Tera term/minicom/hyperterminal to baudrate 115200 to see log messages. Connecting to target using emulator has been discussed in the section below.re…�r e}r e(jYUjZjeubajdjubeubajdj‘$ubajdjª$ubj$)�r e}r e(jYUjf}r e(jh]ji]jj]jk]jn]ujZjëdjr]re(j„$)�re}re(jYUjf}re(jh]ji]jj]jk]jn]ujZj ejr]re(j±c)�re}re(jYX
jZjejbj#cjdj´cjf}re(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpK›jr]rej{X
re…�re}re(jYUjZjeubaubj±c)�re}re(jYX
jZjejbj#cjdj´cjf}re(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpKŸjr]rej{X
re…�re}r e(jYUjZjeubaubj±c)�r!e}r"e(jYX-
jZjejbj#cjdj´cjf}r#e(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpK¤jr]r$ej{X-
r%e…�r&e}r'e(jYUjZj!eubaubjB)�r(e}r)e(jYX... Image:: ../../../images/Serial_connect.jpg jf}r*e(UuriX'rtos/../../../images/Serial_connect.jpgr+ejk]jj]jh]ji]jH}r,eU*j+esjn]ujZjejr]jdjEubj±c)�r-e}r.e(jYX
jZjejbj#cjdj´cjf}r/e(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpK¬jr]r0ej{X
r1e…�r2e}r3e(jYUjZj-eubaubj±c)�r4e}r5e(jYX
jZjejbj#cjdj´cjf}r6e(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpK±jr]r7ej{X
r8e…�r9e}r:e(jYUjZj4eubaubejdj‘$ubj„$)�r;e}re(j±c)�r?e}r@e(jYX
jZj;ejbj#cjdj´cjf}rAe(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpK›jr]rBej{X
rCe…�rDe}rEe(jYUjZj?eubaubj±c)�rFe}rGe(jYX
jZj;ejbj#cjdj´cjf}rHe(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpKŸjr]rIej{X
rJe…�rKe}rLe(jYUjZjFeubaubj±c)�rMe}rNe(jYX-
jZj;ejbj#cjdj´cjf}rOe(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpK¤jr]rPej{X-
rQe…�rRe}rSe(jYUjZjMeubaubjB)�rTe}rUe(jYX(.. Image:: ../../../images/Baudrate.jpg jf}rVe(UuriX!rtos/../../../images/Baudrate.jpgrWejk]jj]jh]ji]jH}rXeU*jWesjn]ujZj;ejr]jdjEubj±c)�rYe}rZe(jYX
jZj;ejbj#cjdj´cjf}r[e(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpK¬jr]r\ej{X
r]e…�r^e}r_e(jYUjZjYeubaubj±c)�r`e}rae(jYX
jZj;ejbj#cjdj´cjf}rbe(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpK±jr]rcej{X
rde…�ree}rfe(jYUjZj`eubaubejdj‘$ubejdjª$ubejdjy%ubejdjz%ubaubjè)�rge}rhe(jYX*Connecting IDK EVM to Code Composer StudioriejZj*cjbj#cjdjíjf}rje(jk]rkeU*connecting-idk-evm-to-code-composer-studiorleajj]jh]ji]jn]rmej aujpNjqhjr]rnej{X*Connecting IDK EVM to Code Composer Studioroe…�rpe}rqe(jYjiejZjgeubaubj¡)�rre}rse(jYXz**Step1 :** Download Code composer Studio and AM572x Sitara CSP package as described in the wiki article mentioned below:jZj*cjbj#cjdj¥jf}rte(jh]ji]jj]jk]jn]ujpKºjqhjr]rue(jü)�rve}rwe(jYX **Step1 :**jf}rxe(jh]ji]jj]jk]jn]ujZjrejr]ryej{XStep1 :rze…�r{e}r|e(jYUjZjveubajdjubj{Xn Download Code composer Studio and AM572x Sitara CSP package as described in the wiki article mentioned below:r}e…�r~e}re(jYXn Download Code composer Studio and AM572x Sitara CSP package as described in the wiki article mentioned below:jZjreubeubj¡)�r€e}r�e(jYX–`Install Code composer Studio for AM572x `__r‚ejZj*cjbj#cjdj¥jf}rƒe(jh]ji]jj]jk]jn]ujpK½jqhjr]r„ejÜ)�r…e}r†e(jYj‚ejf}r‡e(UnameX'Install Code composer Studio for AM572xjXhhttp://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Getting_Started_Guide#Code_Composer_Studio%7Cjk]jj]jh]ji]jn]ujZj€ejr]rˆej{X'Install Code composer Studio for AM572xr‰e…�rŠe}r‹e(jYUjZj…eubajdjàubaubj¡)�rŒe}r�e(jYXM**Step2:** Connect IDK EVM as described in the `Quick Start Guide `__. Populating the uSD card is not required as the intent is to connect and load code over emulator and not to boot the device using uSD card. AM572x IDK doesn\`t have any boot switches to configure for emulation mode.jZj*cjbj#cjdj¥jf}rŽe(jh]ji]jj]jk]jn]ujpKÀjqhjr]r�e(jü)�r�e}r‘e(jYX **Step2:**jf}r’e(jh]ji]jj]jk]jn]ujZjŒejr]r“ej{XStep2:r”e…�r•e}r–e(jYUjZj�eubajdjubj{X% Connect IDK EVM as described in the r—e…�r˜e}r™e(jYX% Connect IDK EVM as described in the jZjŒeubjÜ)�rše}r›e(jYXF`Quick Start Guide `__jf}rœe(UnameXQuick Start GuidejX.http://www.ti.com/lit/ml/sprw282a/sprw282a.pdfjk]jj]jh]ji]jn]ujZjŒejr]r�ej{XQuick Start Guiderže…�rŸe}r e(jYUjZjšeubajdjàubj{X×. Populating the uSD card is not required as the intent is to connect and load code over emulator and not to boot the device using uSD card. AM572x IDK doesn`t have any boot switches to configure for emulation mode.r¡e…�r¢e}r£e(jYXØ. Populating the uSD card is not required as the intent is to connect and load code over emulator and not to boot the device using uSD card. AM572x IDK doesn\`t have any boot switches to configure for emulation mode.jZjŒeubeubj¡)�r¤e}r¥e(jYXô**Step3:** Launch CCS and create new target configuration(File->New->Target Configuration file) as shown in the images below and provide appropriate name to the configuration. Select Texas Instuments XDS100v2 emulator and target as IDK\_AM572x.jZj*cjbj#cjdj¥jf}r¦e(jh]ji]jj]jk]jn]ujpKÆjqhjr]r§e(jü)�r¨e}r©e(jYX **Step3:**jf}rªe(jh]ji]jj]jk]jn]ujZj¤ejr]r«ej{XStep3:r¬e…�r­e}r®e(jYUjZj¨eubajdjubj{Xé Launch CCS and create new target configuration(File->New->Target Configuration file) as shown in the images below and provide appropriate name to the configuration. Select Texas Instuments XDS100v2 emulator and target as IDK_AM572x.r¯e…�r°e}r±e(jYXê Launch CCS and create new target configuration(File->New->Target Configuration file) as shown in the images below and provide appropriate name to the configuration. Select Texas Instuments XDS100v2 emulator and target as IDK\_AM572x.jZj¤eubeubj±c)�r²e}r³e(jYXh
jZj*cjbj#cjdj´cjf}r´e(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpKËjqhjr]rµej{Xh
r¶e…�r·e}r¸e(jYUjZj²eubaubj¡)�r¹e}rºe(jYX‰**NOTE** If you don\`t find the IDK\_AM572x target make sure you have installed the Sitara Device support version 1.3.x package correctlyjZj*cjbj#cjdj¥jf}r»e(jh]ji]jj]jk]jn]ujpKÐjqhjr]r¼e(jü)�r½e}r¾e(jYX**NOTE**jf}r¿e(jh]ji]jj]jk]jn]ujZj¹ejr]rÀej{XNOTErÁe…�rÂe}rÃe(jYUjZj½eubajdjubj{X If you don`t find the IDK_AM572x target make sure you have installed the Sitara Device support version 1.3.x package correctlyrÄe…�rÅe}rÆe(jYX� If you don\`t find the IDK\_AM572x target make sure you have installed the Sitara Device support version 1.3.x package correctlyjZj¹eubeubj±c)�rÇe}rÈe(jYX
jZj*cjbj#cjdj´cjf}rÉe(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpKÔjqhjr]rÊej{X
rËe…�rÌe}rÍe(jYUjZjÇeubaubjB)�rÎe}rÏe(jYX4.. Image:: ../../../images/Target_configuration.png jZj*cjbj#cjdjEjf}rÐe(UuriX-rtos/../../../images/Target_configuration.pngrÑejk]jj]jh]ji]jH}rÒeU*jÑesjn]ujpKÙjqhjr]ubjZ)�rÓe}rÔe(jYUjZj*cjbj#cjdj]jf}rÕe(jh]ji]jj]jk]jn]ujpKÚjqhjr]rÖe(j`)�r×e}rØe(jYUjcKjZjÓejbj#cjdjpjf}rÙe(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�rÚe}rÛe(jYX¸**Step4:** In advance settings, Make sure that the corresponding IDK GEL file are populated for all the cores. The following GEL files and their corresponding cores are provided below:jcKjZjÓejbj#cjdjpjf}rÜe(jh]ji]jj]jk]jn]ujpKÝjqhjr]rÝe(jü)�rÞe}rße(jYX **Step4:**jf}ràe(jh]ji]jj]jk]jn]ujZjÚejr]ráej{XStep4:râe…�rãe}räe(jYUjZjÞeubajdjubj{X® In advance settings, Make sure that the corresponding IDK GEL file are populated for all the cores. The following GEL files and their corresponding cores are provided below:råe…�ræe}rçe(jYX® In advance settings, Make sure that the corresponding IDK GEL file are populated for all the cores. The following GEL files and their corresponding cores are provided below:jZjÚeubeubeubjC)�rèe}rée(jYUjZj*cjbj#cjdj`jf}rêe(jGX-jk]jj]jh]ji]jn]ujpKßjqhjr]rëe(j/)�rìe}ríe(jYXGCortex\_A15\_0: ..\\..\\emulation\\boards\\am572x\\gel\\idk\_am572x.geljZjèejbj#cjdj2jf}rîe(jh]ji]jj]jk]jn]ujpNjqhjr]rïej¡)�rðe}rñe(jYXGCortex\_A15\_0: ..\\..\\emulation\\boards\\am572x\\gel\\idk\_am572x.geljZjìejbj#cjdj¥jf}ròe(jh]ji]jj]jk]jn]ujpKßjr]róej{X>Cortex_A15_0: ..\..\emulation\boards\am572x\gel\idk_am572x.gelrôe…�rõe}röe(jYXGCortex\_A15\_0: ..\\..\\emulation\\boards\\am572x\\gel\\idk\_am572x.geljZjðeubaubaubj/)�r÷e}røe(jYXLC66x\_DSP1: ..\\..\\emulation\\boards\\am572x\\gel\\AM572x\_dsp\_startup.geljZjèejbj#cjdj2jf}rùe(jh]ji]jj]jk]jn]ujpNjqhjr]rúej¡)�rûe}rüe(jYXLC66x\_DSP1: ..\\..\\emulation\\boards\\am572x\\gel\\AM572x\_dsp\_startup.geljZj÷ejbj#cjdj¥jf}rýe(jh]ji]jj]jk]jn]ujpKájr]rþej{XCC66x_DSP1: ..\..\emulation\boards\am572x\gel\AM572x_dsp_startup.gelrÿe…�rf}rf(jYXLC66x\_DSP1: ..\\..\\emulation\\boards\\am572x\\gel\\AM572x\_dsp\_startup.geljZjûeubaubaubj/)�rf}rf(jYX\Cortex\_M4\_IPU1\_C0: ..\\..\\emulation\\boards\\am572x\\gel\\AM572x\_cortexM4\_startup.gel jZjèejbj#cjdj2jf}rf(jh]ji]jj]jk]jn]ujpNjqhjr]rfj¡)�rf}rf(jYX[Cortex\_M4\_IPU1\_C0: ..\\..\\emulation\\boards\\am572x\\gel\\AM572x\_cortexM4\_startup.geljZjfjbj#cjdj¥jf}rf(jh]ji]jj]jk]jn]ujpKãjr]r fj{XPCortex_M4_IPU1_C0: ..\..\emulation\boards\am572x\gel\AM572x_cortexM4_startup.gelr f…�r f}r f(jYX[Cortex\_M4\_IPU1\_C0: ..\\..\\emulation\\boards\\am572x\\gel\\AM572x\_cortexM4\_startup.geljZjfubaubaubeubj¡)�r f}rf(jYXuNote: GEL files are located under ccsv6\\ccs\_base\\emulation\\boards\\am572x\\gel after the CSP package is installedjZj*cjbj#cjdj¥jf}rf(jh]ji]jj]jk]jn]ujpKæjqhjr]rfj{XoNote: GEL files are located under ccsv6\ccs_base\emulation\boards\am572x\gel after the CSP package is installedrf…�rf}rf(jYXuNote: GEL files are located under ccsv6\\ccs\_base\\emulation\\boards\\am572x\\gel after the CSP package is installedjZj fubaubjZ)�rf}rf(jYUjZj*cjbj#cjdj]jf}rf(jh]ji]jj]jk]jn]ujpKêjqhjr]rf(j`)�rf}rf(jYUjcKjZjfjbj#cjdjpjf}rf(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�rf}rf(jYX&**Step5**: Launch Target configuration you just created. AM572x is an ARM master boot device so connect to the A15\_0 first. It is also recommended that you do a CPU reset from (Run->Reset->CPU Reset) Menu on the A15 to put it in a clean state as the IDK is designed to come up in SD boot mode.jcKjZjfjbj#cjdjpjf}rf(jh]ji]jj]jk]jn]ujpKïjqhjr]rf(jü)�rf}r f(jYX **Step5**jf}r!f(jh]ji]jj]jk]jn]ujZjfjr]r"fj{XStep5r#f…�r$f}r%f(jYUjZjfubajdjubj{X: Launch Target configuration you just created. AM572x is an ARM master boot device so connect to the A15_0 first. It is also recommended that you do a CPU reset from (Run->Reset->CPU Reset) Menu on the A15 to put it in a clean state as the IDK is designed to come up in SD boot mode.r&f…�r'f}r(f(jYX: Launch Target configuration you just created. AM572x is an ARM master boot device so connect to the A15\_0 first. It is also recommended that you do a CPU reset from (Run->Reset->CPU Reset) Menu on the A15 to put it in a clean state as the IDK is designed to come up in SD boot mode.jZjfubeubeubjZ)�r)f}r*f(jYUjZj*cjbj#cjdj]jf}r+f(jh]ji]jj]jk]jn]ujpKñjqhjr]r,f(j`)�r-f}r.f(jYUjcKjZj)fjbj#cjdjpjf}r/f(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�r0f}r1f(jYX4Complete GEL log from A15 connect is provided below:r2fjcKjZj)fjbj#cjdjpjf}r3f(jh]ji]jj]jk]jn]ujpKòjqhjr]r4fj{X4Complete GEL log from A15 connect is provided below:r5f…�r6f}r7f(jYj2fjZj0fubaubeubj)�r8f}r9f(jYX CortexA15_0: GEL Output: --->>> AM572x Target Connect Sequence Begins ... <<<--- CortexA15_0: GEL Output: --->>> AM572x Begin MMC2 Pad Configuration <<<--- CortexA15_0: GEL Output: --->>> AM572x End MMC2 Pad Configuration <<<--- CortexA15_0: GEL Output: --->>> AM572x PG1.1 GP device <<<--- CortexA15_0: GEL Output: --->>> I2C Init <<<--- CortexA15_0: GEL Output: --->>> PRCM Clock Configuration for OPPNOM in progress... <<<--- CortexA15_0: GEL Output: Cortex A15 DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: Cortex A15 DPLL is already locked, now unlocking... CortexA15_0: GEL Output: Cortex A15 DPLL OPP 0 is DONE! CortexA15_0: GEL Output: IVA DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: IVA DPLL OPP 0 is DONE! CortexA15_0: GEL Output: PER DPLL OPP 0 clock config in progress... CortexA15_0: GEL Output: PER DPLL already locked, now unlocking CortexA15_0: GEL Output: PER DPLL OPP 0 is DONE! CortexA15_0: GEL Output: CORE DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: CORE DPLL OPP already locked, now unlocking.... CortexA15_0: GEL Output: CORE DPLL OPP 0 is DONE! CortexA15_0: GEL Output: ABE DPLL OPP 0 clock config in progress... CortexA15_0: GEL Output: ABE DPLL OPP 0 is DONE! CortexA15_0: GEL Output: GMAC DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: GMAC DPLL OPP 0 is DONE! CortexA15_0: GEL Output: GPU DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: GPU DPLL OPP 0 is DONE! CortexA15_0: GEL Output: DSP DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: DSP DPLL OPP 0 is DONE! CortexA15_0: GEL Output: PCIE_REF DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: PCIE_REF DPLL OPP 0 is DONE! CortexA15_0: GEL Output: --->>> PRCM Clock Configuration for OPP 0 is DONE! <<<--- CortexA15_0: GEL Output: --->>> PRCM Configuration for all modules in progress... <<<--- CortexA15_0: GEL Output: --->>> PRCM Configuration for all modules is DONE! <<<--- CortexA15_0: GEL Output: --->>> DDR3 Initialization is in progress ... <<<--- CortexA15_0: GEL Output: DDR DPLL clock config for 532MHz is in progress... CortexA15_0: GEL Output: DDR DPLL clock config for 532MHz is in DONE! CortexA15_0: GEL Output: DEBUG: Overall DDR configuration CortexA15_0: GEL Output: DEBUG: EMIF1 and EMIF1 DDR IOs config (CTRL_MODULE_CORE_PAD module) CortexA15_0: GEL Output: DEBUG: DDR PHY config (CTRL_MODULE_WKUP module) CortexA15_0: GEL Output: DEBUG: EMIF1 ctrl + associated DDR PHYs initial config (EMIF1 module) CortexA15_0: GEL Output: DEBUG: EMIF1 channel - Launch full levelling CortexA15_0: GEL Output: DEBUG: EMIF2 ctrl + associated DDR PHYs initial config (EMIF2 module) CortexA15_0: GEL Output: DEBUG: EMIF1 channel - Launch full levelling CortexA15_0: GEL Output: DEBUG: Setting LISA maps in non-interleaved dual-EMIF mode CortexA15_0: GEL Output: --->>> DDR3 Initialization is DONE! <<<--- CortexA15_0: GEL Output: --->>> AM572x Target Connect Sequence DONE !!!!! <<>> AM572x Target Connect Sequence Begins ... <<<--- CortexA15_0: GEL Output: --->>> AM572x Begin MMC2 Pad Configuration <<<--- CortexA15_0: GEL Output: --->>> AM572x End MMC2 Pad Configuration <<<--- CortexA15_0: GEL Output: --->>> AM572x PG1.1 GP device <<<--- CortexA15_0: GEL Output: --->>> I2C Init <<<--- CortexA15_0: GEL Output: --->>> PRCM Clock Configuration for OPPNOM in progress... <<<--- CortexA15_0: GEL Output: Cortex A15 DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: Cortex A15 DPLL is already locked, now unlocking... CortexA15_0: GEL Output: Cortex A15 DPLL OPP 0 is DONE! CortexA15_0: GEL Output: IVA DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: IVA DPLL OPP 0 is DONE! CortexA15_0: GEL Output: PER DPLL OPP 0 clock config in progress... CortexA15_0: GEL Output: PER DPLL already locked, now unlocking CortexA15_0: GEL Output: PER DPLL OPP 0 is DONE! CortexA15_0: GEL Output: CORE DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: CORE DPLL OPP already locked, now unlocking.... CortexA15_0: GEL Output: CORE DPLL OPP 0 is DONE! CortexA15_0: GEL Output: ABE DPLL OPP 0 clock config in progress... CortexA15_0: GEL Output: ABE DPLL OPP 0 is DONE! CortexA15_0: GEL Output: GMAC DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: GMAC DPLL OPP 0 is DONE! CortexA15_0: GEL Output: GPU DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: GPU DPLL OPP 0 is DONE! CortexA15_0: GEL Output: DSP DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: DSP DPLL OPP 0 is DONE! CortexA15_0: GEL Output: PCIE_REF DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: PCIE_REF DPLL OPP 0 is DONE! CortexA15_0: GEL Output: --->>> PRCM Clock Configuration for OPP 0 is DONE! <<<--- CortexA15_0: GEL Output: --->>> PRCM Configuration for all modules in progress... <<<--- CortexA15_0: GEL Output: --->>> PRCM Configuration for all modules is DONE! <<<--- CortexA15_0: GEL Output: --->>> DDR3 Initialization is in progress ... <<<--- CortexA15_0: GEL Output: DDR DPLL clock config for 532MHz is in progress... CortexA15_0: GEL Output: DDR DPLL clock config for 532MHz is in DONE! CortexA15_0: GEL Output: DEBUG: Overall DDR configuration CortexA15_0: GEL Output: DEBUG: EMIF1 and EMIF1 DDR IOs config (CTRL_MODULE_CORE_PAD module) CortexA15_0: GEL Output: DEBUG: DDR PHY config (CTRL_MODULE_WKUP module) CortexA15_0: GEL Output: DEBUG: EMIF1 ctrl + associated DDR PHYs initial config (EMIF1 module) CortexA15_0: GEL Output: DEBUG: EMIF1 channel - Launch full levelling CortexA15_0: GEL Output: DEBUG: EMIF2 ctrl + associated DDR PHYs initial config (EMIF2 module) CortexA15_0: GEL Output: DEBUG: EMIF1 channel - Launch full levelling CortexA15_0: GEL Output: DEBUG: Setting LISA maps in non-interleaved dual-EMIF mode CortexA15_0: GEL Output: --->>> DDR3 Initialization is DONE! <<<--- CortexA15_0: GEL Output: --->>> AM572x Target Connect Sequence DONE !!!!! <<f(jYUjZj8fubaubjZ)�r?f}r@f(jYUjZj*cjbj#cjdj]jf}rAf(jh]ji]jj]jk]jn]ujpM"jqhjr]rBfj`)�rCf}rDf(jYUjcKjZj?fjbj#cjdjpjf}rEf(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rFf}rGf(jYX**Step6** : To connect to the DSP, M4,PRUSS or to IVAHD go to Scripts menu and under AM572x MULTICORE Initialization enable the corresponding Sub system clock Enable API.For Eg. FOr DSP1 select DSP11SSClkEnable\_API. After running the clock enable option, you can connect to the core.jZj*cjbj#cjdj¥jf}rHf(jh]ji]jj]jk]jn]ujpM$jqhjr]rIf(jü)�rJf}rKf(jYX **Step6**jf}rLf(jh]ji]jj]jk]jn]ujZjFfjr]rMfj{XStep6rNf…�rOf}rPf(jYUjZjJfubajdjubj{X : To connect to the DSP, M4,PRUSS or to IVAHD go to Scripts menu and under AM572x MULTICORE Initialization enable the corresponding Sub system clock Enable API.For Eg. FOr DSP1 select DSP11SSClkEnable_API. After running the clock enable option, you can connect to the core.rQf…�rRf}rSf(jYX : To connect to the DSP, M4,PRUSS or to IVAHD go to Scripts menu and under AM572x MULTICORE Initialization enable the corresponding Sub system clock Enable API.For Eg. FOr DSP1 select DSP11SSClkEnable\_API. After running the clock enable option, you can connect to the core.jZjFfubeubjZ)�rTf}rUf(jYUjZj*cjbj#cjdj]jf}rVf(jh]ji]jj]jk]jn]ujpM*jqhjr]rWfj`)�rXf}rYf(jYUjcKjZjTfjbj#cjdjpjf}rZf(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjB)�r[f}r\f(jYX0.. Image:: ../../../images/Multicore-Enable.jpg jZj*cjbj#cjdjEjf}r]f(UuriX)rtos/../../../images/Multicore-Enable.jpgr^fjk]jj]jh]ji]jH}r_fU*j^fsjn]ujpM-jqhjr]ubjè)�r`f}raf(jYX Related LinksrbfjZj*cjbj#cjdjíjf}rcf(jk]rdfU related-linksrefajj]jh]ji]jn]rffhaujpNjqhjr]rgfj{X Related Linksrhf…�rif}rjf(jYjbfjZj`fubaubj¡)�rkf}rlf(jYXd`AM572x\_Industrial\_EVM\_Hardware\_Users\_Guide `__rmfjZj*cjbj#cjdj¥jf}rnf(jh]ji]jj]jk]jn]ujpM1jqhjr]rofjÜ)�rpf}rqf(jYXd`AM572x\_Industrial\_EVM\_Hardware\_Users\_Guide `__jf}rrf(UnameX*AM572x_Industrial_EVM_Hardware_Users_GuidejX.http://www.ti.com/lit/ug/sprui64a/sprui64a.pdfjk]jj]jh]ji]jn]ujZjkfjr]rsfj{X*AM572x_Industrial_EVM_Hardware_Users_Guidertf…�ruf}rvf(jYUjZjpfubajdjàubaubjî)�rwf}rxf(jYX66AK2G02 GP EVM Hardware SetupjZj*cjbjcjdjôjf}ryf(jöj÷jk]jj]jh]ji]jn]ujpKpjqhjr]rzfj{X66AK2G02 GP EVM Hardware Setupr{f…�r|f}r}f(jYUjZjwfubaubjî)�r~f}rf(jYX4====================================================jZj*cjbjcjdjôjf}r€f(jöj÷jk]jj]jh]ji]jn]ujpKqjqhjr]r�fj{X4====================================================r‚f…�rƒf}r„f(jYUjZj~fubaubjî)�r…f}r†f(jYXFhttp://processors.wiki.ti.com/index.php/66AK2G02_GP_EVM_Hardware_SetupjZj*cjbj�XGsource/common/EVM_Hardware_Setup/66AK2G02_GP_EVM_Hardware_Setup.rst.incr‡f…�rˆf}r‰fbjdjôjf}rŠf(jöj÷jk]jj]jh]ji]jn]ujpKjqhjr]r‹fj{XFhttp://processors.wiki.ti.com/index.php/66AK2G02_GP_EVM_Hardware_SetuprŒf…�r�f}rŽf(jYUjZj…fubaubeubj[)�r�f}r�f(jYUjZjR\jbjˆfjdjejf}r‘f(jh]ji]jj]jk]r’fUak2gx-gp-evm-hardware-setupr“fajn]r”fhg}r?g(jYX$**High speed and Serial Interfaces**r@gjZj�fjbjˆfjdj¥jf}rAg(jh]ji]jj]jk]jn]ujpKjqhjr]rBgjü)�rCg}rDg(jYj@gjf}rEg(jh]ji]jj]jk]jn]ujZj>gjr]rFgj{X High speed and Serial InterfacesrGg…�rHg}rIg(jYUjZjCgubajdjubaubjC)�rJg}rKg(jYUjZj�fjbjˆfjdj`jf}rLg(jGX-jk]jj]jh]ji]jn]ujpK!jqhjr]rMg(j/)�rNg}rOg(jYXMGigabit Ethernet port supporting 10/100/1000 Mbps data rate on RJ45 connectorjZjJgjbjˆfjdj2jf}rPg(jh]ji]jj]jk]jn]ujpNjqhjr]rQgj¡)�rRg}rSg(jYXMGigabit Ethernet port supporting 10/100/1000 Mbps data rate on RJ45 connectorrTgjZjNgjbjˆfjdj¥jf}rUg(jh]ji]jj]jk]jn]ujpK!jr]rVgj{XMGigabit Ethernet port supporting 10/100/1000 Mbps data rate on RJ45 connectorrWg…�rXg}rYg(jYjTgjZjRgubaubaubj/)�rZg}r[g(jYXPCIe x1 card slotr\gjZjJgjbjˆfjdj2jf}r]g(jh]ji]jj]jk]jn]ujpNjqhjr]r^gj¡)�r_g}r`g(jYj\gjZjZgjbjˆfjdj¥jf}rag(jh]ji]jj]jk]jn]ujpK#jr]rbgj{XPCIe x1 card slotrcg…�rdg}reg(jYj\gjZj_gubaubaubj/)�rfg}rgg(jYXCOM8 interfacerhgjZjJgjbjˆfjdj2jf}rig(jh]ji]jj]jk]jn]ujpNjqhjr]rjgj¡)�rkg}rlg(jYjhgjZjfgjbjˆfjdj¥jf}rmg(jh]ji]jj]jk]jn]ujpK$jr]rngj{XCOM8 interfacerog…�rpg}rqg(jYjhgjZjkgubaubaubj/)�rrg}rsg(jYXDCAN and MLB interfacesrtgjZjJgjbjˆfjdj2jf}rug(jh]ji]jj]jk]jn]ujpNjqhjr]rvgj¡)�rwg}rxg(jYjtgjZjrgjbjˆfjdj¥jf}ryg(jh]ji]jj]jk]jn]ujpK%jr]rzgj{XDCAN and MLB interfacesr{g…�r|g}r}g(jYjtgjZjwgubaubaubj/)�r~g}rg(jYX.One USB2.0 host and one USB2.0 Dual-role portsr€gjZjJgjbjˆfjdj2jf}r�g(jh]ji]jj]jk]jn]ujpNjqhjr]r‚gj¡)�rƒg}r„g(jYj€gjZj~gjbjˆfjdj¥jf}r…g(jh]ji]jj]jk]jn]ujpK&jr]r†gj{X.One USB2.0 host and one USB2.0 Dual-role portsr‡g…�rˆg}r‰g(jYj€gjZjƒgubaubaubj/)�rŠg}r‹g(jYXpOne RS232 serial interface on DB9 connector or UART over mini-USB connector, One UART interface on 6 pin header jZjJgjbjˆfjdj2jf}rŒg(jh]ji]jj]jk]jn]ujpNjqhjr]r�gj¡)�rŽg}r�g(jYXoOne RS232 serial interface on DB9 connector or UART over mini-USB connector, One UART interface on 6 pin headerr�gjZjŠgjbjˆfjdj¥jf}r‘g(jh]ji]jj]jk]jn]ujpK'jr]r’gj{XoOne RS232 serial interface on DB9 connector or UART over mini-USB connector, One UART interface on 6 pin headerr“g…�r”g}r•g(jYj�gjZjŽgubaubaubeubj¡)�r–g}r—g(jYX**Multimedia and display:**r˜gjZj�fjbjˆfjdj¥jf}r™g(jh]ji]jj]jk]jn]ujpK*jqhjr]ršgjü)�r›g}rœg(jYj˜gjf}r�g(jh]ji]jj]jk]jn]ujZj–gjr]ržgj{XMultimedia and display:rŸg…�r g}r¡g(jYUjZj›gubajdjubaubjC)�r¢g}r£g(jYUjZj�fjbjˆfjdj`jf}r¤g(jGX-jk]jj]jh]ji]jn]ujpK,jqhjr]r¥g(j/)�r¦g}r§g(jYX:4.3â€� LCD display with Capacitive touch (Sold separately)r¨gjZj¢gjbjˆfjdj2jf}r©g(jh]ji]jj]jk]jn]ujpNjqhjr]rªgj¡)�r«g}r¬g(jYj¨gjZj¦gjbjˆfjdj¥jf}r­g(jh]ji]jj]jk]jn]ujpK,jr]r®gj{X:4.3â€� LCD display with Capacitive touch (Sold separately)r¯g…�r°g}r±g(jYj¨gjZj«gubaubaubj/)�r²g}r³g(jYXHDMI transmitterr´gjZj¢gjbjˆfjdj2jf}rµg(jh]ji]jj]jk]jn]ujpNjqhjr]r¶gj¡)�r·g}r¸g(jYj´gjZj²gjbjˆfjdj¥jf}r¹g(jh]ji]jj]jk]jn]ujpK-jr]rºgj{XHDMI transmitterr»g…�r¼g}r½g(jYj´gjZj·gubaubaubj/)�r¾g}r¿g(jYXAudio Line In and Line Out jZj¢gjbjˆfjdj2jf}rÀg(jh]ji]jj]jk]jn]ujpNjqhjr]rÁgj¡)�rÂg}rÃg(jYXAudio Line In and Line OutrÄgjZj¾gjbjˆfjdj¥jf}rÅg(jh]ji]jj]jk]jn]ujpK.jr]rÆgj{XAudio Line In and Line OutrÇg…�rÈg}rÉg(jYjÄgjZjÂgubaubaubeubj¡)�rÊg}rËg(jYX**JTAG and Emulation:**rÌgjZj�fjbjˆfjdj¥jf}rÍg(jh]ji]jj]jk]jn]ujpK0jqhjr]rÎgjü)�rÏg}rÐg(jYjÌgjf}rÑg(jh]ji]jj]jk]jn]ujZjÊgjr]rÒgj{XJTAG and Emulation:rÓg…�rÔg}rÕg(jYUjZjÏgubajdjubaubjC)�rÖg}r×g(jYUjZj�fjbjˆfjdj`jf}rØg(jGX-jk]jj]jh]ji]jn]ujpK2jqhjr]rÙg(j/)�rÚg}rÛg(jYXAMIPI 60-Pin JTAG header to support all types of external emulatorrÜgjZjÖgjbjˆfjdj2jf}rÝg(jh]ji]jj]jk]jn]ujpNjqhjr]rÞgj¡)�rßg}ràg(jYjÜgjZjÚgjbjˆfjdj¥jf}rág(jh]ji]jj]jk]jn]ujpK2jr]râgj{XAMIPI 60-Pin JTAG header to support all types of external emulatorrãg…�räg}råg(jYjÜgjZjßgubaubaubj/)�ræg}rçg(jYXOn Board XDS200 EmulatorrègjZjÖgjbjˆfjdj2jf}rég(jh]ji]jj]jk]jn]ujpNjqhjr]rêgj¡)�rëg}rìg(jYjègjZjægjbjˆfjdj¥jf}ríg(jh]ji]jj]jk]jn]ujpK3jr]rîgj{XOn Board XDS200 Emulatorrïg…�rðg}rñg(jYjègjZjëgubaubaubj/)�ròg}róg(jYX*Powered by DC power-wall adaptor (12V/5A) jZjÖgjbjˆfjdj2jf}rôg(jh]ji]jj]jk]jn]ujpNjqhjr]rõgj¡)�rög}r÷g(jYX)Powered by DC power-wall adaptor (12V/5A)røgjZjògjbjˆfjdj¥jf}rùg(jh]ji]jj]jk]jn]ujpK4jr]rúgj{X)Powered by DC power-wall adaptor (12V/5A)rûg…�rüg}rýg(jYjøgjZjögubaubaubeubjè)�rþg}rÿg(jYXEVM Layout and Key ComponentsrhjìKjZj�fjbjˆfjdjíjf}rh(jk]rhUid39rhajj]jh]rhXevm-layout-and-key-componentsrhaji]jn]ujpNjqhjr]rhj{XEVM Layout and Key Componentsrh…�rh}r h(jYjhjZjþgubaubjB)�r h}r h(jYX).. Image:: ../../../images/TI_K2GEVM.png jZj�fjbjˆfjdjEjf}r h(UuriX"rtos/../../../images/TI_K2GEVM.pngr hjk]jj]jh]ji]jH}rhU*j hsjn]ujpK:jqhjr]ubjè)�rh}rh(jYX+JTAG debug probes (aka Emulators) supportedrhjìKjZj�fjbjˆfjdjíjf}rh(jk]rhUid40rhajj]jh]rhjY]aji]jn]ujpNjqhjr]rhj{X+JTAG debug probes (aka Emulators) supportedrh…�rh}rh(jYjhjZjhubaubj¡)�rh}rh(jYX/List of standalone JTAG debug probes supported:rhjZj�fjbjˆfjdj¥jf}rh(jh]ji]jj]jk]jn]ujpK>jqhjr]rhj{X/List of standalone JTAG debug probes supported:rh…�r h}r!h(jYjhjZjhubaubjC)�r"h}r#h(jYUjZj�fjbjˆfjdj`jf}r$h(jGX-jk]jj]jh]ji]jn]ujpK@jqhjr]r%h(j/)�r&h}r'h(jYXVXDS100-class JTAG debug probes (low cost, low performance). XDS100v1 is not supported.jZj"hjbjˆfjdj2jf}r(h(jh]ji]jj]jk]jn]ujpNjqhjr]r)hj¡)�r*h}r+h(jYXVXDS100-class JTAG debug probes (low cost, low performance). XDS100v1 is not supported.r,hjZj&hjbjˆfjdj¥jf}r-h(jh]ji]jj]jk]jn]ujpK@jr]r.hj{XVXDS100-class JTAG debug probes (low cost, low performance). XDS100v1 is not supported.r/h…�r0h}r1h(jYj,hjZj*hubaubaubj/)�r2h}r3h(jYX,XDS200-class JTAG debug probes (recommended)r4hjZj"hjbjˆfjdj2jf}r5h(jh]ji]jj]jk]jn]ujpNjqhjr]r6hj¡)�r7h}r8h(jYj4hjZj2hjbjˆfjdj¥jf}r9h(jh]ji]jj]jk]jn]ujpKBjr]r:hj{X,XDS200-class JTAG debug probes (recommended)r;h…�rh}r?h(jYX4XDS560v2-class JTAG debug probes (high performance) jZj"hjbjˆfjdj2jf}r@h(jh]ji]jj]jk]jn]ujpNjqhjr]rAhj¡)�rBh}rCh(jYX3XDS560v2-class JTAG debug probes (high performance)rDhjZj>hjbjˆfjdj¥jf}rEh(jh]ji]jj]jk]jn]ujpKCjr]rFhj{X3XDS560v2-class JTAG debug probes (high performance)rGh…�rHh}rIh(jYjDhjZjBhubaubaubeubjZ)�rJh}rKh(jYUjZj�fjbjˆfjdj]jf}rLh(jh]ji]jj]jk]jn]ujpKEjqhjr]rMhj`)�rNh}rOh(jYUjcKjZjJhjbjˆfjdjpjf}rPh(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�rQh}rRh(jYXMinimal EVM setuprShjìKjZj�fjbjˆfjdjíjf}rTh(jk]rUhUid41rVhajj]jh]rWhjÓ]aji]jn]ujpNjqhjr]rXhj{XMinimal EVM setuprYh…�rZh}r[h(jYjShjZjQhubaubj–)�r\h}r]h(jYX.. _SettingBootSwitches:jìKjZj�fjbjˆfjdj™jf}r^h(jk]jj]jh]ji]jn]jâUsettingbootswitchesr_hujpMjqhjr]ubjè)�r`h}rah(jYXSetting boot switchesrbhjìKjZj�fjbjˆfjÄ}rchjj\hsjdjíjf}rdh(jk]reh(Uid42rfhj_hejj]jh]rghjß]aji]jn]rhhjaujpNjqhjÉ}rihj_hj\hsjr]rjhj{XSetting boot switchesrkh…�rlh}rmh(jYjbhjZj`hubaubj¡)�rnh}roh(jYXKThe DIP Switch /Boot mode switch (SW3) is used for selecting the boot mode.rphjZj�fjbjˆfjdj¥jf}rqh(jh]ji]jj]jk]jn]ujpKOjqhjr]rrhj{XKThe DIP Switch /Boot mode switch (SW3) is used for selecting the boot mode.rsh…�rth}ruh(jYjphjZjnhubaubjZ)�rvh}rwh(jYUjZj�fjbjˆfjdj]jf}rxh(jh]ji]jj]jk]jn]ujpKRjqhjr]ryh(j`)�rzh}r{h(jYUjcKjZjvhjbjˆfjdjpjf}r|h(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�r}h}r~h(jYXI**For EVM Out of box experience uses SD/MMC boot as shown in the image**:jcKjZjvhjbjˆfjdjpjf}rh(jh]ji]jj]jk]jn]ujpKTjqhjr]r€h(jü)�r�h}r‚h(jYXH**For EVM Out of box experience uses SD/MMC boot as shown in the image**jf}rƒh(jh]ji]jj]jk]jn]ujZj}hjr]r„hj{XDFor EVM Out of box experience uses SD/MMC boot as shown in the imager…h…�r†h}r‡h(jYUjZj�hubajdjubj{X:…�rˆh}r‰h(jYX:jZj}hubeubeubjB)�rŠh}r‹h(jYX2.. Image:: ../../../images/Boot_switch_SDboot.jpg jZj�fjbjˆfjdjEjf}rŒh(UuriX+rtos/../../../images/Boot_switch_SDboot.jpgr�hjk]jj]jh]ji]jH}rŽhU*j�hsjn]ujpKWjqhjr]ubjZ)�r�h}r�h(jYUjZj�fjbjˆfjdj]jf}r‘h(jh]ji]jj]jk]jn]ujpKXjqhjr]r’h(j`)�r“h}r”h(jYUjcKjZj�hjbjˆfjdjpjf}r•h(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�r–h}r—h(jYXK**For Debugging over emulator use "No Boot/Sleep" Setting as shown below**:jcKjZj�hjbjˆfjdjpjf}r˜h(jh]ji]jj]jk]jn]ujpKZjqhjr]r™h(jü)�ršh}r›h(jYXJ**For Debugging over emulator use "No Boot/Sleep" Setting as shown below**jf}rœh(jh]ji]jj]jk]jn]ujZj–hjr]r�hj{XFFor Debugging over emulator use "No Boot/Sleep" Setting as shown belowržh…�rŸh}r h(jYUjZjšhubajdjubj{X:…�r¡h}r¢h(jYX:jZj–hubeubeubjB)�r£h}r¤h(jYXA.. Image:: ../../../images/Boot_Switch_NoBoot.jpg :scale: 50% jZj�fjbjˆfjdjEjf}r¥h(UscaleK2UuriX+rtos/../../../images/Boot_Switch_NoBoot.jpgr¦hjk]jj]jh]ji]jH}r§hU*j¦hsjn]ujpNjqhjr]ubjZ)�r¨h}r©h(jYUjZj�fjbjˆfjdj]jf}rªh(jh]ji]jj]jk]jn]ujpK_jqhjr]r«h(j`)�r¬h}r­h(jYUjcKjZj¨hjbjˆfjdjpjf}r®h(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�r¯h}r°h(jYXOThe table below provides the list of all the boot modes supported on the GP EVMr±hjcKjZj¨hjbjˆfjdjpjf}r²h(jh]ji]jj]jk]jn]ujpKajqhjr]r³hj{XOThe table below provides the list of all the boot modes supported on the GP EVMr´h…�rµh}r¶h(jYj±hjZj¯hubaubeubj¡)�r·h}r¸h(jYXs**Note: Read the PCB marking around the boot switch for your EVM to interpret of ON and OFF marking on the switch**r¹hjZj�fjbjˆfjdj¥jf}rºh(jh]ji]jj]jk]jn]ujpKcjqhjr]r»hjü)�r¼h}r½h(jYj¹hjf}r¾h(jh]ji]jj]jk]jn]ujZj·hjr]r¿hj{XoNote: Read the PCB marking around the boot switch for your EVM to interpret of ON and OFF marking on the switchrÀh…�rÁh}rÂh(jYUjZj¼hubajdjubaubjC)�rÃh}rÄh(jYUjZj�fjbjˆfjdj`jf}rÅh(jGX-jk]jj]jh]ji]jn]ujpKfjqhjr]rÆh(j/)�rÇh}rÈh(jYX.For Rev C K2G02 GP EVM: ON = '0' and OFF = '1'rÉhjZjÃhjbjˆfjdj2jf}rÊh(jh]ji]jj]jk]jn]ujpNjqhjr]rËhj¡)�rÌh}rÍh(jYjÉhjZjÇhjbjˆfjdj¥jf}rÎh(jh]ji]jj]jk]jn]ujpKfjr]rÏhj{X.For Rev C K2G02 GP EVM: ON = '0' and OFF = '1'rÐh…�rÑh}rÒh(jYjÉhjZjÌhubaubaubj/)�rÓh}rÔh(jYX5For Rev C/Rev D K2G12 GP EVM: ON = '1' and OFF = '0' jZjÃhjbjˆfjdj2jf}rÕh(jh]ji]jj]jk]jn]ujpNjqhjr]rÖhj¡)�r×h}rØh(jYX4For Rev C/Rev D K2G12 GP EVM: ON = '1' and OFF = '0'rÙhjZjÓhjbjˆfjdj¥jf}rÚh(jh]ji]jj]jk]jn]ujpKgjr]rÛhj{X4For Rev C/Rev D K2G12 GP EVM: ON = '1' and OFF = '0'rÜh…�rÝh}rÞh(jYjÙhjZj×hubaubaubeubj¡)�rßh}ràh(jYXOther Boot Pin configurations:ráhjZj�fjbjˆfjdj¥jf}râh(jh]ji]jj]jk]jn]ujpKijqhjr]rãhj{XOther Boot Pin configurations:räh…�råh}ræh(jYjáhjZjßhubaubjZ)�rçh}rèh(jYUjZj�fjbjˆfjdj]jf}réh(jh]ji]jj]jk]jn]ujpKkjqhjr]rêhj`)�rëh}rìh(jYUjcKjZjçhjbjˆfjdjpjf}ríh(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjd$)�rîh}rïh(jYUjZj�fjbjˆfjdjg$jf}rðh(jh]ji]jj]jk]jn]ujpNjqhjr]rñhjj$)�ròh}róh(jYUjf}rôh(jk]jj]jh]ji]jn]UcolsKujZjîhjr]rõh(jo$)�röh}r÷h(jYUjf}røh(jk]jj]jh]ji]jn]UcolwidthKujZjòhjr]jdjs$ubjo$)�rùh}rúh(jYUjf}rûh(jk]jj]jh]ji]jn]UcolwidthKujZjòhjr]jdjs$ubjz$)�rüh}rýh(jYUjf}rþh(jh]ji]jj]jk]jn]ujZjòhjr]rÿhj$)�ri}ri(jYUjf}ri(jh]ji]jj]jk]jn]ujZjühjr]ri(j„$)�ri}ri(jYUjf}ri(jh]ji]jj]jk]jn]ujZjijr]rij¡)�ri}r i(jYXSW3[4:1]r ijZjijbjˆfjdj¥jf}r i(jh]ji]jj]jk]jn]ujpKnjr]r ij{XSW3[4:1]r i…�ri}ri(jYj ijZjiubaubajdj‘$ubj„$)�ri}ri(jYUjf}ri(jh]ji]jj]jk]jn]ujZjijr]rij¡)�ri}ri(jYX BOOT MODErijZjijbjˆfjdj¥jf}ri(jh]ji]jj]jk]jn]ujpKnjr]rij{X BOOT MODEri…�ri}ri(jYjijZjiubaubajdj‘$ubejdjª$ubajdj«$ubj¬$)�ri}ri(jYUjf}ri(jh]ji]jj]jk]jn]ujZjòhjr]ri(j$)�r i}r!i(jYUjf}r"i(jh]ji]jj]jk]jn]ujZjijr]r#i(j„$)�r$i}r%i(jYUjf}r&i(jh]ji]jj]jk]jn]ujZj ijr]r'ij¡)�r(i}r)i(jYX 0000 (0x0)r*ijZj$ijbjˆfjdj¥jf}r+i(jh]ji]jj]jk]jn]ujpKpjr]r,ij{X 0000 (0x0)r-i…�r.i}r/i(jYj*ijZj(iubaubajdj‘$ubj„$)�r0i}r1i(jYUjf}r2i(jh]ji]jj]jk]jn]ujZj ijr]r3ij¡)�r4i}r5i(jYX Sleep/No Bootr6ijZj0ijbjˆfjdj¥jf}r7i(jh]ji]jj]jk]jn]ujpKpjr]r8ij{X Sleep/No Bootr9i…�r:i}r;i(jYj6ijZj4iubaubajdj‘$ubejdjª$ubj$)�ri(jh]ji]jj]jk]jn]ujZjijr]r?i(j„$)�r@i}rAi(jYUjf}rBi(jh]ji]jj]jk]jn]ujZjj(jh]ji]jj]jk]jn]ujZj8jjr]r?jj¡)�r@j}rAj(jYX 1010 (0xa)rBjjZjk(jYXh
jZj�fjbjˆfjdj´cjf}r?k(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpK³jqhjr]r@kj{Xh
rAk…�rBk}rCk(jYUjZj=kubaubj¡)�rDk}rEk(jYX **NOTE** On Rev C boards and earlier revisions of the board, users who plan to connect the USB cable to USB 3.0 cable need to follow the instructions to update Emulation firmware using steps described in the article `Updating\_the\_XDS200\_firmware `__ Without the firmware update, users are recommended to disconnect the mini USB cable from the XDS USB connector before powering up the EVM and reconnect after board power up is complete.jZj�fjbjˆfjdj¥jf}rFk(jh]ji]jj]jk]jn]ujpK¸jqhjr]rGk(jü)�rHk}rIk(jYX**NOTE**jf}rJk(jh]ji]jj]jk]jn]ujZjDkjr]rKkj{XNOTErLk…�rMk}rNk(jYUjZjHkubajdjubj{XÐ On Rev C boards and earlier revisions of the board, users who plan to connect the USB cable to USB 3.0 cable need to follow the instructions to update Emulation firmware using steps described in the article rOk…�rPk}rQk(jYXÐ On Rev C boards and earlier revisions of the board, users who plan to connect the USB cable to USB 3.0 cable need to follow the instructions to update Emulation firmware using steps described in the article jZjDkubjÜ)�rRk}rSk(jYXw`Updating\_the\_XDS200\_firmware `__jf}rTk(UnameXUpdating_the_XDS200_firmwarejXQhttp://dev.ti.com/tirex/explore/node?node=AADzJ8Y-La4f7Bi5Ga0TcA__FUz-xrs__LATESTjk]jj]jh]ji]jn]ujZjDkjr]rUkj{XUpdating_the_XDS200_firmwarerVk…�rWk}rXk(jYUjZjRkubajdjàubj{Xº Without the firmware update, users are recommended to disconnect the mini USB cable from the XDS USB connector before powering up the EVM and reconnect after board power up is complete.rYk…�rZk}r[k(jYXº Without the firmware update, users are recommended to disconnect the mini USB cable from the XDS USB connector before powering up the EVM and reconnect after board power up is complete.jZjDkubeubj±c)�r\k}r]k(jYX
jZj�fjbjˆfjdj´cjf}r^k(UformatXhtmljöj÷jk]jj]jh]ji]jn]ujpKÁjqhjr]r_kj{X
r`k…�rak}rbk(jYUjZj\kubaubjZ)�rck}rdk(jYUjZj�fjbjˆfjdj]jf}rek(jh]ji]jj]jk]jn]ujpKÅjqhjr]rfk(j`)�rgk}rhk(jYUjcKjZjckjbjˆfjdjpjf}rik(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�rjk}rkk(jYX7**MIPI 60-pin header for connecting External emulator**rlkjcKjZjckjbjˆfjdjpjf}rmk(jh]ji]jj]jk]jn]ujpKÆjqhjr]rnkjü)�rok}rpk(jYjlkjf}rqk(jh]ji]jj]jk]jn]ujZjjkjr]rrkj{X3MIPI 60-pin header for connecting External emulatorrsk…�rtk}ruk(jYUjZjokubajdjubaubeubj¡)�rvk}rwk(jYXçIf you are using a different JTAG, you can connect it at MIPI60 connector (EMU1). The MIPI 60-pin JTAG header is provided on-board for high speed real-time emulation. All JTAG and EMUxx signals are terminated on MIPI 60-pin header.rxkjZj�fjbjˆfjdj¥jf}ryk(jh]ji]jj]jk]jn]ujpKÈjqhjr]rzkj{XçIf you are using a different JTAG, you can connect it at MIPI60 connector (EMU1). The MIPI 60-pin JTAG header is provided on-board for high speed real-time emulation. All JTAG and EMUxx signals are terminated on MIPI 60-pin header.r{k…�r|k}r}k(jYjxkjZjvkubaubj¡)�r~k}rk(jYXNo emulation firmware upgrade is required if users plan to use an external emulator The MIPI 60-pin JTAG header supports all standard (XDS510 or XDS560) TI DSP emulators. Please refer to the documentation supplied with your emulator for connection assistance.r€kjZj�fjbjˆfjdj¥jf}r�k(jh]ji]jj]jk]jn]ujpKÍjqhjr]r‚kj{XNo emulation firmware upgrade is required if users plan to use an external emulator The MIPI 60-pin JTAG header supports all standard (XDS510 or XDS560) TI DSP emulators. Please refer to the documentation supplied with your emulator for connection assistance.rƒk…�r„k}r…k(jYj€kjZj~kubaubjè)�r†k}r‡k(jYXPowering up the EVMrˆkjìKjZj�fjbjˆfjdjíjf}r‰k(jk]rŠkUid44r‹kajj]jh]rŒkji^aji]jn]ujpNjqhjr]r�kj{XPowering up the EVMrŽk…�r�k}r�k(jYjˆkjZj†kubaubjè)�r‘k}r’k(jYXPower Supply specificationsr“kjìKjZj�fjbjˆfjdjíjf}r”k(jk]r•kUid45r–kajj]jh]r—kju^aji]jn]ujpNjqhjr]r˜kj{XPower Supply specificationsr™k…�ršk}r›k(jYj“kjZj‘kubaubjî)�rœk}r�k(jYX,[[Image:CUI_Isolated_Power_Supply.png|300px]jZj�fjbjˆfjdjôjf}ržk(jöj÷jk]jj]jh]ji]jn]ujpKÙjqhjr]rŸkj{X,[[Image:CUI_Isolated_Power_Supply.png|300px]r k…�r¡k}r¢k(jYUjZjœkubaubj¡)�r£k}r¤k(jYXÕThe EVMK2G can be powered from a single +12V / 5.0A DC (60W) external power supply connected to the DC power jack (J3). Internally, +12V input is converted into required voltage levels using local DC-DC convertersr¥kjZj�fjbjˆfjdj¥jf}r¦k(jh]ji]jj]jk]jn]ujpKÚjqhjr]r§kj{XÕThe EVMK2G can be powered from a single +12V / 5.0A DC (60W) external power supply connected to the DC power jack (J3). Internally, +12V input is converted into required voltage levels using local DC-DC convertersr¨k…�r©k}rªk(jYj¥kjZj£kubaubj¡)�r«k}r¬k(jYX{Please note that a power supply is included with the 66AK2GX Evaluation Module. The power supply has the following specs :r­kjZj�fjbjˆfjdj¥jf}r®k(jh]ji]jj]jk]jn]ujpKÞjqhjr]r¯kj{X{Please note that a power supply is included with the 66AK2GX Evaluation Module. The power supply has the following specs :r°k…�r±k}r²k(jYj­kjZj«kubaubjC)�r³k}r´k(jYUjZj�fjbjˆfjdj`jf}rµk(jGX-jk]jj]jh]ji]jn]ujpKájqhjr]r¶k(j/)�r·k}r¸k(jYX 12V DC outputr¹kjZj³kjbjˆfjdj2jf}rºk(jh]ji]jj]jk]jn]ujpNjqhjr]r»kj¡)�r¼k}r½k(jYj¹kjZj·kjbjˆfjdj¥jf}r¾k(jh]ji]jj]jk]jn]ujpKájr]r¿kj{X 12V DC outputrÀk…�rÁk}rÂk(jYj¹kjZj¼kubaubaubj/)�rÃk}rÄk(jYX 5A outputrÅkjZj³kjbjˆfjdj2jf}rÆk(jh]ji]jj]jk]jn]ujpNjqhjr]rÇkj¡)�rÈk}rÉk(jYjÅkjZjÃkjbjˆfjdj¥jf}rÊk(jh]ji]jj]jk]jn]ujpKâjr]rËkj{X 5A outputrÌk…�rÍk}rÎk(jYjÅkjZjÈkubaubaubj/)�rÏk}rÐk(jYX+Positive inner and negative outer terminalsrÑkjZj³kjbjˆfjdj2jf}rÒk(jh]ji]jj]jk]jn]ujpNjqhjr]rÓkj¡)�rÔk}rÕk(jYjÑkjZjÏkjbjˆfjdj¥jf}rÖk(jh]ji]jj]jk]jn]ujpKãjr]r×kj{X+Positive inner and negative outer terminalsrØk…�rÙk}rÚk(jYjÑkjZjÔkubaubaubj/)�rÛk}rÜk(jYX@Female barrel with 2.5mm inner diameter and 5.5mm outer diameterrÝkjZj³kjbjˆfjdj2jf}rÞk(jh]ji]jj]jk]jn]ujpNjqhjr]rßkj¡)�ràk}rák(jYjÝkjZjÛkjbjˆfjdj¥jf}râk(jh]ji]jj]jk]jn]ujpKäjr]rãkj{X@Female barrel with 2.5mm inner diameter and 5.5mm outer diameterräk…�råk}ræk(jYjÝkjZjàkubaubaubj/)�rçk}rèk(jYXIsolated power supply jZj³kjbjˆfjdj2jf}rék(jh]ji]jj]jk]jn]ujpNjqhjr]rêkj¡)�rëk}rìk(jYXIsolated power supplyríkjZjçkjbjˆfjdj¥jf}rîk(jh]ji]jj]jk]jn]ujpKåjr]rïkj{XIsolated power supplyrðk…�rñk}ròk(jYjíkjZjëkubaubaubeubjè)�rók}rôk(jYX CCS SetuprõkjìKjZj�fjbjˆfjdjíjf}rök(jk]r÷kUid46røkajj]jh]rùkj)_aji]jn]ujpNjqhjr]rúkj{X CCS Setuprûk…�rük}rýk(jYjõkjZjókubaubj¡)�rþk}rÿk(jYXuThis section describes the setup to connect to 66AK2GX GP EVM using Code composer Studio environment and an emulator.rljZj�fjbjˆfjdj¥jf}rl(jh]ji]jj]jk]jn]ujpKêjqhjr]rlj{XuThis section describes the setup to connect to 66AK2GX GP EVM using Code composer Studio environment and an emulator.rl…�rl}rl(jYjljZjþkubaubj¡)�rl}rl(jYX6There are two scenarios while connecting to the EVM :rljZj�fjbjˆfjdj¥jf}r l(jh]ji]jj]jk]jn]ujpKíjqhjr]r lj{X6There are two scenarios while connecting to the EVM :r l…�r l}r l(jYjljZjlubaubjC)�rl}rl(jYUjZj�fjbjˆfjdj`jf}rl(jGX-jk]jj]jh]ji]jn]ujpKïjqhjr]rl(j/)�rl}rl(jYX?**Connect to EVM without a SD card boot image to boot the EVM**rljZjljbjˆfjdj2jf}rl(jh]ji]jj]jk]jn]ujpNjqhjr]rlj¡)�rl}rl(jYjljZjljbjˆfjdj¥jf}rl(jh]ji]jj]jk]jn]ujpKïjr]rljü)�rl}rl(jYjljf}rl(jh]ji]jj]jk]jn]ujZjljr]rlj{X;Connect to EVM without a SD card boot image to boot the EVMrl…�r l}r!l(jYUjZjlubajdjubaubaubj/)�r"l}r#l(jYX<**Connect to EVM after booting an image from the SD card**. jZjljbjˆfjdj2jf}r$l(jh]ji]jj]jk]jn]ujpNjqhjr]r%lj¡)�r&l}r'l(jYX;**Connect to EVM after booting an image from the SD card**.jZj"ljbjˆfjdj¥jf}r(l(jh]ji]jj]jk]jn]ujpKðjr]r)l(jü)�r*l}r+l(jYX:**Connect to EVM after booting an image from the SD card**jf}r,l(jh]ji]jj]jk]jn]ujZj&ljr]r-lj{X6Connect to EVM after booting an image from the SD cardr.l…�r/l}r0l(jYUjZj*lubajdjubj{X.…�r1l}r2l(jYX.jZj&lubeubaubeubj¡)�r3l}r4l(jYXsBefore discussing both these scenarios, let us look at how to pull in the latest KeystoneII device support in CCSv6r5ljZj�fjbjˆfjdj¥jf}r6l(jh]ji]jj]jk]jn]ujpKòjqhjr]r7lj{XsBefore discussing both these scenarios, let us look at how to pull in the latest KeystoneII device support in CCSv6r8l…�r9l}r:l(jYj5ljZj3lubaubjZ)�r;l}rlj`)�r?l}r@l(jYUjcKjZj;ljbjˆfjdjpjf}rAl(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�rBl}rCl(jYX;Update CCS v6 to install Keystone II device Support packagerDljZj�fjbjˆfjdjíjf}rEl(jk]rFlU;update-ccs-v6-to-install-keystone-ii-device-support-packagerGlajj]jh]ji]jn]rHlhaujpNjqhjr]rIlj{X;Update CCS v6 to install Keystone II device Support packagerJl…�rKl}rLl(jYjDljZjBlubaubj¡)�rMl}rNl(jYXnAll revisions of the board require this step to be performed in order to get the latest GEL files and the target content for the K2G. This step will not be required for CCS versions higher than version 6.1.3. CCSv6.1.3 package contain KeystoneII device support package v1.1.4 which doesn\`t contain 66AK2GX GPEVM specific target files hence we recommend this update.jZj�fjbjˆfjdj¥jf}rOl(jh]ji]jj]jk]jn]ujpKújqhjr]rPlj{XmAll revisions of the board require this step to be performed in order to get the latest GEL files and the target content for the K2G. This step will not be required for CCS versions higher than version 6.1.3. CCSv6.1.3 package contain KeystoneII device support package v1.1.4 which doesn`t contain 66AK2GX GPEVM specific target files hence we recommend this update.rQl…�rRl}rSl(jYXnAll revisions of the board require this step to be performed in order to get the latest GEL files and the target content for the K2G. This step will not be required for CCS versions higher than version 6.1.3. CCSv6.1.3 package contain KeystoneII device support package v1.1.4 which doesn\`t contain 66AK2GX GPEVM specific target files hence we recommend this update.jZjMlubaubj¡)�rTl}rUl(jYX˜**Step 1** All CCS v6.1.3 and earlier version users are required to update the Keystone Device Support package by going into the Help->Check For UpdatesjZj�fjbjˆfjdj¥jf}rVl(jh]ji]jj]jk]jn]ujpMjqhjr]rWl(jü)�rXl}rYl(jYX **Step 1**jf}rZl(jh]ji]jj]jk]jn]ujZjTljr]r[lj{XStep 1r\l…�r]l}r^l(jYUjZjXlubajdjubj{XŽ All CCS v6.1.3 and earlier version users are required to update the Keystone Device Support package by going into the Help->Check For Updatesr_l…�r`l}ral(jYXŽ All CCS v6.1.3 and earlier version users are required to update the Keystone Device Support package by going into the Help->Check For UpdatesjZjTlubeubjB)�rbl}rcl(jYX1.. Image:: ../../../images/Check_for_Updates.png jZj�fjbjˆfjdjEjf}rdl(UuriX*rtos/../../../images/Check_for_Updates.pngreljk]jj]jh]ji]jH}rflU*jelsjn]ujpMjqhjr]ubj¡)�rgl}rhl(jYXc**Step 2** Select Keystone2 device support package. Follow menu options to continue with the updatejZj�fjbjˆfjdj¥jf}ril(jh]ji]jj]jk]jn]ujpMjqhjr]rjl(jü)�rkl}rll(jYX **Step 2**jf}rml(jh]ji]jj]jk]jn]ujZjgljr]rnlj{XStep 2rol…�rpl}rql(jYUjZjklubajdjubj{XY Select Keystone2 device support package. Follow menu options to continue with the updaterrl…�rsl}rtl(jYXY Select Keystone2 device support package. Follow menu options to continue with the updatejZjglubeubj¡)�rul}rvl(jYX¥**Step 3** After the update is complete go to Help->Installation details and check that Keystone2 device support package v1.1.5 or later are installed as shown belowjZj�fjbjˆfjdj¥jf}rwl(jh]ji]jj]jk]jn]ujpM jqhjr]rxl(jü)�ryl}rzl(jYX **Step 3**jf}r{l(jh]ji]jj]jk]jn]ujZjuljr]r|lj{XStep 3r}l…�r~l}rl(jYUjZjylubajdjubj{X› After the update is complete go to Help->Installation details and check that Keystone2 device support package v1.1.5 or later are installed as shown belowr€l…�r�l}r‚l(jYX› After the update is complete go to Help->Installation details and check that Keystone2 device support package v1.1.5 or later are installed as shown belowjZjulubeubjB)�rƒl}r„l(jYXA.. Image:: ../../../images/KeystoneII_device_support_package.png jZj�fjbjˆfjdjEjf}r…l(UuriX:rtos/../../../images/KeystoneII_device_support_package.pngr†ljk]jj]jh]ji]jH}r‡lU*j†lsjn]ujpMjqhjr]ubj¡)�rˆl}r‰l(jYXu**Note:** The package can be downloaded separately from the link below and manually unzipped into CCSv6 installation.jZj�fjbjˆfjdj¥jf}rŠl(jh]ji]jj]jk]jn]ujpMjqhjr]r‹l(jü)�rŒl}r�l(jYX **Note:**jf}rŽl(jh]ji]jj]jk]jn]ujZjˆljr]r�lj{XNote:r�l…�r‘l}r’l(jYUjZjŒlubajdjubj{Xl The package can be downloaded separately from the link below and manually unzipped into CCSv6 installation.r“l…�r”l}r•l(jYXl The package can be downloaded separately from the link below and manually unzipped into CCSv6 installation.jZjˆlubeubjC)�r–l}r—l(jYUjZj�fjbjˆfjdj`jf}r˜l(jGX-jk]jj]jh]ji]jn]ujpMjqhjr]r™lj/)�ršl}r›l(jYXX`Device Support Files `__ jZj–ljbjˆfjdj2jf}rœl(jh]ji]jj]jk]jn]ujpNjqhjr]r�lj¡)�ržl}rŸl(jYXW`Device Support Files `__r ljZjšljbjˆfjdj¥jf}r¡l(jh]ji]jj]jk]jn]ujpMjr]r¢ljÜ)�r£l}r¤l(jYj ljf}r¥l(UnameXDevice Support FilesjX<http://processors.wiki.ti.com/index.php/Device_support_filesjk]jj]jh]ji]jn]ujZjžljr]r¦lj{XDevice Support Filesr§l…�r¨l}r©l(jYUjZj£lubajdjàubaubaubaubjZ)�rªl}r«l(jYUjZj�fjbjˆfjdj]jf}r¬l(jh]ji]jj]jk]jn]ujpMjqhjr]r­l(j`)�r®l}r¯l(jYUjcKjZjªljbjˆfjdjpjf}r°l(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�r±l}r²l(jYXì**Note for K2G devices:** If using CCS v6.1.2 and Keystone2 device support v1.1.7, 66AK2G02 would not show up in the list of devices when creating the target configuration. This is due to an incompatibility in the XML parser in CCS v6.1.2 with the K2G device xml. In order to work-around this issue, make the change in 66AK2G02.xml as illustrated below in order to have 66AK2G02 display in the device list. This problem does not exist in CCS v6.1.3 onwards as the XML parser has been updated.jcKjZjªljbjˆfjdjpjf}r³l(jh]ji]jj]jk]jn]ujpMjqhjr]r´l(jü)�rµl}r¶l(jYX**Note for K2G devices:**jf}r·l(jh]ji]jj]jk]jn]ujZj±ljr]r¸lj{XNote for K2G devices:r¹l…�rºl}r»l(jYUjZjµlubajdjubj{XÓ If using CCS v6.1.2 and Keystone2 device support v1.1.7, 66AK2G02 would not show up in the list of devices when creating the target configuration. This is due to an incompatibility in the XML parser in CCS v6.1.2 with the K2G device xml. In order to work-around this issue, make the change in 66AK2G02.xml as illustrated below in order to have 66AK2G02 display in the device list. This problem does not exist in CCS v6.1.3 onwards as the XML parser has been updated.r¼l…�r½l}r¾l(jYXÓ If using CCS v6.1.2 and Keystone2 device support v1.1.7, 66AK2G02 would not show up in the list of devices when creating the target configuration. This is due to an incompatibility in the XML parser in CCS v6.1.2 with the K2G device xml. In order to work-around this issue, make the change in 66AK2G02.xml as illustrated below in order to have 66AK2G02 display in the device list. This problem does not exist in CCS v6.1.3 onwards as the XML parser has been updated.jZj±lubeubeubjZ)�r¿l}rÀl(jYUjZj�fjbjˆfjdj]jf}rÁl(jh]ji]jj]jk]jn]ujpM jqhjr]rÂlj`)�rÃl}rÄl(jYXAC:\\ti\\ccsv6\\ccs\_base\\common\\targetdb\\devices\\66AK2G02.xmljcKjZj¿ljbjˆfjdjpjf}rÅl(jh]ji]jj]jk]jn]ujpM jqhjr]rÆlj{X9C:\ti\ccsv6\ccs_base\common\targetdb\devices\66AK2G02.xmlrÇl…�rÈl}rÉl(jYXAC:\\ti\\ccsv6\\ccs\_base\\common\\targetdb\\devices\\66AK2G02.xmljZjÃlubaubaubjZ)�rÊl}rËl(jYUjZj�fjbjˆfjdj]jf}rÌl(jh]ji]jj]jk]jn]ujpM"jqhjr]rÍlj`)�rÎl}rÏl(jYXLine #1rÐljcKjZjÊljbjˆfjdjpjf}rÑl(jh]ji]jj]jk]jn]ujpM"jqhjr]rÒlj{XLine #1rÓl…�rÔl}rÕl(jYjÐljZjÎlubaubaubjZ)�rÖl}r×l(jYUjZj�fjbjˆfjdj]jf}rØl(jh]ji]jj]jk]jn]ujpM$jqhjr]rÙl(j`)�rÚl}rÛl(jYX6rÜljcKjZjÖljbjˆfjdjpjf}rÝl(jh]ji]jj]jk]jn]ujpM$jqhjr]rÞlj{X6rßl…�ràl}rál(jYjÜljZjÚlubaubj`)�râl}rãl(jYXtoräljcKjZjÖljbjˆfjdjpjf}rål(jh]ji]jj]jk]jn]ujpM%jqhjr]rælj{Xtorçl…�rèl}rél(jYjäljZjâlubaubj`)�rêl}rël(jYX6rìljcKjZjÖljbjˆfjdjpjf}ríl(jh]ji]jj]jk]jn]ujpM&jqhjr]rîlj{X6rïl…�rðl}rñl(jYjìljZjêlubaubeubjZ)�ròl}ról(jYUjZj�fjbjˆfjdj]jf}rôl(jh]ji]jj]jk]jn]ujpM(jqhjr]rõlj`)�röl}r÷l(jYUjcKjZjòljbjˆfjdjpjf}røl(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjZ)�rùl}rúl(jYUjZj�fjbjˆfjdj]jf}rûl(jh]ji]jj]jk]jn]ujpM*jqhjr]rülj`)�rýl}rþl(jYUjcKjZjùljbjˆfjdjpjf}rÿl(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�rm}rm(jYX$Connect without a SD card boot imagermjìKjZj�fjbjˆfjdjíjf}rm(jk]rmUid47rmajj]jh]rmjb_aji]jn]ujpNjqhjr]rmj{X$Connect without a SD card boot imagerm…�r m}r m(jYjmjZjmubaubj–)�r m}r m(jYX .. _ConfiguringTargetConfigFile:jìKjZj�fjbjˆfjdj™jf}r m(jk]jj]jh]ji]jn]jâUconfiguringtargetconfigfilermujpMíjqhjr]ubjè)�rm}rm(jYX&Configuring target configuration filesrmjìKjZj�fjbjˆfjÄ}rmj%j msjdjíjf}rm(jk]rm(Uid48rmjmejj]jh]rmjn_aji]jn]rmj%aujpNjqhjÉ}rmjmj msjr]rmj{X&Configuring target configuration filesrm…�rm}rm(jYjmjZjmubaubj¡)�rm}rm(jYXqLaunch CCS and create new target configuration(File->New->Target Configuration file) as shown in the images belowrmjZj�fjbjˆfjdj¥jf}r m(jh]ji]jj]jk]jn]ujpM4jqhjr]r!mj{XqLaunch CCS and create new target configuration(File->New->Target Configuration file) as shown in the images belowr"m…�r#m}r$m(jYjmjZjmubaubjB)�r%m}r&m(jYX8.. Image:: ../../../images/CCS_target_configuration.png jZj�fjbjˆfjdjEjf}r'm(UuriX1rtos/../../../images/CCS_target_configuration.pngr(mjk]jj]jh]ji]jH}r)mU*j(msjn]ujpM8jqhjr]ubj¡)�r*m}r+m(jYXoProvide appropriate name to the configuration. Select Spectrum digital XDS200 emulator and target as K2G GPEVM.r,mjZj�fjbjˆfjdj¥jf}r-m(jh]ji]jj]jk]jn]ujpM9jqhjr]r.mj{XoProvide appropriate name to the configuration. Select Spectrum digital XDS200 emulator and target as K2G GPEVM.r/m…�r0m}r1m(jYj,mjZj*mubaubj¡)�r2m}r3m(jYXÞ**Note:** If you don\`t find the 66AK2G02 target make sure you have installed the CCSv6.1.3 package or for CCSv6.1.2 and earlier ensure that you have done the software update correctly as shown in the how to section below.jZj�fjbjˆfjdj¥jf}r4m(jh]ji]jj]jk]jn]ujpM<jqhjr]r5m(jü)�r6m}r7m(jYX **Note:**jf}r8m(jh]ji]jj]jk]jn]ujZj2mjr]r9mj{XNote:r:m…�r;m}rm}r?m(jYXÕ If you don\`t find the 66AK2G02 target make sure you have installed the CCSv6.1.3 package or for CCSv6.1.2 and earlier ensure that you have done the software update correctly as shown in the how to section below.jZj2mubeubjB)�r@m}rAm(jYX>.. Image:: ../../../images/K2G_GPEVM_Target_configuration.jpg jZj�fjbjˆfjdjEjf}rBm(UuriX7rtos/../../../images/K2G_GPEVM_Target_configuration.jpgrCmjk]jj]jh]ji]jH}rDmU*jCmsjn]ujpMBjqhjr]ubj¡)�rEm}rFm(jYX”In advance settings, make sure that the gel files are populated correctly. The following GEL files and their corresponding cores are provided below:rGmjZj�fjbjˆfjdj¥jf}rHm(jh]ji]jj]jk]jn]ujpMCjqhjr]rImj{X”In advance settings, make sure that the gel files are populated correctly. The following GEL files and their corresponding cores are provided below:rJm…�rKm}rLm(jYjGmjZjEmubaubjC)�rMm}rNm(jYUjZj�fjbjˆfjdj`jf}rOm(jGX-jk]jj]jh]ji]jn]ujpMGjqhjr]rPm(j/)�rQm}rRm(jYXC66X Core: evmk2g.gelrSmjZjMmjbjˆfjdj2jf}rTm(jh]ji]jj]jk]jn]ujpNjqhjr]rUmj¡)�rVm}rWm(jYjSmjZjQmjbjˆfjdj¥jf}rXm(jh]ji]jj]jk]jn]ujpMGjr]rYmj{XC66X Core: evmk2g.gelrZm…�r[m}r\m(jYjSmjZjVmubaubaubj/)�r]m}r^m(jYXA15 Core: evmk2g\_arm.gel jZjMmjbjˆfjdj2jf}r_m(jh]ji]jj]jk]jn]ujpNjqhjr]r`mj¡)�ram}rbm(jYXA15 Core: evmk2g\_arm.geljZj]mjbjˆfjdj¥jf}rcm(jh]ji]jj]jk]jn]ujpMHjr]rdmj{XA15 Core: evmk2g_arm.gelrem…�rfm}rgm(jYXA15 Core: evmk2g\_arm.geljZjamubaubaubeubjè)�rhm}rim(jYXConnecting to targetrjmjìKjZj�fjbjˆfjdjíjf}rkm(jk]rlmUid49rmmajj]jh]rnmj=`aji]jn]ujpNjqhjr]romj{XConnecting to targetrpm…�rqm}rrm(jYjjmjZjhmubaubj¡)�rsm}rtm(jYX±**Step1 :** Download Code composer Studio v6.1.3 or for CCSv6.1.2 and earlier, ensure it contains Keystone device support package version 1.1.5 as described in the how to guidejZj�fjbjˆfjdj¥jf}rum(jh]ji]jj]jk]jn]ujpMMjqhjr]rvm(jü)�rwm}rxm(jYX **Step1 :**jf}rym(jh]ji]jj]jk]jn]ujZjsmjr]rzmj{XStep1 :r{m…�r|m}r}m(jYUjZjwmubajdjubj{X¥ Download Code composer Studio v6.1.3 or for CCSv6.1.2 and earlier, ensure it contains Keystone device support package version 1.1.5 as described in the how to guider~m…�rm}r€m(jYX¥ Download Code composer Studio v6.1.3 or for CCSv6.1.2 and earlier, ensure it contains Keystone device support package version 1.1.5 as described in the how to guidejZjsmubeubj¡)�r�m}r‚m(jYX˜`Install Code composer Studio v6 for K2G `__rƒmjZj�fjbjˆfjdj¥jf}r„m(jh]ji]jj]jk]jn]ujpMQjqhjr]r…mjÜ)�r†m}r‡m(jYjƒmjf}rˆm(UnameX'Install Code composer Studio v6 for K2GjXjhttp://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_overview.html#code-composer-studiojk]jj]jh]ji]jn]ujZj�mjr]r‰mj{X'Install Code composer Studio v6 for K2GrŠm…�r‹m}rŒm(jYUjZj†mubajdjàubaubj )�r�m}rŽm(jYUjZj�fjbjˆfjdj3 jf}r�m(jh]ji]jj]jk]jn]ujpNjqhjr]r�mj )�r‘m}r’m(jYX°**Step2:** 66AK2GX GP EVM contains boot switches to configure for "No boot/sleep" mode. So configure the boot switches to No Boot Mode as described in the SettingBootSwitches_ jZj�mjbjˆfjdj jf}r“m(jh]ji]jj]jk]jn]ujpMVjr]r”m(j )�r•m}r–m(jYXE**Step2:** 66AK2GX GP EVM contains boot switches to configure for "Nor—mjZj‘mjbjˆfjdj jf}r˜m(jh]ji]jj]jk]jn]ujpMVjr]r™m(jü)�ršm}r›m(jYX **Step2:**jf}rœm(jh]ji]jj]jk]jn]ujZj•mjr]r�mj{XStep2:ržm…�rŸm}r m(jYUjZjšmubajdjubj{X; 66AK2GX GP EVM contains boot switches to configure for "Nor¡m…�r¢m}r£m(jYX; 66AK2GX GP EVM contains boot switches to configure for "NojZj•mubeubj )�r¤m}r¥m(jYUjf}r¦m(jh]ji]jj]jk]jn]ujZj‘mjr]r§mj¡)�r¨m}r©m(jYXiboot/sleep" mode. So configure the boot switches to No Boot Mode as described in the SettingBootSwitches_jZj¤mjbjˆfjdj¥jf}rªm(jh]ji]jj]jk]jn]ujpMUjr]r«m(j{XUboot/sleep" mode. So configure the boot switches to No Boot Mode as described in the r¬m…�r­m}r®m(jYXUboot/sleep" mode. So configure the boot switches to No Boot Mode as described in the jZj¨mubjÜ)�r¯m}r°m(jYXSettingBootSwitches_jßKjZj¨mjdjàjf}r±m(UnameXSettingBootSwitchesjk]jj]jh]ji]jn]jâj_hujr]r²mj{XSettingBootSwitchesr³m…�r´m}rµm(jYUjZj¯mubaubeubajdj2 ubeubaubj¡)�r¶m}r·m(jYX^**Step3:** Connect an XDS200 Emulator to XDS USB of the GP EVM as shown in ConnectingEmulator_r¸mjZj�fjbjˆfjdj¥jf}r¹m(jh]ji]jj]jk]jn]ujpMXjqhjr]rºm(jü)�r»m}r¼m(jYX **Step3:**jf}r½m(jh]ji]jj]jk]jn]ujZj¶mjr]r¾mj{XStep3:r¿m…�rÀm}rÁm(jYUjZj»mubajdjubj{XA Connect an XDS200 Emulator to XDS USB of the GP EVM as shown in rÂm…�rÃm}rÄm(jYXA Connect an XDS200 Emulator to XDS USB of the GP EVM as shown in jZj¶mubjÜ)�rÅm}rÆm(jYXConnectingEmulator_jßKjZj¶mjdjàjf}rÇm(UnameXConnectingEmulatorjk]jj]jh]ji]jn]jâjãjujr]rÈmj{XConnectingEmulatorrÉm…�rÊm}rËm(jYUjZjÅmubaubeubj¡)�rÌm}rÍm(jYX{**Step4:** Launch CCS and create new target configuration as discussed in the previous section ConfiguringTargetConfigFile_jZj�fjbjˆfjdj¥jf}rÎm(jh]ji]jj]jk]jn]ujpMZjqhjr]rÏm(jü)�rÐm}rÑm(jYX **Step4:**jf}rÒm(jh]ji]jj]jk]jn]ujZjÌmjr]rÓmj{XStep4:rÔm…�rÕm}rÖm(jYUjZjÐmubajdjubj{XU Launch CCS and create new target configuration as discussed in the previous section r×m…�rØm}rÙm(jYXU Launch CCS and create new target configuration as discussed in the previous section jZjÌmubjÜ)�rÚm}rÛm(jYXConfiguringTargetConfigFile_jßKjZjÌmjdjàjf}rÜm(UnameXConfiguringTargetConfigFilejk]jj]jh]ji]jn]jâjmujr]rÝmj{XConfiguringTargetConfigFilerÞm…�rßm}ràm(jYUjZjÚmubaubeubj¡)�rám}râm(jYX8**Step5**: Launch Target configuration you just created.rãmjZj�fjbjˆfjdj¥jf}räm(jh]ji]jj]jk]jn]ujpM]jqhjr]råm(jü)�ræm}rçm(jYX **Step5**jf}rèm(jh]ji]jj]jk]jn]ujZjámjr]rémj{XStep5rêm…�rëm}rìm(jYUjZjæmubajdjubj{X/: Launch Target configuration you just created.rím…�rîm}rïm(jYX/: Launch Target configuration you just created.jZjámubeubjB)�rðm}rñm(jYX7.. Image:: ../../../images/K2G_Launch_targetConfig.png jZj�fjbjˆfjdjEjf}ròm(UuriX0rtos/../../../images/K2G_Launch_targetConfig.pngrómjk]jj]jh]ji]jH}rômU*jómsjn]ujpM`jqhjr]ubj )�rõm}röm(jYUjZj�fjbjˆfjdj3 jf}r÷m(jh]ji]jj]jk]jn]ujpNjqhjr]rømj )�rùm}rúm(jYX^**Step6**:K2G can be a DSP or an ARM master boot device so connect to the C66x or the A15\_0. jZjõmjbjˆfjdj jf}rûm(jh]ji]jj]jk]jn]ujpMbjr]rüm(j )�rým}rþm(jYXE**Step6**:K2G can be a DSP or an ARM master boot device so connect torÿmjZjùmjbjˆfjdj jf}rn(jh]ji]jj]jk]jn]ujpMbjr]rn(jü)�rn}rn(jYX **Step6**jf}rn(jh]ji]jj]jk]jn]ujZjýmjr]rnj{XStep6rn…�rn}rn(jYUjZjnubajdjubj{X<:K2G can be a DSP or an ARM master boot device so connect tor n…�r n}r n(jYX<:K2G can be a DSP or an ARM master boot device so connect tojZjýmubeubj )�r n}r n(jYUjf}rn(jh]ji]jj]jk]jn]ujZjùmjr]rnj¡)�rn}rn(jYXthe C66x or the A15\_0.jZj njbjˆfjdj¥jf}rn(jh]ji]jj]jk]jn]ujpMbjr]rnj{Xthe C66x or the A15_0.rn…�rn}rn(jYXthe C66x or the A15\_0.jZjnubaubajdj2 ubeubaubj¡)�rn}rn(jYX **GEL Log**rnjZj�fjbjˆfjdj¥jf}rn(jh]ji]jj]jk]jn]ujpMdjqhjr]rnjü)�rn}rn(jYjnjf}rn(jh]ji]jj]jk]jn]ujZjnjr]rnj{XGEL Logr n…�r!n}r"n(jYUjZjnubajdjubaubj)�r#n}r$n(jYXÎA15_0: GEL Output: PLL has been configured (24.0 MHz * 100 / 1 / 4 = 600.0 MHz) A15_0: GEL Output: ARM PLL has been configured with ref clock 24MHz, -sysclkp_period 41.6666 (24.0 MHz * 100 / 1 / 4 = 600.0 MHz) A15_0: GEL Output: Power on all PSC modules and DSP domains... A15_0: GEL Output: Power on PCIE PSC modules and DSP domains... Done. A15_0: GEL Output: UART PLL has been configured (24.0 MHz * 128 / 1 / 8 = 384.0 MHz) A15_0: GEL Output: NSS PLL has been configured (24.0 MHz * 250 / 3 / 2 = 1000.0 MHz) A15_0: GEL Output: ICSS PLL has been configured (24.0 MHz * 250 / 3 / 10 = 200.0 MHz) A15_0: GEL Output: DSS PLL has been configured (24.0 MHz * 198 / 12 / 16 = 24.75 MHz) A15_0: GEL Output: DDR PLL has been configured (24.0 MHz * 250 / 3 / 10 = 200.0 MHz) A15_0: GEL Output: XMC setup complete. A15_0: GEL Output: DDR3 PLL Setup ... A15_0: GEL Output: DDR3 PLL Setup complete, DDR3A clock now running at 400MHz. A15_0: GEL Output: DDR3A initialization completejZj�fjbjˆfjdjjf}r%n(jöj÷jk]jj]jh]ji]jn]ujpM&jqhjr]r&nj{XÎA15_0: GEL Output: PLL has been configured (24.0 MHz * 100 / 1 / 4 = 600.0 MHz) A15_0: GEL Output: ARM PLL has been configured with ref clock 24MHz, -sysclkp_period 41.6666 (24.0 MHz * 100 / 1 / 4 = 600.0 MHz) A15_0: GEL Output: Power on all PSC modules and DSP domains... A15_0: GEL Output: Power on PCIE PSC modules and DSP domains... Done. A15_0: GEL Output: UART PLL has been configured (24.0 MHz * 128 / 1 / 8 = 384.0 MHz) A15_0: GEL Output: NSS PLL has been configured (24.0 MHz * 250 / 3 / 2 = 1000.0 MHz) A15_0: GEL Output: ICSS PLL has been configured (24.0 MHz * 250 / 3 / 10 = 200.0 MHz) A15_0: GEL Output: DSS PLL has been configured (24.0 MHz * 198 / 12 / 16 = 24.75 MHz) A15_0: GEL Output: DDR PLL has been configured (24.0 MHz * 250 / 3 / 10 = 200.0 MHz) A15_0: GEL Output: XMC setup complete. A15_0: GEL Output: DDR3 PLL Setup ... A15_0: GEL Output: DDR3 PLL Setup complete, DDR3A clock now running at 400MHz. A15_0: GEL Output: DDR3A initialization completer'n…�r(n}r)n(jYUjZj#nubaubjZ)�r*n}r+n(jYUjZj�fjbjˆfjdj]jf}r,n(jh]ji]jj]jk]jn]ujpMujqhjr]r-nj`)�r.n}r/n(jYUjcKjZj*njbjˆfjdjpjf}r0n(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�r1n}r2n(jYX!Connect with a SD card boot imager3njZj�fjbjˆfjdjíjf}r4n(jk]r5nU!connect-with-a-sd-card-boot-imager6najj]jh]ji]jn]r7nj8aujpNjqhjr]r8nj{X!Connect with a SD card boot imager9n…�r:n}r;n(jYj3njZj1nubaubj¡)�rNew->Target Configuration file) as shown in the images belowr>njZj�fjbjˆfjdj¥jf}r?n(jh]ji]jj]jk]jn]ujpMzjqhjr]r@nj{XqLaunch CCS and create new target configuration(File->New->Target Configuration file) as shown in the images belowrAn…�rBn}rCn(jYj>njZj`__jZj�fjbjˆfjdj¥jf}rÏn(jh]ji]jj]jk]jn]ujpM�jqhjr]rÐn(jü)�rÑn}rÒn(jYX **Step7**jf}rÓn(jh]ji]jj]jk]jn]ujZjÍnjr]rÔnj{XStep7rÕn…�rÖn}r×n(jYUjZjÑnubajdjubj{X´ SD card boot image will typically load a secondary bootloader like u-boot that will put the DSP in reset so user will need to follow the instructions on the page that talks about rØn…�rÙn}rÚn(jYX´ SD card boot image will typically load a secondary bootloader like u-boot that will put the DSP in reset so user will need to follow the instructions on the page that talks about jZjÍnubjÜ)�rÛn}rÜn(jYX±`Taking DSP out of reset `__jf}rÝn(UnameXTaking DSP out of resetjX“http://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/How_to_Guides.html#taking-the-c66x-out-of-reset-with-linux-running-on-the-arm-a15jk]jj]jh]ji]jn]ujZjÍnjr]rÞnj{XTaking DSP out of resetrßn…�ràn}rán(jYUjZjÛnubajdjàubeubj¡)�rân}rãn(jYX®**Note:** RTOS users don\`t need to follow this step as the Secondary bootloader (SBL) will put the DSP in idle state and not in reset if there is no code running on the DSP.jZj�fjbjˆfjdj¥jf}rän(jh]ji]jj]jk]jn]ujpM¢jqhjr]rån(jü)�ræn}rçn(jYX **Note:**jf}rèn(jh]ji]jj]jk]jn]ujZjânjr]rénj{XNote:rên…�rën}rìn(jYUjZjænubajdjubj{X¤ RTOS users don`t need to follow this step as the Secondary bootloader (SBL) will put the DSP in idle state and not in reset if there is no code running on the DSP.rín…�rîn}rïn(jYX¥ RTOS users don\`t need to follow this step as the Secondary bootloader (SBL) will put the DSP in idle state and not in reset if there is no code running on the DSP.jZjânubeubjè)�rðn}rñn(jYX How to guiderònjZj�fjbjˆfjdjíjf}rón(jk]rônU how-to-guiderõnajj]jh]ji]jn]rönhaujpNjqhjr]r÷nj{X How to guiderøn…�rùn}rún(jYjònjZjðnubaubj¡)�rûn}rün(jYXþThis section guides users who are using older versions of the GP EVM which may require an update to the firmware flashed on the EVM or hardware updates to workaround specific issues. Each section specifies the affected versions and the fix for the issue.rýnjZj�fjbjˆfjdj¥jf}rþn(jh]ji]jj]jk]jn]ujpM©jqhjr]rÿnj{XþThis section guides users who are using older versions of the GP EVM which may require an update to the firmware flashed on the EVM or hardware updates to workaround specific issues. Each section specifies the affected versions and the fix for the issue.ro…�ro}ro(jYjýnjZjûnubaubjè)�ro}ro(jYX*Create SD card to boot Linux on the GP EVMrojZj�fjbjˆfjdjíjf}ro(jk]roU*create-sd-card-to-boot-linux-on-the-gp-evmroajj]jh]ji]jn]r ojDaujpNjqhjr]r oj{X*Create SD card to boot Linux on the GP EVMr o…�r o}r o(jYjojZjoubaubj¡)�ro}ro(jYXqAll pre-production boards (Rev C and earlier) will not contain a SD card image in the kit without an image flashed on it for the Out of Box experience described in the Quick start guide. User are required to download the image seperately from the Processor SDK Linux portal and run a script to create the SD boot image. The steps to create the image are provided below:rojZj�fjbjˆfjdj¥jf}ro(jh]ji]jj]jk]jn]ujpM±jqhjr]roj{XqAll pre-production boards (Rev C and earlier) will not contain a SD card image in the kit without an image flashed on it for the Out of Box experience described in the Quick start guide. User are required to download the image seperately from the Processor SDK Linux portal and run a script to create the SD boot image. The steps to create the image are provided below:ro…�ro}ro(jYjojZjoubaubj¡)�ro}ro(jYXº**Step 1** Download the image k2g-evm-linux-xx.xx.xx.xx.img.zip from the link `Latest Processor SDK Linux `__jZj�fjbjˆfjdj¥jf}ro(jh]ji]jj]jk]jn]ujpM¸jqhjr]ro(jü)�ro}ro(jYX **Step 1**jf}ro(jh]ji]jj]jk]jn]ujZjojr]roj{XStep 1ro…�ro}r o(jYUjZjoubajdjubj{XD Download the image k2g-evm-linux-xx.xx.xx.xx.img.zip from the link r!o…�r"o}r#o(jYXD Download the image k2g-evm-linux-xx.xx.xx.xx.img.zip from the link jZjoubjÜ)�r$o}r%o(jYXl`Latest Processor SDK Linux `__jf}r&o(UnameXLatest Processor SDK LinuxjXKhttp://software-dl.ti.com/processor-sdk-linux/esd/K2G/latest/index_FDS.htmljk]jj]jh]ji]jn]ujZjojr]r'oj{XLatest Processor SDK Linuxr(o…�r)o}r*o(jYUjZj$oubajdjàubeubj¡)�r+o}r,o(jYXý**Step 2** Follow instructions to create a SD card for the EVM using the instruction in the `SD Card Creation Guide `__jZj�fjbjˆfjdj¥jf}r-o(jh]ji]jj]jk]jn]ujpM¼jqhjr]r.o(jü)�r/o}r0o(jYX **Step 2**jf}r1o(jh]ji]jj]jk]jn]ujZj+ojr]r2oj{XStep 2r3o…�r4o}r5o(jYUjZj/oubajdjubj{XR Follow instructions to create a SD card for the EVM using the instruction in the r6o…�r7o}r8o(jYXR Follow instructions to create a SD card for the EVM using the instruction in the jZj+oubjÜ)�r9o}r:o(jYX¡`SD Card Creation Guide `__jf}r;o(UnameXSD Card Creation GuidejX„http://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Overview_Getting_Started_Guide.html#linux-sd-card-creation-guidejk]jj]jh]ji]jn]ujZj+ojr]ro}r?o(jYUjZj9oubajdjàubeubjè)�r@o}rAo(jYX"Update the BMC firmware on the EVMrBojZj�fjbjˆfjdjíjf}rCo(jk]rDoU"update-the-bmc-firmware-on-the-evmrEoajj]jh]ji]jn]rFoj7aujpNjqhjr]rGoj{X"Update the BMC firmware on the EVMrHo…�rIo}rJo(jYjBojZj@oubaubj¡)�rKo}rLo(jYXÆThe section describes how the Board Management controller firmware on the board can be updated through the BMC UART interface. All boards prior to RevC, require a BMC update for the following issue:rMojZj�fjbjˆfjdj¥jf}rNo(jh]ji]jj]jk]jn]ujpMÃjqhjr]rOoj{XÆThe section describes how the Board Management controller firmware on the board can be updated through the BMC UART interface. All boards prior to RevC, require a BMC update for the following issue:rPo…�rQo}rRo(jYjMojZjKoubaubjC)�rSo}rTo(jYUjZj�fjbjˆfjdj`jf}rUo(jGX-jk]jj]jh]ji]jn]ujpMÇjqhjr]rVoj/)�rWo}rXo(jYXôCDCM chip on the board generates clocks to modules like PCIe and USB. It is possible to use PCIe only in external clock mode on the EVM. However there can be use-cases where PCIe clock should be enabled with SoC running in internal clock mode. jZjSojbjˆfjdj2jf}rYo(jh]ji]jj]jk]jn]ujpNjqhjr]rZoj¡)�r[o}r\o(jYXóCDCM chip on the board generates clocks to modules like PCIe and USB. It is possible to use PCIe only in external clock mode on the EVM. However there can be use-cases where PCIe clock should be enabled with SoC running in internal clock mode.r]ojZjWojbjˆfjdj¥jf}r^o(jh]ji]jj]jk]jn]ujpMÇjr]r_oj{XóCDCM chip on the board generates clocks to modules like PCIe and USB. It is possible to use PCIe only in external clock mode on the EVM. However there can be use-cases where PCIe clock should be enabled with SoC running in internal clock mode.r`o…�rao}rbo(jYj]ojZj[oubaubaubaubj¡)�rco}rdo(jYXD**Step 1** Install the LM flash programmer from link provided below:reojZj�fjbjˆfjdj¥jf}rfo(jh]ji]jj]jk]jn]ujpMÌjqhjr]rgo(jü)�rho}rio(jYX **Step 1**jf}rjo(jh]ji]jj]jk]jn]ujZjcojr]rkoj{XStep 1rlo…�rmo}rno(jYUjZjhoubajdjubj{X: Install the LM flash programmer from link provided below:roo…�rpo}rqo(jYX: Install the LM flash programmer from link provided below:jZjcoubeubjC)�rro}rso(jYUjZj�fjbjˆfjdj`jf}rto(jGX-jk]jj]jh]ji]jn]ujpMÎjqhjr]ruoj/)�rvo}rwo(jYXF`LMflashProgrammer tool `__ jZjrojbjˆfjdj2jf}rxo(jh]ji]jj]jk]jn]ujpNjqhjr]ryoj¡)�rzo}r{o(jYXE`LMflashProgrammer tool `__r|ojZjvojbjˆfjdj¥jf}r}o(jh]ji]jj]jk]jn]ujpMÎjr]r~ojÜ)�ro}r€o(jYj|ojf}r�o(UnameXLMflashProgrammer tooljX(http://www.ti.com/tool/lmflashprogrammerjk]jj]jh]ji]jn]ujZjzojr]r‚oj{XLMflashProgrammer toolrƒo…�r„o}r…o(jYUjZjoubajdjàubaubaubaubj¡)�r†o}r‡o(jYX5**Step 2** Obtain latest BMC software for the K2G GP EVM can be obtained from the board manufacturer or from local TI contact. Production EVMs are shipped with latest BMC version 0.6.1.0. You can check the version of the BMC software by observing the version indicated on BMC LCD on the GP EVM after power up.jZj�fjbjˆfjdj¥jf}rˆo(jh]ji]jj]jk]jn]ujpMÐjqhjr]r‰o(jü)�rŠo}r‹o(jYX **Step 2**jf}rŒo(jh]ji]jj]jk]jn]ujZj†ojr]r�oj{XStep 2rŽo…�r�o}r�o(jYUjZjŠoubajdjubj{X+ Obtain latest BMC software for the K2G GP EVM can be obtained from the board manufacturer or from local TI contact. Production EVMs are shipped with latest BMC version 0.6.1.0. You can check the version of the BMC software by observing the version indicated on BMC LCD on the GP EVM after power up.r‘o…�r’o}r“o(jYX+ Obtain latest BMC software for the K2G GP EVM can be obtained from the board manufacturer or from local TI contact. Production EVMs are shipped with latest BMC version 0.6.1.0. You can check the version of the BMC software by observing the version indicated on BMC LCD on the GP EVM after power up.jZj†oubeubj¡)�r”o}r•o(jYXb**Step 3** Connect the mini USB cable between host PC and ‘USB to SoC UART0’ port (J23) on EVMjZj�fjbjˆfjdj¥jf}r–o(jh]ji]jj]jk]jn]ujpMÖjqhjr]r—o(jü)�r˜o}r™o(jYX **Step 3**jf}ršo(jh]ji]jj]jk]jn]ujZj”ojr]r›oj{XStep 3rœo…�r�o}ržo(jYUjZj˜oubajdjubj{XX Connect the mini USB cable between host PC and ‘USB to SoC UART0’ port (J23) on EVMrŸo…�r o}r¡o(jYXX Connect the mini USB cable between host PC and ‘USB to SoC UART0’ port (J23) on EVMjZj”oubeubj¡)�r¢o}r£o(jYX9**Step 4** Remove the jumper J10 and power on the K2G EVMr¤ojZj�fjbjˆfjdj¥jf}r¥o(jh]ji]jj]jk]jn]ujpMÙjqhjr]r¦o(jü)�r§o}r¨o(jYX **Step 4**jf}r©o(jh]ji]jj]jk]jn]ujZj¢ojr]rªoj{XStep 4r«o…�r¬o}r­o(jYUjZj§oubajdjubj{X/ Remove the jumper J10 and power on the K2G EVMr®o…�r¯o}r°o(jYX/ Remove the jumper J10 and power on the K2G EVMjZj¢oubeubj¡)�r±o}r²o(jYXL**Step 5** Open the LM Flash programmer utility on the windows host machine.jZj�fjbjˆfjdj¥jf}r³o(jh]ji]jj]jk]jn]ujpMÛjqhjr]r´o(jü)�rµo}r¶o(jYX **Step 5**jf}r·o(jh]ji]jj]jk]jn]ujZj±ojr]r¸oj{XStep 5r¹o…�rºo}r»o(jYUjZjµoubajdjubj{XB Open the LM Flash programmer utility on the windows host machine.r¼o…�r½o}r¾o(jYXB Open the LM Flash programmer utility on the windows host machine.jZj±oubeubj¡)�r¿o}rÀo(jYXÁ**Step 6** In the LM Flash Programmer Utility ‘Configuration’ tab, in the interface section, select ‘Serial (UART)’ from the drop-down box on the left.Refer to the image provided below:jZj�fjbjˆfjdj¥jf}rÁo(jh]ji]jj]jk]jn]ujpMÞjqhjr]rÂo(jü)�rÃo}rÄo(jYX **Step 6**jf}rÅo(jh]ji]jj]jk]jn]ujZj¿ojr]rÆoj{XStep 6rÇo…�rÈo}rÉo(jYUjZjÃoubajdjubj{X· In the LM Flash Programmer Utility ‘Configuration’ tab, in the interface section, select ‘Serial (UART)’ from the drop-down box on the left.Refer to the image provided below:rÊo…�rËo}rÌo(jYX· In the LM Flash Programmer Utility ‘Configuration’ tab, in the interface section, select ‘Serial (UART)’ from the drop-down box on the left.Refer to the image provided below:jZj¿oubeubjB)�rÍo}rÎo(jYX3.. Image:: ../../../images/LMflashProg_Config.png jZj�fjbjˆfjdjEjf}rÏo(UuriX+rtos/../../../images/LMflashProg_Config.pngrÐojk]jj]jh]ji]jH}rÑoU*jÐosjn]ujpMäjqhjr]ubj¡)�rÒo}rÓo(jYXI**Step 7** Select the BMC COM Port and set the ‘Baud Rate’ to 115200.rÔojZj�fjbjˆfjdj¥jf}rÕo(jh]ji]jj]jk]jn]ujpMåjqhjr]rÖo(jü)�r×o}rØo(jYX **Step 7**jf}rÙo(jh]ji]jj]jk]jn]ujZjÒojr]rÚoj{XStep 7rÛo…�rÜo}rÝo(jYUjZj×oubajdjubj{X? Select the BMC COM Port and set the ‘Baud Rate’ to 115200.rÞo…�rßo}rào(jYX? Select the BMC COM Port and set the ‘Baud Rate’ to 115200.jZjÒoubeubjC)�ráo}râo(jYUjZj�fjbjˆfjdj`jf}rão(jGX-jk]jj]jh]ji]jn]ujpMçjqhjr]räoj/)�råo}ræo(jYXgThere will be two COM ports that appears on EVMs ‘USB to SoC UART0’ port. Select the one which is connected to BMC. To find which port corresponds to the BMC, you can open a serial terminal program or Device Manager on your PC and check the port number corresponding to "Silicon Labs CP210x: USB to UART Bridge: Standard COM Port (COM##)" as shown below: jZjáojbjˆfjdj2jf}rço(jh]ji]jj]jk]jn]ujpNjqhjr]rèoj¡)�réo}rêo(jYXfThere will be two COM ports that appears on EVMs ‘USB to SoC UART0’ port. Select the one which is connected to BMC. To find which port corresponds to the BMC, you can open a serial terminal program or Device Manager on your PC and check the port number corresponding to "Silicon Labs CP210x: USB to UART Bridge: Standard COM Port (COM##)" as shown below:rëojZjåojbjˆfjdj¥jf}rìo(jh]ji]jj]jk]jn]ujpMçjr]ríoj{XfThere will be two COM ports that appears on EVMs ‘USB to SoC UART0’ port. Select the one which is connected to BMC. To find which port corresponds to the BMC, you can open a serial terminal program or Device Manager on your PC and check the port number corresponding to "Silicon Labs CP210x: USB to UART Bridge: Standard COM Port (COM##)" as shown below:rîo…�rïo}rðo(jYjëojZjéoubaubaubaubjB)�rño}ròo(jYX+.. Image:: ../../../images/BMCUARTPort.png jZj�fjbjˆfjdjEjf}róo(UuriX$rtos/../../../images/BMCUARTPort.pngrôojk]jj]jh]ji]jH}rõoU*jôosjn]ujpMïjqhjr]ubj¡)�röo}r÷o(jYXÍ**Note:** BMC outputs boot logs to serial console when EVM is powered ON. Connect the ‘USB to SoC UART0’ port to standard serial console application to find the right COM port that is connected to BMC.jZj�fjbjˆfjdj¥jf}røo(jh]ji]jj]jk]jn]ujpMðjqhjr]rùo(jü)�rúo}rûo(jYX **Note:**jf}rüo(jh]ji]jj]jk]jn]ujZjöojr]rýoj{XNote:rþo…�rÿo}rp(jYUjZjúoubajdjubj{XÄ BMC outputs boot logs to serial console when EVM is powered ON. Connect the ‘USB to SoC UART0’ port to standard serial console application to find the right COM port that is connected to BMC.rp…�rp}rp(jYXÄ BMC outputs boot logs to serial console when EVM is powered ON. Connect the ‘USB to SoC UART0’ port to standard serial console application to find the right COM port that is connected to BMC.jZjöoubeubj¡)�rp}rp(jYXe**Step 8** Set ‘Transfer Size’ to 60, and make sure ‘Disable Auto Baud Support’ is unchecked.jZj�fjbjˆfjdj¥jf}rp(jh]ji]jj]jk]jn]ujpMôjqhjr]rp(jü)�rp}r p(jYX **Step 8**jf}r p(jh]ji]jj]jk]jn]ujZjpjr]r pj{XStep 8r p…�r p}rp(jYUjZjpubajdjubj{X[ Set ‘Transfer Size’ to 60, and make sure ‘Disable Auto Baud Support’ is unchecked.rp…�rp}rp(jYX[ Set ‘Transfer Size’ to 60, and make sure ‘Disable Auto Baud Support’ is unchecked.jZjpubeubj¡)�rp}rp(jYXt**Step 9** In the 'Program' tab, select the binary image file bmc\_evmKS2\_K2G.bin in the section 'Select.bin file'.jZj�fjbjˆfjdj¥jf}rp(jh]ji]jj]jk]jn]ujpM÷jqhjr]rp(jü)�rp}rp(jYX **Step 9**jf}rp(jh]ji]jj]jk]jn]ujZjpjr]rpj{XStep 9rp…�rp}rp(jYUjZjpubajdjubj{Xh In the 'Program' tab, select the binary image file bmc_evmKS2_K2G.bin in the section 'Select.bin file'.rp…�rp}rp(jYXj In the 'Program' tab, select the binary image file bmc\_evmKS2\_K2G.bin in the section 'Select.bin file'.jZjpubeubjB)�r p}r!p(jYX3.. Image:: ../../../images/LMflashProg_program.png jZj�fjbjˆfjdjEjf}r"p(UuriX,rtos/../../../images/LMflashProg_program.pngr#pjk]jj]jh]ji]jH}r$pU*j#psjn]ujpMûjqhjr]ubj¡)�r%p}r&p(jYXS**Step 10** Leave all other options as default, and press the ‘Program’ button.jZj�fjbjˆfjdj¥jf}r'p(jh]ji]jj]jk]jn]ujpMüjqhjr]r(p(jü)�r)p}r*p(jYX **Step 10**jf}r+p(jh]ji]jj]jk]jn]ujZj%pjr]r,pj{XStep 10r-p…�r.p}r/p(jYUjZj)pubajdjubj{XH Leave all other options as default, and press the ‘Program’ button.r0p…�r1p}r2p(jYXH Leave all other options as default, and press the ‘Program’ button.jZj%pubeubj¡)�r3p}r4p(jYXB**Step 11** Wait till 'Program Complete' status in the status bar.r5pjZj�fjbjˆfjdj¥jf}r6p(jh]ji]jj]jk]jn]ujpMÿjqhjr]r7p(jü)�r8p}r9p(jYX **Step 11**jf}r:p(jh]ji]jj]jk]jn]ujZj3pjr]r;pj{XStep 11rp(jYUjZj8pubajdjubj{X7 Wait till 'Program Complete' status in the status bar.r?p…�r@p}rAp(jYX7 Wait till 'Program Complete' status in the status bar.jZj3pubeubj¡)�rBp}rCp(jYX5**Step 12** Connect the jumper J10 and reboot the EVMrDpjZj�fjbjˆfjdj¥jf}rEp(jh]ji]jj]jk]jn]ujpMjqhjr]rFp(jü)�rGp}rHp(jYX **Step 12**jf}rIp(jh]ji]jj]jk]jn]ujZjBpjr]rJpj{XStep 12rKp…�rLp}rMp(jYUjZjGpubajdjubj{X* Connect the jumper J10 and reboot the EVMrNp…�rOp}rPp(jYX* Connect the jumper J10 and reboot the EVMjZjBpubeubjè)�rQp}rRp(jYX<Update XDS200 firmware and hardware components on the GP EVMrSpjZj�fjbjˆfjdjíjf}rTp(jk]rUpU`__jZj�fjbjˆfjdj¥jf}r·p(jh]ji]jj]jk]jn]ujpMjqhjr]r¸p(j{XKSteps to update the XDS200 firmware on the EVM are archived on the article r¹p…�rºp}r»p(jYXKSteps to update the XDS200 firmware on the EVM are archived on the article jZjµpubjÜ)�r¼p}r½p(jYXw`Updating\_the\_XDS200\_firmware `__jf}r¾p(UnameXUpdating_the_XDS200_firmwarejXQhttp://dev.ti.com/tirex/explore/node?node=AADzJ8Y-La4f7Bi5Ga0TcA__FUz-xrs__LATESTjk]jj]jh]ji]jn]ujZjµpjr]r¿pj{XUpdating_the_XDS200_firmwarerÀp…�rÁp}rÂp(jYUjZj¼pubajdjàubeubjè)�rÃp}rÄp(jYXHardware updates requiredrÅpjZj�fjbjˆfjdjíjf}rÆp(jk]rÇpUhardware-updates-requiredrÈpajj]jh]ji]jn]rÉph„aujpNjqhjr]rÊpj{XHardware updates requiredrËp…�rÌp}rÍp(jYjÅpjZjÃpubaubjC)�rÎp}rÏp(jYUjZj�fjbjˆfjdj`jf}rÐp(jGX-jk]jj]jh]ji]jn]ujpM!jqhjr]rÑp(j/)�rÒp}rÓp(jYXReplace R431 & R442 to 200ErÔpjZjÎpjbjˆfjdj2jf}rÕp(jh]ji]jj]jk]jn]ujpNjqhjr]rÖpj¡)�r×p}rØp(jYjÔpjZjÒpjbjˆfjdj¥jf}rÙp(jh]ji]jj]jk]jn]ujpM!jr]rÚpj{XReplace R431 & R442 to 200ErÛp…�rÜp}rÝp(jYjÔpjZj×pubaubaubj/)�rÞp}rßp(jYX&Mount resistors R95, R107, R108, R115.ràpjZjÎpjbjˆfjdj2jf}ráp(jh]ji]jj]jk]jn]ujpNjqhjr]râpj¡)�rãp}räp(jYjàpjZjÞpjbjˆfjdj¥jf}råp(jh]ji]jj]jk]jn]ujpM"jr]ræpj{X&Mount resistors R95, R107, R108, R115.rçp…�rèp}rép(jYjàpjZjãpubaubaubj/)�rêp}rëp(jYX Mount D2, R600, R599 components.rìpjZjÎpjbjˆfjdj2jf}ríp(jh]ji]jj]jk]jn]ujpNjqhjr]rîpj¡)�rïp}rðp(jYjìpjZjêpjbjˆfjdj¥jf}rñp(jh]ji]jj]jk]jn]ujpM#jr]ròpj{X Mount D2, R600, R599 components.róp…�rôp}rõp(jYjìpjZjïpubaubaubj/)�röp}r÷p(jYXyRemove FB3 and connect a wire from R64.2 ‘rVCC\_VBUS\_XDS’ and R67.2 ‘VCC5V0\_DCDC’ as shown in the image below: jZjÎpjbjˆfjdj2jf}røp(jh]ji]jj]jk]jn]ujpNjqhjr]rùpj¡)�rúp}rûp(jYXxRemove FB3 and connect a wire from R64.2 ‘rVCC\_VBUS\_XDS’ and R67.2 ‘VCC5V0\_DCDC’ as shown in the image below:jZjöpjbjˆfjdj¥jf}rüp(jh]ji]jj]jk]jn]ujpM$jr]rýpj{XuRemove FB3 and connect a wire from R64.2 ‘rVCC_VBUS_XDS’ and R67.2 ‘VCC5V0_DCDC’ as shown in the image below:rþp…�rÿp}rq(jYXxRemove FB3 and connect a wire from R64.2 ‘rVCC\_VBUS\_XDS’ and R67.2 ‘VCC5V0\_DCDC’ as shown in the image below:jZjúpubaubaubeubjB)�rq}rq(jYX?.. Image:: ../../../images/R64_to_R67_HWMod.png :scale: 70% jZj�fjbjˆfjdjEjf}rq(UscaleKFUuriX)rtos/../../../images/R64_to_R67_HWMod.pngrqjk]jj]jh]ji]jH}rqU*jqsjn]ujpNjqhjr]ubjè)�rq}rq(jYX+Update the EVM for improved USB performancerqjZj�fjbjˆfjdjíjf}r q(jk]r qU+update-the-evm-for-improved-usb-performancer qajj]jh]ji]jn]r qhÿaujpNjqhjr]r qj{X+Update the EVM for improved USB performancerq…�rq}rq(jYjqjZjqubaubj¡)�rq}rq(jYXˆThe external resistors for the USB (R442 and R431) are currently 10k Ω. We recommend that users need to replace these with 200 Ω / 1%.rqjZj�fjbjˆfjdj¥jf}rq(jh]ji]jj]jk]jn]ujpM-jqhjr]rqj{XˆThe external resistors for the USB (R442 and R431) are currently 10k Ω. We recommend that users need to replace these with 200 Ω / 1%.rq…�rq}rq(jYjqjZjqubaubjZ)�rq}rq(jYUjZj�fjbjˆfjdj]jf}rq(jh]ji]jj]jk]jn]ujpM0jqhjr]rqj`)�rq}rq(jYUjcKjZjqjbjˆfjdjpjf}rq(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjZ)�r q}r!q(jYUjZj�fjbjˆfjdj]jf}r"q(jh]ji]jj]jk]jn]ujpM2jqhjr]r#qj`)�r$q}r%q(jYUjcKjZj qjbjˆfjdjpjf}r&q(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�r'q}r(q(jYXUseful Resources and Supportr)qjZj�fjbjˆfjdjíjf}r*q(jk]r+qUuseful-resources-and-supportr,qajj]jh]ji]jn]r-qh×aujpNjqhjr]r.qj{XUseful Resources and Supportr/q…�r0q}r1q(jYj)qjZj'qubaubjC)�r2q}r3q(jYUjZj�fjbjˆfjdj`jf}r4q(jGX-jk]jj]jh]ji]jn]ujpM7jqhjr]r5q(j/)�r6q}r7q(jYX@`66AK2G02 Product folder `__r8qjZj2qjbjˆfjdj2jf}r9q(jh]ji]jj]jk]jn]ujpNjqhjr]r:qj¡)�r;q}rqjÜ)�r?q}r@q(jYj8qjf}rAq(UnameX66AK2G02 Product folderjX"http://www.ti.com/product/66ak2g02jk]jj]jh]ji]jn]ujZj;qjr]rBqj{X66AK2G02 Product folderrCq…�rDq}rEq(jYUjZj?qubajdjàubaubaubj/)�rFq}rGq(jYX@`66AK2G12 Product folder `__rHqjZj2qjbjˆfjdj2jf}rIq(jh]ji]jj]jk]jn]ujpNjqhjr]rJqj¡)�rKq}rLq(jYjHqjZjFqjbjˆfjdj¥jf}rMq(jh]ji]jj]jk]jn]ujpM8jr]rNqjÜ)�rOq}rPq(jYjHqjf}rQq(UnameX66AK2G12 Product folderjX"http://www.ti.com/product/66ak2g12jk]jj]jh]ji]jn]ujZjKqjr]rRqj{X66AK2G12 Product folderrSq…�rTq}rUq(jYUjZjOqubajdjàubaubaubj/)�rVq}rWq(jYXR`66AK2Gx GP EVM Technical Reference Manual `__rXqjZj2qjbjˆfjdj2jf}rYq(jh]ji]jj]jk]jn]ujpNjqhjr]rZqj¡)�r[q}r\q(jYjXqjZjVqjbjˆfjdj¥jf}r]q(jh]ji]jj]jk]jn]ujpM9jr]r^qjÜ)�r_q}r`q(jYjXqjf}raq(UnameX)66AK2Gx GP EVM Technical Reference ManualjX"http://www.ti.com/lit/pdf/sprui65ajk]jj]jh]ji]jn]ujZj[qjr]rbqj{X)66AK2Gx GP EVM Technical Reference Manualrcq…�rdq}req(jYUjZj_qubajdjàubaubaubj/)�rfq}rgq(jYXA`66AK2Gx GP EVM Product folder `__rhqjZj2qjbjˆfjdj2jf}riq(jh]ji]jj]jk]jn]ujpNjqhjr]rjqj¡)�rkq}rlq(jYjhqjZjfqjbjˆfjdj¥jf}rmq(jh]ji]jj]jk]jn]ujpM:jr]rnqjÜ)�roq}rpq(jYjhqjf}rqq(UnameX66AK2Gx GP EVM Product folderjXhttp://www.ti.com/tool/evmk2gjk]jj]jh]ji]jn]ujZjkqjr]rrqj{X66AK2Gx GP EVM Product folderrsq…�rtq}ruq(jYUjZjoqubajdjàubaubaubj/)�rvq}rwq(jYXG`66AK2Gx 1GHz GP EVM Product folder `__rxqjZj2qjbjˆfjdj2jf}ryq(jh]ji]jj]jk]jn]ujpNjqhjr]rzqj¡)�r{q}r|q(jYjxqjZjvqjbjˆfjdj¥jf}r}q(jh]ji]jj]jk]jn]ujpM;jr]r~qjÜ)�rq}r€q(jYjxqjf}r�q(UnameX"66AK2Gx 1GHz GP EVM Product folderjXhttp://www.ti.com/tool/evmk2gxjk]jj]jh]ji]jn]ujZj{qjr]r‚qj{X"66AK2Gx 1GHz GP EVM Product folderrƒq…�r„q}r…q(jYUjZjqubajdjàubaubaubj/)�r†q}r‡q(jYX]`Keystone E2E Support Forum `__ jZj2qjbX^internal padding after source/common/EVM_Hardware_Setup/66AK2G02_GP_EVM_Hardware_Setup.rst.incrˆqjdj2jf}r‰q(jh]ji]jj]jk]jn]ujpNjqhjr]rŠqj¡)�r‹q}rŒq(jYX[`Keystone E2E Support Forum `__r�qjZj†qjbjˆfjdj¥jf}rŽq(jh]ji]jj]jk]jn]ujpM<jr]r�qjÜ)�r�q}r‘q(jYj�qjf}r’q(UnameXKeystone E2E Support ForumjX:https://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639jk]jj]jh]ji]jn]ujZj‹qjr]r“qj{XKeystone E2E Support Forumr”q…�r•q}r–q(jYUjZj�qubajdjàubaubaubeubjî)�r—q}r˜q(jYX66AK2G02 ICE EVM Hardware SetupjZj�fjbjcjdjôjf}r™q(jöj÷jk]jj]jh]ji]jn]ujpKtjqhjr]ršqj{X66AK2G02 ICE EVM Hardware Setupr›q…�rœq}r�q(jYUjZj—qubaubjî)�ržq}rŸq(jYX4====================================================jZj�fjbjcjdjôjf}r q(jöj÷jk]jj]jh]ji]jn]ujpKujqhjr]r¡qj{X4====================================================r¢q…�r£q}r¤q(jYUjZjžqubaubeubj[)�r¥q}r¦q(jYUjZjR\jbj�XHsource/common/EVM_Hardware_Setup/66AK2G02_ICE_EVM_Hardware_setup.rst.incr§q…�r¨q}r©qbjdjejf}rªq(jh]ji]jj]jk]r«qUak2g02-ice-evm-hardware-setupr¬qajn]r­qj)aujpKjqhjr]r®q(jt)�r¯q}r°q(jYX66AK2G02 ICE EVM Hardware Setupr±qjZj¥qjbj¨qjdjxjf}r²q(jh]ji]jj]jk]jn]ujpKjqhjr]r³qj{X66AK2G02 ICE EVM Hardware Setupr´q…�rµq}r¶q(jYj±qjZj¯qubaubj[)�r·q}r¸q(jYUjìKjZj¥qjbj¨qjdjejf}r¹q(jh]rºqX descriptionr»qaji]jj]jk]r¼qUid50r½qajn]ujpKjqhjr]r¾q(jt)�r¿q}rÀq(jYX DescriptionrÁqjZj·qjbj¨qjdjxjf}rÂq(jh]ji]jj]jk]jn]ujpKjqhjr]rÃqj{X DescriptionrÄq…�rÅq}rÆq(jYjÁqjZj¿qubaubj¡)�rÇq}rÈq(jYXAThe K2G ICE EVM is a high performance, cost-efficient, standalone development platform that enables users to evaluate and develop industrial communications applications for the Texas Instrument’s Keystone2 System-on-Chip (SoC) 66AK2G02. The K2G SOC (66AK2G02) is the new device from TI’s Keystone II architecture withrÉqjZj·qjbj¨qjdj¥jf}rÊq(jh]ji]jj]jk]jn]ujpKjqhjr]rËqj{XAThe K2G ICE EVM is a high performance, cost-efficient, standalone development platform that enables users to evaluate and develop industrial communications applications for the Texas Instrument’s Keystone2 System-on-Chip (SoC) 66AK2G02. The K2G SOC (66AK2G02) is the new device from TI’s Keystone II architecture withrÌq…�rÍq}rÎq(jYjÉqjZjÇqubaubjC)�rÏq}rÐq(jYUjZj·qjbj¨qjdj`jf}rÑq(jGX-jk]jj]jh]ji]jn]ujpKjqhjr]rÒq(j/)�rÓq}rÔq(jYXKARM® Cortex® -A15 Microprocessor Unit (ARM A15) Subsystem at up to 600MHzjZjÏqjbj¨qjdj2jf}rÕq(jh]ji]jj]jk]jn]ujpNjqhjr]rÖqj¡)�r×q}rØq(jYXKARM® Cortex® -A15 Microprocessor Unit (ARM A15) Subsystem at up to 600MHzrÙqjZjÓqjbj¨qjdj¥jf}rÚq(jh]ji]jj]jk]jn]ujpKjr]rÛqj{XKARM® Cortex® -A15 Microprocessor Unit (ARM A15) Subsystem at up to 600MHzrÜq…�rÝq}rÞq(jYjÙqjZj×qubaubaubj/)�rßq}ràq(jYXAC66x Fixed- and Floating-Point VLIW DSP Subsystem at up to 600MHzráqjZjÏqjbj¨qjdj2jf}râq(jh]ji]jj]jk]jn]ujpNjqhjr]rãqj¡)�räq}råq(jYjáqjZjßqjbj¨qjdj¥jf}ræq(jh]ji]jj]jk]jn]ujpKjr]rçqj{XAC66x Fixed- and Floating-Point VLIW DSP Subsystem at up to 600MHzrèq…�réq}rêq(jYjáqjZjäqubaubaubj/)�rëq}rìq(jYXRTwo Programmable Real-Time Unit and Industrial Communication Subsystems (PRU-ICSS)jZjÏqjbj¨qjdj2jf}ríq(jh]ji]jj]jk]jn]ujpNjqhjr]rîqj¡)�rïq}rðq(jYXRTwo Programmable Real-Time Unit and Industrial Communication Subsystems (PRU-ICSS)rñqjZjëqjbj¨qjdj¥jf}ròq(jh]ji]jj]jk]jn]ujpKjr]róqj{XRTwo Programmable Real-Time Unit and Industrial Communication Subsystems (PRU-ICSS)rôq…�rõq}röq(jYjñqjZjïqubaubaubj/)�r÷q}røq(jYXFMulticore Shared Memory Controller (MSMC) with 1024KB of Shared L2 RAMjZjÏqjbj¨qjdj2jf}rùq(jh]ji]jj]jk]jn]ujpNjqhjr]rúqj¡)�rûq}rüq(jYXFMulticore Shared Memory Controller (MSMC) with 1024KB of Shared L2 RAMrýqjZj÷qjbj¨qjdj¥jf}rþq(jh]ji]jj]jk]jn]ujpKjr]rÿqj{XFMulticore Shared Memory Controller (MSMC) with 1024KB of Shared L2 RAMrr…�rr}rr(jYjýqjZjûqubaubaubj/)�rr}rr(jYXUUp to 36-Bit DDR3 External Memory Interface (EMIF) with ECC (32-Bit Data + 4-Bit ECC)jZjÏqjbj¨qjdj2jf}rr(jh]ji]jj]jk]jn]ujpNjqhjr]rrj¡)�rr}rr(jYXUUp to 36-Bit DDR3 External Memory Interface (EMIF) with ECC (32-Bit Data + 4-Bit ECC)r rjZjrjbj¨qjdj¥jf}r r(jh]ji]jj]jk]jn]ujpKjr]r rj{XUUp to 36-Bit DDR3 External Memory Interface (EMIF) with ECC (32-Bit Data + 4-Bit ECC)r r…�r r}rr(jYj rjZjrubaubaubj/)�rr}rr(jYX*PCI-Express® 2.0 Port with Integrated PHYrrjZjÏqjbj¨qjdj2jf}rr(jh]ji]jj]jk]jn]ujpNjqhjr]rrj¡)�rr}rr(jYjrjZjrjbj¨qjdj¥jf}rr(jh]ji]jj]jk]jn]ujpKjr]rrj{X*PCI-Express® 2.0 Port with Integrated PHYrr…�rr}rr(jYjrjZjrubaubaubj/)�rr}rr(jYX8Three Multichannel Audio Serial Port (McASP) PeripheralsrrjZjÏqjbj¨qjdj2jf}rr(jh]ji]jj]jk]jn]ujpNjqhjr]rrj¡)�r r}r!r(jYjrjZjrjbj¨qjdj¥jf}r"r(jh]ji]jj]jk]jn]ujpKjr]r#rj{X8Three Multichannel Audio Serial Port (McASP) Peripheralsr$r…�r%r}r&r(jYjrjZj rubaubaubj/)�r'r}r(r(jYX)Multichannel Buffered Serial Port (McBSP)r)rjZjÏqjbj¨qjdj2jf}r*r(jh]ji]jj]jk]jn]ujpNjqhjr]r+rj¡)�r,r}r-r(jYj)rjZj'rjbj¨qjdj¥jf}r.r(jh]ji]jj]jk]jn]ujpKjr]r/rj{X)Multichannel Buffered Serial Port (McBSP)r0r…�r1r}r2r(jYj)rjZj,rubaubaubj/)�r3r}r4r(jYX=Six Enhanced High Resolution Pulse Width Modulation (eHRPWM) jZjÏqjbj¨qjdj2jf}r5r(jh]ji]jj]jk]jn]ujpNjqhjr]r6rj¡)�r7r}r8r(jYX<Six Enhanced High Resolution Pulse Width Modulation (eHRPWM)r9rjZj3rjbj¨qjdj¥jf}r:r(jh]ji]jj]jk]jn]ujpKjr]r;rj{X<Six Enhanced High Resolution Pulse Width Modulation (eHRPWM)rr(jYj9rjZj7rubaubaubeubj¡)�r?r}r@r(jYX The key features of the EVM are:rArjZj·qjbj¨qjdj¥jf}rBr(jh]ji]jj]jk]jn]ujpKjqhjr]rCrj{X The key features of the EVM are:rDr…�rEr}rFr(jYjArjZj?rubaubjC)�rGr}rHr(jYUjZj·qjbj¨qjdj`jf}rIr(jGX-jk]jj]jh]ji]jn]ujpKjqhjr]rJr(j/)�rKr}rLr(jYXfK2G SoC 66AK2G02 is based on keystone II architecture with ARM cortex A15 @600MHz and C66x DSP @600MHzjZjGrjbj¨qjdj2jf}rMr(jh]ji]jj]jk]jn]ujpNjqhjr]rNrj¡)�rOr}rPr(jYXfK2G SoC 66AK2G02 is based on keystone II architecture with ARM cortex A15 @600MHz and C66x DSP @600MHzrQrjZjKrjbj¨qjdj¥jf}rRr(jh]ji]jj]jk]jn]ujpKjr]rSrj{XfK2G SoC 66AK2G02 is based on keystone II architecture with ARM cortex A15 @600MHz and C66x DSP @600MHzrTr…�rUr}rVr(jYjQrjZjOrubaubaubj/)�rWr}rXr(jYX515MByte of DDR3LrYrjZjGrjbj¨qjdj2jf}rZr(jh]ji]jj]jk]jn]ujpNjqhjr]r[rj¡)�r\r}r]r(jYjYrjZjWrjbj¨qjdj¥jf}r^r(jh]ji]jj]jk]jn]ujpK jr]r_rj{X515MByte of DDR3Lr`r…�rar}rbr(jYjYrjZj\rubaubaubj/)�rcr}rdr(jYX512Mbit of QSPI FlashrerjZjGrjbj¨qjdj2jf}rfr(jh]ji]jj]jk]jn]ujpNjqhjr]rgrj¡)�rhr}rir(jYjerjZjcrjbj¨qjdj¥jf}rjr(jh]ji]jj]jk]jn]ujpK!jr]rkrj{X512Mbit of QSPI Flashrlr…�rmr}rnr(jYjerjZjhrubaubaubj/)�ror}rpr(jYX128kByte of I2C EEPROMrqrjZjGrjbj¨qjdj2jf}rrr(jh]ji]jj]jk]jn]ujpNjqhjr]rsrj¡)�rtr}rur(jYjqrjZjorjbj¨qjdj¥jf}rvr(jh]ji]jj]jk]jn]ujpK"jr]rwrj{X128kByte of I2C EEPROMrxr…�ryr}rzr(jYjqrjZjtrubaubaubj/)�r{r}r|r(jYXMicro SD-Card slotr}rjZjGrjbj¨qjdj2jf}r~r(jh]ji]jj]jk]jn]ujpNjqhjr]rrj¡)�r€r}r�r(jYj}rjZj{rjbj¨qjdj¥jf}r‚r(jh]ji]jj]jk]jn]ujpK#jr]rƒrj{XMicro SD-Card slotr„r…�r…r}r†r(jYj}rjZj€rubaubaubj/)�r‡r}rˆr(jYXMGigabit Ethernet port supporting 10/100/1000 Mbps data rate on RJ45 connectorjZjGrjbj¨qjdj2jf}r‰r(jh]ji]jj]jk]jn]ujpNjqhjr]rŠrj¡)�r‹r}rŒr(jYXMGigabit Ethernet port supporting 10/100/1000 Mbps data rate on RJ45 connectorr�rjZj‡rjbj¨qjdj¥jf}rŽr(jh]ji]jj]jk]jn]ujpK$jr]r�rj{XMGigabit Ethernet port supporting 10/100/1000 Mbps data rate on RJ45 connectorr�r…�r‘r}r’r(jYj�rjZj‹rubaubaubj/)�r“r}r”r(jYX(4x 10/100 Industrial Ethernet connectorsr•rjZjGrjbj¨qjdj2jf}r–r(jh]ji]jj]jk]jn]ujpNjqhjr]r—rj¡)�r˜r}r™r(jYj•rjZj“rjbj¨qjdj¥jf}ršr(jh]ji]jj]jk]jn]ujpK&jr]r›rj{X(4x 10/100 Industrial Ethernet connectorsrœr…�r�r}ržr(jYj•rjZj˜rubaubaubj/)�rŸr}r r(jYXPCIe x1 card edge connectorr¡rjZjGrjbj¨qjdj2jf}r¢r(jh]ji]jj]jk]jn]ujpNjqhjr]r£rj¡)�r¤r}r¥r(jYj¡rjZjŸrjbj¨qjdj¥jf}r¦r(jh]ji]jj]jk]jn]ujpK'jr]r§rj{XPCIe x1 card edge connectorr¨r…�r©r}rªr(jYj¡rjZj¤rubaubaubj/)�r«r}r¬r(jYX LCD displayr­rjZjGrjbj¨qjdj2jf}r®r(jh]ji]jj]jk]jn]ujpNjqhjr]r¯rj¡)�r°r}r±r(jYj­rjZj«rjbj¨qjdj¥jf}r²r(jh]ji]jj]jk]jn]ujpK(jr]r³rj{X LCD displayr´r…�rµr}r¶r(jYj­rjZj°rubaubaubj/)�r·r}r¸r(jYX(Expansion connector for customer designsr¹rjZjGrjbj¨qjdj2jf}rºr(jh]ji]jj]jk]jn]ujpNjqhjr]r»rj¡)�r¼r}r½r(jYj¹rjZj·rjbj¨qjdj¥jf}r¾r(jh]ji]jj]jk]jn]ujpK)jr]r¿rj{X(Expansion connector for customer designsrÀr…�rÁr}rÂr(jYj¹rjZj¼rubaubaubj/)�rÃr}rÄr(jYX0XDS100 Emulator and UART over mini-USB connectorrÅrjZjGrjbj¨qjdj2jf}rÆr(jh]ji]jj]jk]jn]ujpNjqhjr]rÇrj¡)�rÈr}rÉr(jYjÅrjZjÃrjbj¨qjdj¥jf}rÊr(jh]ji]jj]jk]jn]ujpK*jr]rËrj{X0XDS100 Emulator and UART over mini-USB connectorrÌr…�rÍr}rÎr(jYjÅrjZjÈrubaubaubj/)�rÏr}rÐr(jYX<20-Pin JTAG header to support all types of external emulatorrÑrjZjGrjbj¨qjdj2jf}rÒr(jh]ji]jj]jk]jn]ujpNjqhjr]rÓrj¡)�rÔr}rÕr(jYjÑrjZjÏrjbj¨qjdj¥jf}rÖr(jh]ji]jj]jk]jn]ujpK+jr]r×rj{X<20-Pin JTAG header to support all types of external emulatorrØr…�rÙr}rÚr(jYjÑrjZjÔrubaubaubj/)�rÛr}rÜr(jYXRoHS compliant designrÝrjZjGrjbj¨qjdj2jf}rÞr(jh]ji]jj]jk]jn]ujpNjqhjr]rßrj¡)�ràr}rár(jYjÝrjZjÛrjbj¨qjdj¥jf}râr(jh]ji]jj]jk]jn]ujpK,jr]rãrj{XRoHS compliant designrär…�rår}rær(jYjÝrjZjàrubaubaubj/)�rçr}rèr(jYXCPowered by DC power-wall adaptor (24V/2.5A) or PCIE Edge Connector jZjGrjbj¨qjdj2jf}rér(jh]ji]jj]jk]jn]ujpNjqhjr]rêrj¡)�rër}rìr(jYXBPowered by DC power-wall adaptor (24V/2.5A) or PCIE Edge ConnectorrírjZjçrjbj¨qjdj¥jf}rîr(jh]ji]jj]jk]jn]ujpK-jr]rïrj{XBPowered by DC power-wall adaptor (24V/2.5A) or PCIE Edge Connectorrðr…�rñr}ròr(jYjírjZjërubaubaubeubeubj[)�rór}rôr(jYUjìKjZj¥qjbj¨qjdjejf}rõr(jh]rörXevm layout and key componentsr÷raji]jj]jk]rørUid51rùrajn]ujpK0jqhjr]rúr(jt)�rûr}rür(jYXEVM Layout and Key ComponentsrýrjZjórjbj¨qjdjxjf}rþr(jh]ji]jj]jk]jn]ujpK0jqhjr]rÿrj{XEVM Layout and Key Componentsrs…�rs}rs(jYjýrjZjûrubaubjB)�rs}rs(jYXF.. Image:: ../../../images/TI_K2G_ICE_EVM_TOP.png :scale: 50% jZjórjbj¨qjdjEjf}rs(UscaleK2UuriX+rtos/../../../images/TI_K2G_ICE_EVM_TOP.pngrsjk]jj]jh]ji]jH}rsU*jssjn]ujpNjqhjr]ubjB)�rs}r s(jYXI.. Image:: ../../../images/TI_K2G_ICE_EVM_BOTTOM.png :scale: 50% jZjórjbj¨qjdjEjf}r s(UscaleK2UuriX.rtos/../../../images/TI_K2G_ICE_EVM_BOTTOM.pngr sjk]jj]jh]ji]jH}r sU*j ssjn]ujpNjqhjr]ubeubj[)�r s}rs(jYUjìKjZj¥qjbj¨qjdjejf}rs(jh]rsX'supported jtag debug probes (emulators)rsaji]jj]jk]rsUid52rsajn]ujpK9jqhjr]rs(jt)�rs}rs(jYX'Supported JTAG Debug Probes (Emulators)rsjZj sjbj¨qjdjxjf}rs(jh]ji]jj]jk]jn]ujpK9jqhjr]rsj{X'Supported JTAG Debug Probes (Emulators)rs…�rs}rs(jYjsjZjsubaubjC)�rs}rs(jYUjZj sjbj¨qjdj`jf}rs(jGX-jk]jj]jh]ji]jn]ujpKs(jYX3XDS560v2-class JTAG debug probes (high performance)r?sjZj9sjbj¨qjdj¥jf}r@s(jh]ji]jj]jk]jn]ujpK>jr]rAsj{X3XDS560v2-class JTAG debug probes (high performance)rBs…�rCs}rDs(jYj?sjZj=subaubaubeubeubj[)�rEs}rFs(jYUjZj¥qjbj¨qjdjejf}rGs(jh]ji]jj]jk]rHsUid53rIsajn]rJsjQaujpKBjqhjr]rKs(jt)�rLs}rMs(jYXMinimal EVM setuprNsjZjEsjbj¨qjdjxjf}rOs(jh]ji]jj]jk]jn]ujpKBjqhjr]rPsj{XMinimal EVM setuprQs…�rRs}rSs(jYjNsjZjLsubaubj[)�rTs}rUs(jYUjZjEsjbj¨qjdjejf}rVs(jh]ji]jj]jk]rWsUid54rXsajn]rYsj(aujpKEjqhjr]rZs(jt)�r[s}r\s(jYXSetting Boot Switchesr]sjZjTsjbj¨qjdjxjf}r^s(jh]ji]jj]jk]jn]ujpKEjqhjr]r_sj{XSetting Boot Switchesr`s…�ras}rbs(jYj]sjZj[subaubj¡)�rcs}rds(jYX9The DIP switch (SW3) is used for selecting the boot mode.resjZjTsjbj¨qjdj¥jf}rfs(jh]ji]jj]jk]jn]ujpKGjqhjr]rgsj{X9The DIP switch (SW3) is used for selecting the boot mode.rhs…�ris}rjs(jYjesjZjcsubaubj¡)�rks}rls(jYXX**For the EVM Out-of-Box experience, use SD/MMC boot mode as shown in the image below**:rmsjZjTsjbj¨qjdj¥jf}rns(jh]ji]jj]jk]jn]ujpKJjqhjr]ros(jü)�rps}rqs(jYXW**For the EVM Out-of-Box experience, use SD/MMC boot mode as shown in the image below**jf}rrs(jh]ji]jj]jk]jn]ujZjksjr]rssj{XSFor the EVM Out-of-Box experience, use SD/MMC boot mode as shown in the image belowrts…�rus}rvs(jYUjZjpsubajdjubj{X:…�rws}rxs(jYX:jZjksubeubjB)�rys}rzs(jYXD.. Image:: ../../../images/K2GICE_Boot_MODE.png :scale: 50% jZjTsjbj¨qjdjEjf}r{s(UscaleK2UuriX)rtos/../../../images/K2GICE_Boot_MODE.pngr|sjk]jj]jh]ji]jH}r}sU*j|ssjn]ujpNjqhjr]ubjZ)�r~s}rs(jYUjZjTsjbj¨qjdj]jf}r€s(jh]ji]jj]jk]jn]ujpKOjqhjr]r�sj`)�r‚s}rƒs(jYUjcKjZj~sjbj¨qjdjpjf}r„s(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r…s}r†s(jYXEThe table below lists all of the boot modes supported on the ICE EVM.r‡sjZjTsjbj¨qjdj¥jf}rˆs(jh]ji]jj]jk]jn]ujpKQjqhjr]r‰sj{XEThe table below lists all of the boot modes supported on the ICE EVM.rŠs…�r‹s}rŒs(jYj‡sjZj…subaubjB)�r�s}rŽs(jYXB.. Image:: ../../../images/K2G_ICE_BOOTSW.png :scale: 50% jZjTsjbj¨qjdjEjf}r�s(UscaleK2UuriX'rtos/../../../images/K2G_ICE_BOOTSW.pngr�sjk]jj]jh]ji]jH}r‘sU*j�ssjn]ujpNjqhjr]ubeubj[)�r’s}r“s(jYUjZjEsjbj¨qjdjejf}r”s(jh]ji]jj]jk]r•sUconnecting-an-emulatorr–sajn]r—sh5aujpKWjqhjr]r˜s(jt)�r™s}ršs(jYXConnecting an Emulatorr›sjZj’sjbj¨qjdjxjf}rœs(jh]ji]jj]jk]jn]ujpKWjqhjr]r�sj{XConnecting an Emulatorržs…�rŸs}r s(jYj›sjZj™subaubj)�r¡s}r¢s(jYX‡This EVM setup is only required for developers who need to connect to cores using Code Composer Studio (CCS) to load their application.r£sjZj’sjbj¨qjdjjf}r¤s(jh]ji]jj]jk]jn]ujpNjqhjr]r¥sj¡)�r¦s}r§s(jYj£sjZj¡sjbj¨qjdj¥jf}r¨s(jh]ji]jj]jk]jn]ujpKYjr]r©sj{X‡This EVM setup is only required for developers who need to connect to cores using Code Composer Studio (CCS) to load their application.rªs…�r«s}r¬s(jYj£sjZj¦subaubaubj¡)�r­s}r®s(jYXcThe EVM supports two types of emulation via the on-board XDS100 emulator or the 20-pin JTAG header.r¯sjZj’sjbj¨qjdj¥jf}r°s(jh]ji]jj]jk]jn]ujpK\jqhjr]r±sj{XcThe EVM supports two types of emulation via the on-board XDS100 emulator or the 20-pin JTAG header.r²s…�r³s}r´s(jYj¯sjZj­subaubj¡)�rµs}r¶s(jYXmWhen an external emulator is not connected to the 20-pin JTAG Header, the on-board XDS100 embedded JTAG emulator is the default type of emulation (SoC JTAG signals are routed to the XDS100 on-board emulator). When an external emulator is connected to the 20-pin JTAG Header, it is automatically detected and the SoC JTAG signals are routed to the external emulator.r·sjZj’sjbj¨qjdj¥jf}r¸s(jh]ji]jj]jk]jn]ujpK^jqhjr]r¹sj{XmWhen an external emulator is not connected to the 20-pin JTAG Header, the on-board XDS100 embedded JTAG emulator is the default type of emulation (SoC JTAG signals are routed to the XDS100 on-board emulator). When an external emulator is connected to the 20-pin JTAG Header, it is automatically detected and the SoC JTAG signals are routed to the external emulator.rºs…�r»s}r¼s(jYj·sjZjµsubaubj¡)�r½s}r¾s(jYX**On-board XDS100 Emulator**r¿sjZj’sjbj¨qjdj¥jf}rÀs(jh]ji]jj]jk]jn]ujpKdjqhjr]rÁsjü)�rÂs}rÃs(jYj¿sjf}rÄs(jh]ji]jj]jk]jn]ujZj½sjr]rÅsj{XOn-board XDS100 EmulatorrÆs…�rÇs}rÈs(jYUjZjÂsubajdjubaubj¡)�rÉs}rÊs(jYXñThe K2G ICE EVM has on-board XDS100 embedded JTAG emulation circuitry so an external emulator is not required. Users can connect to the target SoC via CCS by connecting the USB cable, supplied in the ICE EVM kit, as shown in the image below.rËsjZj’sjbj¨qjdj¥jf}rÌs(jh]ji]jj]jk]jn]ujpKfjqhjr]rÍsj{XñThe K2G ICE EVM has on-board XDS100 embedded JTAG emulation circuitry so an external emulator is not required. Users can connect to the target SoC via CCS by connecting the USB cable, supplied in the ICE EVM kit, as shown in the image below.rÎs…�rÏs}rÐs(jYjËsjZjÉsubaubjZ)�rÑs}rÒs(jYUjZj’sjbj¨qjdj]jf}rÓs(jh]ji]jj]jk]jn]ujpKijqhjr]rÔsj`)�rÕs}rÖs(jYUjcKjZjÑsjbj¨qjdjpjf}r×s(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjB)�rØs}rÙs(jYXC.. Image:: ../../../images/ICE_K2G_connect.png :scale: 50% jZj’sjbj¨qjdjEjf}rÚs(UscaleK2UuriX(rtos/../../../images/ICE_K2G_connect.pngrÛsjk]jj]jh]ji]jH}rÜsU*jÛssjn]ujpNjqhjr]ubjZ)�rÝs}rÞs(jYUjZj’sjbj¨qjdj]jf}rßs(jh]ji]jj]jk]jn]ujpKnjqhjr]ràsj`)�rás}râs(jYUjcKjZjÝsjbj¨qjdjpjf}rãs(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�räs}rås(jYX:**20-pin JTAG Header for Connecting an External Emulator**ræsjZj’sjbj¨qjdj¥jf}rçs(jh]ji]jj]jk]jn]ujpKpjqhjr]rèsjü)�rés}rês(jYjæsjf}rës(jh]ji]jj]jk]jn]ujZjäsjr]rìsj{X620-pin JTAG Header for Connecting an External Emulatorrís…�rîs}rïs(jYUjZjésubajdjubaubj¡)�rðs}rñs(jYXìUsers have the option of connecting an external at the 20-pin JTAG Header connector (EMU1). The 20-pin JTAG Header is provided on-board for high speed real-time emulation. All JTAG and EMUxx signals are terminated on 20-pin JTAG Header.ròsjZj’sjbj¨qjdj¥jf}rós(jh]ji]jj]jk]jn]ujpKrjqhjr]rôsj{XìUsers have the option of connecting an external at the 20-pin JTAG Header connector (EMU1). The 20-pin JTAG Header is provided on-board for high speed real-time emulation. All JTAG and EMUxx signals are terminated on 20-pin JTAG Header.rõs…�rös}r÷s(jYjòsjZjðsubaubeubj[)�røs}rùs(jYUjZjEsjbj¨qjdjejf}rús(jh]ji]jj]jk]rûsUid55rüsajn]rýshPaujpKxjqhjr]rþs(jt)�rÿs}rt(jYXPowering Up the EVMrtjZjøsjbj¨qjdjxjf}rt(jh]ji]jj]jk]jn]ujpKxjqhjr]rtj{XPowering Up the EVMrt…�rt}rt(jYjtjZjÿsubaubjè)�rt}rt(jYXPower Supply Specificationsr tjìKjZjøsjbj¨qjdjíjf}r t(jk]r tUid56r tajj]jh]r tXpower-supply-specificationsrtaji]jn]ujpNjqhjr]rtj{XPower Supply Specificationsrt…�rt}rt(jYj tjZjtubaubj¡)�rt}rt(jYXÎThe K2G ICE EVM can be powered from one of two sources. A single +24V / 2.5A DC (60W) external power supply connected to the DC power jack (J6). In addition, the K2G ICE EVM can be powered from the 12V supply pins on the PCIE edge connector. A power ANDing circuit is included in the design which will prevent damage if the +24V is connected while the board is installed on a PCIE backplane. The +24V supply will supply the power for the board in that condition.rtjZjøsjbj¨qjdj¥jf}rt(jh]ji]jj]jk]jn]ujpK}jqhjr]rtj{XÎThe K2G ICE EVM can be powered from one of two sources. A single +24V / 2.5A DC (60W) external power supply connected to the DC power jack (J6). In addition, the K2G ICE EVM can be powered from the 12V supply pins on the PCIE edge connector. A power ANDing circuit is included in the design which will prevent damage if the +24V is connected while the board is installed on a PCIE backplane. The +24V supply will supply the power for the board in that condition.rt…�rt}rt(jYjtjZjtubaubeubeubj[)�rt}rt(jYUjZj¥qjbj¨qjdjejf}rt(jh]ji]jj]jk]rtUid57rtajn]r thaujpK†jqhjr]r!t(jt)�r"t}r#t(jYX CCS Setupr$tjZjtjbj¨qjdjxjf}r%t(jh]ji]jj]jk]jn]ujpK†jqhjr]r&tj{X CCS Setupr't…�r(t}r)t(jYj$tjZj"tubaubj¡)�r*t}r+t(jYXwThis section describes the setup to connect to 66AK2G02 ICE EVM using Code composer Studio environment and an emulator.r,tjZjtjbj¨qjdj¥jf}r-t(jh]ji]jj]jk]jn]ujpKˆjqhjr]r.tj{XwThis section describes the setup to connect to 66AK2G02 ICE EVM using Code composer Studio environment and an emulator.r/t…�r0t}r1t(jYj,tjZj*tubaubj¡)�r2t}r3t(jYX6There are two scenarios while connecting to the EVM :r4tjZjtjbj¨qjdj¥jf}r5t(jh]ji]jj]jk]jn]ujpK‹jqhjr]r6tj{X6There are two scenarios while connecting to the EVM :r7t…�r8t}r9t(jYj4tjZj2tubaubjC)�r:t}r;t(jYUjZjtjbj¨qjdj`jf}rt}r?t(jYX?**Connect to EVM without a SD card boot image to boot the EVM**r@tjZj:tjbj¨qjdj2jf}rAt(jh]ji]jj]jk]jn]ujpNjqhjr]rBtj¡)�rCt}rDt(jYj@tjZj>tjbj¨qjdj¥jf}rEt(jh]ji]jj]jk]jn]ujpK�jr]rFtjü)�rGt}rHt(jYj@tjf}rIt(jh]ji]jj]jk]jn]ujZjCtjr]rJtj{X;Connect to EVM without a SD card boot image to boot the EVMrKt…�rLt}rMt(jYUjZjGtubajdjubaubaubj/)�rNt}rOt(jYX<**Connect to EVM after booting an image from the SD card**. jZj:tjbj¨qjdj2jf}rPt(jh]ji]jj]jk]jn]ujpNjqhjr]rQtj¡)�rRt}rSt(jYX;**Connect to EVM after booting an image from the SD card**.jZjNtjbj¨qjdj¥jf}rTt(jh]ji]jj]jk]jn]ujpKŽjr]rUt(jü)�rVt}rWt(jYX:**Connect to EVM after booting an image from the SD card**jf}rXt(jh]ji]jj]jk]jn]ujZjRtjr]rYtj{X6Connect to EVM after booting an image from the SD cardrZt…�r[t}r\t(jYUjZjVtubajdjubj{X.…�r]t}r^t(jYX.jZjRtubeubaubeubj)�r_t}r`t(jYXóKeystone II device support package in CCSv7.1 includes the support for K2G ICE board but CCSv7.0/ CCSv6 users may need to update the device support package as described in the section "Update CCS to Install Keystone II Device Support Package."ratjZjtjbj¨qjdjjf}rbt(jh]ji]jj]jk]jn]ujpNjqhjr]rctj¡)�rdt}ret(jYjatjZj_tjbj¨qjdj¥jf}rft(jh]ji]jj]jk]jn]ujpK�jr]rgtj{XóKeystone II device support package in CCSv7.1 includes the support for K2G ICE board but CCSv7.0/ CCSv6 users may need to update the device support package as described in the section "Update CCS to Install Keystone II Device Support Package."rht…�rit}rjt(jYjatjZjdtubaubaubjZ)�rkt}rlt(jYUjZjtjbj¨qjdj]jf}rmt(jh]ji]jj]jk]jn]ujpK’jqhjr]rntj`)�rot}rpt(jYUjcKjZjktjbj¨qjdjpjf}rqt(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj[)�rrt}rst(jYUjZjtjbj¨qjdjejf}rtt(jh]ji]jj]jk]rutU8update-ccs-to-install-keystone-ii-device-support-packagervtajn]rwthðaujpK•jqhjr]rxt(jt)�ryt}rzt(jYX8Update CCS to Install Keystone II Device Support Packager{tjZjrtjbj¨qjdjxjf}r|t(jh]ji]jj]jk]jn]ujpK•jqhjr]r}tj{X8Update CCS to Install Keystone II Device Support Packager~t…�rt}r€t(jYj{tjZjytubaubj¡)�r�t}r‚t(jYX”All revisions of the board require this step to be performed in order to get the latest GEL files and the target content for the K2G if you are using CCSv7.0 and earlier. This step will not be required for CCS versions higher than version 7.1. CCSv7.0 or CCSv6.1.3 package contain KeystoneII device support package v1.1.6 which doesn't contain K2GICE specific target files hence we recommend this update.rƒtjZjrtjbj¨qjdj¥jf}r„t(jh]ji]jj]jk]jn]ujpK—jqhjr]r…tj{X”All revisions of the board require this step to be performed in order to get the latest GEL files and the target content for the K2G if you are using CCSv7.0 and earlier. This step will not be required for CCS versions higher than version 7.1. CCSv7.0 or CCSv6.1.3 package contain KeystoneII device support package v1.1.6 which doesn't contain K2GICE specific target files hence we recommend this update.r†t…�r‡t}rˆt(jYjƒtjZj�tubaubj¡)�r‰t}rŠt(jYX›1. All CCS v6.1.3 or CCSv7.0 and earlier version users are required to update the Keystone Device Support package by going into the Help->Check For Updatesr‹tjZjrtjbj¨qjdj¥jf}rŒt(jh]ji]jj]jk]jn]ujpKžjqhjr]r�tj{X›1. All CCS v6.1.3 or CCSv7.0 and earlier version users are required to update the Keystone Device Support package by going into the Help->Check For UpdatesrŽt…�r�t}r�t(jYj‹tjZj‰tubaubjB)�r‘t}r’t(jYXE.. Image:: ../../../images/Check_for_Updates.png :scale: 50% jZjrtjbj¨qjdjEjf}r“t(UscaleK2UuriX*rtos/../../../images/Check_for_Updates.pngr”tjk]jj]jh]ji]jH}r•tU*j”tsjn]ujpNjqhjr]ubj¡)�r–t}r—t(jYX\2. Select Keystone2 device support package. Follow menu options to continue with the update.r˜tjZjrtjbj¨qjdj¥jf}r™t(jh]ji]jj]jk]jn]ujpK¥jqhjr]rštj{X\2. Select Keystone2 device support package. Follow menu options to continue with the update.r›t…�rœt}r�t(jYj˜tjZj–tubaubj¡)�ržt}rŸt(jYXž3. After the update is complete go to Help->Installation details and check that Keystone2 device support package v1.1.9 or later are installed as shown below.r tjZjrtjbj¨qjdj¥jf}r¡t(jh]ji]jj]jk]jn]ujpK¨jqhjr]r¢tj{Xž3. After the update is complete go to Help->Installation details and check that Keystone2 device support package v1.1.9 or later are installed as shown below.r£t…�r¤t}r¥t(jYj tjZjžtubaubjB)�r¦t}r§t(jYXU.. Image:: ../../../images/KeystoneII_device_support_package.png :scale: 50% jZjrtjbj¨qjdjEjf}r¨t(UscaleK2UuriX:rtos/../../../images/KeystoneII_device_support_package.pngr©tjk]jj]jh]ji]jH}rªtU*j©tsjn]ujpNjqhjr]ubj)�r«t}r¬t(jYXiThe package can be downloaded separately from the link below and manually unzipped into CCS installation.r­tjZjrtjbj¨qjdjjf}r®t(jh]ji]jj]jk]jn]ujpNjqhjr]r¯tj¡)�r°t}r±t(jYj­tjZj«tjbj¨qjdj¥jf}r²t(jh]ji]jj]jk]jn]ujpK¯jr]r³tj{XiThe package can be downloaded separately from the link below and manually unzipped into CCS installation.r´t…�rµt}r¶t(jYj­tjZj°tubaubaubjC)�r·t}r¸t(jYUjZjrtjbj¨qjdj`jf}r¹t(jGX-jk]jj]jh]ji]jn]ujpK±jqhjr]rºtj/)�r»t}r¼t(jYXg`Device Support Files `__ jZj·tjbj¨qjdj2jf}r½t(jh]ji]jj]jk]jn]ujpNjqhjr]r¾tj¡)�r¿t}rÀt(jYXe`Device Support Files `__rÁtjZj»tjbj¨qjdj¥jf}rÂt(jh]ji]jj]jk]jn]ujpK±jr]rÃtjÜ)�rÄt}rÅt(jYjÁtjf}rÆt(UnameXDevice Support FilesjXJhttps://software-dl.ti.com/ccs/esd/documents/ccs_device_support_files.htmljk]jj]jh]ji]jn]ujZj¿tjr]rÇtj{XDevice Support FilesrÈt…�rÉt}rÊt(jYUjZjÄtubajdjàubaubaubaubj)�rËt}rÌt(jYXãFor K2G Devices, if using CCS v6.1.2 and Keystone2 device support v1.1.7, 66AK2G02 would not show up in the list of devices when creating the target configuration. This is due to an incompatibility in the XML parser in CCS v6.1.2 with the K2G device xml. In order to work-around this issue, make the change in 66AK2G02.xml as illustrated below in order to have 66AK2G02 display in the device list. This problem does not exist in CCS v6.1.3 onwards as the XML parser has been updated.rÍtjZjrtjbj¨qjdjjf}rÎt(jh]ji]jj]jk]jn]ujpNjqhjr]rÏtj¡)�rÐt}rÑt(jYjÍtjZjËtjbj¨qjdj¥jf}rÒt(jh]ji]jj]jk]jn]ujpKµjr]rÓtj{XãFor K2G Devices, if using CCS v6.1.2 and Keystone2 device support v1.1.7, 66AK2G02 would not show up in the list of devices when creating the target configuration. This is due to an incompatibility in the XML parser in CCS v6.1.2 with the K2G device xml. In order to work-around this issue, make the change in 66AK2G02.xml as illustrated below in order to have 66AK2G02 display in the device list. This problem does not exist in CCS v6.1.3 onwards as the XML parser has been updated.rÔt…�rÕt}rÖt(jYjÍtjZjÐtubaubaubj¡)�r×t}rØt(jYXAC:\\ti\\ccsv6\\ccs\_base\\common\\targetdb\\devices\\66AK2G02.xmlrÙtjZjrtjbj¨qjdj¥jf}rÚt(jh]ji]jj]jk]jn]ujpK·jqhjr]rÛtj{X9C:\ti\ccsv6\ccs_base\common\targetdb\devices\66AK2G02.xmlrÜt…�rÝt}rÞt(jYXAC:\\ti\\ccsv6\\ccs\_base\\common\\targetdb\\devices\\66AK2G02.xmljZj×tubaubj¡)�rßt}ràt(jYXLine #1rátjZjrtjbj¨qjdj¥jf}rât(jh]ji]jj]jk]jn]ujpK¹jqhjr]rãtj{XLine #1rät…�råt}ræt(jYjátjZjßtubaubj)�rçt}rèt(jYX6jZjrtjbj¨qjdjjf}rét(jöj÷jk]jj]jh]ji]jn]ujpM¿ jqhjr]rêtj{X6rët…�rìt}rít(jYUjZjçtubaubj¡)�rît}rït(jYXtorðtjZjrtjbj¨qjdj¥jf}rñt(jh]ji]jj]jk]jn]ujpK¿jqhjr]ròtj{Xtorót…�rôt}rõt(jYjðtjZjîtubaubj)�röt}r÷t(jYX6jZjrtjbj¨qjdjjf}røt(jöj÷jk]jj]jh]ji]jn]ujpMÅ jqhjr]rùtj{X6rút…�rût}rüt(jYUjZjötubaubeubj[)�rýt}rþt(jYUjZjtjbj¨qjdjejf}rÿt(jh]ji]jj]jk]ruU%connect-without-an-sd-card-boot-imageruajn]ruhaujpKÆjqhjr]ru(jt)�ru}ru(jYX%Connect without an SD Card Boot ImagerujZjýtjbj¨qjdjxjf}ru(jh]ji]jj]jk]jn]ujpKÆjqhjr]ruj{X%Connect without an SD Card Boot Imager u…�r u}r u(jYjujZjuubaubjè)�r u}r u(jYX&Configuring target configuration filesrujìKjZjýtjbj¨qjdjíjf}ru(jk]ruUid58ruajj]jh]ruX&configuring-target-configuration-filesruaji]jn]ujpNjqhjr]ruj{X&Configuring target configuration filesru…�ru}ru(jYjujZj uubaubj¡)�ru}ru(jYXuLaunch CCS and create a new target configuration (File->New->Target Configuration file) as shown in the images below.rujZjýtjbj¨qjdj¥jf}ru(jh]ji]jj]jk]jn]ujpKËjqhjr]ruj{XuLaunch CCS and create a new target configuration (File->New->Target Configuration file) as shown in the images below.ru…�ru}ru(jYjujZjuubaubjB)�r u}r!u(jYXL.. Image:: ../../../images/CCS_target_configuration.png :scale: 50% jZjýtjbj¨qjdjEjf}r"u(UscaleK2UuriX1rtos/../../../images/CCS_target_configuration.pngr#ujk]jj]jh]ji]jH}r$uU*j#usjn]ujpNjqhjr]ubj¡)�r%u}r&u(jYXtProvide an appropriate name to the configuration. Select Spectrum Digital XDS100 emulator and target as K2G ICE EVM.r'ujZjýtjbj¨qjdj¥jf}r(u(jh]ji]jj]jk]jn]ujpKÐjqhjr]r)uj{XtProvide an appropriate name to the configuration. Select Spectrum Digital XDS100 emulator and target as K2G ICE EVM.r*u…�r+u}r,u(jYj'ujZj%uubaubj)�r-u}r.u(jYXÝIf you don't find the K2GICE target make sure you have installed CCSv7.1 or higher. If using CCSv 7.0 or CCSv6.1.x and earlier, ensure that you have done the software update correctly as shown in the how to section below.r/ujZjýtjbj¨qjdjjf}r0u(jh]ji]jj]jk]jn]ujpNjqhjr]r1uj¡)�r2u}r3u(jYj/ujZj-ujbj¨qjdj¥jf}r4u(jh]ji]jj]jk]jn]ujpKÒjr]r5uj{XÝIf you don't find the K2GICE target make sure you have installed CCSv7.1 or higher. If using CCSv 7.0 or CCSv6.1.x and earlier, ensure that you have done the software update correctly as shown in the how to section below.r6u…�r7u}r8u(jYj/ujZj2uubaubaubjB)�r9u}r:u(jYXP.. Image:: ../../../images/K2G_ICE_target_configuration.png :scale: 50% jZjýtjbj¨qjdjEjf}r;u(UscaleK2UuriX5rtos/../../../images/K2G_ICE_target_configuration.pngru}r?u(jYX•In advanced settings, make sure that the GEL files are populated correctly. The following GEL files and their corresponding cores are provided below.r@ujZjýtjbj¨qjdj¥jf}rAu(jh]ji]jj]jk]jn]ujpK×jqhjr]rBuj{X•In advanced settings, make sure that the GEL files are populated correctly. The following GEL files and their corresponding cores are provided below.rCu…�rDu}rEu(jYj@ujZj>uubaubjC)�rFu}rGu(jYUjZjýtjbj¨qjdj`jf}rHu(jGX-jk]jj]jh]ji]jn]ujpKÙjqhjr]rIu(j/)�rJu}rKu(jYXC66X Core: icek2g.gelrLujZjFujbj¨qjdj2jf}rMu(jh]ji]jj]jk]jn]ujpNjqhjr]rNuj¡)�rOu}rPu(jYjLujZjJujbj¨qjdj¥jf}rQu(jh]ji]jj]jk]jn]ujpKÙjr]rRuj{XC66X Core: icek2g.gelrSu…�rTu}rUu(jYjLujZjOuubaubaubj/)�rVu}rWu(jYXA15 Core: icek2g\_arm.gel jZjFujbj¨qjdj2jf}rXu(jh]ji]jj]jk]jn]ujpNjqhjr]rYuj¡)�rZu}r[u(jYXA15 Core: icek2g\_arm.geljZjVujbj¨qjdj¥jf}r\u(jh]ji]jj]jk]jn]ujpKÚjr]r]uj{XA15 Core: icek2g_arm.gelr^u…�r_u}r`u(jYXA15 Core: icek2g\_arm.geljZjZuubaubaubeubjè)�rau}rbu(jYXConnecting to targetrcujìKjZjýtjbj¨qjdjíjf}rdu(jk]reuUid59rfuajj]jh]rguXconnecting-to-targetrhuaji]jn]ujpNjqhjr]riuj{XConnecting to targetrju…�rku}rlu(jYjcujZjauubaubj¡)�rmu}rnu(jYXÚ1. Download Code composer Studio or for CCSv7.0 and earlier, ensure it contains Keystone device support package version 1.1.9 as described in the how to guide "Update CCS to Install Keystone II Device Support Package."roujZjýtjbj¨qjdj¥jf}rpu(jh]ji]jj]jk]jn]ujpKßjqhjr]rquj{XÚ1. Download Code composer Studio or for CCSv7.0 and earlier, ensure it contains Keystone device support package version 1.1.9 as described in the how to guide "Update CCS to Install Keystone II Device Support Package."rru…�rsu}rtu(jYjoujZjmuubaubj¡)�ruu}rvu(jYX·2. 66AK2G02 ICE EVM contains boot switches to configure for "No boot/sleep" mode. So configure the boot switches to "No Boot Mode" as described in the "Setting Boot Switches" section.rwujZjýtjbj¨qjdj¥jf}rxu(jh]ji]jj]jk]jn]ujpKâjqhjr]ryuj{X·2. 66AK2G02 ICE EVM contains boot switches to configure for "No boot/sleep" mode. So configure the boot switches to "No Boot Mode" as described in the "Setting Boot Switches" section.rzu…�r{u}r|u(jYjwujZjuuubaubj¡)�r}u}r~u(jYXo3. Connect an XDS100 Emulator to the XDS USB port of the ICE EVM as shown in the section "Connecting Emulator."rujZjýtjbj¨qjdj¥jf}r€u(jh]ji]jj]jk]jn]ujpKåjqhjr]r�uj{Xo3. Connect an XDS100 Emulator to the XDS USB port of the ICE EVM as shown in the section "Connecting Emulator."r‚u…�rƒu}r„u(jYjujZj}uubaubj¡)�r…u}r†u(jYX‚4. Launch CCS and create a new target configuration as discussed in the previous section "Configuring target configuration files."r‡ujZjýtjbj¨qjdj¥jf}rˆu(jh]ji]jj]jk]jn]ujpKèjqhjr]r‰uj{X‚4. Launch CCS and create a new target configuration as discussed in the previous section "Configuring target configuration files."rŠu…�r‹u}rŒu(jYj‡ujZj…uubaubj¡)�r�u}rŽu(jYX15. Launch the newly created target configuration.r�ujZjýtjbj¨qjdj¥jf}r�u(jh]ji]jj]jk]jn]ujpKëjqhjr]r‘uj{X15. Launch the newly created target configuration.r’u…�r“u}r”u(jYj�ujZj�uubaubjB)�r•u}r–u(jYXK.. Image:: ../../../images/K2G_Launch_targetConfig.png :scale: 50% jZjýtjbj¨qjdjEjf}r—u(UscaleK2UuriX0rtos/../../../images/K2G_Launch_targetConfig.pngr˜ujk]jj]jh]ji]jH}r™uU*j˜usjn]ujpNjqhjr]ubj¡)�ršu}r›u(jYXV6. K2G can be a DSP or an ARM master boot device so connect to the C66x or the A15\_0.jZjýtjbj¨qjdj¥jf}rœu(jh]ji]jj]jk]jn]ujpKñjqhjr]r�uj{XU6. K2G can be a DSP or an ARM master boot device so connect to the C66x or the A15_0.ržu…�rŸu}r u(jYXV6. K2G can be a DSP or an ARM master boot device so connect to the C66x or the A15\_0.jZjšuubaubj¡)�r¡u}r¢u(jYX **GEL Log**r£ujZjýtjbj¨qjdj¥jf}r¤u(jh]ji]jj]jk]jn]ujpKôjqhjr]r¥ujü)�r¦u}r§u(jYj£ujf}r¨u(jh]ji]jj]jk]jn]ujZj¡ujr]r©uj{XGEL Logrªu…�r«u}r¬u(jYUjZj¦uubajdjubaubj)�r­u}r®u(jYXÎA15_0: GEL Output: PLL has been configured (24.0 MHz * 100 / 1 / 4 = 600.0 MHz) A15_0: GEL Output: ARM PLL has been configured with ref clock 24MHz, -sysclkp_period 41.6666 (24.0 MHz * 100 / 1 / 4 = 600.0 MHz) A15_0: GEL Output: Power on all PSC modules and DSP domains... A15_0: GEL Output: Power on PCIE PSC modules and DSP domains... Done. A15_0: GEL Output: UART PLL has been configured (24.0 MHz * 128 / 1 / 8 = 384.0 MHz) A15_0: GEL Output: NSS PLL has been configured (24.0 MHz * 250 / 3 / 2 = 1000.0 MHz) A15_0: GEL Output: ICSS PLL has been configured (24.0 MHz * 250 / 3 / 10 = 200.0 MHz) A15_0: GEL Output: DSS PLL has been configured (24.0 MHz * 198 / 12 / 16 = 24.75 MHz) A15_0: GEL Output: DDR PLL has been configured (24.0 MHz * 250 / 3 / 10 = 200.0 MHz) A15_0: GEL Output: XMC setup complete. A15_0: GEL Output: DDR3 PLL Setup ... A15_0: GEL Output: DDR3 PLL Setup complete, DDR3A clock now running at 400MHz. A15_0: GEL Output: DDR3A initialization completejZjýtjbj¨qjdjjf}r¯u(jöj÷jk]jj]jh]ji]jn]ujpMú jqhjr]r°uj{XÎA15_0: GEL Output: PLL has been configured (24.0 MHz * 100 / 1 / 4 = 600.0 MHz) A15_0: GEL Output: ARM PLL has been configured with ref clock 24MHz, -sysclkp_period 41.6666 (24.0 MHz * 100 / 1 / 4 = 600.0 MHz) A15_0: GEL Output: Power on all PSC modules and DSP domains... A15_0: GEL Output: Power on PCIE PSC modules and DSP domains... Done. A15_0: GEL Output: UART PLL has been configured (24.0 MHz * 128 / 1 / 8 = 384.0 MHz) A15_0: GEL Output: NSS PLL has been configured (24.0 MHz * 250 / 3 / 2 = 1000.0 MHz) A15_0: GEL Output: ICSS PLL has been configured (24.0 MHz * 250 / 3 / 10 = 200.0 MHz) A15_0: GEL Output: DSS PLL has been configured (24.0 MHz * 198 / 12 / 16 = 24.75 MHz) A15_0: GEL Output: DDR PLL has been configured (24.0 MHz * 250 / 3 / 10 = 200.0 MHz) A15_0: GEL Output: XMC setup complete. A15_0: GEL Output: DDR3 PLL Setup ... A15_0: GEL Output: DDR3 PLL Setup complete, DDR3A clock now running at 400MHz. A15_0: GEL Output: DDR3A initialization completer±u…�r²u}r³u(jYUjZj­uubaubeubj[)�r´u}rµu(jYUjZjtjbj¨qjdjejf}r¶u(jh]ji]jj]jk]r·uU"connect-with-an-sd-card-boot-imager¸uajn]r¹uhUaujpMjqhjr]rºu(jt)�r»u}r¼u(jYX"Connect with an SD Card Boot Imager½ujZj´ujbj¨qjdjxjf}r¾u(jh]ji]jj]jk]jn]ujpMjqhjr]r¿uj{X"Connect with an SD Card Boot ImagerÀu…�rÁu}rÂu(jYj½ujZj»uubaubj¡)�rÃu}rÄu(jYXy1. Launch CCS and create a new target configuration (File->New->Target Configuration file) as shown in the images below.rÅujZj´ujbj¨qjdj¥jf}rÆu(jh]ji]jj]jk]jn]ujpMjqhjr]rÇuj{Xy1. Launch CCS and create a new target configuration (File->New->Target Configuration file) as shown in the images below.rÈu…�rÉu}rÊu(jYjÅujZjÃuubaubjB)�rËu}rÌu(jYXL.. Image:: ../../../images/CCS_target_configuration.png :scale: 50% jZj´ujbj¨qjdjEjf}rÍu(UscaleK2UuriX1rtos/../../../images/CCS_target_configuration.pngrÎujk]jj]jh]ji]jH}rÏuU*jÎusjn]ujpNjqhjr]ubj¡)�rÐu}rÑu(jYXqProvide an appropriate name to the configuration. Select Spectrum digital XDS100 emulator and target as 66AK2G02.rÒujZj´ujbj¨qjdj¥jf}rÓu(jh]ji]jj]jk]jn]ujpMjqhjr]rÔuj{XqProvide an appropriate name to the configuration. Select Spectrum digital XDS100 emulator and target as 66AK2G02.rÕu…�rÖu}r×u(jYjÒujZjÐuubaubj)�rØu}rÙu(jYXÝIf you don't find the K2GICE target make sure you have installed CCSv7.1 or higher. If using CCSv 7.0 or CCSv6.1.x and earlier, ensure that you have done the software update correctly as shown in the how to section below.rÚujZj´ujbj¨qjdjjf}rÛu(jh]ji]jj]jk]jn]ujpNjqhjr]rÜuj¡)�rÝu}rÞu(jYjÚujZjØujbj¨qjdj¥jf}rßu(jh]ji]jj]jk]jn]ujpMjr]ràuj{XÝIf you don't find the K2GICE target make sure you have installed CCSv7.1 or higher. If using CCSv 7.0 or CCSv6.1.x and earlier, ensure that you have done the software update correctly as shown in the how to section below.ráu…�râu}rãu(jYjÚujZjÝuubaubaubjB)�räu}råu(jYX\.. Image:: ../../../images/K2G_GPEVM_Target_configuration_alternate.jpg :scale: 50% jZj´ujbj¨qjdjEjf}ræu(UscaleK2UuriXArtos/../../../images/K2G_GPEVM_Target_configuration_alternate.jpgrçujk]jj]jh]ji]jH}rèuU*jçusjn]ujpNjqhjr]ubj¡)�réu}rêu(jYX@In advanced settings, make sure that no GEL files are populated.rëujZj´ujbj¨qjdj¥jf}rìu(jh]ji]jj]jk]jn]ujpMjqhjr]ríuj{X@In advanced settings, make sure that no GEL files are populated.rîu…�rïu}rðu(jYjëujZjéuubaubj¡)�rñu}ròu(jYX³2. 66AK2G02 GP EVM contains boot switches to configure for "SD/MMC boot" mode. So configure the boot switches to "SD/MMC Boot" as described in the section "Setting Boot Switches."róujZj´ujbj¨qjdj¥jf}rôu(jh]ji]jj]jk]jn]ujpMjqhjr]rõuj{X³2. 66AK2G02 GP EVM contains boot switches to configure for "SD/MMC boot" mode. So configure the boot switches to "SD/MMC Boot" as described in the section "Setting Boot Switches."röu…�r÷u}røu(jYjóujZjñuubaubj¡)�rùu}rúu(jYXn3. Connect an XDS100 Emulator to the XDS USB port of the GP EVM as shown in the section "Connecting Emulator."rûujZj´ujbj¨qjdj¥jf}rüu(jh]ji]jj]jk]jn]ujpMjqhjr]rýuj{Xn3. Connect an XDS100 Emulator to the XDS USB port of the GP EVM as shown in the section "Connecting Emulator."rþu…�rÿu}rv(jYjûujZjùuubaubj¡)�rv}rv(jYX‚4. Launch CCS and create a new target configuration as discussed in the previous section "Configuring target configuration files".rvjZj´ujbj¨qjdj¥jf}rv(jh]ji]jj]jk]jn]ujpMjqhjr]rvj{X‚4. Launch CCS and create a new target configuration as discussed in the previous section "Configuring target configuration files".rv…�rv}rv(jYjvjZjvubaubj¡)�r v}r v(jYX15. Launch the newly created target configuration.r vjZj´ujbj¨qjdj¥jf}r v(jh]ji]jj]jk]jn]ujpM jqhjr]r vj{X15. Launch the newly created target configuration.rv…�rv}rv(jYj vjZj vubaubjB)�rv}rv(jYXK.. Image:: ../../../images/K2G_Launch_targetConfig.png :scale: 50% jZj´ujbj¨qjdjEjf}rv(UscaleK2UuriX0rtos/../../../images/K2G_Launch_targetConfig.pngrvjk]jj]jh]ji]jH}rvU*jvsjn]ujpNjqhjr]ubj¡)�rv}rv(jYX•6. K2G will boot with ARM master boot from the SD card so connect to the A15\_0. There will be no output on the console when you connect to the core.jZj´ujbj¨qjdj¥jf}rv(jh]ji]jj]jk]jn]ujpM&jqhjr]rvj{X”6. K2G will boot with ARM master boot from the SD card so connect to the A15_0. There will be no output on the console when you connect to the core.rv…�rv}rv(jYX•6. K2G will boot with ARM master boot from the SD card so connect to the A15\_0. There will be no output on the console when you connect to the core.jZjvubaubj¡)�rv}rv(jYX€7. SD card boot image will typically load a secondary bootloader like u-boot that will put the DSP in reset so users will need to follow the instructions in the guide `How to take the C66x DSP out of reset with Linux running on A15 `__jZj´ujbj¨qjdj¥jf}rv(jh]ji]jj]jk]jn]ujpM)jqhjr]r v(j{X§7. SD card boot image will typically load a secondary bootloader like u-boot that will put the DSP in reset so users will need to follow the instructions in the guide r!v…�r"v}r#v(jYX§7. SD card boot image will typically load a secondary bootloader like u-boot that will put the DSP in reset so users will need to follow the instructions in the guide jZjvubjÜ)�r$v}r%v(jYXÙ`How to take the C66x DSP out of reset with Linux running on A15 `__jf}r&v(UnameX?How to take the C66x DSP out of reset with Linux running on A15jX“http://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/How_to_Guides.html#taking-the-c66x-out-of-reset-with-linux-running-on-the-arm-a15jk]jj]jh]ji]jn]ujZjvjr]r'vj{X?How to take the C66x DSP out of reset with Linux running on A15r(v…�r)v}r*v(jYUjZj$vubajdjàubeubj)�r+v}r,v(jYX¤RTOS users do not need to follow this step as the Secondary Bootloader (SBL) will put the DSP in idle state and not in reset if there is no code running on the DSP.r-vjZj´ujbj¨qjdjjf}r.v(jh]ji]jj]jk]jn]ujpNjqhjr]r/vj¡)�r0v}r1v(jYj-vjZj+vjbj¨qjdj¥jf}r2v(jh]ji]jj]jk]jn]ujpM,jr]r3vj{X¤RTOS users do not need to follow this step as the Secondary Bootloader (SBL) will put the DSP in idle state and not in reset if there is no code running on the DSP.r4v…�r5v}r6v(jYj-vjZj0vubaubaubeubeubj[)�r7v}r8v(jYUjZj¥qjbj¨qjdjejf}r9v(jh]ji]jj]jk]r:vUid60r;vajn]rv}r?v(jYXUseful Resources and Supportr@vjZj7vjbj¨qjdjxjf}rAv(jh]ji]jj]jk]jn]ujpM/jqhjr]rBvj{XUseful Resources and SupportrCv…�rDv}rEv(jYj@vjZj>vubaubjC)�rFv}rGv(jYUjZj7vjbj¨qjdj`jf}rHv(jGX-jk]jj]jh]ji]jn]ujpM0jqhjr]rIv(j/)�rJv}rKv(jYXM`66AK2Gx ICE EVM User Guide `__rLvjZjFvjbj¨qjdj2jf}rMv(jh]ji]jj]jk]jn]ujpNjqhjr]rNvj¡)�rOv}rPv(jYjLvjZjJvjbj¨qjdj¥jf}rQv(jh]ji]jj]jk]jn]ujpM0jr]rRvjÜ)�rSv}rTv(jYjLvjf}rUv(UnameX66AK2Gx ICE EVM User GuidejX,http://www.ti.com/lit/ug/spruie3/spruie3.pdfjk]jj]jh]ji]jn]ujZjOvjr]rVvj{X66AK2Gx ICE EVM User GuiderWv…�rXv}rYv(jYUjZjSvubajdjàubaubaubj/)�rZv}r[v(jYX?`66AK2Gx Product folder `__r\vjZjFvjbj¨qjdj2jf}r]v(jh]ji]jj]jk]jn]ujpNjqhjr]r^vj¡)�r_v}r`v(jYj\vjZjZvjbj¨qjdj¥jf}rav(jh]ji]jj]jk]jn]ujpM1jr]rbvjÜ)�rcv}rdv(jYj\vjf}rev(UnameX66AK2Gx Product folderjX"http://www.ti.com/product/66AK2G12jk]jj]jh]ji]jn]ujZj_vjr]rfvj{X66AK2Gx Product folderrgv…�rhv}riv(jYUjZjcvubajdjàubaubaubj/)�rjv}rkv(jYX\`66AK2Gx GP EVM Technical Reference Manual `__jZjFvjbj¨qjdj2jf}rlv(jh]ji]jj]jk]jn]ujpNjqhjr]rmvj¡)�rnv}rov(jYX\`66AK2Gx GP EVM Technical Reference Manual `__rpvjZjjvjbj¨qjdj¥jf}rqv(jh]ji]jj]jk]jn]ujpM2jr]rrvjÜ)�rsv}rtv(jYjpvjf}ruv(UnameX)66AK2Gx GP EVM Technical Reference ManualjX,http://www.ti.com/lit/ug/sprui65/sprui65.pdfjk]jj]jh]ji]jn]ujZjnvjr]rvvj{X)66AK2Gx GP EVM Technical Reference Manualrwv…�rxv}ryv(jYUjZjsvubajdjàubaubaubj/)�rzv}r{v(jYXB`66AK2Gx ICE EVM Product folder `__r|vjZjFvjbj¨qjdj2jf}r}v(jh]ji]jj]jk]jn]ujpNjqhjr]r~vj¡)�rv}r€v(jYj|vjZjzvjbj¨qjdj¥jf}r�v(jh]ji]jj]jk]jn]ujpM4jr]r‚vjÜ)�rƒv}r„v(jYj|vjf}r…v(UnameX66AK2Gx ICE EVM Product folderjXhttp://www.ti.com/tool/k2gicejk]jj]jh]ji]jn]ujZjvjr]r†vj{X66AK2Gx ICE EVM Product folderr‡v…�rˆv}r‰v(jYUjZjƒvubajdjàubaubaubj/)�rŠv}r‹v(jYX\`Keystone E2E Support Forum `__ jZjFvjbX_internal padding after source/common/EVM_Hardware_Setup/66AK2G02_ICE_EVM_Hardware_setup.rst.incrŒvjdj2jf}r�v(jh]ji]jj]jk]jn]ujpNjqhjr]rŽvj¡)�r�v}r�v(jYX[`Keystone E2E Support Forum `__r‘vjZjŠvjbj¨qjdj¥jf}r’v(jh]ji]jj]jk]jn]ujpM5jr]r“vjÜ)�r”v}r•v(jYj‘vjf}r–v(UnameXKeystone E2E Support ForumjX:https://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639jk]jj]jh]ji]jn]ujZj�vjr]r—vj{XKeystone E2E Support Forumr˜v…�r™v}ršv(jYUjZj”vubajdjàubaubaubeubjî)�r›v}rœv(jYXEVMK2E Hardware SetupjZj7vjbjcjdjôjf}r�v(jöj÷jk]jj]jh]ji]jn]ujpKxjqhjr]ržvj{XEVMK2E Hardware SetuprŸv…�r v}r¡v(jYUjZj›vubaubjî)�r¢v}r£v(jYX4====================================================jZj7vjbjcjdjôjf}r¤v(jöj÷jk]jj]jh]ji]jn]ujpKyjqhjr]r¥vj{X4====================================================r¦v…�r§v}r¨v(jYUjZj¢vubaubeubeubj[)�r©v}rªv(jYUjZjR\jbj�X>source/common/EVM_Hardware_Setup/EVMK2E_Hardware_Setup.rst.incr«v…�r¬v}r­vbjdjejf}r®v(jh]ji]jj]jk]r¯vUevmk2e-hardware-setup-guider°vajn]r±vhµaujpKjqhjr]r²v(jt)�r³v}r´v(jYXEVMK2E Hardware Setup GuiderµvjZj©vjbj¬vjdjxjf}r¶v(jh]ji]jj]jk]jn]ujpKjqhjr]r·vj{XEVMK2E Hardware Setup Guider¸v…�r¹v}rºv(jYjµvjZj³vubaubj[)�r»v}r¼v(jYUjìKjZj©vjbj¬vjdjejf}r½v(jh]r¾vXhardware setupr¿vaji]jj]jk]rÀvUhardware-setuprÁvajn]ujpKjqhjr]rÂv(jt)�rÃv}rÄv(jYXHardware SetuprÅvjZj»vjbj¬vjdjxjf}rÆv(jh]ji]jj]jk]jn]ujpKjqhjr]rÇvj{XHardware SetuprÈv…�rÉv}rÊv(jYjÅvjZjÃvubaubj)�rËv}rÌv(jYXÒ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ÍvjZj»vjbj¬vjdjjf}rÎv(jh]ji]jj]jk]jn]ujpNjqhjr]rÏvj¡)�rÐv}rÑv(jYjÍvjZjËvjbj¬vjdj¥jf}rÒv(jh]ji]jj]jk]jn]ujpKjr]rÓvj{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Ôv…�rÕv}rÖv(jYjÍvjZjÐvubaubaubj[)�r×v}rØv(jYUjìKjZj»vjbj¬vjdjejf}rÙv(jh]rÚvXattach the ethernet cablerÛvaji]jj]jk]rÜvUattach-the-ethernet-cablerÝvajn]ujpK jqhjr]rÞv(jt)�rßv}ràv(jYXAttach the Ethernet cablerávjZj×vjbj¬vjdjxjf}râv(jh]ji]jj]jk]jn]ujpK jqhjr]rãvj{XAttach the Ethernet cableräv…�råv}ræv(jYjávjZjßvubaubj¡)�rçv}rèv(jYXÆUsing the Ethernet cable supplied, connect one end of the cable to the Ethernet Port 0 (At bottom one) on the EVM and the other end to your PC. The below picture shows which Ethernet Port is port 0:révjZj×vjbj¬vjdj¥jf}rêv(jh]ji]jj]jk]jn]ujpK jqhjr]rëvj{XÆUsing the Ethernet cable supplied, connect one end of the cable to the Ethernet Port 0 (At bottom one) on the EVM and the other end to your PC. The below picture shows which Ethernet Port is port 0:rìv…�rív}rîv(jYjévjZjçvubaubjB)�rïv}rðv(jYX/.. image:: ../../../images/Evmk2e-image001.jpg jZj×vjbj¬vjdjEjf}rñv(UuriX(rtos/../../../images/Evmk2e-image001.jpgròvjk]jj]jh]ji]jH}róvU*jòvsjn]ujpKjqhjr]ubeubj[)�rôv}rõv(jYUjìKjZj»vjbj¬vjdjejf}röv(jh]r÷vXconnect the jtag interfacerøvaji]jj]jk]rùvUconnect-the-jtag-interfacerúvajn]ujpKjqhjr]rûv(jt)�rüv}rýv(jYXConnect the JTAG interfacerþvjZjôvjbj¬vjdjxjf}rÿv(jh]ji]jj]jk]jn]ujpKjqhjr]rwj{XConnect the JTAG interfacerw…�rw}rw(jYjþvjZjüvubaubj¡)�rw}rw(jYXNUse the USB to USB mini-B cable provided. Connect the USB mini-B connector to the USB mini-B interface near to the RST\_PWR1 (Red color) button on the EVM, and the USB connector to your PC. This enables XDS-2xx emulation and is directly useable by CCS. If you are using a different JTAG, you can connect it at MIPI60 connector (EMU1).jZjôvjbj¬vjdj¥jf}rw(jh]ji]jj]jk]jn]ujpKjqhjr]rwj{XMUse the USB to USB mini-B cable provided. Connect the USB mini-B connector to the USB mini-B interface near to the RST_PWR1 (Red color) button on the EVM, and the USB connector to your PC. This enables XDS-2xx emulation and is directly useable by CCS. If you are using a different JTAG, you can connect it at MIPI60 connector (EMU1).rw…�r w}r w(jYXNUse the USB to USB mini-B cable provided. Connect the USB mini-B connector to the USB mini-B interface near to the RST\_PWR1 (Red color) button on the EVM, and the USB connector to your PC. This enables XDS-2xx emulation and is directly useable by CCS. If you are using a different JTAG, you can connect it at MIPI60 connector (EMU1).jZjwubaubeubj[)�r w}r w(jYUjZj»vjbj¬vjdjejf}r w(jh]ji]jj]jk]rwU k2e-set-the-boot-mode-switch-sw1rwajn]rwjOaujpKjqhjr]rw(jt)�rw}rw(jYX K2E Set the boot mode switch SW1rwjZj wjbj¬vjdjxjf}rw(jh]ji]jj]jk]jn]ujpKjqhjr]rwj{X K2E Set the boot mode switch SW1rw…�rw}rw(jYjwjZjwubaubjè)�rw}rw(jYX9K2E SPI Little Endian Boot mode (Default factory setting)rwjZj wjbj¬vjdjíjf}rw(jk]rwUk2e-spi-le-boot-moderwajj]jh]ji]jn]r wj@aujpNjqhjr]r!wj{X9K2E SPI Little Endian Boot mode (Default factory setting)r"w…�r#w}r$w(jYjwjZjwubaubj)�r%w}r&w(jYX@MSB LSB SW1 - 1(OFF) 2(OFF) 3(ON) 4(OFF)jZj wjbj¬vjdjjf}r'w(jöj÷jk]jj]jh]ji]jn]ujpMc!jqhjr]r(wj{X@MSB LSB SW1 - 1(OFF) 2(OFF) 3(ON) 4(OFF)r)w…�r*w}r+w(jYUjZj%wubaubjB)�r,w}r-w(jYX/.. image:: ../../../images/Evmk2e-image002.jpg jZj wjbj¬vjdjEjf}r.w(UuriX(rtos/../../../images/Evmk2e-image002.jpgr/wjk]jj]jh]ji]jH}r0wU*j/wsjn]ujpK)jqhjr]ubj)�r1w}r2w(jYXCHere a switch on “ONâ€� position should be considered as “1â€�.r3wjZj wjbj¬vjdjjf}r4w(jh]ji]jj]jk]jn]ujpNjqhjr]r5wj¡)�r6w}r7w(jYj3wjZj1wjbj¬vjdj¥jf}r8w(jh]ji]jj]jk]jn]ujpK*jr]r9wj{XCHere a switch on “ONâ€� position should be considered as “1â€�.r:w…�r;w}rw(jYX,K2E No Boot/JTAG DSP Little Endian Boot moder?wjZj wjbj¬vjdjíjf}r@w(jk]rAwUk2e-set-no-boot-moderBwajj]jh]ji]jn]rCwhÎaujpNjqhjr]rDwj{X,K2E No Boot/JTAG DSP Little Endian Boot moderEw…�rFw}rGw(jYj?wjZj=wubaubj)�rHw}rIw(jYX:MSB LSB SW1 - 1(ON) 2(ON) 3(ON) 4(ON)jZj wjbj¬vjdjjf}rJw(jöj÷jk]jj]jh]ji]jn]ujpMp!jqhjr]rKwj{X:MSB LSB SW1 - 1(ON) 2(ON) 3(ON) 4(ON)rLw…�rMw}rNw(jYUjZjHwubaubjB)�rOw}rPw(jYX/.. image:: ../../../images/Evmk2e-image003.jpg jZj wjbj¬vjdjEjf}rQw(UuriX(rtos/../../../images/Evmk2e-image003.jpgrRwjk]jj]jh]ji]jH}rSwU*jRwsjn]ujpK6jqhjr]ubeubj[)�rTw}rUw(jYUjìKjZj»vjbj¬vjdjejf}rVw(jh]rWwX1attach the serial port cable to the soc uart portrXwaji]jj]jk]rYwU1attach-the-serial-port-cable-to-the-soc-uart-portrZwajn]ujpK8jqhjr]r[w(jt)�r\w}r]w(jYX1Attach the serial port cable to the SoC UART portr^wjZjTwjbj¬vjdjxjf}r_w(jh]ji]jj]jk]jn]ujpK8jqhjr]r`wj{X1Attach the serial port cable to the SoC UART portraw…�rbw}rcw(jYj^wjZj\wubaubj¡)�rdw}rew(jYX�Connect the SoC UART port to PC using the serial cable provided with the EVM. The SoC UART port is the 4-pin white connector COM1 of the EVM.rfwjZjTwjbj¬vjdj¥jf}rgw(jh]ji]jj]jk]jn]ujpK:jqhjr]rhwj{X�Connect the SoC UART port to PC using the serial cable provided with the EVM. The SoC UART port is the 4-pin white connector COM1 of the EVM.riw…�rjw}rkw(jYjfwjZjdwubaubj¡)�rlw}rmw(jYX8Start TeraTerm or HyperTerminal and set configuration tornwjZjTwjbj¬vjdj¥jf}row(jh]ji]jj]jk]jn]ujpK=jqhjr]rpwj{X8Start TeraTerm or HyperTerminal and set configuration torqw…�rrw}rsw(jYjnwjZjlwubaubjC)�rtw}ruw(jYUjZjTwjbj¬vjdj`jf}rvw(jGX-jk]jj]jh]ji]jn]ujpK?jqhjr]rww(j/)�rxw}ryw(jYX$Baud Rate or Bits per second: 115200rzwjZjtwjbj¬vjdj2jf}r{w(jh]ji]jj]jk]jn]ujpNjqhjr]r|wj¡)�r}w}r~w(jYjzwjZjxwjbj¬vjdj¥jf}rw(jh]ji]jj]jk]jn]ujpK?jr]r€wj{X$Baud Rate or Bits per second: 115200r�w…�r‚w}rƒw(jYjzwjZj}wubaubaubj/)�r„w}r…w(jYX Data Bits: 8r†wjZjtwjbj¬vjdj2jf}r‡w(jh]ji]jj]jk]jn]ujpNjqhjr]rˆwj¡)�r‰w}rŠw(jYj†wjZj„wjbj¬vjdj¥jf}r‹w(jh]ji]jj]jk]jn]ujpK@jr]rŒwj{X Data Bits: 8r�w…�rŽw}r�w(jYj†wjZj‰wubaubaubj/)�r�w}r‘w(jYX Parity: Noner’wjZjtwjbj¬vjdj2jf}r“w(jh]ji]jj]jk]jn]ujpNjqhjr]r”wj¡)�r•w}r–w(jYj’wjZj�wjbj¬vjdj¥jf}r—w(jh]ji]jj]jk]jn]ujpKAjr]r˜wj{X Parity: Noner™w…�ršw}r›w(jYj’wjZj•wubaubaubj/)�rœw}r�w(jYX Stop Bits: 1ržwjZjtwjbj¬vjdj2jf}rŸw(jh]ji]jj]jk]jn]ujpNjqhjr]r wj¡)�r¡w}r¢w(jYjžwjZjœwjbj¬vjdj¥jf}r£w(jh]ji]jj]jk]jn]ujpKBjr]r¤wj{X Stop Bits: 1r¥w…�r¦w}r§w(jYjžwjZj¡wubaubaubj/)�r¨w}r©w(jYXFlow Control: None jZjtwjbj¬vjdj2jf}rªw(jh]ji]jj]jk]jn]ujpNjqhjr]r«wj¡)�r¬w}r­w(jYXFlow Control: Noner®wjZj¨wjbj¬vjdj¥jf}r¯w(jh]ji]jj]jk]jn]ujpKCjr]r°wj{XFlow Control: Noner±w…�r²w}r³w(jYj®wjZj¬wubaubaubeubeubj[)�r´w}rµw(jYUjìKjZj»vjbj¬vjdjejf}r¶w(jh]r·wXconnect the power cabler¸waji]jj]jk]r¹wUconnect-the-power-cablerºwajn]ujpKFjqhjr]r»w(jt)�r¼w}r½w(jYXConnect the power cabler¾wjZj´wjbj¬vjdjxjf}r¿w(jh]ji]jj]jk]jn]ujpKFjqhjr]rÀwj{XConnect the power cablerÁw…�rÂw}rÃw(jYj¾wjZj¼wubaubj¡)�rÄw}rÅw(jYXÇConnect the power cable to the EVM power jack on the board. To be ESD safe, plug in the other end of the power cable only after you have connected the power cord to the board. Then turn on the board.rÆwjZj´wjbj¬vjdj¥jf}rÇw(jh]ji]jj]jk]jn]ujpKHjqhjr]rÈwj{XÇConnect the power cable to the EVM power jack on the board. To be ESD safe, plug in the other end of the power cable only after you have connected the power cord to the board. Then turn on the board.rÉw…�rÊw}rËw(jYjÆwjZjÄwubaubeubeubj[)�rÌw}rÍw(jYUjìKjZj©vjbj¬vjdjejf}rÎw(jh]rÏwX&dip switch and bootmode configurationsrÐwaji]jj]jk]rÑwU&dip-switch-and-bootmode-configurationsrÒwajn]ujpKMjqhjr]rÓw(jt)�rÔw}rÕw(jYX&DIP Switch and Bootmode ConfigurationsrÖwjZjÌwjbj¬vjdjxjf}r×w(jh]ji]jj]jk]jn]ujpKMjqhjr]rØwj{X&DIP Switch and Bootmode ConfigurationsrÙw…�rÚw}rÛw(jYjÖwjZjÔwubaubj¡)�rÜw}rÝw(jYX)**EVM SW1 switch Bootmode Configuration**rÞwjZjÌwjbj¬vjdj¥jf}rßw(jh]ji]jj]jk]jn]ujpKOjqhjr]ràwjü)�ráw}râw(jYjÞwjf}rãw(jh]ji]jj]jk]jn]ujZjÜwjr]räwj{X%EVM SW1 switch Bootmode Configurationråw…�ræw}rçw(jYUjZjáwubajdjubaubj¡)�rèw}réw(jYX€The table below shows the bootmode combinations for the BMC v1.1.0.x. and value selected from internal flash memory of LM3s2d93.rêwjZjÌwjbj¬vjdj¥jf}rëw(jh]ji]jj]jk]jn]ujpKQjqhjr]rìwj{X€The table below shows the bootmode combinations for the BMC v1.1.0.x. and value selected from internal flash memory of LM3s2d93.ríw…�rîw}rïw(jYjêwjZjèwubaubjd$)�rðw}rñw(jYUjZjÌwjbj¬vjdjg$jf}ròw(jh]ji]jj]jk]jn]ujpNjqhjr]rówjj$)�rôw}rõw(jYUjf}röw(jk]jj]jh]ji]jn]UcolsKujZjðwjr]r÷w(jo$)�røw}rùw(jYUjf}rúw(jk]jj]jh]ji]jn]UcolwidthKujZjôwjr]jdjs$ubjo$)�rûw}rüw(jYUjf}rýw(jk]jj]jh]ji]jn]UcolwidthKujZjôwjr]jdjs$ubjo$)�rþw}rÿw(jYUjf}rx(jk]jj]jh]ji]jn]UcolwidthKujZjôwjr]jdjs$ubjo$)�rx}rx(jYUjf}rx(jk]jj]jh]ji]jn]UcolwidthKujZjôwjr]jdjs$ubj¬$)�rx}rx(jYUjf}rx(jh]ji]jj]jk]jn]ujZjôwjr]rx(j$)�rx}r x(jYUjf}r x(jh]ji]jj]jk]jn]ujZjxjr]r x(j„$)�r x}r x(jYUjf}rx(jh]ji]jj]jk]jn]ujZjxjr]rxj¡)�rx}rx(jYX **DIP Switch settings Selected**rxjZj xjbj¬vjdj¥jf}rx(jh]ji]jj]jk]jn]ujpKUjr]rxjü)�rx}rx(jYjxjf}rx(jh]ji]jj]jk]jn]ujZjxjr]rxj{XDIP Switch settings Selectedrx…�rx}rx(jYUjZjxubajdjubaubajdj‘$ubj„$)�rx}rx(jYUjf}rx(jh]ji]jj]jk]jn]ujZjxjr]rxj¡)�r x}r!x(jYX **High\_value of that bootmode**jZjxjbj¬vjdj¥jf}r"x(jh]ji]jj]jk]jn]ujpKUjr]r#xjü)�r$x}r%x(jYX **High\_value of that bootmode**jf}r&x(jh]ji]jj]jk]jn]ujZj xjr]r'xj{XHigh_value of that bootmoder(x…�r)x}r*x(jYUjZj$xubajdjubaubajdj‘$ubj„$)�r+x}r,x(jYUjf}r-x(jh]ji]jj]jk]jn]ujZjxjr]r.xj¡)�r/x}r0x(jYX**Low\_value of that bootmode**jZj+xjbj¬vjdj¥jf}r1x(jh]ji]jj]jk]jn]ujpKUjr]r2xjü)�r3x}r4x(jYX**Low\_value of that bootmode**jf}r5x(jh]ji]jj]jk]jn]ujZj/xjr]r6xj{XLow_value of that bootmoder7x…�r8x}r9x(jYUjZj3xubajdjubaubajdj‘$ubj„$)�r:x}r;x(jYUjf}rx}r?x(jYX**Selected bootmode**r@xjZj:xjbj¬vjdj¥jf}rAx(jh]ji]jj]jk]jn]ujpKUjr]rBxjü)�rCx}rDx(jYj@xjf}rEx(jh]ji]jj]jk]jn]ujZj>xjr]rFxj{XSelected bootmoderGx…�rHx}rIx(jYUjZjCxubajdjubaubajdj‘$ubejdjª$ubj$)�rJx}rKx(jYUjf}rLx(jh]ji]jj]jk]jn]ujZjxjr]rMx(j„$)�rNx}rOx(jYUjf}rPx(jh]ji]jj]jk]jn]ujZjJxjr]rQxj¡)�rRx}rSx(jYX0000rTxjZjNxjbj¬vjdj¥jf}rUx(jh]ji]jj]jk]jn]ujpKYjr]rVxj{X0000rWx…�rXx}rYx(jYjTxjZjRxubaubajdj‘$ubj„$)�rZx}r[x(jYUjf}r\x(jh]ji]jj]jk]jn]ujZjJxjr]r]xj¡)�r^x}r_x(jYX 0x00000000r`xjZjZxjbj¬vjdj¥jf}rax(jh]ji]jj]jk]jn]ujpKYjr]rbxj{X 0x00000000rcx…�rdx}rex(jYj`xjZj^xubaubajdj‘$ubj„$)�rfx}rgx(jYUjf}rhx(jh]ji]jj]jk]jn]ujZjJxjr]rixj¡)�rjx}rkx(jYX 0x00010067rlxjZjfxjbj¬vjdj¥jf}rmx(jh]ji]jj]jk]jn]ujpKYjr]rnxj{X 0x00010067rox…�rpx}rqx(jYjlxjZjjxubaubajdj‘$ubj„$)�rrx}rsx(jYUjf}rtx(jh]ji]jj]jk]jn]ujZjJxjr]ruxj¡)�rvx}rwx(jYXARM NANDrxxjZjrxjbj¬vjdj¥jf}ryx(jh]ji]jj]jk]jn]ujpKYjr]rzxj{XARM NANDr{x…�r|x}r}x(jYjxxjZjvxubaubajdj‘$ubejdjª$ubj$)�r~x}rx(jYUjf}r€x(jh]ji]jj]jk]jn]ujZjxjr]r�x(j„$)�r‚x}rƒx(jYUjf}r„x(jh]ji]jj]jk]jn]ujZj~xjr]r…xj¡)�r†x}r‡x(jYX0001rˆxjZj‚xjbj¬vjdj¥jf}r‰x(jh]ji]jj]jk]jn]ujpK[jr]rŠxj{X0001r‹x…�rŒx}r�x(jYjˆxjZj†xubaubajdj‘$ubj„$)�rŽx}r�x(jYUjf}r�x(jh]ji]jj]jk]jn]ujZj~xjr]r‘xj¡)�r’x}r“x(jYX 0X00000000r”xjZjŽxjbj¬vjdj¥jf}r•x(jh]ji]jj]jk]jn]ujpK[jr]r–xj{X 0X00000000r—x…�r˜x}r™x(jYj”xjZj’xubaubajdj‘$ubj„$)�ršx}r›x(jYUjf}rœx(jh]ji]jj]jk]jn]ujZj~xjr]r�xj¡)�ržx}rŸx(jYX 0x00100001r xjZjšxjbj¬vjdj¥jf}r¡x(jh]ji]jj]jk]jn]ujpK[jr]r¢xj{X 0x00100001r£x…�r¤x}r¥x(jYj xjZjžxubaubajdj‘$ubj„$)�r¦x}r§x(jYUjf}r¨x(jh]ji]jj]jk]jn]ujZj~xjr]r©xj¡)�rªx}r«x(jYX DSP No Bootr¬xjZj¦xjbj¬vjdj¥jf}r­x(jh]ji]jj]jk]jn]ujpK[jr]r®xj{X DSP No Bootr¯x…�r°x}r±x(jYj¬xjZjªxubaubajdj‘$ubejdjª$ubj$)�r²x}r³x(jYUjf}r´x(jh]ji]jj]jk]jn]ujZjxjr]rµx(j„$)�r¶x}r·x(jYUjf}r¸x(jh]ji]jj]jk]jn]ujZj²xjr]r¹xj¡)�rºx}r»x(jYX0010r¼xjZj¶xjbj¬vjdj¥jf}r½x(jh]ji]jj]jk]jn]ujpK]jr]r¾xj{X0010r¿x…�rÀx}rÁx(jYj¼xjZjºxubaubajdj‘$ubj„$)�rÂx}rÃx(jYUjf}rÄx(jh]ji]jj]jk]jn]ujZj²xjr]rÅxj¡)�rÆx}rÇx(jYX 0x00000000rÈxjZjÂxjbj¬vjdj¥jf}rÉx(jh]ji]jj]jk]jn]ujpK]jr]rÊxj{X 0x00000000rËx…�rÌx}rÍx(jYjÈxjZjÆxubaubajdj‘$ubj„$)�rÎx}rÏx(jYUjf}rÐx(jh]ji]jj]jk]jn]ujZj²xjr]rÑxj¡)�rÒx}rÓx(jYX 0x00008005rÔxjZjÎxjbj¬vjdj¥jf}rÕx(jh]ji]jj]jk]jn]ujpK]jr]rÖxj{X 0x00008005r×x…�rØx}rÙx(jYjÔxjZjÒxubaubajdj‘$ubj„$)�rÚx}rÛx(jYUjf}rÜx(jh]ji]jj]jk]jn]ujZj²xjr]rÝxj¡)�rÞx}rßx(jYXARM SPIràxjZjÚxjbj¬vjdj¥jf}ráx(jh]ji]jj]jk]jn]ujpK]jr]râxj{XARM SPIrãx…�räx}råx(jYjàxjZjÞxubaubajdj‘$ubejdjª$ubj$)�ræx}rçx(jYUjf}rèx(jh]ji]jj]jk]jn]ujZjxjr]réx(j„$)�rêx}rëx(jYUjf}rìx(jh]ji]jj]jk]jn]ujZjæxjr]ríxj¡)�rîx}rïx(jYX0011rðxjZjêxjbj¬vjdj¥jf}rñx(jh]ji]jj]jk]jn]ujpK_jr]ròxj{X0011róx…�rôx}rõx(jYjðxjZjîxubaubajdj‘$ubj„$)�röx}r÷x(jYUjf}røx(jh]ji]jj]jk]jn]ujZjæxjr]rùxj¡)�rúx}rûx(jYX 0x00000000rüxjZjöxjbj¬vjdj¥jf}rýx(jh]ji]jj]jk]jn]ujpK_jr]rþxj{X 0x00000000rÿx…�ry}ry(jYjüxjZjúxubaubajdj‘$ubj„$)�ry}ry(jYUjf}ry(jh]ji]jj]jk]jn]ujZjæxjr]ryj¡)�ry}ry(jYX 0x00100003ryjZjyjbj¬vjdj¥jf}r y(jh]ji]jj]jk]jn]ujpK_jr]r yj{X 0x00100003r y…�r y}r y(jYjyjZjyubaubajdj‘$ubj„$)�ry}ry(jYUjf}ry(jh]ji]jj]jk]jn]ujZjæxjr]ryj¡)�ry}ry(jYXARM I2C MasterryjZjyjbj¬vjdj¥jf}ry(jh]ji]jj]jk]jn]ujpK_jr]ryj{XARM I2C Masterry…�ry}ry(jYjyjZjyubaubajdj‘$ubejdjª$ubj$)�ry}ry(jYUjf}ry(jh]ji]jj]jk]jn]ujZjxjr]ry(j„$)�ry}ry(jYUjf}r y(jh]ji]jj]jk]jn]ujZjyjr]r!yj¡)�r"y}r#y(jYX0100r$yjZjyjbj¬vjdj¥jf}r%y(jh]ji]jj]jk]jn]ujpKajr]r&yj{X0100r'y…�r(y}r)y(jYj$yjZj"yubaubajdj‘$ubj„$)�r*y}r+y(jYUjf}r,y(jh]ji]jj]jk]jn]ujZjyjr]r-yj¡)�r.y}r/y(jYX 0x00000000r0yjZj*yjbj¬vjdj¥jf}r1y(jh]ji]jj]jk]jn]ujpKajr]r2yj{X 0x00000000r3y…�r4y}r5y(jYj0yjZj.yubaubajdj‘$ubj„$)�r6y}r7y(jYUjf}r8y(jh]ji]jj]jk]jn]ujZjyjr]r9yj¡)�r:y}r;y(jYX 0x0000006Fryj{X 0x0000006Fr?y…�r@y}rAy(jYjz}r?z(jYX 0x00001061r@zjZj:zjbj¬vjdj¥jf}rAz(jh]ji]jj]jk]jn]ujpKljr]rBzj{X 0x00001061rCz…�rDz}rEz(jYj@zjZj>zubaubajdj‘$ubj„$)�rFz}rGz(jYUjf}rHz(jh]ji]jj]jk]jn]ujZjzjr]rIzj¡)�rJz}rKz(jYX"Sleep with Slow PLL and ARM BypassrLzjZjFzjbj¬vjdj¥jf}rMz(jh]ji]jj]jk]jn]ujpKljr]rNzj{X"Sleep with Slow PLL and ARM BypassrOz…�rPz}rQz(jYjLzjZjJzubaubajdj‘$ubejdjª$ubj$)�rRz}rSz(jYUjf}rTz(jh]ji]jj]jk]jn]ujZjxjr]rUz(j„$)�rVz}rWz(jYUjf}rXz(jh]ji]jj]jk]jn]ujZjRzjr]rYzj¡)�rZz}r[z(jYX1010r\zjZjVzjbj¬vjdj¥jf}r]z(jh]ji]jj]jk]jn]ujpKojr]r^zj{X1010r_z…�r`z}raz(jYj\zjZjZzubaubajdj‘$ubj„$)�rbz}rcz(jYUjf}rdz(jh]ji]jj]jk]jn]ujZjRzjr]rezj¡)�rfz}rgz(jYX 0x00000000rhzjZjbzjbj¬vjdj¥jf}riz(jh]ji]jj]jk]jn]ujpKojr]rjzj{X 0x00000000rkz…�rlz}rmz(jYjhzjZjfzubaubajdj‘$ubj„$)�rnz}roz(jYUjf}rpz(jh]ji]jj]jk]jn]ujZjRzjr]rqzj¡)�rrz}rsz(jYX 0x00008105rtzjZjnzjbj¬vjdj¥jf}ruz(jh]ji]jj]jk]jn]ujpKojr]rvzj{X 0x00008105rwz…�rxz}ryz(jYjtzjZjrzubaubajdj‘$ubj„$)�rzz}r{z(jYUjf}r|z(jh]ji]jj]jk]jn]ujZjRzjr]r}zj¡)�r~z}rz(jYX DSP SPI-bootr€zjZjzzjbj¬vjdj¥jf}r�z(jh]ji]jj]jk]jn]ujpKojr]r‚zj{X DSP SPI-bootrƒz…�r„z}r…z(jYj€zjZj~zubaubajdj‘$ubejdjª$ubj$)�r†z}r‡z(jYUjf}rˆz(jh]ji]jj]jk]jn]ujZjxjr]r‰z(j„$)�rŠz}r‹z(jYUjf}rŒz(jh]ji]jj]jk]jn]ujZj†zjr]r�zj¡)�rŽz}r�z(jYX1011r�zjZjŠzjbj¬vjdj¥jf}r‘z(jh]ji]jj]jk]jn]ujpKqjr]r’zj{X1011r“z…�r”z}r•z(jYj�zjZjŽzubaubajdj‘$ubj„$)�r–z}r—z(jYUjf}r˜z(jh]ji]jj]jk]jn]ujZj†zjr]r™zj¡)�ršz}r›z(jYX 0x00000000rœzjZj–zjbj¬vjdj¥jf}r�z(jh]ji]jj]jk]jn]ujpKqjr]ržzj{X 0x00000000rŸz…�r z}r¡z(jYjœzjZjšzubaubajdj‘$ubj„$)�r¢z}r£z(jYUjf}r¤z(jh]ji]jj]jk]jn]ujZj†zjr]r¥zj¡)�r¦z}r§z(jYX 0x00100103r¨zjZj¢zjbj¬vjdj¥jf}r©z(jh]ji]jj]jk]jn]ujpKqjr]rªzj{X 0x00100103r«z…�r¬z}r­z(jYj¨zjZj¦zubaubajdj‘$ubj„$)�r®z}r¯z(jYUjf}r°z(jh]ji]jj]jk]jn]ujZj†zjr]r±zj¡)�r²z}r³z(jYXARM I2C Masterr´zjZj®zjbj¬vjdj¥jf}rµz(jh]ji]jj]jk]jn]ujpKqjr]r¶zj{XARM I2C Masterr·z…�r¸z}r¹z(jYj´zjZj²zubaubajdj‘$ubejdjª$ubj$)�rºz}r»z(jYUjf}r¼z(jh]ji]jj]jk]jn]ujZjxjr]r½z(j„$)�r¾z}r¿z(jYUjf}rÀz(jh]ji]jj]jk]jn]ujZjºzjr]rÁzj¡)�rÂz}rÃz(jYX1100rÄzjZj¾zjbj¬vjdj¥jf}rÅz(jh]ji]jj]jk]jn]ujpKsjr]rÆzj{X1100rÇz…�rÈz}rÉz(jYjÄzjZjÂzubaubajdj‘$ubj„$)�rÊz}rËz(jYUjf}rÌz(jh]ji]jj]jk]jn]ujZjºzjr]rÍzj¡)�rÎz}rÏz(jYX 0x00000000rÐzjZjÊzjbj¬vjdj¥jf}rÑz(jh]ji]jj]jk]jn]ujpKsjr]rÒzj{X 0x00000000rÓz…�rÔz}rÕz(jYjÐzjZjÎzubaubajdj‘$ubj„$)�rÖz}r×z(jYUjf}rØz(jh]ji]jj]jk]jn]ujZjºzjr]rÙzj¡)�rÚz}rÛz(jYX 0x0000016FrÜzjZjÖzjbj¬vjdj¥jf}rÝz(jh]ji]jj]jk]jn]ujpKsjr]rÞzj{X 0x0000016Frßz…�ràz}ráz(jYjÜzjZjÚzubaubajdj‘$ubj„$)�râz}rãz(jYUjf}räz(jh]ji]jj]jk]jn]ujZjºzjr]råzj¡)�ræz}rçz(jYX DSP UART bootrèzjZjâzjbj¬vjdj¥jf}réz(jh]ji]jj]jk]jn]ujpKsjr]rêzj{X DSP UART bootrëz…�rìz}ríz(jYjèzjZjæzubaubajdj‘$ubejdjª$ubj$)�rîz}rïz(jYUjf}rðz(jh]ji]jj]jk]jn]ujZjxjr]rñz(j„$)�ròz}róz(jYUjf}rôz(jh]ji]jj]jk]jn]ujZjîzjr]rõzj¡)�röz}r÷z(jYX1101røzjZjòzjbj¬vjdj¥jf}rùz(jh]ji]jj]jk]jn]ujpKujr]rúzj{X1101rûz…�rüz}rýz(jYjøzjZjözubaubajdj‘$ubj„$)�rþz}rÿz(jYUjf}r{(jh]ji]jj]jk]jn]ujZjîzjr]r{j¡)�r{}r{(jYX 0x00000000r{jZjþzjbj¬vjdj¥jf}r{(jh]ji]jj]jk]jn]ujpKujr]r{j{X 0x00000000r{…�r{}r {(jYj{jZj{ubaubajdj‘$ubj„$)�r {}r {(jYUjf}r {(jh]ji]jj]jk]jn]ujZjîzjr]r {j¡)�r{}r{(jYX 0x0001516Br{jZj {jbj¬vjdj¥jf}r{(jh]ji]jj]jk]jn]ujpKujr]r{j{X 0x0001516Br{…�r{}r{(jYj{jZj{ubaubajdj‘$ubj„$)�r{}r{(jYUjf}r{(jh]ji]jj]jk]jn]ujZjîzjr]r{j¡)�r{}r{(jYX DSP RBL ENETr{jZj{jbj¬vjdj¥jf}r{(jh]ji]jj]jk]jn]ujpKujr]r{j{X DSP RBL ENETr{…�r {}r!{(jYj{jZj{ubaubajdj‘$ubejdjª$ubj$)�r"{}r#{(jYUjf}r${(jh]ji]jj]jk]jn]ujZjxjr]r%{(j„$)�r&{}r'{(jYUjf}r({(jh]ji]jj]jk]jn]ujZj"{jr]r){j¡)�r*{}r+{(jYX1110r,{jZj&{jbj¬vjdj¥jf}r-{(jh]ji]jj]jk]jn]ujpKwjr]r.{j{X1110r/{…�r0{}r1{(jYj,{jZj*{ubaubajdj‘$ubj„$)�r2{}r3{(jYUjf}r4{(jh]ji]jj]jk]jn]ujZj"{jr]r5{j¡)�r6{}r7{(jYX 0x00000000r8{jZj2{jbj¬vjdj¥jf}r9{(jh]ji]jj]jk]jn]ujpKwjr]r:{j{X 0x00000000r;{…�r<{}r={(jYj8{jZj6{ubaubajdj‘$ubj„$)�r>{}r?{(jYUjf}r@{(jh]ji]jj]jk]jn]ujZj"{jr]rA{j¡)�rB{}rC{(jYX 0x00003661rD{jZj>{jbj¬vjdj¥jf}rE{(jh]ji]jj]jk]jn]ujpKwjr]rF{j{X 0x00003661rG{…�rH{}rI{(jYjD{jZjB{ubaubajdj‘$ubj„$)�rJ{}rK{(jYUjf}rL{(jh]ji]jj]jk]jn]ujZj"{jr]rM{j¡)�rN{}rO{(jYX$Sleep with Slow PLL and Slow ARM PLLrP{jZjJ{jbj¬vjdj¥jf}rQ{(jh]ji]jj]jk]jn]ujpKwjr]rR{j{X$Sleep with Slow PLL and Slow ARM PLLrS{…�rT{}rU{(jYjP{jZjN{ubaubajdj‘$ubejdjª$ubj$)�rV{}rW{(jYUjf}rX{(jh]ji]jj]jk]jn]ujZjxjr]rY{(j„$)�rZ{}r[{(jYUjf}r\{(jh]ji]jj]jk]jn]ujZjV{jr]r]{j¡)�r^{}r_{(jYX1111r`{jZjZ{jbj¬vjdj¥jf}ra{(jh]ji]jj]jk]jn]ujpK{jr]rb{j{X1111rc{…�rd{}re{(jYj`{jZj^{ubaubajdj‘$ubj„$)�rf{}rg{(jYUjf}rh{(jh]ji]jj]jk]jn]ujZjV{jr]ri{j¡)�rj{}rk{(jYX 0x00000000rl{jZjf{jbj¬vjdj¥jf}rm{(jh]ji]jj]jk]jn]ujpK{jr]rn{j{X 0x00000000ro{…�rp{}rq{(jYjl{jZjj{ubaubajdj‘$ubj„$)�rr{}rs{(jYUjf}rt{(jh]ji]jj]jk]jn]ujZjV{jr]ru{j¡)�rv{}rw{(jYX 0x00100001rx{jZjr{jbj¬vjdj¥jf}ry{(jh]ji]jj]jk]jn]ujpK{jr]rz{j{X 0x00100001r{{…�r|{}r}{(jYjx{jZjv{ubaubajdj‘$ubj„$)�r~{}r{(jYUjf}r€{(jh]ji]jj]jk]jn]ujZjV{jr]r�{j¡)�r‚{}rƒ{(jYX DSP No-Bootr„{jZj~{jbj¬vjdj¥jf}r…{(jh]ji]jj]jk]jn]ujpK{jr]r†{j{X DSP No-Bootr‡{…�rˆ{}r‰{(jYj„{jZj‚{ubaubajdj‘$ubejdjª$ubejdjy%ubejdjz%ubaubjZ)�rŠ{}r‹{(jYUjZjÌwjbj¬vjdj]jf}rŒ{(jh]ji]jj]jk]jn]ujpK~jqhjr]r�{j`)�rŽ{}r�{(jYUjcKjZjŠ{jbj¬vjdjpjf}r�{(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubj[)�r‘{}r’{(jYUjZj©vjbj¬vjdjejf}r“{(jh]ji]jj]jk]r”{Uevm-k2e-how-to-guidesr•{ajn]r–{hÖaujpK�jqhjr]r—{(jt)�r˜{}r™{(jYXEVM K2E How To Guidesrš{jZj‘{jbj¬vjdjxjf}r›{(jh]ji]jj]jk]jn]ujpK�jqhjr]rœ{j{XEVM K2E How To Guidesr�{…�rž{}rŸ{(jYjš{jZj˜{ubaubj[)�r {}r¡{(jYUjZj‘{jbj¬vjdjejf}r¢{(jh]ji]jj]jk]r£{U+host-driver-for-on-board-mini-usb-connectorr¤{ajn]r¥{h3aujpK„jqhjr]r¦{(jt)�r§{}r¨{(jYX+Host driver for on-board mini-USB connectorr©{jZj {jbj¬vjdjxjf}rª{(jh]ji]jj]jk]jn]ujpK„jqhjr]r«{j{X+Host driver for on-board mini-USB connectorr¬{…�r­{}r®{(jYj©{jZj§{ubaubj¡)�r¯{}r°{(jYXVThe K2E EVM has a CP2105 device on-board. A driver must be installed on the host PC in order to be able to communicate with the EVM using the CP2105 mini-USB connector located at the corner edge of the EVM. The driver can be downloaded from `CP2105 driver download `__.jZj {jbj¬vjdj¥jf}r±{(jh]ji]jj]jk]jn]ujpK†jqhjr]r²{(j{XñThe K2E EVM has a CP2105 device on-board. A driver must be installed on the host PC in order to be able to communicate with the EVM using the CP2105 mini-USB connector located at the corner edge of the EVM. The driver can be downloaded from r³{…�r´{}rµ{(jYXñThe K2E EVM has a CP2105 device on-board. A driver must be installed on the host PC in order to be able to communicate with the EVM using the CP2105 mini-USB connector located at the corner edge of the EVM. The driver can be downloaded from jZj¯{ubjÜ)�r¶{}r·{(jYXd`CP2105 driver download `__jf}r¸{(UnameXCP2105 driver downloadjXGhttp://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspxjk]jj]jh]ji]jn]ujZj¯{jr]r¹{j{XCP2105 driver downloadrº{…�r»{}r¼{(jYUjZj¶{ubajdjàubj{X.…�r½{}r¾{(jYX.jZj¯{ubeubj¡)�r¿{}rÀ{(jYX[Both Linux and Windows host machine drivers can be downloaded from this page. For Linux host machine, please follow the instructions given in the release notes. There are two versions of drivers for Linux kernel version 3.x.x and 2.6.x. Please download appropriate drivers after identifying the correct kernel version of the user’s host machine.rÁ{jZj {jbj¬vjdj¥jf}rÂ{(jh]ji]jj]jk]jn]ujpKŒjqhjr]rÃ{j{X[Both Linux and Windows host machine drivers can be downloaded from this page. For Linux host machine, please follow the instructions given in the release notes. There are two versions of drivers for Linux kernel version 3.x.x and 2.6.x. Please download appropriate drivers after identifying the correct kernel version of the user’s host machine.rÄ{…�rÅ{}rÆ{(jYjÁ{jZj¿{ubaubj)�rÇ{}rÈ{(jYXpBefore testing the USB connection, make sure that the mini-USB cable is plugged into the port on the base board.rÉ{jZj {jbj¬vjdjjf}rÊ{(jh]ji]jj]jk]jn]ujpNjqhjr]rË{j¡)�rÌ{}rÍ{(jYjÉ{jZjÇ{jbj¬vjdj¥jf}rÎ{(jh]ji]jj]jk]jn]ujpK’jr]rÏ{j{XpBefore testing the USB connection, make sure that the mini-USB cable is plugged into the port on the base board.rÐ{…�rÑ{}rÒ{(jYjÉ{jZjÌ{ubaubaubj¡)�rÓ{}rÔ{(jYX After installing the driver and connecting the USB cable, two COM ports should be visible in the list of COM ports available to connect to in the PC Host terminal console. The lower COM port (Enhanced) corresponds to the SoC UART and the higher (Standard) one corresponds to the MCU UART.rÕ{jZj {jbj¬vjdj¥jf}rÖ{(jh]ji]jj]jk]jn]ujpK”jqhjr]r×{j{X After installing the driver and connecting the USB cable, two COM ports should be visible in the list of COM ports available to connect to in the PC Host terminal console. The lower COM port (Enhanced) corresponds to the SoC UART and the higher (Standard) one corresponds to the MCU UART.rØ{…�rÙ{}rÚ{(jYjÕ{jZjÓ{ubaubeubj[)�rÛ{}rÜ{(jYUjìKjZj‘{jbj¬vjdjejf}rÝ{(jh]rÞ{Xbmc version check and updaterß{aji]jj]jk]rà{Ubmc-version-check-and-updaterá{ajn]ujpK›jqhjr]râ{(jt)�rã{}rä{(jYXBMC Version Check and Updaterå{jZjÛ{jbj¬vjdjxjf}ræ{(jh]ji]jj]jk]jn]ujpK›jqhjr]rç{j{XBMC Version Check and Updaterè{…�ré{}rê{(jYjå{jZjã{ubaubj¡)�rë{}rì{(jYXiBMC, or Board Management Controller, takes care of the power, clocks, resets, bootmodes, etc. of the EVM.rí{jZjÛ{jbj¬vjdj¥jf}rî{(jh]ji]jj]jk]jn]ujpK�jqhjr]rï{j{XiBMC, or Board Management Controller, takes care of the power, clocks, resets, bootmodes, etc. of the EVM.rð{…�rñ{}rò{(jYjí{jZjë{ubaubj¡)�ró{}rô{(jYXYou can check the version by:rõ{jZjÛ{jbj¬vjdj¥jf}rö{(jh]ji]jj]jk]jn]ujpK jqhjr]r÷{j{XYou can check the version by:rø{…�rù{}rú{(jYjõ{jZjó{ubaubj%)�rû{}rü{(jYUjZjÛ{jbj¬vjdj(jf}rý{(j*U.jk]jj]jh]j+Uji]jn]j,j-ujpK¢jqhjr]rþ{(j/)�rÿ{}r|(jYXGOpening a hyperterminal or another similar type of console application.jZjû{jbj¬vjdj2jf}r|(jh]ji]jj]jk]jn]ujpNjqhjr]r|j¡)�r|}r|(jYXGOpening a hyperterminal or another similar type of console application.r|jZjÿ{jbj¬vjdj¥jf}r|(jh]ji]jj]jk]jn]ujpK¢jr]r|j{XGOpening a hyperterminal or another similar type of console application.r|…�r |}r |(jYj|jZj|ubaubaubj/)�r |}r |(jYXSet COM Port to higher value. - When you connect to CP2105 mini-USB on the EVM it will provide two COM port connections, one to the SOC UART and one to BMC UART. - The SOC UART will always be the “Enhancedâ€� COM port, for example COM6 (actual COM PORT values will vary.) jZjû{jbNjdj2jf}r |(jh]ji]jj]jk]jn]ujpNjqhjr]r|(j¡)�r|}r|(jYXSet COM Port to higher value.r|jZj |jbj¬vjdj¥jf}r|(jh]ji]jj]jk]jn]ujpK¤jr]r|j{XSet COM Port to higher value.r|…�r|}r|(jYj|jZj|ubaubjC)�r|}r|(jYUjf}r|(jGX-jk]jj]jh]ji]jn]ujZj |jr]r|(j/)�r|}r|(jYX�When you connect to CP2105 mini-USB on the EVM it will provide two COM port connections, one to the SOC UART and one to BMC UART.jf}r|(jh]ji]jj]jk]jn]ujZj|jr]r|j¡)�r|}r |(jYX�When you connect to CP2105 mini-USB on the EVM it will provide two COM port connections, one to the SOC UART and one to BMC UART.r!|jZj|jbj¬vjdj¥jf}r"|(jh]ji]jj]jk]jn]ujpK¦jr]r#|j{X�When you connect to CP2105 mini-USB on the EVM it will provide two COM port connections, one to the SOC UART and one to BMC UART.r$|…�r%|}r&|(jYj!|jZj|ubaubajdj2ubj/)�r'|}r(|(jYXnThe SOC UART will always be the “Enhancedâ€� COM port, for example COM6 (actual COM PORT values will vary.) jf}r)|(jh]ji]jj]jk]jn]ujZj|jr]r*|j¡)�r+|}r,|(jYXmThe SOC UART will always be the “Enhancedâ€� COM port, for example COM6 (actual COM PORT values will vary.)r-|jZj'|jbj¬vjdj¥jf}r.|(jh]ji]jj]jk]jn]ujpK¨jr]r/|j{XmThe SOC UART will always be the “Enhancedâ€� COM port, for example COM6 (actual COM PORT values will vary.)r0|…�r1|}r2|(jYj-|jZj+|ubaubajdj2ubejdj`ubeubj/)�r3|}r4|(jYX–Set COM port properties appropriately: - Baud Rate or Bits per second: 115200 - Data Bits: 8 - Parity: None - Stop Bits: 1 - Flow Control: None jZjû{jbNjdj2jf}r5|(jh]ji]jj]jk]jn]ujpNjqhjr]r6|(j¡)�r7|}r8|(jYX&Set COM port properties appropriately:r9|jZj3|jbj¬vjdj¥jf}r:|(jh]ji]jj]jk]jn]ujpK«jr]r;|j{X&Set COM port properties appropriately:r<|…�r=|}r>|(jYj9|jZj7|ubaubjC)�r?|}r@|(jYUjf}rA|(jGX-jk]jj]jh]ji]jn]ujZj3|jr]rB|(j/)�rC|}rD|(jYX$Baud Rate or Bits per second: 115200rE|jf}rF|(jh]ji]jj]jk]jn]ujZj?|jr]rG|j¡)�rH|}rI|(jYjE|jZjC|jbj¬vjdj¥jf}rJ|(jh]ji]jj]jk]jn]ujpK­jr]rK|j{X$Baud Rate or Bits per second: 115200rL|…�rM|}rN|(jYjE|jZjH|ubaubajdj2ubj/)�rO|}rP|(jYX Data Bits: 8rQ|jf}rR|(jh]ji]jj]jk]jn]ujZj?|jr]rS|j¡)�rT|}rU|(jYjQ|jZjO|jbj¬vjdj¥jf}rV|(jh]ji]jj]jk]jn]ujpK®jr]rW|j{X Data Bits: 8rX|…�rY|}rZ|(jYjQ|jZjT|ubaubajdj2ubj/)�r[|}r\|(jYX Parity: Noner]|jf}r^|(jh]ji]jj]jk]jn]ujZj?|jr]r_|j¡)�r`|}ra|(jYj]|jZj[|jbj¬vjdj¥jf}rb|(jh]ji]jj]jk]jn]ujpK¯jr]rc|j{X Parity: Nonerd|…�re|}rf|(jYj]|jZj`|ubaubajdj2ubj/)�rg|}rh|(jYX Stop Bits: 1ri|jf}rj|(jh]ji]jj]jk]jn]ujZj?|jr]rk|j¡)�rl|}rm|(jYji|jZjg|jbj¬vjdj¥jf}rn|(jh]ji]jj]jk]jn]ujpK°jr]ro|j{X Stop Bits: 1rp|…�rq|}rr|(jYji|jZjl|ubaubajdj2ubj/)�rs|}rt|(jYXFlow Control: None jf}ru|(jh]ji]jj]jk]jn]ujZj?|jr]rv|j¡)�rw|}rx|(jYXFlow Control: Nonery|jZjs|jbj¬vjdj¥jf}rz|(jh]ji]jj]jk]jn]ujpK±jr]r{|j{XFlow Control: Noner||…�r}|}r~|(jYjy|jZjw|ubaubajdj2ubejdj`ubeubj/)�r|}r€|(jYX%At BMC prompt type 'ver' (no quotes).r�|jZjû{jbj¬vjdj2jf}r‚|(jh]ji]jj]jk]jn]ujpNjqhjr]rƒ|j¡)�r„|}r…|(jYj�|jZj|jbj¬vjdj¥jf}r†|(jh]ji]jj]jk]jn]ujpK³jr]r‡|j{X%At BMC prompt type 'ver' (no quotes).rˆ|…�r‰|}rŠ|(jYj�|jZj„|ubaubaubj/)�r‹|}rŒ|(jYXCheck BMC version jZjû{jbj¬vjdj2jf}r�|(jh]ji]jj]jk]jn]ujpNjqhjr]rŽ|j¡)�r�|}r�|(jYXCheck BMC versionr‘|jZj‹|jbj¬vjdj¥jf}r’|(jh]ji]jj]jk]jn]ujpK´jr]r“|j{XCheck BMC versionr”|…�r•|}r–|(jYj‘|jZj�|ubaubaubeubjB)�r—|}r˜|(jYX/.. image:: ../../../images/Evmk2e-image005.jpg jZjÛ{jbj¬vjdjEjf}r™|(UuriX(rtos/../../../images/Evmk2e-image005.jpgrš|jk]jj]jh]ji]jH}r›|U*jš|sjn]ujpK·jqhjr]ubj¡)�rœ|}r�|(jYXÙIf an in-field update is needed, downloaded the latest version `here `__ (labeled “BMCâ€�) and follow instructions below.jZjÛ{jbj¬vjdj¥jf}rž|(jh]ji]jj]jk]jn]ujpK¸jqhjr]rŸ|(j{X?If an in-field update is needed, downloaded the latest version r |…�r¡|}r¢|(jYX?If an in-field update is needed, downloaded the latest version jZjœ|ubjÜ)�r£|}r¤|(jYXg`here `__jf}r¥|(UnameXherejX\https://www.einfochips.com/index.php/partnerships/texas-instruments/k2e-evm.html#5-resourcesjk]jj]jh]ji]jn]ujZjœ|jr]r¦|j{Xherer§|…�r¨|}r©|(jYUjZj£|ubajdjàubj{X3 (labeled “BMCâ€�) and follow instructions below.rª|…�r«|}r¬|(jYX3 (labeled “BMCâ€�) and follow instructions below.jZjœ|ubeubj[)�r­|}r®|(jYUjZjÛ{jbj¬vjdjejf}r¯|(jh]ji]jj]jk]r°|Uprepare-evm-for-in-field-updater±|ajn]r²|hêaujpK½jqhjr]r³|(jt)�r´|}rµ|(jYXPrepare EVM for in-field updater¶|jZj­|jbj¬vjdjxjf}r·|(jh]ji]jj]jk]jn]ujpK½jqhjr]r¸|j{XPrepare EVM for in-field updater¹|…�rº|}r»|(jYj¶|jZj´|ubaubj%)�r¼|}r½|(jYUjZj­|jbj¬vjdj(jf}r¾|(j*U.jk]jj]jh]j+Uji]jn]j,j-ujpK¿jqhjr]r¿|(j/)�rÀ|}rÁ|(jYXRemove power to the EVM.rÂ|jZj¼|jbj¬vjdj2jf}rÃ|(jh]ji]jj]jk]jn]ujpNjqhjr]rÄ|j¡)�rÅ|}rÆ|(jYjÂ|jZjÀ|jbj¬vjdj¥jf}rÇ|(jh]ji]jj]jk]jn]ujpK¿jr]rÈ|j{XRemove power to the EVM.rÉ|…�rÊ|}rË|(jYjÂ|jZjÅ|ubaubaubj/)�rÌ|}rÍ|(jYX.Set boot mode to "No Boot modeâ€� (see above).rÎ|jZj¼|jbj¬vjdj2jf}rÏ|(jh]ji]jj]jk]jn]ujpNjqhjr]rÐ|j¡)�rÑ|}rÒ|(jYjÎ|jZjÌ|jbj¬vjdj¥jf}rÓ|(jh]ji]jj]jk]jn]ujpKÀjr]rÔ|j{X.Set boot mode to "No Boot modeâ€� (see above).rÕ|…�rÖ|}r×|(jYjÎ|jZjÑ|ubaubaubj/)�rØ|}rÙ|(jYXSRemove the MCU\_BOOTSELECT (CN4) jumper (see picture below for location of jumper.)jZj¼|jbj¬vjdj2jf}rÚ|(jh]ji]jj]jk]jn]ujpNjqhjr]rÛ|j¡)�rÜ|}rÝ|(jYXSRemove the MCU\_BOOTSELECT (CN4) jumper (see picture below for location of jumper.)jZjØ|jbj¬vjdj¥jf}rÞ|(jh]ji]jj]jk]jn]ujpKÁjr]rß|j{XRRemove the MCU_BOOTSELECT (CN4) jumper (see picture below for location of jumper.)rà|…�rá|}râ|(jYXSRemove the MCU\_BOOTSELECT (CN4) jumper (see picture below for location of jumper.)jZjÜ|ubaubaubj/)�rã|}rä|(jYX”Make sure your - USB cable is connected to CP2105 mini-USB (not XDS200 Emulator USB) or - Connect 4pin UART cable to COM1: MCU UART connector jZj¼|jbNjdj2jf}rå|(jh]ji]jj]jk]jn]ujpNjqhjr]ræ|(j¡)�rç|}rè|(jYXMake sure yourré|jZjã|jbj¬vjdj¥jf}rê|(jh]ji]jj]jk]jn]ujpKÃjr]rë|j{XMake sure yourrì|…�rí|}rî|(jYjé|jZjç|ubaubjC)�rï|}rð|(jYUjf}rñ|(jGX-jk]jj]jh]ji]jn]ujZjã|jr]rò|(j/)�ró|}rô|(jYXFUSB cable is connected to CP2105 mini-USB (not XDS200 Emulator USB) orjf}rõ|(jh]ji]jj]jk]jn]ujZjï|jr]rö|j¡)�r÷|}rø|(jYXFUSB cable is connected to CP2105 mini-USB (not XDS200 Emulator USB) orrù|jZjó|jbj¬vjdj¥jf}rú|(jh]ji]jj]jk]jn]ujpKÅjr]rû|j{XFUSB cable is connected to CP2105 mini-USB (not XDS200 Emulator USB) orrü|…�rý|}rþ|(jYjù|jZj÷|ubaubajdj2ubj/)�rÿ|}r}(jYX4Connect 4pin UART cable to COM1: MCU UART connector jf}r}(jh]ji]jj]jk]jn]ujZjï|jr]r}j¡)�r}}r}(jYX3Connect 4pin UART cable to COM1: MCU UART connectorr}jZjÿ|jbj¬vjdj¥jf}r}(jh]ji]jj]jk]jn]ujpKÇjr]r}j{X3Connect 4pin UART cable to COM1: MCU UART connectorr}…�r }}r }(jYj}jZj}ubaubajdj2ubejdj`ubeubj/)�r }}r }(jYXPMake sure no HyperTerminal/Console connected to BMC COM port are open or active.jZj¼|jbj¬vjdj2jf}r }(jh]ji]jj]jk]jn]ujpNjqhjr]r}j¡)�r}}r}(jYXPMake sure no HyperTerminal/Console connected to BMC COM port are open or active.r}jZj }jbj¬vjdj¥jf}r}(jh]ji]jj]jk]jn]ujpKÉjr]r}j{XPMake sure no HyperTerminal/Console connected to BMC COM port are open or active.r}…�r}}r}(jYj}jZj}ubaubaubj/)�r}}r}(jYX”Use the LM Flash Programmer (available `here `__) to update the firmware, as detailed in the steps below. jZj¼|jbj¬vjdj2jf}r}(jh]ji]jj]jk]jn]ujpNjqhjr]r}j¡)�r}}r}(jYX“Use the LM Flash Programmer (available `here `__) to update the firmware, as detailed in the steps below.jZj}jbj¬vjdj¥jf}r}(jh]ji]jj]jk]jn]ujpKËjr]r}(j{X'Use the LM Flash Programmer (available r}…�r }}r!}(jYX'Use the LM Flash Programmer (available jZj}ubjÜ)�r"}}r#}(jYX3`here `__jf}r$}(UnameXherejX(http://www.ti.com/tool/lmflashprogrammerjk]jj]jh]ji]jn]ujZj}jr]r%}j{Xherer&}…�r'}}r(}(jYUjZj"}ubajdjàubj{X9) to update the firmware, as detailed in the steps below.r)}…�r*}}r+}(jYX9) to update the firmware, as detailed in the steps below.jZj}ubeubaubeubjB)�r,}}r-}(jYX/.. image:: ../../../images/Evmk2e-image006.jpg jZj­|jbj¬vjdjEjf}r.}(UuriX(rtos/../../../images/Evmk2e-image006.jpgr/}jk]jj]jh]ji]jH}r0}U*j/}sjn]ujpKÐjqhjr]ubeubj[)�r1}}r2}(jYUjZjÛ{jbj¬vjdjejf}r3}(jh]ji]jj]jk]r4}Uperform-in-field-updater5}ajn]r6}h_aujpKÒjqhjr]r7}(jt)�r8}}r9}(jYXPerform in-field updater:}jZj1}jbj¬vjdjxjf}r;}(jh]ji]jj]jk]jn]ujpKÒjqhjr]r<}j{XPerform in-field updater=}…�r>}}r?}(jYj:}jZj8}ubaubj%)�r@}}rA}(jYUjZj1}jbj¬vjdj(jf}rB}(j*U.jk]jj]jh]j+Uji]jn]j,j-ujpKÔjqhjr]rC}(j/)�rD}}rE}(jYX­Apply power to the EVM. No LED's will be illuminated and no LCD backlight or characters will be on because the BMC is waiting for a command rather than executing from Flash.jZj@}jbj¬vjdj2jf}rF}(jh]ji]jj]jk]jn]ujpNjqhjr]rG}j¡)�rH}}rI}(jYX­Apply power to the EVM. No LED's will be illuminated and no LCD backlight or characters will be on because the BMC is waiting for a command rather than executing from Flash.rJ}jZjD}jbj¬vjdj¥jf}rK}(jh]ji]jj]jk]jn]ujpKÔjr]rL}j{X­Apply power to the EVM. No LED's will be illuminated and no LCD backlight or characters will be on because the BMC is waiting for a command rather than executing from Flash.rM}…�rN}}rO}(jYjJ}jZjH}ubaubaubj/)�rP}}rQ}(jYX¤Open the LM Flash programmer utility. (Default location Start Menu -> All Programs -> Texas Instruments -> Stellaris -> LM Flash Programmer -> LM Flash Programmer )jZj@}jbj¬vjdj2jf}rR}(jh]ji]jj]jk]jn]ujpNjqhjr]rS}j¡)�rT}}rU}(jYX¤Open the LM Flash programmer utility. (Default location Start Menu -> All Programs -> Texas Instruments -> Stellaris -> LM Flash Programmer -> LM Flash Programmer )rV}jZjP}jbj¬vjdj¥jf}rW}(jh]ji]jj]jk]jn]ujpK×jr]rX}j{X¤Open the LM Flash programmer utility. (Default location Start Menu -> All Programs -> Texas Instruments -> Stellaris -> LM Flash Programmer -> LM Flash Programmer )rY}…�rZ}}r[}(jYjV}jZjT}ubaubaubj/)�r\}}r]}(jYX”In the LM Flash Programmer Utility ‘Configuration’ tab, in the interface section, select ‘Serial (UART)’ from the drop-down box on the left.jZj@}jbj¬vjdj2jf}r^}(jh]ji]jj]jk]jn]ujpNjqhjr]r_}j¡)�r`}}ra}(jYX”In the LM Flash Programmer Utility ‘Configuration’ tab, in the interface section, select ‘Serial (UART)’ from the drop-down box on the left.rb}jZj\}jbj¬vjdj¥jf}rc}(jh]ji]jj]jk]jn]ujpKÚjr]rd}j{X”In the LM Flash Programmer Utility ‘Configuration’ tab, in the interface section, select ‘Serial (UART)’ from the drop-down box on the left.re}…�rf}}rg}(jYjb}jZj`}ubaubaubj/)�rh}}ri}(jYXySelect the BMC COM Port (the same COM port used to issue the ver command earlier), and set the ‘Baud Rate’ to 115200.jZj@}jbj¬vjdj2jf}rj}(jh]ji]jj]jk]jn]ujpNjqhjr]rk}j¡)�rl}}rm}(jYXySelect the BMC COM Port (the same COM port used to issue the ver command earlier), and set the ‘Baud Rate’ to 115200.rn}jZjh}jbj¬vjdj¥jf}ro}(jh]ji]jj]jk]jn]ujpKÝjr]rp}j{XySelect the BMC COM Port (the same COM port used to issue the ver command earlier), and set the ‘Baud Rate’ to 115200.rq}…�rr}}rs}(jYjn}jZjl}ubaubaubj/)�rt}}ru}(jYXkSet ‘Transfer Size’ to 60, and make sure ‘Disable Auto Baud Support’ is unchecked. See image below.jZj@}jbj¬vjdj2jf}rv}(jh]ji]jj]jk]jn]ujpNjqhjr]rw}j¡)�rx}}ry}(jYXkSet ‘Transfer Size’ to 60, and make sure ‘Disable Auto Baud Support’ is unchecked. See image below.rz}jZjt}jbj¬vjdj¥jf}r{}(jh]ji]jj]jk]jn]ujpKßjr]r|}j{XkSet ‘Transfer Size’ to 60, and make sure ‘Disable Auto Baud Support’ is unchecked. See image below.r}}…�r~}}r}(jYjz}jZjx}ubaubaubj/)�r€}}r�}(jYXrIn the ‘Program’ tab, Browse to the location of the binary file containing the firmware update, and select it.jZj@}jbj¬vjdj2jf}r‚}(jh]ji]jj]jk]jn]ujpNjqhjr]rƒ}j¡)�r„}}r…}(jYXrIn the ‘Program’ tab, Browse to the location of the binary file containing the firmware update, and select it.r†}jZj€}jbj¬vjdj¥jf}r‡}(jh]ji]jj]jk]jn]ujpKájr]rˆ}j{XrIn the ‘Program’ tab, Browse to the location of the binary file containing the firmware update, and select it.r‰}…�rŠ}}r‹}(jYj†}jZj„}ubaubaubj/)�rŒ}}r�}(jYXGLeave all other options as default, and press the ‘Program’ button.rŽ}jZj@}jbj¬vjdj2jf}r�}(jh]ji]jj]jk]jn]ujpNjqhjr]r�}j¡)�r‘}}r’}(jYjŽ}jZjŒ}jbj¬vjdj¥jf}r“}(jh]ji]jj]jk]jn]ujpKãjr]r”}j{XGLeave all other options as default, and press the ‘Program’ button.r•}…�r–}}r—}(jYjŽ}jZj‘}ubaubaubj/)�r˜}}r™}(jYX7After the programming is complete, power off the board.rš}jZj@}jbj¬vjdj2jf}r›}(jh]ji]jj]jk]jn]ujpNjqhjr]rœ}j¡)�r�}}rž}(jYjš}jZj˜}jbj¬vjdj¥jf}rŸ}(jh]ji]jj]jk]jn]ujpKäjr]r }j{X7After the programming is complete, power off the board.r¡}…�r¢}}r£}(jYjš}jZj�}ubaubaubj/)�r¤}}r¥}(jYXReconnect the jumper.r¦}jZj@}jbj¬vjdj2jf}r§}(jh]ji]jj]jk]jn]ujpNjqhjr]r¨}j¡)�r©}}rª}(jYj¦}jZj¤}jbj¬vjdj¥jf}r«}(jh]ji]jj]jk]jn]ujpKåjr]r¬}j{XReconnect the jumper.r­}…�r®}}r¯}(jYj¦}jZj©}ubaubaubj/)�r°}}r±}(jYX4Open the HyperTerminal/Console for the BMC COM port.r²}jZj@}jbj¬vjdj2jf}r³}(jh]ji]jj]jk]jn]ujpNjqhjr]r´}j¡)�rµ}}r¶}(jYj²}jZj°}jbj¬vjdj¥jf}r·}(jh]ji]jj]jk]jn]ujpKæjr]r¸}j{X4Open the HyperTerminal/Console for the BMC COM port.r¹}…�rº}}r»}(jYj²}jZjµ}ubaubaubj/)�r¼}}r½}(jYXqApply power to the EVM. When BMC completes initialization of board it will show latest version of BMC in Console.jZj@}jbj¬vjdj2jf}r¾}(jh]ji]jj]jk]jn]ujpNjqhjr]r¿}j¡)�rÀ}}rÁ}(jYXqApply power to the EVM. When BMC completes initialization of board it will show latest version of BMC in Console.rÂ}jZj¼}jbj¬vjdj¥jf}rÃ}(jh]ji]jj]jk]jn]ujpKçjr]rÄ}j{XqApply power to the EVM. When BMC completes initialization of board it will show latest version of BMC in Console.rÅ}…�rÆ}}rÇ}(jYjÂ}jZjÀ}ubaubaubj/)�rÈ}}rÉ}(jYXKIf step 9 was done after power was applied, just type "ver" at BMC prompt. jZj@}jbj¬vjdj2jf}rÊ}(jh]ji]jj]jk]jn]ujpNjqhjr]rË}j¡)�rÌ}}rÍ}(jYXJIf step 9 was done after power was applied, just type "ver" at BMC prompt.rÎ}jZjÈ}jbj¬vjdj¥jf}rÏ}(jh]ji]jj]jk]jn]ujpKéjr]rÐ}j{XJIf step 9 was done after power was applied, just type "ver" at BMC prompt.rÑ}…�rÒ}}rÓ}(jYjÎ}jZjÌ}ubaubaubeubjB)�rÔ}}rÕ}(jYX/.. image:: ../../../images/Evmk2e-image007.jpg jZj1}jbj¬vjdjEjf}rÖ}(UuriX(rtos/../../../images/Evmk2e-image007.jpgr×}jk]jj]jh]ji]jH}rØ}U*j×}sjn]ujpKíjqhjr]ubeubeubj[)�rÙ}}rÚ}(jYUjZj‘{jbj¬vjdjejf}rÛ}(jh]ji]jj]jk]rÜ}Uucd-power-management-updaterÝ}ajn]rÞ}h aujpKïjqhjr]rß}(jt)�rà}}rá}(jYXUCD Power Management Updaterâ}jZjÙ}jbj¬vjdjxjf}rã}(jh]ji]jj]jk]jn]ujpKïjqhjr]rä}j{XUCD Power Management Updaterå}…�ræ}}rç}(jYjâ}jZjà}ubaubj¡)�rè}}ré}(jYXThere is one power management module (a.k.a. UCD) located on the EVM. It can be identified by its address: 104(68h). Each module contains non-volatile registers that determine its operation. It may be necessary to update these registers in the field after the board has been shipped.rê}jZjÙ}jbj¬vjdj¥jf}rë}(jh]ji]jj]jk]jn]ujpKñjqhjr]rì}j{XThere is one power management module (a.k.a. UCD) located on the EVM. It can be identified by its address: 104(68h). Each module contains non-volatile registers that determine its operation. It may be necessary to update these registers in the field after the board has been shipped.rí}…�rî}}rï}(jYjê}jZjè}ubaubj¡)�rð}}rñ}(jYX1This update can be performed through the BMC, which can issue commands to the UCD modules to update the register settings. The **Power Management Configuration Update Tool** performs the task of sending commands to the BMC to get the current module versions, and perform updates using configuration files.jZjÙ}jbj¬vjdj¥jf}rò}(jh]ji]jj]jk]jn]ujpKöjqhjr]ró}(j{XThis update can be performed through the BMC, which can issue commands to the UCD modules to update the register settings. The rô}…�rõ}}rö}(jYXThis update can be performed through the BMC, which can issue commands to the UCD modules to update the register settings. The jZjð}ubjü)�r÷}}rø}(jYX.**Power Management Configuration Update Tool**jf}rù}(jh]ji]jj]jk]jn]ujZjð}jr]rú}j{X*Power Management Configuration Update Toolrû}…�rü}}rý}(jYUjZj÷}ubajdjubj{X„ performs the task of sending commands to the BMC to get the current module versions, and perform updates using configuration files.rþ}…�rÿ}}r~(jYX„ performs the task of sending commands to the BMC to get the current module versions, and perform updates using configuration files.jZjð}ubeubj¡)�r~}r~(jYX^The latest version of the tool is available from `here `__ along with instructions on using the tool, and the latest configuration files (txt files). Please follow the instructions provided to check the current module versions, and update them accordingly.jZjÙ}jbj¬vjdj¥jf}r~(jh]ji]jj]jk]jn]ujpKüjqhjr]r~(j{X1The latest version of the tool is available from r~…�r~}r~(jYX1The latest version of the tool is available from jZj~ubjÜ)�r~}r ~(jYXg`here `__jf}r ~(UnameXherejX\https://www.einfochips.com/index.php/partnerships/texas-instruments/k2e-evm.html#5-resourcesjk]jj]jh]ji]jn]ujZj~jr]r ~j{Xherer ~…�r ~}r~(jYUjZj~ubajdjàubj{XÆ along with instructions on using the tool, and the latest configuration files (txt files). Please follow the instructions provided to check the current module versions, and update them accordingly.r~…�r~}r~(jYXÆ along with instructions on using the tool, and the latest configuration files (txt files). Please follow the instructions provided to check the current module versions, and update them accordingly.jZj~ubeubj)�r~}r~(jYXPThe DIP switch configuration of the board when running the update is irrelevant.r~jZjÙ}jbj¬vjdjjf}r~(jh]ji]jj]jk]jn]ujpNjqhjr]r~j¡)�r~}r~(jYj~jZj~jbj¬vjdj¥jf}r~(jh]ji]jj]jk]jn]ujpMjr]r~j{XPThe DIP switch configuration of the board when running the update is irrelevant.r~…�r~}r~(jYj~jZj~ubaubaubjî)�r~}r~(jYXEVMK2H Hardware SetupjZjÙ}jbjcjdjôjf}r ~(jöj÷jk]jj]jh]ji]jn]ujpK|jqhjr]r!~j{XEVMK2H Hardware Setupr"~…�r#~}r$~(jYUjZj~ubaubjî)�r%~}r&~(jYX4====================================================jZjÙ}jbjcjdjôjf}r'~(jöj÷jk]jj]jh]ji]jn]ujpK}jqhjr]r(~j{X4====================================================r)~…�r*~}r+~(jYUjZj%~ubaubeubeubeubj[)�r,~}r-~(jYUjZjR\jbj�X>source/common/EVM_Hardware_Setup/EVMK2H_Hardware_Setup.rst.incr.~…�r/~}r0~bjdjejf}r1~(jh]ji]jj]jk]r2~Uevmk2h-hardware-setup-guider3~ajn]r4~j-aujpKjqhjr]r5~(jt)�r6~}r7~(jYXEVMK2H Hardware Setup Guider8~jZj,~jbj/~jdjxjf}r9~(jh]ji]jj]jk]jn]ujpKjqhjr]r:~j{XEVMK2H Hardware Setup Guider;~…�r<~}r=~(jYj8~jZj6~ubaubj[)�r>~}r?~(jYUjìKjZj,~jbj/~jdjejf}r@~(jh]rA~j¿vaji]jj]jk]rB~Uid61rC~ajn]ujpKjqhjr]rD~(jt)�rE~}rF~(jYXHardware SetuprG~jZj>~jbj/~jdjxjf}rH~(jh]ji]jj]jk]jn]ujpKjqhjr]rI~j{XHardware SetuprJ~…�rK~}rL~(jYjG~jZjE~ubaubj)�rM~}rN~(jYXÒ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.rO~jZj>~jbj/~jdjjf}rP~(jh]ji]jj]jk]jn]ujpNjqhjr]rQ~j¡)�rR~}rS~(jYjO~jZjM~jbj/~jdj¥jf}rT~(jh]ji]jj]jk]jn]ujpKjr]rU~j{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.rV~…�rW~}rX~(jYjO~jZjR~ubaubaubj[)�rY~}rZ~(jYUjZj>~jbj/~jdjejf}r[~(jh]ji]jj]jk]r\~U#ftdi-driver-installation-on-pc-hostr]~ajn]r^~h©aujpK jqhjr]r_~(jt)�r`~}ra~(jYX#FTDI Driver Installation on PC Hostrb~jZjY~jbj/~jdjxjf}rc~(jh]ji]jj]jk]jn]ujpK jqhjr]rd~j{X#FTDI Driver Installation on PC Hostre~…�rf~}rg~(jYjb~jZj`~ubaubj¡)�rh~}ri~(jYXRThe K2 EVM has a FTDI FT2332HL device on board. A driver must be installed on the PC Host in order to be able to communicate with the EVM using the FTDI mini-USB connector located under the mini-USB connector of the emulator daughter card. The driver can be downloaded from here `FTDI Driver `__.jZjY~jbj/~jdj¥jf}rj~(jh]ji]jj]jk]jn]ujpK jqhjr]rk~(j{XThe K2 EVM has a FTDI FT2332HL device on board. A driver must be installed on the PC Host in order to be able to communicate with the EVM using the FTDI mini-USB connector located under the mini-USB connector of the emulator daughter card. The driver can be downloaded from here rl~…�rm~}rn~(jYXThe K2 EVM has a FTDI FT2332HL device on board. A driver must be installed on the PC Host in order to be able to communicate with the EVM using the FTDI mini-USB connector located under the mini-USB connector of the emulator daughter card. The driver can be downloaded from here jZjh~ubjÜ)�ro~}rp~(jYX:`FTDI Driver `__jf}rq~(UnameX FTDI DriverjX(http://www.ftdichip.com/Drivers/D2XX.htmjk]jj]jh]ji]jn]ujZjh~jr]rr~j{X FTDI Driverrs~…�rt~}ru~(jYUjZjo~ubajdjàubj{X.…�rv~}rw~(jYX.jZjh~ubeubj)�rx~}ry~(jYXšBefore testing the usb connection, make sure that the mini-usb cable is plugged into the port on the base board. (and not connected to the daughter card).rz~jZjY~jbj/~jdjjf}r{~(jh]ji]jj]jk]jn]ujpNjqhjr]r|~j¡)�r}~}r~~(jYjz~jZjx~jbj/~jdj¥jf}r~(jh]ji]jj]jk]jn]ujpKjr]r€~j{XšBefore testing the usb connection, make sure that the mini-usb cable is plugged into the port on the base board. (and not connected to the daughter card).r�~…�r‚~}rƒ~(jYjz~jZj}~ubaubaubj¡)�r„~}r…~(jYX After installing the driver and connecting the USB cable, two COM ports should be visible in the list of COM ports available to connect to in the PC Host terminal console. The lower COM port corresponds to the SoC UART and the higher one corresponds to the MCU UART.r†~jZjY~jbj/~jdj¥jf}r‡~(jh]ji]jj]jk]jn]ujpKjqhjr]rˆ~j{X After installing the driver and connecting the USB cable, two COM ports should be visible in the list of COM ports available to connect to in the PC Host terminal console. The lower COM port corresponds to the SoC UART and the higher one corresponds to the MCU UART.r‰~…�rŠ~}r‹~(jYj†~jZj„~ubaubeubj[)�rŒ~}r�~(jYUjìKjZj>~jbj/~jdjejf}rŽ~(jh]r�~jß{aji]jj]jk]r�~Uid62r‘~ajn]ujpKjqhjr]r’~(jt)�r“~}r”~(jYXBMC Version Check and Updater•~jZjŒ~jbj/~jdjxjf}r–~(jh]ji]jj]jk]jn]ujpKjqhjr]r—~j{XBMC Version Check and Updater˜~…�r™~}rš~(jYj•~jZj“~ubaubj¡)�r›~}rœ~(jYX}Read `BMC\_In-Field\_Update `__ to check BMC version and update if necessary.jZjŒ~jbj/~jdj¥jf}r�~(jh]ji]jj]jk]jn]ujpKjqhjr]rž~(j{XRead rŸ~…�r ~}r¡~(jYXRead jZj›~ubjÜ)�r¢~}r£~(jYXJ`BMC\_In-Field\_Update `__jf}r¤~(UnameXBMC_In-Field_UpdatejX.EVMK2H_Hardware_Setup.html#bmc-in-field-updatejk]jj]jh]ji]jn]ujZj›~jr]r¥~j{XBMC_In-Field_Updater¦~…�r§~}r¨~(jYUjZj¢~ubajdjàubj{X. to check BMC version and update if necessary.r©~…�rª~}r«~(jYX. to check BMC version and update if necessary.jZj›~ubeubeubj[)�r¬~}r­~(jYUjZj>~jbj/~jdjejf}r®~(jh]ji]jj]jk]r¯~U,ucd-power-management-modules-in-field-updater°~ajn]r±~hËaujpK"jqhjr]r²~(jt)�r³~}r´~(jYX,UCD Power Management Modules In-Field Updaterµ~jZj¬~jbj/~jdjxjf}r¶~(jh]ji]jj]jk]jn]ujpK"jqhjr]r·~j{X,UCD Power Management Modules In-Field Updater¸~…�r¹~}rº~(jYjµ~jZj³~ubaubj¡)�r»~}r¼~(jYX#There are three power management modules (sometimes called the UCDs) located on the EVM. Each module can be identified by it's address: 104(68h), 52(34h), and 78(4Eh). Each module contains non-volatile registers that determine it's operation. It may be necessary to update these registers after the board has been shipped. This update can be performed through the BMC, which can issue commands to the UCD modules to update the register settings. The **Power Management Configuration Update Tool** (bmc\_tool.py) performs the task of sending commands to the BMC to get the current module versions, and perform updates using configuration files. Instructions for executing the update tool (bmc\_tool.py) are available here: :download:`BMC Tool UCD Update Guide <../files/Bmc_tool_ucd_update_guide_v2.pdf>`jZj¬~jbj/~jdj¥jf}r½~(jh]ji]jj]jk]jn]ujpK$jqhjr]r¾~(j{XÂThere are three power management modules (sometimes called the UCDs) located on the EVM. Each module can be identified by it's address: 104(68h), 52(34h), and 78(4Eh). Each module contains non-volatile registers that determine it's operation. It may be necessary to update these registers after the board has been shipped. This update can be performed through the BMC, which can issue commands to the UCD modules to update the register settings. The r¿~…�rÀ~}rÁ~(jYXÂThere are three power management modules (sometimes called the UCDs) located on the EVM. Each module can be identified by it's address: 104(68h), 52(34h), and 78(4Eh). Each module contains non-volatile registers that determine it's operation. It may be necessary to update these registers after the board has been shipped. This update can be performed through the BMC, which can issue commands to the UCD modules to update the register settings. The jZj»~ubjü)�rÂ~}rÃ~(jYX.**Power Management Configuration Update Tool**jf}rÄ~(jh]ji]jj]jk]jn]ujZj»~jr]rÅ~j{X*Power Management Configuration Update ToolrÆ~…�rÇ~}rÈ~(jYUjZjÂ~ubajdjubj{Xà (bmc_tool.py) performs the task of sending commands to the BMC to get the current module versions, and perform updates using configuration files. Instructions for executing the update tool (bmc_tool.py) are available here: rÉ~…�rÊ~}rË~(jYXâ (bmc\_tool.py) performs the task of sending commands to the BMC to get the current module versions, and perform updates using configuration files. Instructions for executing the update tool (bmc\_tool.py) are available here: jZj»~ubcsphinx.addnodes download_reference rÌ~)�rÍ~}rÎ~(jYXQ:download:`BMC Tool UCD Update Guide <../files/Bmc_tool_ucd_update_guide_v2.pdf>`rÏ~jZj»~jbj/~jdUdownload_referencerÐ~jf}rÑ~(UreftypeXdownloadrÒ~j½‰j¾X)../files/Bmc_tool_ucd_update_guide_v2.pdfU refdomainUjk]jj]U refexplicitˆjh]ji]jn]jÀjÁUfilenamerÓ~X Bmc_tool_ucd_update_guide_v2.pdfrÔ~ujpK$jr]rÕ~ji')�rÖ~}r×~(jYjÏ~jf}rØ~(jh]ji]rÙ~(jÈjÒ~ejj]jk]jn]ujZjÍ~jr]rÚ~j{XBMC Tool UCD Update GuiderÛ~…�rÜ~}rÝ~(jYUjZjÖ~ubajdjq'ubaubeubj¡)�rÞ~}rß~(jYX¤The latest version of the tool is available `here `__. The latest configuration files (txt files) are available `here `__. Please follow the instructions provided to check the current module versions, and update them accordingly.jZj¬~jbj/~jdj¥jf}rà~(jh]ji]jj]jk]jn]ujpK0jqhjr]rá~(j{X,The latest version of the tool is available râ~…�rã~}rä~(jYX,The latest version of the tool is available jZjÞ~ubjÜ)�rå~}ræ~(jYXe`here `__jf}rç~(UnameXherejXZhttp://wfcache.advantech.com/www/support/TI-EVM/Rev4_0/BMC/BMC_EVMK2K_1_0_2_6-20160330.zipjk]jj]jh]ji]jn]ujZjÞ~jr]rè~j{Xhereré~…�rê~}rë~(jYUjZjå~ubajdjàubj{X;. The latest configuration files (txt files) are available rì~…�rí~}rî~(jYX;. The latest configuration files (txt files) are available jZjÞ~ubjÜ)�rï~}rð~(jYXl`here `__jf}rñ~(UnameXherejXahttp://wfcache.advantech.com/www/support/TI-EVM/Rev4_0/UCD/UCD_Configuration_Standard_Release.zipjk]jj]jh]ji]jn]ujZjÞ~jr]rò~j{Xhereró~…�rô~}rõ~(jYUjZjï~ubajdjàubj{Xl. Please follow the instructions provided to check the current module versions, and update them accordingly.rö~…�r÷~}rø~(jYXl. Please follow the instructions provided to check the current module versions, and update them accordingly.jZjÞ~ubeubj)�rù~}rú~(jYXPThe DIP switch configuration of the board when running the update is irrelevant.rû~jZj¬~jbj/~jdjjf}rü~(jh]ji]jj]jk]jn]ujpNjqhjr]rý~j¡)�rþ~}rÿ~(jYjû~jZjù~jbj/~jdj¥jf}r(jh]ji]jj]jk]jn]ujpK7jr]rj{XPThe DIP switch configuration of the board when running the update is irrelevant.r…�r}r(jYjû~jZjþ~ubaubaubj)�r}r(jYXµBMC versions 1.0.1.3a and earlier will not work properly with the **Get Versions** feature of the Update Tool. Upgrade to a more recent version of the BMC to use this functionality.rjZj¬~jbj/~jdjjf}r(jh]ji]jj]jk]jn]ujpNjqhjr]r j¡)�r }r (jYjjZjjbj/~jdj¥jf}r (jh]ji]jj]jk]jn]ujpK9jr]r (j{XBBMC versions 1.0.1.3a and earlier will not work properly with the r…�r}r(jYXBBMC versions 1.0.1.3a and earlier will not work properly with the jZj ubjü)�r}r(jYX**Get Versions**jf}r(jh]ji]jj]jk]jn]ujZj jr]rj{X Get Versionsr…�r}r(jYUjZjubajdjubj{Xc feature of the Update Tool. Upgrade to a more recent version of the BMC to use this functionality.r…�r}r(jYXc feature of the Update Tool. Upgrade to a more recent version of the BMC to use this functionality.jZj ubeubaubjZ)�r}r(jYUjZj¬~jbj/~jdj]jf}r(jh]ji]jj]jk]jn]ujpK;jqhjr]rj`)�r}r (jYUjcKjZjjbj/~jdjpjf}r!(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjZ)�r"}r#(jYUjZj¬~jbj/~jdj]jf}r$(jh]ji]jj]jk]jn]ujpK=jqhjr]r%j`)�r&}r'(jYUjcKjZj"jbj/~jdjpjf}r((jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubj[)�r)}r*(jYUjìKjZj>~jbj/~jdjejf}r+(jh]r,jÛvaji]jj]jk]r-Uid63r.ajn]ujpK@jqhjr]r/(jt)�r0}r1(jYXAttach the Ethernet cabler2jZj)jbj/~jdjxjf}r3(jh]ji]jj]jk]jn]ujpK@jqhjr]r4j{XAttach the Ethernet cabler5…�r6}r7(jYj2jZj0ubaubj¡)�r8}r9(jYX›Using the Ethernet cable supplied, connect one end of the cable to the Ethernet Port 0 (marked ENET0 on the board) on the EVM and the other end to your PC.r:jZj)jbj/~jdj¥jf}r;(jh]ji]jj]jk]jn]ujpKBjqhjr]r<j{X›Using the Ethernet cable supplied, connect one end of the cable to the Ethernet Port 0 (marked ENET0 on the board) on the EVM and the other end to your PC.r=…�r>}r?(jYj:jZj8ubaubj¡)�r@}rA(jYX,This picture shows which Ethernet Port is 0:rBjZj)jbj/~jdj¥jf}rC(jh]ji]jj]jk]jn]ujpKFjqhjr]rDj{X,This picture shows which Ethernet Port is 0:rE…�rF}rG(jYjBjZj@ubaubjB)�rH}rI(jYX).. image:: ../../../images/K2H_ENET0.jpg jZj)jbj/~jdjEjf}rJ(UuriX"rtos/../../../images/K2H_ENET0.jpgrKjk]jj]jh]ji]jH}rLU*jKsjn]ujpKIjqhjr]ubeubj[)�rM}rN(jYUjìKjZj>~jbj/~jdjejf}rO(jh]rPjøvaji]jj]jk]rQUid64rRajn]ujpKKjqhjr]rS(jt)�rT}rU(jYXConnect the JTAG interfacerVjZjMjbj/~jdjxjf}rW(jh]ji]jj]jk]jn]ujpKKjqhjr]rXj{XConnect the JTAG interfacerY…�rZ}r[(jYjVjZjTubaubj¡)�r\}r](jYX#Use the USB to USB mini-B cable provided. Connect the USB mini-B connector to the USB mini-B interface on the XDS-2xx daughter card on the EVM, and the USB connector to your PC. This enables XDS-2xx emulation and is directly useable by CCS. If you are using a different JTAG, connect it now.r^jZjMjbj/~jdj¥jf}r_(jh]ji]jj]jk]jn]ujpKMjqhjr]r`j{X#Use the USB to USB mini-B cable provided. Connect the USB mini-B connector to the USB mini-B interface on the XDS-2xx daughter card on the EVM, and the USB connector to your PC. This enables XDS-2xx emulation and is directly useable by CCS. If you are using a different JTAG, connect it now.ra…�rb}rc(jYj^jZj\ubaubeubj[)�rd}re(jYUjZj>~jbj/~jdjejf}rf(jh]ji]jj]jk]rgU k2h-set-the-boot-mode-switch-sw1rhajn]rij*aujpKTjqhjr]rj(jt)�rk}rl(jYX K2H Set the boot mode switch SW1rmjZjdjbj/~jdjxjf}rn(jh]ji]jj]jk]jn]ujpKTjqhjr]roj{X K2H Set the boot mode switch SW1rp…�rq}rr(jYjmjZjkubaubjè)�rs}rt(jYX,K2H No Boot/JTAG DSP Little Endian Boot moderujZjdjbj/~jdjíjf}rv(jk]rwUk2h-set-no-boot-moderxajj]jh]ji]jn]ryh6aujpNjqhjr]rzj{X,K2H No Boot/JTAG DSP Little Endian Boot moder{…�r|}r}(jYjujZjsubaubj¡)�r~}r(jYX-For **Rev 0B EVM**, the setting is as followsr€jZjdjbj/~jdj¥jf}r�(jh]ji]jj]jk]jn]ujpKYjqhjr]r‚(j{XFor rƒ…�r„}r…(jYXFor jZj~ubjü)�r†}r‡(jYX**Rev 0B EVM**jf}rˆ(jh]ji]jj]jk]jn]ujZj~jr]r‰j{X Rev 0B EVMrŠ…�r‹}rŒ(jYUjZj†ubajdjubj{X, the setting is as followsr�…�rŽ}r�(jYX, the setting is as followsjZj~ubeubj)�r�}r‘(jYXSW1 - 4(ON) 3(ON) 2(ON) 1(OFF)jZjdjbj/~jdjjf}r’(jöj÷jk]jj]jh]ji]jn]ujpM¤"jqhjr]r“j{XSW1 - 4(ON) 3(ON) 2(ON) 1(OFF)r”…�r•}r–(jYUjZj�ubaubj¡)�r—}r˜(jYX/For **Rev 1.0 EVM**, the setting is as follows:r™jZjdjbj/~jdj¥jf}rš(jh]ji]jj]jk]jn]ujpK_jqhjr]r›(j{XFor rœ…�r�}rž(jYXFor jZj—ubjü)�rŸ}r (jYX**Rev 1.0 EVM**jf}r¡(jh]ji]jj]jk]jn]ujZj—jr]r¢j{X Rev 1.0 EVMr£…�r¤}r¥(jYUjZjŸubajdjubj{X, the setting is as follows:r¦…�r§}r¨(jYX, the setting is as follows:jZj—ubeubj)�r©}rª(jYX SW1 - 1(OFF) 2(OFF) 3(OFF) 4(ON)jZjdjbj/~jdjjf}r«(jöj÷jk]jj]jh]ji]jn]ujpMª"jqhjr]r¬j{X SW1 - 1(OFF) 2(OFF) 3(OFF) 4(ON)r­…�r®}r¯(jYUjZj©ubaubjZ)�r°}r±(jYUjZjdjbj/~jdj]jf}r²(jh]ji]jj]jk]jn]ujpKejqhjr]r³j`)�r´}rµ(jYUjcKjZj°jbj/~jdjpjf}r¶(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjè)�r·}r¸(jYXK2H SPI Little Endian Boot moder¹jZjdjbj/~jdjíjf}rº(jk]r»Uk2h-spi-le-boot-moder¼ajj]jh]ji]jn]r½hºaujpNjqhjr]r¾j{XK2H SPI Little Endian Boot moder¿…�rÀ}rÁ(jYj¹jZj·ubaubj¡)�rÂ}rÃ(jYX.For **Rev 0B EVM**, the setting is as follows:rÄjZjdjbj/~jdj¥jf}rÅ(jh]ji]jj]jk]jn]ujpKjjqhjr]rÆ(j{XFor rÇ…�rÈ}rÉ(jYXFor jZjÂubjü)�rÊ}rË(jYX**Rev 0B EVM**jf}rÌ(jh]ji]jj]jk]jn]ujZjÂjr]rÍj{X Rev 0B EVMrÎ…�rÏ}rÐ(jYUjZjÊubajdjubj{X, the setting is as follows:rÑ…�rÒ}rÓ(jYX, the setting is as follows:jZjÂubeubj)�rÔ}rÕ(jYXSW1 - 4(ON) 3(ON) 2(OFF) 1(ON)jZjdjbj/~jdjjf}rÖ(jöj÷jk]jj]jh]ji]jn]ujpMµ"jqhjr]r×j{XSW1 - 4(ON) 3(ON) 2(OFF) 1(ON)rØ…�rÙ}rÚ(jYUjZjÔubaubj¡)�rÛ}rÜ(jYX/For **Rev 1.0 EVM**, the setting is as follows:rÝjZjdjbj/~jdj¥jf}rÞ(jh]ji]jj]jk]jn]ujpKpjqhjr]rß(j{XFor rà…�rá}râ(jYXFor jZjÛubjü)�rã}rä(jYX**Rev 1.0 EVM**jf}rå(jh]ji]jj]jk]jn]ujZjÛjr]ræj{X Rev 1.0 EVMrç…�rè}ré(jYUjZjãubajdjubj{X, the setting is as follows:rê…�rë}rì(jYX, the setting is as follows:jZjÛubeubj)�rí}rî(jYX SW1 - 1(OFF) 2(OFF) 3(ON) 4(OFF)jZjdjbj/~jdjjf}rï(jöj÷jk]jj]jh]ji]jn]ujpM»"jqhjr]rðj{X SW1 - 1(OFF) 2(OFF) 3(ON) 4(OFF)rñ…�rò}ró(jYUjZjíubaubeubj[)�rô}rõ(jYUjZj>~jbj/~jdjejf}rö(jh]ji]jj]jk]r÷U!ddr-configuration-rev-0b-evm-onlyrøajn]rùjaujpKwjqhjr]rú(jt)�rû}rü(jYX#DDR Configuration (Rev 0B EVM only)rýjZjôjbj/~jdjxjf}rþ(jh]ji]jj]jk]jn]ujpKwjqhjr]rÿj{X#DDR Configuration (Rev 0B EVM only)r€…�r€}r€(jYjýjZjûubaubj¡)�r€}r€(jYXUFor **Rev 0B EVM**, the following procedure is required for proper DDR configuration:jZjôjbj/~jdj¥jf}r€(jh]ji]jj]jk]jn]ujpKyjqhjr]r€(j{XFor r€…�r€}r €(jYXFor jZj€ubjü)�r €}r €(jYX**Rev 0B EVM**jf}r €(jh]ji]jj]jk]jn]ujZj€jr]r €j{X Rev 0B EVMr€…�r€}r€(jYUjZj €ubajdjubj{XC, the following procedure is required for proper DDR configuration:r€…�r€}r€(jYXC, the following procedure is required for proper DDR configuration:jZj€ubeubjC)�r€}r€(jYUjZjôjbj/~jdj`jf}r€(jGX-jk]jj]jh]ji]jn]ujpK|jqhjr]r€(j/)�r€}r€(jYXIConnect the MCU UART port to PC using the serial cable provided with the EVM. The MCU UART port is the 4-pin white connector farthest from the edge of the EVM. Alternatively it is also possible to connect a mini-USB cable to the FTDI mini-USB connector of the EVM. This will provide access to both the SoC and the MCU UART ports.jZj€jbj/~jdj2jf}r€(jh]ji]jj]jk]jn]ujpNjqhjr]r€j¡)�r€}r€(jYXIConnect the MCU UART port to PC using the serial cable provided with the EVM. The MCU UART port is the 4-pin white connector farthest from the edge of the EVM. Alternatively it is also possible to connect a mini-USB cable to the FTDI mini-USB connector of the EVM. This will provide access to both the SoC and the MCU UART ports.r€jZj€jbj/~jdj¥jf}r€(jh]ji]jj]jk]jn]ujpK|jr]r €j{XIConnect the MCU UART port to PC using the serial cable provided with the EVM. The MCU UART port is the 4-pin white connector farthest from the edge of the EVM. Alternatively it is also possible to connect a mini-USB cable to the FTDI mini-USB connector of the EVM. This will provide access to both the SoC and the MCU UART ports.r!€…�r"€}r#€(jYj€jZj€ubaubaubj/)�r$€}r%€(jYXrStart Tera Term or Hyper terminal and set to 115200 board rate, 8-bit data, 1-bit stop and no parity/flow control.jZj€jbj/~jdj2jf}r&€(jh]ji]jj]jk]jn]ujpNjqhjr]r'€j¡)�r(€}r)€(jYXrStart Tera Term or Hyper terminal and set to 115200 board rate, 8-bit data, 1-bit stop and no parity/flow control.r*€jZj$€jbj/~jdj¥jf}r+€(jh]ji]jj]jk]jn]ujpK�jr]r,€j{XrStart Tera Term or Hyper terminal and set to 115200 board rate, 8-bit data, 1-bit stop and no parity/flow control.r-€…�r.€}r/€(jYj*€jZj(€ubaubaubj/)�r0€}r1€(jYXèPower on the EVM. MCU UART console will show user prompt once MCU boot up is complete. Type the following commands at the console to setup DDR3A. Ethernet requires DDR3A and will not work with DDR3B which is default in Rev 0B EVMs. jZj€jbj/~jdj2jf}r2€(jh]ji]jj]jk]jn]ujpNjqhjr]r3€j¡)�r4€}r5€(jYXçPower on the EVM. MCU UART console will show user prompt once MCU boot up is complete. Type the following commands at the console to setup DDR3A. Ethernet requires DDR3A and will not work with DDR3B which is default in Rev 0B EVMs.r6€jZj0€jbj/~jdj¥jf}r7€(jh]ji]jj]jk]jn]ujpKƒjr]r8€j{XçPower on the EVM. MCU UART console will show user prompt once MCU boot up is complete. Type the following commands at the console to setup DDR3A. Ethernet requires DDR3A and will not work with DDR3B which is default in Rev 0B EVMs.r9€…�r:€}r;€(jYj6€jZj4€ubaubaubeubj)�r<€}r=€(jYX BMC> setboot 100001 BMC> fullrstjZjôjbj/~jdjjf}r>€(jöj÷jk]jj]jh]ji]jn]ujpMÑ"jqhjr]r?€j{X BMC> setboot 100001 BMC> fullrstr@€…�rA€}rB€(jYUjZj<€ubaubeubj[)�rC€}rD€(jYUjìKjZj>~jbj/~jdjejf}rE€(jh]rF€jXwaji]jj]jk]rG€Uid65rH€ajn]ujpKŽjqhjr]rI€(jt)�rJ€}rK€(jYX1Attach the serial port cable to the SoC UART portrL€jZjC€jbj/~jdjxjf}rM€(jh]ji]jj]jk]jn]ujpKŽjqhjr]rN€j{X1Attach the serial port cable to the SoC UART portrO€…�rP€}rQ€(jYjL€jZjJ€ubaubj¡)�rR€}rS€(jYXœConnect the SoC UART port to PC using the serial cable provided with the EVM. The SoC UART port is the 4-pin white connector closest to the edge of the EVM.rT€jZjC€jbj/~jdj¥jf}rU€(jh]ji]jj]jk]jn]ujpK�jqhjr]rV€j{XœConnect the SoC UART port to PC using the serial cable provided with the EVM. The SoC UART port is the 4-pin white connector closest to the edge of the EVM.rW€…�rX€}rY€(jYjT€jZjR€ubaubj¡)�rZ€}r[€(jYXrStart Tera Term or Hyper terminal and set to 115200 board rate, 8-bit data, 1-bit stop and no parity/flow control.r\€jZjC€jbj/~jdj¥jf}r]€(jh]ji]jj]jk]jn]ujpK”jqhjr]r^€j{XrStart Tera Term or Hyper terminal and set to 115200 board rate, 8-bit data, 1-bit stop and no parity/flow control.r_€…�r`€}ra€(jYj\€jZjZ€ubaubeubj[)�rb€}rc€(jYUjìKjZj>~jbj/~jdjejf}rd€(jh]re€j¸waji]jj]jk]rf€Uid66rg€ajn]ujpK˜jqhjr]rh€(jt)�ri€}rj€(jYXConnect the power cablerk€jZjb€jbj/~jdjxjf}rl€(jh]ji]jj]jk]jn]ujpK˜jqhjr]rm€j{XConnect the power cablern€…�ro€}rp€(jYjk€jZji€ubaubj¡)�rq€}rr€(jYXÇConnect the power cable to the EVM power jack on the board. To be ESD safe, plug in the other end of the power cable only after you have connected the power cord to the board. Then turn on the board.rs€jZjb€jbj/~jdj¥jf}rt€(jh]ji]jj]jk]jn]ujpKšjqhjr]ru€j{XÇConnect the power cable to the EVM power jack on the board. To be ESD safe, plug in the other end of the power cable only after you have connected the power cord to the board. Then turn on the board.rv€…�rw€}rx€(jYjs€jZjq€ubaubeubeubj[)�ry€}rz€(jYUjZj,~jbj/~jdjejf}r{€(jh]ji]jj]jk]r|€Ubmc-in-field-updater}€ajn]r~€hÉaujpKŸjqhjr]r€(jt)�r€€}r�€(jYXBMC In-Field Updater‚€jZjy€jbj/~jdjxjf}rƒ€(jh]ji]jj]jk]jn]ujpKŸjqhjr]r„€j{XBMC In-Field Updater…€…�r†€}r‡€(jYj‚€jZj€€ubaubj¡)�rˆ€}r‰€(jYXiBMC, or Board Management Controller, takes care of the power, clocks, resets, bootmodes, etc. of the EVM.rŠ€jZjy€jbj/~jdj¥jf}r‹€(jh]ji]jj]jk]jn]ujpK¡jqhjr]rŒ€j{XiBMC, or Board Management Controller, takes care of the power, clocks, resets, bootmodes, etc. of the EVM.r�€…�rŽ€}r�€(jYjŠ€jZjˆ€ubaubj¡)�r�€}r‘€(jYXFor Rev1.0 EVMs an in-field update may be necessary as a very small quantity were delivered with an old revision of the BMC. If your EVM is using version 1.0.1.3 then it should be updated to version 1.0.1.3a. The update corrects the way that the boot mode pins are interpreted.r’€jZjy€jbj/~jdj¥jf}r“€(jh]ji]jj]jk]jn]ujpK¤jqhjr]r”€j{XFor Rev1.0 EVMs an in-field update may be necessary as a very small quantity were delivered with an old revision of the BMC. If your EVM is using version 1.0.1.3 then it should be updated to version 1.0.1.3a. The update corrects the way that the boot mode pins are interpreted.r•€…�r–€}r—€(jYj’€jZj�€ubaubj¡)�r˜€}r™€(jYXYou can check the version by:rš€jZjy€jbj/~jdj¥jf}r›€(jh]ji]jj]jk]jn]ujpK©jqhjr]rœ€j{XYou can check the version by:r�€…�rž€}rŸ€(jYjš€jZj˜€ubaubj¡)�r €}r¡€(jYXN**1. Opening a hyperterminal or another similar type of console application.**r¢€jZjy€jbj/~jdj¥jf}r£€(jh]ji]jj]jk]jn]ujpK«jqhjr]r¤€jü)�r¥€}r¦€(jYj¢€jf}r§€(jh]ji]jj]jk]jn]ujZj €jr]r¨€j{XJ1. Opening a hyperterminal or another similar type of console application.r©€…�rª€}r«€(jYUjZj¥€ubajdjubaubj¡)�r¬€}r­€(jYX#**2. Set COM Port to higher value**r®€jZjy€jbj/~jdj¥jf}r¯€(jh]ji]jj]jk]jn]ujpK®jqhjr]r°€jü)�r±€}r²€(jYj®€jf}r³€(jh]ji]jj]jk]jn]ujZj¬€jr]r´€j{X2. Set COM Port to higher valuerµ€…�r¶€}r·€(jYUjZj±€ubajdjubaubjC)�r¸€}r¹€(jYUjZjy€jbj/~jdj`jf}rº€(jGX-jk]jj]jh]ji]jn]ujpK°jqhjr]r»€(j/)�r¼€}r½€(jYX}When you connect to FTDI mini-USB on the EVM it will provide 2 COM port connections, one to the SOC UART and one to BMC UART.jZj¸€jbj/~jdj2jf}r¾€(jh]ji]jj]jk]jn]ujpNjqhjr]r¿€j¡)�rÀ€}rÁ€(jYX}When you connect to FTDI mini-USB on the EVM it will provide 2 COM port connections, one to the SOC UART and one to BMC UART.r€jZj¼€jbj/~jdj¥jf}rÀ(jh]ji]jj]jk]jn]ujpK°jr]rÄ€j{X}When you connect to FTDI mini-USB on the EVM it will provide 2 COM port connections, one to the SOC UART and one to BMC UART.rÅ€…�rÆ€}rÇ€(jYj€jZjÀ€ubaubaubj/)�rÈ€}rÉ€(jYXºThe SOC UART will always be the lowest value COM port, for example COM5, and the BMC UART will always be the higher value COM port, for example COM6. (Actual COM PORT values will vary). jZj¸€jbj/~jdj2jf}rÊ€(jh]ji]jj]jk]jn]ujpNjqhjr]rË€j¡)�rÌ€}rÍ€(jYX¹The SOC UART will always be the lowest value COM port, for example COM5, and the BMC UART will always be the higher value COM port, for example COM6. (Actual COM PORT values will vary).r΀jZjÈ€jbj/~jdj¥jf}rÏ€(jh]ji]jj]jk]jn]ujpK²jr]rЀj{X¹The SOC UART will always be the lowest value COM port, for example COM5, and the BMC UART will always be the higher value COM port, for example COM6. (Actual COM PORT values will vary).rÑ€…�rÒ€}rÓ€(jYj΀jZjÌ€ubaubaubeubj¡)�rÔ€}rÕ€(jYX,**3. Set COM port properties appopriately:**rÖ€jZjy€jbj/~jdj¥jf}r×€(jh]ji]jj]jk]jn]ujpK¶jqhjr]rØ€jü)�rÙ€}rÚ€(jYjÖ€jf}rÛ€(jh]ji]jj]jk]jn]ujZjÔ€jr]rÜ€j{X(3. Set COM port properties appopriately:rÝ€…�rÞ€}r߀(jYUjZjÙ€ubajdjubaubjC)�rà€}rá€(jYUjZjy€jbj/~jdj`jf}râ€(jGX-jk]jj]jh]ji]jn]ujpK¸jqhjr]rã€(j/)�rä€}rå€(jYX$Baud Rate or Bits per second: 115200ræ€jZjà€jbj/~jdj2jf}rç€(jh]ji]jj]jk]jn]ujpNjqhjr]rè€j¡)�ré€}rê€(jYjæ€jZjä€jbj/~jdj¥jf}rë€(jh]ji]jj]jk]jn]ujpK¸jr]rì€j{X$Baud Rate or Bits per second: 115200r퀅�rî€}rï€(jYjæ€jZjé€ubaubaubj/)�rð€}rñ€(jYX Data Bits: 8rò€jZjà€jbj/~jdj2jf}ró€(jh]ji]jj]jk]jn]ujpNjqhjr]rô€j¡)�rõ€}rö€(jYjò€jZjð€jbj/~jdj¥jf}r÷€(jh]ji]jj]jk]jn]ujpK¹jr]rø€j{X Data Bits: 8rù€…�rú€}rû€(jYjò€jZjõ€ubaubaubj/)�rü€}rý€(jYX Parity: Nonerþ€jZjà€jbj/~jdj2jf}rÿ€(jh]ji]jj]jk]jn]ujpNjqhjr]r�j¡)�r�}r�(jYjþ€jZjü€jbj/~jdj¥jf}r�(jh]ji]jj]jk]jn]ujpKºjr]r�j{X Parity: Noner�…�r�}r�(jYjþ€jZj�ubaubaubj/)�r�}r �(jYX Stop Bits: 1r �jZjà€jbj/~jdj2jf}r �(jh]ji]jj]jk]jn]ujpNjqhjr]r �j¡)�r �}r�(jYj �jZj�jbj/~jdj¥jf}r�(jh]ji]jj]jk]jn]ujpK»jr]r�j{X Stop Bits: 1r�…�r�}r�(jYj �jZj �ubaubaubj/)�r�}r�(jYXFlow Control: None jZjà€jbj/~jdj2jf}r�(jh]ji]jj]jk]jn]ujpNjqhjr]r�j¡)�r�}r�(jYXFlow Control: Noner�jZj�jbj/~jdj¥jf}r�(jh]ji]jj]jk]jn]ujpK¼jr]r�j{XFlow Control: Noner�…�r�}r�(jYj�jZj�ubaubaubeubj¡)�r �}r!�(jYX,**4. At BMC prompt typer 'ver' (no quotes)**r"�jZjy€jbj/~jdj¥jf}r#�(jh]ji]jj]jk]jn]ujpK¾jqhjr]r$�jü)�r%�}r&�(jYj"�jf}r'�(jh]ji]jj]jk]jn]ujZj �jr]r(�j{X(4. At BMC prompt typer 'ver' (no quotes)r)�…�r*�}r+�(jYUjZj%�ubajdjubaubj¡)�r,�}r-�(jYX**5. Check BMC Version**r.�jZjy€jbj/~jdj¥jf}r/�(jh]ji]jj]jk]jn]ujpKÀjqhjr]r0�jü)�r1�}r2�(jYj.�jf}r3�(jh]ji]jj]jk]jn]ujZj,�jr]r4�j{X5. Check BMC Versionr5�…�r6�}r7�(jYUjZj1�ubajdjubaubjZ)�r8�}r9�(jYUjZjy€jbj/~jdj]jf}r:�(jh]ji]jj]jk]jn]ujpKÂjqhjr]r;�j`)�r<�}r=�(jYUjcKjZj8�jbj/~jdjpjf}r>�(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjB)�r?�}r@�(jYX3.. image:: ../../../images/Bmc_ver_screenshot.JPG jZjy€jbj/~jdjEjf}rA�(UuriX+rtos/../../../images/Bmc_ver_screenshot.JPGrB�jk]jj]jh]ji]jH}rC�U*jB�sjn]ujpKÆjqhjr]ubjZ)�rD�}rE�(jYUjZjy€jbj/~jdj]jf}rF�(jh]ji]jj]jk]jn]ujpKÇjqhjr]rG�(j`)�rH�}rI�(jYUjcKjZjD�jbj/~jdjpjf}rJ�(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�rK�}rL�(jYUjcKjZjD�jbj/~jdjpjf}rM�(jh]ji]jj]jk]jn]ujpKjqhjr]ubeubj¡)�rN�}rO�(jYXáIf an in-field update is needed, downloaded the latest version `here `__ (labeled **Board Management Controller Binaries (BMC)**) and continue with the following steps.jZjy€jbj/~jdj¥jf}rP�(jh]ji]jj]jk]jn]ujpKÊjqhjr]rQ�(j{X?If an in-field update is needed, downloaded the latest version rR�…�rS�}rT�(jYX?If an in-field update is needed, downloaded the latest version jZjN�ubjÜ)�rU�}rV�(jYXB`here `__jf}rW�(UnameXherejX7http://www.advantech.com/Support/TI-EVM/EVMK2HX_sd.aspxjk]jj]jh]ji]jn]ujZjN�jr]rX�j{XhererY�…�rZ�}r[�(jYUjZjU�ubajdjàubj{X (labeled r\�…�r]�}r^�(jYX (labeled jZjN�ubjü)�r_�}r`�(jYX.**Board Management Controller Binaries (BMC)**jf}ra�(jh]ji]jj]jk]jn]ujZjN�jr]rb�j{X*Board Management Controller Binaries (BMC)rc�…�rd�}re�(jYUjZj_�ubajdjubj{X() and continue with the following steps.rf�…�rg�}rh�(jYX() and continue with the following steps.jZjN�ubeubjZ)�ri�}rj�(jYUjZjy€jbj/~jdj]jf}rk�(jh]ji]jj]jk]jn]ujpKÏjqhjr]rl�j`)�rm�}rn�(jYUjcKjZji�jbj/~jdjpjf}ro�(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rp�}rq�(jYX$**Prepare EVM for in-field update:**rr�jZjy€jbj/~jdj¥jf}rs�(jh]ji]jj]jk]jn]ujpKÑjqhjr]rt�jü)�ru�}rv�(jYjr�jf}rw�(jh]ji]jj]jk]jn]ujZjp�jr]rx�j{X Prepare EVM for in-field update:ry�…�rz�}r{�(jYUjZju�ubajdjubaubj%)�r|�}r}�(jYUjZjy€jbj/~jdj(jf}r~�(j*U.jk]jj]jh]j+Uji]jn]j,j-ujpKÓjqhjr]r�(j/)�r€�}r��(jYXRemove power to the EVM.r‚�jZj|�jbj/~jdj2jf}rƒ�(jh]ji]jj]jk]jn]ujpNjqhjr]r„�j¡)�r…�}r†�(jYj‚�jZj€�jbj/~jdj¥jf}r‡�(jh]ji]jj]jk]jn]ujpKÓjr]rˆ�j{XRemove power to the EVM.r‰�…�rŠ�}r‹�(jYj‚�jZj…�ubaubaubj/)�rŒ�}r��(jYX;Set boot mode to "No Boot mode" ( See NoBootLittleEndian_ )rŽ�jZj|�jbj/~jdj2jf}r��(jh]ji]jj]jk]jn]ujpNjqhjr]r��j¡)�r‘�}r’�(jYjŽ�jZjŒ�jbj/~jdj¥jf}r“�(jh]ji]jj]jk]jn]ujpKÔjr]r”�(j{X&Set boot mode to "No Boot mode" ( See r•�…�r–�}r—�(jYX&Set boot mode to "No Boot mode" ( See jZj‘�ubjë)�r˜�}r™�(jYXNoBootLittleEndian_rš�jf}r›�(jk]rœ�Uid88r��ajj]jh]ji]jn]UrefidUid87rž�ujZj‘�jr]rŸ�j{XNoBootLittleEndian_r �…�r¡�}r¢�(jYUjZj˜�ubajdjõubj{X )r£�…�r¤�}r¥�(jYX )jZj‘�ubeubaubj/)�r¦�}r§�(jYX‘Remove the MCU\_BOOTSELECT (CN9) jumper (see picture below for location of jumper: Referred as "**G: MCU Reset Jumper for BMC field update**\ ").jZj|�jbj/~jdj2jf}r¨�(jh]ji]jj]jk]jn]ujpNjqhjr]r©�j¡)�rª�}r«�(jYX‘Remove the MCU\_BOOTSELECT (CN9) jumper (see picture below for location of jumper: Referred as "**G: MCU Reset Jumper for BMC field update**\ ").jZj¦�jbj/~jdj¥jf}r¬�(jh]ji]jj]jk]jn]ujpKÕjr]r­�(j{X_Remove the MCU_BOOTSELECT (CN9) jumper (see picture below for location of jumper: Referred as "r®�…�r¯�}r°�(jYX`Remove the MCU\_BOOTSELECT (CN9) jumper (see picture below for location of jumper: Referred as "jZjª�ubjü)�r±�}r²�(jYX,**G: MCU Reset Jumper for BMC field update**jf}r³�(jh]ji]jj]jk]jn]ujZjª�jr]r´�j{X(G: MCU Reset Jumper for BMC field updaterµ�…�r¶�}r·�(jYUjZj±�ubajdjubj{X").r¸�…�r¹�}rº�(jYX\ ").jZjª�ubeubaubj/)�r»�}r¼�(jYXˆMake sure your USB cable is connected to FTDI mini-USB (not XDS200 Emulator USB) OR connect 4pin UART cable to COM1: MCU UART connector.jZj|�jbj/~jdj2jf}r½�(jh]ji]jj]jk]jn]ujpNjqhjr]r¾�j¡)�r¿�}rÀ�(jYXˆMake sure your USB cable is connected to FTDI mini-USB (not XDS200 Emulator USB) OR connect 4pin UART cable to COM1: MCU UART connector.rÁ�jZj»�jbj/~jdj¥jf}rÂ�(jh]ji]jj]jk]jn]ujpKØjr]rÃ�j{XˆMake sure your USB cable is connected to FTDI mini-USB (not XDS200 Emulator USB) OR connect 4pin UART cable to COM1: MCU UART connector.rÄ�…�rÅ�}rÆ�(jYjÁ�jZj¿�ubaubaubj/)�rÇ�}rÈ�(jYXPMake sure no HyperTerminal/Console connected to BMC COM port are open or active.jZj|�jbj/~jdj2jf}rÉ�(jh]ji]jj]jk]jn]ujpNjqhjr]rÊ�j¡)�rË�}rÌ�(jYXPMake sure no HyperTerminal/Console connected to BMC COM port are open or active.rÍ�jZjÇ�jbj/~jdj¥jf}rÎ�(jh]ji]jj]jk]jn]ujpKÚjr]rÏ�j{XPMake sure no HyperTerminal/Console connected to BMC COM port are open or active.rÐ�…�rÑ�}rÒ�(jYjÍ�jZjË�ubaubaubj/)�rÓ�}rÔ�(jYX”Use the LM Flash Programmer (available `here `__) to update the firmware, as detailed in the steps below. jZj|�jbj/~jdj2jf}rÕ�(jh]ji]jj]jk]jn]ujpNjqhjr]rÖ�j¡)�r×�}rØ�(jYX“Use the LM Flash Programmer (available `here `__) to update the firmware, as detailed in the steps below.jZjÓ�jbj/~jdj¥jf}rÙ�(jh]ji]jj]jk]jn]ujpKÜjr]rÚ�(j{X'Use the LM Flash Programmer (available rÛ�…�rÜ�}rÝ�(jYX'Use the LM Flash Programmer (available jZj×�ubjÜ)�rÞ�}rß�(jYX3`here `__jf}rà�(UnameXherejX(http://www.ti.com/tool/lmflashprogrammerjk]jj]jh]ji]jn]ujZj×�jr]rá�j{Xhererâ�…�rã�}rä�(jYUjZjÞ�ubajdjàubj{X9) to update the firmware, as detailed in the steps below.rå�…�ræ�}rç�(jYX9) to update the firmware, as detailed in the steps below.jZj×�ubeubaubeubjZ)�rè�}ré�(jYUjZjy€jbj/~jdj]jf}rê�(jh]ji]jj]jk]jn]ujpKàjqhjr]rë�j`)�rì�}rí�(jYUjcKjZjè�jbj/~jdjpjf}rî�(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rï�}rð�(jYX**Perform in-field update:**rñ�jZjy€jbj/~jdj¥jf}rò�(jh]ji]jj]jk]jn]ujpKâjqhjr]ró�jü)�rô�}rõ�(jYjñ�jf}rö�(jh]ji]jj]jk]jn]ujZjï�jr]r÷�j{XPerform in-field update:rø�…�rù�}rú�(jYUjZjô�ubajdjubaubj%)�rû�}rü�(jYUjZjy€jbj/~jdj(jf}rý�(j*U.jk]jj]jh]j+Uji]jn]j,j-ujpKäjqhjr]rþ�(j/)�rÿ�}r‚(jYX­Apply power to the EVM. No LED's will be illuminated and no LCD backlight or characters will be on because the BMC is waiting for a command rather than executing from Flash.jZjû�jbj/~jdj2jf}r‚(jh]ji]jj]jk]jn]ujpNjqhjr]r‚j¡)�r‚}r‚(jYX­Apply power to the EVM. No LED's will be illuminated and no LCD backlight or characters will be on because the BMC is waiting for a command rather than executing from Flash.r‚jZjÿ�jbj/~jdj¥jf}r‚(jh]ji]jj]jk]jn]ujpKäjr]r‚j{X­Apply power to the EVM. No LED's will be illuminated and no LCD backlight or characters will be on because the BMC is waiting for a command rather than executing from Flash.r‚…�r ‚}r ‚(jYj‚jZj‚ubaubaubj/)�r ‚}r ‚(jYX¤Open the LM Flash programmer utility. (Default location Start Menu -> All Programs -> Texas Instruments -> Stellaris -> LM Flash Programmer -> LM Flash Programmer )jZjû�jbj/~jdj2jf}r ‚(jh]ji]jj]jk]jn]ujpNjqhjr]r‚j¡)�r‚}r‚(jYX¤Open the LM Flash programmer utility. (Default location Start Menu -> All Programs -> Texas Instruments -> Stellaris -> LM Flash Programmer -> LM Flash Programmer )r‚jZj ‚jbj/~jdj¥jf}r‚(jh]ji]jj]jk]jn]ujpKçjr]r‚j{X¤Open the LM Flash programmer utility. (Default location Start Menu -> All Programs -> Texas Instruments -> Stellaris -> LM Flash Programmer -> LM Flash Programmer )r‚…�r‚}r‚(jYj‚jZj‚ubaubaubj/)�r‚}r‚(jYX”In the LM Flash Programmer Utility ‘Configuration’ tab, in the interface section, select ‘Serial (UART)’ from the drop-down box on the left.jZjû�jbj/~jdj2jf}r‚(jh]ji]jj]jk]jn]ujpNjqhjr]r‚j¡)�r‚}r‚(jYX”In the LM Flash Programmer Utility ‘Configuration’ tab, in the interface section, select ‘Serial (UART)’ from the drop-down box on the left.r‚jZj‚jbj/~jdj¥jf}r‚(jh]ji]jj]jk]jn]ujpKêjr]r‚j{X”In the LM Flash Programmer Utility ‘Configuration’ tab, in the interface section, select ‘Serial (UART)’ from the drop-down box on the left.r ‚…�r!‚}r"‚(jYj‚jZj‚ubaubaubj/)�r#‚}r$‚(jYXySelect the BMC COM Port (the same COM port used to issue the ver command earlier), and set the ‘Baud Rate’ to 115200.jZjû�jbj/~jdj2jf}r%‚(jh]ji]jj]jk]jn]ujpNjqhjr]r&‚j¡)�r'‚}r(‚(jYXySelect the BMC COM Port (the same COM port used to issue the ver command earlier), and set the ‘Baud Rate’ to 115200.r)‚jZj#‚jbj/~jdj¥jf}r*‚(jh]ji]jj]jk]jn]ujpKíjr]r+‚j{XySelect the BMC COM Port (the same COM port used to issue the ver command earlier), and set the ‘Baud Rate’ to 115200.r,‚…�r-‚}r.‚(jYj)‚jZj'‚ubaubaubj/)�r/‚}r0‚(jYX�Set ‘Transfer Size’ to 60, and make sure ‘Disable Auto Baud Support’ is unchecked. .. image:: ../../../images/LMflashProg_Config.png jZjû�jbNjdj2jf}r1‚(jh]ji]jj]jk]jn]ujpNjqhjr]r2‚(j¡)�r3‚}r4‚(jYXZSet ‘Transfer Size’ to 60, and make sure ‘Disable Auto Baud Support’ is unchecked.r5‚jZj/‚jbj/~jdj¥jf}r6‚(jh]ji]jj]jk]jn]ujpKïjr]r7‚j{XZSet ‘Transfer Size’ to 60, and make sure ‘Disable Auto Baud Support’ is unchecked.r8‚…�r9‚}r:‚(jYj5‚jZj3‚ubaubjB)�r;‚}r<‚(jYX3.. image:: ../../../images/LMflashProg_Config.png jf}r=‚(UuriX+rtos/../../../images/LMflashProg_Config.pngr>‚jk]jj]jh]ji]jH}r?‚U*j>‚sjn]ujZj/‚jr]jdjEubeubj/)�r@‚}rA‚(jYXrIn the ‘Program’ tab, Browse to the location of the binary file containing the firmware update, and select it.jZjû�jbj/~jdj2jf}rB‚(jh]ji]jj]jk]jn]ujpNjqhjr]rC‚j¡)�rD‚}rE‚(jYXrIn the ‘Program’ tab, Browse to the location of the binary file containing the firmware update, and select it.rF‚jZj@‚jbj/~jdj¥jf}rG‚(jh]ji]jj]jk]jn]ujpKôjr]rH‚j{XrIn the ‘Program’ tab, Browse to the location of the binary file containing the firmware update, and select it.rI‚…�rJ‚}rK‚(jYjF‚jZjD‚ubaubaubj/)�rL‚}rM‚(jYXGLeave all other options as default, and press the ‘Program’ button.rN‚jZjû�jbj/~jdj2jf}rO‚(jh]ji]jj]jk]jn]ujpNjqhjr]rP‚j¡)�rQ‚}rR‚(jYjN‚jZjL‚jbj/~jdj¥jf}rS‚(jh]ji]jj]jk]jn]ujpKöjr]rT‚j{XGLeave all other options as default, and press the ‘Program’ button.rU‚…�rV‚}rW‚(jYjN‚jZjQ‚ubaubaubj/)�rX‚}rY‚(jYX7After the programming is complete, power off the board.rZ‚jZjû�jbj/~jdj2jf}r[‚(jh]ji]jj]jk]jn]ujpNjqhjr]r\‚j¡)�r]‚}r^‚(jYjZ‚jZjX‚jbj/~jdj¥jf}r_‚(jh]ji]jj]jk]jn]ujpK÷jr]r`‚j{X7After the programming is complete, power off the board.ra‚…�rb‚}rc‚(jYjZ‚jZj]‚ubaubaubj/)�rd‚}re‚(jYXReconnect the jumper.rf‚jZjû�jbj/~jdj2jf}rg‚(jh]ji]jj]jk]jn]ujpNjqhjr]rh‚j¡)�ri‚}rj‚(jYjf‚jZjd‚jbj/~jdj¥jf}rk‚(jh]ji]jj]jk]jn]ujpKøjr]rl‚j{XReconnect the jumper.rm‚…�rn‚}ro‚(jYjf‚jZji‚ubaubaubj/)�rp‚}rq‚(jYX4Open the HyperTerminal/Console for the BMC COM port.rr‚jZjû�jbj/~jdj2jf}rs‚(jh]ji]jj]jk]jn]ujpNjqhjr]rt‚j¡)�ru‚}rv‚(jYjr‚jZjp‚jbj/~jdj¥jf}rw‚(jh]ji]jj]jk]jn]ujpKùjr]rx‚j{X4Open the HyperTerminal/Console for the BMC COM port.ry‚…�rz‚}r{‚(jYjr‚jZju‚ubaubaubj/)�r|‚}r}‚(jYXqApply power to the EVM. When BMC completes initialization of board it will show latest version of BMC in Console.jZjû�jbj/~jdj2jf}r~‚(jh]ji]jj]jk]jn]ujpNjqhjr]r‚j¡)�r€‚}r�‚(jYXqApply power to the EVM. When BMC completes initialization of board it will show latest version of BMC in Console.r‚‚jZj|‚jbj/~jdj¥jf}rƒ‚(jh]ji]jj]jk]jn]ujpKújr]r„‚j{XqApply power to the EVM. When BMC completes initialization of board it will show latest version of BMC in Console.r…‚…�r†‚}r‡‚(jYj‚‚jZj€‚ubaubaubj/)�rˆ‚}r‰‚(jYXKIf step 9 was done after power was applied, just type "ver" at BMC prompt. jZjû�jbj/~jdj2jf}rŠ‚(jh]ji]jj]jk]jn]ujpNjqhjr]r‹‚j¡)�rŒ‚}r�‚(jYXJIf step 9 was done after power was applied, just type "ver" at BMC prompt.rŽ‚jZjˆ‚jbj/~jdj¥jf}r�‚(jh]ji]jj]jk]jn]ujpKüjr]r�‚j{XJIf step 9 was done after power was applied, just type "ver" at BMC prompt.r‘‚…�r’‚}r“‚(jYjŽ‚jZjŒ‚ubaubaubeubjB)�r”‚}r•‚(jYX%.. image:: ../../../images/K2EVM.jpg jZjy€jbj/~jdjEjf}r–‚(UuriXrtos/../../../images/K2EVM.jpgr—‚jk]jj]jh]ji]jH}r˜‚U*j—‚sjn]ujpMjqhjr]ubeubj[)�r™‚}rš‚(jYUjìKjZj,~jbj/~jdjejf}r›‚(jh]rœ‚jÐwaji]jj]jk]r�‚Uid67rž‚ajn]ujpMjqhjr]rŸ‚(jt)�r ‚}r¡‚(jYX&DIP Switch and Bootmode Configurationsr¢‚jZj™‚jbj/~jdjxjf}r£‚(jh]ji]jj]jk]jn]ujpMjqhjr]r¤‚j{X&DIP Switch and Bootmode Configurationsr¥‚…�r¦‚}r§‚(jYj¢‚jZj ‚ubaubj–)�r¨‚}r©‚(jYX.. _BootModeConfiguration:jìKjZj™‚jbj/~jdj™jf}rª‚(jk]jj]jh]ji]jn]jâUbootmodeconfigurationr«‚ujpMK#jqhjr]ubj[)�r¬‚}r­‚(jYUjìKjZj™‚jbj/~jÄ}r®‚hDj¨‚sjdjejf}r¯‚(jh]ji]jj]jk]r°‚(U-rev-1-0-evm-sw1-switch-bootmode-configurationr±‚j«‚ejn]r²‚(j?hDeujpMjqhjÉ}r³‚j«‚j¨‚sjr]r´‚(jt)�rµ‚}r¶‚(jYX-Rev 1.0 EVM SW1 switch Bootmode Configurationr·‚jZj¬‚jbj/~jdjxjf}r¸‚(jh]ji]jj]jk]jn]ujpMjqhjr]r¹‚j{X-Rev 1.0 EVM SW1 switch Bootmode Configurationrº‚…�r»‚}r¼‚(jYj·‚jZjµ‚ubaubjZ)�r½‚}r¾‚(jYUjZj¬‚jbj/~jdj]jf}r¿‚(jh]ji]jj]jk]jn]ujpM jqhjr]rÀ‚j`)�rÁ‚}r‚(jYXFThe table below shows the bootmode combinations for the BMC v1.0.1.3a.rÂjcKjZj½‚jbj/~jdjpjf}rÄ‚(jh]ji]jj]jk]jn]ujpM jqhjr]rÅ‚j{XFThe table below shows the bootmode combinations for the BMC v1.0.1.3a.rÆ‚…�rÇ‚}rÈ‚(jYjÂjZjÁ‚ubaubaubjd$)�rÉ‚}rÊ‚(jYUjZj¬‚jbj/~jdjg$jf}rË‚(jh]ji]jj]jk]jn]ujpNjqhjr]rÌ‚jj$)�rÍ‚}r΂(jYUjf}rÏ‚(jk]jj]jh]ji]jn]UcolsKujZjÉ‚jr]rЂ(jo$)�rÑ‚}rÒ‚(jYUjf}rÓ‚(jk]jj]jh]ji]jn]UcolwidthKujZjÍ‚jr]jdjs$ubjo$)�rÔ‚}rÕ‚(jYUjf}rÖ‚(jk]jj]jh]ji]jn]UcolwidthKujZjÍ‚jr]jdjs$ubjz$)�rׂ}rØ‚(jYUjf}rÙ‚(jh]ji]jj]jk]jn]ujZjÍ‚jr]rÚ‚j$)�rÛ‚}rÜ‚(jYUjf}rÝ‚(jh]ji]jj]jk]jn]ujZjׂjr]rÞ‚(j„$)�rß‚}rà‚(jYUjf}rá‚(jh]ji]jj]jk]jn]ujZjÛ‚jr]râ‚j¡)�rã‚}rä‚(jYXDIP Switch (p1, p2, p3, p4)rå‚jZjß‚jbj/~jdj¥jf}ræ‚(jh]ji]jj]jk]jn]ujpM jr]rç‚j{XDIP Switch (p1, p2, p3, p4)rè‚…�ré‚}rê‚(jYjå‚jZjã‚ubaubajdj‘$ubj„$)�rë‚}rì‚(jYUjf}rí‚(jh]ji]jj]jk]jn]ujZjÛ‚jr]rî‚j¡)�rï‚}rð‚(jYXBootmoderñ‚jZjë‚jbj/~jdj¥jf}rò‚(jh]ji]jj]jk]jn]ujpM jr]ró‚j{XBootmoderô‚…�rõ‚}rö‚(jYjñ‚jZjï‚ubaubajdj‘$ubejdjª$ubajdj«$ubj¬$)�r÷‚}rø‚(jYUjf}rù‚(jh]ji]jj]jk]jn]ujZjÍ‚jr]rú‚(j$)�rû‚}rü‚(jYUjf}rý‚(jh]ji]jj]jk]jn]ujZj÷‚jr]rþ‚(j„$)�rÿ‚}rƒ(jYUjf}rƒ(jh]ji]jj]jk]jn]ujZjû‚jr]rƒj¡)�rƒ}rƒ(jYX0000rƒjZjÿ‚jbj/~jdj¥jf}rƒ(jh]ji]jj]jk]jn]ujpMjr]rƒj{X0000rƒ…�r ƒ}r ƒ(jYjƒjZjƒubaubajdj‘$ubj„$)�r ƒ}r ƒ(jYUjf}r ƒ(jh]ji]jj]jk]jn]ujZjû‚jr]rƒj¡)�rƒ}rƒ(jYXARM NANDrƒjZj ƒjbj/~jdj¥jf}rƒ(jh]ji]jj]jk]jn]ujpMjr]rƒj{XARM NANDrƒ…�rƒ}rƒ(jYjƒjZjƒubaubajdj‘$ubejdjª$ubj$)�rƒ}rƒ(jYUjf}rƒ(jh]ji]jj]jk]jn]ujZj÷‚jr]rƒ(j„$)�rƒ}rƒ(jYUjf}rƒ(jh]ji]jj]jk]jn]ujZjƒjr]rƒj¡)�rƒ}r ƒ(jYX0001r!ƒjZjƒjbj/~jdj¥jf}r"ƒ(jh]ji]jj]jk]jn]ujpMjr]r#ƒj{X0001r$ƒ…�r%ƒ}r&ƒ(jYj!ƒjZjƒubaubajdj‘$ubj„$)�r'ƒ}r(ƒ(jYUjf}r)ƒ(jh]ji]jj]jk]jn]ujZjƒjr]r*ƒj¡)�r+ƒ}r,ƒ(jYX DSP no-bootr-ƒjZj'ƒjbj/~jdj¥jf}r.ƒ(jh]ji]jj]jk]jn]ujpMjr]r/ƒj{X DSP no-bootr0ƒ…�r1ƒ}r2ƒ(jYj-ƒjZj+ƒubaubajdj‘$ubejdjª$ubj$)�r3ƒ}r4ƒ(jYUjf}r5ƒ(jh]ji]jj]jk]jn]ujZj÷‚jr]r6ƒ(j„$)�r7ƒ}r8ƒ(jYUjf}r9ƒ(jh]ji]jj]jk]jn]ujZj3ƒjr]r:ƒj¡)�r;ƒ}r<ƒ(jYX0010r=ƒjZj7ƒjbj/~jdj¥jf}r>ƒ(jh]ji]jj]jk]jn]ujpMjr]r?ƒj{X0010r@ƒ…�rAƒ}rBƒ(jYj=ƒjZj;ƒubaubajdj‘$ubj„$)�rCƒ}rDƒ(jYUjf}rEƒ(jh]ji]jj]jk]jn]ujZj3ƒjr]rFƒj¡)�rGƒ}rHƒ(jYXARM SPIrIƒjZjCƒjbj/~jdj¥jf}rJƒ(jh]ji]jj]jk]jn]ujpMjr]rKƒj{XARM SPIrLƒ…�rMƒ}rNƒ(jYjIƒjZjGƒubaubajdj‘$ubejdjª$ubj$)�rOƒ}rPƒ(jYUjf}rQƒ(jh]ji]jj]jk]jn]ujZj÷‚jr]rRƒ(j„$)�rSƒ}rTƒ(jYUjf}rUƒ(jh]ji]jj]jk]jn]ujZjOƒjr]rVƒj¡)�rWƒ}rXƒ(jYX0011rYƒjZjSƒjbj/~jdj¥jf}rZƒ(jh]ji]jj]jk]jn]ujpMjr]r[ƒj{X0011r\ƒ…�r]ƒ}r^ƒ(jYjYƒjZjWƒubaubajdj‘$ubj„$)�r_ƒ}r`ƒ(jYUjf}raƒ(jh]ji]jj]jk]jn]ujZjOƒjr]rbƒj¡)�rcƒ}rdƒ(jYXARM I2CreƒjZj_ƒjbj/~jdj¥jf}rfƒ(jh]ji]jj]jk]jn]ujpMjr]rgƒj{XARM I2Crhƒ…�riƒ}rjƒ(jYjeƒjZjcƒubaubajdj‘$ubejdjª$ubj$)�rkƒ}rlƒ(jYUjf}rmƒ(jh]ji]jj]jk]jn]ujZj÷‚jr]rnƒ(j„$)�roƒ}rpƒ(jYUjf}rqƒ(jh]ji]jj]jk]jn]ujZjkƒjr]rrƒj¡)�rsƒ}rtƒ(jYX0100ruƒjZjoƒjbj/~jdj¥jf}rvƒ(jh]ji]jj]jk]jn]ujpMjr]rwƒj{X0100rxƒ…�ryƒ}rzƒ(jYjuƒjZjsƒubaubajdj‘$ubj„$)�r{ƒ}r|ƒ(jYUjf}r}ƒ(jh]ji]jj]jk]jn]ujZjkƒjr]r~ƒj¡)�rƒ}r€ƒ(jYXARM UARTr�ƒjZj{ƒjbj/~jdj¥jf}r‚ƒ(jh]ji]jj]jk]jn]ujpMjr]rƒƒj{XARM UARTr„ƒ…�r…ƒ}r†ƒ(jYj�ƒjZjƒubaubajdj‘$ubejdjª$ubj$)�r‡ƒ}rˆƒ(jYUjf}r‰ƒ(jh]ji]jj]jk]jn]ujZj÷‚jr]rŠƒ(j„$)�r‹ƒ}rŒƒ(jYUjf}r�ƒ(jh]ji]jj]jk]jn]ujZj‡ƒjr]rŽƒj¡)�r�ƒ}r�ƒ(jYX0101r‘ƒjZj‹ƒjbj/~jdj¥jf}r’ƒ(jh]ji]jj]jk]jn]ujpMjr]r“ƒj{X0101r”ƒ…�r•ƒ}r–ƒ(jYj‘ƒjZj�ƒubaubajdj‘$ubj„$)�r—ƒ}r˜ƒ(jYUjf}r™ƒ(jh]ji]jj]jk]jn]ujZj‡ƒjr]ršƒj¡)�r›ƒ}rœƒ(jYXReservedr�ƒjZj—ƒjbj/~jdj¥jf}ržƒ(jh]ji]jj]jk]jn]ujpMjr]rŸƒj{XReservedr ƒ…�r¡ƒ}r¢ƒ(jYj�ƒjZj›ƒubaubajdj‘$ubejdjª$ubj$)�r£ƒ}r¤ƒ(jYUjf}r¥ƒ(jh]ji]jj]jk]jn]ujZj÷‚jr]r¦ƒ(j„$)�r§ƒ}r¨ƒ(jYUjf}r©ƒ(jh]ji]jj]jk]jn]ujZj£ƒjr]rªƒj¡)�r«ƒ}r¬ƒ(jYX0110r­ƒjZj§ƒjbj/~jdj¥jf}r®ƒ(jh]ji]jj]jk]jn]ujpMjr]r¯ƒj{X0110r°ƒ…�r±ƒ}r²ƒ(jYj­ƒjZj«ƒubaubajdj‘$ubj„$)�r³ƒ}r´ƒ(jYUjf}rµƒ(jh]ji]jj]jk]jn]ujZj£ƒjr]r¶ƒj¡)�r·ƒ}r¸ƒ(jYXReservedr¹ƒjZj³ƒjbj/~jdj¥jf}rºƒ(jh]ji]jj]jk]jn]ujpMjr]r»ƒj{XReservedr¼ƒ…�r½ƒ}r¾ƒ(jYj¹ƒjZj·ƒubaubajdj‘$ubejdjª$ubj$)�r¿ƒ}rÀƒ(jYUjf}rÁƒ(jh]ji]jj]jk]jn]ujZj÷‚jr]rƒ(j„$)�rÃ}ră(jYUjf}rŃ(jh]ji]jj]jk]jn]ujZj¿ƒjr]rƃj¡)�rǃ}rȃ(jYX0111rɃjZjÃjbj/~jdj¥jf}rʃ(jh]ji]jj]jk]jn]ujpMjr]r˃j{X0111r̃…�r̓}r΃(jYjɃjZjǃubaubajdj‘$ubj„$)�rσ}rЃ(jYUjf}rу(jh]ji]jj]jk]jn]ujZj¿ƒjr]rÒƒj¡)�rÓƒ}rÔƒ(jYXReservedrÕƒjZjσjbj/~jdj¥jf}rÖƒ(jh]ji]jj]jk]jn]ujpMjr]r׃j{XReservedr؃…�rÙƒ}rÚƒ(jYjÕƒjZjÓƒubaubajdj‘$ubejdjª$ubj$)�rÛƒ}r܃(jYUjf}r݃(jh]ji]jj]jk]jn]ujZj÷‚jr]rÞƒ(j„$)�r߃}ràƒ(jYUjf}ráƒ(jh]ji]jj]jk]jn]ujZjÛƒjr]râƒj¡)�rãƒ}räƒ(jYX1000råƒjZj߃jbj/~jdj¥jf}ræƒ(jh]ji]jj]jk]jn]ujpMjr]rçƒj{X1000r胅�réƒ}rêƒ(jYjåƒjZjãƒubaubajdj‘$ubj„$)�rëƒ}rìƒ(jYUjf}ríƒ(jh]ji]jj]jk]jn]ujZjÛƒjr]rîƒj¡)�rïƒ}rðƒ(jYXReservedrñƒjZjëƒjbj/~jdj¥jf}ròƒ(jh]ji]jj]jk]jn]ujpMjr]róƒj{XReservedrôƒ…�rõƒ}röƒ(jYjñƒjZjïƒubaubajdj‘$ubejdjª$ubj$)�r÷ƒ}røƒ(jYUjf}rùƒ(jh]ji]jj]jk]jn]ujZj÷‚jr]rúƒ(j„$)�rûƒ}rüƒ(jYUjf}rýƒ(jh]ji]jj]jk]jn]ujZj÷ƒjr]rþƒj¡)�rÿƒ}r„(jYX1001r„jZjûƒjbj/~jdj¥jf}r„(jh]ji]jj]jk]jn]ujpM!jr]r„j{X1001r„…�r„}r„(jYj„jZjÿƒubaubajdj‘$ubj„$)�r„}r„(jYUjf}r „(jh]ji]jj]jk]jn]ujZj÷ƒjr]r „j¡)�r „}r „(jYXReserved\ :sup:`[1]`jZj„jbj/~jdj¥jf}r „(jh]ji]jj]jk]jn]ujpM!jr]r„(j{XReservedr„…�r„}r„(jYX Reserved\ jZj „ubcdocutils.nodes superscript r„)�r„}r„(jYX :sup:`[1]`jf}r„(jh]ji]jj]jk]jn]ujZj „jr]r„j{X[1]r„…�r„}r„(jYUjZj„ubajdU superscriptr„ubeubajdj‘$ubejdjª$ubj$)�r„}r„(jYUjf}r„(jh]ji]jj]jk]jn]ujZj÷‚jr]r„(j„$)�r„}r „(jYUjf}r!„(jh]ji]jj]jk]jn]ujZj„jr]r"„j¡)�r#„}r$„(jYX1010r%„jZj„jbj/~jdj¥jf}r&„(jh]ji]jj]jk]jn]ujpM#jr]r'„j{X1010r(„…�r)„}r*„(jYj%„jZj#„ubaubajdj‘$ubj„$)�r+„}r,„(jYUjf}r-„(jh]ji]jj]jk]jn]ujZj„jr]r.„j¡)�r/„}r0„(jYXReservedr1„jZj+„jbj/~jdj¥jf}r2„(jh]ji]jj]jk]jn]ujpM#jr]r3„j{XReservedr4„…�r5„}r6„(jYj1„jZj/„ubaubajdj‘$ubejdjª$ubj$)�r7„}r8„(jYUjf}r9„(jh]ji]jj]jk]jn]ujZj÷‚jr]r:„(j„$)�r;„}r<„(jYUjf}r=„(jh]ji]jj]jk]jn]ujZj7„jr]r>„j¡)�r?„}r@„(jYX1011rA„jZj;„jbj/~jdj¥jf}rB„(jh]ji]jj]jk]jn]ujpM%jr]rC„j{X1011rD„…�rE„}rF„(jYjA„jZj?„ubaubajdj‘$ubj„$)�rG„}rH„(jYUjf}rI„(jh]ji]jj]jk]jn]ujZj7„jr]rJ„j¡)�rK„}rL„(jYXReservedrM„jZjG„jbj/~jdj¥jf}rN„(jh]ji]jj]jk]jn]ujpM%jr]rO„j{XReservedrP„…�rQ„}rR„(jYjM„jZjK„ubaubajdj‘$ubejdjª$ubj$)�rS„}rT„(jYUjf}rU„(jh]ji]jj]jk]jn]ujZj÷‚jr]rV„(j„$)�rW„}rX„(jYUjf}rY„(jh]ji]jj]jk]jn]ujZjS„jr]rZ„j¡)�r[„}r\„(jYX1100r]„jZjW„jbj/~jdj¥jf}r^„(jh]ji]jj]jk]jn]ujpM'jr]r_„j{X1100r`„…�ra„}rb„(jYj]„jZj[„ubaubajdj‘$ubj„$)�rc„}rd„(jYUjf}re„(jh]ji]jj]jk]jn]ujZjS„jr]rf„j¡)�rg„}rh„(jYXReservedri„jZjc„jbj/~jdj¥jf}rj„(jh]ji]jj]jk]jn]ujpM'jr]rk„j{XReservedrl„…�rm„}rn„(jYji„jZjg„ubaubajdj‘$ubejdjª$ubj$)�ro„}rp„(jYUjf}rq„(jh]ji]jj]jk]jn]ujZj÷‚jr]rr„(j„$)�rs„}rt„(jYUjf}ru„(jh]ji]jj]jk]jn]ujZjo„jr]rv„j¡)�rw„}rx„(jYX1101ry„jZjs„jbj/~jdj¥jf}rz„(jh]ji]jj]jk]jn]ujpM)jr]r{„j{X1101r|„…�r}„}r~„(jYjy„jZjw„ubaubajdj‘$ubj„$)�r„}r€„(jYUjf}r�„(jh]ji]jj]jk]jn]ujZjo„jr]r‚„j¡)�rƒ„}r„„(jYXReservedr…„jZj„jbj/~jdj¥jf}r†„(jh]ji]jj]jk]jn]ujpM)jr]r‡„j{XReservedrˆ„…�r‰„}rŠ„(jYj…„jZjƒ„ubaubajdj‘$ubejdjª$ubj$)�r‹„}rŒ„(jYUjf}r�„(jh]ji]jj]jk]jn]ujZj÷‚jr]rŽ„(j„$)�r�„}r�„(jYUjf}r‘„(jh]ji]jj]jk]jn]ujZj‹„jr]r’„j¡)�r“„}r”„(jYX1110r•„jZj�„jbj/~jdj¥jf}r–„(jh]ji]jj]jk]jn]ujpM+jr]r—„j{X1110r˜„…�r™„}rš„(jYj•„jZj“„ubaubajdj‘$ubj„$)�r›„}rœ„(jYUjf}r�„(jh]ji]jj]jk]jn]ujZj‹„jr]rž„j¡)�rŸ„}r „(jYXReservedr¡„jZj›„jbj/~jdj¥jf}r¢„(jh]ji]jj]jk]jn]ujpM+jr]r£„j{XReservedr¤„…�r¥„}r¦„(jYj¡„jZjŸ„ubaubajdj‘$ubejdjª$ubj$)�r§„}r¨„(jYUjf}r©„(jh]ji]jj]jk]jn]ujZj÷‚jr]rª„(j„$)�r«„}r¬„(jYUjf}r­„(jh]ji]jj]jk]jn]ujZj§„jr]r®„j¡)�r¯„}r°„(jYX1111r±„jZj«„jbj/~jdj¥jf}r²„(jh]ji]jj]jk]jn]ujpM-jr]r³„j{X1111r´„…�rµ„}r¶„(jYj±„jZj¯„ubaubajdj‘$ubj„$)�r·„}r¸„(jYUjf}r¹„(jh]ji]jj]jk]jn]ujZj§„jr]rº„j¡)�r»„}r¼„(jYXReservedr½„jZj·„jbj/~jdj¥jf}r¾„(jh]ji]jj]jk]jn]ujpM-jr]r¿„j{XReservedrÀ„…�rÁ„}r„(jYj½„jZj»„ubaubajdj‘$ubejdjª$ubejdjy%ubejdjz%ubaubj¡)�rÄ}rÄ„(jYXg:sup:`[1]`\ In revision BMC v1.0.1.4 this is 10 MHz SPI NOR. This will not continue in future versions.jZj¬‚jbj/~jdj¥jf}rÅ„(jh]ji]jj]jk]jn]ujpM0jqhjr]rÆ„(j„)�rÇ„}rÈ„(jYX :sup:`[1]`jf}rÉ„(jh]ji]jj]jk]jn]ujZjÄjr]rÊ„j{X[1]rË„…�rÌ„}rÍ„(jYUjZjÇ„ubajdj„ubj{X[In revision BMC v1.0.1.4 this is 10 MHz SPI NOR. This will not continue in future versions.r΄…�rÏ„}rЄ(jYX]\ In revision BMC v1.0.1.4 this is 10 MHz SPI NOR. This will not continue in future versions.jZjÄubeubeubj[)�rÑ„}rÒ„(jYUjZj™‚jbj/~jdjejf}rÓ„(jh]ji]jj]jk]rÔ„Uchanging-the-bootmoderÕ„ajn]rÖ„h�aujpM4jqhjr]rׄ(jt)�rØ„}rÙ„(jYXChanging the BootmoderÚ„jZjÑ„jbj/~jdjxjf}rÛ„(jh]ji]jj]jk]jn]ujpM4jqhjr]rÜ„j{XChanging the BootmoderÝ„…�rÞ„}rß„(jYjÚ„jZjØ„ubaubj¡)�rà„}rá„(jYXøIn BMC v1.0.1.x the only way to use a bootmode that is not supported by the DIP switch combinations is to use the 'setboot' and 'fullrst' commands. To set the bootmode use the setboot command, which takes a 32 bit value in hex as its only argument:râ„jZjÑ„jbj/~jdj¥jf}rã„(jh]ji]jj]jk]jn]ujpM6jqhjr]rä„j{XøIn BMC v1.0.1.x the only way to use a bootmode that is not supported by the DIP switch combinations is to use the 'setboot' and 'fullrst' commands. To set the bootmode use the setboot command, which takes a 32 bit value in hex as its only argument:rå„…�ræ„}rç„(jYjâ„jZjà„ubaubj)�rè„}ré„(jYXsetboot 00110CE7jZjÑ„jbj/~jdjjf}rê„(jöj÷jk]jj]jh]ji]jn]ujpM„#jqhjr]rë„j{Xsetboot 00110CE7rì„…�rí„}rî„(jYUjZjè„ubaubj¡)�rï„}rð„(jYX@Then use the fullrst command to boot the SoC into this bootmode:rñ„jZjÑ„jbj/~jdj¥jf}rò„(jh]ji]jj]jk]jn]ujpM?jqhjr]ró„j{X@Then use the fullrst command to boot the SoC into this bootmode:rô„…�rõ„}rö„(jYjñ„jZjï„ubaubj)�r÷„}rø„(jYXfullrstjZjÑ„jbj/~jdjjf}rù„(jöj÷jk]jj]jh]ji]jn]ujpMŠ#jqhjr]rú„j{Xfullrstrû„…�rü„}rý„(jYUjZj÷„ubaubj¡)�rþ„}rÿ„(jYX\This process is volatile, and will have to be repeated every time the board is power cycled.r…jZjÑ„jbj/~jdj¥jf}r…(jh]ji]jj]jk]jn]ujpMEjqhjr]r…j{X\This process is volatile, and will have to be repeated every time the board is power cycled.r……�r…}r…(jYj…jZjþ„ubaubj¡)�r…}r…(jYXÁIn BMC v1.0.2.x the setboot command has been removed. It has been replaced with the bootmode command, which performs various functions depending on the way in which the command is used. The command works with 16 bootmodes, which are representative of the various DIP switch combinations; the bootmodes are numbered 0 - 15. Bootmodes 8 - 15 are User-Defined, and may be altered and stored using the command (explained below). Each bootmode consists of a title, a high value, and a low value. The high value is currently not used. The low value is a 32 bit value in hex, and is the same as the value previously used by setboot. The bits of low value (and the setboot argument) are shown in the table below).r…jZjÑ„jbj/~jdj¥jf}r …(jh]ji]jj]jk]jn]ujpMHjqhjr]r …j{XÁIn BMC v1.0.2.x the setboot command has been removed. It has been replaced with the bootmode command, which performs various functions depending on the way in which the command is used. The command works with 16 bootmodes, which are representative of the various DIP switch combinations; the bootmodes are numbered 0 - 15. Bootmodes 8 - 15 are User-Defined, and may be altered and stored using the command (explained below). Each bootmode consists of a title, a high value, and a low value. The high value is currently not used. The low value is a 32 bit value in hex, and is the same as the value previously used by setboot. The bits of low value (and the setboot argument) are shown in the table below).r ……�r …}r …(jYj…jZj…ubaubjd$)�r…}r…(jYUjZjÑ„jbj/~jdjg$jf}r…(jh]ji]jj]jk]jn]ujpNjqhjr]r…jj$)�r…}r…(jYUjf}r…(jk]jj]jh]ji]jn]UcolsKujZj…jr]r…(jo$)�r…}r…(jYUjf}r…(jk]jj]jh]ji]jn]UcolwidthKujZj…jr]jdjs$ubjo$)�r…}r…(jYUjf}r…(jk]jj]jh]ji]jn]UcolwidthKujZj…jr]jdjs$ubjo$)�r…}r…(jYUjf}r…(jk]jj]jh]ji]jn]UcolwidthKujZj…jr]jdjs$ubjo$)�r…}r …(jYUjf}r!…(jk]jj]jh]ji]jn]UcolwidthKujZj…jr]jdjs$ubjo$)�r"…}r#…(jYUjf}r$…(jk]jj]jh]ji]jn]UcolwidthK@ujZj…jr]jdjs$ubjz$)�r%…}r&…(jYUjf}r'…(jh]ji]jj]jk]jn]ujZj…jr]r(…j$)�r)…}r*…(jYUjf}r+…(jh]ji]jj]jk]jn]ujZj%…jr]r,…(j„$)�r-…}r.…(jYUjf}r/…(jh]ji]jj]jk]jn]ujZj)…jr]r0…j¡)�r1…}r2…(jYXBitr3…jZj-…jbj/~jdj¥jf}r4…(jh]ji]jj]jk]jn]ujpMUjr]r5…j{XBitr6……�r7…}r8…(jYj3…jZj1…ubaubajdj‘$ubj„$)�r9…}r:…(jYUjf}r;…(jh]ji]jj]jk]jn]ujZj)…jr]r<…j¡)�r=…}r>…(jYX Devstat Bitr?…jZj9…jbj/~jdj¥jf}r@…(jh]ji]jj]jk]jn]ujpMUjr]rA…j{X Devstat BitrB……�rC…}rD…(jYj?…jZj=…ubaubajdj‘$ubj„$)�rE…}rF…(jYUjf}rG…(jh]ji]jj]jk]jn]ujZj)…jr]rH…j¡)�rI…}rJ…(jYXConfig Pin FunctionrK…jZjE…jbj/~jdj¥jf}rL…(jh]ji]jj]jk]jn]ujpMUjr]rM…j{XConfig Pin FunctionrN……�rO…}rP…(jYjK…jZjI…ubaubajdj‘$ubj„$)�rQ…}rR…(jYUjf}rS…(jh]ji]jj]jk]jn]ujZj)…jr]rT…j¡)�rU…}rV…(jYXNormal Pin FunctionrW…jZjQ…jbj/~jdj¥jf}rX…(jh]ji]jj]jk]jn]ujpMUjr]rY…j{XNormal Pin FunctionrZ……�r[…}r\…(jYjW…jZjU…ubaubajdj‘$ubj„$)�r]…}r^…(jYUjf}r_…(jh]ji]jj]jk]jn]ujZj)…jr]r`…j¡)�ra…}rb…(jYXCommentsrc…jZj]…jbj/~jdj¥jf}rd…(jh]ji]jj]jk]jn]ujpMUjr]re…j{XCommentsrf……�rg…}rh…(jYjc…jZja…ubaubajdj‘$ubejdjª$ubajdj«$ubj¬$)�ri…}rj…(jYUjf}rk…(jh]ji]jj]jk]jn]ujZj…jr]rl…(j$)�rm…}rn…(jYUjf}ro…(jh]ji]jj]jk]jn]ujZji…jr]rp…(j„$)�rq…}rr…(jYUjf}rs…(jh]ji]jj]jk]jn]ujZjm…jr]rt…j¡)�ru…}rv…(jYX31rw…jZjq…jbj/~jdj¥jf}rx…(jh]ji]jj]jk]jn]ujpMWjr]ry…j{X31rz……�r{…}r|…(jYjw…jZju…ubaubajdj‘$ubj„$)�r}…}r~…(jYUjf}r…(jh]ji]jj]jk]jn]ujZjm…jr]jdj‘$ubj„$)�r€…}r�…(jYUjf}r‚…(jh]ji]jj]jk]jn]ujZjm…jr]jdj‘$ubj„$)�rƒ…}r„…(jYUjf}r……(jh]ji]jj]jk]jn]ujZjm…jr]jdj‘$ubj„$)�r†…}r‡…(jYUjf}rˆ…(jh]ji]jj]jk]jn]ujZjm…jr]r‰…j¡)�rŠ…}r‹…(jYXReservedrŒ…jZj†…jbj/~jdj¥jf}r�…(jh]ji]jj]jk]jn]ujpMWjr]rŽ…j{XReservedr�……�r�…}r‘…(jYjŒ…jZjŠ…ubaubajdj‘$ubejdjª$ubj$)�r’…}r“…(jYUjf}r”…(jh]ji]jj]jk]jn]ujZji…jr]r•…(j„$)�r–…}r—…(jYUjf}r˜…(jh]ji]jj]jk]jn]ujZj’…jr]r™…j¡)�rš…}r›…(jYX30rœ…jZj–…jbj/~jdj¥jf}r�…(jh]ji]jj]jk]jn]ujpMYjr]rž…j{X30rŸ……�r …}r¡…(jYjœ…jZjš…ubaubajdj‘$ubj„$)�r¢…}r£…(jYUjf}r¤…(jh]ji]jj]jk]jn]ujZj’…jr]jdj‘$ubj„$)�r¥…}r¦…(jYUjf}r§…(jh]ji]jj]jk]jn]ujZj’…jr]jdj‘$ubj„$)�r¨…}r©…(jYUjf}rª…(jh]ji]jj]jk]jn]ujZj’…jr]jdj‘$ubj„$)�r«…}r¬…(jYUjf}r­…(jh]ji]jj]jk]jn]ujZj’…jr]r®…j¡)�r¯…}r°…(jYXReservedr±…jZj«…jbj/~jdj¥jf}r²…(jh]ji]jj]jk]jn]ujpMYjr]r³…j{XReservedr´……�rµ…}r¶…(jYj±…jZj¯…ubaubajdj‘$ubejdjª$ubj$)�r·…}r¸…(jYUjf}r¹…(jh]ji]jj]jk]jn]ujZji…jr]rº…(j„$)�r»…}r¼…(jYUjf}r½…(jh]ji]jj]jk]jn]ujZj·…jr]r¾…j¡)�r¿…}rÀ…(jYX29rÁ…jZj»…jbj/~jdj¥jf}rÂ…(jh]ji]jj]jk]jn]ujpM[jr]rÃ…j{X29rÄ……�rÅ…}rÆ…(jYjÁ…jZj¿…ubaubajdj‘$ubj„$)�rÇ…}rÈ…(jYUjf}rÉ…(jh]ji]jj]jk]jn]ujZj·…jr]jdj‘$ubj„$)�rÊ…}rË…(jYUjf}rÌ…(jh]ji]jj]jk]jn]ujZj·…jr]jdj‘$ubj„$)�rÍ…}rÎ…(jYUjf}rÏ…(jh]ji]jj]jk]jn]ujZj·…jr]jdj‘$ubj„$)�rÐ…}rÑ…(jYUjf}rÒ…(jh]ji]jj]jk]jn]ujZj·…jr]rÓ…j¡)�rÔ…}rÕ…(jYXReservedrÖ…jZjÐ…jbj/~jdj¥jf}r×…(jh]ji]jj]jk]jn]ujpM[jr]rØ…j{XReservedrÙ……�rÚ…}rÛ…(jYjÖ…jZjÔ…ubaubajdj‘$ubejdjª$ubj$)�rÜ…}rÝ…(jYUjf}rÞ…(jh]ji]jj]jk]jn]ujZji…jr]rß…(j„$)�rà…}rá…(jYUjf}râ…(jh]ji]jj]jk]jn]ujZjÜ…jr]rã…j¡)�rä…}rå…(jYX28ræ…jZjà…jbj/~jdj¥jf}rç…(jh]ji]jj]jk]jn]ujpM]jr]rè…j{X28ré……�rê…}rë…(jYjæ…jZjä…ubaubajdj‘$ubj„$)�rì…}rí…(jYUjf}rî…(jh]ji]jj]jk]jn]ujZjÜ…jr]jdj‘$ubj„$)�rï…}rð…(jYUjf}rñ…(jh]ji]jj]jk]jn]ujZjÜ…jr]jdj‘$ubj„$)�rò…}ró…(jYUjf}rô…(jh]ji]jj]jk]jn]ujZjÜ…jr]jdj‘$ubj„$)�rõ…}rö…(jYUjf}r÷…(jh]ji]jj]jk]jn]ujZjÜ…jr]rø…j¡)�rù…}rú…(jYXReservedrû…jZjõ…jbj/~jdj¥jf}rü…(jh]ji]jj]jk]jn]ujpM]jr]rý…j{XReservedrþ……�rÿ…}r†(jYjû…jZjù…ubaubajdj‘$ubejdjª$ubj$)�r†}r†(jYUjf}r†(jh]ji]jj]jk]jn]ujZji…jr]r†(j„$)�r†}r†(jYUjf}r†(jh]ji]jj]jk]jn]ujZj†jr]r†j¡)�r †}r †(jYX27r †jZj†jbj/~jdj¥jf}r †(jh]ji]jj]jk]jn]ujpM_jr]r †j{X27r†…�r†}r†(jYj †jZj †ubaubajdj‘$ubj„$)�r†}r†(jYUjf}r†(jh]ji]jj]jk]jn]ujZj†jr]jdj‘$ubj„$)�r†}r†(jYUjf}r†(jh]ji]jj]jk]jn]ujZj†jr]jdj‘$ubj„$)�r†}r†(jYUjf}r†(jh]ji]jj]jk]jn]ujZj†jr]jdj‘$ubj„$)�r†}r†(jYUjf}r†(jh]ji]jj]jk]jn]ujZj†jr]r†j¡)�r†}r†(jYXReservedr †jZj†jbj/~jdj¥jf}r!†(jh]ji]jj]jk]jn]ujpM_jr]r"†j{XReservedr#†…�r$†}r%†(jYj †jZj†ubaubajdj‘$ubejdjª$ubj$)�r&†}r'†(jYUjf}r(†(jh]ji]jj]jk]jn]ujZji…jr]r)†(j„$)�r*†}r+†(jYUjf}r,†(jh]ji]jj]jk]jn]ujZj&†jr]r-†j¡)�r.†}r/†(jYX26r0†jZj*†jbj/~jdj¥jf}r1†(jh]ji]jj]jk]jn]ujpMajr]r2†j{X26r3†…�r4†}r5†(jYj0†jZj.†ubaubajdj‘$ubj„$)�r6†}r7†(jYUjf}r8†(jh]ji]jj]jk]jn]ujZj&†jr]jdj‘$ubj„$)�r9†}r:†(jYUjf}r;†(jh]ji]jj]jk]jn]ujZj&†jr]jdj‘$ubj„$)�r<†}r=†(jYUjf}r>†(jh]ji]jj]jk]jn]ujZj&†jr]jdj‘$ubj„$)�r?†}r@†(jYUjf}rA†(jh]ji]jj]jk]jn]ujZj&†jr]rB†j¡)�rC†}rD†(jYXReservedrE†jZj?†jbj/~jdj¥jf}rF†(jh]ji]jj]jk]jn]ujpMajr]rG†j{XReservedrH†…�rI†}rJ†(jYjE†jZjC†ubaubajdj‘$ubejdjª$ubj$)�rK†}rL†(jYUjf}rM†(jh]ji]jj]jk]jn]ujZji…jr]rN†(j„$)�rO†}rP†(jYUjf}rQ†(jh]ji]jj]jk]jn]ujZjK†jr]rR†j¡)�rS†}rT†(jYX25rU†jZjO†jbj/~jdj¥jf}rV†(jh]ji]jj]jk]jn]ujpMcjr]rW†j{X25rX†…�rY†}rZ†(jYjU†jZjS†ubaubajdj‘$ubj„$)�r[†}r\†(jYUjf}r]†(jh]ji]jj]jk]jn]ujZjK†jr]jdj‘$ubj„$)�r^†}r_†(jYUjf}r`†(jh]ji]jj]jk]jn]ujZjK†jr]ra†j¡)�rb†}rc†(jYXPACLKSELrd†jZj^†jbj/~jdj¥jf}re†(jh]ji]jj]jk]jn]ujpMcjr]rf†j{XPACLKSELrg†…�rh†}ri†(jYjd†jZjb†ubaubajdj‘$ubj„$)�rj†}rk†(jYUjf}rl†(jh]ji]jj]jk]jn]ujZjK†jr]rm†j¡)�rn†}ro†(jYXPACLKSELrp†jZjj†jbj/~jdj¥jf}rq†(jh]ji]jj]jk]jn]ujpMcjr]rr†j{XPACLKSELrs†…�rt†}ru†(jYjp†jZjn†ubaubajdj‘$ubj„$)�rv†}rw†(jYUjf}rx†(jh]ji]jj]jk]jn]ujZjK†jr]jdj‘$ubejdjª$ubj$)�ry†}rz†(jYUjf}r{†(jh]ji]jj]jk]jn]ujZji…jr]r|†(j„$)�r}†}r~†(jYUjf}r†(jh]ji]jj]jk]jn]ujZjy†jr]r€†j¡)�r�†}r‚†(jYX24rƒ†jZj}†jbj/~jdj¥jf}r„†(jh]ji]jj]jk]jn]ujpMejr]r…†j{X24r††…�r‡†}rˆ†(jYjƒ†jZj�†ubaubajdj‘$ubj„$)�r‰†}rІ(jYUjf}r‹†(jh]ji]jj]jk]jn]ujZjy†jr]jdj‘$ubj„$)�rŒ†}r�†(jYUjf}rކ(jh]ji]jj]jk]jn]ujZjy†jr]r�†j¡)�r�†}r‘†(jYX CORECLKSELr’†jZjŒ†jbj/~jdj¥jf}r“†(jh]ji]jj]jk]jn]ujpMejr]r”†j{X CORECLKSELr•†…�r–†}r—†(jYj’†jZj�†ubaubajdj‘$ubj„$)�r˜†}r™†(jYUjf}rš†(jh]ji]jj]jk]jn]ujZjy†jr]r›†j¡)�rœ†}r�†(jYX CORECLKSELrž†jZj˜†jbj/~jdj¥jf}rŸ†(jh]ji]jj]jk]jn]ujpMejr]r †j{X CORECLKSELr¡†…�r¢†}r£†(jYjž†jZjœ†ubaubajdj‘$ubj„$)�r¤†}r¥†(jYUjf}r¦†(jh]ji]jj]jk]jn]ujZjy†jr]jdj‘$ubejdjª$ubj$)�r§†}r¨†(jYUjf}r©†(jh]ji]jj]jk]jn]ujZji…jr]rª†(j„$)�r«†}r¬†(jYUjf}r­†(jh]ji]jj]jk]jn]ujZj§†jr]r®†j¡)�r¯†}r°†(jYX23r±†jZj«†jbj/~jdj¥jf}r²†(jh]ji]jj]jk]jn]ujpMgjr]r³†j{X23r´†…�rµ†}r¶†(jYj±†jZj¯†ubaubajdj‘$ubj„$)�r·†}r¸†(jYUjf}r¹†(jh]ji]jj]jk]jn]ujZj§†jr]jdj‘$ubj„$)�rº†}r»†(jYUjf}r¼†(jh]ji]jj]jk]jn]ujZj§†jr]jdj‘$ubj„$)�r½†}r¾†(jYUjf}r¿†(jh]ji]jj]jk]jn]ujZj§†jr]jdj‘$ubj„$)�rÀ†}rÁ†(jYUjf}r†(jh]ji]jj]jk]jn]ujZj§†jr]rÆj¡)�rĆ}rņ(jYXReservedrƆjZjÀ†jbj/~jdj¥jf}rdž(jh]ji]jj]jk]jn]ujpMgjr]rȆj{XReservedrɆ…�rʆ}rˆ(jYjƆjZjĆubaubajdj‘$ubejdjª$ubj$)�r̆}r͆(jYUjf}rΆ(jh]ji]jj]jk]jn]ujZji…jr]rφ(j„$)�rІ}rц(jYUjf}rÒ†(jh]ji]jj]jk]jn]ujZj̆jr]rÓ†j¡)�rÔ†}rÕ†(jYX22rÖ†jZjІjbj/~jdj¥jf}r׆(jh]ji]jj]jk]jn]ujpMijr]r؆j{X22rÙ†…�rÚ†}rÛ†(jYjÖ†jZjÔ†ubaubajdj‘$ubj„$)�r܆}r݆(jYUjf}rÞ†(jh]ji]jj]jk]jn]ujZj̆jr]jdj‘$ubj„$)�r߆}rà†(jYUjf}rá†(jh]ji]jj]jk]jn]ujZj̆jr]râ†j¡)�rã†}rä†(jYX AVSIFSEL1rå†jZj߆jbj/~jdj¥jf}ræ†(jh]ji]jj]jk]jn]ujpMijr]rç†j{X AVSIFSEL1r膅�ré†}rê†(jYjå†jZjã†ubaubajdj‘$ubj„$)�rë†}rì†(jYUjf}rí†(jh]ji]jj]jk]jn]ujZj̆jr]rî†j¡)�rï†}rð†(jYXTIMI1rñ†jZjë†jbj/~jdj¥jf}rò†(jh]ji]jj]jk]jn]ujpMijr]ró†j{XTIMI1rô†…�rõ†}rö†(jYjñ†jZjï†ubaubajdj‘$ubj„$)�r÷†}rø†(jYUjf}rù†(jh]ji]jj]jk]jn]ujZj̆jr]rú†j¡)�rû†}rü†(jYX<Reserved: EVM forces these bits to strap values during resetrý†jZj÷†jbj/~jdj¥jf}rþ†(jh]ji]jj]jk]jn]ujpMijr]rÿ†j{X<Reserved: EVM forces these bits to strap values during resetr‡…�r‡}r‡(jYjý†jZjû†ubaubajdj‘$ubejdjª$ubj$)�r‡}r‡(jYUjf}r‡(jh]ji]jj]jk]jn]ujZji…jr]r‡(j„$)�r‡}r‡(jYUjf}r ‡(jh]ji]jj]jk]jn]ujZj‡jr]r ‡j¡)�r ‡}r ‡(jYX21r ‡jZj‡jbj/~jdj¥jf}r‡(jh]ji]jj]jk]jn]ujpMkjr]r‡j{X21r‡…�r‡}r‡(jYj ‡jZj ‡ubaubajdj‘$ubj„$)�r‡}r‡(jYUjf}r‡(jh]ji]jj]jk]jn]ujZj‡jr]jdj‘$ubj„$)�r‡}r‡(jYUjf}r‡(jh]ji]jj]jk]jn]ujZj‡jr]r‡j¡)�r‡}r‡(jYX AVSIFSEL0r‡jZj‡jbj/~jdj¥jf}r‡(jh]ji]jj]jk]jn]ujpMkjr]r‡j{X AVSIFSEL0r‡…�r ‡}r!‡(jYj‡jZj‡ubaubajdj‘$ubj„$)�r"‡}r#‡(jYUjf}r$‡(jh]ji]jj]jk]jn]ujZj‡jr]r%‡j¡)�r&‡}r'‡(jYXTIMI0r(‡jZj"‡jbj/~jdj¥jf}r)‡(jh]ji]jj]jk]jn]ujpMkjr]r*‡j{XTIMI0r+‡…�r,‡}r-‡(jYj(‡jZj&‡ubaubajdj‘$ubj„$)�r.‡}r/‡(jYUjf}r0‡(jh]ji]jj]jk]jn]ujZj‡jr]r1‡j¡)�r2‡}r3‡(jYX<Reserved: EVM forces these bits to strap values during resetr4‡jZj.‡jbj/~jdj¥jf}r5‡(jh]ji]jj]jk]jn]ujpMkjr]r6‡j{X<Reserved: EVM forces these bits to strap values during resetr7‡…�r8‡}r9‡(jYj4‡jZj2‡ubaubajdj‘$ubejdjª$ubj$)�r:‡}r;‡(jYUjf}r<‡(jh]ji]jj]jk]jn]ujZji…jr]r=‡(j„$)�r>‡}r?‡(jYUjf}r@‡(jh]ji]jj]jk]jn]ujZj:‡jr]rA‡j¡)�rB‡}rC‡(jYX20rD‡jZj>‡jbj/~jdj¥jf}rE‡(jh]ji]jj]jk]jn]ujpMmjr]rF‡j{X20rG‡…�rH‡}rI‡(jYjD‡jZjB‡ubaubajdj‘$ubj„$)�rJ‡}rK‡(jYUjf}rL‡(jh]ji]jj]jk]jn]ujZj:‡jr]jdj‘$ubj„$)�rM‡}rN‡(jYUjf}rO‡(jh]ji]jj]jk]jn]ujZj:‡jr]rP‡j¡)�rQ‡}rR‡(jYXDDR3\_REMAP\_ENjZjM‡jbj/~jdj¥jf}rS‡(jh]ji]jj]jk]jn]ujpMmjr]rT‡j{X DDR3_REMAP_ENrU‡…�rV‡}rW‡(jYXDDR3\_REMAP\_ENjZjQ‡ubaubajdj‘$ubj„$)�rX‡}rY‡(jYUjf}rZ‡(jh]ji]jj]jk]jn]ujZj:‡jr]r[‡j¡)�r\‡}r]‡(jYXGPIO16r^‡jZjX‡jbj/~jdj¥jf}r_‡(jh]ji]jj]jk]jn]ujpMmjr]r`‡j{XGPIO16ra‡…�rb‡}rc‡(jYj^‡jZj\‡ubaubajdj‘$ubj„$)�rd‡}re‡(jYUjf}rf‡(jh]ji]jj]jk]jn]ujZj:‡jr]jdj‘$ubejdjª$ubj$)�rg‡}rh‡(jYUjf}ri‡(jh]ji]jj]jk]jn]ujZji…jr]rj‡(j„$)�rk‡}rl‡(jYUjf}rm‡(jh]ji]jj]jk]jn]ujZjg‡jr]rn‡j¡)�ro‡}rp‡(jYX19rq‡jZjk‡jbj/~jdj¥jf}rr‡(jh]ji]jj]jk]jn]ujpMojr]rs‡j{X19rt‡…�ru‡}rv‡(jYjq‡jZjo‡ubaubajdj‘$ubj„$)�rw‡}rx‡(jYUjf}ry‡(jh]ji]jj]jk]jn]ujZjg‡jr]jdj‘$ubj„$)�rz‡}r{‡(jYUjf}r|‡(jh]ji]jj]jk]jn]ujZjg‡jr]r}‡j¡)�r~‡}r‡(jYX ARM\_LENDIANjZjz‡jbj/~jdj¥jf}r€‡(jh]ji]jj]jk]jn]ujpMojr]r�‡j{X ARM_LENDIANr‚‡…�rƒ‡}r„‡(jYX ARM\_LENDIANjZj~‡ubaubajdj‘$ubj„$)�r…‡}r†‡(jYUjf}r‡‡(jh]ji]jj]jk]jn]ujZjg‡jr]rˆ‡j¡)�r‰‡}rЇ(jYXGPIO15r‹‡jZj…‡jbj/~jdj¥jf}rŒ‡(jh]ji]jj]jk]jn]ujpMojr]r�‡j{XGPIO15rއ…�r�‡}r�‡(jYj‹‡jZj‰‡ubaubajdj‘$ubj„$)�r‘‡}r’‡(jYUjf}r“‡(jh]ji]jj]jk]jn]ujZjg‡jr]r”‡j¡)�r•‡}r–‡(jYX*0 = little, 1 = is not supported; do in SWr—‡jZj‘‡jbj/~jdj¥jf}r˜‡(jh]ji]jj]jk]jn]ujpMojr]r™‡j{X*0 = little, 1 = is not supported; do in SWrš‡…�r›‡}rœ‡(jYj—‡jZj•‡ubaubajdj‘$ubejdjª$ubj$)�r�‡}rž‡(jYUjf}rŸ‡(jh]ji]jj]jk]jn]ujZji…jr]r ‡(j„$)�r¡‡}r¢‡(jYUjf}r£‡(jh]ji]jj]jk]jn]ujZj�‡jr]r¤‡j¡)�r¥‡}r¦‡(jYX18r§‡jZj¡‡jbj/~jdj¥jf}r¨‡(jh]ji]jj]jk]jn]ujpMqjr]r©‡j{X18rª‡…�r«‡}r¬‡(jYj§‡jZj¥‡ubaubajdj‘$ubj„$)�r­‡}r®‡(jYUjf}r¯‡(jh]ji]jj]jk]jn]ujZj�‡jr]jdj‘$ubj„$)�r°‡}r±‡(jYUjf}r²‡(jh]ji]jj]jk]jn]ujZj�‡jr]r³‡j¡)�r´‡}rµ‡(jYX MAINPLLODSELr¶‡jZj°‡jbj/~jdj¥jf}r·‡(jh]ji]jj]jk]jn]ujpMqjr]r¸‡j{X MAINPLLODSELr¹‡…�rº‡}r»‡(jYj¶‡jZj´‡ubaubajdj‘$ubj„$)�r¼‡}r½‡(jYUjf}r¾‡(jh]ji]jj]jk]jn]ujZj�‡jr]r¿‡j¡)�rÀ‡}rÁ‡(jYXCORESEL3r‡jZj¼‡jbj/~jdj¥jf}rÇ(jh]ji]jj]jk]jn]ujpMqjr]rćj{XCORESEL3rŇ…�rƇ}rLJ(jYj‡jZjÀ‡ubaubajdj‘$ubj„$)�rȇ}rɇ(jYUjf}rʇ(jh]ji]jj]jk]jn]ujZj�‡jr]jdj‘$ubejdjª$ubj$)�rˇ}ṙ(jYUjf}r͇(jh]ji]jj]jk]jn]ujZji…jr]r·(j„$)�rχ}rЇ(jYUjf}rч(jh]ji]jj]jk]jn]ujZjˇjr]rÒ‡j¡)�rÓ‡}rÔ‡(jYX17rÕ‡jZjχjbj/~jdj¥jf}rÖ‡(jh]ji]jj]jk]jn]ujpMsjr]rׇj{X17r؇…�rÙ‡}rÚ‡(jYjÕ‡jZjÓ‡ubaubajdj‘$ubj„$)�rÛ‡}r܇(jYUjf}r݇(jh]ji]jj]jk]jn]ujZjˇjr]jdj‘$ubj„$)�rÞ‡}r߇(jYUjf}rà‡(jh]ji]jj]jk]jn]ujZjˇjr]rá‡j¡)�râ‡}rã‡(jYX ARMAVSSHAREDrä‡jZjÞ‡jbj/~jdj¥jf}rå‡(jh]ji]jj]jk]jn]ujpMsjr]ræ‡j{X ARMAVSSHAREDr燅�rè‡}ré‡(jYjä‡jZjâ‡ubaubajdj‘$ubj„$)�rê‡}rë‡(jYUjf}rì‡(jh]ji]jj]jk]jn]ujZjˇjr]rí‡j¡)�rî‡}rï‡(jYXCORESEL2rð‡jZjê‡jbj/~jdj¥jf}rñ‡(jh]ji]jj]jk]jn]ujpMsjr]rò‡j{XCORESEL2ró‡…�rô‡}rõ‡(jYjð‡jZjî‡ubaubajdj‘$ubj„$)�rö‡}r÷‡(jYUjf}rø‡(jh]ji]jj]jk]jn]ujZjˇjr]jdj‘$ubejdjª$ubj$)�rù‡}rú‡(jYUjf}rû‡(jh]ji]jj]jk]jn]ujZji…jr]rü‡(j„$)�rý‡}rþ‡(jYUjf}rÿ‡(jh]ji]jj]jk]jn]ujZjù‡jr]rˆj¡)�rˆ}rˆ(jYX16rˆjZjý‡jbj/~jdj¥jf}rˆ(jh]ji]jj]jk]jn]ujpMujr]rˆj{X16rˆ…�rˆ}rˆ(jYjˆjZjˆubaubajdj‘$ubj„$)�r ˆ}r ˆ(jYUjf}r ˆ(jh]ji]jj]jk]jn]ujZjù‡jr]r ˆj¡)�r ˆ}rˆ(jYX16rˆjZj ˆjbj/~jdj¥jf}rˆ(jh]ji]jj]jk]jn]ujpMujr]rˆj{X16rˆ…�rˆ}rˆ(jYjˆjZj ˆubaubajdj‘$ubj„$)�rˆ}rˆ(jYUjf}rˆ(jh]ji]jj]jk]jn]ujZjù‡jr]rˆj¡)�rˆ}rˆ(jYX BOOTMODE15rˆjZjˆjbj/~jdj¥jf}rˆ(jh]ji]jj]jk]jn]ujpMujr]rˆj{X BOOTMODE15rˆ…�rˆ}r ˆ(jYjˆjZjˆubaubajdj‘$ubj„$)�r!ˆ}r"ˆ(jYUjf}r#ˆ(jh]ji]jj]jk]jn]ujZjù‡jr]r$ˆj¡)�r%ˆ}r&ˆ(jYXCORESEL2r'ˆjZj!ˆjbj/~jdj¥jf}r(ˆ(jh]ji]jj]jk]jn]ujpMujr]r)ˆj{XCORESEL2r*ˆ…�r+ˆ}r,ˆ(jYj'ˆjZj%ˆubaubajdj‘$ubj„$)�r-ˆ}r.ˆ(jYUjf}r/ˆ(jh]ji]jj]jk]jn]ujZjù‡jr]jdj‘$ubejdjª$ubj$)�r0ˆ}r1ˆ(jYUjf}r2ˆ(jh]ji]jj]jk]jn]ujZji…jr]r3ˆ(j„$)�r4ˆ}r5ˆ(jYUjf}r6ˆ(jh]ji]jj]jk]jn]ujZj0ˆjr]r7ˆj¡)�r8ˆ}r9ˆ(jYX15r:ˆjZj4ˆjbj/~jdj¥jf}r;ˆ(jh]ji]jj]jk]jn]ujpMwjr]r<ˆj{X15r=ˆ…�r>ˆ}r?ˆ(jYj:ˆjZj8ˆubaubajdj‘$ubj„$)�r@ˆ}rAˆ(jYUjf}rBˆ(jh]ji]jj]jk]jn]ujZj0ˆjr]rCˆj¡)�rDˆ}rEˆ(jYX15rFˆjZj@ˆjbj/~jdj¥jf}rGˆ(jh]ji]jj]jk]jn]ujpMwjr]rHˆj{X15rIˆ…�rJˆ}rKˆ(jYjFˆjZjDˆubaubajdj‘$ubj„$)�rLˆ}rMˆ(jYUjf}rNˆ(jh]ji]jj]jk]jn]ujZj0ˆjr]rOˆj¡)�rPˆ}rQˆ(jYX BOOTMODE14rRˆjZjLˆjbj/~jdj¥jf}rSˆ(jh]ji]jj]jk]jn]ujpMwjr]rTˆj{X BOOTMODE14rUˆ…�rVˆ}rWˆ(jYjRˆjZjPˆubaubajdj‘$ubj„$)�rXˆ}rYˆ(jYUjf}rZˆ(jh]ji]jj]jk]jn]ujZj0ˆjr]r[ˆj¡)�r\ˆ}r]ˆ(jYXCORESEL1r^ˆjZjXˆjbj/~jdj¥jf}r_ˆ(jh]ji]jj]jk]jn]ujpMwjr]r`ˆj{XCORESEL1raˆ…�rbˆ}rcˆ(jYj^ˆjZj\ˆubaubajdj‘$ubj„$)�rdˆ}reˆ(jYUjf}rfˆ(jh]ji]jj]jk]jn]ujZj0ˆjr]rgˆj¡)�rhˆ}riˆ(jYXElementrjˆjZjdˆjbj/~jdj¥jf}rkˆ(jh]ji]jj]jk]jn]ujpMwjr]rlˆj{XElementrmˆ…�rnˆ}roˆ(jYjjˆjZjhˆubaubajdj‘$ubejdjª$ubj$)�rpˆ}rqˆ(jYUjf}rrˆ(jh]ji]jj]jk]jn]ujZji…jr]rsˆ(j„$)�rtˆ}ruˆ(jYUjf}rvˆ(jh]ji]jj]jk]jn]ujZjpˆjr]rwˆj¡)�rxˆ}ryˆ(jYX14rzˆjZjtˆjbj/~jdj¥jf}r{ˆ(jh]ji]jj]jk]jn]ujpMyjr]r|ˆj{X14r}ˆ…�r~ˆ}rˆ(jYjzˆjZjxˆubaubajdj‘$ubj„$)�r€ˆ}r�ˆ(jYUjf}r‚ˆ(jh]ji]jj]jk]jn]ujZjpˆjr]rƒˆj¡)�r„ˆ}r…ˆ(jYX14r†ˆjZj€ˆjbj/~jdj¥jf}r‡ˆ(jh]ji]jj]jk]jn]ujpMyjr]rˆˆj{X14r‰ˆ…�rŠˆ}r‹ˆ(jYj†ˆjZj„ˆubaubajdj‘$ubj„$)�rŒˆ}r�ˆ(jYUjf}rŽˆ(jh]ji]jj]jk]jn]ujZjpˆjr]r�ˆj¡)�r�ˆ}r‘ˆ(jYX BOOTMODE13r’ˆjZjŒˆjbj/~jdj¥jf}r“ˆ(jh]ji]jj]jk]jn]ujpMyjr]r”ˆj{X BOOTMODE13r•ˆ…�r–ˆ}r—ˆ(jYj’ˆjZj�ˆubaubajdj‘$ubj„$)�r˜ˆ}r™ˆ(jYUjf}ršˆ(jh]ji]jj]jk]jn]ujZjpˆjr]r›ˆj¡)�rœˆ}r�ˆ(jYXCORESEL0ržˆjZj˜ˆjbj/~jdj¥jf}rŸˆ(jh]ji]jj]jk]jn]ujpMyjr]r ˆj{XCORESEL0r¡ˆ…�r¢ˆ}r£ˆ(jYjžˆjZjœˆubaubajdj‘$ubj„$)�r¤ˆ}r¥ˆ(jYUjf}r¦ˆ(jh]ji]jj]jk]jn]ujZjpˆjr]jdj‘$ubejdjª$ubj$)�r§ˆ}r¨ˆ(jYUjf}r©ˆ(jh]ji]jj]jk]jn]ujZji…jr]rªˆ(j„$)�r«ˆ}r¬ˆ(jYUjf}r­ˆ(jh]ji]jj]jk]jn]ujZj§ˆjr]r®ˆj¡)�r¯ˆ}r°ˆ(jYX13r±ˆjZj«ˆjbj/~jdj¥jf}r²ˆ(jh]ji]jj]jk]jn]ujpM{jr]r³ˆj{X13r´ˆ…�rµˆ}r¶ˆ(jYj±ˆjZj¯ˆubaubajdj‘$ubj„$)�r·ˆ}r¸ˆ(jYUjf}r¹ˆ(jh]ji]jj]jk]jn]ujZj§ˆjr]rºˆj¡)�r»ˆ}r¼ˆ(jYX13r½ˆjZj·ˆjbj/~jdj¥jf}r¾ˆ(jh]ji]jj]jk]jn]ujpM{jr]r¿ˆj{X13rÀˆ…�rÁˆ}rˆ(jYj½ˆjZj»ˆubaubajdj‘$ubj„$)�rÈ}rĈ(jYUjf}rň(jh]ji]jj]jk]jn]ujZj§ˆjr]rƈj¡)�rLj}rȈ(jYX BOOTMODE12rɈjZjÈjbj/~jdj¥jf}rʈ(jh]ji]jj]jk]jn]ujpM{jr]rˈj{X BOOTMODE12r̈…�r͈}rΈ(jYjɈjZjLjubaubajdj‘$ubj„$)�rψ}rЈ(jYUjf}rш(jh]ji]jj]jk]jn]ujZj§ˆjr]rÒˆj¡)�rÓˆ}rÔˆ(jYXGPIO13rÕˆjZjψjbj/~jdj¥jf}rÖˆ(jh]ji]jj]jk]jn]ujpM{jr]r׈j{XGPIO13r؈…�rÙˆ}rÚˆ(jYjÕˆjZjÓˆubaubajdj‘$ubj„$)�rÛˆ}r܈(jYUjf}r݈(jh]ji]jj]jk]jn]ujZj§ˆjr]jdj‘$ubejdjª$ubj$)�rÞˆ}r߈(jYUjf}ràˆ(jh]ji]jj]jk]jn]ujZji…jr]ráˆ(j„$)�râˆ}rãˆ(jYUjf}räˆ(jh]ji]jj]jk]jn]ujZjÞˆjr]råˆj¡)�ræˆ}rçˆ(jYX12rèˆjZjâˆjbj/~jdj¥jf}réˆ(jh]ji]jj]jk]jn]ujpM}jr]rêˆj{X12r눅�rìˆ}ríˆ(jYjèˆjZjæˆubaubajdj‘$ubj„$)�rîˆ}rïˆ(jYUjf}rðˆ(jh]ji]jj]jk]jn]ujZjÞˆjr]rñˆj¡)�ròˆ}róˆ(jYX12rôˆjZjîˆjbj/~jdj¥jf}rõˆ(jh]ji]jj]jk]jn]ujpM}jr]röˆj{X12r÷ˆ…�røˆ}rùˆ(jYjôˆjZjòˆubaubajdj‘$ubj„$)�rúˆ}rûˆ(jYUjf}rüˆ(jh]ji]jj]jk]jn]ujZjÞˆjr]rýˆj¡)�rþˆ}rÿˆ(jYX BOOTMODE11r‰jZjúˆjbj/~jdj¥jf}r‰(jh]ji]jj]jk]jn]ujpM}jr]r‰j{X BOOTMODE11r‰…�r‰}r‰(jYj‰jZjþˆubaubajdj‘$ubj„$)�r‰}r‰(jYUjf}r‰(jh]ji]jj]jk]jn]ujZjÞˆjr]r ‰j¡)�r ‰}r ‰(jYXGPIO12r ‰jZj‰jbj/~jdj¥jf}r ‰(jh]ji]jj]jk]jn]ujpM}jr]r‰j{XGPIO12r‰…�r‰}r‰(jYj ‰jZj ‰ubaubajdj‘$ubj„$)�r‰}r‰(jYUjf}r‰(jh]ji]jj]jk]jn]ujZjÞˆjr]jdj‘$ubejdjª$ubj$)�r‰}r‰(jYUjf}r‰(jh]ji]jj]jk]jn]ujZji…jr]r‰(j„$)�r‰}r‰(jYUjf}r‰(jh]ji]jj]jk]jn]ujZj‰jr]r‰j¡)�r‰}r‰(jYX11r‰jZj‰jbj/~jdj¥jf}r ‰(jh]ji]jj]jk]jn]ujpMjr]r!‰j{X11r"‰…�r#‰}r$‰(jYj‰jZj‰ubaubajdj‘$ubj„$)�r%‰}r&‰(jYUjf}r'‰(jh]ji]jj]jk]jn]ujZj‰jr]r(‰j¡)�r)‰}r*‰(jYX11r+‰jZj%‰jbj/~jdj¥jf}r,‰(jh]ji]jj]jk]jn]ujpMjr]r-‰j{X11r.‰…�r/‰}r0‰(jYj+‰jZj)‰ubaubajdj‘$ubj„$)�r1‰}r2‰(jYUjf}r3‰(jh]ji]jj]jk]jn]ujZj‰jr]r4‰j¡)�r5‰}r6‰(jYX BOOTMODE10r7‰jZj1‰jbj/~jdj¥jf}r8‰(jh]ji]jj]jk]jn]ujpMjr]r9‰j{X BOOTMODE10r:‰…�r;‰}r<‰(jYj7‰jZj5‰ubaubajdj‘$ubj„$)�r=‰}r>‰(jYUjf}r?‰(jh]ji]jj]jk]jn]ujZj‰jr]r@‰j¡)�rA‰}rB‰(jYXGPIO11rC‰jZj=‰jbj/~jdj¥jf}rD‰(jh]ji]jj]jk]jn]ujpMjr]rE‰j{XGPIO11rF‰…�rG‰}rH‰(jYjC‰jZjA‰ubaubajdj‘$ubj„$)�rI‰}rJ‰(jYUjf}rK‰(jh]ji]jj]jk]jn]ujZj‰jr]jdj‘$ubejdjª$ubj$)�rL‰}rM‰(jYUjf}rN‰(jh]ji]jj]jk]jn]ujZji…jr]rO‰(j„$)�rP‰}rQ‰(jYUjf}rR‰(jh]ji]jj]jk]jn]ujZjL‰jr]rS‰j¡)�rT‰}rU‰(jYX10rV‰jZjP‰jbj/~jdj¥jf}rW‰(jh]ji]jj]jk]jn]ujpM�jr]rX‰j{X10rY‰…�rZ‰}r[‰(jYjV‰jZjT‰ubaubajdj‘$ubj„$)�r\‰}r]‰(jYUjf}r^‰(jh]ji]jj]jk]jn]ujZjL‰jr]r_‰j¡)�r`‰}ra‰(jYX10rb‰jZj\‰jbj/~jdj¥jf}rc‰(jh]ji]jj]jk]jn]ujpM�jr]rd‰j{X10re‰…�rf‰}rg‰(jYjb‰jZj`‰ubaubajdj‘$ubj„$)�rh‰}ri‰(jYUjf}rj‰(jh]ji]jj]jk]jn]ujZjL‰jr]rk‰j¡)�rl‰}rm‰(jYX BOOTMODE9rn‰jZjh‰jbj/~jdj¥jf}ro‰(jh]ji]jj]jk]jn]ujpM�jr]rp‰j{X BOOTMODE9rq‰…�rr‰}rs‰(jYjn‰jZjl‰ubaubajdj‘$ubj„$)�rt‰}ru‰(jYUjf}rv‰(jh]ji]jj]jk]jn]ujZjL‰jr]rw‰j¡)�rx‰}ry‰(jYXGPIO10rz‰jZjt‰jbj/~jdj¥jf}r{‰(jh]ji]jj]jk]jn]ujpM�jr]r|‰j{XGPIO10r}‰…�r~‰}r‰(jYjz‰jZjx‰ubaubajdj‘$ubj„$)�r€‰}r�‰(jYUjf}r‚‰(jh]ji]jj]jk]jn]ujZjL‰jr]jdj‘$ubejdjª$ubj$)�rƒ‰}r„‰(jYUjf}r…‰(jh]ji]jj]jk]jn]ujZji…jr]r†‰(j„$)�r‡‰}rˆ‰(jYUjf}r‰‰(jh]ji]jj]jk]jn]ujZjƒ‰jr]rЉj¡)�r‹‰}rŒ‰(jYX9jZj‡‰jbj/~jdj¥jf}r�‰(jh]ji]jj]jk]jn]ujpMƒjr]rމj{X9…�r�‰}r�‰(jYX9jZj‹‰ubaubajdj‘$ubj„$)�r‘‰}r’‰(jYUjf}r“‰(jh]ji]jj]jk]jn]ujZjƒ‰jr]r”‰j¡)�r•‰}r–‰(jYX9jZj‘‰jbj/~jdj¥jf}r—‰(jh]ji]jj]jk]jn]ujpMƒjr]r˜‰j{X9…�r™‰}rš‰(jYX9jZj•‰ubaubajdj‘$ubj„$)�r›‰}rœ‰(jYUjf}r�‰(jh]ji]jj]jk]jn]ujZjƒ‰jr]rž‰j¡)�rŸ‰}r ‰(jYX BOOTMODE8r¡‰jZj›‰jbj/~jdj¥jf}r¢‰(jh]ji]jj]jk]jn]ujpMƒjr]r£‰j{X BOOTMODE8r¤‰…�r¥‰}r¦‰(jYj¡‰jZjŸ‰ubaubajdj‘$ubj„$)�r§‰}r¨‰(jYUjf}r©‰(jh]ji]jj]jk]jn]ujZjƒ‰jr]rª‰j¡)�r«‰}r¬‰(jYXGPIO9r­‰jZj§‰jbj/~jdj¥jf}r®‰(jh]ji]jj]jk]jn]ujpMƒjr]r¯‰j{XGPIO9r°‰…�r±‰}r²‰(jYj­‰jZj«‰ubaubajdj‘$ubj„$)�r³‰}r´‰(jYUjf}rµ‰(jh]ji]jj]jk]jn]ujZjƒ‰jr]jdj‘$ubejdjª$ubj$)�r¶‰}r·‰(jYUjf}r¸‰(jh]ji]jj]jk]jn]ujZji…jr]r¹‰(j„$)�rº‰}r»‰(jYUjf}r¼‰(jh]ji]jj]jk]jn]ujZj¶‰jr]r½‰j¡)�r¾‰}r¿‰(jYX8jZjº‰jbj/~jdj¥jf}rÀ‰(jh]ji]jj]jk]jn]ujpM…jr]rÁ‰j{X8…�r‰}rÉ(jYX8jZj¾‰ubaubajdj‘$ubj„$)�rĉ}rʼn(jYUjf}rƉ(jh]ji]jj]jk]jn]ujZj¶‰jr]rljj¡)�rȉ}rɉ(jYX8jZjĉjbj/~jdj¥jf}rʉ(jh]ji]jj]jk]jn]ujpM…jr]rˉj{X8…�r̉}r͉(jYX8jZjȉubaubajdj‘$ubj„$)�rΉ}rω(jYUjf}rЉ(jh]ji]jj]jk]jn]ujZj¶‰jr]rщj¡)�rÒ‰}rÓ‰(jYX BOOTMODE7rÔ‰jZjΉjbj/~jdj¥jf}rÕ‰(jh]ji]jj]jk]jn]ujpM…jr]rÖ‰j{X BOOTMODE7r׉…�r؉}rÙ‰(jYjÔ‰jZjÒ‰ubaubajdj‘$ubj„$)�rÚ‰}rÛ‰(jYUjf}r܉(jh]ji]jj]jk]jn]ujZj¶‰jr]r݉j¡)�rÞ‰}r߉(jYXGPIO8rà‰jZjÚ‰jbj/~jdj¥jf}rá‰(jh]ji]jj]jk]jn]ujpM…jr]râ‰j{XGPIO8r㉅�rä‰}rå‰(jYjà‰jZjÞ‰ubaubajdj‘$ubj„$)�ræ‰}rç‰(jYUjf}rè‰(jh]ji]jj]jk]jn]ujZj¶‰jr]jdj‘$ubejdjª$ubj$)�ré‰}rê‰(jYUjf}rë‰(jh]ji]jj]jk]jn]ujZji…jr]rì‰(j„$)�rí‰}rî‰(jYUjf}rï‰(jh]ji]jj]jk]jn]ujZjé‰jr]rð‰j¡)�rñ‰}rò‰(jYX7jZjí‰jbj/~jdj¥jf}ró‰(jh]ji]jj]jk]jn]ujpM‡jr]rô‰j{X7…�rõ‰}rö‰(jYX7jZjñ‰ubaubajdj‘$ubj„$)�r÷‰}rø‰(jYUjf}rù‰(jh]ji]jj]jk]jn]ujZjé‰jr]rú‰j¡)�rû‰}rü‰(jYX7jZj÷‰jbj/~jdj¥jf}rý‰(jh]ji]jj]jk]jn]ujpM‡jr]rþ‰j{X7…�rÿ‰}rŠ(jYX7jZjû‰ubaubajdj‘$ubj„$)�rŠ}rŠ(jYUjf}rŠ(jh]ji]jj]jk]jn]ujZjé‰jr]rŠj¡)�rŠ}rŠ(jYX BOOTMODE6rŠjZjŠjbj/~jdj¥jf}rŠ(jh]ji]jj]jk]jn]ujpM‡jr]r Šj{X BOOTMODE6r Š…�r Š}r Š(jYjŠjZjŠubaubajdj‘$ubj„$)�r Š}rŠ(jYUjf}rŠ(jh]ji]jj]jk]jn]ujZjé‰jr]rŠj¡)�rŠ}rŠ(jYXGPIO7rŠjZj Šjbj/~jdj¥jf}rŠ(jh]ji]jj]jk]jn]ujpM‡jr]rŠj{XGPIO7rŠ…�rŠ}rŠ(jYjŠjZjŠubaubajdj‘$ubj„$)�rŠ}rŠ(jYUjf}rŠ(jh]ji]jj]jk]jn]ujZjé‰jr]jdj‘$ubejdjª$ubj$)�rŠ}rŠ(jYUjf}rŠ(jh]ji]jj]jk]jn]ujZji…jr]rŠ(j„$)�r Š}r!Š(jYUjf}r"Š(jh]ji]jj]jk]jn]ujZjŠjr]r#Šj¡)�r$Š}r%Š(jYX6jZj Šjbj/~jdj¥jf}r&Š(jh]ji]jj]jk]jn]ujpM‰jr]r'Šj{X6…�r(Š}r)Š(jYX6jZj$Šubaubajdj‘$ubj„$)�r*Š}r+Š(jYUjf}r,Š(jh]ji]jj]jk]jn]ujZjŠjr]r-Šj¡)�r.Š}r/Š(jYX6jZj*Šjbj/~jdj¥jf}r0Š(jh]ji]jj]jk]jn]ujpM‰jr]r1Šj{X6…�r2Š}r3Š(jYX6jZj.Šubaubajdj‘$ubj„$)�r4Š}r5Š(jYUjf}r6Š(jh]ji]jj]jk]jn]ujZjŠjr]r7Šj¡)�r8Š}r9Š(jYX BOOTMODE5r:ŠjZj4Šjbj/~jdj¥jf}r;Š(jh]ji]jj]jk]jn]ujpM‰jr]r<Šj{X BOOTMODE5r=Š…�r>Š}r?Š(jYj:ŠjZj8Šubaubajdj‘$ubj„$)�r@Š}rAŠ(jYUjf}rBŠ(jh]ji]jj]jk]jn]ujZjŠjr]rCŠj¡)�rDŠ}rEŠ(jYXGPIO6rFŠjZj@Šjbj/~jdj¥jf}rGŠ(jh]ji]jj]jk]jn]ujpM‰jr]rHŠj{XGPIO6rIŠ…�rJŠ}rKŠ(jYjFŠjZjDŠubaubajdj‘$ubj„$)�rLŠ}rMŠ(jYUjf}rNŠ(jh]ji]jj]jk]jn]ujZjŠjr]jdj‘$ubejdjª$ubj$)�rOŠ}rPŠ(jYUjf}rQŠ(jh]ji]jj]jk]jn]ujZji…jr]rRŠ(j„$)�rSŠ}rTŠ(jYUjf}rUŠ(jh]ji]jj]jk]jn]ujZjOŠjr]rVŠj¡)�rWŠ}rXŠ(jYX5jZjSŠjbj/~jdj¥jf}rYŠ(jh]ji]jj]jk]jn]ujpM‹jr]rZŠj{X5…�r[Š}r\Š(jYX5jZjWŠubaubajdj‘$ubj„$)�r]Š}r^Š(jYUjf}r_Š(jh]ji]jj]jk]jn]ujZjOŠjr]r`Šj¡)�raŠ}rbŠ(jYX5jZj]Šjbj/~jdj¥jf}rcŠ(jh]ji]jj]jk]jn]ujpM‹jr]rdŠj{X5…�reŠ}rfŠ(jYX5jZjaŠubaubajdj‘$ubj„$)�rgŠ}rhŠ(jYUjf}riŠ(jh]ji]jj]jk]jn]ujZjOŠjr]rjŠj¡)�rkŠ}rlŠ(jYX BOOTMODE4rmŠjZjgŠjbj/~jdj¥jf}rnŠ(jh]ji]jj]jk]jn]ujpM‹jr]roŠj{X BOOTMODE4rpŠ…�rqŠ}rrŠ(jYjmŠjZjkŠubaubajdj‘$ubj„$)�rsŠ}rtŠ(jYUjf}ruŠ(jh]ji]jj]jk]jn]ujZjOŠjr]rvŠj¡)�rwŠ}rxŠ(jYXGPIO5ryŠjZjsŠjbj/~jdj¥jf}rzŠ(jh]ji]jj]jk]jn]ujpM‹jr]r{Šj{XGPIO5r|Š…�r}Š}r~Š(jYjyŠjZjwŠubaubajdj‘$ubj„$)�rŠ}r€Š(jYUjf}r�Š(jh]ji]jj]jk]jn]ujZjOŠjr]jdj‘$ubejdjª$ubj$)�r‚Š}rƒŠ(jYUjf}r„Š(jh]ji]jj]jk]jn]ujZji…jr]r…Š(j„$)�r†Š}r‡Š(jYUjf}rˆŠ(jh]ji]jj]jk]jn]ujZj‚Šjr]r‰Šj¡)�rŠŠ}r‹Š(jYX4jZj†Šjbj/~jdj¥jf}rŒŠ(jh]ji]jj]jk]jn]ujpM�jr]r�Šj{X4…�rŽŠ}r�Š(jYX4jZjŠŠubaubajdj‘$ubj„$)�r�Š}r‘Š(jYUjf}r’Š(jh]ji]jj]jk]jn]ujZj‚Šjr]r“Šj¡)�r”Š}r•Š(jYX4jZj�Šjbj/~jdj¥jf}r–Š(jh]ji]jj]jk]jn]ujpM�jr]r—Šj{X4…�r˜Š}r™Š(jYX4jZj”Šubaubajdj‘$ubj„$)�ršŠ}r›Š(jYUjf}rœŠ(jh]ji]jj]jk]jn]ujZj‚Šjr]r�Šj¡)�ržŠ}rŸŠ(jYX BOOTMODE3r ŠjZjšŠjbj/~jdj¥jf}r¡Š(jh]ji]jj]jk]jn]ujpM�jr]r¢Šj{X BOOTMODE3r£Š…�r¤Š}r¥Š(jYj ŠjZjžŠubaubajdj‘$ubj„$)�r¦Š}r§Š(jYUjf}r¨Š(jh]ji]jj]jk]jn]ujZj‚Šjr]r©Šj¡)�rªŠ}r«Š(jYXGPIO4r¬ŠjZj¦Šjbj/~jdj¥jf}r­Š(jh]ji]jj]jk]jn]ujpM�jr]r®Šj{XGPIO4r¯Š…�r°Š}r±Š(jYj¬ŠjZjªŠubaubajdj‘$ubj„$)�r²Š}r³Š(jYUjf}r´Š(jh]ji]jj]jk]jn]ujZj‚Šjr]jdj‘$ubejdjª$ubj$)�rµŠ}r¶Š(jYUjf}r·Š(jh]ji]jj]jk]jn]ujZji…jr]r¸Š(j„$)�r¹Š}rºŠ(jYUjf}r»Š(jh]ji]jj]jk]jn]ujZjµŠjr]r¼Šj¡)�r½Š}r¾Š(jYX3jZj¹Šjbj/~jdj¥jf}r¿Š(jh]ji]jj]jk]jn]ujpM�jr]rÀŠj{X3…�rÁŠ}rŠ(jYX3jZj½Šubaubajdj‘$ubj„$)�rÊ}rÄŠ(jYUjf}rÅŠ(jh]ji]jj]jk]jn]ujZjµŠjr]rÆŠj¡)�rÇŠ}rÈŠ(jYX3jZjÊjbj/~jdj¥jf}rÉŠ(jh]ji]jj]jk]jn]ujpM�jr]rÊŠj{X3…�rËŠ}rÌŠ(jYX3jZjÇŠubaubajdj‘$ubj„$)�rÍŠ}rΊ(jYUjf}rÏŠ(jh]ji]jj]jk]jn]ujZjµŠjr]rЊj¡)�rÑŠ}rÒŠ(jYX BOOTMODE2rÓŠjZjÍŠjbj/~jdj¥jf}rÔŠ(jh]ji]jj]jk]jn]ujpM�jr]rÕŠj{X BOOTMODE2rÖŠ…�r׊}rØŠ(jYjÓŠjZjÑŠubaubajdj‘$ubj„$)�rÙŠ}rÚŠ(jYUjf}rÛŠ(jh]ji]jj]jk]jn]ujZjµŠjr]rÜŠj¡)�rÝŠ}rÞŠ(jYXGPIO3rߊjZjÙŠjbj/~jdj¥jf}ràŠ(jh]ji]jj]jk]jn]ujpM�jr]ráŠj{XGPIO3r⊅�rãŠ}räŠ(jYjߊjZjÝŠubaubajdj‘$ubj„$)�råŠ}ræŠ(jYUjf}rçŠ(jh]ji]jj]jk]jn]ujZjµŠjr]jdj‘$ubejdjª$ubj$)�rèŠ}réŠ(jYUjf}rêŠ(jh]ji]jj]jk]jn]ujZji…jr]rëŠ(j„$)�rìŠ}ríŠ(jYUjf}rîŠ(jh]ji]jj]jk]jn]ujZjèŠjr]rïŠj¡)�rðŠ}rñŠ(jYX2jZjìŠjbj/~jdj¥jf}ròŠ(jh]ji]jj]jk]jn]ujpM‘jr]róŠj{X2…�rôŠ}rõŠ(jYX2jZjðŠubaubajdj‘$ubj„$)�röŠ}r÷Š(jYUjf}røŠ(jh]ji]jj]jk]jn]ujZjèŠjr]rùŠj¡)�rúŠ}rûŠ(jYX2jZjöŠjbj/~jdj¥jf}rüŠ(jh]ji]jj]jk]jn]ujpM‘jr]rýŠj{X2…�rþŠ}rÿŠ(jYX2jZjúŠubaubajdj‘$ubj„$)�r‹}r‹(jYUjf}r‹(jh]ji]jj]jk]jn]ujZjèŠjr]r‹j¡)�r‹}r‹(jYX BOOTMODE1r‹jZj‹jbj/~jdj¥jf}r‹(jh]ji]jj]jk]jn]ujpM‘jr]r‹j{X BOOTMODE1r ‹…�r ‹}r ‹(jYj‹jZj‹ubaubajdj‘$ubj„$)�r ‹}r ‹(jYUjf}r‹(jh]ji]jj]jk]jn]ujZjèŠjr]r‹j¡)�r‹}r‹(jYXGPIO2r‹jZj ‹jbj/~jdj¥jf}r‹(jh]ji]jj]jk]jn]ujpM‘jr]r‹j{XGPIO2r‹…�r‹}r‹(jYj‹jZj‹ubaubajdj‘$ubj„$)�r‹}r‹(jYUjf}r‹(jh]ji]jj]jk]jn]ujZjèŠjr]jdj‘$ubejdjª$ubj$)�r‹}r‹(jYUjf}r‹(jh]ji]jj]jk]jn]ujZji…jr]r‹(j„$)�r‹}r ‹(jYUjf}r!‹(jh]ji]jj]jk]jn]ujZj‹jr]r"‹j¡)�r#‹}r$‹(jYX1jZj‹jbj/~jdj¥jf}r%‹(jh]ji]jj]jk]jn]ujpM“jr]r&‹j{X1…�r'‹}r(‹(jYX1jZj#‹ubaubajdj‘$ubj„$)�r)‹}r*‹(jYUjf}r+‹(jh]ji]jj]jk]jn]ujZj‹jr]r,‹j¡)�r-‹}r.‹(jYX1jZj)‹jbj/~jdj¥jf}r/‹(jh]ji]jj]jk]jn]ujpM“jr]r0‹j{X1…�r1‹}r2‹(jYX1jZj-‹ubaubajdj‘$ubj„$)�r3‹}r4‹(jYUjf}r5‹(jh]ji]jj]jk]jn]ujZj‹jr]r6‹j¡)�r7‹}r8‹(jYX BOOTMODE0r9‹jZj3‹jbj/~jdj¥jf}r:‹(jh]ji]jj]jk]jn]ujpM“jr]r;‹j{X BOOTMODE0r<‹…�r=‹}r>‹(jYj9‹jZj7‹ubaubajdj‘$ubj„$)�r?‹}r@‹(jYUjf}rA‹(jh]ji]jj]jk]jn]ujZj‹jr]rB‹j¡)�rC‹}rD‹(jYXGPIO1rE‹jZj?‹jbj/~jdj¥jf}rF‹(jh]ji]jj]jk]jn]ujpM“jr]rG‹j{XGPIO1rH‹…�rI‹}rJ‹(jYjE‹jZjC‹ubaubajdj‘$ubj„$)�rK‹}rL‹(jYUjf}rM‹(jh]ji]jj]jk]jn]ujZj‹jr]jdj‘$ubejdjª$ubj$)�rN‹}rO‹(jYUjf}rP‹(jh]ji]jj]jk]jn]ujZji…jr]rQ‹(j„$)�rR‹}rS‹(jYUjf}rT‹(jh]ji]jj]jk]jn]ujZjN‹jr]rU‹j¡)�rV‹}rW‹(jYX0jZjR‹jbj/~jdj¥jf}rX‹(jh]ji]jj]jk]jn]ujpM•jr]rY‹j{X0…�rZ‹}r[‹(jYX0jZjV‹ubaubajdj‘$ubj„$)�r\‹}r]‹(jYUjf}r^‹(jh]ji]jj]jk]jn]ujZjN‹jr]r_‹j¡)�r`‹}ra‹(jYX0jZj\‹jbj/~jdj¥jf}rb‹(jh]ji]jj]jk]jn]ujpM•jr]rc‹j{X0…�rd‹}re‹(jYX0jZj`‹ubaubajdj‘$ubj„$)�rf‹}rg‹(jYUjf}rh‹(jh]ji]jj]jk]jn]ujZjN‹jr]ri‹j¡)�rj‹}rk‹(jYXLENDIANrl‹jZjf‹jbj/~jdj¥jf}rm‹(jh]ji]jj]jk]jn]ujpM•jr]rn‹j{XLENDIANro‹…�rp‹}rq‹(jYjl‹jZjj‹ubaubajdj‘$ubj„$)�rr‹}rs‹(jYUjf}rt‹(jh]ji]jj]jk]jn]ujZjN‹jr]ru‹j¡)�rv‹}rw‹(jYXGPIO0rx‹jZjr‹jbj/~jdj¥jf}ry‹(jh]ji]jj]jk]jn]ujpM•jr]rz‹j{XGPIO0r{‹…�r|‹}r}‹(jYjx‹jZjv‹ubaubajdj‘$ubj„$)�r~‹}r‹(jYUjf}r€‹(jh]ji]jj]jk]jn]ujZjN‹jr]jdj‘$ubejdjª$ubejdjy%ubejdjz%ubaubj¡)�r�‹}r‚‹(jYX6There are 5 different formats to the bootmode command:rƒ‹jZjÑ„jbj/~jdj¥jf}r„‹(jh]ji]jj]jk]jn]ujpM˜jqhjr]r…‹j{X6There are 5 different formats to the bootmode command:r†‹…�r‡‹}rˆ‹(jYjƒ‹jZj�‹ubaubj)�r‰‹}rŠ‹(jYXbootmodejZjÑ„jbj/~jdjjf}r‹‹(jöj÷jk]jj]jh]ji]jn]ujpMã#jqhjr]rŒ‹j{Xbootmoder�‹…�rŽ‹}r�‹(jYUjZj‰‹ubaubj¡)�r�‹}r‘‹(jYXUWhen the command is entered with no arguments the current bootmode will be displayed.r’‹jZjÑ„jbj/~jdj¥jf}r“‹(jh]ji]jj]jk]jn]ujpMžjqhjr]r”‹j{XUWhen the command is entered with no arguments the current bootmode will be displayed.r•‹…�r–‹}r—‹(jYj’‹jZj�‹ubaubj)�r˜‹}r™‹(jYX bootmode alljZjÑ„jbj/~jdjjf}rš‹(jöj÷jk]jj]jh]ji]jn]ujpMê#jqhjr]r›‹j{X bootmode allrœ‹…�r�‹}rž‹(jYUjZj˜‹ubaubj¡)�rŸ‹}r ‹(jYXSThis format will display all 16 bootmodes and mark the currently selected bootmode.r¡‹jZjÑ„jbj/~jdj¥jf}r¢‹(jh]ji]jj]jk]jn]ujpM¥jqhjr]r£‹j{XSThis format will display all 16 bootmodes and mark the currently selected bootmode.r¤‹…�r¥‹}r¦‹(jYj¡‹jZjŸ‹ubaubj)�r§‹}r¨‹(jYX bootmode #xjZjÑ„jbj/~jdjjf}r©‹(jöj÷jk]jj]jh]ji]jn]ujpMñ#jqhjr]rª‹j{X bootmode #xr«‹…�r¬‹}r­‹(jYUjZj§‹ubaubj¡)�r®‹}r¯‹(jYXFThis will change the currently selected bootmode to the bootmode represented by x. For example, if the board is booted with DIP switch setting 1(OFF) 2(OFF) 3(OFF) 4(ON) then the bootmode would be 1 - DSP NO-BOOT. If 'bootmode #2' is entered, the bootmode represented by DIP switch setting 1(OFF) 2(OFF) 3(ON) 4(OFF) would become the current bootmode (ARM SPI-NOR BOOT). If the 'reboot' command is given, the SoC will be rebooted using this new bootmode. This format is volatile, meaning once power is removed, the bootmode at the next power up will be determined by the DIP switch.r°‹jZjÑ„jbj/~jdj¥jf}r±‹(jh]ji]jj]jk]jn]ujpM¬jqhjr]r²‹j{XFThis will change the currently selected bootmode to the bootmode represented by x. For example, if the board is booted with DIP switch setting 1(OFF) 2(OFF) 3(OFF) 4(ON) then the bootmode would be 1 - DSP NO-BOOT. If 'bootmode #2' is entered, the bootmode represented by DIP switch setting 1(OFF) 2(OFF) 3(ON) 4(OFF) would become the current bootmode (ARM SPI-NOR BOOT). If the 'reboot' command is given, the SoC will be rebooted using this new bootmode. This format is volatile, meaning once power is removed, the bootmode at the next power up will be determined by the DIP switch.r³‹…�r´‹}rµ‹(jYj°‹jZj®‹ubaubj)�r¶‹}r·‹(jYX bootmode readjZjÑ„jbj/~jdjjf}r¸‹(jöj÷jk]jj]jh]ji]jn]ujpMÿ#jqhjr]r¹‹j{X bootmode readrº‹…�r»‹}r¼‹(jYUjZj¶‹ubaubj¡)�r½‹}r¾‹(jYXãThis format reads the current value of the DIP switch, and changes the current bootmode to this value. For example, if the board is booted with DIP switch setting 1(OFF) 2(OFF) 3(OFF) 4(ON) then the bootmode would be 1 - DSP NO-BOOT. If the DIP switch is changed to 1(OFF) 2(OFF) 3(ON) 4(OFF) and then the command 'bootmode read' is given, the board will change to bootmode 2 - ARM SPI-NOR BOOT. If the 'reboot command is then given, the SoC will be rebooted using this new bootmode.r¿‹jZjÑ„jbj/~jdj¥jf}rÀ‹(jh]ji]jj]jk]jn]ujpMºjqhjr]rÁ‹j{XãThis format reads the current value of the DIP switch, and changes the current bootmode to this value. For example, if the board is booted with DIP switch setting 1(OFF) 2(OFF) 3(OFF) 4(ON) then the bootmode would be 1 - DSP NO-BOOT. If the DIP switch is changed to 1(OFF) 2(OFF) 3(ON) 4(OFF) and then the command 'bootmode read' is given, the board will change to bootmode 2 - ARM SPI-NOR BOOT. If the 'reboot command is then given, the SoC will be rebooted using this new bootmode.r‹…�rË}rÄ‹(jYj¿‹jZj½‹ubaubj)�rÅ‹}rÆ‹(jYX%bootmode [#]x hi_value lo_value titlejZjÑ„jbj/~jdjjf}rÇ‹(jöj÷jk]jj]jh]ji]jn]ujpM $jqhjr]rÈ‹j{X%bootmode [#]x hi_value lo_value titlerÉ‹…�rÊ‹}rË‹(jYUjZjÅ‹ubaubj¡)�rÌ‹}rÍ‹(jYXkThis bootmode is used to alter User-Defined bootmodes (bootmodes 8 - 15). x is the index of the bootmode to be set, as such its appropriate value range is 8 - 15, any other value will return an error. hi\_value is not currently used, and should always be set to 0. lo\_value is a 32 bit hex value whose bits are representative of the table above. title is a given string that is displayed by the bootmode command to help better understand what the bootmode does, it has no purpose within the actual booting of the board. The option '#' is used to determine whether the bootmode will be saved. If # is used, the bootmode will be saved to flash, meaning the new value is tied to the DIP switch, and will remain even if power is removed from the board. If # is not given, then the change will be lost as soon as power is removed. Some examples with descriptions are given below:jZjÑ„jbj/~jdj¥jf}r΋(jh]ji]jj]jk]jn]ujpMÆjqhjr]rÏ‹j{XiThis bootmode is used to alter User-Defined bootmodes (bootmodes 8 - 15). x is the index of the bootmode to be set, as such its appropriate value range is 8 - 15, any other value will return an error. hi_value is not currently used, and should always be set to 0. lo_value is a 32 bit hex value whose bits are representative of the table above. title is a given string that is displayed by the bootmode command to help better understand what the bootmode does, it has no purpose within the actual booting of the board. The option '#' is used to determine whether the bootmode will be saved. If # is used, the bootmode will be saved to flash, meaning the new value is tied to the DIP switch, and will remain even if power is removed from the board. If # is not given, then the change will be lost as soon as power is removed. Some examples with descriptions are given below:rЋ…�rÑ‹}rÒ‹(jYXkThis bootmode is used to alter User-Defined bootmodes (bootmodes 8 - 15). x is the index of the bootmode to be set, as such its appropriate value range is 8 - 15, any other value will return an error. hi\_value is not currently used, and should always be set to 0. lo\_value is a 32 bit hex value whose bits are representative of the table above. title is a given string that is displayed by the bootmode command to help better understand what the bootmode does, it has no purpose within the actual booting of the board. The option '#' is used to determine whether the bootmode will be saved. If # is used, the bootmode will be saved to flash, meaning the new value is tied to the DIP switch, and will remain even if power is removed from the board. If # is not given, then the change will be lost as soon as power is removed. Some examples with descriptions are given below:jZjÌ‹ubaubj)�rÓ‹}rÔ‹(jYXbootmode 8 0 112005 ARM_SPIjZjÑ„jbj/~jdjjf}rÕ‹(jöj÷jk]jj]jh]ji]jn]ujpM$jqhjr]rÖ‹j{Xbootmode 8 0 112005 ARM_SPIr׋…�rØ‹}rÙ‹(jYUjZjÓ‹ubaubj¡)�rÚ‹}rÛ‹(jYXKbootmode 8 will be set to 112005 and given the title ARM\_SPI. To boot into this bootmode, the command 'bootmode #8' followed by 'reboot' would be given (or changing the DIP switch to 1(ON) 2(OFF) 3(OFF) 4(OFF) without removing power, then entering 'bootmode read' followed by 'reboot'). Once power is removed, this change is lost.jZjÑ„jbj/~jdj¥jf}rÜ‹(jh]ji]jj]jk]jn]ujpMØjqhjr]rÝ‹j{XJbootmode 8 will be set to 112005 and given the title ARM_SPI. To boot into this bootmode, the command 'bootmode #8' followed by 'reboot' would be given (or changing the DIP switch to 1(ON) 2(OFF) 3(OFF) 4(OFF) without removing power, then entering 'bootmode read' followed by 'reboot'). Once power is removed, this change is lost.rÞ‹…�rß‹}rà‹(jYXKbootmode 8 will be set to 112005 and given the title ARM\_SPI. To boot into this bootmode, the command 'bootmode #8' followed by 'reboot' would be given (or changing the DIP switch to 1(ON) 2(OFF) 3(OFF) 4(OFF) without removing power, then entering 'bootmode read' followed by 'reboot'). Once power is removed, this change is lost.jZjÚ‹ubaubj)�rá‹}râ‹(jYX!bootmode #10 0 12cba1 RANDOM_BOOTjZjÑ„jbj/~jdjjf}rã‹(jöj÷jk]jj]jh]ji]jn]ujpM'$jqhjr]rä‹j{X!bootmode #10 0 12cba1 RANDOM_BOOTrå‹…�ræ‹}rç‹(jYUjZjá‹ubaubj¡)�rè‹}ré‹(jYX¥bootmode 10 will be set to 12cba1 and given the title RANDOM\_BOOT. This is now the permanent value of bootmode 10; the change will persist even if power is removed.jZjÑ„jbj/~jdj¥jf}rê‹(jh]ji]jj]jk]jn]ujpMâjqhjr]rë‹j{X¤bootmode 10 will be set to 12cba1 and given the title RANDOM_BOOT. This is now the permanent value of bootmode 10; the change will persist even if power is removed.rì‹…�rí‹}rî‹(jYX¥bootmode 10 will be set to 12cba1 and given the title RANDOM\_BOOT. This is now the permanent value of bootmode 10; the change will persist even if power is removed.jZjè‹ubaubeubeubj[)�rï‹}rð‹(jYUjZj,~jbj/~jdjejf}rñ‹(jh]ji]jj]jk]rò‹Uconnect-to-evmk2h-using-ccsró‹ajn]rô‹h)aujpMçjqhjr]rõ‹(jt)�rö‹}r÷‹(jYXConnect to EVMK2H using CCSrø‹jZjï‹jbj/~jdjxjf}rù‹(jh]ji]jj]jk]jn]ujpMçjqhjr]rú‹j{XConnect to EVMK2H using CCSrû‹…�rü‹}rý‹(jYjø‹jZjö‹ubaubj¡)�rþ‹}rÿ‹(jYX&**Step 1:** Configure the EVM hardwarerŒjZjï‹jbj/~jdj¥jf}rŒ(jh]ji]jj]jk]jn]ujpMéjqhjr]rŒ(jü)�rŒ}rŒ(jYX **Step 1:**jf}rŒ(jh]ji]jj]jk]jn]ujZjþ‹jr]rŒj{XStep 1:rŒ…�rŒ}r Œ(jYUjZjŒubajdjubj{X Configure the EVM hardwarer Œ…�r Œ}r Œ(jYX Configure the EVM hardwarejZjþ‹ubeubjC)�r Œ}rŒ(jYUjZjï‹jbj/~jdj`jf}rŒ(jGX-jk]jj]jh]ji]jn]ujpMëjqhjr]rŒ(j/)�rŒ}rŒ(jYXZSetup the EVM to DSP no boot using SW1 as described in the section BootModeConfiguration_ jZj Œjbj/~jdj2jf}rŒ(jh]ji]jj]jk]jn]ujpNjqhjr]rŒj¡)�rŒ}rŒ(jYXYSetup the EVM to DSP no boot using SW1 as described in the section BootModeConfiguration_jZjŒjbj/~jdj¥jf}rŒ(jh]ji]jj]jk]jn]ujpMëjr]rŒ(j{XCSetup the EVM to DSP no boot using SW1 as described in the section rŒ…�rŒ}rŒ(jYXCSetup the EVM to DSP no boot using SW1 as described in the section jZjŒubjÜ)�rŒ}rŒ(jYXBootModeConfiguration_jßKjZjŒjdjàjf}rŒ(UnameXBootModeConfigurationjk]jj]jh]ji]jn]jâj«‚ujr]rŒj{XBootModeConfigurationr Œ…�r!Œ}r"Œ(jYUjZjŒubaubeubaubj/)�r#Œ}r$Œ(jYXzConnect mini USB cable to the XDS2xx MIPI adapter card marked J1 or connect external emulator to the MIPI connector on J3 jZj Œjbj/~jdj2jf}r%Œ(jh]ji]jj]jk]jn]ujpNjqhjr]r&Œj¡)�r'Œ}r(Œ(jYXyConnect mini USB cable to the XDS2xx MIPI adapter card marked J1 or connect external emulator to the MIPI connector on J3r)ŒjZj#Œjbj/~jdj¥jf}r*Œ(jh]ji]jj]jk]jn]ujpMíjr]r+Œj{XyConnect mini USB cable to the XDS2xx MIPI adapter card marked J1 or connect external emulator to the MIPI connector on J3r,Œ…�r-Œ}r.Œ(jYj)ŒjZj'Œubaubaubeubj)�r/Œ}r0Œ(jYXzFor newer versions of CCS, a XDS200 firmware update is recommended which user can perform using instruction on the articler1ŒjZjï‹jbj/~jdjjf}r2Œ(jh]ji]jj]jk]jn]ujpNjqhjr]r3Œj¡)�r4Œ}r5Œ(jYj1ŒjZj/Œjbj/~jdj¥jf}r6Œ(jh]ji]jj]jk]jn]ujpMðjr]r7Œj{XzFor newer versions of CCS, a XDS200 firmware update is recommended which user can perform using instruction on the articler8Œ…�r9Œ}r:Œ(jYj1ŒjZj4Œubaubaubj¡)�r;Œ}r<Œ(jYXbelow:r=ŒjZjï‹jbj/~jdj¥jf}r>Œ(jh]ji]jj]jk]jn]ujpMñjqhjr]r?Œj{Xbelow:r@Œ…�rAŒ}rBŒ(jYj=ŒjZj;ŒubaubjC)�rCŒ}rDŒ(jYUjZjï‹jbj/~jdj`jf}rEŒ(jGX-jk]jj]jh]ji]jn]ujpMójqhjr]rFŒj/)�rGŒ}rHŒ(jYXq`Updating XDS2xx Firmware `__ jZjCŒjbj/~jdj2jf}rIŒ(jh]ji]jj]jk]jn]ujpNjqhjr]rJŒj¡)�rKŒ}rLŒ(jYXp`Updating XDS2xx Firmware `__rMŒjZjGŒjbj/~jdj¥jf}rNŒ(jh]ji]jj]jk]jn]ujpMójr]rOŒjÜ)�rPŒ}rQŒ(jYjMŒjf}rRŒ(UnameXUpdating XDS2xx FirmwarejXQhttp://dev.ti.com/tirex/explore/node?node=AADzJ8Y-La4f7Bi5Ga0TcA__FUz-xrs__LATESTjk]jj]jh]ji]jn]ujZjKŒjr]rSŒj{XUpdating XDS2xx FirmwarerTŒ…�rUŒ}rVŒ(jYUjZjPŒubajdjàubaubaubaubj)�rWŒ}rXŒ(jYXnFor newer versions of CCS, a XDS200 firmware update is recommended which user can perform using instruction onrYŒjZjï‹jbj/~jdjjf}rZŒ(jh]ji]jj]jk]jn]ujpNjqhjr]r[Œj¡)�r\Œ}r]Œ(jYjYŒjZjWŒjbj/~jdj¥jf}r^Œ(jh]ji]jj]jk]jn]ujpMöjr]r_Œj{XnFor newer versions of CCS, a XDS200 firmware update is recommended which user can perform using instruction onr`Œ…�raŒ}rbŒ(jYjYŒjZj\Œubaubaubj¡)�rcŒ}rdŒ(jYXw`Updating\_the\_XDS200\_firmware __`reŒjZjï‹jbj/~jdj¥jf}rfŒ(jh]ji]jj]jk]jn]ujpM÷jqhjr]rgŒcdocutils.nodes title_reference rhŒ)�riŒ}rjŒ(jYXw`Updating\_the\_XDS200\_firmware __`jf}rkŒ(jh]ji]jj]jk]jn]ujZjcŒjr]rlŒj{XrUpdating_the_XDS200_firmware __rmŒ…�rnŒ}roŒ(jYUjZjiŒubajdUtitle_referencerpŒubaubj¡)�rqŒ}rrŒ(jYX+**Step 2:** Create CCS Target configurationrsŒjZjï‹jbj/~jdj¥jf}rtŒ(jh]ji]jj]jk]jn]ujpMùjqhjr]ruŒ(jü)�rvŒ}rwŒ(jYX **Step 2:**jf}rxŒ(jh]ji]jj]jk]jn]ujZjqŒjr]ryŒj{XStep 2:rzŒ…�r{Œ}r|Œ(jYUjZjvŒubajdjubj{X Create CCS Target configurationr}Œ…�r~Œ}rŒ(jYX Create CCS Target configurationjZjqŒubeubj¡)�r€Œ}r�Œ(jYXVLaunch CCS on your host machine. Select View Tab and select the "Target configuration"r‚ŒjZjï‹jbj/~jdj¥jf}rƒŒ(jh]ji]jj]jk]jn]ujpMûjqhjr]r„Œj{XVLaunch CCS on your host machine. Select View Tab and select the "Target configuration"r…Œ…�r†Œ}r‡Œ(jYj‚ŒjZj€ŒubaubjB)�rˆŒ}r‰Œ(jYX0.. image:: ../../../images/New_TargetConfig.png jZjï‹jbj/~jdjEjf}rŠŒ(UuriX)rtos/../../../images/New_TargetConfig.pngr‹Œjk]jj]jh]ji]jH}rŒŒU*j‹Œsjn]ujpMÿjqhjr]ubjZ)�r�Œ}rŽŒ(jYUjZjï‹jbj/~jdj]jf}r�Œ(jh]ji]jj]jk]jn]ujpMjqhjr]r�Œj`)�r‘Œ}r’Œ(jYUjcKjZj�Œjbj/~jdjpjf}r“Œ(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r”Œ}r•Œ(jYX¿Create New Target configuration in CCS by selecting appropriate emulator. For Default on board emulator select "Texas instruments XDS2xx Debug Probe" and select the target device as 66AK2H12.r–ŒjZjï‹jbj/~jdj¥jf}r—Œ(jh]ji]jj]jk]jn]ujpMjqhjr]r˜Œj{X¿Create New Target configuration in CCS by selecting appropriate emulator. For Default on board emulator select "Texas instruments XDS2xx Debug Probe" and select the target device as 66AK2H12.r™Œ…�ršŒ}r›Œ(jYj–ŒjZj”ŒubaubjB)�rœŒ}r�Œ(jYX0.. image:: ../../../images/K2H_TargetConfig.png jZjï‹jbj/~jdjEjf}ržŒ(UuriX)rtos/../../../images/K2H_TargetConfig.pngrŸŒjk]jj]jh]ji]jH}r ŒU*jŸŒsjn]ujpMjqhjr]ubj¡)�r¡Œ}r¢Œ(jYX}Go to the Advanced Tab where you will see all the cores on the SOC listed. In order to initialize the clocks and external DDR memory on the device, users are required to use a initialization Gel scripts. To populate the Gel Select A15\_0 and then hit Browse and locate the GEL in the CCS installation under the following path: CCS\_INSTALL/ccs\_base/emulation/boards/xtcievmk2x/geljZjï‹jbj/~jdj¥jf}r£Œ(jh]ji]jj]jk]jn]ujpMjqhjr]r¤Œj{XzGo to the Advanced Tab where you will see all the cores on the SOC listed. In order to initialize the clocks and external DDR memory on the device, users are required to use a initialization Gel scripts. To populate the Gel Select A15_0 and then hit Browse and locate the GEL in the CCS installation under the following path: CCS_INSTALL/ccs_base/emulation/boards/xtcievmk2x/gelr¥Œ…�r¦Œ}r§Œ(jYX}Go to the Advanced Tab where you will see all the cores on the SOC listed. In order to initialize the clocks and external DDR memory on the device, users are required to use a initialization Gel scripts. To populate the Gel Select A15\_0 and then hit Browse and locate the GEL in the CCS installation under the following path: CCS\_INSTALL/ccs\_base/emulation/boards/xtcievmk2x/geljZj¡ŒubaubjB)�r¨Œ}r©Œ(jYX'.. image:: ../../../images/ARM_GEL.png jZjï‹jbj/~jdjEjf}rªŒ(UuriX rtos/../../../images/ARM_GEL.pngr«Œjk]jj]jh]ji]jH}r¬ŒU*j«Œsjn]ujpMjqhjr]ubj¡)�r­Œ}r®Œ(jYXiDSP developers, can also select C66x\_0 and populate the DSP GEL file that is found in the same location.jZjï‹jbj/~jdj¥jf}r¯Œ(jh]ji]jj]jk]jn]ujpMjqhjr]r°Œj{XhDSP developers, can also select C66x_0 and populate the DSP GEL file that is found in the same location.r±Œ…�r²Œ}r³Œ(jYXiDSP developers, can also select C66x\_0 and populate the DSP GEL file that is found in the same location.jZj­ŒubaubjB)�r´Œ}rµŒ(jYX'.. image:: ../../../images/DSP_GEL.png jZjï‹jbj/~jdjEjf}r¶Œ(UuriX rtos/../../../images/DSP_GEL.pngr·Œjk]jj]jh]ji]jH}r¸ŒU*j·Œsjn]ujpMjqhjr]ubj¡)�r¹Œ}rºŒ(jYXoGoing back to the Basic Tab, Save the configuration. For additional sanity check, you can also test connection.r»ŒjZjï‹jbj/~jdj¥jf}r¼Œ(jh]ji]jj]jk]jn]ujpMjqhjr]r½Œj{XoGoing back to the Basic Tab, Save the configuration. For additional sanity check, you can also test connection.r¾Œ…�r¿Œ}rÀŒ(jYj»ŒjZj¹ŒubaubjZ)�rÁŒ}rÂŒ(jYUjZjï‹jbj/~jdj]jf}rÃŒ(jh]ji]jj]jk]jn]ujpMjqhjr]rÄŒj`)�rÅŒ}rÆŒ(jYUjcKjZjÁŒjbj/~jdjpjf}rÇŒ(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rÈŒ}rÉŒ(jYX **Step 3:** Connect to the coresrÊŒjZjï‹jbj/~jdj¥jf}rËŒ(jh]ji]jj]jk]jn]ujpMjqhjr]rÌŒ(jü)�rÍŒ}rÎŒ(jYX **Step 3:**jf}rÏŒ(jh]ji]jj]jk]jn]ujZjÈŒjr]rÐŒj{XStep 3:rÑŒ…�rÒŒ}rÓŒ(jYUjZjÍŒubajdjubj{X Connect to the coresrÔŒ…�rÕŒ}rÖŒ(jYX Connect to the coresjZjÈŒubeubj¡)�r׌}rØŒ(jYX¥Right click on the target configuration and Select "Launch Target configuration". Wait for CCS debug View to launch and display the eight C66x cores and 4 A15 cores.rÙŒjZjï‹jbj/~jdj¥jf}rÚŒ(jh]ji]jj]jk]jn]ujpMjqhjr]rÛŒj{X¥Right click on the target configuration and Select "Launch Target configuration". Wait for CCS debug View to launch and display the eight C66x cores and 4 A15 cores.rÜŒ…�rÝŒ}rÞŒ(jYjÙŒjZj׌ubaubjB)�rߌ}ràŒ(jYX3.. image:: ../../../images/Launch_TargetConfig.png jZjï‹jbj/~jdjEjf}ráŒ(UuriX,rtos/../../../images/Launch_TargetConfig.pngrâŒjk]jj]jh]ji]jH}rãŒU*jâŒsjn]ujpM"jqhjr]ubjB)�räŒ}råŒ(jYX+.. image:: ../../../images/Connect_A15.png jZjï‹jbj/~jdjEjf}ræŒ(UuriX$rtos/../../../images/Connect_A15.pngrçŒjk]jj]jh]ji]jH}rèŒU*jçŒsjn]ujpM$jqhjr]ubj¡)�réŒ}rêŒ(jYXStart by connecting to A15\_0 and C66x\_0. when you connect to the cores, you will see the GEL script logs in the console window, which indicates that device clocks, PSC and external DDR memory has been initialized. The GEL log from target connect is provided below for reference.jZjï‹jbj/~jdj¥jf}rëŒ(jh]ji]jj]jk]jn]ujpM%jqhjr]rìŒj{XStart by connecting to A15_0 and C66x_0. when you connect to the cores, you will see the GEL script logs in the console window, which indicates that device clocks, PSC and external DDR memory has been initialized. The GEL log from target connect is provided below for reference.r팅�rîŒ}rïŒ(jYXStart by connecting to A15\_0 and C66x\_0. when you connect to the cores, you will see the GEL script logs in the console window, which indicates that device clocks, PSC and external DDR memory has been initialized. The GEL log from target connect is provided below for reference.jZjéŒubaubj)�rðŒ}rñŒ(jYX]arm_A15_0: GEL Output: Disabling MMU arm_A15_0: GEL Output: Disabling Caches arm_A15_0: GEL Output: Invalidate Instruction Caches arm_A15_0: GEL Output: Enabling non-secure access to cp10 and cp11 arm_A15_0: GEL Output: Enabled non-secure access to cp10 and cp11 arm_A15_0: GEL Output: Enabling SMP bit in ACTLR arm_A15_0: GEL Output: Enabled SMP bit in ACTLR arm_A15_0: GEL Output: Entering NonSecure Mode arm_A15_0: GEL Output: Entered NonSecure Mode arm_A15_0: GEL Output: Disabling MMU arm_A15_0: GEL Output: Disabling Caches arm_A15_0: GEL Output: Invalidate Instruction Caches arm_A15_0: GEL Output:jZjï‹jbj/~jdjjf}ròŒ(jöj÷jk]jj]jh]ji]jn]ujpMt$jqhjr]róŒj{X]arm_A15_0: GEL Output: Disabling MMU arm_A15_0: GEL Output: Disabling Caches arm_A15_0: GEL Output: Invalidate Instruction Caches arm_A15_0: GEL Output: Enabling non-secure access to cp10 and cp11 arm_A15_0: GEL Output: Enabled non-secure access to cp10 and cp11 arm_A15_0: GEL Output: Enabling SMP bit in ACTLR arm_A15_0: GEL Output: Enabled SMP bit in ACTLR arm_A15_0: GEL Output: Entering NonSecure Mode arm_A15_0: GEL Output: Entered NonSecure Mode arm_A15_0: GEL Output: Disabling MMU arm_A15_0: GEL Output: Disabling Caches arm_A15_0: GEL Output: Invalidate Instruction Caches arm_A15_0: GEL Output:rôŒ…�rõŒ}röŒ(jYUjZjðŒubaubj¡)�r÷Œ}røŒ(jYXConnecting Target...rùŒjZjï‹jbj/~jdj¥jf}rúŒ(jh]ji]jj]jk]jn]ujpM;jqhjr]rûŒj{XConnecting Target...rüŒ…�rýŒ}rþŒ(jYjùŒjZj÷Œubaubj)�rÿŒ}r�(jYX©arm_A15_0: GEL Output: Disabling MMU arm_A15_0: GEL Output: Disabling Caches arm_A15_0: GEL Output: Invalidate Instruction Caches arm_A15_0: GEL Output: Enabling non-secure access to cp10 and cp11 arm_A15_0: GEL Output: Enabled non-secure access to cp10 and cp11 arm_A15_0: GEL Output: Enabling SMP bit in ACTLR arm_A15_0: GEL Output: Enabled SMP bit in ACTLR arm_A15_0: GEL Output: Entering NonSecure Mode arm_A15_0: GEL Output: Entered NonSecure Mode arm_A15_0: GEL Output: Disabling MMU arm_A15_0: GEL Output: Disabling Caches arm_A15_0: GEL Output: Invalidate Instruction Caches arm_A15_0: GEL Output: TCI6638K2K GEL file Ver is 1.89999998 arm_A15_0: GEL Output: Disabling MMU arm_A15_0: GEL Output: Disabling Caches arm_A15_0: GEL Output: Invalidate Instruction Caches arm_A15_0: GEL Output: Enabling non-secure access to cp10 and cp11 arm_A15_0: GEL Output: Enabled non-secure access to cp10 and cp11 arm_A15_0: GEL Output: Enabling SMP bit in ACTLR arm_A15_0: GEL Output: Enabled SMP bit in ACTLR arm_A15_0: GEL Output: Entering NonSecure Mode arm_A15_0: GEL Output: Entered NonSecure Mode arm_A15_0: GEL Output: Disabling MMU arm_A15_0: GEL Output: Disabling Caches arm_A15_0: GEL Output: Invalidate Instruction Caches arm_A15_0: GEL Output: Detected PLL bypass disabled: SECCTL[BYPASS] = 0x00000000 arm_A15_0: GEL Output: (3a) PLLCTL = 0x00000040 arm_A15_0: GEL Output: (3b) PLLCTL = 0x00000040 arm_A15_0: GEL Output: (3c) Delay... arm_A15_0: GEL Output: (4)PLLM[PLLM] = 0x0000000F arm_A15_0: GEL Output: MAINPLLCTL0 = 0x07000000 arm_A15_0: GEL Output: (5) MAINPLLCTL0 = 0x07000000 arm_A15_0: GEL Output: (5) MAINPLLCTL1 = 0x00000040 arm_A15_0: GEL Output: (6) MAINPLLCTL0 = 0x07000000 arm_A15_0: GEL Output: (7) SECCTL = 0x00090000 arm_A15_0: GEL Output: (8a) Delay... arm_A15_0: GEL Output: PLL1_DIV3 = 0x00008002 arm_A15_0: GEL Output: PLL1_DIV4 = 0x00008004 arm_A15_0: GEL Output: PLL1_DIV7 = 0x00000000 arm_A15_0: GEL Output: (8d/e) Delay... arm_A15_0: GEL Output: (10) Delay... arm_A15_0: GEL Output: (12) Delay... arm_A15_0: GEL Output: (13) SECCTL = 0x00090000 arm_A15_0: GEL Output: (Delay... arm_A15_0: GEL Output: (Delay... arm_A15_0: GEL Output: (14) PLLCTL = 0x00000041 arm_A15_0: GEL Output: PLL has been configured (CLKIN * PLLM / PLLD / PLLOD = PLLOUT): arm_A15_0: GEL Output: PLL has been configured (122.879997 MHz * 16 / 1 / 2 = 983.039978 MHz) arm_A15_0: GEL Output: Switching on ARM Core 0 arm_A15_0: GEL Output: Switching on ARM Core 1 arm_A15_0: GEL Output: Switching on ARM Core 2 arm_A15_0: GEL Output: Switching on ARM Core 3 arm_A15_0: GEL Output: ARM PLL has been configured (125.0 MHz * 16 / 2 = 1000.0 MHz) arm_A15_0: GEL Output: DISABLESTAT ---> 0x00000000 arm_A15_0: GEL Output: Power on all PSC modules and DSP domains... arm_A15_0: GEL Output: Power on all PSC modules and DSP domains... Done. arm_A15_0: GEL Output: WARNING: SYSCLK is the input to the PA PLL. arm_A15_0: GEL Output: Completed PA PLL Setup arm_A15_0: GEL Output: PAPLLCTL0 - before: 0x0x09080500 after: 0x0x09080500 arm_A15_0: GEL Output: PAPLLCTL1 - before: 0x0x00002040 after: 0x0x00002040 arm_A15_0: GEL Output: DDR begin arm_A15_0: GEL Output: XMC setup complete. arm_A15_0: GEL Output: DDR3 PLL (PLL2) Setup ... arm_A15_0: GEL Output: DDR3 PLL Setup complete, DDR3A clock now running at 666 MHz. arm_A15_0: GEL Output: DDR3A initialization complete arm_A15_0: GEL Output: DDR3 PLL Setup ... arm_A15_0: GEL Output: DDR3 PLL Setup complete, DDR3B clock now running at 800MHz. arm_A15_0: GEL Output: DDR3B initialization complete arm_A15_0: GEL Output: DDR done arm_A15_0: GEL Output: Entering A15 non secure mode .. arm_A15_0: GEL Output: Disabling MMU arm_A15_0: GEL Output: Disabling Caches arm_A15_0: GEL Output: Invalidate Instruction Caches arm_A15_0: GEL Output: Enabling non-secure access to cp10 and cp11 arm_A15_0: GEL Output: Enabled non-secure access to cp10 and cp11 arm_A15_0: GEL Output: Enabling SMP bit in ACTLR arm_A15_0: GEL Output: Enabled SMP bit in ACTLR arm_A15_0: GEL Output: Entering NonSecure Mode arm_A15_0: GEL Output: Entered NonSecure Mode arm_A15_0: GEL Output: Disabling MMU arm_A15_0: GEL Output: Disabling Caches arm_A15_0: GEL Output: Invalidate Instruction Caches arm_A15_0: GEL Output: A15 non secure mode enteredjZjï‹jbj/~jdjjf}r�(jöj÷jk]jj]jh]ji]jn]ujpM†$jqhjr]r�j{X©arm_A15_0: GEL Output: Disabling MMU arm_A15_0: GEL Output: Disabling Caches arm_A15_0: GEL Output: Invalidate Instruction Caches arm_A15_0: GEL Output: Enabling non-secure access to cp10 and cp11 arm_A15_0: GEL Output: Enabled non-secure access to cp10 and cp11 arm_A15_0: GEL Output: Enabling SMP bit in ACTLR arm_A15_0: GEL Output: Enabled SMP bit in ACTLR arm_A15_0: GEL Output: Entering NonSecure Mode arm_A15_0: GEL Output: Entered NonSecure Mode arm_A15_0: GEL Output: Disabling MMU arm_A15_0: GEL Output: Disabling Caches arm_A15_0: GEL Output: Invalidate Instruction Caches arm_A15_0: GEL Output: TCI6638K2K GEL file Ver is 1.89999998 arm_A15_0: GEL Output: Disabling MMU arm_A15_0: GEL Output: Disabling Caches arm_A15_0: GEL Output: Invalidate Instruction Caches arm_A15_0: GEL Output: Enabling non-secure access to cp10 and cp11 arm_A15_0: GEL Output: Enabled non-secure access to cp10 and cp11 arm_A15_0: GEL Output: Enabling SMP bit in ACTLR arm_A15_0: GEL Output: Enabled SMP bit in ACTLR arm_A15_0: GEL Output: Entering NonSecure Mode arm_A15_0: GEL Output: Entered NonSecure Mode arm_A15_0: GEL Output: Disabling MMU arm_A15_0: GEL Output: Disabling Caches arm_A15_0: GEL Output: Invalidate Instruction Caches arm_A15_0: GEL Output: Detected PLL bypass disabled: SECCTL[BYPASS] = 0x00000000 arm_A15_0: GEL Output: (3a) PLLCTL = 0x00000040 arm_A15_0: GEL Output: (3b) PLLCTL = 0x00000040 arm_A15_0: GEL Output: (3c) Delay... arm_A15_0: GEL Output: (4)PLLM[PLLM] = 0x0000000F arm_A15_0: GEL Output: MAINPLLCTL0 = 0x07000000 arm_A15_0: GEL Output: (5) MAINPLLCTL0 = 0x07000000 arm_A15_0: GEL Output: (5) MAINPLLCTL1 = 0x00000040 arm_A15_0: GEL Output: (6) MAINPLLCTL0 = 0x07000000 arm_A15_0: GEL Output: (7) SECCTL = 0x00090000 arm_A15_0: GEL Output: (8a) Delay... arm_A15_0: GEL Output: PLL1_DIV3 = 0x00008002 arm_A15_0: GEL Output: PLL1_DIV4 = 0x00008004 arm_A15_0: GEL Output: PLL1_DIV7 = 0x00000000 arm_A15_0: GEL Output: (8d/e) Delay... arm_A15_0: GEL Output: (10) Delay... arm_A15_0: GEL Output: (12) Delay... arm_A15_0: GEL Output: (13) SECCTL = 0x00090000 arm_A15_0: GEL Output: (Delay... arm_A15_0: GEL Output: (Delay... arm_A15_0: GEL Output: (14) PLLCTL = 0x00000041 arm_A15_0: GEL Output: PLL has been configured (CLKIN * PLLM / PLLD / PLLOD = PLLOUT): arm_A15_0: GEL Output: PLL has been configured (122.879997 MHz * 16 / 1 / 2 = 983.039978 MHz) arm_A15_0: GEL Output: Switching on ARM Core 0 arm_A15_0: GEL Output: Switching on ARM Core 1 arm_A15_0: GEL Output: Switching on ARM Core 2 arm_A15_0: GEL Output: Switching on ARM Core 3 arm_A15_0: GEL Output: ARM PLL has been configured (125.0 MHz * 16 / 2 = 1000.0 MHz) arm_A15_0: GEL Output: DISABLESTAT ---> 0x00000000 arm_A15_0: GEL Output: Power on all PSC modules and DSP domains... arm_A15_0: GEL Output: Power on all PSC modules and DSP domains... Done. arm_A15_0: GEL Output: WARNING: SYSCLK is the input to the PA PLL. arm_A15_0: GEL Output: Completed PA PLL Setup arm_A15_0: GEL Output: PAPLLCTL0 - before: 0x0x09080500 after: 0x0x09080500 arm_A15_0: GEL Output: PAPLLCTL1 - before: 0x0x00002040 after: 0x0x00002040 arm_A15_0: GEL Output: DDR begin arm_A15_0: GEL Output: XMC setup complete. arm_A15_0: GEL Output: DDR3 PLL (PLL2) Setup ... arm_A15_0: GEL Output: DDR3 PLL Setup complete, DDR3A clock now running at 666 MHz. arm_A15_0: GEL Output: DDR3A initialization complete arm_A15_0: GEL Output: DDR3 PLL Setup ... arm_A15_0: GEL Output: DDR3 PLL Setup complete, DDR3B clock now running at 800MHz. arm_A15_0: GEL Output: DDR3B initialization complete arm_A15_0: GEL Output: DDR done arm_A15_0: GEL Output: Entering A15 non secure mode .. arm_A15_0: GEL Output: Disabling MMU arm_A15_0: GEL Output: Disabling Caches arm_A15_0: GEL Output: Invalidate Instruction Caches arm_A15_0: GEL Output: Enabling non-secure access to cp10 and cp11 arm_A15_0: GEL Output: Enabled non-secure access to cp10 and cp11 arm_A15_0: GEL Output: Enabling SMP bit in ACTLR arm_A15_0: GEL Output: Enabled SMP bit in ACTLR arm_A15_0: GEL Output: Entering NonSecure Mode arm_A15_0: GEL Output: Entered NonSecure Mode arm_A15_0: GEL Output: Disabling MMU arm_A15_0: GEL Output: Disabling Caches arm_A15_0: GEL Output: Invalidate Instruction Caches arm_A15_0: GEL Output: A15 non secure mode enteredr�…�r�}r�(jYUjZjÿŒubaubj¡)�r�}r�(jYX^Users can now load and run code on the cores by using Run -> Load Program. Happy Debugging !!r�jZjï‹jbj/~jdj¥jf}r �(jh]ji]jj]jk]jn]ujpM“jqhjr]r �j{X^Users can now load and run code on the cores by using Run -> Load Program. Happy Debugging !!r �…�r �}r �(jYj�jZj�ubaubjî)�r�}r�(jYXTMDSEVM6657L EVM Hardware SetupjZjï‹jbjcjdjôjf}r�(jöj÷jk]jj]jh]ji]jn]ujpK€jqhjr]r�j{XTMDSEVM6657L EVM Hardware Setupr�…�r�}r�(jYUjZj�ubaubjî)�r�}r�(jYX4====================================================jZjï‹jbjcjdjôjf}r�(jöj÷jk]jj]jh]ji]jn]ujpK�jqhjr]r�j{X4====================================================r�…�r�}r�(jYUjZj�ubaubeubeubj[)�r�}r�(jYUjZjR\jbj�XHsource/common/EVM_Hardware_Setup/TMDSEVM6657L_EVM_Hardware_Setup.rst.incr�…�r�}r �bjdjejf}r!�(jh]ji]jj]jk]r"�U%tmdsevm6657l-evm-hardware-setup-guider#�ajn]r$�hÈaujpKjqhjr]r%�(jt)�r&�}r'�(jYX%TMDSEVM6657L EVM Hardware Setup Guider(�jZj�jbj�jdjxjf}r)�(jh]ji]jj]jk]jn]ujpKjqhjr]r*�j{X%TMDSEVM6657L EVM Hardware Setup Guider+�…�r,�}r-�(jYj(�jZj&�ubaubj¡)�r.�}r/�(jYX¶This page will walk you through setting up your `TMDSEVM6657L `__ Evaluation Module (EVM). These guidelines also apply to the L and LE EVM models.jZj�jbj�jdj¥jf}r0�(jh]ji]jj]jk]jn]ujpKjqhjr]r1�(j{X0This page will walk you through setting up your r2�…�r3�}r4�(jYX0This page will walk you through setting up your jZj.�ubjÜ)�r5�}r6�(jYX5`TMDSEVM6657L `__jf}r7�(UnameX TMDSEVM6657LjX"http://www.ti.com/tool/TMDSEVM6657jk]jj]jh]ji]jn]ujZj.�jr]r8�j{X TMDSEVM6657Lr9�…�r:�}r;�(jYUjZj5�ubajdjàubj{XQ Evaluation Module (EVM). These guidelines also apply to the L and LE EVM models.r<�…�r=�}r>�(jYXQ Evaluation Module (EVM). These guidelines also apply to the L and LE EVM models.jZj.�ubeubj)�r?�}r@�(jYXcSome of the steps in this section have been updated from those used in the EVM *Quick Start Guide*.rA�jZj�jbj�jdjjf}rB�(jh]ji]jj]jk]jn]ujpNjqhjr]rC�j¡)�rD�}rE�(jYjA�jZj?�jbj�jdj¥jf}rF�(jh]ji]jj]jk]jn]ujpK jr]rG�(j{XOSome of the steps in this section have been updated from those used in the EVM rH�…�rI�}rJ�(jYXOSome of the steps in this section have been updated from those used in the EVM jZjD�ubjŸ')�rK�}rL�(jYX*Quick Start Guide*jf}rM�(jh]ji]jj]jk]jn]ujZjD�jr]rN�j{XQuick Start GuiderO�…�rP�}rQ�(jYUjZjK�ubajdj§'ubj{X.…�rR�}rS�(jYX.jZjD�ubeubaubj[)�rT�}rU�(jYUjìKjZj�jbj�jdjejf}rV�(jh]rW�Xhardware setup overviewrX�aji]jj]jk]rY�Uhardware-setup-overviewrZ�ajn]ujpKjqhjr]r[�(jt)�r\�}r]�(jYXHardware Setup Overviewr^�jZjT�jbj�jdjxjf}r_�(jh]ji]jj]jk]jn]ujpKjqhjr]r`�j{XHardware Setup Overviewra�…�rb�}rc�(jYj^�jZj\�ubaubj¡)�rd�}re�(jYXcThe picture below shows the TMDXEVM6657L EVM and the locations of relevant switches and connectors.rf�jZjT�jbj�jdj¥jf}rg�(jh]ji]jj]jk]jn]ujpKjqhjr]rh�j{XcThe picture below shows the TMDXEVM6657L EVM and the locations of relevant switches and connectors.ri�…�rj�}rk�(jYjf�jZjd�ubaubjB)�rl�}rm�(jYX-.. image:: ../images/TMDSEVM6657L-image.jpg jZjT�jbj�jdjEjf}rn�(UuriX%rtos/../images/TMDSEVM6657L-image.jpgro�jk]jj]jh]ji]jH}rp�U*jo�sjn]ujpKjqhjr]ubeubj[)�rq�}rr�(jYUjìKjZj�jbj�jdjejf}rs�(jh]rt�Xhardware setup stepsru�aji]jj]jk]rv�Uhardware-setup-stepsrw�ajn]ujpKjqhjr]rx�(jt)�ry�}rz�(jYXHardware Setup Stepsr{�jZjq�jbj�jdjxjf}r|�(jh]ji]jj]jk]jn]ujpKjqhjr]r}�j{XHardware Setup Stepsr~�…�r�}r€�(jYj{�jZjy�ubaubj)�r��}r‚�(jYXÒ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ƒ�jZjq�jbj�jdjjf}r„�(jh]ji]jj]jk]jn]ujpNjqhjr]r…�j¡)�r†�}r‡�(jYjƒ�jZj��jbj�jdj¥jf}rˆ�(jh]ji]jj]jk]jn]ujpKjr]r‰�j{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Œ�(jYjƒ�jZj†�ubaubaubjZ)�r��}rŽ�(jYUjZjq�jbj�jdj]jf}r��(jh]ji]jj]jk]jn]ujpKjqhjr]r��j`)�r‘�}r’�(jYUjcKjZj��jbj�jdjpjf}r“�(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r”�}r•�(jYXž**1. Attach the Ethernet cable** Using the Ethernet cable supplied, connect one end of the cable to the Ethernet port on the EVM and the other end to your PC.jZjq�jbj�jdj¥jf}r–�(jh]ji]jj]jk]jn]ujpKjqhjr]r—�(jü)�r˜�}r™�(jYX **1. Attach the Ethernet cable**jf}rš�(jh]ji]jj]jk]jn]ujZj”�jr]r›�j{X1. Attach the Ethernet cablerœ�…�r��}rž�(jYUjZj˜�ubajdjubj{X~ Using the Ethernet cable supplied, connect one end of the cable to the Ethernet port on the EVM and the other end to your PC.rŸ�…�r �}r¡�(jYX~ Using the Ethernet cable supplied, connect one end of the cable to the Ethernet port on the EVM and the other end to your PC.jZj”�ubeubj¡)�r¢�}r£�(jYX'**2. Connect the JTAG interface** Use the USB to USB mini-B cable provided. Connect the USB mini-B connector to the USB mini-B interface on the EVM and the USB connector to your PC. This enables XDS-100 emulation and is directly useable by CCS. If you are using a different JTAG, connect it now.jZjq�jbj�jdj¥jf}r¤�(jh]ji]jj]jk]jn]ujpK!jqhjr]r¥�(jü)�r¦�}r§�(jYX!**2. Connect the JTAG interface**jf}r¨�(jh]ji]jj]jk]jn]ujZj¢�jr]r©�j{X2. Connect the JTAG interfacerª�…�r«�}r¬�(jYUjZj¦�ubajdjubj{X Use the USB to USB mini-B cable provided. Connect the USB mini-B connector to the USB mini-B interface on the EVM and the USB connector to your PC. This enables XDS-100 emulation and is directly useable by CCS. If you are using a different JTAG, connect it now.r­�…�r®�}r¯�(jYX Use the USB to USB mini-B cable provided. Connect the USB mini-B connector to the USB mini-B interface on the EVM and the USB connector to your PC. This enables XDS-100 emulation and is directly useable by CCS. If you are using a different JTAG, connect it now.jZj¢�ubeubj¡)�r°�}r±�(jYX‰**3. Verify Endian mode in the SW3 settings** The Endian mode should be set to Little Endian. SW3 also contains the boot device settings.jZjq�jbj�jdj¥jf}r²�(jh]ji]jj]jk]jn]ujpK'jqhjr]r³�(jü)�r´�}rµ�(jYX-**3. Verify Endian mode in the SW3 settings**jf}r¶�(jh]ji]jj]jk]jn]ujZj°�jr]r·�j{X)3. Verify Endian mode in the SW3 settingsr¸�…�r¹�}rº�(jYUjZj´�ubajdjubj{X\ The Endian mode should be set to Little Endian. SW3 also contains the boot device settings.r»�…�r¼�}r½�(jYX\ The Endian mode should be set to Little Endian. SW3 also contains the boot device settings.jZj°�ubeubjB)�r¾�}r¿�(jYX4.. image:: ../images/TMD6657LSW3.png :scale: 60% jZjq�jbj�jdjEjf}rÀ�(UscaleKŽ(jh]ji]jj]jk]jn]ujpKUjqhjr]r?Žjü)�r@Ž}rAŽ(jYj=Žjf}rBŽ(jh]ji]jj]jk]jn]ujZj;Žjr]rCŽj{X7. Connect the power cablerDŽ…�rEŽ}rFŽ(jYUjZj@Žubajdjubaubj¡)�rGŽ}rHŽ(jYXÇConnect the power cable to the EVM power jack on the board. To be ESD safe, plug in the other end of the power cable only after you have connected the power cord to the board. Then turn on the board.rIŽjZjq�jbj�jdj¥jf}rJŽ(jh]ji]jj]jk]jn]ujpKWjqhjr]rKŽj{XÇConnect the power cable to the EVM power jack on the board. To be ESD safe, plug in the other end of the power cable only after you have connected the power cord to the board. Then turn on the board.rLŽ…�rMŽ}rNŽ(jYjIŽjZjGŽubaubjZ)�rOŽ}rPŽ(jYUjZjq�jbj�jdj]jf}rQŽ(jh]ji]jj]jk]jn]ujpK[jqhjr]rRŽj`)�rSŽ}rTŽ(jYUjcKjZjOŽjbj�jdjpjf}rUŽ(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubj[)�rVŽ}rWŽ(jYUjìKjZj�jbj�jdjejf}rXŽ(jh]rYŽXboot mode dip switch settingsrZŽaji]jj]jk]r[ŽUboot-mode-dip-switch-settingsr\Žajn]ujpK^jqhjr]r]Ž(jt)�r^Ž}r_Ž(jYXBoot Mode Dip Switch Settingsr`ŽjZjVŽjbj�jdjxjf}raŽ(jh]ji]jj]jk]jn]ujpK^jqhjr]rbŽj{XBoot Mode Dip Switch SettingsrcŽ…�rdŽ}reŽ(jYj`ŽjZj^Žubaubj¡)�rfŽ}rgŽ(jYXmThe EVM supports booting image from various devices (EEPROM, NAND or NOR) via IBL (at I2C address 0x51), I2C EEPROM (at I2C address 0x50), and ROM Boot modes (such as Ethernet, SRIO, PCIe, SPI etc.) which address the boot source directly from the ROM code. Below is the table showing the boot mode dip switch settings for different boot mode that the EVM supports:rhŽjZjVŽjbj�jdj¥jf}riŽ(jh]ji]jj]jk]jn]ujpK`jqhjr]rjŽj{XmThe EVM supports booting image from various devices (EEPROM, NAND or NOR) via IBL (at I2C address 0x51), I2C EEPROM (at I2C address 0x50), and ROM Boot modes (such as Ethernet, SRIO, PCIe, SPI etc.) which address the boot source directly from the ROM code. Below is the table showing the boot mode dip switch settings for different boot mode that the EVM supports:rkŽ…�rlŽ}rmŽ(jYjhŽjZjfŽubaubjd$)�rnŽ}roŽ(jYUjZjVŽjbj�jdjg$jf}rpŽ(jh]ji]jj]jk]jn]ujpNjqhjr]rqŽjj$)�rrŽ}rsŽ(jYUjf}rtŽ(jk]jj]jh]ji]jn]UcolsKujZjnŽjr]ruŽ(jo$)�rvŽ}rwŽ(jYUjf}rxŽ(jk]jj]jh]ji]jn]UcolwidthKujZjrŽjr]jdjs$ubjo$)�ryŽ}rzŽ(jYUjf}r{Ž(jk]jj]jh]ji]jn]UcolwidthKujZjrŽjr]jdjs$ubjo$)�r|Ž}r}Ž(jYUjf}r~Ž(jk]jj]jh]ji]jn]UcolwidthKujZjrŽjr]jdjs$ubjz$)�rŽ}r€Ž(jYUjf}r�Ž(jh]ji]jj]jk]jn]ujZjrŽjr]r‚Žj$)�rƒŽ}r„Ž(jYUjf}r…Ž(jh]ji]jj]jk]jn]ujZjŽjr]r†Ž(j„$)�r‡Ž}rˆŽ(jYUjf}r‰Ž(jh]ji]jj]jk]jn]ujZjƒŽjr]rŠŽj¡)�r‹Ž}rŒŽ(jYX Boot Moder�ŽjZj‡Žjbj�jdj¥jf}rŽŽ(jh]ji]jj]jk]jn]ujpKhjr]r�Žj{X Boot Moder�Ž…�r‘Ž}r’Ž(jYj�ŽjZj‹Žubaubajdj‘$ubj„$)�r“Ž}r”Ž(jYUjf}r•Ž(jh]ji]jj]jk]jn]ujZjƒŽjr]r–Ž(j¡)�r—Ž}r˜Ž(jYXDIP SW3r™ŽjZj“Žjbj�jdj¥jf}ršŽ(jh]ji]jj]jk]jn]ujpKhjr]r›Žj{XDIP SW3rœŽ…�r�Ž}ržŽ(jYj™ŽjZj—Žubaubj¡)�rŸŽ}r Ž(jYX(Pin1, 2, 3, 4, 5, 6, 7, 8)r¡ŽjZj“Žjbj�jdj¥jf}r¢Ž(jh]ji]jj]jk]jn]ujpKjjr]r£Žj{X(Pin1, 2, 3, 4, 5, 6, 7, 8)r¤Ž…�r¥Ž}r¦Ž(jYj¡ŽjZjŸŽubaubejdj‘$ubj„$)�r§Ž}r¨Ž(jYUjf}r©Ž(jh]ji]jj]jk]jn]ujZjƒŽjr]rªŽ(j¡)�r«Ž}r¬Ž(jYXDIP SW5r­ŽjZj§Žjbj�jdj¥jf}r®Ž(jh]ji]jj]jk]jn]ujpKhjr]r¯Žj{XDIP SW5r°Ž…�r±Ž}r²Ž(jYj­ŽjZj«Žubaubj¡)�r³Ž}r´Ž(jYX(Pin1, 2, 3, 4, 5, 6, 7, 8)rµŽjZj§Žjbj�jdj¥jf}r¶Ž(jh]ji]jj]jk]jn]ujpKjjr]r·Žj{X(Pin1, 2, 3, 4, 5, 6, 7, 8)r¸Ž…�r¹Ž}rºŽ(jYjµŽjZj³Žubaubejdj‘$ubejdjª$ubajdj«$ubj¬$)�r»Ž}r¼Ž(jYUjf}r½Ž(jh]ji]jj]jk]jn]ujZjrŽjr]r¾Ž(j$)�r¿Ž}rÀŽ(jYUjf}rÁŽ(jh]ji]jj]jk]jn]ujZj»Žjr]rÂŽ(j„$)�rÃŽ}rÄŽ(jYUjf}rÅŽ(jh]ji]jj]jk]jn]ujZj¿Žjr]rÆŽj¡)�rÇŽ}rÈŽ(jYX"IBL NOR boot on image 0 (default)rÉŽjZjÃŽjbj�jdj¥jf}rÊŽ(jh]ji]jj]jk]jn]ujpKmjr]rËŽj{X"IBL NOR boot on image 0 (default)rÌŽ…�rÍŽ}rÎŽ(jYjÉŽjZjÇŽubaubajdj‘$ubj„$)�rÏŽ}rÐŽ(jYUjf}rÑŽ(jh]ji]jj]jk]jn]ujZj¿Žjr]rÒŽj¡)�rÓŽ}rÔŽ(jYX1(off, off, on, off, on, on, on, on)\ :sup:`1,2,3`jZjÏŽjbj�jdj¥jf}rÕŽ(jh]ji]jj]jk]jn]ujpKmjr]rÖŽ(j{X#(off, off, on, off, on, on, on, on)r׎…�rØŽ}rÙŽ(jYX%(off, off, on, off, on, on, on, on)\ jZjÓŽubj„)�rÚŽ}rÛŽ(jYX :sup:`1,2,3`jf}rÜŽ(jh]ji]jj]jk]jn]ujZjÓŽjr]rÝŽj{X1,2,3rÞŽ…�rߎ}ràŽ(jYUjZjÚŽubajdj„ubeubajdj‘$ubj„$)�ráŽ}râŽ(jYUjf}rãŽ(jh]ji]jj]jk]jn]ujZj¿Žjr]räŽj¡)�råŽ}ræŽ(jYX+(on, on, on, off, on, on, on, on)\ :sup:`4`jZjáŽjbj�jdj¥jf}rçŽ(jh]ji]jj]jk]jn]ujpKmjr]rèŽ(j{X!(on, on, on, off, on, on, on, on)r鎅�rêŽ}rëŽ(jYX#(on, on, on, off, on, on, on, on)\ jZjåŽubj„)�rìŽ}ríŽ(jYX:sup:`4`jf}rîŽ(jh]ji]jj]jk]jn]ujZjåŽjr]rïŽj{X4…�rðŽ}rñŽ(jYUjZjìŽubajdj„ubeubajdj‘$ubejdjª$ubj$)�ròŽ}róŽ(jYUjf}rôŽ(jh]ji]jj]jk]jn]ujZj»Žjr]rõŽ(j„$)�röŽ}r÷Ž(jYUjf}røŽ(jh]ji]jj]jk]jn]ujZjòŽjr]rùŽj¡)�rúŽ}rûŽ(jYXIBL NAND boot on image 0rüŽjZjöŽjbj�jdj¥jf}rýŽ(jh]ji]jj]jk]jn]ujpKqjr]rþŽj{XIBL NAND boot on image 0rÿŽ…�r�}r�(jYjüŽjZjúŽubaubajdj‘$ubj„$)�r�}r�(jYUjf}r�(jh]ji]jj]jk]jn]ujZjòŽjr]r�j¡)�r�}r�(jYX$(off, off, on, off, on, off, on, on)r�jZj�jbj�jdj¥jf}r �(jh]ji]jj]jk]jn]ujpKqjr]r �j{X$(off, off, on, off, on, off, on, on)r �…�r �}r �(jYj�jZj�ubaubajdj‘$ubj„$)�r�}r�(jYUjf}r�(jh]ji]jj]jk]jn]ujZjòŽjr]r�j¡)�r�}r�(jYX!(on, on, on, off, on, on, on, on)r�jZj�jbj�jdj¥jf}r�(jh]ji]jj]jk]jn]ujpKqjr]r�j{X!(on, on, on, off, on, on, on, on)r�…�r�}r�(jYj�jZj�ubaubajdj‘$ubejdjª$ubj$)�r�}r�(jYUjf}r�(jh]ji]jj]jk]jn]ujZj»Žjr]r�(j„$)�r�}r�(jYUjf}r �(jh]ji]jj]jk]jn]ujZj�jr]r!�j¡)�r"�}r#�(jYXIBL NAND boot on image 1r$�jZj�jbj�jdj¥jf}r%�(jh]ji]jj]jk]jn]ujpKtjr]r&�j{XIBL NAND boot on image 1r'�…�r(�}r)�(jYj$�jZj"�ubaubajdj‘$ubj„$)�r*�}r+�(jYUjf}r,�(jh]ji]jj]jk]jn]ujZj�jr]r-�j¡)�r.�}r/�(jYX%(off, off, on, off, off, off, on, on)r0�jZj*�jbj�jdj¥jf}r1�(jh]ji]jj]jk]jn]ujpKtjr]r2�j{X%(off, off, on, off, off, off, on, on)r3�…�r4�}r5�(jYj0�jZj.�ubaubajdj‘$ubj„$)�r6�}r7�(jYUjf}r8�(jh]ji]jj]jk]jn]ujZj�jr]r9�j¡)�r:�}r;�(jYX!(on, on, on, off, on, on, on, on)r<�jZj6�jbj�jdj¥jf}r=�(jh]ji]jj]jk]jn]ujpKtjr]r>�j{X!(on, on, on, off, on, on, on, on)r?�…�r@�}rA�(jYj<�jZj:�ubaubajdj‘$ubejdjª$ubj$)�rB�}rC�(jYUjf}rD�(jh]ji]jj]jk]jn]ujZj»Žjr]rE�(j„$)�rF�}rG�(jYUjf}rH�(jh]ji]jj]jk]jn]ujZjB�jr]rI�j¡)�rJ�}rK�(jYX IBL TFTP bootrL�jZjF�jbj�jdj¥jf}rM�(jh]ji]jj]jk]jn]ujpKwjr]rN�j{X IBL TFTP bootrO�…�rP�}rQ�(jYjL�jZjJ�ubaubajdj‘$ubj„$)�rR�}rS�(jYUjf}rT�(jh]ji]jj]jk]jn]ujZjB�jr]rU�j¡)�rV�}rW�(jYX$(off, off, on, off, on, on, off, on)rX�jZjR�jbj�jdj¥jf}rY�(jh]ji]jj]jk]jn]ujpKwjr]rZ�j{X$(off, off, on, off, on, on, off, on)r[�…�r\�}r]�(jYjX�jZjV�ubaubajdj‘$ubj„$)�r^�}r_�(jYUjf}r`�(jh]ji]jj]jk]jn]ujZjB�jr]ra�j¡)�rb�}rc�(jYX!(on, on, on, off, on, on, on, on)rd�jZj^�jbj�jdj¥jf}re�(jh]ji]jj]jk]jn]ujpKwjr]rf�j{X!(on, on, on, off, on, on, on, on)rg�…�rh�}ri�(jYjd�jZjb�ubaubajdj‘$ubejdjª$ubj$)�rj�}rk�(jYUjf}rl�(jh]ji]jj]jk]jn]ujZj»Žjr]rm�(j„$)�rn�}ro�(jYUjf}rp�(jh]ji]jj]jk]jn]ujZjj�jr]rq�j¡)�rr�}rs�(jYX I2C POST bootrt�jZjn�jbj�jdj¥jf}ru�(jh]ji]jj]jk]jn]ujpKzjr]rv�j{X I2C POST bootrw�…�rx�}ry�(jYjt�jZjr�ubaubajdj‘$ubj„$)�rz�}r{�(jYUjf}r|�(jh]ji]jj]jk]jn]ujZjj�jr]r}�j¡)�r~�}r�(jYX#(off, off, on, off, on, on, on, on)r€�jZjz�jbj�jdj¥jf}r��(jh]ji]jj]jk]jn]ujpKzjr]r‚�j{X#(off, off, on, off, on, on, on, on)rƒ�…�r„�}r…�(jYj€�jZj~�ubaubajdj‘$ubj„$)�r†�}r‡�(jYUjf}rˆ�(jh]ji]jj]jk]jn]ujZjj�jr]r‰�j¡)�rŠ�}r‹�(jYX (on, on, on, on, on, on, on, on)rŒ�jZj†�jbj�jdj¥jf}r��(jh]ji]jj]jk]jn]ujpKzjr]rŽ�j{X (on, on, on, on, on, on, on, on)r��…�r��}r‘�(jYjŒ�jZjŠ�ubaubajdj‘$ubejdjª$ubj$)�r’�}r“�(jYUjf}r”�(jh]ji]jj]jk]jn]ujZj»Žjr]r•�(j„$)�r–�}r—�(jYUjf}r˜�(jh]ji]jj]jk]jn]ujZj’�jr]r™�j¡)�rš�}r›�(jYXROM SPI Boot\ :sup:`8`jZj–�jbj�jdj¥jf}rœ�(jh]ji]jj]jk]jn]ujpK}jr]r��(j{X ROM SPI Bootrž�…�rŸ�}r �(jYXROM SPI Boot\ jZjš�ubj„)�r¡�}r¢�(jYX:sup:`8`jf}r£�(jh]ji]jj]jk]jn]ujZjš�jr]r¤�j{X8…�r¥�}r¦�(jYUjZj¡�ubajdj„ubeubajdj‘$ubj„$)�r§�}r¨�(jYUjf}r©�(jh]ji]jj]jk]jn]ujZj’�jr]rª�j¡)�r«�}r¬�(jYX#(off, on, off, off, on, on, on, on)r­�jZj§�jbj�jdj¥jf}r®�(jh]ji]jj]jk]jn]ujpK}jr]r¯�j{X#(off, on, off, off, on, on, on, on)r°�…�r±�}r²�(jYj­�jZj«�ubaubajdj‘$ubj„$)�r³�}r´�(jYUjf}rµ�(jh]ji]jj]jk]jn]ujZj’�jr]r¶�j¡)�r·�}r¸�(jYX!(on, on, off, on, on, on, on, on)r¹�jZj³�jbj�jdj¥jf}rº�(jh]ji]jj]jk]jn]ujpK}jr]r»�j{X!(on, on, off, on, on, on, on, on)r¼�…�r½�}r¾�(jYj¹�jZj·�ubaubajdj‘$ubejdjª$ubj$)�r¿�}rÀ�(jYUjf}rÁ�(jh]ji]jj]jk]jn]ujZj»Žjr]rÂ�(j„$)�rÃ�}rÄ�(jYUjf}rÅ�(jh]ji]jj]jk]jn]ujZj¿�jr]rÆ�j¡)�rÇ�}rÈ�(jYXROM SRIO Boot\ :sup:`5`jZjÃ�jbj�jdj¥jf}rÉ�(jh]ji]jj]jk]jn]ujpK€jr]rÊ�(j{X ROM SRIO BootrË�…�rÌ�}rÍ�(jYXROM SRIO Boot\ jZjÇ�ubj„)�rÎ�}rÏ�(jYX:sup:`5`jf}rÐ�(jh]ji]jj]jk]jn]ujZjÇ�jr]rÑ�j{X5…�rÒ�}rÓ�(jYUjZjÎ�ubajdj„ubeubajdj‘$ubj„$)�rÔ�}rÕ�(jYUjf}rÖ�(jh]ji]jj]jk]jn]ujZj¿�jr]r×�j¡)�rØ�}rÙ�(jYX#(off, off, on, on, on, on, off, on)rÚ�jZjÔ�jbj�jdj¥jf}rÛ�(jh]ji]jj]jk]jn]ujpK€jr]rÜ�j{X#(off, off, on, on, on, on, off, on)rÝ�…�rÞ�}rß�(jYjÚ�jZjØ�ubaubajdj‘$ubj„$)�rà�}rá�(jYUjf}râ�(jh]ji]jj]jk]jn]ujZj¿�jr]rã�j¡)�rä�}rå�(jYX#(off, on, on, off, off, on, on, on)ræ�jZjà�jbj�jdj¥jf}rç�(jh]ji]jj]jk]jn]ujpK€jr]rè�j{X#(off, on, on, off, off, on, on, on)ré�…�rê�}rë�(jYjæ�jZjä�ubaubajdj‘$ubejdjª$ubj$)�rì�}rí�(jYUjf}rî�(jh]ji]jj]jk]jn]ujZj»Žjr]rï�(j„$)�rð�}rñ�(jYUjf}rò�(jh]ji]jj]jk]jn]ujZjì�jr]ró�j¡)�rô�}rõ�(jYXROM Ethernet Boot\ :sup:`6`jZjð�jbj�jdj¥jf}rö�(jh]ji]jj]jk]jn]ujpKƒjr]r÷�(j{XROM Ethernet Bootrø�…�rù�}rú�(jYXROM Ethernet Boot\ jZjô�ubj„)�rû�}rü�(jYX:sup:`6`jf}rý�(jh]ji]jj]jk]jn]ujZjô�jr]rþ�j{X6…�rÿ�}r�(jYUjZjû�ubajdj„ubeubajdj‘$ubj„$)�r�}r�(jYUjf}r�(jh]ji]jj]jk]jn]ujZjì�jr]r�j¡)�r�}r�(jYX#(off, on, off, on, on, on, on, off)r�jZj�jbj�jdj¥jf}r�(jh]ji]jj]jk]jn]ujpKƒjr]r �j{X#(off, on, off, on, on, on, on, off)r �…�r �}r �(jYj�jZj�ubaubajdj‘$ubj„$)�r �}r�(jYUjf}r�(jh]ji]jj]jk]jn]ujZjì�jr]r�j¡)�r�}r�(jYX#(on, off, on, off, off, on, on, on)r�jZj �jbj�jdj¥jf}r�(jh]ji]jj]jk]jn]ujpKƒjr]r�j{X#(on, off, on, off, off, on, on, on)r�…�r�}r�(jYj�jZj�ubaubajdj‘$ubejdjª$ubj$)�r�}r�(jYUjf}r�(jh]ji]jj]jk]jn]ujZj»Žjr]r�(j„$)�r�}r�(jYUjf}r�(jh]ji]jj]jk]jn]ujZj�jr]r �j¡)�r!�}r"�(jYXROM PCIE Boot\ :sup:`7`jZj�jbj�jdj¥jf}r#�(jh]ji]jj]jk]jn]ujpK†jr]r$�(j{X ROM PCIE Bootr%�…�r&�}r'�(jYXROM PCIE Boot\ jZj!�ubj„)�r(�}r)�(jYX:sup:`7`jf}r*�(jh]ji]jj]jk]jn]ujZj!�jr]r+�j{X7…�r,�}r-�(jYUjZj(�ubajdj„ubeubajdj‘$ubj„$)�r.�}r/�(jYUjf}r0�(jh]ji]jj]jk]jn]ujZj�jr]r1�j¡)�r2�}r3�(jYX"(off, on, on, off, on, on, on, on)r4�jZj.�jbj�jdj¥jf}r5�(jh]ji]jj]jk]jn]ujpK†jr]r6�j{X"(off, on, on, off, on, on, on, on)r7�…�r8�}r9�(jYj4�jZj2�ubaubajdj‘$ubj„$)�r:�}r;�(jYUjf}r<�(jh]ji]jj]jk]jn]ujZj�jr]r=�j¡)�r>�}r?�(jYX"(on, on, on, off, off, on, on, on)r@�jZj:�jbj�jdj¥jf}rA�(jh]ji]jj]jk]jn]ujpK†jr]rB�j{X"(on, on, on, off, off, on, on, on)rC�…�rD�}rE�(jYj@�jZj>�ubaubajdj‘$ubejdjª$ubj$)�rF�}rG�(jYUjf}rH�(jh]ji]jj]jk]jn]ujZj»Žjr]rI�(j„$)�rJ�}rK�(jYUjf}rL�(jh]ji]jj]jk]jn]ujZjF�jr]rM�j¡)�rN�}rO�(jYXNo bootrP�jZjJ�jbj�jdj¥jf}rQ�(jh]ji]jj]jk]jn]ujpK‰jr]rR�j{XNo bootrS�…�rT�}rU�(jYjP�jZjN�ubaubajdj‘$ubj„$)�rV�}rW�(jYUjf}rX�(jh]ji]jj]jk]jn]ujZjF�jr]rY�j¡)�rZ�}r[�(jYX!(off, on, on, on, on, on, on, on)r\�jZjV�jbj�jdj¥jf}r]�(jh]ji]jj]jk]jn]ujpK‰jr]r^�j{X!(off, on, on, on, on, on, on, on)r_�…�r`�}ra�(jYj\�jZjZ�ubaubajdj‘$ubj„$)�rb�}rc�(jYUjf}rd�(jh]ji]jj]jk]jn]ujZjF�jr]re�j¡)�rf�}rg�(jYX (on, on, on, on, on, on, on, on)rh�jZjb�jbj�jdj¥jf}ri�(jh]ji]jj]jk]jn]ujpK‰jr]rj�j{X (on, on, on, on, on, on, on, on)rk�…�rl�}rm�(jYjh�jZjf�ubaubajdj‘$ubejdjª$ubejdjy%ubejdjz%ubaubjZ)�rn�}ro�(jYUjZjVŽjbj�jdj]jf}rp�(jh]ji]jj]jk]jn]ujpK�jqhjr]rq�j`)�rr�}rs�(jYX@**Note:** C6657 currently does not support Image 1 for NOR boot.jcKjZjn�jbj�jdjpjf}rt�(jh]ji]jj]jk]jn]ujpK�jqhjr]ru�(jü)�rv�}rw�(jYX **Note:**jf}rx�(jh]ji]jj]jk]jn]ujZjr�jr]ry�j{XNote:rz�…�r{�}r|�(jYUjZjv�ubajdjubj{X7 C6657 currently does not support Image 1 for NOR boot.r}�…�r~�}r�(jYX7 C6657 currently does not support Image 1 for NOR boot.jZjr�ubeubaubjZ)�r€�}r��(jYUjZjVŽjbj�jdj]jf}r‚�(jh]ji]jj]jk]jn]ujpK�jqhjr]rƒ�(j`)�r„�}r…�(jYUjcKjZj€�jbj�jdjpjf}r†�(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�r‡�}rˆ�(jYUjcKjZj€�jbj�jdjpjf}r‰�(jh]ji]jj]jk]jn]ujpKjqhjr]ubeubj¡)�rŠ�}r‹�(jYX**Footnotes:**rŒ�jZjVŽjbj�jdj¥jf}r��(jh]ji]jj]jk]jn]ujpK’jqhjr]rŽ�jü)�r��}r��(jYjŒ�jf}r‘�(jh]ji]jj]jk]jn]ujZjŠ�jr]r’�j{X Footnotes:r“�…�r”�}r•�(jYUjZj��ubajdjubaubjZ)�r–�}r—�(jYUjZjVŽjbj�jdj]jf}r˜�(jh]ji]jj]jk]jn]ujpK”jqhjr]r™�(j`)�rš�}r›�(jYXR1. Pin 1 of SW3 is the endian pin, by default, it is set to off (Little Endian)rœ�jcKjZj–�jbj�jdjpjf}r��(jh]ji]jj]jk]jn]ujpK”jqhjr]rž�j{XR1. Pin 1 of SW3 is the endian pin, by default, it is set to off (Little Endian)rŸ�…�r �}r¡�(jYjœ�jZjš�ubaubj`)�r¢�}r£�(jYUjcKjZj–�jbj�jdjpjf}r¤�(jh]ji]jj]jk]jn]ujpKjqhjr]ubeubjZ)�r¥�}r¦�(jYUjZjVŽjbj�jdj]jf}r§�(jh]ji]jj]jk]jn]ujpK—jqhjr]r¨�(j`)�r©�}rª�(jYX`2. Pin 2-4 of SW3 are the boot mode pins, by default it is set to I2C boot mode (off, on, off)r«�jcKjZj¥�jbj�jdjpjf}r¬�(jh]ji]jj]jk]jn]ujpK—jqhjr]r­�j{X`2. Pin 2-4 of SW3 are the boot mode pins, by default it is set to I2C boot mode (off, on, off)r®�…�r¯�}r°�(jYj«�jZj©�ubaubj`)�r±�}r²�(jYUjcKjZj¥�jbj�jdjpjf}r³�(jh]ji]jj]jk]jn]ujpKjqhjr]ubeubjZ)�r´�}rµ�(jYUjZjVŽjbj�jdj]jf}r¶�(jh]ji]jj]jk]jn]ujpKšjqhjr]r·�(j`)�r¸�}r¹�(jYX€3. Pin 5-8 of SW3 and pin 1-2 of SW5 are the boot parameter index pins for I2C boot (paramter index 0/1 for NOR boot image 0/1, parameter index 2/3 for NAND boot image 0/1, parameter index 4 for TFTP boot). By default, image 0 is programmed to offset byte address 0x0 on NOR, and 0x20000 (block 1 start address) on NAND, image 1 is programmed to offset byte address 0x4000000 on NAND.rº�jcKjZj´�jbj�jdjpjf}r»�(jh]ji]jj]jk]jn]ujpKšjqhjr]r¼�j{X€3. Pin 5-8 of SW3 and pin 1-2 of SW5 are the boot parameter index pins for I2C boot (paramter index 0/1 for NOR boot image 0/1, parameter index 2/3 for NAND boot image 0/1, parameter index 4 for TFTP boot). By default, image 0 is programmed to offset byte address 0x0 on NOR, and 0x20000 (block 1 start address) on NAND, image 1 is programmed to offset byte address 0x4000000 on NAND.r½�…�r¾�}r¿�(jYjº�jZj¸�ubaubj`)�rÀ�}rÁ�(jYUjcKjZj´�jbj�jdjpjf}rÂ�(jh]ji]jj]jk]jn]ujpKjqhjr]ubeubjZ)�rÃ�}rÄ�(jYUjZjVŽjbj�jdj]jf}rÅ�(jh]ji]jj]jk]jn]ujpK�jqhjr]rÆ�(j`)�rÇ�}rÈ�(jYXQ4. Pin 4 of SW5 is the I2C address pin (off: 0x51, on: 0x50)  for I2C boot moderÉ�jcKjZjÃ�jbj�jdjpjf}rÊ�(jh]ji]jj]jk]jn]ujpK�jqhjr]rË�j{XQ4. Pin 4 of SW5 is the I2C address pin (off: 0x51, on: 0x50)  for I2C boot moderÌ�…�rÍ�}rÎ�(jYjÉ�jZjÇ�ubaubj`)�rÏ�}rÐ�(jYUjcKjZjÃ�jbj�jdjpjf}rÑ�(jh]ji]jj]jk]jn]ujpKjqhjr]ubeubjZ)�rÒ�}rÓ�(jYUjZjVŽjbj�jdj]jf}rÔ�(jh]ji]jj]jk]jn]ujpK jqhjr]rÕ�(j`)�rÖ�}r×�(jYX©5. This will set the board to boot from SRIO boot mode, with reference clock at 250 MHz, data rate at 3.125 GBs, and lane setup 4-1x ports and DSP System PLL at 100 MHz.rØ�jcKjZjÒ�jbj�jdjpjf}rÙ�(jh]ji]jj]jk]jn]ujpK jqhjr]rÚ�j{X©5. This will set the board to boot from SRIO boot mode, with reference clock at 250 MHz, data rate at 3.125 GBs, and lane setup 4-1x ports and DSP System PLL at 100 MHz.rÛ�…�rÜ�}rÝ�(jYjØ�jZjÖ�ubaubj`)�rÞ�}rß�(jYUjcKjZjÒ�jbj�jdjpjf}rà�(jh]ji]jj]jk]jn]ujpKjqhjr]ubeubjZ)�rá�}râ�(jYUjZjVŽjbj�jdj]jf}rã�(jh]ji]jj]jk]jn]ujpK£jqhjr]rä�(j`)�rå�}ræ�(jYXy6. This will set the board to boot from Ethernet boot mode, with SerDes clock multiplier x 4, core PLL clock at 100 MHz.rç�jcKjZjá�jbj�jdjpjf}rè�(jh]ji]jj]jk]jn]ujpK£jqhjr]ré�j{Xy6. This will set the board to boot from Ethernet boot mode, with SerDes clock multiplier x 4, core PLL clock at 100 MHz.rê�…�rë�}rì�(jYjç�jZjå�ubaubj`)�rí�}rî�(jYUjcKjZjá�jbj�jdjpjf}rï�(jh]ji]jj]jk]jn]ujpKjqhjr]ubeubjZ)�rð�}rñ�(jYUjZjVŽjbj�jdj]jf}rò�(jh]ji]jj]jk]jn]ujpK¦jqhjr]ró�(j`)�rô�}rõ�(jYXr7. This will set the board to boot form PCIE boot mode, with PCIE in end point mode and DSP System PLL at 100 MHz.rö�jcKjZjð�jbj�jdjpjf}r÷�(jh]ji]jj]jk]jn]ujpK¦jqhjr]rø�j{Xr7. This will set the board to boot form PCIE boot mode, with PCIE in end point mode and DSP System PLL at 100 MHz.rù�…�rú�}rû�(jYjö�jZjô�ubaubj`)�rü�}rý�(jYUjcKjZjð�jbj�jdjpjf}rþ�(jh]ji]jj]jk]jn]ujpKjqhjr]ubeubjZ)�rÿ�}r‘(jYUjZjVŽjbj�jdj]jf}r‘(jh]ji]jj]jk]jn]ujpK©jqhjr]r‘(j`)�r‘}r‘(jYXŽ8. This will set the board to boot from SPI NOR via the ROM code, with boot-table contents expected in the NOR. 24bit addressing has been set.r‘jcKjZjÿ�jbj�jdjpjf}r‘(jh]ji]jj]jk]jn]ujpK©jqhjr]r‘j{XŽ8. This will set the board to boot from SPI NOR via the ROM code, with boot-table contents expected in the NOR. 24bit addressing has been set.r‘…�r ‘}r ‘(jYj‘jZj‘ubaubj`)�r ‘}r ‘(jYUjcKjZjÿ�jbj�jdjpjf}r ‘(jh]ji]jj]jk]jn]ujpKjqhjr]ubeubj¡)�r‘}r‘(jYX^Please refer to *Technical\_Reference\_Manual* for the boot mode switch settings on the board.jZjVŽjbj�jdj¥jf}r‘(jh]ji]jj]jk]jn]ujpK­jqhjr]r‘(j{XPlease refer to r‘…�r‘}r‘(jYXPlease refer to jZj‘ubjŸ')�r‘}r‘(jYX*Technical\_Reference\_Manual*jf}r‘(jh]ji]jj]jk]jn]ujZj‘jr]r‘j{XTechnical_Reference_Manualr‘…�r‘}r‘(jYUjZj‘ubajdj§'ubj{X0 for the boot mode switch settings on the board.r‘…�r‘}r‘(jYX0 for the boot mode switch settings on the board.jZj‘ubeubjî)�r‘}r ‘(jYXTMDXEVM6670L EVM Hardware SetupjZjVŽjbjcjdjôjf}r!‘(jöj÷jk]jj]jh]ji]jn]ujpK„jqhjr]r"‘j{XTMDXEVM6670L EVM Hardware Setupr#‘…�r$‘}r%‘(jYUjZj‘ubaubjî)�r&‘}r'‘(jYX4====================================================jZjVŽjbjcjdjôjf}r(‘(jöj÷jk]jj]jh]ji]jn]ujpK…jqhjr]r)‘j{X4====================================================r*‘…�r+‘}r,‘(jYUjZj&‘ubaubeubeubj[)�r-‘}r.‘(jYUjZjR\jbj�XHsource/common/EVM_Hardware_Setup/TMDXEVM6670L_EVM_Hardware_Setup.rst.incr/‘…�r0‘}r1‘bjdjejf}r2‘(jh]ji]jj]jk]r3‘Utmdxevm6670l-evm-hardware-setupr4‘ajn]r5‘hsaujpKjqhjr]r6‘(jt)�r7‘}r8‘(jYXTMDXEVM6670L EVM Hardware Setupr9‘jZj-‘jbj0‘jdjxjf}r:‘(jh]ji]jj]jk]jn]ujpKjqhjr]r;‘j{XTMDXEVM6670L EVM Hardware Setupr<‘…�r=‘}r>‘(jYj9‘jZj7‘ubaubj¡)�r?‘}r@‘(jYX¸This page will walk you through setting up your `TMDSEVM6670L `__ Evaluation Module (EVM). These guidelines also apply to the LE and LXE EVM models.jZj-‘jbj0‘jdj¥jf}rA‘(jh]ji]jj]jk]jn]ujpKjqhjr]rB‘(j{X0This page will walk you through setting up your rC‘…�rD‘}rE‘(jYX0This page will walk you through setting up your jZj?‘ubjÜ)�rF‘}rG‘(jYX5`TMDSEVM6670L `__jf}rH‘(UnameX TMDSEVM6670LjX"http://www.ti.com/tool/tmdsevm6670jk]jj]jh]ji]jn]ujZj?‘jr]rI‘j{X TMDSEVM6670LrJ‘…�rK‘}rL‘(jYUjZjF‘ubajdjàubj{XS Evaluation Module (EVM). These guidelines also apply to the LE and LXE EVM models.rM‘…�rN‘}rO‘(jYXS Evaluation Module (EVM). These guidelines also apply to the LE and LXE EVM models.jZj?‘ubeubj)�rP‘}rQ‘(jYXcSome of the steps in this section have been updated from those used in the EVM *Quick Start Guide*.rR‘jZj-‘jbj0‘jdjjf}rS‘(jh]ji]jj]jk]jn]ujpNjqhjr]rT‘j¡)�rU‘}rV‘(jYjR‘jZjP‘jbj0‘jdj¥jf}rW‘(jh]ji]jj]jk]jn]ujpK jr]rX‘(j{XOSome of the steps in this section have been updated from those used in the EVM rY‘…�rZ‘}r[‘(jYXOSome of the steps in this section have been updated from those used in the EVM jZjU‘ubjŸ')�r\‘}r]‘(jYX*Quick Start Guide*jf}r^‘(jh]ji]jj]jk]jn]ujZjU‘jr]r_‘j{XQuick Start Guider`‘…�ra‘}rb‘(jYUjZj\‘ubajdj§'ubj{X.…�rc‘}rd‘(jYX.jZjU‘ubeubaubj[)�re‘}rf‘(jYUjìKjZj-‘jbj0‘jdjejf}rg‘(jh]rh‘jX�aji]jj]jk]ri‘Uid68rj‘ajn]ujpK jqhjr]rk‘(jt)�rl‘}rm‘(jYXHardware Setup Overviewrn‘jZje‘jbj0‘jdjxjf}ro‘(jh]ji]jj]jk]jn]ujpK jqhjr]rp‘j{XHardware Setup Overviewrq‘…�rr‘}rs‘(jYjn‘jZjl‘ubaubj¡)�rt‘}ru‘(jYXcThe picture below shows the TMDXEVM6670L EVM and the locations of relevant switches and connectors.rv‘jZje‘jbj0‘jdj¥jf}rw‘(jh]ji]jj]jk]jn]ujpKjqhjr]rx‘j{XcThe picture below shows the TMDXEVM6670L EVM and the locations of relevant switches and connectors.ry‘…�rz‘}r{‘(jYjv‘jZjt‘ubaubjB)�r|‘}r}‘(jYX#.. image:: ../images/TMD6670L.jpg jZje‘jbj0‘jdjEjf}r~‘(UuriXrtos/../images/TMD6670L.jpgr‘jk]jj]jh]ji]jH}r€‘U*j‘sjn]ujpKjqhjr]ubeubj[)�r�‘}r‚‘(jYUjìKjZj-‘jbj0‘jdjejf}rƒ‘(jh]r„‘ju�aji]jj]jk]r…‘Uid69r†‘ajn]ujpKjqhjr]r‡‘(jt)�rˆ‘}r‰‘(jYXHardware Setup StepsrŠ‘jZj�‘jbj0‘jdjxjf}r‹‘(jh]ji]jj]jk]jn]ujpKjqhjr]rŒ‘j{XHardware Setup Stepsr�‘…�rŽ‘}r�‘(jYjŠ‘jZjˆ‘ubaubj)�r�‘}r‘‘(jYXÒ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’‘jZj�‘jbj0‘jdjjf}r“‘(jh]ji]jj]jk]jn]ujpNjqhjr]r”‘j¡)�r•‘}r–‘(jYj’‘jZj�‘jbj0‘jdj¥jf}r—‘(jh]ji]jj]jk]jn]ujpKjr]r˜‘j{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›‘(jYj’‘jZj•‘ubaubaubjZ)�rœ‘}r�‘(jYUjZj�‘jbj0‘jdj]jf}rž‘(jh]ji]jj]jk]jn]ujpKjqhjr]rŸ‘(j`)�r ‘}r¡‘(jYUjcKjZjœ‘jbj0‘jdjpjf}r¢‘(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�r£‘}r¤‘(jYX **1. Attach the Ethernet cable**r¥‘jcKjZjœ‘jbj0‘jdjpjf}r¦‘(jh]ji]jj]jk]jn]ujpKjqhjr]r§‘jü)�r¨‘}r©‘(jYj¥‘jf}rª‘(jh]ji]jj]jk]jn]ujZj£‘jr]r«‘j{X1. Attach the Ethernet cabler¬‘…�r­‘}r®‘(jYUjZj¨‘ubajdjubaubj`)�r¯‘}r°‘(jYX}Using the Ethernet cable supplied, connect one end of the cable to the Ethernet port on the EVM and the other end to your PC.r±‘jcKjZjœ‘jbj0‘jdjpjf}r²‘(jh]ji]jj]jk]jn]ujpKjqhjr]r³‘j{X}Using the Ethernet cable supplied, connect one end of the cable to the Ethernet port on the EVM and the other end to your PC.r´‘…�rµ‘}r¶‘(jYj±‘jZj¯‘ubaubeubjZ)�r·‘}r¸‘(jYUjZj�‘jbj0‘jdj]jf}r¹‘(jh]ji]jj]jk]jn]ujpKjqhjr]rº‘(j`)�r»‘}r¼‘(jYUjcKjZj·‘jbj0‘jdjpjf}r½‘(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�r¾‘}r¿‘(jYX!**2. Connect the JTAG interface**rÀ‘jcKjZj·‘jbj0‘jdjpjf}rÁ‘(jh]ji]jj]jk]jn]ujpKjqhjr]r‘jü)�rÑ}rÄ‘(jYjÀ‘jf}rÅ‘(jh]ji]jj]jk]jn]ujZj¾‘jr]rÆ‘j{X2. Connect the JTAG interfacerÇ‘…�rÈ‘}rÉ‘(jYUjZjÑubajdjubaubj`)�rÊ‘}rË‘(jYXUse the USB to USB mini-B cable provided. Connect the USB mini-B connector to the USB mini-B interface on the EVM and the USB connector to your PC. This enables XDS-100 emulation and is directly useable by CCS. If you are using a different JTAG, connect it now.rÌ‘jcKjZj·‘jbj0‘jdjpjf}rÍ‘(jh]ji]jj]jk]jn]ujpK jqhjr]rΑj{XUse the USB to USB mini-B cable provided. Connect the USB mini-B connector to the USB mini-B interface on the EVM and the USB connector to your PC. This enables XDS-100 emulation and is directly useable by CCS. If you are using a different JTAG, connect it now.rÏ‘…�rБ}rÑ‘(jYjÌ‘jZjÊ‘ubaubeubjZ)�rÒ‘}rÓ‘(jYUjZj�‘jbj0‘jdj]jf}rÔ‘(jh]ji]jj]jk]jn]ujpK"jqhjr]rÕ‘(j`)�rÖ‘}rב(jYUjcKjZjÒ‘jbj0‘jdjpjf}rØ‘(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�rÙ‘}rÚ‘(jYX-**3. Verify Endian mode in the SW3 settings**rÛ‘jcKjZjÒ‘jbj0‘jdjpjf}rÜ‘(jh]ji]jj]jk]jn]ujpK#jqhjr]rÝ‘jü)�rÞ‘}rß‘(jYjÛ‘jf}rà‘(jh]ji]jj]jk]jn]ujZjÙ‘jr]rá‘j{X)3. Verify Endian mode in the SW3 settingsrâ‘…�rã‘}rä‘(jYUjZjÞ‘ubajdjubaubj`)�rå‘}ræ‘(jYX[The Endian mode should be set to Little Endian. SW3 also contains the boot device settings.rç‘jcKjZjÒ‘jbj0‘jdjpjf}rè‘(jh]ji]jj]jk]jn]ujpK$jqhjr]ré‘j{X[The Endian mode should be set to Little Endian. SW3 also contains the boot device settings.rê‘…�rë‘}rì‘(jYjç‘jZjå‘ubaubeubjB)�rí‘}rî‘(jYX4.. image:: ../images/TMD6678LSW3.png :scale: 40% jZj�‘jbj0‘jdjEjf}rï‘(UscaleK(UuriXrtos/../images/TMD6678LSW3.pngrð‘jk]jj]jh]ji]jH}rñ‘U*jð‘sjn]ujpNjqhjr]ubjZ)�rò‘}ró‘(jYUjZj�‘jbj0‘jdj]jf}rô‘(jh]ji]jj]jk]jn]ujpK)jqhjr]rõ‘(j`)�rö‘}r÷‘(jYUjcKjZjò‘jbj0‘jdjpjf}rø‘(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�rù‘}rú‘(jYX1**4. Verify boot mode in the SW3 - SW6 settings**rû‘jcKjZjò‘jbj0‘jdjpjf}rü‘(jh]ji]jj]jk]jn]ujpK*jqhjr]rý‘jü)�rþ‘}rÿ‘(jYjû‘jf}r’(jh]ji]jj]jk]jn]ujZjù‘jr]r’j{X-4. Verify boot mode in the SW3 - SW6 settingsr’…�r’}r’(jYUjZjþ‘ubajdjubaubj`)�r’}r’(jYXaThe boot mode settings below enable NOR boot by loading the boot loader from EEPROM address 0x51.r’jcKjZjò‘jbj0‘jdjpjf}r’(jh]ji]jj]jk]jn]ujpK+jqhjr]r ’j{XaThe boot mode settings below enable NOR boot by loading the boot loader from EEPROM address 0x51.r ’…�r ’}r ’(jYj’jZj’ubaubeubjB)�r ’}r’(jYX6.. image:: ../images/TMD6678LSW3-6.png :scale: 40% jZj�‘jbj0‘jdjEjf}r’(UscaleK(UuriX rtos/../images/TMD6678LSW3-6.pngr’jk]jj]jh]ji]jH}r’U*j’sjn]ujpNjqhjr]ubjZ)�r’}r’(jYUjZj�‘jbj0‘jdj]jf}r’(jh]ji]jj]jk]jn]ujpK0jqhjr]r’(j`)�r’}r’(jYUjcKjZj’jbj0‘jdjpjf}r’(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�r’}r’(jYX1**5. Set User Switch 2 for the demo application**r’jcKjZj’jbj0‘jdjpjf}r’(jh]ji]jj]jk]jn]ujpK1jqhjr]r’jü)�r’}r’(jYj’jf}r ’(jh]ji]jj]jk]jn]ujZj’jr]r!’j{X-5. Set User Switch 2 for the demo applicationr"’…�r#’}r$’(jYUjZj’ubajdjubaubj`)�r%’}r&’(jYXÖThe application needs an IP address. It can use either a static IP address (pre-configured) or it can request one using DHCP. This is controlled by setting User Switch 2 to ON for DHCP and OFF for Static. See SW9.r'’jcKjZj’jbj0‘jdjpjf}r(’(jh]ji]jj]jk]jn]ujpK2jqhjr]r)’j{XÖThe application needs an IP address. It can use either a static IP address (pre-configured) or it can request one using DHCP. This is controlled by setting User Switch 2 to ON for DHCP and OFF for Static. See SW9.r*’…�r+’}r,’(jYj'’jZj%’ubaubeubjB)�r-’}r.’(jYX%.. image:: ../images/TMD6670LSW9.png jZj�‘jbj0‘jdjEjf}r/’(UuriXrtos/../images/TMD6670LSW9.pngr0’jk]jj]jh]ji]jH}r1’U*j0’sjn]ujpK5jqhjr]ubjZ)�r2’}r3’(jYUjZj�‘jbj0‘jdj]jf}r4’(jh]ji]jj]jk]jn]ujpK6jqhjr]r5’(j`)�r6’}r7’(jYUjcKjZj2’jbj0‘jdjpjf}r8’(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�r9’}r:’(jYX#**6. Attach the serial port cable**r;’jcKjZj2’jbj0‘jdjpjf}r<’(jh]ji]jj]jk]jn]ujpK7jqhjr]r=’jü)�r>’}r?’(jYj;’jf}r@’(jh]ji]jj]jk]jn]ujZj9’jr]rA’j{X6. Attach the serial port cablerB’…�rC’}rD’(jYUjZj>’ubajdjubaubj`)�rE’}rF’(jYX"This EVM can use either a USB serial port or the standard DB-9 (use the cable shipped with the platform). By default the shunts which control this on the platforms are set to use the USB by default. We recommend changing them to use the DB-9 as there are no known issues with this approach.rG’jcKjZj2’jbj0‘jdjpjf}rH’(jh]ji]jj]jk]jn]ujpK8jqhjr]rI’j{X"This EVM can use either a USB serial port or the standard DB-9 (use the cable shipped with the platform). By default the shunts which control this on the platforms are set to use the USB by default. We recommend changing them to use the DB-9 as there are no known issues with this approach.rJ’…�rK’}rL’(jYjG’jZjE’ubaubeubjZ)�rM’}rN’(jYUjZj�‘jbj0‘jdj]jf}rO’(jh]ji]jj]jk]jn]ujpK:jqhjr]rP’j`)�rQ’}rR’(jYX0To change the shunts refer to the picture below.rS’jcKjZjM’jbj0‘jdjpjf}rT’(jh]ji]jj]jk]jn]ujpK:jqhjr]rU’j{X0To change the shunts refer to the picture below.rV’…�rW’}rX’(jYjS’jZjQ’ubaubaubjB)�rY’}rZ’(jYX(.. image:: ../images/TMD6670LShunts.jpg jZj�‘jbj0‘jdjEjf}r[’(UuriX!rtos/../images/TMD6670LShunts.jpgr\’jk]jj]jh]ji]jH}r]’U*j\’sjn]ujpK=jqhjr]ubj)�r^’}r_’(jYX©If the USB serial port output does not work, ensure that the cable is connected directly to a USB port on the PC/laptop rather than going through an extender or USB hub.r`’jZj�‘jbj0‘jdjjf}ra’(jh]ji]jj]jk]jn]ujpNjqhjr]rb’j¡)�rc’}rd’(jYj`’jZj^’jbj0‘jdj¥jf}re’(jh]ji]jj]jk]jn]ujpK>jr]rf’j{X©If the USB serial port output does not work, ensure that the cable is connected directly to a USB port on the PC/laptop rather than going through an extender or USB hub.rg’…�rh’}ri’(jYj`’jZjc’ubaubaubjZ)�rj’}rk’(jYUjZj�‘jbj0‘jdj]jf}rl’(jh]ji]jj]jk]jn]ujpK@jqhjr]rm’(j`)�rn’}ro’(jYUjcKjZjj’jbj0‘jdjpjf}rp’(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�rq’}rr’(jYX**7. Connect the power cable**rs’jcKjZjj’jbj0‘jdjpjf}rt’(jh]ji]jj]jk]jn]ujpKAjqhjr]ru’jü)�rv’}rw’(jYjs’jf}rx’(jh]ji]jj]jk]jn]ujZjq’jr]ry’j{X7. Connect the power cablerz’…�r{’}r|’(jYUjZjv’ubajdjubaubj`)�r}’}r~’(jYXÇConnect the power cable to the EVM power jack on the board. To be ESD safe, plug in the other end of the power cable only after you have connected the power cord to the board. Then turn on the board.r’jcKjZjj’jbj0‘jdjpjf}r€’(jh]ji]jj]jk]jn]ujpKBjqhjr]r�’j{XÇConnect the power cable to the EVM power jack on the board. To be ESD safe, plug in the other end of the power cable only after you have connected the power cord to the board. Then turn on the board.r‚’…�rƒ’}r„’(jYj’jZj}’ubaubeubjZ)�r…’}r†’(jYUjZj�‘jbj0‘jdj]jf}r‡’(jh]ji]jj]jk]jn]ujpKDjqhjr]rˆ’j`)�r‰’}rŠ’(jYUjcKjZj…’jbj0‘jdjpjf}r‹’(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubj[)�rŒ’}r�’(jYUjìKjZj-‘jbj0‘jdjejf}rŽ’(jh]r�’jZŽaji]jj]jk]r�’Uid70r‘’ajn]ujpKGjqhjr]r’’(jt)�r“’}r”’(jYXBoot Mode Dip Switch Settingsr•’jZjŒ’jbj0‘jdjxjf}r–’(jh]ji]jj]jk]jn]ujpKGjqhjr]r—’j{XBoot Mode Dip Switch Settingsr˜’…�r™’}rš’(jYj•’jZj“’ubaubj¡)�r›’}rœ’(jYXThe EVM supports booting image from various devices (EEPROM, NAND or NOR) via IBL, it also supports ROM Boot modes, such as Ethernet, SRIO, PCIe, etc. Below is the table showing the boot mode dip switch settings for different boot mode that the EVM supports:r�’jZjŒ’jbj0‘jdj¥jf}rž’(jh]ji]jj]jk]jn]ujpKIjqhjr]rŸ’j{XThe EVM supports booting image from various devices (EEPROM, NAND or NOR) via IBL, it also supports ROM Boot modes, such as Ethernet, SRIO, PCIe, etc. Below is the table showing the boot mode dip switch settings for different boot mode that the EVM supports:r ’…�r¡’}r¢’(jYj�’jZj›’ubaubjd$)�r£’}r¤’(jYUjZjŒ’jbj0‘jdjg$jf}r¥’(jh]ji]jj]jk]jn]ujpNjqhjr]r¦’jj$)�r§’}r¨’(jYUjf}r©’(jk]jj]jh]ji]jn]UcolsKujZj£’jr]rª’(jo$)�r«’}r¬’(jYUjf}r­’(jk]jj]jh]ji]jn]UcolwidthKujZj§’jr]jdjs$ubjo$)�r®’}r¯’(jYUjf}r°’(jk]jj]jh]ji]jn]UcolwidthKujZj§’jr]jdjs$ubjo$)�r±’}r²’(jYUjf}r³’(jk]jj]jh]ji]jn]UcolwidthKujZj§’jr]jdjs$ubjo$)�r´’}rµ’(jYUjf}r¶’(jk]jj]jh]ji]jn]UcolwidthKujZj§’jr]jdjs$ubjo$)�r·’}r¸’(jYUjf}r¹’(jk]jj]jh]ji]jn]UcolwidthKujZj§’jr]jdjs$ubjz$)�rº’}r»’(jYUjf}r¼’(jh]ji]jj]jk]jn]ujZj§’jr]r½’j$)�r¾’}r¿’(jYUjf}rÀ’(jh]ji]jj]jk]jn]ujZjº’jr]rÁ’(j„$)�rÂ’}rÃ’(jYUjf}rÄ’(jh]ji]jj]jk]jn]ujZj¾’jr]rÅ’j¡)�rÆ’}rÇ’(jYX Boot ModerÈ’jZjÂ’jbj0‘jdj¥jf}rÉ’(jh]ji]jj]jk]jn]ujpKOjr]rÊ’j{X Boot ModerË’…�rÌ’}rÍ’(jYjÈ’jZjÆ’ubaubajdj‘$ubj„$)�rÎ’}rÏ’(jYUjf}rÐ’(jh]ji]jj]jk]jn]ujZj¾’jr]rÑ’(j¡)�rÒ’}rÓ’(jYXDIP SW3rÔ’jZjÎ’jbj0‘jdj¥jf}rÕ’(jh]ji]jj]jk]jn]ujpKOjr]rÖ’j{XDIP SW3r×’…�rØ’}rÙ’(jYjÔ’jZjÒ’ubaubj¡)�rÚ’}rÛ’(jYX(Pin1, 2, 3, 4)rÜ’jZjÎ’jbj0‘jdj¥jf}rÝ’(jh]ji]jj]jk]jn]ujpKQjr]rÞ’j{X(Pin1, 2, 3, 4)rß’…�rà’}rá’(jYjÜ’jZjÚ’ubaubejdj‘$ubj„$)�râ’}rã’(jYUjf}rä’(jh]ji]jj]jk]jn]ujZj¾’jr]rå’(j¡)�ræ’}rç’(jYXDIP SW4rè’jZjâ’jbj0‘jdj¥jf}ré’(jh]ji]jj]jk]jn]ujpKOjr]rê’j{XDIP SW4rë’…�rì’}rí’(jYjè’jZjæ’ubaubj¡)�rî’}rï’(jYX(Pin1, 2, 3, 4)rð’jZjâ’jbj0‘jdj¥jf}rñ’(jh]ji]jj]jk]jn]ujpKQjr]rò’j{X(Pin1, 2, 3, 4)ró’…�rô’}rõ’(jYjð’jZjî’ubaubejdj‘$ubj„$)�rö’}r÷’(jYUjf}rø’(jh]ji]jj]jk]jn]ujZj¾’jr]rù’(j¡)�rú’}rû’(jYXDIP SW5rü’jZjö’jbj0‘jdj¥jf}rý’(jh]ji]jj]jk]jn]ujpKOjr]rþ’j{XDIP SW5rÿ’…�r“}r“(jYjü’jZjú’ubaubj¡)�r“}r“(jYX(Pin1, 2, 3, 4)r“jZjö’jbj0‘jdj¥jf}r“(jh]ji]jj]jk]jn]ujpKQjr]r“j{X(Pin1, 2, 3, 4)r“…�r“}r “(jYj“jZj“ubaubejdj‘$ubj„$)�r “}r “(jYUjf}r “(jh]ji]jj]jk]jn]ujZj¾’jr]r “(j¡)�r“}r“(jYXDIP SW6r“jZj “jbj0‘jdj¥jf}r“(jh]ji]jj]jk]jn]ujpKOjr]r“j{XDIP SW6r“…�r“}r“(jYj“jZj“ubaubj¡)�r“}r“(jYX(Pin1, 2, 3, 4)r“jZj “jbj0‘jdj¥jf}r“(jh]ji]jj]jk]jn]ujpKQjr]r“j{X(Pin1, 2, 3, 4)r“…�r“}r“(jYj“jZj“ubaubejdj‘$ubejdjª$ubajdj«$ubj¬$)�r“}r“(jYUjf}r “(jh]ji]jj]jk]jn]ujZj§’jr]r!“(j$)�r"“}r#“(jYUjf}r$“(jh]ji]jj]jk]jn]ujZj“jr]r%“(j„$)�r&“}r'“(jYUjf}r(“(jh]ji]jj]jk]jn]ujZj"“jr]r)“j¡)�r*“}r+“(jYX!IBL NOR boot on image 0 (default)r,“jZj&“jbj0‘jdj¥jf}r-“(jh]ji]jj]jk]jn]ujpKTjr]r.“j{X!IBL NOR boot on image 0 (default)r/“…�r0“}r1“(jYj,“jZj*“ubaubajdj‘$ubj„$)�r2“}r3“(jYUjf}r4“(jh]ji]jj]jk]jn]ujZj"“jr]r5“j¡)�r6“}r7“(jYX (off, off, on, off)\ :sup:`1, 2`jZj2“jbj0‘jdj¥jf}r8“(jh]ji]jj]jk]jn]ujpKTjr]r9“(j{X(off, off, on, off)r:“…�r;“}r<“(jYX(off, off, on, off)\ jZj6“ubj„)�r=“}r>“(jYX :sup:`1, 2`jf}r?“(jh]ji]jj]jk]jn]ujZj6“jr]r@“j{X1, 2rA“…�rB“}rC“(jYUjZj=“ubajdj„ubeubajdj‘$ubj„$)�rD“}rE“(jYUjf}rF“(jh]ji]jj]jk]jn]ujZj"“jr]rG“j¡)�rH“}rI“(jYX(on, on, on, on)\ :sup:`3`jZjD“jbj0‘jdj¥jf}rJ“(jh]ji]jj]jk]jn]ujpKTjr]rK“(j{X(on, on, on, on)rL“…�rM“}rN“(jYX(on, on, on, on)\ jZjH“ubj„)�rO“}rP“(jYX:sup:`3`jf}rQ“(jh]ji]jj]jk]jn]ujZjH“jr]rR“j{X3…�rS“}rT“(jYUjZjO“ubajdj„ubeubajdj‘$ubj„$)�rU“}rV“(jYUjf}rW“(jh]ji]jj]jk]jn]ujZj"“jr]rX“j¡)�rY“}rZ“(jYX(on, on, on, off)\ :sup:`4`jZjU“jbj0‘jdj¥jf}r[“(jh]ji]jj]jk]jn]ujpKTjr]r\“(j{X(on, on, on, off)r]“…�r^“}r_“(jYX(on, on, on, off)\ jZjY“ubj„)�r`“}ra“(jYX:sup:`4`jf}rb“(jh]ji]jj]jk]jn]ujZjY“jr]rc“j{X4…�rd“}re“(jYUjZj`“ubajdj„ubeubajdj‘$ubj„$)�rf“}rg“(jYUjf}rh“(jh]ji]jj]jk]jn]ujZj"“jr]ri“j¡)�rj“}rk“(jYX(on, on, on, on)rl“jZjf“jbj0‘jdj¥jf}rm“(jh]ji]jj]jk]jn]ujpKTjr]rn“j{X(on, on, on, on)ro“…�rp“}rq“(jYjl“jZjj“ubaubajdj‘$ubejdjª$ubj$)�rr“}rs“(jYUjf}rt“(jh]ji]jj]jk]jn]ujZj“jr]ru“(j„$)�rv“}rw“(jYUjf}rx“(jh]ji]jj]jk]jn]ujZjr“jr]ry“j¡)�rz“}r{“(jYXIBL NOR boot on image 1r|“jZjv“jbj0‘jdj¥jf}r}“(jh]ji]jj]jk]jn]ujpKXjr]r~“j{XIBL NOR boot on image 1r“…�r€“}r�“(jYj|“jZjz“ubaubajdj‘$ubj„$)�r‚“}rƒ“(jYUjf}r„“(jh]ji]jj]jk]jn]ujZjr“jr]r…“j¡)�r†“}r‡“(jYX(off, off, on, off)rˆ“jZj‚“jbj0‘jdj¥jf}r‰“(jh]ji]jj]jk]jn]ujpKXjr]rŠ“j{X(off, off, on, off)r‹“…�rŒ“}r�“(jYjˆ“jZj†“ubaubajdj‘$ubj„$)�rŽ“}r�“(jYUjf}r�“(jh]ji]jj]jk]jn]ujZjr“jr]r‘“j¡)�r’“}r““(jYX(off, on, on, on)r”“jZjŽ“jbj0‘jdj¥jf}r•“(jh]ji]jj]jk]jn]ujpKXjr]r–“j{X(off, on, on, on)r—“…�r˜“}r™“(jYj”“jZj’“ubaubajdj‘$ubj„$)�rš“}r›“(jYUjf}rœ“(jh]ji]jj]jk]jn]ujZjr“jr]r�“j¡)�rž“}rŸ“(jYX(on, on, on, off)r “jZjš“jbj0‘jdj¥jf}r¡“(jh]ji]jj]jk]jn]ujpKXjr]r¢“j{X(on, on, on, off)r£“…�r¤“}r¥“(jYj “jZjž“ubaubajdj‘$ubj„$)�r¦“}r§“(jYUjf}r¨“(jh]ji]jj]jk]jn]ujZjr“jr]r©“j¡)�rª“}r«“(jYX(on, on, on, on)r¬“jZj¦“jbj0‘jdj¥jf}r­“(jh]ji]jj]jk]jn]ujpKXjr]r®“j{X(on, on, on, on)r¯“…�r°“}r±“(jYj¬“jZjª“ubaubajdj‘$ubejdjª$ubj$)�r²“}r³“(jYUjf}r´“(jh]ji]jj]jk]jn]ujZj“jr]rµ“(j„$)�r¶“}r·“(jYUjf}r¸“(jh]ji]jj]jk]jn]ujZj²“jr]r¹“j¡)�rº“}r»“(jYXIBL NAND boot on image 0r¼“jZj¶“jbj0‘jdj¥jf}r½“(jh]ji]jj]jk]jn]ujpK[jr]r¾“j{XIBL NAND boot on image 0r¿“…�rÀ“}rÁ“(jYj¼“jZjº“ubaubajdj‘$ubj„$)�r“}rÓ(jYUjf}rÄ“(jh]ji]jj]jk]jn]ujZj²“jr]rÅ“j¡)�rÆ“}rÇ“(jYX(off, off, on, off)rÈ“jZj“jbj0‘jdj¥jf}rÉ“(jh]ji]jj]jk]jn]ujpK[jr]rÊ“j{X(off, off, on, off)rË“…�rÌ“}rÍ“(jYjÈ“jZjÆ“ubaubajdj‘$ubj„$)�rΓ}rÏ“(jYUjf}rГ(jh]ji]jj]jk]jn]ujZj²“jr]rÑ“j¡)�rÒ“}rÓ“(jYX(on, off, on, on)rÔ“jZjΓjbj0‘jdj¥jf}rÕ“(jh]ji]jj]jk]jn]ujpK[jr]rÖ“j{X(on, off, on, on)rד…�rØ“}rÙ“(jYjÔ“jZjÒ“ubaubajdj‘$ubj„$)�rÚ“}rÛ“(jYUjf}rÜ“(jh]ji]jj]jk]jn]ujZj²“jr]rÝ“j¡)�rÞ“}rß“(jYX(on, on, on, off)rà“jZjÚ“jbj0‘jdj¥jf}rá“(jh]ji]jj]jk]jn]ujpK[jr]râ“j{X(on, on, on, off)rã“…�rä“}rå“(jYjà“jZjÞ“ubaubajdj‘$ubj„$)�ræ“}rç“(jYUjf}rè“(jh]ji]jj]jk]jn]ujZj²“jr]ré“j¡)�rê“}rë“(jYX(on, on, on, on)rì“jZjæ“jbj0‘jdj¥jf}rí“(jh]ji]jj]jk]jn]ujpK[jr]rî“j{X(on, on, on, on)rï“…�rð“}rñ“(jYjì“jZjê“ubaubajdj‘$ubejdjª$ubj$)�rò“}ró“(jYUjf}rô“(jh]ji]jj]jk]jn]ujZj“jr]rõ“(j„$)�rö“}r÷“(jYUjf}rø“(jh]ji]jj]jk]jn]ujZjò“jr]rù“j¡)�rú“}rû“(jYXIBL NAND boot on image 1rü“jZjö“jbj0‘jdj¥jf}rý“(jh]ji]jj]jk]jn]ujpK^jr]rþ“j{XIBL NAND boot on image 1rÿ“…�r”}r”(jYjü“jZjú“ubaubajdj‘$ubj„$)�r”}r”(jYUjf}r”(jh]ji]jj]jk]jn]ujZjò“jr]r”j¡)�r”}r”(jYX(off, off, on, off)r”jZj”jbj0‘jdj¥jf}r ”(jh]ji]jj]jk]jn]ujpK^jr]r ”j{X(off, off, on, off)r ”…�r ”}r ”(jYj”jZj”ubaubajdj‘$ubj„$)�r”}r”(jYUjf}r”(jh]ji]jj]jk]jn]ujZjò“jr]r”j¡)�r”}r”(jYX(off, off, on, on)r”jZj”jbj0‘jdj¥jf}r”(jh]ji]jj]jk]jn]ujpK^jr]r”j{X(off, off, on, on)r”…�r”}r”(jYj”jZj”ubaubajdj‘$ubj„$)�r”}r”(jYUjf}r”(jh]ji]jj]jk]jn]ujZjò“jr]r”j¡)�r”}r”(jYX(on, on, on, off)r ”jZj”jbj0‘jdj¥jf}r!”(jh]ji]jj]jk]jn]ujpK^jr]r"”j{X(on, on, on, off)r#”…�r$”}r%”(jYj ”jZj”ubaubajdj‘$ubj„$)�r&”}r'”(jYUjf}r(”(jh]ji]jj]jk]jn]ujZjò“jr]r)”j¡)�r*”}r+”(jYX(on, on, on, on)r,”jZj&”jbj0‘jdj¥jf}r-”(jh]ji]jj]jk]jn]ujpK^jr]r.”j{X(on, on, on, on)r/”…�r0”}r1”(jYj,”jZj*”ubaubajdj‘$ubejdjª$ubj$)�r2”}r3”(jYUjf}r4”(jh]ji]jj]jk]jn]ujZj“jr]r5”(j„$)�r6”}r7”(jYUjf}r8”(jh]ji]jj]jk]jn]ujZj2”jr]r9”j¡)�r:”}r;”(jYX IBL TFTP bootr<”jZj6”jbj0‘jdj¥jf}r=”(jh]ji]jj]jk]jn]ujpKajr]r>”j{X IBL TFTP bootr?”…�r@”}rA”(jYj<”jZj:”ubaubajdj‘$ubj„$)�rB”}rC”(jYUjf}rD”(jh]ji]jj]jk]jn]ujZj2”jr]rE”j¡)�rF”}rG”(jYX(off, off, on, off)rH”jZjB”jbj0‘jdj¥jf}rI”(jh]ji]jj]jk]jn]ujpKajr]rJ”j{X(off, off, on, off)rK”…�rL”}rM”(jYjH”jZjF”ubaubajdj‘$ubj„$)�rN”}rO”(jYUjf}rP”(jh]ji]jj]jk]jn]ujZj2”jr]rQ”j¡)�rR”}rS”(jYX(on, on, off, on)rT”jZjN”jbj0‘jdj¥jf}rU”(jh]ji]jj]jk]jn]ujpKajr]rV”j{X(on, on, off, on)rW”…�rX”}rY”(jYjT”jZjR”ubaubajdj‘$ubj„$)�rZ”}r[”(jYUjf}r\”(jh]ji]jj]jk]jn]ujZj2”jr]r]”j¡)�r^”}r_”(jYX(on, on, on, off)r`”jZjZ”jbj0‘jdj¥jf}ra”(jh]ji]jj]jk]jn]ujpKajr]rb”j{X(on, on, on, off)rc”…�rd”}re”(jYj`”jZj^”ubaubajdj‘$ubj„$)�rf”}rg”(jYUjf}rh”(jh]ji]jj]jk]jn]ujZj2”jr]ri”j¡)�rj”}rk”(jYX(on, on, on, on)rl”jZjf”jbj0‘jdj¥jf}rm”(jh]ji]jj]jk]jn]ujpKajr]rn”j{X(on, on, on, on)ro”…�rp”}rq”(jYjl”jZjj”ubaubajdj‘$ubejdjª$ubj$)�rr”}rs”(jYUjf}rt”(jh]ji]jj]jk]jn]ujZj“jr]ru”(j„$)�rv”}rw”(jYUjf}rx”(jh]ji]jj]jk]jn]ujZjr”jr]ry”j¡)�rz”}r{”(jYX I2C POST bootr|”jZjv”jbj0‘jdj¥jf}r}”(jh]ji]jj]jk]jn]ujpKdjr]r~”j{X I2C POST bootr”…�r€”}r�”(jYj|”jZjz”ubaubajdj‘$ubj„$)�r‚”}rƒ”(jYUjf}r„”(jh]ji]jj]jk]jn]ujZjr”jr]r…”j¡)�r†”}r‡”(jYX(off, off, on, off)rˆ”jZj‚”jbj0‘jdj¥jf}r‰”(jh]ji]jj]jk]jn]ujpKdjr]rŠ”j{X(off, off, on, off)r‹”…�rŒ”}r�”(jYjˆ”jZj†”ubaubajdj‘$ubj„$)�rŽ”}r�”(jYUjf}r�”(jh]ji]jj]jk]jn]ujZjr”jr]r‘”j¡)�r’”}r“”(jYX(on, on, on, on)r””jZjŽ”jbj0‘jdj¥jf}r•”(jh]ji]jj]jk]jn]ujpKdjr]r–”j{X(on, on, on, on)r—”…�r˜”}r™”(jYj””jZj’”ubaubajdj‘$ubj„$)�rš”}r›”(jYUjf}rœ”(jh]ji]jj]jk]jn]ujZjr”jr]r�”j¡)�rž”}rŸ”(jYX(on, on, on, on)r ”jZjš”jbj0‘jdj¥jf}r¡”(jh]ji]jj]jk]jn]ujpKdjr]r¢”j{X(on, on, on, on)r£”…�r¤”}r¥”(jYj ”jZjž”ubaubajdj‘$ubj„$)�r¦”}r§”(jYUjf}r¨”(jh]ji]jj]jk]jn]ujZjr”jr]r©”j¡)�rª”}r«”(jYX(on, on, on, on)r¬”jZj¦”jbj0‘jdj¥jf}r­”(jh]ji]jj]jk]jn]ujpKdjr]r®”j{X(on, on, on, on)r¯”…�r°”}r±”(jYj¬”jZjª”ubaubajdj‘$ubejdjª$ubj$)�r²”}r³”(jYUjf}r´”(jh]ji]jj]jk]jn]ujZj“jr]rµ”(j„$)�r¶”}r·”(jYUjf}r¸”(jh]ji]jj]jk]jn]ujZj²”jr]r¹”j¡)�rº”}r»”(jYXROM SPI Boot\ :sup:`8`jZj¶”jbj0‘jdj¥jf}r¼”(jh]ji]jj]jk]jn]ujpKgjr]r½”(j{X ROM SPI Bootr¾”…�r¿”}rÀ”(jYXROM SPI Boot\ jZjº”ubj„)�rÁ”}r”(jYX:sup:`8`jf}rÔ(jh]ji]jj]jk]jn]ujZjº”jr]rÄ”j{X8…�rÅ”}rÆ”(jYUjZjÁ”ubajdj„ubeubajdj‘$ubj„$)�rÇ”}rÈ”(jYUjf}rÉ”(jh]ji]jj]jk]jn]ujZj²”jr]rÊ”j¡)�rË”}rÌ”(jYX(off, on, off, off)rÍ”jZjÇ”jbj0‘jdj¥jf}rΔ(jh]ji]jj]jk]jn]ujpKgjr]rÏ”j{X(off, on, off, off)rД…�rÑ”}rÒ”(jYjÍ”jZjË”ubaubajdj‘$ubj„$)�rÓ”}rÔ”(jYUjf}rÕ”(jh]ji]jj]jk]jn]ujZj²”jr]rÖ”j¡)�r×”}rØ”(jYX(on, on, on, on)rÙ”jZjÓ”jbj0‘jdj¥jf}rÚ”(jh]ji]jj]jk]jn]ujpKgjr]rÛ”j{X(on, on, on, on)rÜ”…�rÝ”}rÞ”(jYjÙ”jZj×”ubaubajdj‘$ubj„$)�rß”}rà”(jYUjf}rá”(jh]ji]jj]jk]jn]ujZj²”jr]râ”j¡)�rã”}rä”(jYX(on, on, off, on)rå”jZjß”jbj0‘jdj¥jf}ræ”(jh]ji]jj]jk]jn]ujpKgjr]rç”j{X(on, on, off, on)rè”…�ré”}rê”(jYjå”jZjã”ubaubajdj‘$ubj„$)�rë”}rì”(jYUjf}rí”(jh]ji]jj]jk]jn]ujZj²”jr]rî”j¡)�rï”}rð”(jYX(off, on, on, on)rñ”jZjë”jbj0‘jdj¥jf}rò”(jh]ji]jj]jk]jn]ujpKgjr]ró”j{X(off, on, on, on)rô”…�rõ”}rö”(jYjñ”jZjï”ubaubajdj‘$ubejdjª$ubj$)�r÷”}rø”(jYUjf}rù”(jh]ji]jj]jk]jn]ujZj“jr]rú”(j„$)�rû”}rü”(jYUjf}rý”(jh]ji]jj]jk]jn]ujZj÷”jr]rþ”j¡)�rÿ”}r•(jYXROM SRIO Boot\ :sup:`5`jZjû”jbj0‘jdj¥jf}r•(jh]ji]jj]jk]jn]ujpKjjr]r•(j{X ROM SRIO Bootr•…�r•}r•(jYXROM SRIO Boot\ jZjÿ”ubj„)�r•}r•(jYX:sup:`5`jf}r•(jh]ji]jj]jk]jn]ujZjÿ”jr]r •j{X5…�r •}r •(jYUjZj•ubajdj„ubeubajdj‘$ubj„$)�r •}r •(jYUjf}r•(jh]ji]jj]jk]jn]ujZj÷”jr]r•j¡)�r•}r•(jYX(off, off, on, on)r•jZj •jbj0‘jdj¥jf}r•(jh]ji]jj]jk]jn]ujpKjjr]r•j{X(off, off, on, on)r•…�r•}r•(jYj•jZj•ubaubajdj‘$ubj„$)�r•}r•(jYUjf}r•(jh]ji]jj]jk]jn]ujZj÷”jr]r•j¡)�r•}r•(jYX(on, on, on, off)r•jZj•jbj0‘jdj¥jf}r•(jh]ji]jj]jk]jn]ujpKjjr]r •j{X(on, on, on, off)r!•…�r"•}r#•(jYj•jZj•ubaubajdj‘$ubj„$)�r$•}r%•(jYUjf}r&•(jh]ji]jj]jk]jn]ujZj÷”jr]r'•j¡)�r(•}r)•(jYX(on, off, on, off)r*•jZj$•jbj0‘jdj¥jf}r+•(jh]ji]jj]jk]jn]ujpKjjr]r,•j{X(on, off, on, off)r-•…�r.•}r/•(jYj*•jZj(•ubaubajdj‘$ubj„$)�r0•}r1•(jYUjf}r2•(jh]ji]jj]jk]jn]ujZj÷”jr]r3•j¡)�r4•}r5•(jYX(off, off, on, on)r6•jZj0•jbj0‘jdj¥jf}r7•(jh]ji]jj]jk]jn]ujpKjjr]r8•j{X(off, off, on, on)r9•…�r:•}r;•(jYj6•jZj4•ubaubajdj‘$ubejdjª$ubj$)�r<•}r=•(jYUjf}r>•(jh]ji]jj]jk]jn]ujZj“jr]r?•(j„$)�r@•}rA•(jYUjf}rB•(jh]ji]jj]jk]jn]ujZj<•jr]rC•j¡)�rD•}rE•(jYXROM Ethernet Boot\ :sup:`6`jZj@•jbj0‘jdj¥jf}rF•(jh]ji]jj]jk]jn]ujpKmjr]rG•(j{XROM Ethernet BootrH•…�rI•}rJ•(jYXROM Ethernet Boot\ jZjD•ubj„)�rK•}rL•(jYX:sup:`6`jf}rM•(jh]ji]jj]jk]jn]ujZjD•jr]rN•j{X6…�rO•}rP•(jYUjZjK•ubajdj„ubeubajdj‘$ubj„$)�rQ•}rR•(jYUjf}rS•(jh]ji]jj]jk]jn]ujZj<•jr]rT•j¡)�rU•}rV•(jYX(off, on, off, on)rW•jZjQ•jbj0‘jdj¥jf}rX•(jh]ji]jj]jk]jn]ujpKmjr]rY•j{X(off, on, off, on)rZ•…�r[•}r\•(jYjW•jZjU•ubaubajdj‘$ubj„$)�r]•}r^•(jYUjf}r_•(jh]ji]jj]jk]jn]ujZj<•jr]r`•j¡)�ra•}rb•(jYX(on, on, on, off)rc•jZj]•jbj0‘jdj¥jf}rd•(jh]ji]jj]jk]jn]ujpKmjr]re•j{X(on, on, on, off)rf•…�rg•}rh•(jYjc•jZja•ubaubajdj‘$ubj„$)�ri•}rj•(jYUjf}rk•(jh]ji]jj]jk]jn]ujZj<•jr]rl•j¡)�rm•}rn•(jYX(on, off, on, off)ro•jZji•jbj0‘jdj¥jf}rp•(jh]ji]jj]jk]jn]ujpKmjr]rq•j{X(on, off, on, off)rr•…�rs•}rt•(jYjo•jZjm•ubaubajdj‘$ubj„$)�ru•}rv•(jYUjf}rw•(jh]ji]jj]jk]jn]ujZj<•jr]rx•j¡)�ry•}rz•(jYX(off, off, on, on)r{•jZju•jbj0‘jdj¥jf}r|•(jh]ji]jj]jk]jn]ujpKmjr]r}•j{X(off, off, on, on)r~•…�r•}r€•(jYj{•jZjy•ubaubajdj‘$ubejdjª$ubj$)�r�•}r‚•(jYUjf}rƒ•(jh]ji]jj]jk]jn]ujZj“jr]r„•(j„$)�r…•}r†•(jYUjf}r‡•(jh]ji]jj]jk]jn]ujZj�•jr]rˆ•j¡)�r‰•}rŠ•(jYXROM PCIE Boot\ :sup:`7`jZj…•jbj0‘jdj¥jf}r‹•(jh]ji]jj]jk]jn]ujpKpjr]rŒ•(j{X ROM PCIE Bootr�•…�rŽ•}r�•(jYXROM PCIE Boot\ jZj‰•ubj„)�r�•}r‘•(jYX:sup:`7`jf}r’•(jh]ji]jj]jk]jn]ujZj‰•jr]r“•j{X7…�r”•}r••(jYUjZj�•ubajdj„ubeubajdj‘$ubj„$)�r–•}r—•(jYUjf}r˜•(jh]ji]jj]jk]jn]ujZj�•jr]r™•j¡)�rš•}r›•(jYX(off, on, on, off)rœ•jZj–•jbj0‘jdj¥jf}r�•(jh]ji]jj]jk]jn]ujpKpjr]rž•j{X(off, on, on, off)rŸ•…�r •}r¡•(jYjœ•jZjš•ubaubajdj‘$ubj„$)�r¢•}r£•(jYUjf}r¤•(jh]ji]jj]jk]jn]ujZj�•jr]r¥•j¡)�r¦•}r§•(jYX(on, on, on, on)r¨•jZj¢•jbj0‘jdj¥jf}r©•(jh]ji]jj]jk]jn]ujpKpjr]rª•j{X(on, on, on, on)r«•…�r¬•}r­•(jYj¨•jZj¦•ubaubajdj‘$ubj„$)�r®•}r¯•(jYUjf}r°•(jh]ji]jj]jk]jn]ujZj�•jr]r±•j¡)�r²•}r³•(jYX(on, on, on, off)r´•jZj®•jbj0‘jdj¥jf}rµ•(jh]ji]jj]jk]jn]ujpKpjr]r¶•j{X(on, on, on, off)r·•…�r¸•}r¹•(jYj´•jZj²•ubaubajdj‘$ubj„$)�rº•}r»•(jYUjf}r¼•(jh]ji]jj]jk]jn]ujZj�•jr]r½•j¡)�r¾•}r¿•(jYX(off, on, on, on)rÀ•jZjº•jbj0‘jdj¥jf}rÁ•(jh]ji]jj]jk]jn]ujpKpjr]r•j{X(off, on, on, on)rÕ…�rÄ•}rÅ•(jYjÀ•jZj¾•ubaubajdj‘$ubejdjª$ubj$)�rÆ•}rÇ•(jYUjf}rÈ•(jh]ji]jj]jk]jn]ujZj“jr]rÉ•(j„$)�rÊ•}rË•(jYUjf}rÌ•(jh]ji]jj]jk]jn]ujZjÆ•jr]rÍ•j¡)�rΕ}rÏ•(jYXNo bootrЕjZjÊ•jbj0‘jdj¥jf}rÑ•(jh]ji]jj]jk]jn]ujpKsjr]rÒ•j{XNo bootrÓ•…�rÔ•}rÕ•(jYjЕjZjΕubaubajdj‘$ubj„$)�rÖ•}rו(jYUjf}rØ•(jh]ji]jj]jk]jn]ujZjÆ•jr]rÙ•j¡)�rÚ•}rÛ•(jYX(off, on, on, on)rÜ•jZjÖ•jbj0‘jdj¥jf}rÝ•(jh]ji]jj]jk]jn]ujpKsjr]rÞ•j{X(off, on, on, on)rß•…�rà•}rá•(jYjÜ•jZjÚ•ubaubajdj‘$ubj„$)�râ•}rã•(jYUjf}rä•(jh]ji]jj]jk]jn]ujZjÆ•jr]rå•j¡)�ræ•}rç•(jYX(on, on, on, on)rè•jZjâ•jbj0‘jdj¥jf}ré•(jh]ji]jj]jk]jn]ujpKsjr]rê•j{X(on, on, on, on)rë•…�rì•}rí•(jYjè•jZjæ•ubaubajdj‘$ubj„$)�rî•}rï•(jYUjf}rð•(jh]ji]jj]jk]jn]ujZjÆ•jr]rñ•j¡)�rò•}ró•(jYX(on, on, on, on)rô•jZjî•jbj0‘jdj¥jf}rõ•(jh]ji]jj]jk]jn]ujpKsjr]rö•j{X(on, on, on, on)r÷•…�rø•}rù•(jYjô•jZjò•ubaubajdj‘$ubj„$)�rú•}rû•(jYUjf}rü•(jh]ji]jj]jk]jn]ujZjÆ•jr]rý•j¡)�rþ•}rÿ•(jYX(on, on, on, on)r–jZjú•jbj0‘jdj¥jf}r–(jh]ji]jj]jk]jn]ujpKsjr]r–j{X(on, on, on, on)r–…�r–}r–(jYj–jZjþ•ubaubajdj‘$ubejdjª$ubejdjy%ubejdjz%ubaubjZ)�r–}r–(jYUjZjŒ’jbj0‘jdj]jf}r–(jh]ji]jj]jk]jn]ujpKwjqhjr]r –j`)�r –}r –(jYUjcKjZj–jbj0‘jdjpjf}r –(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r –}r–(jYX**Footnotes:**r–jZjŒ’jbj0‘jdj¥jf}r–(jh]ji]jj]jk]jn]ujpKyjqhjr]r–jü)�r–}r–(jYj–jf}r–(jh]ji]jj]jk]jn]ujZj –jr]r–j{X Footnotes:r–…�r–}r–(jYUjZj–ubajdjubaubjZ)�r–}r–(jYUjZjŒ’jbj0‘jdj]jf}r–(jh]ji]jj]jk]jn]ujpK{jqhjr]r–(j`)�r–}r–(jYXR1. Pin 1 of SW3 is the endian pin, by default, it is set to off (Little Endian)r–jcKjZj–jbj0‘jdjpjf}r –(jh]ji]jj]jk]jn]ujpK{jqhjr]r!–j{XR1. Pin 1 of SW3 is the endian pin, by default, it is set to off (Little Endian)r"–…�r#–}r$–(jYj–jZj–ubaubj`)�r%–}r&–(jYUjcKjZj–jbj0‘jdjpjf}r'–(jh]ji]jj]jk]jn]ujpKjqhjr]ubeubjZ)�r(–}r)–(jYUjZjŒ’jbj0‘jdj]jf}r*–(jh]ji]jj]jk]jn]ujpK~jqhjr]r+–(j`)�r,–}r-–(jYX`2. Pin 2-4 of SW3 are the boot mode pins, by default it is set to I2C boot mode (off, on, off)r.–jcKjZj(–jbj0‘jdjpjf}r/–(jh]ji]jj]jk]jn]ujpK~jqhjr]r0–j{X`2. Pin 2-4 of SW3 are the boot mode pins, by default it is set to I2C boot mode (off, on, off)r1–…�r2–}r3–(jYj.–jZj,–ubaubj`)�r4–}r5–(jYUjcKjZj(–jbj0‘jdjpjf}r6–(jh]ji]jj]jk]jn]ujpKjqhjr]ubeubjZ)�r7–}r8–(jYUjZjŒ’jbj0‘jdj]jf}r9–(jh]ji]jj]jk]jn]ujpK�jqhjr]r:–(j`)�r;–}r<–(jYX”3. Pin 1-4 of SW4 and pin 1-2 of SW5 are the boot parameter index pins for I2C boot (paramter index 0/1 for NOR boot image 0/1, parameter index 2/3 for NAND boot image 0/1, parameter index 4 for TFTP boot). By default, image 0 is programmed to offset byte address 0x0 on NOR, and 0x4000 (block 1 start address) on NAND, image 1 is programmed to offset byte address 0xA00000 on NOR, and 0x2000000 on NAND.r=–jcKjZj7–jbj0‘jdjpjf}r>–(jh]ji]jj]jk]jn]ujpK�jqhjr]r?–j{X”3. Pin 1-4 of SW4 and pin 1-2 of SW5 are the boot parameter index pins for I2C boot (paramter index 0/1 for NOR boot image 0/1, parameter index 2/3 for NAND boot image 0/1, parameter index 4 for TFTP boot). By default, image 0 is programmed to offset byte address 0x0 on NOR, and 0x4000 (block 1 start address) on NAND, image 1 is programmed to offset byte address 0xA00000 on NOR, and 0x2000000 on NAND.r@–…�rA–}rB–(jYj=–jZj;–ubaubj`)�rC–}rD–(jYUjcKjZj7–jbj0‘jdjpjf}rE–(jh]ji]jj]jk]jn]ujpKjqhjr]ubeubjZ)�rF–}rG–(jYUjZjŒ’jbj0‘jdj]jf}rH–(jh]ji]jj]jk]jn]ujpK„jqhjr]rI–(j`)�rJ–}rK–(jYXQ4. Pin 4 of SW5 is the I2C address pin (off: 0x51, on: 0x50)  for I2C boot moderL–jcKjZjF–jbj0‘jdjpjf}rM–(jh]ji]jj]jk]jn]ujpK„jqhjr]rN–j{XQ4. Pin 4 of SW5 is the I2C address pin (off: 0x51, on: 0x50)  for I2C boot moderO–…�rP–}rQ–(jYjL–jZjJ–ubaubj`)�rR–}rS–(jYUjcKjZjF–jbj0‘jdjpjf}rT–(jh]ji]jj]jk]jn]ujpKjqhjr]ubeubjZ)�rU–}rV–(jYUjZjŒ’jbj0‘jdj]jf}rW–(jh]ji]jj]jk]jn]ujpK‡jqhjr]rX–(j`)�rY–}rZ–(jYX¬5. This will set the board to boot from SRIO boot mode, with reference clock at 250 MHz, data rate at 3.125 GBs, and lane setup 4-1x ports and DSP System PLL at 122.88 MHz.r[–jcKjZjU–jbj0‘jdjpjf}r\–(jh]ji]jj]jk]jn]ujpK‡jqhjr]r]–j{X¬5. This will set the board to boot from SRIO boot mode, with reference clock at 250 MHz, data rate at 3.125 GBs, and lane setup 4-1x ports and DSP System PLL at 122.88 MHz.r^–…�r_–}r`–(jYj[–jZjY–ubaubj`)�ra–}rb–(jYUjcKjZjU–jbj0‘jdjpjf}rc–(jh]ji]jj]jk]jn]ujpKjqhjr]ubeubjZ)�rd–}re–(jYUjZjŒ’jbj0‘jdj]jf}rf–(jh]ji]jj]jk]jn]ujpKŠjqhjr]rg–(j`)�rh–}ri–(jYX�6. This will set the board to boot from Ethernet boot mode, with SerDes clock multiplier x 5, DSP System PLL clock at 122.88 MHz.rj–jcKjZjd–jbj0‘jdjpjf}rk–(jh]ji]jj]jk]jn]ujpKŠjqhjr]rl–j{X�6. This will set the board to boot from Ethernet boot mode, with SerDes clock multiplier x 5, DSP System PLL clock at 122.88 MHz.rm–…�rn–}ro–(jYjj–jZjh–ubaubj`)�rp–}rq–(jYUjcKjZjd–jbj0‘jdjpjf}rr–(jh]ji]jj]jk]jn]ujpKjqhjr]ubeubjZ)�rs–}rt–(jYUjZjŒ’jbj0‘jdj]jf}ru–(jh]ji]jj]jk]jn]ujpK�jqhjr]rv–(j`)�rw–}rx–(jYXr7. This will set the board to boot form PCIE boot mode, with PCIE in end point mode and DSP System PLL at 100 MHz.ry–jcKjZjs–jbj0‘jdjpjf}rz–(jh]ji]jj]jk]jn]ujpK�jqhjr]r{–j{Xr7. This will set the board to boot form PCIE boot mode, with PCIE in end point mode and DSP System PLL at 100 MHz.r|–…�r}–}r~–(jYjy–jZjw–ubaubj`)�r–}r€–(jYUjcKjZjs–jbj0‘jdjpjf}r�–(jh]ji]jj]jk]jn]ujpKjqhjr]ubeubjZ)�r‚–}rƒ–(jYUjZjŒ’jbj0‘jdj]jf}r„–(jh]ji]jj]jk]jn]ujpK�jqhjr]r…–(j`)�r†–}r‡–(jYXŽ8. This will set the board to boot from SPI NOR via the ROM code, with boot-table contents expected in the NOR. 24bit addressing has been set.rˆ–jcKjZj‚–jbj0‘jdjpjf}r‰–(jh]ji]jj]jk]jn]ujpK�jqhjr]rŠ–j{XŽ8. This will set the board to boot from SPI NOR via the ROM code, with boot-table contents expected in the NOR. 24bit addressing has been set.r‹–…�rŒ–}r�–(jYjˆ–jZj†–ubaubj`)�rŽ–}r�–(jYUjcKjZj‚–jbj0‘jdjpjf}r�–(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�r‘–}r’–(jYUjcKjZj‚–jbj0‘jdjpjf}r“–(jh]ji]jj]jk]jn]ujpKjqhjr]ubeubj¡)�r”–}r•–(jYX™Please refer to `Technical\_Reference\_Manual `__ for the boot mode switch settings on the board.jZjŒ’jbj0‘jdj¥jf}r––(jh]ji]jj]jk]jn]ujpK”jqhjr]r—–(j{XPlease refer to r˜–…�r™–}rš–(jYXPlease refer to jZj”–ubjÜ)�r›–}rœ–(jYXY`Technical\_Reference\_Manual `__jf}r�–(UnameXTechnical_Reference_ManualjX6http://www.advantech.com/Support/TI-EVM/6670le_sd.aspxjk]jj]jh]ji]jn]ujZj”–jr]rž–j{XTechnical_Reference_ManualrŸ–…�r –}r¡–(jYUjZj›–ubajdjàubj{X0 for the boot mode switch settings on the board.r¢–…�r£–}r¤–(jYX0 for the boot mode switch settings on the board.jZj”–ubeubjî)�r¥–}r¦–(jYXTMDXEVM6678L EVM Hardware SetupjZjŒ’jbjcjdjôjf}r§–(jöj÷jk]jj]jh]ji]jn]ujpKˆjqhjr]r¨–j{XTMDXEVM6678L EVM Hardware Setupr©–…�rª–}r«–(jYUjZj¥–ubaubjî)�r¬–}r­–(jYX4====================================================jZjŒ’jbjcjdjôjf}r®–(jöj÷jk]jj]jh]ji]jn]ujpK‰jqhjr]r¯–j{X4====================================================r°–…�r±–}r²–(jYUjZj¬–ubaubeubeubj[)�r³–}r´–(jYUjZjR\jbj�XHsource/common/EVM_Hardware_Setup/TMDXEVM6678L_EVM_Hardware_Setup.rst.incrµ–…�r¶–}r·–bjdjejf}r¸–(jh]ji]jj]jk]r¹–U%tmdxevm6678l-evm-hardware-setup-guiderº–ajn]r»–hâaujpKjqhjr]r¼–(jt)�r½–}r¾–(jYX%TMDXEVM6678L EVM Hardware Setup Guider¿–jZj³–jbj¶–jdjxjf}rÀ–(jh]ji]jj]jk]jn]ujpKjqhjr]rÁ–j{X%TMDXEVM6678L EVM Hardware Setup Guider–…�rÖ}rÄ–(jYj¿–jZj½–ubaubjZ)�rÅ–}rÆ–(jYUjZj³–jbj¶–jdj]jf}rÇ–(jh]ji]jj]jk]jn]ujpKjqhjr]rÈ–j`)�rÉ–}rÊ–(jYUjcKjZjÅ–jbj¶–jdjpjf}rË–(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rÌ–}rÍ–(jYX¸This page will walk you through setting up your `TMDXEVM6678L `__ Evaluation Module (EVM). These guidelines also apply to the LE and LXE EVM models.jZj³–jbj¶–jdj¥jf}rΖ(jh]ji]jj]jk]jn]ujpKjqhjr]rÏ–(j{X0This page will walk you through setting up your rЖ…�rÑ–}rÒ–(jYX0This page will walk you through setting up your jZjÌ–ubjÜ)�rÓ–}rÔ–(jYX5`TMDXEVM6678L `__jf}rÕ–(UnameX TMDXEVM6678LjX"http://www.ti.com/tool/TMDSEVM6678jk]jj]jh]ji]jn]ujZjÌ–jr]rÖ–j{X TMDXEVM6678Lr×–…�rØ–}rÙ–(jYUjZjÓ–ubajdjàubj{XS Evaluation Module (EVM). These guidelines also apply to the LE and LXE EVM models.rÚ–…�rÛ–}rÜ–(jYXS Evaluation Module (EVM). These guidelines also apply to the LE and LXE EVM models.jZjÌ–ubeubj)�rÝ–}rÞ–(jYXcSome of the steps in this section have been updated from those used in the EVM *Quick Start Guide*.rß–jZj³–jbj¶–jdjjf}rà–(jh]ji]jj]jk]jn]ujpNjqhjr]rá–j¡)�râ–}rã–(jYjß–jZjÝ–jbj¶–jdj¥jf}rä–(jh]ji]jj]jk]jn]ujpK jr]rå–(j{XOSome of the steps in this section have been updated from those used in the EVM ræ–…�rç–}rè–(jYXOSome of the steps in this section have been updated from those used in the EVM jZjâ–ubjŸ')�ré–}rê–(jYX*Quick Start Guide*jf}rë–(jh]ji]jj]jk]jn]ujZjâ–jr]rì–j{XQuick Start Guiderí–…�rî–}rï–(jYUjZjé–ubajdj§'ubj{X.…�rð–}rñ–(jYX.jZjâ–ubeubaubj[)�rò–}ró–(jYUjìKjZj³–jbj¶–jdjejf}rô–(jh]rõ–Xhardware setup overviewrö–aji]jj]jk]r÷–Uid71rø–ajn]ujpK jqhjr]rù–(jt)�rú–}rû–(jYXHardware Setup Overviewrü–jZjò–jbj¶–jdjxjf}rý–(jh]ji]jj]jk]jn]ujpK jqhjr]rþ–j{XHardware Setup Overviewrÿ–…�r—}r—(jYjü–jZjú–ubaubj¡)�r—}r—(jYXcThe picture below shows the TMDXEVM6678L EVM and the locations of relevant switches and connectors.r—jZjò–jbj¶–jdj¥jf}r—(jh]ji]jj]jk]jn]ujpKjqhjr]r—j{XcThe picture below shows the TMDXEVM6678L EVM and the locations of relevant switches and connectors.r—…�r—}r —(jYj—jZj—ubaubjB)�r —}r —(jYX<.. image:: ../images/TMDXEVM6678L-image.jpg :scale: 60 % jZjò–jbj¶–jdjEjf}r —(UscaleK—j{XWarningr?—…�r@—}rA—(jYUjZj;—ubajdjubj{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.rB—…�rC—}rD—(jYXÔ: 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.jZj7—ubeubjZ)�rE—}rF—(jYUjZj'—jbj¶–jdj]jf}rG—(jh]ji]jj]jk]jn]ujpK#jqhjr]rH—(j`)�rI—}rJ—(jYUjcKjZjE—jbj¶–jdjpjf}rK—(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�rL—}rM—(jYX **1. Attach the Ethernet cable**rN—jcKjZjE—jbj¶–jdjpjf}rO—(jh]ji]jj]jk]jn]ujpK$jqhjr]rP—jü)�rQ—}rR—(jYjN—jf}rS—(jh]ji]jj]jk]jn]ujZjL—jr]rT—j{X1. Attach the Ethernet cablerU—…�rV—}rW—(jYUjZjQ—ubajdjubaubeubj¡)�rX—}rY—(jYX}Using the Ethernet cable supplied, connect one end of the cable to the Ethernet port on the EVM and the other end to your PC.rZ—jZj'—jbj¶–jdj¥jf}r[—(jh]ji]jj]jk]jn]ujpK&jqhjr]r\—j{X}Using the Ethernet cable supplied, connect one end of the cable to the Ethernet port on the EVM and the other end to your PC.r]—…�r^—}r_—(jYjZ—jZjX—ubaubjZ)�r`—}ra—(jYUjZj'—jbj¶–jdj]jf}rb—(jh]ji]jj]jk]jn]ujpK)jqhjr]rc—(j`)�rd—}re—(jYUjcKjZj`—jbj¶–jdjpjf}rf—(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�rg—}rh—(jYX!**2. Connect the JTAG interface**ri—jcKjZj`—jbj¶–jdjpjf}rj—(jh]ji]jj]jk]jn]ujpK*jqhjr]rk—jü)�rl—}rm—(jYji—jf}rn—(jh]ji]jj]jk]jn]ujZjg—jr]ro—j{X2. Connect the JTAG interfacerp—…�rq—}rr—(jYUjZjl—ubajdjubaubeubj¡)�rs—}rt—(jYXUse the USB to USB mini-B cable provided. Connect the USB mini-B connector to the USB mini-B interface on the EVM and the USB connector to your PC. This enables XDS-100 emulation and is directly useable by CCS. If you are using a different JTAG, connect it now.ru—jZj'—jbj¶–jdj¥jf}rv—(jh]ji]jj]jk]jn]ujpK,jqhjr]rw—j{XUse the USB to USB mini-B cable provided. Connect the USB mini-B connector to the USB mini-B interface on the EVM and the USB connector to your PC. This enables XDS-100 emulation and is directly useable by CCS. If you are using a different JTAG, connect it now.rx—…�ry—}rz—(jYju—jZjs—ubaubjZ)�r{—}r|—(jYUjZj'—jbj¶–jdj]jf}r}—(jh]ji]jj]jk]jn]ujpK1jqhjr]r~—(j`)�r—}r€—(jYUjcKjZj{—jbj¶–jdjpjf}r�—(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�r‚—}rƒ—(jYX-**3. Verify Endian mode in the SW3 settings**r„—jcKjZj{—jbj¶–jdjpjf}r…—(jh]ji]jj]jk]jn]ujpK2jqhjr]r†—jü)�r‡—}rˆ—(jYj„—jf}r‰—(jh]ji]jj]jk]jn]ujZj‚—jr]rŠ—j{X)3. Verify Endian mode in the SW3 settingsr‹—…�rŒ—}r�—(jYUjZj‡—ubajdjubaubeubj¡)�rŽ—}r�—(jYX[The Endian mode should be set to Little Endian. SW3 also contains the boot device settings.r�—jZj'—jbj¶–jdj¥jf}r‘—(jh]ji]jj]jk]jn]ujpK4jqhjr]r’—j{X[The Endian mode should be set to Little Endian. SW3 also contains the boot device settings.r“—…�r”—}r•—(jYj�—jZjŽ—ubaubjZ)�r–—}r——(jYUjZj'—jbj¶–jdj]jf}r˜—(jh]ji]jj]jk]jn]ujpK7jqhjr]r™—j`)�rš—}r›—(jYUjcKjZj–—jbj¶–jdjpjf}rœ—(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjB)�r�—}rž—(jYX6.. image:: ../images/TMD6678LSW3.png :scale: 40 % jZj'—jbj¶–jdjEjf}rŸ—(UscaleK(UuriXrtos/../images/TMD6678LSW3.pngr —jk]jj]jh]ji]jH}r¡—U*j —sjn]ujpNjqhjr]ubjZ)�r¢—}r£—(jYUjZj'—jbj¶–jdj]jf}r¤—(jh]ji]jj]jk]jn]ujpK=jqhjr]r¥—(j`)�r¦—}r§—(jYUjcKjZj¢—jbj¶–jdjpjf}r¨—(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�r©—}rª—(jYX1**4. Verify boot mode in the SW3 - SW6 settings**r«—jcKjZj¢—jbj¶–jdjpjf}r¬—(jh]ji]jj]jk]jn]ujpK>jqhjr]r­—jü)�r®—}r¯—(jYj«—jf}r°—(jh]ji]jj]jk]jn]ujZj©—jr]r±—j{X-4. Verify boot mode in the SW3 - SW6 settingsr²—…�r³—}r´—(jYUjZj®—ubajdjubaubeubj¡)�rµ—}r¶—(jYXaThe boot mode settings below enable NOR boot by loading the boot loader from EEPROM address 0x51.r·—jZj'—jbj¶–jdj¥jf}r¸—(jh]ji]jj]jk]jn]ujpK@jqhjr]r¹—j{XaThe boot mode settings below enable NOR boot by loading the boot loader from EEPROM address 0x51.rº—…�r»—}r¼—(jYj·—jZjµ—ubaubjB)�r½—}r¾—(jYX7.. image:: ../images/TMD6678LSW3-6.png :scale: 40 % jZj'—jbj¶–jdjEjf}r¿—(UscaleK(UuriX rtos/../images/TMD6678LSW3-6.pngrÀ—jk]jj]jh]ji]jH}rÁ—U*jÀ—sjn]ujpNjqhjr]ubjZ)�r—}r×(jYUjZj'—jbj¶–jdj]jf}rÄ—(jh]ji]jj]jk]jn]ujpKFjqhjr]rÅ—(j`)�rÆ—}rÇ—(jYUjcKjZj—jbj¶–jdjpjf}rÈ—(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�rÉ—}rÊ—(jYX/**5. Set User Switch for the demo application**rË—jcKjZj—jbj¶–jdjpjf}rÌ—(jh]ji]jj]jk]jn]ujpKGjqhjr]rÍ—jü)�rΗ}rÏ—(jYjË—jf}rЗ(jh]ji]jj]jk]jn]ujZjÉ—jr]rÑ—j{X+5. Set User Switch for the demo applicationrÒ—…�rÓ—}rÔ—(jYUjZjΗubajdjubaubeubj¡)�rÕ—}rÖ—(jYX°The application needs an IP address. It can use either a static IP address (pre-configured) or it can request one using DHCP. This is controlled by setting dip switch 2 of SW9.r×—jZj'—jbj¶–jdj¥jf}rØ—(jh]ji]jj]jk]jn]ujpKIjqhjr]rÙ—j{X°The application needs an IP address. It can use either a static IP address (pre-configured) or it can request one using DHCP. This is controlled by setting dip switch 2 of SW9.rÚ—…�rÛ—}rÜ—(jYj×—jZjÕ—ubaubjZ)�rÝ—}rÞ—(jYUjZj'—jbj¶–jdj]jf}rß—(jh]ji]jj]jk]jn]ujpKMjqhjr]rà—(j`)�rá—}râ—(jYXUser Switch 2 ON : DHCPrã—jcKjZjÝ—jbj¶–jdjpjf}rä—(jh]ji]jj]jk]jn]ujpKMjqhjr]rå—j{XUser Switch 2 ON : DHCPræ—…�rç—}rè—(jYjã—jZjá—ubaubj`)�ré—}rê—(jYXUser Switch 2 OFF: Static IPrë—jcKjZjÝ—jbj¶–jdjpjf}rì—(jh]ji]jj]jk]jn]ujpKNjqhjr]rí—j{XUser Switch 2 OFF: Static IPrî—…�rï—}rð—(jYjë—jZjé—ubaubeubjB)�rñ—}rò—(jYX5.. image:: ../images/TMD6678LSW9.png :scale: 50 % jZj'—jbj¶–jdjEjf}ró—(UscaleK2UuriXrtos/../images/TMD6678LSW9.pngrô—jk]jj]jh]ji]jH}rõ—U*jô—sjn]ujpNjqhjr]ubjZ)�rö—}r÷—(jYUjZj'—jbj¶–jdj]jf}rø—(jh]ji]jj]jk]jn]ujpKSjqhjr]rù—(j`)�rú—}rû—(jYUjcKjZjö—jbj¶–jdjpjf}rü—(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�rý—}rþ—(jYX#**6. Attach the serial port cable**rÿ—jcKjZjö—jbj¶–jdjpjf}r˜(jh]ji]jj]jk]jn]ujpKTjqhjr]r˜jü)�r˜}r˜(jYjÿ—jf}r˜(jh]ji]jj]jk]jn]ujZjý—jr]r˜j{X6. Attach the serial port cabler˜…�r˜}r˜(jYUjZj˜ubajdjubaubeubj¡)�r ˜}r ˜(jYX"This EVM can use either a USB serial port or the standard DB-9 (use the cable shipped with the platform). By default the shunts which control this on the platforms are set to use the USB by default. We recommend changing them to use the DB-9 as there are no known issues with this approach.r ˜jZj'—jbj¶–jdj¥jf}r ˜(jh]ji]jj]jk]jn]ujpKVjqhjr]r ˜j{X"This EVM can use either a USB serial port or the standard DB-9 (use the cable shipped with the platform). By default the shunts which control this on the platforms are set to use the USB by default. We recommend changing them to use the DB-9 as there are no known issues with this approach.r˜…�r˜}r˜(jYj ˜jZj ˜ubaubjB)�r˜}r˜(jYX-.. image:: ../images/TMDXEVM6678L-shunts.jpg jZj'—jbj¶–jdjEjf}r˜(UuriX&rtos/../images/TMDXEVM6678L-shunts.jpgr˜jk]jj]jh]ji]jH}r˜U*j˜sjn]ujpK]jqhjr]ubj)�r˜}r˜(jYX©If the USB serial port output does not work, ensure that the cable is connected directly to a USB port on the PC/laptop rather than going through an extender or USB hub.r˜jZj'—jbj¶–jdjjf}r˜(jh]ji]jj]jk]jn]ujpNjqhjr]r˜j¡)�r˜}r˜(jYj˜jZj˜jbj¶–jdj¥jf}r˜(jh]ji]jj]jk]jn]ujpK^jr]r˜j{X©If the USB serial port output does not work, ensure that the cable is connected directly to a USB port on the PC/laptop rather than going through an extender or USB hub.r˜…�r ˜}r!˜(jYj˜jZj˜ubaubaubj)�r"˜}r#˜(jYX\For the shunts on the alpha/beta Lite EVM, please refer to the picture below for the settingr$˜jZj'—jbj¶–jdjjf}r%˜(jh]ji]jj]jk]jn]ujpNjqhjr]r&˜j¡)�r'˜}r(˜(jYj$˜jZj"˜jbj¶–jdj¥jf}r)˜(jh]ji]jj]jk]jn]ujpK`jr]r*˜j{X\For the shunts on the alpha/beta Lite EVM, please refer to the picture below for the settingr+˜…�r,˜}r-˜(jYj$˜jZj'˜ubaubaubjB)�r.˜}r/˜(jYX(.. image:: ../images/TMD6678LShunts.jpg jZj'—jbj¶–jdjEjf}r0˜(UuriX!rtos/../images/TMD6678LShunts.jpgr1˜jk]jj]jh]ji]jH}r2˜U*j1˜sjn]ujpKbjqhjr]ubjZ)�r3˜}r4˜(jYUjZj'—jbj¶–jdj]jf}r5˜(jh]ji]jj]jk]jn]ujpKcjqhjr]r6˜(j`)�r7˜}r8˜(jYUjcKjZj3˜jbj¶–jdjpjf}r9˜(jh]ji]jj]jk]jn]ujpKjqhjr]ubj`)�r:˜}r;˜(jYX**7. Connect the power cable**r<˜jcKjZj3˜jbj¶–jdjpjf}r=˜(jh]ji]jj]jk]jn]ujpKdjqhjr]r>˜jü)�r?˜}r@˜(jYj<˜jf}rA˜(jh]ji]jj]jk]jn]ujZj:˜jr]rB˜j{X7. Connect the power cablerC˜…�rD˜}rE˜(jYUjZj?˜ubajdjubaubeubj¡)�rF˜}rG˜(jYXÇConnect the power cable to the EVM power jack on the board. To be ESD safe, plug in the other end of the power cable only after you have connected the power cord to the board. Then turn on the board.rH˜jZj'—jbj¶–jdj¥jf}rI˜(jh]ji]jj]jk]jn]ujpKfjqhjr]rJ˜j{XÇConnect the power cable to the EVM power jack on the board. To be ESD safe, plug in the other end of the power cable only after you have connected the power cord to the board. Then turn on the board.rK˜…�rL˜}rM˜(jYjH˜jZjF˜ubaubjZ)�rN˜}rO˜(jYUjZj'—jbj¶–jdj]jf}rP˜(jh]ji]jj]jk]jn]ujpKjjqhjr]rQ˜j`)�rR˜}rS˜(jYUjcKjZjN˜jbj¶–jdjpjf}rT˜(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubj[)�rU˜}rV˜(jYUjìKjZj³–jbj¶–jdjejf}rW˜(jh]rX˜Xboot mode dip switch settingsrY˜aji]jj]jk]rZ˜Uid73r[˜ajn]ujpKmjqhjr]r\˜(jt)�r]˜}r^˜(jYXBoot Mode Dip Switch Settingsr_˜jZjU˜jbj¶–jdjxjf}r`˜(jh]ji]jj]jk]jn]ujpKmjqhjr]ra˜j{XBoot Mode Dip Switch Settingsrb˜…�rc˜}rd˜(jYj_˜jZj]˜ubaubj¡)�re˜}rf˜(jYXmThe EVM supports booting image from various devices (EEPROM, NAND or NOR) via IBL (at I2C address 0x51), I2C EEPROM (at I2C address 0x50), and ROM Boot modes (such as Ethernet, SRIO, PCIe, SPI etc.) which address the boot source directly from the ROM code. Below is the table showing the boot mode dip switch settings for different boot mode that the EVM supports:rg˜jZjU˜jbj¶–jdj¥jf}rh˜(jh]ji]jj]jk]jn]ujpKojqhjr]ri˜j{XmThe EVM supports booting image from various devices (EEPROM, NAND or NOR) via IBL (at I2C address 0x51), I2C EEPROM (at I2C address 0x50), and ROM Boot modes (such as Ethernet, SRIO, PCIe, SPI etc.) which address the boot source directly from the ROM code. Below is the table showing the boot mode dip switch settings for different boot mode that the EVM supports:rj˜…�rk˜}rl˜(jYjg˜jZje˜ubaubjd$)�rm˜}rn˜(jYUjZjU˜jbj¶–jdjg$jf}ro˜(jh]ji]jj]jk]jn]ujpNjqhjr]rp˜jj$)�rq˜}rr˜(jYUjf}rs˜(jk]jj]jh]ji]jn]UcolsKujZjm˜jr]rt˜(jo$)�ru˜}rv˜(jYUjf}rw˜(jk]jj]jh]ji]jn]UcolwidthKujZjq˜jr]jdjs$ubjo$)�rx˜}ry˜(jYUjf}rz˜(jk]jj]jh]ji]jn]UcolwidthKujZjq˜jr]jdjs$ubjo$)�r{˜}r|˜(jYUjf}r}˜(jk]jj]jh]ji]jn]UcolwidthKujZjq˜jr]jdjs$ubjo$)�r~˜}r˜(jYUjf}r€˜(jk]jj]jh]ji]jn]UcolwidthKujZjq˜jr]jdjs$ubjo$)�r�˜}r‚˜(jYUjf}rƒ˜(jk]jj]jh]ji]jn]UcolwidthKujZjq˜jr]jdjs$ubjz$)�r„˜}r…˜(jYUjf}r†˜(jh]ji]jj]jk]jn]ujZjq˜jr]r‡˜j$)�rˆ˜}r‰˜(jYUjf}rŠ˜(jh]ji]jj]jk]jn]ujZj„˜jr]r‹˜(j„$)�rŒ˜}r�˜(jYUjf}rŽ˜(jh]ji]jj]jk]jn]ujZjˆ˜jr]r�˜j¡)�r�˜}r‘˜(jYX Boot Moder’˜jZjŒ˜jbj¶–jdj¥jf}r“˜(jh]ji]jj]jk]jn]ujpKwjr]r”˜j{X Boot Moder•˜…�r–˜}r—˜(jYj’˜jZj�˜ubaubajdj‘$ubj„$)�r˜˜}r™˜(jYUjf}rš˜(jh]ji]jj]jk]jn]ujZjˆ˜jr]r›˜(j¡)�rœ˜}r�˜(jYXDIP SW3rž˜jZj˜˜jbj¶–jdj¥jf}rŸ˜(jh]ji]jj]jk]jn]ujpKwjr]r ˜j{XDIP SW3r¡˜…�r¢˜}r£˜(jYjž˜jZjœ˜ubaubj¡)�r¤˜}r¥˜(jYX(Pin1, 2, 3, 4)r¦˜jZj˜˜jbj¶–jdj¥jf}r§˜(jh]ji]jj]jk]jn]ujpKyjr]r¨˜j{X(Pin1, 2, 3, 4)r©˜…�rª˜}r«˜(jYj¦˜jZj¤˜ubaubejdj‘$ubj„$)�r¬˜}r­˜(jYUjf}r®˜(jh]ji]jj]jk]jn]ujZjˆ˜jr]r¯˜(j¡)�r°˜}r±˜(jYXDIP SW4r²˜jZj¬˜jbj¶–jdj¥jf}r³˜(jh]ji]jj]jk]jn]ujpKwjr]r´˜j{XDIP SW4rµ˜…�r¶˜}r·˜(jYj²˜jZj°˜ubaubj¡)�r¸˜}r¹˜(jYX(Pin1, 2, 3, 4)rº˜jZj¬˜jbj¶–jdj¥jf}r»˜(jh]ji]jj]jk]jn]ujpKyjr]r¼˜j{X(Pin1, 2, 3, 4)r½˜…�r¾˜}r¿˜(jYjº˜jZj¸˜ubaubejdj‘$ubj„$)�rÀ˜}rÁ˜(jYUjf}r˜(jh]ji]jj]jk]jn]ujZjˆ˜jr]rØ(j¡)�rĘ}rŘ(jYXDIP SW5rƘjZjÀ˜jbj¶–jdj¥jf}rǘ(jh]ji]jj]jk]jn]ujpKwjr]rȘj{XDIP SW5rɘ…�rʘ}r˘(jYjƘjZjĘubaubj¡)�r̘}r͘(jYX(Pin1, 2, 3, 4)rΘjZjÀ˜jbj¶–jdj¥jf}rϘ(jh]ji]jj]jk]jn]ujpKyjr]rИj{X(Pin1, 2, 3, 4)rј…�rÒ˜}rÓ˜(jYjΘjZj̘ubaubejdj‘$ubj„$)�rÔ˜}rÕ˜(jYUjf}rÖ˜(jh]ji]jj]jk]jn]ujZjˆ˜jr]rט(j¡)�rؘ}rÙ˜(jYXDIP SW6rÚ˜jZjÔ˜jbj¶–jdj¥jf}rÛ˜(jh]ji]jj]jk]jn]ujpKwjr]rܘj{XDIP SW6rݘ…�rÞ˜}rߘ(jYjÚ˜jZjؘubaubj¡)�rà˜}rá˜(jYX(Pin1, 2, 3, 4)râ˜jZjÔ˜jbj¶–jdj¥jf}rã˜(jh]ji]jj]jk]jn]ujpKyjr]rä˜j{X(Pin1, 2, 3, 4)r嘅�ræ˜}rç˜(jYjâ˜jZjà˜ubaubejdj‘$ubejdjª$ubajdj«$ubj¬$)�rè˜}ré˜(jYUjf}rê˜(jh]ji]jj]jk]jn]ujZjq˜jr]rë˜(j$)�rì˜}rí˜(jYUjf}rî˜(jh]ji]jj]jk]jn]ujZjè˜jr]rï˜(j„$)�rð˜}rñ˜(jYUjf}rò˜(jh]ji]jj]jk]jn]ujZjì˜jr]ró˜j¡)�rô˜}rõ˜(jYX"IBL NOR boot on image 0 (default)rö˜jZjð˜jbj¶–jdj¥jf}r÷˜(jh]ji]jj]jk]jn]ujpK|jr]rø˜j{X"IBL NOR boot on image 0 (default)rù˜…�rú˜}rû˜(jYjö˜jZjô˜ubaubajdj‘$ubj„$)�rü˜}rý˜(jYUjf}rþ˜(jh]ji]jj]jk]jn]ujZjì˜jr]rÿ˜j¡)�r™}r™(jYX (off, off, on, off)\ :sup:`1, 2`jZjü˜jbj¶–jdj¥jf}r™(jh]ji]jj]jk]jn]ujpK|jr]r™(j{X(off, off, on, off)r™…�r™}r™(jYX(off, off, on, off)\ jZj™ubj„)�r™}r™(jYX :sup:`1, 2`jf}r ™(jh]ji]jj]jk]jn]ujZj™jr]r ™j{X1, 2r ™…�r ™}r ™(jYUjZj™ubajdj„ubeubajdj‘$ubj„$)�r™}r™(jYUjf}r™(jh]ji]jj]jk]jn]ujZjì˜jr]r™j¡)�r™}r™(jYX(on, on, on, on)\ :sup:`3`jZj™jbj¶–jdj¥jf}r™(jh]ji]jj]jk]jn]ujpK|jr]r™(j{X(on, on, on, on)r™…�r™}r™(jYX(on, on, on, on)\ jZj™ubj„)�r™}r™(jYX:sup:`3`jf}r™(jh]ji]jj]jk]jn]ujZj™jr]r™j{X3…�r™}r™(jYUjZj™ubajdj„ubeubajdj‘$ubj„$)�r™}r ™(jYUjf}r!™(jh]ji]jj]jk]jn]ujZjì˜jr]r"™j¡)�r#™}r$™(jYX(on, on, on, off)\ :sup:`4`jZj™jbj¶–jdj¥jf}r%™(jh]ji]jj]jk]jn]ujpK|jr]r&™(j{X(on, on, on, off)r'™…�r(™}r)™(jYX(on, on, on, off)\ jZj#™ubj„)�r*™}r+™(jYX:sup:`4`jf}r,™(jh]ji]jj]jk]jn]ujZj#™jr]r-™j{X4…�r.™}r/™(jYUjZj*™ubajdj„ubeubajdj‘$ubj„$)�r0™}r1™(jYUjf}r2™(jh]ji]jj]jk]jn]ujZjì˜jr]r3™j¡)�r4™}r5™(jYX(on, on, on, on)r6™jZj0™jbj¶–jdj¥jf}r7™(jh]ji]jj]jk]jn]ujpK|jr]r8™j{X(on, on, on, on)r9™…�r:™}r;™(jYj6™jZj4™ubaubajdj‘$ubejdjª$ubj$)�r<™}r=™(jYUjf}r>™(jh]ji]jj]jk]jn]ujZjè˜jr]r?™(j„$)�r@™}rA™(jYUjf}rB™(jh]ji]jj]jk]jn]ujZj<™jr]rC™j¡)�rD™}rE™(jYXIBL NOR boot on image 1rF™jZj@™jbj¶–jdj¥jf}rG™(jh]ji]jj]jk]jn]ujpK€jr]rH™j{XIBL NOR boot on image 1rI™…�rJ™}rK™(jYjF™jZjD™ubaubajdj‘$ubj„$)�rL™}rM™(jYUjf}rN™(jh]ji]jj]jk]jn]ujZj<™jr]rO™j¡)�rP™}rQ™(jYX(off, off, on, off)rR™jZjL™jbj¶–jdj¥jf}rS™(jh]ji]jj]jk]jn]ujpK€jr]rT™j{X(off, off, on, off)rU™…�rV™}rW™(jYjR™jZjP™ubaubajdj‘$ubj„$)�rX™}rY™(jYUjf}rZ™(jh]ji]jj]jk]jn]ujZj<™jr]r[™j¡)�r\™}r]™(jYX(off, on, on, on)r^™jZjX™jbj¶–jdj¥jf}r_™(jh]ji]jj]jk]jn]ujpK€jr]r`™j{X(off, on, on, on)ra™…�rb™}rc™(jYj^™jZj\™ubaubajdj‘$ubj„$)�rd™}re™(jYUjf}rf™(jh]ji]jj]jk]jn]ujZj<™jr]rg™j¡)�rh™}ri™(jYX(on, on, on, off)rj™jZjd™jbj¶–jdj¥jf}rk™(jh]ji]jj]jk]jn]ujpK€jr]rl™j{X(on, on, on, off)rm™…�rn™}ro™(jYjj™jZjh™ubaubajdj‘$ubj„$)�rp™}rq™(jYUjf}rr™(jh]ji]jj]jk]jn]ujZj<™jr]rs™j¡)�rt™}ru™(jYX(on, on, on, on)rv™jZjp™jbj¶–jdj¥jf}rw™(jh]ji]jj]jk]jn]ujpK€jr]rx™j{X(on, on, on, on)ry™…�rz™}r{™(jYjv™jZjt™ubaubajdj‘$ubejdjª$ubj$)�r|™}r}™(jYUjf}r~™(jh]ji]jj]jk]jn]ujZjè˜jr]r™(j„$)�r€™}r�™(jYUjf}r‚™(jh]ji]jj]jk]jn]ujZj|™jr]rƒ™j¡)�r„™}r…™(jYXIBL NAND boot on image 0r†™jZj€™jbj¶–jdj¥jf}r‡™(jh]ji]jj]jk]jn]ujpKƒjr]rˆ™j{XIBL NAND boot on image 0r‰™…�rŠ™}r‹™(jYj†™jZj„™ubaubajdj‘$ubj„$)�rŒ™}r�™(jYUjf}rŽ™(jh]ji]jj]jk]jn]ujZj|™jr]r�™j¡)�r�™}r‘™(jYX(off, off, on, off)r’™jZjŒ™jbj¶–jdj¥jf}r“™(jh]ji]jj]jk]jn]ujpKƒjr]r”™j{X(off, off, on, off)r•™…�r–™}r—™(jYj’™jZj�™ubaubajdj‘$ubj„$)�r˜™}r™™(jYUjf}rš™(jh]ji]jj]jk]jn]ujZj|™jr]r›™j¡)�rœ™}r�™(jYX(on, off, on, on)rž™jZj˜™jbj¶–jdj¥jf}rŸ™(jh]ji]jj]jk]jn]ujpKƒjr]r ™j{X(on, off, on, on)r¡™…�r¢™}r£™(jYjž™jZjœ™ubaubajdj‘$ubj„$)�r¤™}r¥™(jYUjf}r¦™(jh]ji]jj]jk]jn]ujZj|™jr]r§™j¡)�r¨™}r©™(jYX(on, on, on, off)rª™jZj¤™jbj¶–jdj¥jf}r«™(jh]ji]jj]jk]jn]ujpKƒjr]r¬™j{X(on, on, on, off)r­™…�r®™}r¯™(jYjª™jZj¨™ubaubajdj‘$ubj„$)�r°™}r±™(jYUjf}r²™(jh]ji]jj]jk]jn]ujZj|™jr]r³™j¡)�r´™}rµ™(jYX(on, on, on, on)r¶™jZj°™jbj¶–jdj¥jf}r·™(jh]ji]jj]jk]jn]ujpKƒjr]r¸™j{X(on, on, on, on)r¹™…�rº™}r»™(jYj¶™jZj´™ubaubajdj‘$ubejdjª$ubj$)�r¼™}r½™(jYUjf}r¾™(jh]ji]jj]jk]jn]ujZjè˜jr]r¿™(j„$)�rÀ™}rÁ™(jYUjf}r™(jh]ji]jj]jk]jn]ujZj¼™jr]rÙj¡)�rÄ™}rÅ™(jYXIBL NAND boot on image 1rÆ™jZjÀ™jbj¶–jdj¥jf}rÇ™(jh]ji]jj]jk]jn]ujpK†jr]rÈ™j{XIBL NAND boot on image 1rÉ™…�rÊ™}rË™(jYjÆ™jZjÄ™ubaubajdj‘$ubj„$)�rÌ™}rÍ™(jYUjf}rΙ(jh]ji]jj]jk]jn]ujZj¼™jr]rÏ™j¡)�rЙ}rÑ™(jYX(off, off, on, off)rÒ™jZjÌ™jbj¶–jdj¥jf}rÓ™(jh]ji]jj]jk]jn]ujpK†jr]rÔ™j{X(off, off, on, off)rÕ™…�rÖ™}r×™(jYjÒ™jZjЙubaubajdj‘$ubj„$)�rØ™}rÙ™(jYUjf}rÚ™(jh]ji]jj]jk]jn]ujZj¼™jr]rÛ™j¡)�rÜ™}rÝ™(jYX(off, off, on, on)rÞ™jZjØ™jbj¶–jdj¥jf}rß™(jh]ji]jj]jk]jn]ujpK†jr]rà™j{X(off, off, on, on)rá™…�râ™}rã™(jYjÞ™jZjÜ™ubaubajdj‘$ubj„$)�rä™}rå™(jYUjf}ræ™(jh]ji]jj]jk]jn]ujZj¼™jr]rç™j¡)�rè™}ré™(jYX(on, on, on, off)rê™jZjä™jbj¶–jdj¥jf}rë™(jh]ji]jj]jk]jn]ujpK†jr]rì™j{X(on, on, on, off)rí™…�rî™}rï™(jYjê™jZjè™ubaubajdj‘$ubj„$)�rð™}rñ™(jYUjf}rò™(jh]ji]jj]jk]jn]ujZj¼™jr]ró™j¡)�rô™}rõ™(jYX(on, on, on, on)rö™jZjð™jbj¶–jdj¥jf}r÷™(jh]ji]jj]jk]jn]ujpK†jr]rø™j{X(on, on, on, on)rù™…�rú™}rû™(jYjö™jZjô™ubaubajdj‘$ubejdjª$ubj$)�rü™}rý™(jYUjf}rþ™(jh]ji]jj]jk]jn]ujZjè˜jr]rÿ™(j„$)�rš}rš(jYUjf}rš(jh]ji]jj]jk]jn]ujZjü™jr]ršj¡)�rš}rš(jYX IBL TFTP bootršjZjšjbj¶–jdj¥jf}rš(jh]ji]jj]jk]jn]ujpK‰jr]ršj{X IBL TFTP bootr š…�r š}r š(jYjšjZjšubaubajdj‘$ubj„$)�r š}r š(jYUjf}rš(jh]ji]jj]jk]jn]ujZjü™jr]ršj¡)�rš}rš(jYX(off, off, on, off)ršjZj šjbj¶–jdj¥jf}rš(jh]ji]jj]jk]jn]ujpK‰jr]ršj{X(off, off, on, off)rš…�rš}rš(jYjšjZjšubaubajdj‘$ubj„$)�rš}rš(jYUjf}rš(jh]ji]jj]jk]jn]ujZjü™jr]ršj¡)�rš}rš(jYX(on, on, off, on)ršjZjšjbj¶–jdj¥jf}rš(jh]ji]jj]jk]jn]ujpK‰jr]r šj{X(on, on, off, on)r!š…�r"š}r#š(jYjšjZjšubaubajdj‘$ubj„$)�r$š}r%š(jYUjf}r&š(jh]ji]jj]jk]jn]ujZjü™jr]r'šj¡)�r(š}r)š(jYX(on, on, on, off)r*šjZj$šjbj¶–jdj¥jf}r+š(jh]ji]jj]jk]jn]ujpK‰jr]r,šj{X(on, on, on, off)r-š…�r.š}r/š(jYj*šjZj(šubaubajdj‘$ubj„$)�r0š}r1š(jYUjf}r2š(jh]ji]jj]jk]jn]ujZjü™jr]r3šj¡)�r4š}r5š(jYX(on, on, on, on)r6šjZj0šjbj¶–jdj¥jf}r7š(jh]ji]jj]jk]jn]ujpK‰jr]r8šj{X(on, on, on, on)r9š…�r:š}r;š(jYj6šjZj4šubaubajdj‘$ubejdjª$ubj$)�r<š}r=š(jYUjf}r>š(jh]ji]jj]jk]jn]ujZjè˜jr]r?š(j„$)�r@š}rAš(jYUjf}rBš(jh]ji]jj]jk]jn]ujZj<šjr]rCšj¡)�rDš}rEš(jYX I2C POST bootrFšjZj@šjbj¶–jdj¥jf}rGš(jh]ji]jj]jk]jn]ujpKŒjr]rHšj{X I2C POST bootrIš…�rJš}rKš(jYjFšjZjDšubaubajdj‘$ubj„$)�rLš}rMš(jYUjf}rNš(jh]ji]jj]jk]jn]ujZj<šjr]rOšj¡)�rPš}rQš(jYX(off, off, on, off)rRšjZjLšjbj¶–jdj¥jf}rSš(jh]ji]jj]jk]jn]ujpKŒjr]rTšj{X(off, off, on, off)rUš…�rVš}rWš(jYjRšjZjPšubaubajdj‘$ubj„$)�rXš}rYš(jYUjf}rZš(jh]ji]jj]jk]jn]ujZj<šjr]r[šj¡)�r\š}r]š(jYX(on, on, on, on)r^šjZjXšjbj¶–jdj¥jf}r_š(jh]ji]jj]jk]jn]ujpKŒjr]r`šj{X(on, on, on, on)raš…�rbš}rcš(jYj^šjZj\šubaubajdj‘$ubj„$)�rdš}reš(jYUjf}rfš(jh]ji]jj]jk]jn]ujZj<šjr]rgšj¡)�rhš}riš(jYX(on, on, on, on)rjšjZjdšjbj¶–jdj¥jf}rkš(jh]ji]jj]jk]jn]ujpKŒjr]rlšj{X(on, on, on, on)rmš…�rnš}roš(jYjjšjZjhšubaubajdj‘$ubj„$)�rpš}rqš(jYUjf}rrš(jh]ji]jj]jk]jn]ujZj<šjr]rsšj¡)�rtš}ruš(jYX(on, on, on, on)rvšjZjpšjbj¶–jdj¥jf}rwš(jh]ji]jj]jk]jn]ujpKŒjr]rxšj{X(on, on, on, on)ryš…�rzš}r{š(jYjvšjZjtšubaubajdj‘$ubejdjª$ubj$)�r|š}r}š(jYUjf}r~š(jh]ji]jj]jk]jn]ujZjè˜jr]rš(j„$)�r€š}r�š(jYUjf}r‚š(jh]ji]jj]jk]jn]ujZj|šjr]rƒšj¡)�r„š}r…š(jYXROM SPI Boot\ :sup:`8`jZj€šjbj¶–jdj¥jf}r†š(jh]ji]jj]jk]jn]ujpK�jr]r‡š(j{X ROM SPI Bootrˆš…�r‰š}rŠš(jYXROM SPI Boot\ jZj„šubj„)�r‹š}rŒš(jYX:sup:`8`jf}r�š(jh]ji]jj]jk]jn]ujZj„šjr]rŽšj{X8…�r�š}r�š(jYUjZj‹šubajdj„ubeubajdj‘$ubj„$)�r‘š}r’š(jYUjf}r“š(jh]ji]jj]jk]jn]ujZj|šjr]r”šj¡)�r•š}r–š(jYX(off, on, off, off)r—šjZj‘šjbj¶–jdj¥jf}r˜š(jh]ji]jj]jk]jn]ujpK�jr]r™šj{X(off, on, off, off)ršš…�r›š}rœš(jYj—šjZj•šubaubajdj‘$ubj„$)�r�š}ržš(jYUjf}rŸš(jh]ji]jj]jk]jn]ujZj|šjr]r šj¡)�r¡š}r¢š(jYX(on, on, on, on)r£šjZj�šjbj¶–jdj¥jf}r¤š(jh]ji]jj]jk]jn]ujpK�jr]r¥šj{X(on, on, on, on)r¦š…�r§š}r¨š(jYj£šjZj¡šubaubajdj‘$ubj„$)�r©š}rªš(jYUjf}r«š(jh]ji]jj]jk]jn]ujZj|šjr]r¬šj¡)�r­š}r®š(jYX(on, on, off, on)r¯šjZj©šjbj¶–jdj¥jf}r°š(jh]ji]jj]jk]jn]ujpK�jr]r±šj{X(on, on, off, on)r²š…�r³š}r´š(jYj¯šjZj­šubaubajdj‘$ubj„$)�rµš}r¶š(jYUjf}r·š(jh]ji]jj]jk]jn]ujZj|šjr]r¸šj¡)�r¹š}rºš(jYX(on, on, on, on)r»šjZjµšjbj¶–jdj¥jf}r¼š(jh]ji]jj]jk]jn]ujpK�jr]r½šj{X(on, on, on, on)r¾š…�r¿š}rÀš(jYj»šjZj¹šubaubajdj‘$ubejdjª$ubj$)�rÁš}rš(jYUjf}rÚ(jh]ji]jj]jk]jn]ujZjè˜jr]rÄš(j„$)�rÅš}rÆš(jYUjf}rÇš(jh]ji]jj]jk]jn]ujZjÁšjr]rÈšj¡)�rÉš}rÊš(jYXROM SRIO Boot\ :sup:`5`jZjÅšjbj¶–jdj¥jf}rËš(jh]ji]jj]jk]jn]ujpK’jr]rÌš(j{X ROM SRIO BootrÍš…�rΚ}rÏš(jYXROM SRIO Boot\ jZjÉšubj„)�rК}rÑš(jYX:sup:`5`jf}rÒš(jh]ji]jj]jk]jn]ujZjÉšjr]rÓšj{X5…�rÔš}rÕš(jYUjZjКubajdj„ubeubajdj‘$ubj„$)�rÖš}rך(jYUjf}rØš(jh]ji]jj]jk]jn]ujZjÁšjr]rÙšj¡)�rÚš}rÛš(jYX(off, off, on, on)rÜšjZjÖšjbj¶–jdj¥jf}rÝš(jh]ji]jj]jk]jn]ujpK’jr]rÞšj{X(off, off, on, on)rßš…�ràš}ráš(jYjÜšjZjÚšubaubajdj‘$ubj„$)�râš}rãš(jYUjf}räš(jh]ji]jj]jk]jn]ujZjÁšjr]råšj¡)�ræš}rçš(jYX(on, on, on, off)rèšjZjâšjbj¶–jdj¥jf}réš(jh]ji]jj]jk]jn]ujpK’jr]rêšj{X(on, on, on, off)rëš…�rìš}ríš(jYjèšjZjæšubaubajdj‘$ubj„$)�rîš}rïš(jYUjf}rðš(jh]ji]jj]jk]jn]ujZjÁšjr]rñšj¡)�ròš}róš(jYX(on, off, on, off)rôšjZjîšjbj¶–jdj¥jf}rõš(jh]ji]jj]jk]jn]ujpK’jr]röšj{X(on, off, on, off)r÷š…�røš}rùš(jYjôšjZjòšubaubajdj‘$ubj„$)�rúš}rûš(jYUjf}rüš(jh]ji]jj]jk]jn]ujZjÁšjr]rýšj¡)�rþš}rÿš(jYX(off, on, on, on)r›jZjúšjbj¶–jdj¥jf}r›(jh]ji]jj]jk]jn]ujpK’jr]r›j{X(off, on, on, on)r›…�r›}r›(jYj›jZjþšubaubajdj‘$ubejdjª$ubj$)�r›}r›(jYUjf}r›(jh]ji]jj]jk]jn]ujZjè˜jr]r ›(j„$)�r ›}r ›(jYUjf}r ›(jh]ji]jj]jk]jn]ujZj›jr]r ›j¡)�r›}r›(jYXROM Ethernet Boot\ :sup:`6`jZj ›jbj¶–jdj¥jf}r›(jh]ji]jj]jk]jn]ujpK•jr]r›(j{XROM Ethernet Bootr›…�r›}r›(jYXROM Ethernet Boot\ jZj›ubj„)�r›}r›(jYX:sup:`6`jf}r›(jh]ji]jj]jk]jn]ujZj›jr]r›j{X6…�r›}r›(jYUjZj›ubajdj„ubeubajdj‘$ubj„$)�r›}r›(jYUjf}r›(jh]ji]jj]jk]jn]ujZj›jr]r›j¡)�r›}r ›(jYX(off, on, off, on)r!›jZj›jbj¶–jdj¥jf}r"›(jh]ji]jj]jk]jn]ujpK•jr]r#›j{X(off, on, off, on)r$›…�r%›}r&›(jYj!›jZj›ubaubajdj‘$ubj„$)�r'›}r(›(jYUjf}r)›(jh]ji]jj]jk]jn]ujZj›jr]r*›j¡)�r+›}r,›(jYX(on, on, on, off)r-›jZj'›jbj¶–jdj¥jf}r.›(jh]ji]jj]jk]jn]ujpK•jr]r/›j{X(on, on, on, off)r0›…�r1›}r2›(jYj-›jZj+›ubaubajdj‘$ubj„$)�r3›}r4›(jYUjf}r5›(jh]ji]jj]jk]jn]ujZj›jr]r6›j¡)�r7›}r8›(jYX(on, on, off, off)r9›jZj3›jbj¶–jdj¥jf}r:›(jh]ji]jj]jk]jn]ujpK•jr]r;›j{X(on, on, off, off)r<›…�r=›}r>›(jYj9›jZj7›ubaubajdj‘$ubj„$)�r?›}r@›(jYUjf}rA›(jh]ji]jj]jk]jn]ujZj›jr]rB›j¡)�rC›}rD›(jYX(off, on, on, on)rE›jZj?›jbj¶–jdj¥jf}rF›(jh]ji]jj]jk]jn]ujpK•jr]rG›j{X(off, on, on, on)rH›…�rI›}rJ›(jYjE›jZjC›ubaubajdj‘$ubejdjª$ubj$)�rK›}rL›(jYUjf}rM›(jh]ji]jj]jk]jn]ujZjè˜jr]rN›(j„$)�rO›}rP›(jYUjf}rQ›(jh]ji]jj]jk]jn]ujZjK›jr]rR›j¡)�rS›}rT›(jYXROM PCIE Boot\ :sup:`7`jZjO›jbj¶–jdj¥jf}rU›(jh]ji]jj]jk]jn]ujpK˜jr]rV›(j{X ROM PCIE BootrW›…�rX›}rY›(jYXROM PCIE Boot\ jZjS›ubj„)�rZ›}r[›(jYX:sup:`7`jf}r\›(jh]ji]jj]jk]jn]ujZjS›jr]r]›j{X7…�r^›}r_›(jYUjZjZ›ubajdj„ubeubajdj‘$ubj„$)�r`›}ra›(jYUjf}rb›(jh]ji]jj]jk]jn]ujZjK›jr]rc›j¡)�rd›}re›(jYX(off, on, on, off)rf›jZj`›jbj¶–jdj¥jf}rg›(jh]ji]jj]jk]jn]ujpK˜jr]rh›j{X(off, on, on, off)ri›…�rj›}rk›(jYjf›jZjd›ubaubajdj‘$ubj„$)�rl›}rm›(jYUjf}rn›(jh]ji]jj]jk]jn]ujZjK›jr]ro›j¡)�rp›}rq›(jYX(on, on, on, on)rr›jZjl›jbj¶–jdj¥jf}rs›(jh]ji]jj]jk]jn]ujpK˜jr]rt›j{X(on, on, on, on)ru›…�rv›}rw›(jYjr›jZjp›ubaubajdj‘$ubj„$)�rx›}ry›(jYUjf}rz›(jh]ji]jj]jk]jn]ujZjK›jr]r{›j¡)�r|›}r}›(jYX(on, on, on, off)r~›jZjx›jbj¶–jdj¥jf}r›(jh]ji]jj]jk]jn]ujpK˜jr]r€›j{X(on, on, on, off)r�›…�r‚›}rƒ›(jYj~›jZj|›ubaubajdj‘$ubj„$)�r„›}r…›(jYUjf}r†›(jh]ji]jj]jk]jn]ujZjK›jr]r‡›j¡)�rˆ›}r‰›(jYX(off, on, on, on)rŠ›jZj„›jbj¶–jdj¥jf}r‹›(jh]ji]jj]jk]jn]ujpK˜jr]rŒ›j{X(off, on, on, on)r�›…�rŽ›}r�›(jYjŠ›jZjˆ›ubaubajdj‘$ubejdjª$ubj$)�r�›}r‘›(jYUjf}r’›(jh]ji]jj]jk]jn]ujZjè˜jr]r“›(j„$)�r”›}r•›(jYUjf}r–›(jh]ji]jj]jk]jn]ujZj�›jr]r—›j¡)�r˜›}r™›(jYXNo bootrš›jZj”›jbj¶–jdj¥jf}r››(jh]ji]jj]jk]jn]ujpK›jr]rœ›j{XNo bootr�›…�rž›}rŸ›(jYjš›jZj˜›ubaubajdj‘$ubj„$)�r ›}r¡›(jYUjf}r¢›(jh]ji]jj]jk]jn]ujZj�›jr]r£›j¡)�r¤›}r¥›(jYX(off, on, on, on)r¦›jZj ›jbj¶–jdj¥jf}r§›(jh]ji]jj]jk]jn]ujpK›jr]r¨›j{X(off, on, on, on)r©›…�rª›}r«›(jYj¦›jZj¤›ubaubajdj‘$ubj„$)�r¬›}r­›(jYUjf}r®›(jh]ji]jj]jk]jn]ujZj�›jr]r¯›j¡)�r°›}r±›(jYX(on, on, on, on)r²›jZj¬›jbj¶–jdj¥jf}r³›(jh]ji]jj]jk]jn]ujpK›jr]r´›j{X(on, on, on, on)rµ›…�r¶›}r·›(jYj²›jZj°›ubaubajdj‘$ubj„$)�r¸›}r¹›(jYUjf}rº›(jh]ji]jj]jk]jn]ujZj�›jr]r»›j¡)�r¼›}r½›(jYX(on, on, on, on)r¾›jZj¸›jbj¶–jdj¥jf}r¿›(jh]ji]jj]jk]jn]ujpK›jr]rÀ›j{X(on, on, on, on)rÁ›…�r›}rÛ(jYj¾›jZj¼›ubaubajdj‘$ubj„$)�rÄ›}rÅ›(jYUjf}rÆ›(jh]ji]jj]jk]jn]ujZj�›jr]rÇ›j¡)�rÈ›}rÉ›(jYX(on, on, on, on)rÊ›jZjÄ›jbj¶–jdj¥jf}rË›(jh]ji]jj]jk]jn]ujpK›jr]rÌ›j{X(on, on, on, on)rÍ›…�rΛ}rÏ›(jYjÊ›jZjÈ›ubaubajdj‘$ubejdjª$ubejdjy%ubejdjz%ubaubjZ)�rЛ}rÑ›(jYUjZjU˜jbj¶–jdj]jf}rÒ›(jh]ji]jj]jk]jn]ujpKŸjqhjr]rÓ›j`)�rÔ›}rÕ›(jYUjcKjZjЛjbj¶–jdjpjf}rÖ›(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjZ)�r×›}rØ›(jYUjZjU˜jbj¶–jdj]jf}rÙ›(jh]ji]jj]jk]jn]ujpK¡jqhjr]rÚ›j`)�rÛ›}rÜ›(jYX**Footnotes:**rÝ›jcKjZj×›jbj¶–jdjpjf}rÞ›(jh]ji]jj]jk]jn]ujpK¡jqhjr]rß›jü)�rà›}rá›(jYjÝ›jf}râ›(jh]ji]jj]jk]jn]ujZjÛ›jr]rã›j{X Footnotes:rä›…�rå›}ræ›(jYUjZjà›ubajdjubaubaubj¡)�rç›}rè›(jYXR1. Pin 1 of SW3 is the endian pin, by default, it is set to off (Little Endian)ré›jZjU˜jbj¶–jdj¥jf}rê›(jh]ji]jj]jk]jn]ujpK£jqhjr]rë›j{XR1. Pin 1 of SW3 is the endian pin, by default, it is set to off (Little Endian)rì›…�rí›}rî›(jYjé›jZjç›ubaubj¡)�rï›}rð›(jYX`2. Pin 2-4 of SW3 are the boot mode pins, by default it is set to I2C boot mode (off, on, off)rñ›jZjU˜jbj¶–jdj¥jf}rò›(jh]ji]jj]jk]jn]ujpK¦jqhjr]ró›j{X`2. Pin 2-4 of SW3 are the boot mode pins, by default it is set to I2C boot mode (off, on, off)rô›…�rõ›}rö›(jYjñ›jZjï›ubaubj¡)�r÷›}rø›(jYX”3. Pin 1-4 of SW4 and pin 1-2 of SW5 are the boot parameter index pins for I2C boot (paramter index 0/1 for NOR boot image 0/1, parameter index 2/3 for NAND boot image 0/1, parameter index 4 for TFTP boot). By default, image 0 is programmed to offset byte address 0x0 on NOR, and 0x4000 (block 1 start address) on NAND, image 1 is programmed to offset byte address 0xA00000 on NOR, and 0x2000000 on NAND.rù›jZjU˜jbj¶–jdj¥jf}rú›(jh]ji]jj]jk]jn]ujpK©jqhjr]rû›j{X”3. Pin 1-4 of SW4 and pin 1-2 of SW5 are the boot parameter index pins for I2C boot (paramter index 0/1 for NOR boot image 0/1, parameter index 2/3 for NAND boot image 0/1, parameter index 4 for TFTP boot). By default, image 0 is programmed to offset byte address 0x0 on NOR, and 0x4000 (block 1 start address) on NAND, image 1 is programmed to offset byte address 0xA00000 on NOR, and 0x2000000 on NAND.rü›…�rý›}rþ›(jYjù›jZj÷›ubaubj¡)�rÿ›}rœ(jYXQ4. Pin 4 of SW5 is the I2C address pin (off: 0x51, on: 0x50)  for I2C boot moderœjZjU˜jbj¶–jdj¥jf}rœ(jh]ji]jj]jk]jn]ujpK°jqhjr]rœj{XQ4. Pin 4 of SW5 is the I2C address pin (off: 0x51, on: 0x50)  for I2C boot moderœ…�rœ}rœ(jYjœjZjÿ›ubaubj¡)�rœ}rœ(jYX«5. This will set the board to boot from SRIO boot mode, with reference clock at 312.5 MHz, data rate at 3.125 GBs, and lane setup 4-1x ports and DSP System PLL at 100 MHz.r œjZjU˜jbj¶–jdj¥jf}r œ(jh]ji]jj]jk]jn]ujpK³jqhjr]r œj{X«5. This will set the board to boot from SRIO boot mode, with reference clock at 312.5 MHz, data rate at 3.125 GBs, and lane setup 4-1x ports and DSP System PLL at 100 MHz.r œ…�r œ}rœ(jYj œjZjœubaubj¡)�rœ}rœ(jYXy6. This will set the board to boot from Ethernet boot mode, with SerDes clock multiplier x 4, core PLL clock at 100 MHz.rœjZjU˜jbj¶–jdj¥jf}rœ(jh]ji]jj]jk]jn]ujpK·jqhjr]rœj{Xy6. This will set the board to boot from Ethernet boot mode, with SerDes clock multiplier x 4, core PLL clock at 100 MHz.rœ…�rœ}rœ(jYjœjZjœubaubj¡)�rœ}rœ(jYXr7. This will set the board to boot form PCIE boot mode, with PCIE in end point mode and DSP System PLL at 100 MHz.rœjZjU˜jbj¶–jdj¥jf}rœ(jh]ji]jj]jk]jn]ujpKºjqhjr]rœj{Xr7. This will set the board to boot form PCIE boot mode, with PCIE in end point mode and DSP System PLL at 100 MHz.rœ…�rœ}rœ(jYjœjZjœubaubj¡)�rœ}r œ(jYXŽ8. This will set the board to boot from SPI NOR via the ROM code, with boot-table contents expected in the NOR. 24bit addressing has been set.r!œjZjU˜jbj¶–jdj¥jf}r"œ(jh]ji]jj]jk]jn]ujpK½jqhjr]r#œj{XŽ8. This will set the board to boot from SPI NOR via the ROM code, with boot-table contents expected in the NOR. 24bit addressing has been set.r$œ…�r%œ}r&œ(jYj!œjZjœubaubjZ)�r'œ}r(œ(jYUjZjU˜jbj¶–jdj]jf}r)œ(jh]ji]jj]jk]jn]ujpKÀjqhjr]r*œj`)�r+œ}r,œ(jYUjcKjZj'œjbj¶–jdjpjf}r-œ(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r.œ}r/œ(jYX—Please refer to `Technical Reference Manual `__ for the boot mode switch settings on the board.jZjU˜jbj¶–jdj¥jf}r0œ(jh]ji]jj]jk]jn]ujpKÂjqhjr]r1œ(j{XPlease refer to r2œ…�r3œ}r4œ(jYXPlease refer to jZj.œubjÜ)�r5œ}r6œ(jYXW`Technical Reference Manual `__jf}r7œ(UnameXTechnical Reference ManualjX6http://www.advantech.com/Support/TI-EVM/6678le_sd.aspxjk]jj]jh]ji]jn]ujZj.œjr]r8œj{XTechnical Reference Manualr9œ…�r:œ}r;œ(jYUjZj5œubajdjàubj{X0 for the boot mode switch settings on the board.r<œ…�r=œ}r>œ(jYX0 for the boot mode switch settings on the board.jZj.œubeubjî)�r?œ}r@œ(jYX#OMAP-L138/C6748 LCDK Hardware SetupjZjU˜jbjcjdjôjf}rAœ(jöj÷jk]jj]jh]ji]jn]ujpKŒjqhjr]rBœj{X#OMAP-L138/C6748 LCDK Hardware SetuprCœ…�rDœ}rEœ(jYUjZj?œubaubjî)�rFœ}rGœ(jYX4====================================================jZjU˜jbjcjdjôjf}rHœ(jöj÷jk]jj]jh]ji]jn]ujpK�jqhjr]rIœj{X4====================================================rJœ…�rKœ}rLœ(jYUjZjFœubaubeubeubj[)�rMœ}rNœ(jYUjZjR\jbj�XKsource/common/EVM_Hardware_Setup/OMAPL138-C6748_LCDK_Hardware_Setup.rst.incrOœ…�rPœ}rQœbjdjejf}rRœ(jh]ji]jj]jk]rSœU#omap-l138-c6748-lcdk-hardware-setuprTœajn]rUœjaujpKjqhjr]rVœ(jt)�rWœ}rXœ(jYX#OMAP-L138/C6748 LCDK Hardware SetuprYœjZjMœjbjPœjdjxjf}rZœ(jh]ji]jj]jk]jn]ujpKjqhjr]r[œj{X#OMAP-L138/C6748 LCDK Hardware Setupr\œ…�r]œ}r^œ(jYjYœjZjWœubaubj[)�r_œ}r`œ(jYUjìKjZjMœjbjPœjdjejf}raœ(jh]rbœXoverviewrcœaji]jj]jk]rdœUid74reœajn]ujpKjqhjr]rfœ(jt)�rgœ}rhœ(jYXOverviewriœjZj_œjbjPœjdjxjf}rjœ(jh]ji]jj]jk]jn]ujpKjqhjr]rkœj{XOverviewrlœ…�rmœ}rnœ(jYjiœjZjgœubaubj¡)�roœ}rpœ(jYX The OMAP-L138/C6748 low-cost development kit (LCDK) enables fast and easy software and hardware development of everyday applications that require real-time signal processing and control functional, including industrial control, medical diagnostics and communications.rqœjZj_œjbjPœjdj¥jf}rrœ(jh]ji]jj]jk]jn]ujpKjqhjr]rsœj{X The OMAP-L138/C6748 low-cost development kit (LCDK) enables fast and easy software and hardware development of everyday applications that require real-time signal processing and control functional, including industrial control, medical diagnostics and communications.rtœ…�ruœ}rvœ(jYjqœjZjoœubaubj[)�rwœ}rxœ(jYUjìKjZj_œjbjPœjdjejf}ryœ(jh]rzœjaji]jj]jk]r{œUid75r|œajn]ujpK jqhjr]r}œ(jt)�r~œ}rœ(jYXHardwarer€œjZjwœjbjPœjdjxjf}r�œ(jh]ji]jj]jk]jn]ujpK jqhjr]r‚œj{XHardwarerƒœ…�r„œ}r…œ(jYj€œjZj~œubaubj¡)�r†œ}r‡œ(jYXŽInformation on the LCDK hardware, including DIP switches, LEDs, and user bottons, can be found in the LCDK User's Guide at the following link.rˆœjZjwœjbjPœjdj¥jf}r‰œ(jh]ji]jj]jk]jn]ujpK jqhjr]rŠœj{XŽInformation on the LCDK hardware, including DIP switches, LEDs, and user bottons, can be found in the LCDK User's Guide at the following link.r‹œ…�rŒœ}r�œ(jYjˆœjZj†œubaubj¡)�rŽœ}r�œ(jYXh`OMAP-L138/C6748 Low-Cost Development Kit User's Guide `__r�œjZjwœjbjPœjdj¥jf}r‘œ(jh]ji]jj]jk]jn]ujpKjqhjr]r’œjÜ)�r“œ}r”œ(jYj�œjf}r•œ(UnameX5OMAP-L138/C6748 Low-Cost Development Kit User's GuidejX,http://www.ti.com/lit/ug/spruil2/spruil2.pdfjk]jj]jh]ji]jn]ujZjŽœjr]r–œj{X5OMAP-L138/C6748 Low-Cost Development Kit User's Guider—œ…�r˜œ}r™œ(jYUjZj“œubajdjàubaubeubj[)�ršœ}r›œ(jYUjZj_œjbjPœjdjejf}rœœ(jh]ji]jj]jk]r�œUpowering-the-lcdkržœajn]rŸœjaujpKjqhjr]r œ(jt)�r¡œ}r¢œ(jYXPowering the LCDKr£œjZjšœjbjPœjdjxjf}r¤œ(jh]ji]jj]jk]jn]ujpKjqhjr]r¥œj{XPowering the LCDKr¦œ…�r§œ}r¨œ(jYj£œjZj¡œubaubj¡)�r©œ}rªœ(jYXGThe board can be powered with 5V input through the J1 barrel connector.r«œjZjšœjbjPœjdj¥jf}r¬œ(jh]ji]jj]jk]jn]ujpKjqhjr]r­œj{XGThe board can be powered with 5V input through the J1 barrel connector.r®œ…�r¯œ}r°œ(jYj«œjZj©œubaubeubj[)�r±œ}r²œ(jYUjìKjZj_œjbjPœjdjejf}r³œ(jh]r´œXuart connectionrµœaji]jj]jk]r¶œUid76r·œajn]ujpKjqhjr]r¸œ(jt)�r¹œ}rºœ(jYXUART Connectionr»œjZj±œjbjPœjdjxjf}r¼œ(jh]ji]jj]jk]jn]ujpKjqhjr]r½œj{XUART Connectionr¾œ…�r¿œ}rÀœ(jYj»œjZj¹œubaubj¡)�rÁœ}rœ(jYX«Connect a mini-USB cable between UART port (J3) of the EVM and the host PC. Open a serial console (e.g. Tera Term) on the host PC and configure the serial port as follows.rÜjZj±œjbjPœjdj¥jf}rÄœ(jh]ji]jj]jk]jn]ujpKjqhjr]rÅœj{X«Connect a mini-USB cable between UART port (J3) of the EVM and the host PC. Open a serial console (e.g. Tera Term) on the host PC and configure the serial port as follows.rÆœ…�rÇœ}rÈœ(jYjÜjZjÁœubaubj=)�rÉœ}rÊœ(jYUjZj±œjbNjdj@jf}rËœ(jh]ji]jj]jk]jn]ujpNjqhjr]rÌœjC)�rÍœ}rΜ(jYUjf}rÏœ(jGX-jk]jj]jh]ji]jn]ujZjÉœjr]rМ(j/)�rÑœ}rÒœ(jYXBaud rate - 115200rÓœjf}rÔœ(jh]ji]jj]jk]jn]ujZjÍœjr]rÕœj¡)�rÖœ}rל(jYjÓœjZjÑœjbjPœjdj¥jf}rØœ(jh]ji]jj]jk]jn]ujpKjr]rÙœj{XBaud rate - 115200rÚœ…�rÛœ}rÜœ(jYjÓœjZjÖœubaubajdj2ubj/)�rÝœ}rÞœ(jYXData length - 8 bitrßœjf}ràœ(jh]ji]jj]jk]jn]ujZjÍœjr]ráœj¡)�râœ}rãœ(jYjßœjZjÝœjbjPœjdj¥jf}räœ(jh]ji]jj]jk]jn]ujpKjr]råœj{XData length - 8 bitr朅�rçœ}rèœ(jYjßœjZjâœubaubajdj2ubj/)�réœ}rêœ(jYX Parity - Nonerëœjf}rìœ(jh]ji]jj]jk]jn]ujZjÍœjr]ríœj¡)�rîœ}rïœ(jYjëœjZjéœjbjPœjdj¥jf}rðœ(jh]ji]jj]jk]jn]ujpKjr]rñœj{X Parity - Noneròœ…�róœ}rôœ(jYjëœjZjîœubaubajdj2ubj/)�rõœ}röœ(jYX Stop bits - 1r÷œjf}røœ(jh]ji]jj]jk]jn]ujZjÍœjr]rùœj¡)�rúœ}rûœ(jYj÷œjZjõœjbjPœjdj¥jf}rüœ(jh]ji]jj]jk]jn]ujpKjr]rýœj{X Stop bits - 1rþœ…�rÿœ}r�(jYj÷œjZjúœubaubajdj2ubj/)�r�}r�(jYXFlow control - None jf}r�(jh]ji]jj]jk]jn]ujZjÍœjr]r�j¡)�r�}r�(jYXFlow control - Noner�jZj�jbjPœjdj¥jf}r�(jh]ji]jj]jk]jn]ujpKjr]r �j{XFlow control - Noner �…�r �}r �(jYj�jZj�ubaubajdj2ubejdj`ubaubeubeubj[)�r �}r�(jYUjZjMœjbjPœjdjejf}r�(jh]ji]jj]jk]r�Ulinux-quick-start-guider�ajn]r�hSaujpK jqhjr]r�(jt)�r�}r�(jYXLinux Quick Start Guider�jZj �jbjPœjdjxjf}r�(jh]ji]jj]jk]jn]ujpK jqhjr]r�j{XLinux Quick Start Guider�…�r�}r�(jYj�jZj�ubaubj¡)�r�}r�(jYX[The quick start guide for booting Linux on the Arm core can be found at the following link.r�jZj �jbjPœjdj¥jf}r�(jh]ji]jj]jk]jn]ujpK"jqhjr]r �j{X[The quick start guide for booting Linux on the Arm core can be found at the following link.r!�…�r"�}r#�(jYj�jZj�ubaubj¡)�r$�}r%�(jYXs`OMAP-L138 DSP+ARM9â„¢ Development Kit (LCDK) Quick Start Guide `__r&�jZj �jbjPœjdj¥jf}r'�(jh]ji]jj]jk]jn]ujpK$jqhjr]r(�jÜ)�r)�}r*�(jYj&�jf}r+�(UnameX>OMAP-L138 DSP+ARM9â„¢ Development Kit (LCDK) Quick Start GuidejX.http://www.ti.com/lit/ml/sprw268a/sprw268a.pdfjk]jj]jh]ji]jn]ujZj$�jr]r,�j{X>OMAP-L138 DSP+ARM9â„¢ Development Kit (LCDK) Quick Start Guider-�…�r.�}r/�(jYUjZj)�ubajdjàubaubeubj[)�r0�}r1�(jYUjZjMœjbjPœjdjejf}r2�(jh]ji]jj]jk]r3�U+connecting-the-lcdk-to-code-composer-studior4�ajn]r5�h‘aujpK'jqhjr]r6�(jt)�r7�}r8�(jYX+Connecting the LCDK to Code Composer Studior9�jZj0�jbjPœjdjxjf}r:�(jh]ji]jj]jk]jn]ujpK'jqhjr]r;�j{X+Connecting the LCDK to Code Composer Studior<�…�r=�}r>�(jYj9�jZj7�ubaubj¡)�r?�}r@�(jYXwThe following section describes how to connect to the LCDK and load code via CCS for application development and debug.rA�jZj0�jbjPœjdj¥jf}rB�(jh]ji]jj]jk]jn]ujpK)jqhjr]rC�j{XwThe following section describes how to connect to the LCDK and load code via CCS for application development and debug.rD�…�rE�}rF�(jYjA�jZj?�ubaubj[)�rG�}rH�(jYUjìKjZj0�jbjPœjdjejf}rI�(jh]rJ�Xhardware setuprK�aji]jj]jk]rL�Uid77rM�ajn]ujpK,jqhjr]rN�(jt)�rO�}rP�(jYXHardware SetuprQ�jZjG�jbjPœjdjxjf}rR�(jh]ji]jj]jk]jn]ujpK,jqhjr]rS�j{XHardware SetuprT�…�rU�}rV�(jYjQ�jZjO�ubaubjC)�rW�}rX�(jYUjZjG�jbjPœjdj`jf}rY�(jGX-jk]jj]jh]ji]jn]ujpK.jqhjr]rZ�(j/)�r[�}r\�(jYXSSet the SW1 DIP switches to UART boot mode as shown in the `DIP Switches`_ section.r]�jZjW�jbjPœjdj2jf}r^�(jh]ji]jj]jk]jn]ujpNjqhjr]r_�j¡)�r`�}ra�(jYj]�jZj[�jbjPœjdj¥jf}rb�(jh]ji]jj]jk]jn]ujpK.jr]rc�(j{X;Set the SW1 DIP switches to UART boot mode as shown in the rd�…�re�}rf�(jYX;Set the SW1 DIP switches to UART boot mode as shown in the jZj`�ubjë)�rg�}rh�(jYX`DIP Switches`_ri�jf}rj�(jk]rk�Uid90rl�ajj]jh]ji]jn]UrefidUid89rm�ujZj`�jr]rn�j{X`DIP Switches`_ro�…�rp�}rq�(jYUjZjg�ubajdjõubj{X section.rr�…�rs�}rt�(jYX section.jZj`�ubeubaubj/)�ru�}rv�(jYX.Connect an external emulator to the J6 header.rw�jZjW�jbjPœjdj2jf}rx�(jh]ji]jj]jk]jn]ujpNjqhjr]ry�j¡)�rz�}r{�(jYjw�jZju�jbjPœjdj¥jf}r|�(jh]ji]jj]jk]jn]ujpK/jr]r}�j{X.Connect an external emulator to the J6 header.r~�…�r�}r€�(jYjw�jZjz�ubaubaubj/)�r��}r‚�(jYX1Power on the LCDK using the J1 barrel connector. jZjW�jbjPœjdj2jf}rƒ�(jh]ji]jj]jk]jn]ujpNjqhjr]r„�j¡)�r…�}r†�(jYX0Power on the LCDK using the J1 barrel connector.r‡�jZj��jbjPœjdj¥jf}rˆ�(jh]ji]jj]jk]jn]ujpK0jr]r‰�j{X0Power on the LCDK using the J1 barrel connector.rŠ�…�r‹�}rŒ�(jYj‡�jZj…�ubaubaubeubeubj[)�r��}rŽ�(jYUjZj0�jbjPœjdjejf}r��(jh]ji]jj]jk]r��Usoftware-setupr‘�ajn]r’�h“aujpK3jqhjr]r“�(jt)�r”�}r•�(jYXSoftware Setupr–�jZj��jbjPœjdjxjf}r—�(jh]ji]jj]jk]jn]ujpK3jqhjr]r˜�j{XSoftware Setupr™�…�rš�}r›�(jYj–�jZj”�ubaubjC)�rœ�}r��(jYUjZj��jbjPœjdj`jf}rž�(jGX-jk]jj]jh]ji]jn]ujpK5jqhjr]rŸ�j/)�r �}r¡�(jYXJCode Composer Studio IDE - `Download `__ jZjœ�jbjPœjdj2jf}r¢�(jh]ji]jj]jk]jn]ujpNjqhjr]r£�j¡)�r¤�}r¥�(jYXICode Composer Studio IDE - `Download `__jZj �jbjPœjdj¥jf}r¦�(jh]ji]jj]jk]jn]ujpK5jr]r§�(j{XCode Composer Studio IDE - r¨�…�r©�}rª�(jYXCode Composer Studio IDE - jZj¤�ubjÜ)�r«�}r¬�(jYX.`Download `__jf}r­�(UnameXDownloadjXhttp://www.ti.com/tool/CCSTUDIOjk]jj]jh]ji]jn]ujZj¤�jr]r®�j{XDownloadr¯�…�r°�}r±�(jYUjZj«�ubajdjàubeubaubaubj)�r²�}r³�(jYX±CCS versions 9.0 and later are 64-bit applications. Due to this, 32-bit emulators like the Spectrum Digital XDS510USB emulator are not supported with CCS versions 9.0 and later.r´�jZj��jbjPœjdjjf}rµ�(jh]ji]jj]jk]jn]ujpNjqhjr]r¶�j¡)�r·�}r¸�(jYj´�jZj²�jbjPœjdj¥jf}r¹�(jh]ji]jj]jk]jn]ujpK7jr]rº�j{X±CCS versions 9.0 and later are 64-bit applications. Due to this, 32-bit emulators like the Spectrum Digital XDS510USB emulator are not supported with CCS versions 9.0 and later.r»�…�r¼�}r½�(jYj´�jZj·�ubaubaubjC)�r¾�}r¿�(jYUjZj��jbjPœjdj`jf}rÀ�(jGX-jk]jj]jh]ji]jn]ujpK9jqhjr]rÁ�j/)�rÂ�}rÃ�(jYXfProcessor SDK RTOS for OMAP-L138/C6748 - `Download `__ jZj¾�jbjPœjdj2jf}rÄ�(jh]ji]jj]jk]jn]ujpNjqhjr]rÅ�j¡)�rÆ�}rÇ�(jYXeProcessor SDK RTOS for OMAP-L138/C6748 - `Download `__jZjÂ�jbjPœjdj¥jf}rÈ�(jh]ji]jj]jk]jn]ujpK9jr]rÉ�(j{X)Processor SDK RTOS for OMAP-L138/C6748 - rÊ�…�rË�}rÌ�(jYX)Processor SDK RTOS for OMAP-L138/C6748 - jZjÆ�ubjÜ)�rÍ�}rÎ�(jYX<`Download `__jf}rÏ�(UnameXDownloadjX-http://www.ti.com/tool/PROCESSOR-SDK-OMAPL138jk]jj]jh]ji]jn]ujZjÆ�jr]rÐ�j{XDownloadrÑ�…�rÒ�}rÓ�(jYUjZjÍ�ubajdjàubeubaubaubj)�rÔ�}rÕ�(jYX¿Please check the `Processor SDK Release Notes `__ for the recommended CCS version.rÖ�jZj��jbjPœjdjjf}r×�(jh]ji]jj]jk]jn]ujpNjqhjr]rØ�j¡)�rÙ�}rÚ�(jYjÖ�jZjÔ�jbjPœjdj¥jf}rÛ�(jh]ji]jj]jk]jn]ujpK;jr]rÜ�(j{XPlease check the rÝ�…�rÞ�}rß�(jYXPlease check the jZjÙ�ubjÜ)�rà�}rá�(jYX�`Processor SDK Release Notes `__jf}râ�(UnameXProcessor SDK Release NotesjXkhttp://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_release_specific.html#release-notesjk]jj]jh]ji]jn]ujZjÙ�jr]rã�j{XProcessor SDK Release Notesrä�…�rå�}ræ�(jYUjZjà�ubajdjàubj{X! for the recommended CCS version.rç�…�rè�}ré�(jYX! for the recommended CCS version.jZjÙ�ubeubaubjC)�rê�}rë�(jYUjZj��jbjPœjdj`jf}rì�(jGX-jk]jj]jh]ji]jn]ujpK=jqhjr]rí�(j/)�rî�}rï�(jYXSetup the software environment as described in the "Download and install software" section of the `Processor SDK RTOS Getting Started Guide `__ jZjê�jbjPœjdj2jf}rð�(jh]ji]jj]jk]jn]ujpNjqhjr]rñ�j¡)�rò�}ró�(jYXSetup the software environment as described in the "Download and install software" section of the `Processor SDK RTOS Getting Started Guide `__jZjî�jbjPœjdj¥jf}rô�(jh]ji]jj]jk]jn]ujpK=jr]rõ�(j{XbSetup the software environment as described in the "Download and install software" section of the rö�…�r÷�}rø�(jYXbSetup the software environment as described in the "Download and install software" section of the jZjò�ubjÜ)�rù�}rú�(jYX¢`Processor SDK RTOS Getting Started Guide `__jf}rû�(UnameX(Processor SDK RTOS Getting Started GuidejXshttp://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_overview.html#download-and-install-softwarejk]jj]jh]ji]jn]ujZjò�jr]rü�j{X(Processor SDK RTOS Getting Started Guiderý�…�rþ�}rÿ�(jYUjZjù�ubajdjàubeubaubj/)�rž}rž(jYXãBuild an example. Below are some suggested examples to get started with. - `No OS (Bare Metal) Example `__ - `TI-RTOS Kernel Example `__ - `GPIO LED Blink Example `__ jZjê�jbjPœjdj2jf}rž(jh]ji]jj]jk]jn]ujpNjqhjr]rž(j¡)�rž}rž(jYXHBuild an example. Below are some suggested examples to get started with.ržjZjžjbjPœjdj¥jf}rž(jh]ji]jj]jk]jn]ujpK?jr]ržj{XHBuild an example. Below are some suggested examples to get started with.r ž…�r ž}r ž(jYjžjZjžubaubj=)�r ž}r ž(jYUjf}rž(jh]ji]jj]jk]jn]ujZjžjr]ržjC)�rž}rž(jYUjf}rž(jGX-jk]jj]jh]ji]jn]ujZj žjr]rž(j/)�rž}rž(jYX‚`No OS (Bare Metal) Example `__ jf}rž(jh]ji]jj]jk]jn]ujZjžjr]ržj¡)�rž}rž(jYX�`No OS (Bare Metal) Example `__ržjZjžjbjPœjdj¥jf}rž(jh]ji]jj]jk]jn]ujpKAjr]ržjÜ)�rž}rž(jYjžjf}rž(UnameXNo OS (Bare Metal) ExamplejX`http://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_examples_demos.html#id53jk]jj]jh]ji]jn]ujZjžjr]r žj{XNo OS (Bare Metal) Exampler!ž…�r"ž}r#ž(jYUjZjžubajdjàubaubajdj2ubj/)�r$ž}r%ž(jYXƒ`TI-RTOS Kernel Example `__ jf}r&ž(jh]ji]jj]jk]jn]ujZjžjr]r'žj¡)�r(ž}r)ž(jYX‚`TI-RTOS Kernel Example `__r*žjZj$žjbjPœjdj¥jf}r+ž(jh]ji]jj]jk]jn]ujpKCjr]r,žjÜ)�r-ž}r.ž(jYj*žjf}r/ž(UnameXTI-RTOS Kernel ExamplejXehttp://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_examples_demos.html#dsp-c674xjk]jj]jh]ji]jn]ujZj(žjr]r0žj{XTI-RTOS Kernel Exampler1ž…�r2ž}r3ž(jYUjZj-žubajdjàubaubajdj2ubj/)�r4ž}r5ž(jYXz`GPIO LED Blink Example `__ jf}r6ž(jh]ji]jj]jk]jn]ujZjžjr]r7žj¡)�r8ž}r9ž(jYXy`GPIO LED Blink Example `__r:žjZj4žjbjPœjdj¥jf}r;ž(jh]ji]jj]jk]jn]ujpKEjr]r<žjÜ)�r=ž}r>ž(jYj:žjf}r?ž(UnameXGPIO LED Blink ExamplejX\http://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_device_drv.html#id22jk]jj]jh]ji]jn]ujZj8žjr]r@žj{XGPIO LED Blink ExamplerAž…�rBž}rCž(jYUjZj=žubajdjàubaubajdj2ubejdj`ubajdj@ubeubeubeubj[)�rDž}rEž(jYUjZj0�jbjPœjdjejf}rFž(jh]ji]jj]jk]rGžU$creating-a-target-configuration-filerHžajn]rIžhMaujpKHjqhjr]rJž(jt)�rKž}rLž(jYX$Creating a Target Configuration FilerMžjZjDžjbjPœjdjxjf}rNž(jh]ji]jj]jk]jn]ujpKHjqhjr]rOžj{X$Creating a Target Configuration FilerPž…�rQž}rRž(jYjMžjZjKžubaubjC)�rSž}rTž(jYUjZjDžjbjPœjdj`jf}rUž(jGX-jk]jj]jh]ji]jn]ujpKJjqhjr]rVž(j/)�rWž}rXž(jYX3In CCS, navigate to View -> Target Configurations. jZjSžjbjPœjdj2jf}rYž(jh]ji]jj]jk]jn]ujpNjqhjr]rZžj¡)�r[ž}r\ž(jYX2In CCS, navigate to View -> Target Configurations.r]žjZjWžjbjPœjdj¥jf}r^ž(jh]ji]jj]jk]jn]ujpKJjr]r_žj{X2In CCS, navigate to View -> Target Configurations.r`ž…�raž}rbž(jYj]žjZj[žubaubaubj/)�rcž}rdž(jYXXIn the Target Configurations window, right-click and select "New Target Configuration." jZjSžjbjPœjdj2jf}rež(jh]ji]jj]jk]jn]ujpNjqhjr]rfžj¡)�rgž}rhž(jYXWIn the Target Configurations window, right-click and select "New Target Configuration."rižjZjcžjbjPœjdj¥jf}rjž(jh]ji]jj]jk]jn]ujpKLjr]rkžj{XWIn the Target Configurations window, right-click and select "New Target Configuration."rlž…�rmž}rnž(jYjižjZjgžubaubaubj/)�rož}rpž(jYX/For Connection, select your external emulator. jZjSžjbjPœjdj2jf}rqž(jh]ji]jj]jk]jn]ujpNjqhjr]rržj¡)�rsž}rtž(jYX.For Connection, select your external emulator.ružjZjožjbjPœjdj¥jf}rvž(jh]ji]jj]jk]jn]ujpKNjr]rwžj{X.For Connection, select your external emulator.rxž…�ryž}rzž(jYjužjZjsžubaubaubj/)�r{ž}r|ž(jYXgFor Board or Device, select LCDKC6748 or LCDKOMAPL138 as shown in the following image, and click Save. jZjSžjbjPœjdj2jf}r}ž(jh]ji]jj]jk]jn]ujpNjqhjr]r~žj¡)�rž}r€ž(jYXfFor Board or Device, select LCDKC6748 or LCDKOMAPL138 as shown in the following image, and click Save.r�žjZj{žjbjPœjdj¥jf}r‚ž(jh]ji]jj]jk]jn]ujpKPjr]rƒžj{XfFor Board or Device, select LCDKC6748 or LCDKOMAPL138 as shown in the following image, and click Save.r„ž…�r…ž}r†ž(jYj�žjZjžubaubaubeubjB)�r‡ž}rˆž(jYX+.. Image:: ../images/lcdk_targetConfig.png jZjDžjbjPœjdjEjf}r‰ž(UuriX$rtos/../images/lcdk_targetConfig.pngrŠžjk]jj]jh]ji]jH}r‹žU*jŠžsjn]ujpKSjqhjr]ubjZ)�rŒž}r�ž(jYUjZjDžjbjPœjdj]jf}rŽž(jh]ji]jj]jk]jn]ujpKTjqhjr]r�žj`)�r�ž}r‘ž(jYUjcKjZjŒžjbjPœjdjpjf}r’ž(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubjC)�r“ž}r”ž(jYUjZjDžjbjPœjdj`jf}r•ž(jGX-jk]jj]jh]ji]jn]ujpKVjqhjr]r–žj/)�r—ž}r˜ž(jYXxNavigate to the Advanced tab and ensure the GEL file is loaded for the ARM9_0 core (OMAP-L138) or C674X_0 core (C6748). jZj“žjbjPœjdj2jf}r™ž(jh]ji]jj]jk]jn]ujpNjqhjr]ršžj¡)�r›ž}rœž(jYXwNavigate to the Advanced tab and ensure the GEL file is loaded for the ARM9_0 core (OMAP-L138) or C674X_0 core (C6748).r�žjZj—žjbjPœjdj¥jf}ržž(jh]ji]jj]jk]jn]ujpKVjr]rŸžj{XwNavigate to the Advanced tab and ensure the GEL file is loaded for the ARM9_0 core (OMAP-L138) or C674X_0 core (C6748).r ž…�r¡ž}r¢ž(jYj�žjZj›žubaubaubaubj¡)�r£ž}r¤ž(jYX**OMAP-L138 LCDK GEL File:**r¥žjZjDžjbjPœjdj¥jf}r¦ž(jh]ji]jj]jk]jn]ujpKXjqhjr]r§žjü)�r¨ž}r©ž(jYj¥žjf}rªž(jh]ji]jj]jk]jn]ujZj£žjr]r«žj{XOMAP-L138 LCDK GEL File:r¬ž…�r­ž}r®ž(jYUjZj¨žubajdjubaubjB)�r¯ž}r°ž(jYX@.. Image:: ../images/lcdk_omapl138_gel.png :scale: 100% jZjDžjbjPœjdjEjf}r±ž(UscaleKdUuriX$rtos/../images/lcdk_omapl138_gel.pngr²žjk]jj]jh]ji]jH}r³žU*j²žsjn]ujpNjqhjr]ubj¡)�r´ž}rµž(jYX**C6748 LCDK GEL File:**r¶žjZjDžjbjPœjdj¥jf}r·ž(jh]ji]jj]jk]jn]ujpK]jqhjr]r¸žjü)�r¹ž}rºž(jYj¶žjf}r»ž(jh]ji]jj]jk]jn]ujZj´žjr]r¼žj{XC6748 LCDK GEL File:r½ž…�r¾ž}r¿ž(jYUjZj¹žubajdjubaubjB)�rÀž}rÁž(jYX>.. Image:: ../images/lcdk_c6748_gel.png :scale: 100% jZjDžjbjPœjdjEjf}rž(UscaleKdUuriX!rtos/../images/lcdk_c6748_gel.pngrÞjk]jj]jh]ji]jH}rÄžU*jÞsjn]ujpNjqhjr]ubeubj[)�rÅž}rÆž(jYUjZj0�jbjPœjdjejf}rÇž(jh]ji]jj]jk]rÈžU0connecting-to-target-and-loading-running-programrÉžajn]rÊžh€aujpKdjqhjr]rËž(jt)�rÌž}rÍž(jYX0Connecting to Target and Loading/Running ProgramrΞjZjÅžjbjPœjdjxjf}rÏž(jh]ji]jj]jk]jn]ujpKdjqhjr]rОj{X0Connecting to Target and Loading/Running ProgramrÑž…�rÒž}rÓž(jYjΞjZjÌžubaubj¡)�rÔž}rÕž(jYX**Connecting to Target**rÖžjZjÅžjbjPœjdj¥jf}rמ(jh]ji]jj]jk]jn]ujpKfjqhjr]rØžjü)�rÙž}rÚž(jYjÖžjf}rÛž(jh]ji]jj]jk]jn]ujZjÔžjr]rÜžj{XConnecting to TargetrÝž…�rÞž}rßž(jYUjZjÙžubajdjubaubjC)�ràž}ráž(jYUjZjÅžjbjPœjdj`jf}râž(jGX-jk]jj]jh]ji]jn]ujpKhjqhjr]rãž(j/)�räž}råž(jYX6In CCS, navigate to the Target Configurations window. jZjàžjbjPœjdj2jf}ræž(jh]ji]jj]jk]jn]ujpNjqhjr]rçžj¡)�rèž}réž(jYX5In CCS, navigate to the Target Configurations window.rêžjZjäžjbjPœjdj¥jf}rëž(jh]ji]jj]jk]jn]ujpKhjr]rìžj{X5In CCS, navigate to the Target Configurations window.ríž…�rîž}rïž(jYjêžjZjèžubaubaubj/)�rðž}rñž(jYXbRight-click on the newly created target configuration and select "Launch Selected Configuration." jZjàžjbjPœjdj2jf}ròž(jh]ji]jj]jk]jn]ujpNjqhjr]róžj¡)�rôž}rõž(jYXaRight-click on the newly created target configuration and select "Launch Selected Configuration."röžjZjðžjbjPœjdj¥jf}r÷ž(jh]ji]jj]jk]jn]ujpKjjr]røžj{XaRight-click on the newly created target configuration and select "Launch Selected Configuration."rùž…�rúž}rûž(jYjöžjZjôžubaubaubj/)�rüž}rýž(jYXeRight-click on the ARM9_0 core for OMAP-L138 or C674X_0 core for C6748, and click "Connect Target." jZjàžjbjPœjdj2jf}rþž(jh]ji]jj]jk]jn]ujpNjqhjr]rÿžj¡)�rŸ}rŸ(jYXcRight-click on the ARM9_0 core for OMAP-L138 or C674X_0 core for C6748, and click "Connect Target."rŸjZjüžjbjPœjdj¥jf}rŸ(jh]ji]jj]jk]jn]ujpKljr]rŸj{XcRight-click on the ARM9_0 core for OMAP-L138 or C674X_0 core for C6748, and click "Connect Target."rŸ…�rŸ}rŸ(jYjŸjZjŸubaubaubeubj¡)�rŸ}r Ÿ(jYX@The following GEL outputs should appear in the CCS Console view.r ŸjZjÅžjbjPœjdj¥jf}r Ÿ(jh]ji]jj]jk]jn]ujpKojqhjr]r Ÿj{X@The following GEL outputs should appear in the CCS Console view.r Ÿ…�rŸ}rŸ(jYj ŸjZjŸubaubj¡)�rŸ}rŸ(jYX**OMAP-L138 LCDK:** ::jZjÅžjbjPœjdj¥jf}rŸ(jh]ji]jj]jk]jn]ujpKqjqhjr]rŸjü)�rŸ}rŸ(jYX**OMAP-L138 LCDK:**jf}rŸ(jh]ji]jj]jk]jn]ujZjŸjr]rŸj{XOMAP-L138 LCDK:rŸ…�rŸ}rŸ(jYUjZjŸubajdjubaubj)�rŸ}rŸ(jYXžARM9_0: Output: Target Connected. ARM9_0: Output: --------------------------------------------- ARM9_0: Output: Memory Map Cleared. ARM9_0: Output: --------------------------------------------- ARM9_0: Output: Memory Map Setup Complete. ARM9_0: Output: --------------------------------------------- ARM9_0: Output: PSC Enable Complete. ARM9_0: Output: --------------------------------------------- ARM9_0: Output: PLL0 init done for Core:300MHz, EMIFA:25MHz ARM9_0: Output: DDR initialization is in progress.... ARM9_0: Output: PLL1 init done for DDR:150MHz ARM9_0: Output: Using DDR2 settings ARM9_0: Output: DDR2 init for 150 MHz is done ARM9_0: Output: --------------------------------------------- ARM9_0: Output: DSP Wake Complete. ARM9_0: Output: ---------------------------------------------jZjÅžjbjPœjdjjf}rŸ(jöj÷jk]jj]jh]ji]jn]ujpMr'jqhjr]rŸj{XžARM9_0: Output: Target Connected. ARM9_0: Output: --------------------------------------------- ARM9_0: Output: Memory Map Cleared. ARM9_0: Output: --------------------------------------------- ARM9_0: Output: Memory Map Setup Complete. ARM9_0: Output: --------------------------------------------- ARM9_0: Output: PSC Enable Complete. ARM9_0: Output: --------------------------------------------- ARM9_0: Output: PLL0 init done for Core:300MHz, EMIFA:25MHz ARM9_0: Output: DDR initialization is in progress.... ARM9_0: Output: PLL1 init done for DDR:150MHz ARM9_0: Output: Using DDR2 settings ARM9_0: Output: DDR2 init for 150 MHz is done ARM9_0: Output: --------------------------------------------- ARM9_0: Output: DSP Wake Complete. ARM9_0: Output: ---------------------------------------------rŸ…�r Ÿ}r!Ÿ(jYUjZjŸubaubj¡)�r"Ÿ}r#Ÿ(jYX**C6748 LCDK:** ::jZjÅžjbjPœjdj¥jf}r$Ÿ(jh]ji]jj]jk]jn]ujpK…jqhjr]r%Ÿjü)�r&Ÿ}r'Ÿ(jYX**C6748 LCDK:**jf}r(Ÿ(jh]ji]jj]jk]jn]ujZj"Ÿjr]r)Ÿj{X C6748 LCDK:r*Ÿ…�r+Ÿ}r,Ÿ(jYUjZj&Ÿubajdjubaubj)�r-Ÿ}r.Ÿ(jYX-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: ---------------------------------------------jZjÅžjbjPœjdjjf}r/Ÿ(jöj÷jk]jj]jh]ji]jn]ujpM†'jqhjr]r0Ÿj{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: ---------------------------------------------r1Ÿ…�r2Ÿ}r3Ÿ(jYUjZj-ŸubaubjZ)�r4Ÿ}r5Ÿ(jYUjZjÅžjbjPœjdj]jf}r6Ÿ(jh]ji]jj]jk]jn]ujpK—jqhjr]r7Ÿj`)�r8Ÿ}r9Ÿ(jYUjcKjZj4ŸjbjPœjdjpjf}r:Ÿ(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r;Ÿ}r<Ÿ(jYX**Loading Program**r=ŸjZjÅžjbjPœjdj¥jf}r>Ÿ(jh]ji]jj]jk]jn]ujpK™jqhjr]r?Ÿjü)�r@Ÿ}rAŸ(jYj=Ÿjf}rBŸ(jh]ji]jj]jk]jn]ujZj;Ÿjr]rCŸj{XLoading ProgramrDŸ…�rEŸ}rFŸ(jYUjZj@ŸubajdjubaubjC)�rGŸ}rHŸ(jYUjZjÅžjbjPœjdj`jf}rIŸ(jGX-jk]jj]jh]ji]jn]ujpK›jqhjr]rJŸ(j/)�rKŸ}rLŸ(jYX,Select the desired core (ARM9_0 or C674X_0).rMŸjZjGŸjbjPœjdj2jf}rNŸ(jh]ji]jj]jk]jn]ujpNjqhjr]rOŸj¡)�rPŸ}rQŸ(jYjMŸjZjKŸjbjPœjdj¥jf}rRŸ(jh]ji]jj]jk]jn]ujpK›jr]rSŸj{X,Select the desired core (ARM9_0 or C674X_0).rTŸ…�rUŸ}rVŸ(jYjMŸjZjPŸubaubaubj/)�rWŸ}rXŸ(jYX(Go to “Run -> Load -> Load Program.â€�rYŸjZjGŸjbjPœjdj2jf}rZŸ(jh]ji]jj]jk]jn]ujpNjqhjr]r[Ÿj¡)�r\Ÿ}r]Ÿ(jYjYŸjZjWŸjbjPœjdj¥jf}r^Ÿ(jh]ji]jj]jk]jn]ujpKœjr]r_Ÿj{X(Go to “Run -> Load -> Load Program.â€�r`Ÿ…�raŸ}rbŸ(jYjYŸjZj\Ÿubaubaubj/)�rcŸ}rdŸ(jYXsClick “Browseâ€� to choose a prebuilt .out or click “Browse project..â€� to choose a .out from an open project.reŸjZjGŸjbjPœjdj2jf}rfŸ(jh]ji]jj]jk]jn]ujpNjqhjr]rgŸj¡)�rhŸ}riŸ(jYjeŸjZjcŸjbjPœjdj¥jf}rjŸ(jh]ji]jj]jk]jn]ujpK�jr]rkŸj{XsClick “Browseâ€� to choose a prebuilt .out or click “Browse project..â€� to choose a .out from an open project.rlŸ…�rmŸ}rnŸ(jYjeŸjZjhŸubaubaubj/)�roŸ}rpŸ(jYX&Select the desired .out and click OK. jZjGŸjbjPœjdj2jf}rqŸ(jh]ji]jj]jk]jn]ujpNjqhjr]rrŸj¡)�rsŸ}rtŸ(jYX%Select the desired .out and click OK.ruŸjZjoŸjbjPœjdj¥jf}rvŸ(jh]ji]jj]jk]jn]ujpKžjr]rwŸj{X%Select the desired .out and click OK.rxŸ…�ryŸ}rzŸ(jYjuŸjZjsŸubaubaubeubj¡)�r{Ÿ}r|Ÿ(jYX**Running Program**r}ŸjZjÅžjbjPœjdj¥jf}r~Ÿ(jh]ji]jj]jk]jn]ujpK jqhjr]rŸjü)�r€Ÿ}r�Ÿ(jYj}Ÿjf}r‚Ÿ(jh]ji]jj]jk]jn]ujZj{Ÿjr]rƒŸj{XRunning Programr„Ÿ…�r…Ÿ}r†Ÿ(jYUjZj€ŸubajdjubaubjC)�r‡Ÿ}rˆŸ(jYUjZjÅžjbjPœjdj`jf}r‰Ÿ(jGX-jk]jj]jh]ji]jn]ujpK¢jqhjr]rŠŸj/)�r‹Ÿ}rŒŸ(jYXGo to “Run -> Resumeâ€� jZj‡ŸjbXbinternal padding after source/common/EVM_Hardware_Setup/OMAPL138-C6748_LCDK_Hardware_Setup.rst.incr�Ÿjdj2jf}rŽŸ(jh]ji]jj]jk]jn]ujpNjqhjr]r�Ÿj¡)�r�Ÿ}r‘Ÿ(jYXGo to “Run -> Resumeâ€�r’ŸjZj‹ŸjbjPœjdj¥jf}r“Ÿ(jh]ji]jj]jk]jn]ujpK¢jr]r”Ÿj{XGo to “Run -> Resumeâ€�r•Ÿ…�r–Ÿ}r—Ÿ(jYj’ŸjZj�Ÿubaubaubaubjî)�r˜Ÿ}r™Ÿ(jYXOMAP-L137 EVM Hardware SetupjZjÅžjbjcjdjôjf}ršŸ(jöj÷jk]jj]jh]ji]jn]ujpK�jqhjr]r›Ÿj{XOMAP-L137 EVM Hardware SetuprœŸ…�r�Ÿ}ržŸ(jYUjZj˜Ÿubaubjî)�rŸŸ}r Ÿ(jYX4====================================================jZjÅžjbjcjdjôjf}r¡Ÿ(jöj÷jk]jj]jh]ji]jn]ujpK‘jqhjr]r¢Ÿj{X4====================================================r£Ÿ…�r¤Ÿ}r¥Ÿ(jYUjZjŸŸubaubeubeubeubj[)�r¦Ÿ}r§Ÿ(jYUjZjR\jbj�XDsource/common/EVM_Hardware_Setup/OMAPL137_EVM_Hardware_Setup.rst.incr¨Ÿ…�r©Ÿ}rªŸbjdjejf}r«Ÿ(jh]ji]jj]jk]r¬ŸU(omap-l137-c6747-evm-hardware-setup-guider­Ÿajn]r®Ÿh!aujpKjqhjr]r¯Ÿ(jt)�r°Ÿ}r±Ÿ(jYX(OMAP-L137/C6747 EVM Hardware Setup Guider²ŸjZj¦Ÿjbj©Ÿjdjxjf}r³Ÿ(jh]ji]jj]jk]jn]ujpKjqhjr]r´Ÿj{X(OMAP-L137/C6747 EVM Hardware Setup GuiderµŸ…�r¶Ÿ}r·Ÿ(jYj²ŸjZj°Ÿubaubj[)�r¸Ÿ}r¹Ÿ(jYUjZj¦Ÿjbj©Ÿjdjejf}rºŸ(jh]ji]jj]jk]r»ŸUsetting-up-the-hardwarer¼Ÿajn]r½ŸhaujpKjqhjr]r¾Ÿ(jt)�r¿Ÿ}rÀŸ(jYXSetting up the HardwarerÁŸjZj¸Ÿjbj©Ÿjdjxjf}rŸ(jh]ji]jj]jk]jn]ujpKjqhjr]rßj{XSetting up the HardwarerÄŸ…�rÅŸ}rÆŸ(jYjÁŸjZj¿Ÿubaubj¡)�rÇŸ}rÈŸ(jYXSFollow the steps below to setup the hardware and enable communication with the EVM.rÉŸjZj¸Ÿjbj©Ÿjdj¥jf}rÊŸ(jh]ji]jj]jk]jn]ujpKjqhjr]rËŸj{XSFollow the steps below to setup the hardware and enable communication with the EVM.rÌŸ…�rÍŸ}rΟ(jYjÉŸjZjÇŸubaubj)�rÏŸ}rП(jYX¿The EVM is sensitive to static discharges. 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ÑŸjZj¸Ÿjbj©Ÿjdjjf}rÒŸ(jh]ji]jj]jk]jn]ujpNjqhjr]rÓŸj¡)�rÔŸ}rÕŸ(jYjÑŸjZjÏŸjbj©Ÿjdj¥jf}rÖŸ(jh]ji]jj]jk]jn]ujpK jr]rןj{X¿The EVM is sensitive to static discharges. 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ÚŸ(jYjÑŸjZjÔŸubaubaubjC)�rÛŸ}rÜŸ(jYUjZj¸Ÿjbj©Ÿjdj`jf}rÝŸ(jGX-jk]jj]jh]ji]jn]ujpK jqhjr]rÞŸj/)�rߟ}ràŸ(jYXiVerify that the EVM board's SW2 (Boot) switch is correctly set. The setting to boot from SPI0 Flash are: jZjÛŸjbj©Ÿjdj2jf}ráŸ(jh]ji]jj]jk]jn]ujpNjqhjr]râŸj¡)�rãŸ}räŸ(jYXhVerify that the EVM board's SW2 (Boot) switch is correctly set. The setting to boot from SPI0 Flash are:råŸjZjߟjbj©Ÿjdj¥jf}ræŸ(jh]ji]jj]jk]jn]ujpK jr]rçŸj{XhVerify that the EVM board's SW2 (Boot) switch is correctly set. The setting to boot from SPI0 Flash are:r蟅�réŸ}rêŸ(jYjåŸjZjãŸubaubaubaubjd$)�rëŸ}rìŸ(jYUjZj¸Ÿjbj©Ÿjdjg$jf}ríŸ(jh]ji]jj]jk]jn]ujpNjqhjr]rîŸjj$)�rïŸ}rðŸ(jYUjf}rñŸ(jk]jj]jh]ji]jn]UcolsKujZjëŸjr]ròŸ(jo$)�róŸ}rôŸ(jYUjf}rõŸ(jk]jj]jh]ji]jn]UcolwidthKujZjïŸjr]jdjs$ubjo$)�röŸ}r÷Ÿ(jYUjf}røŸ(jk]jj]jh]ji]jn]UcolwidthKujZjïŸjr]jdjs$ubjo$)�rùŸ}rúŸ(jYUjf}rûŸ(jk]jj]jh]ji]jn]UcolwidthKujZjïŸjr]jdjs$ubjo$)�rüŸ}rýŸ(jYUjf}rþŸ(jk]jj]jh]ji]jn]UcolwidthKujZjïŸjr]jdjs$ubjo$)�rÿŸ}r (jYUjf}r (jk]jj]jh]ji]jn]UcolwidthKujZjïŸjr]jdjs$ubjo$)�r }r (jYUjf}r (jk]jj]jh]ji]jn]UcolwidthKujZjïŸjr]jdjs$ubjz$)�r }r (jYUjf}r (jh]ji]jj]jk]jn]ujZjïŸjr]r j$)�r  }r  (jYUjf}r  (jh]ji]jj]jk]jn]ujZj jr]r  (j„$)�r  }r (jYUjf}r (jh]ji]jj]jk]jn]ujZj  jr]r j¡)�r }r (jYX **Pin #**r jZj  jbj©Ÿjdj¥jf}r (jh]ji]jj]jk]jn]ujpKjr]r jü)�r }r (jYj jf}r (jh]ji]jj]jk]jn]ujZj jr]r j{XPin #r …�r }r (jYUjZj ubajdjubaubajdj‘$ubj„$)�r }r (jYUjf}r (jh]ji]jj]jk]jn]ujZj  jr]r  j¡)�r! }r" (jYX7jZj jbj©Ÿjdj¥jf}r# (jh]ji]jj]jk]jn]ujpKjr]r$ j{X7…�r% }r& (jYX7jZj! ubaubajdj‘$ubj„$)�r' }r( (jYUjf}r) (jh]ji]jj]jk]jn]ujZj  jr]r* j¡)�r+ }r, (jYX2jZj' jbj©Ÿjdj¥jf}r- (jh]ji]jj]jk]jn]ujpKjr]r. j{X2…�r/ }r0 (jYX2jZj+ ubaubajdj‘$ubj„$)�r1 }r2 (jYUjf}r3 (jh]ji]jj]jk]jn]ujZj  jr]r4 j¡)�r5 }r6 (jYX1jZj1 jbj©Ÿjdj¥jf}r7 (jh]ji]jj]jk]jn]ujpKjr]r8 j{X1…�r9 }r: (jYX1jZj5 ubaubajdj‘$ubj„$)�r; }r< (jYUjf}r= (jh]ji]jj]jk]jn]ujZj  jr]r> j¡)�r? }r@ (jYX0jZj; jbj©Ÿjdj¥jf}rA (jh]ji]jj]jk]jn]ujpKjr]rB j{X0…�rC }rD (jYX0jZj? ubaubajdj‘$ubj„$)�rE }rF (jYUjf}rG (jh]ji]jj]jk]jn]ujZj  jr]rH j¡)�rI }rJ (jYX3jZjE jbj©Ÿjdj¥jf}rK (jh]ji]jj]jk]jn]ujpKjr]rL j{X3…�rM }rN (jYX3jZjI ubaubajdj‘$ubejdjª$ubajdj«$ubj¬$)�rO }rP (jYUjf}rQ (jh]ji]jj]jk]jn]ujZjïŸjr]rR j$)�rS }rT (jYUjf}rU (jh]ji]jj]jk]jn]ujZjO jr]rV (j„$)�rW }rX (jYUjf}rY (jh]ji]jj]jk]jn]ujZjS jr]rZ j¡)�r[ }r\ (jYX **Position**r] jZjW jbj©Ÿjdj¥jf}r^ (jh]ji]jj]jk]jn]ujpKjr]r_ jü)�r` }ra (jYj] jf}rb (jh]ji]jj]jk]jn]ujZj[ jr]rc j{XPositionrd …�re }rf (jYUjZj` ubajdjubaubajdj‘$ubj„$)�rg }rh (jYUjf}ri (jh]ji]jj]jk]jn]ujZjS jr]rj j¡)�rk }rl (jYX0jZjg jbj©Ÿjdj¥jf}rm (jh]ji]jj]jk]jn]ujpKjr]rn j{X0…�ro }rp (jYX0jZjk ubaubajdj‘$ubj„$)�rq }rr (jYUjf}rs (jh]ji]jj]jk]jn]ujZjS jr]rt j¡)�ru }rv (jYX1jZjq jbj©Ÿjdj¥jf}rw (jh]ji]jj]jk]jn]ujpKjr]rx j{X1…�ry }rz (jYX1jZju ubaubajdj‘$ubj„$)�r{ }r| (jYUjf}r} (jh]ji]jj]jk]jn]ujZjS jr]r~ j¡)�r }r€ (jYX0jZj{ jbj©Ÿjdj¥jf}r� (jh]ji]jj]jk]jn]ujpKjr]r‚ j{X0…�rƒ }r„ (jYX0jZj ubaubajdj‘$ubj„$)�r… }r† (jYUjf}r‡ (jh]ji]jj]jk]jn]ujZjS jr]rˆ j¡)�r‰ }rŠ (jYX1jZj… jbj©Ÿjdj¥jf}r‹ (jh]ji]jj]jk]jn]ujpKjr]rŒ j{X1…�r� }rŽ (jYX1jZj‰ ubaubajdj‘$ubj„$)�r� }r� (jYUjf}r‘ (jh]ji]jj]jk]jn]ujZjS jr]r’ j¡)�r“ }r” (jYXXjZj� jbj©Ÿjdj¥jf}r• (jh]ji]jj]jk]jn]ujpKjr]r– j{XX…�r— }r˜ (jYXXjZj“ ubaubajdj‘$ubejdjª$ubajdjy%ubejdjz%ubaubj)�r™ }rš (jYX…All boot switch modes can be found in the EVM Technical Reference Manual at the link provided under the Additional Resources section.r› jZj¸Ÿjbj©Ÿjdjjf}rœ (jh]ji]jj]jk]jn]ujpNjqhjr]r� j¡)�rž }rŸ (jYj› jZj™ jbj©Ÿjdj¥jf}r  (jh]ji]jj]jk]jn]ujpKjr]r¡ j{X…All boot switch modes can be found in the EVM Technical Reference Manual at the link provided under the Additional Resources section.r¢ …�r£ }r¤ (jYj› jZjž ubaubaubjC)�r¥ }r¦ (jYUjZj¸Ÿjbj©Ÿjdj`jf}r§ (jGX-jk]jj]jh]ji]jn]ujpKjqhjr]r¨ (j/)�r© }rª (jYX‰If you want to use networking, connect the Ethernet cable to one of the Ethernet ports on the EVM board and to an Ethernet network port. jZj¥ jbj©Ÿjdj2jf}r« (jh]ji]jj]jk]jn]ujpNjqhjr]r¬ j¡)�r­ }r® (jYXˆIf you want to use networking, connect the Ethernet cable to one of the Ethernet ports on the EVM board and to an Ethernet network port.r¯ jZj© jbj©Ÿjdj¥jf}r° (jh]ji]jj]jk]jn]ujpKjr]r± j{XˆIf you want to use networking, connect the Ethernet cable to one of the Ethernet ports on the EVM board and to an Ethernet network port.r² …�r³ }r´ (jYj¯ jZj­ ubaubaubj/)�rµ }r¶ (jYXŸConnect the USB cable provided in the kit to the on-board emulation USB port on the board (EMBED USB). Connect the other end to a computer with CCS installed. jZj¥ jbj©Ÿjdj2jf}r· (jh]ji]jj]jk]jn]ujpNjqhjr]r¸ j¡)�r¹ }rº (jYXžConnect the USB cable provided in the kit to the on-board emulation USB port on the board (EMBED USB). Connect the other end to a computer with CCS installed.r» jZjµ jbj©Ÿjdj¥jf}r¼ (jh]ji]jj]jk]jn]ujpKjr]r½ j{XžConnect the USB cable provided in the kit to the on-board emulation USB port on the board (EMBED USB). Connect the other end to a computer with CCS installed.r¾ …�r¿ }rÀ (jYj» jZj¹ ubaubaubj/)�rÁ }r (jYXšIf you plan to use UART port for a console window, connect the RS-232 null modem cable to the EVM UART port and to the COM port of your host workstation. jZj¥ jbj©Ÿjdj2jf}rà(jh]ji]jj]jk]jn]ujpNjqhjr]rÄ j¡)�rÅ }rÆ (jYX™If you plan to use UART port for a console window, connect the RS-232 null modem cable to the EVM UART port and to the COM port of your host workstation.rÇ jZjÁ jbj©Ÿjdj¥jf}rÈ (jh]ji]jj]jk]jn]ujpKjr]rÉ j{X™If you plan to use UART port for a console window, connect the RS-232 null modem cable to the EVM UART port and to the COM port of your host workstation.rÊ …�rË }rÌ (jYjÇ jZjÅ ubaubaubj/)�rÍ }rΠ(jYX°Connect the power cable to the EVM power jack on the board. To be ESD safe, plug in the other end of the power cable only after you have connected the power cord to the board. jZj¥ jbj©Ÿjdj2jf}rÏ (jh]ji]jj]jk]jn]ujpNjqhjr]rРj¡)�rÑ }rÒ (jYX¯Connect the power cable to the EVM power jack on the board. To be ESD safe, plug in the other end of the power cable only after you have connected the power cord to the board.rÓ jZjÍ jbj©Ÿjdj¥jf}rÔ (jh]ji]jj]jk]jn]ujpK#jr]rÕ j{X¯Connect the power cable to the EVM power jack on the board. To be ESD safe, plug in the other end of the power cable only after you have connected the power cord to the board.rÖ …�r× }rØ (jYjÓ jZjÑ ubaubaubeubeubj[)�rÙ }rÚ (jYUjZj¦Ÿjbj©Ÿjdjejf}rÛ (jh]ji]jj]jk]rÜ Uconnecting-to-a-console-windowrÝ ajn]rÞ hlaujpK(jqhjr]rß (jt)�rà }rá (jYXConnecting to a Console Windowrâ jZjÙ jbj©Ÿjdjxjf}rã (jh]ji]jj]jk]jn]ujpK(jqhjr]rä j{XConnecting to a Console Windowrå …�ræ }rç (jYjâ jZjà ubaubj¡)�rè }ré (jYXqYou can open a console window that allows you to watch boot and serial console messages by following these steps:rê jZjÙ jbj©Ÿjdj¥jf}rë (jh]ji]jj]jk]jn]ujpK*jqhjr]rì j{XqYou can open a console window that allows you to watch boot and serial console messages by following these steps:rí …�rî }rï (jYjê jZjè ubaubj%)�rð }rñ (jYUjZjÙ jbj©Ÿjdj(jf}rò (j*U.jk]jj]jh]j+Uji]jn]j,j-ujpK-jqhjr]ró (j/)�rô }rõ (jYXiConnect a serial cable between the serial port on the EVM and the serial port (for example COM1) on a PC.jZjð jbj©Ÿjdj2jf}rö (jh]ji]jj]jk]jn]ujpNjqhjr]r÷ j¡)�rø }rù (jYXiConnect a serial cable between the serial port on the EVM and the serial port (for example COM1) on a PC.rú jZjô jbj©Ÿjdj¥jf}rû (jh]ji]jj]jk]jn]ujpK-jr]rü j{XiConnect a serial cable between the serial port on the EVM and the serial port (for example COM1) on a PC.rý …�rþ }rÿ (jYjú jZjø ubaubaubj/)�r¡}r¡(jYX@Run a terminal session (such as Minicom on Linux or TeraTerm on Windows) on the workstation and configure it to connect to that serial port with the following characteristics: - Bits per Second: 115200 - Data Bits: 8 - Parity: None - Stop Bits: 1 - Flow Control: None - Transmit delay: 0 msec/char, 100 msec/line jZjð jbNjdj2jf}r¡(jh]ji]jj]jk]jn]ujpNjqhjr]r¡(j¡)�r¡}r¡(jYX¯Run a terminal session (such as Minicom on Linux or TeraTerm on Windows) on the workstation and configure it to connect to that serial port with the following characteristics:r¡jZj¡jbj©Ÿjdj¥jf}r¡(jh]ji]jj]jk]jn]ujpK/jr]r¡j{X¯Run a terminal session (such as Minicom on Linux or TeraTerm on Windows) on the workstation and configure it to connect to that serial port with the following characteristics:r ¡…�r ¡}r ¡(jYj¡jZj¡ubaubjC)�r ¡}r ¡(jYUjf}r¡(jGX-jk]jj]jh]ji]jn]ujZj¡jr]r¡(j/)�r¡}r¡(jYXBits per Second: 115200r¡jf}r¡(jh]ji]jj]jk]jn]ujZj ¡jr]r¡j¡)�r¡}r¡(jYj¡jZj¡jbj©Ÿjdj¥jf}r¡(jh]ji]jj]jk]jn]ujpK3jr]r¡j{XBits per Second: 115200r¡…�r¡}r¡(jYj¡jZj¡ubaubajdj2ubj/)�r¡}r¡(jYX Data Bits: 8r¡jf}r¡(jh]ji]jj]jk]jn]ujZj ¡jr]r ¡j¡)�r!¡}r"¡(jYj¡jZj¡jbj©Ÿjdj¥jf}r#¡(jh]ji]jj]jk]jn]ujpK4jr]r$¡j{X Data Bits: 8r%¡…�r&¡}r'¡(jYj¡jZj!¡ubaubajdj2ubj/)�r(¡}r)¡(jYX Parity: Noner*¡jf}r+¡(jh]ji]jj]jk]jn]ujZj ¡jr]r,¡j¡)�r-¡}r.¡(jYj*¡jZj(¡jbj©Ÿjdj¥jf}r/¡(jh]ji]jj]jk]jn]ujpK5jr]r0¡j{X Parity: Noner1¡…�r2¡}r3¡(jYj*¡jZj-¡ubaubajdj2ubj/)�r4¡}r5¡(jYX Stop Bits: 1r6¡jf}r7¡(jh]ji]jj]jk]jn]ujZj ¡jr]r8¡j¡)�r9¡}r:¡(jYj6¡jZj4¡jbj©Ÿjdj¥jf}r;¡(jh]ji]jj]jk]jn]ujpK6jr]r<¡j{X Stop Bits: 1r=¡…�r>¡}r?¡(jYj6¡jZj9¡ubaubajdj2ubj/)�r@¡}rA¡(jYXFlow Control: NonerB¡jf}rC¡(jh]ji]jj]jk]jn]ujZj ¡jr]rD¡j¡)�rE¡}rF¡(jYjB¡jZj@¡jbj©Ÿjdj¥jf}rG¡(jh]ji]jj]jk]jn]ujpK7jr]rH¡j{XFlow Control: NonerI¡…�rJ¡}rK¡(jYjB¡jZjE¡ubaubajdj2ubj/)�rL¡}rM¡(jYX+Transmit delay: 0 msec/char, 100 msec/line jf}rN¡(jh]ji]jj]jk]jn]ujZj ¡jr]rO¡j¡)�rP¡}rQ¡(jYX*Transmit delay: 0 msec/char, 100 msec/linerR¡jZjL¡jbj©Ÿjdj¥jf}rS¡(jh]ji]jj]jk]jn]ujpK8jr]rT¡j{X*Transmit delay: 0 msec/char, 100 msec/linerU¡…�rV¡}rW¡(jYjR¡jZjP¡ubaubajdj2ubejdj`ubeubeubj¡)�rX¡}rY¡(jYX **For Linux**rZ¡jZjÙ jbj©Ÿjdj¥jf}r[¡(jh]ji]jj]jk]jn]ujpK:jqhjr]r\¡jü)�r]¡}r^¡(jYjZ¡jf}r_¡(jh]ji]jj]jk]jn]ujZjX¡jr]r`¡j{X For Linuxra¡…�rb¡}rc¡(jYUjZj]¡ubajdjubaubj%)�rd¡}re¡(jYUjZjÙ jbj©Ÿjdj(jf}rf¡(j*U.jdKjk]jj]jh]j+Uji]jn]j,j-ujpKTarget Configuration File.r¯¡jZj©¡jbj©Ÿjdj2jf}r°¡(jh]ji]jj]jk]jn]ujpNjqhjr]r±¡j¡)�r²¡}r³¡(jYj¯¡jZj­¡jbj©Ÿjdj¥jf}r´¡(jh]ji]jj]jk]jn]ujpKIjr]rµ¡j{X3Open CCS and select New->Target Configuration File.r¶¡…�r·¡}r¸¡(jYj¯¡jZj²¡ubaubaubj/)�r¹¡}rº¡(jYX#Specify a file name or use default.r»¡jZj©¡jbj©Ÿjdj2jf}r¼¡(jh]ji]jj]jk]jn]ujpNjqhjr]r½¡j¡)�r¾¡}r¿¡(jYj»¡jZj¹¡jbj©Ÿjdj¥jf}rÀ¡(jh]ji]jj]jk]jn]ujpKJjr]rÁ¡j{X#Specify a file name or use default.r¡…�rá}rÄ¡(jYj»¡jZj¾¡ubaubaubj/)�rÅ¡}rÆ¡(jYXŽSelect "Spectrum Digital XDS510USB Emulator" as Connection. **If using CCS 9.0 or later, you will need an external emulator as noted above.** jZj©¡jbj©Ÿjdj2jf}rÇ¡(jh]ji]jj]jk]jn]ujpNjqhjr]rÈ¡j¡)�rÉ¡}rÊ¡(jYX�Select "Spectrum Digital XDS510USB Emulator" as Connection. **If using CCS 9.0 or later, you will need an external emulator as noted above.**jZjÅ¡jbj©Ÿjdj¥jf}rË¡(jh]ji]jj]jk]jn]ujpKKjr]rÌ¡(j{X<Select "Spectrum Digital XDS510USB Emulator" as Connection. rÍ¡…�rΡ}rÏ¡(jYX<Select "Spectrum Digital XDS510USB Emulator" as Connection. jZjÉ¡ubjü)�rС}rÑ¡(jYXQ**If using CCS 9.0 or later, you will need an external emulator as noted above.**jf}rÒ¡(jh]ji]jj]jk]jn]ujZjÉ¡jr]rÓ¡j{XMIf using CCS 9.0 or later, you will need an external emulator as noted above.rÔ¡…�rÕ¡}rÖ¡(jYUjZjСubajdjubeubaubeubjB)�rס}rØ¡(jYX0.. Image:: ../images/OMAPL137_targetConfig.png jZjš¡jbj©ŸjdjEjf}rÙ¡(UuriX(rtos/../images/OMAPL137_targetConfig.pngrÚ¡jk]jj]jh]ji]jH}rÛ¡U*jÚ¡sjn]ujpKOjqhjr]ubjC)�rÜ¡}rÝ¡(jYUjZjš¡jbj©Ÿjdj`jf}rÞ¡(jGX-jk]jj]jh]ji]jn]ujpKPjqhjr]rß¡j/)�rà¡}rá¡(jYX0Check "OMAPL137" or "C6747" as Device and save. jZjÜ¡jbj©Ÿjdj2jf}râ¡(jh]ji]jj]jk]jn]ujpNjqhjr]rã¡j¡)�rä¡}rå¡(jYX/Check "OMAPL137" or "C6747" as Device and save.ræ¡jZjà¡jbj©Ÿjdj¥jf}rç¡(jh]ji]jj]jk]jn]ujpKPjr]rè¡j{X/Check "OMAPL137" or "C6747" as Device and save.ré¡…�rê¡}rë¡(jYjæ¡jZjä¡ubaubaubaubcdocutils.nodes tip rì¡)�rí¡}rî¡(jYXyIf you don't see "OMAPL137", ensure that you have installed CCS and selected Single Core DSP devices in the installation.rï¡jZjš¡jbj©ŸjdUtiprð¡jf}rñ¡(jh]ji]jj]jk]jn]ujpNjqhjr]rò¡j¡)�ró¡}rô¡(jYjï¡jZjí¡jbj©Ÿjdj¥jf}rõ¡(jh]ji]jj]jk]jn]ujpKRjr]rö¡j{XyIf you don't see "OMAPL137", ensure that you have installed CCS and selected Single Core DSP devices in the installation.r÷¡…�rø¡}rù¡(jYjï¡jZjó¡ubaubaubjC)�rú¡}rû¡(jYUjZjš¡jbj©Ÿjdj`jf}rü¡(jGX-jk]jj]jh]ji]jn]ujpKTjqhjr]rý¡(j/)�rþ¡}rÿ¡(jYXlOpen Target Configuration view in CCS by selecting "Window -> Show View -> Target Configurations" from menu.jZjú¡jbj©Ÿjdj2jf}r¢(jh]ji]jj]jk]jn]ujpNjqhjr]r¢j¡)�r¢}r¢(jYXlOpen Target Configuration view in CCS by selecting "Window -> Show View -> Target Configurations" from menu.r¢jZjþ¡jbj©Ÿjdj¥jf}r¢(jh]ji]jj]jk]jn]ujpKTjr]r¢j{XlOpen Target Configuration view in CCS by selecting "Window -> Show View -> Target Configurations" from menu.r¢…�r¢}r ¢(jYj¢jZj¢ubaubaubj/)�r ¢}r ¢(jYXLSelect newly created configuration, right-click on it and set it as default.jZjú¡jbj©Ÿjdj2jf}r ¢(jh]ji]jj]jk]jn]ujpNjqhjr]r ¢j¡)�r¢}r¢(jYXLSelect newly created configuration, right-click on it and set it as default.r¢jZj ¢jbj©Ÿjdj¥jf}r¢(jh]ji]jj]jk]jn]ujpKVjr]r¢j{XLSelect newly created configuration, right-click on it and set it as default.r¢…�r¢}r¢(jYj¢jZj¢ubaubaubj/)�r¢}r¢(jYX#Launch Target configuration file jZjú¡jbj©Ÿjdj2jf}r¢(jh]ji]jj]jk]jn]ujpNjqhjr]r¢j¡)�r¢}r¢(jYX Launch Target configuration filer¢jZj¢jbj©Ÿjdj¥jf}r¢(jh]ji]jj]jk]jn]ujpKXjr]r¢j{X Launch Target configuration filer¢…�r ¢}r!¢(jYj¢jZj¢ubaubaubeubeubj[)�r"¢}r#¢(jYUjZjt¡jbj©Ÿjdjejf}r$¢(jh]ji]jj]jk]r%¢U#connect-target-and-load-run-programr&¢ajn]r'¢jKaujpK]jqhjr]r(¢(jt)�r)¢}r*¢(jYX#Connect Target and Load/Run Programr+¢jZj"¢jbj©Ÿjdjxjf}r,¢(jh]ji]jj]jk]jn]ujpK]jqhjr]r-¢j{X#Connect Target and Load/Run Programr.¢…�r/¢}r0¢(jYj+¢jZj)¢ubaubjC)�r1¢}r2¢(jYUjZj"¢jbj©Ÿjdj`jf}r3¢(jGX-jk]jj]jh]ji]jn]ujpK_jqhjr]r4¢j/)�r5¢}r6¢(jYXäConnecting Target - Select "View -> Debug" from menu to start a debug session. - CCS will switch to Debug perspective with devices DSP and ARM. - Select device to connect and then go to "Run -> Connect Target" from menu. jZj1¢jbNjdj2jf}r7¢(jh]ji]jj]jk]jn]ujpNjqhjr]r8¢(j¡)�r9¢}r:¢(jYXConnecting Targetr;¢jZj5¢jbj©Ÿjdj¥jf}r<¢(jh]ji]jj]jk]jn]ujpK_jr]r=¢j{XConnecting Targetr>¢…�r?¢}r@¢(jYj;¢jZj9¢ubaubjC)�rA¢}rB¢(jYUjf}rC¢(jGX-jk]jj]jh]ji]jn]ujZj5¢jr]rD¢(j/)�rE¢}rF¢(jYX:Select "View -> Debug" from menu to start a debug session.rG¢jf}rH¢(jh]ji]jj]jk]jn]ujZjA¢jr]rI¢j¡)�rJ¢}rK¢(jYjG¢jZjE¢jbj©Ÿjdj¥jf}rL¢(jh]ji]jj]jk]jn]ujpKajr]rM¢j{X:Select "View -> Debug" from menu to start a debug session.rN¢…�rO¢}rP¢(jYjG¢jZjJ¢ubaubajdj2ubj/)�rQ¢}rR¢(jYX>CCS will switch to Debug perspective with devices DSP and ARM.rS¢jf}rT¢(jh]ji]jj]jk]jn]ujZjA¢jr]rU¢j¡)�rV¢}rW¢(jYjS¢jZjQ¢jbj©Ÿjdj¥jf}rX¢(jh]ji]jj]jk]jn]ujpKbjr]rY¢j{X>CCS will switch to Debug perspective with devices DSP and ARM.rZ¢…�r[¢}r\¢(jYjS¢jZjV¢ubaubajdj2ubj/)�r]¢}r^¢(jYXKSelect device to connect and then go to "Run -> Connect Target" from menu. jf}r_¢(jh]ji]jj]jk]jn]ujZjA¢jr]r`¢j¡)�ra¢}rb¢(jYXJSelect device to connect and then go to "Run -> Connect Target" from menu.rc¢jZj]¢jbj©Ÿjdj¥jf}rd¢(jh]ji]jj]jk]jn]ujpKcjr]re¢j{XJSelect device to connect and then go to "Run -> Connect Target" from menu.rf¢…�rg¢}rh¢(jYjc¢jZja¢ubaubajdj2ubejdj`ubeubaubj)�ri¢}rj¢(jYXÙOMAPL137 is a DSP boot master device. Hence to connect to the ARM, you need to connect the DSP first (even if you do not load anything to DSP), then connect ARM (Reason: DSP’s GEL file enables and wakes up the ARM).rk¢jZj"¢jbj©Ÿjdjjf}rl¢(jh]ji]jj]jk]jn]ujpNjqhjr]rm¢j¡)�rn¢}ro¢(jYjk¢jZji¢jbj©Ÿjdj¥jf}rp¢(jh]ji]jj]jk]jn]ujpKfjr]rq¢j{XÙOMAPL137 is a DSP boot master device. Hence to connect to the ARM, you need to connect the DSP first (even if you do not load anything to DSP), then connect ARM (Reason: DSP’s GEL file enables and wakes up the ARM).rr¢…�rs¢}rt¢(jYjk¢jZjn¢ubaubaubjC)�ru¢}rv¢(jYUjZj"¢jbj©Ÿjdj`jf}rw¢(jGX-jk]jj]jh]ji]jn]ujpKhjqhjr]rx¢(j/)�ry¢}rz¢(jYX Loading Program - Choose desired device (DSP or ARM). - Go to "Run -> Load -> Load Program" from menu. - Click “Browseâ€� to choose a prebuilt \*.out or click “Browse project..â€� to choose \*.out of the open projects. - Choose desired \*.out and click OK. jZju¢jbNjdj2jf}r{¢(jh]ji]jj]jk]jn]ujpNjqhjr]r|¢(j¡)�r}¢}r~¢(jYXLoading Programr¢jZjy¢jbj©Ÿjdj¥jf}r€¢(jh]ji]jj]jk]jn]ujpKhjr]r�¢j{XLoading Programr‚¢…�rƒ¢}r„¢(jYj¢jZj}¢ubaubjC)�r…¢}r†¢(jYUjf}r‡¢(jGX-jk]jj]jh]ji]jn]ujZjy¢jr]rˆ¢(j/)�r‰¢}rŠ¢(jYX#Choose desired device (DSP or ARM).r‹¢jf}rŒ¢(jh]ji]jj]jk]jn]ujZj…¢jr]r�¢j¡)�rŽ¢}r�¢(jYj‹¢jZj‰¢jbj©Ÿjdj¥jf}r�¢(jh]ji]jj]jk]jn]ujpKjjr]r‘¢j{X#Choose desired device (DSP or ARM).r’¢…�r“¢}r”¢(jYj‹¢jZjŽ¢ubaubajdj2ubj/)�r•¢}r–¢(jYX.Go to "Run -> Load -> Load Program" from menu.r—¢jf}r˜¢(jh]ji]jj]jk]jn]ujZj…¢jr]r™¢j¡)�rš¢}r›¢(jYj—¢jZj•¢jbj©Ÿjdj¥jf}rœ¢(jh]ji]jj]jk]jn]ujpKkjr]r�¢j{X.Go to "Run -> Load -> Load Program" from menu.rž¢…�rŸ¢}r ¢(jYj—¢jZjš¢ubaubajdj2ubj/)�r¡¢}r¢¢(jYXuClick “Browseâ€� to choose a prebuilt \*.out or click “Browse project..â€� to choose \*.out of the open projects.r£¢jf}r¤¢(jh]ji]jj]jk]jn]ujZj…¢jr]r¥¢j¡)�r¦¢}r§¢(jYj£¢jZj¡¢jbj©Ÿjdj¥jf}r¨¢(jh]ji]jj]jk]jn]ujpKljr]r©¢j{XsClick “Browseâ€� to choose a prebuilt *.out or click “Browse project..â€� to choose *.out of the open projects.rª¢…�r«¢}r¬¢(jYXuClick “Browseâ€� to choose a prebuilt \*.out or click “Browse project..â€� to choose \*.out of the open projects.jZj¦¢ubaubajdj2ubj/)�r­¢}r®¢(jYX%Choose desired \*.out and click OK. jf}r¯¢(jh]ji]jj]jk]jn]ujZj…¢jr]r°¢j¡)�r±¢}r²¢(jYX#Choose desired \*.out and click OK.jZj­¢jbj©Ÿjdj¥jf}r³¢(jh]ji]jj]jk]jn]ujpKmjr]r´¢j{X"Choose desired *.out and click OK.rµ¢…�r¶¢}r·¢(jYX#Choose desired \*.out and click OK.jZj±¢ubaubajdj2ubejdj`ubeubj/)�r¸¢}r¹¢(jYX*Running Program - Go to "Run -> Resume" jZju¢jbNjdj2jf}rº¢(jh]ji]jj]jk]jn]ujpNjqhjr]r»¢(j¡)�r¼¢}r½¢(jYXRunning Programr¾¢jZj¸¢jbj©Ÿjdj¥jf}r¿¢(jh]ji]jj]jk]jn]ujpKpjr]rÀ¢j{XRunning ProgramrÁ¢…�r¢}râ(jYj¾¢jZj¼¢ubaubjC)�rÄ¢}rÅ¢(jYUjf}rÆ¢(jGX-jk]jj]jh]ji]jn]ujZj¸¢jr]rÇ¢j/)�rÈ¢}rÉ¢(jYXGo to "Run -> Resume" jf}rÊ¢(jh]ji]jj]jk]jn]ujZjÄ¢jr]rË¢j¡)�rÌ¢}rÍ¢(jYXGo to "Run -> Resume"r΢jZjÈ¢jbj©Ÿjdj¥jf}rÏ¢(jh]ji]jj]jk]jn]ujpKrjr]rТj{XGo to "Run -> Resume"rÑ¢…�rÒ¢}rÓ¢(jYj΢jZjÌ¢ubaubajdj2ubajdj`ubeubeubeubj[)�rÔ¢}rÕ¢(jYUjZjt¡jbj©Ÿjdjejf}rÖ¢(jh]ji]jj]jk]r×¢Uadditional-referencesrØ¢ajn]rÙ¢hyaujpKujqhjr]rÚ¢(jt)�rÛ¢}rÜ¢(jYXAdditional ReferencesrÝ¢jZjÔ¢jbj©Ÿjdjxjf}rÞ¢(jh]ji]jj]jk]jn]ujpKujqhjr]rߢj{XAdditional Referencesrࢅ�rá¢}râ¢(jYjÝ¢jZjÛ¢ubaubj¡)�rã¢}rä¢(jYXYEVM Design and Support Files: http://support.spectrumdigital.com/boards/evmomapl137/revg/rå¢jZjÔ¢jbj©Ÿjdj¥jf}ræ¢(jh]ji]jj]jk]jn]ujpKvjqhjr]rç¢(j{XEVM Design and Support Files: r袅�ré¢}rê¢(jYXEVM Design and Support Files: jZjã¢ubjÜ)�rë¢}rì¢(jYX;http://support.spectrumdigital.com/boards/evmomapl137/revg/rí¢jf}rî¢(Urefurijí¢jk]jj]jh]ji]jn]ujZjã¢jr]rï¢j{X;http://support.spectrumdigital.com/boards/evmomapl137/revg/rð¢…�rñ¢}rò¢(jYUjZjë¢ubajdjàubeubjî)�ró¢}rô¢(jYXAM335x ICE EVM Hardware SetupjZjÔ¢jbjcjdjôjf}rõ¢(jöj÷jk]jj]jh]ji]jn]ujpK”jqhjr]rö¢j{XAM335x ICE EVM Hardware Setupr÷¢…�rø¢}rù¢(jYUjZjó¢ubaubjî)�rú¢}rû¢(jYX4====================================================jZjÔ¢jbjcjdjôjf}rü¢(jöj÷jk]jj]jh]ji]jn]ujpK•jqhjr]rý¢j{X4====================================================rþ¢…�rÿ¢}r£(jYUjZjú¢ubaubeubeubeubj[)�r£}r£(jYUjZjR\jbj�XBsource/common/EVM_Hardware_Setup/ICE_AM335x_Hardware_Setup.rst.incr£…�r£}r£bjdjejf}r£(jh]ji]jj]jk]r£Uam335x-ice-evm-hardware-setupr£ajn]r £hFaujpKjqhjr]r £(jt)�r £}r £(jYXAM335x ICE EVM Hardware Setupr £jZj£jbj£jdjxjf}r£(jh]ji]jj]jk]jn]ujpKjqhjr]r£j{XAM335x ICE EVM Hardware Setupr£…�r£}r£(jYj £jZj £ubaubj[)�r£}r£(jYUjìKjZj£jbj£jdjejf}r£(jh]r£X descriptionr£aji]jj]jk]r£Uid79r£ajn]ujpKjqhjr]r£(jt)�r£}r£(jYX Descriptionr£jZj£jbj£jdjxjf}r£(jh]ji]jj]jk]jn]ujpKjqhjr]r£j{X Descriptionr £…�r!£}r"£(jYj£jZj£ubaubj¡)�r#£}r$£(jYX‚The low-cost ICE EVM can be used for evaluation and development of industrial communication type applications. It has been equipped with a TI AM3359 processor and a defined set of features to allow the user to experience specifically industrial communication solutions using serial or Ethernet based interfaces. It is not intended as a generic development platform as some of the features and interfaces supplied by the AM335x are not accessible from the ICE board. Using standard interfaces, the ICE board may interface to other processors or systems and act as a communication gateway in this case. In addition it can directly operate as a standard remote I/O system or simple sensor connected to an industrial communication network. The embedded emulation logic allows emulation and debug using standard development tools such as TI’s Code Composer Studio by just using the supplied USB cable.r%£jZj£jbj£jdj¥jf}r&£(jh]ji]jj]jk]jn]ujpKjqhjr]r'£j{X‚The low-cost ICE EVM can be used for evaluation and development of industrial communication type applications. It has been equipped with a TI AM3359 processor and a defined set of features to allow the user to experience specifically industrial communication solutions using serial or Ethernet based interfaces. It is not intended as a generic development platform as some of the features and interfaces supplied by the AM335x are not accessible from the ICE board. Using standard interfaces, the ICE board may interface to other processors or systems and act as a communication gateway in this case. In addition it can directly operate as a standard remote I/O system or simple sensor connected to an industrial communication network. The embedded emulation logic allows emulation and debug using standard development tools such as TI’s Code Composer Studio by just using the supplied USB cable.r(£…�r)£}r*£(jYj%£jZj#£ubaubeubj[)�r+£}r,£(jYUjìKjZj£jbj£jdjejf}r-£(jh]r.£Xevm layout and key componentsr/£aji]jj]jk]r0£Uid80r1£ajn]ujpKjqhjr]r2£(jt)�r3£}r4£(jYXEVM Layout and Key Componentsr5£jZj+£jbj£jdjxjf}r6£(jh]ji]jj]jk]jn]ujpKjqhjr]r7£j{XEVM Layout and Key Componentsr8£…�r9£}r:£(jYj5£jZj3£ubaubjB)�r;£}r<£(jYXA.. Image:: ../../../images/ICE_V2_marked.png :scale: 50% jZj+£jbj£jdjEjf}r=£(UscaleK2UuriX&rtos/../../../images/ICE_V2_marked.pngr>£jk]jj]jh]ji]jH}r?£U*j>£sjn]ujpNjqhjr]ubeubj[)�r@£}rA£(jYUjìKjZj£jbj£jdjejf}rB£(jh]rC£Xquick start guiderD£aji]jj]jk]rE£Uid81rF£ajn]ujpKjqhjr]rG£(jt)�rH£}rI£(jYXQuick Start GuiderJ£jZj@£jbj£jdjxjf}rK£(jh]ji]jj]jk]jn]ujpKjqhjr]rL£j{XQuick Start GuiderM£…�rN£}rO£(jYjJ£jZjH£ubaubj¡)�rP£}rQ£(jYX9This section details how to quickly setup the AM3359 ICE.rR£jZj@£jbj£jdj¥jf}rS£(jh]ji]jj]jk]jn]ujpKjqhjr]rT£j{X9This section details how to quickly setup the AM3359 ICE.rU£…�rV£}rW£(jYjR£jZjP£ubaubj¡)�rX£}rY£(jYXR1. Unbox the board and identify the various components and connectors shown above.rZ£jZj@£jbj£jdj¥jf}r[£(jh]ji]jj]jk]jn]ujpK!jqhjr]r\£j{XR1. Unbox the board and identify the various components and connectors shown above.r]£…�r^£}r_£(jYjZ£jZjX£ubaubj¡)�r`£}ra£(jYX^2. Connect the power cable to the power jack on the board and plug it into an AC power source.rb£jZj@£jbj£jdj¥jf}rc£(jh]ji]jj]jk]jn]ujpK$jqhjr]rd£j{X^2. Connect the power cable to the power jack on the board and plug it into an AC power source.re£…�rf£}rg£(jYjb£jZj`£ubaubjB)�rh£}ri£(jYX>.. Image:: ../../../images/ICE335924V.png :scale: 50% jZj@£jbj£jdjEjf}rj£(UscaleK2UuriX#rtos/../../../images/ICE335924V.pngrk£jk]jj]jh]ji]jH}rl£U*jk£sjn]ujpNjqhjr]ubj¡)�rm£}rn£(jYXlOnce powered on, the POWER ON LED (D16) and Industrial Output LEDs (D6-D10, D12, D14, and D15) will turn on.ro£jZj@£jbj£jdj¥jf}rp£(jh]ji]jj]jk]jn]ujpK*jqhjr]rq£j{XlOnce powered on, the POWER ON LED (D16) and Industrial Output LEDs (D6-D10, D12, D14, and D15) will turn on.rr£…�rs£}rt£(jYjo£jZjm£ubaubj)�ru£}rv£(jYX-When powering the AM335x ICE, always use the supplied power supply (CUI/V-Infinity Part Number EMSA240075) or equivalent model having output voltage of +24VDC and output current max 0.75 Amps and that complies with applicable regional safety standards such as (by example) UL, CSA, VDE, CCC, PSE, etc.rw£jZj@£jbj£jdjjf}rx£(jh]ji]jj]jk]jn]ujpNjqhjr]ry£j¡)�rz£}r{£(jYjw£jZju£jbj£jdj¥jf}r|£(jh]ji]jj]jk]jn]ujpK.jr]r}£j{X-When powering the AM335x ICE, always use the supplied power supply (CUI/V-Infinity Part Number EMSA240075) or equivalent model having output voltage of +24VDC and output current max 0.75 Amps and that complies with applicable regional safety standards such as (by example) UL, CSA, VDE, CCC, PSE, etc.r~£…�r£}r€£(jYjw£jZjz£ubaubaubj¡)�r�£}r‚£(jYX¶3. Connect the microUSB cable to the USB JTAG/Console port on the ICE board and connect to the USB on the host. Connect an Ethernet cable to ETH0 if network connectivity is required.rƒ£jZj@£jbj£jdj¥jf}r„£(jh]ji]jj]jk]jn]ujpK0jqhjr]r…£j{X¶3. Connect the microUSB cable to the USB JTAG/Console port on the ICE board and connect to the USB on the host. Connect an Ethernet cable to ETH0 if network connectivity is required.r†£…�r‡£}rˆ£(jYjƒ£jZj�£ubaubjB)�r‰£}rŠ£(jYX>.. Image:: ../../../images/ICE3359USB.png :scale: 50% jZj@£jbj£jdjEjf}r‹£(UscaleK2UuriX#rtos/../../../images/ICE3359USB.pngrŒ£jk]jj]jh]ji]jH}r�£U*jŒ£sjn]ujpNjqhjr]ubj)�rŽ£}r�£(jYXNThe serial port will not show up on the host PC until the board is powered on.r�£jZj@£jbj£jdjjf}r‘£(jh]ji]jj]jk]jn]ujpNjqhjr]r’£j¡)�r“£}r”£(jYj�£jZjŽ£jbj£jdj¥jf}r•£(jh]ji]jj]jk]jn]ujpK6jr]r–£j{XNThe serial port will not show up on the host PC until the board is powered on.r—£…�r˜£}r™£(jYj�£jZj“£ubaubaubj¡)�rš£}r›£(jYX4. Users can now connect to UART and the on-board XDS100v2 emulator from the host machine. For UART port connections, set the serial terminal software baud rate to 115200 to view the log messages. Connecting to the target using the on-board emulator is discussed in the section below.rœ£jZj@£jbj£jdj¥jf}r�£(jh]ji]jj]jk]jn]ujpK8jqhjr]rž£j{X4. Users can now connect to UART and the on-board XDS100v2 emulator from the host machine. For UART port connections, set the serial terminal software baud rate to 115200 to view the log messages. Connecting to the target using the on-board emulator is discussed in the section below.rŸ£…�r £}r¡£(jYjœ£jZjš£ubaubjB)�r¢£}r££(jYXB.. Image:: ../../../images/Serial_connect.jpg :scale: 50% jZj@£jbj£jdjEjf}r¤£(UscaleK2UuriX'rtos/../../../images/Serial_connect.jpgr¥£jk]jj]jh]ji]jH}r¦£U*j¥£sjn]ujpNjqhjr]ubjB)�r§£}r¨£(jYX<.. Image:: ../../../images/Baudrate.jpg :scale: 50% jZj@£jbj£jdjEjf}r©£(UscaleK2UuriX!rtos/../../../images/Baudrate.jpgrª£jk]jj]jh]ji]jH}r«£U*jª£sjn]ujpNjqhjr]ubeubj[)�r¬£}r­£(jYUjìKjZj£jbj£jdjejf}r®£(jh]r¯£Xboot configurationr°£aji]jj]jk]r±£Uboot-configurationr²£ajn]ujpKEjqhjr]r³£(jt)�r´£}rµ£(jYXBoot Configurationr¶£jZj¬£jbj£jdjxjf}r·£(jh]ji]jj]jk]jn]ujpKEjqhjr]r¸£j{XBoot Configurationr¹£…�rº£}r»£(jYj¶£jZj´£ubaubj¡)�r¼£}r½£(jYXmThe various boot configurations are discussed in the `Hardware User Guide. `__jZj¬£jbj£jdj¥jf}r¾£(jh]ji]jj]jk]jn]ujpKGjqhjr]r¿£(j{X5The various boot configurations are discussed in the rÀ£…�rÁ£}r£(jYX5The various boot configurations are discussed in the jZj¼£ubjÜ)�rã}rÄ£(jYX8`Hardware User Guide. `__jf}rÅ£(UnameXHardware User Guide.jXhttp://www.ti.com/lit/spruip3jk]jj]jh]ji]jn]ujZj¼£jr]rÆ£j{XHardware User Guide.rÇ£…�rÈ£}rÉ£(jYUjZjãubajdjàubeubjZ)�rÊ£}rË£(jYUjZj¬£jbj£jdj]jf}rÌ£(jh]ji]jj]jk]jn]ujpKJjqhjr]rÍ£j`)�rΣ}rÏ£(jYUjcKjZjÊ£jbj£jdjpjf}rУ(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubj[)�rÑ£}rÒ£(jYUjZj£jbj£jdjejf}rÓ£(jh]ji]jj]jk]rÔ£U1connecting-the-am3359-ice-to-code-composer-studiorÕ£ajn]rÖ£h¸aujpKMjqhjr]r×£(jt)�rØ£}rÙ£(jYX1Connecting the AM3359 ICE to Code Composer StudiorÚ£jZjÑ£jbj£jdjxjf}rÛ£(jh]ji]jj]jk]jn]ujpKMjqhjr]rÜ£j{X1Connecting the AM3359 ICE to Code Composer StudiorÝ£…�rÞ£}rߣ(jYjÚ£jZjØ£ubaubj¡)�rà£}rá£(jYXü1. Download Code Composer Studio and the AM335x Sitara Device Support package as described in the `Processor SDK RTOS Getting Started Guide. `__jZjÑ£jbj£jdj¥jf}râ£(jh]ji]jj]jk]jn]ujpKOjqhjr]rã£(j{Xb1. Download Code Composer Studio and the AM335x Sitara Device Support package as described in the r䣅�rå£}ræ£(jYXb1. Download Code Composer Studio and the AM335x Sitara Device Support package as described in the jZjà£ubjÜ)�rç£}rè£(jYXš`Processor SDK RTOS Getting Started Guide. `__jf}ré£(UnameX)Processor SDK RTOS Getting Started Guide.jXjhttp://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_overview.html#code-composer-studiojk]jj]jh]ji]jn]ujZjà£jr]rê£j{X)Processor SDK RTOS Getting Started Guide.r룅�rì£}rí£(jYUjZjç£ubajdjàubeubj¡)�rî£}rï£(jYXF2. Connect the AM3359 ICE as described above in the Quick Start Guide.rð£jZjÑ£jbj£jdj¥jf}rñ£(jh]ji]jj]jk]jn]ujpKSjqhjr]rò£j{XF2. Connect the AM3359 ICE as described above in the Quick Start Guide.ró£…�rô£}rõ£(jYjð£jZjî£ubaubj¡)�rö£}r÷£(jYXÉ3. Launch CCS and create a new target configuration file (File->New->Target Configuration File) as shown below. Select the Texas Instruments XDS100v2 USB Debug Probe and the ICE\_AM3359 as shown below.jZjÑ£jbj£jdj¥jf}rø£(jh]ji]jj]jk]jn]ujpKVjqhjr]rù£j{XÈ3. Launch CCS and create a new target configuration file (File->New->Target Configuration File) as shown below. Select the Texas Instruments XDS100v2 USB Debug Probe and the ICE_AM3359 as shown below.rú£…�rû£}rü£(jYXÉ3. Launch CCS and create a new target configuration file (File->New->Target Configuration File) as shown below. Select the Texas Instruments XDS100v2 USB Debug Probe and the ICE\_AM3359 as shown below.jZjö£ubaubj)�rý£}rþ£(jYX�If the ICE\_AM3359 target is not listed, make sure the latest Sitara Device Support package is installed by going to Help->Check for Updates.rÿ£jZjÑ£jbj£jdjjf}r¤(jh]ji]jj]jk]jn]ujpNjqhjr]r¤j¡)�r¤}r¤(jYjÿ£jZjý£jbj£jdj¥jf}r¤(jh]ji]jj]jk]jn]ujpK[jr]r¤j{XŒIf the ICE_AM3359 target is not listed, make sure the latest Sitara Device Support package is installed by going to Help->Check for Updates.r¤…�r¤}r¤(jYX�If the ICE\_AM3359 target is not listed, make sure the latest Sitara Device Support package is installed by going to Help->Check for Updates.jZj¤ubaubaubjB)�r ¤}r ¤(jYXG.. Image:: ../../../images/ICE3359TargetConfig.png :scale: 50% jZjÑ£jbj£jdjEjf}r ¤(UscaleK2UuriX,rtos/../../../images/ICE3359TargetConfig.pngr ¤jk]jj]jh]ji]jH}r ¤U*j ¤sjn]ujpNjqhjr]ubj¡)�r¤}r¤(jYX¤4. Click Save to save the target configuration. Then press Test Connection to test the connection. If successful, a message should be seen similar to the one below.r¤jZjÑ£jbj£jdj¥jf}r¤(jh]ji]jj]jk]jn]ujpK`jqhjr]r¤j{X¤4. Click Save to save the target configuration. Then press Test Connection to test the connection. If successful, a message should be seen similar to the one below.r¤…�r¤}r¤(jYj¤jZj¤ubaubjB)�r¤}r¤(jYX?.. Image:: ../../../images/ICE3359Test.png :scale: 50% jZjÑ£jbj£jdjEjf}r¤(UscaleK2UuriX$rtos/../../../images/ICE3359Test.pngr¤jk]jj]jh]ji]jH}r¤U*j¤sjn]ujpNjqhjr]ubj¡)�r¤}r¤(jYXD5. Launch the target configuration and connect to the ARM Cortex-A8.r¤jZjÑ£jbj£jdj¥jf}r¤(jh]ji]jj]jk]jn]ujpKgjqhjr]r¤j{XD5. Launch the target configuration and connect to the ARM Cortex-A8.r ¤…�r!¤}r"¤(jYj¤jZj¤ubaubj¡)�r#¤}r$¤(jYX:The complete GEL log from the Cortex A8 is provided below.r%¤jZjÑ£jbj£jdj¥jf}r&¤(jh]ji]jj]jk]jn]ujpKjjqhjr]r'¤j{X:The complete GEL log from the Cortex A8 is provided below.r(¤…�r)¤}r*¤(jYj%¤jZj#¤ubaubj)�r+¤}r,¤(jYX•CortxA8: Output: **** AM3359_ICE Initialization is in progress .......... CortxA8: Output: **** AM335x ALL PLL Config for OPP == OPP100 is in progress ......... CortxA8: Output: Input Clock Read from SYSBOOT[15:14]: 24MHz CortxA8: Output: **** Going to Bypass... CortxA8: Output: **** Bypassed, changing values... CortxA8: Output: **** Locking ARM PLL CortxA8: Output: **** Core Bypassed CortxA8: Output: **** Now locking Core... CortxA8: Output: **** Core locked CortxA8: Output: **** DDR DPLL Bypassed CortxA8: Output: **** DDR DPLL Locked CortxA8: Output: **** PER DPLL Bypassed CortxA8: Output: **** PER DPLL Locked CortxA8: Output: **** DISP PLL Config is in progress .......... CortxA8: Output: **** DISP PLL Config is DONE .......... CortxA8: Output: **** AM335x ALL ADPLL Config for OPP == OPP100 is Done ......... CortxA8: Output: **** AM335x DDR3 EMIF and PHY configuration is in progress... CortxA8: Output: EMIF PRCM is in progress ....... CortxA8: Output: EMIF PRCM Done CortxA8: Output: DDR PHY Configuration in progress CortxA8: Output: Waiting for VTP Ready ....... CortxA8: Output: VTP is Ready! CortxA8: Output: DDR PHY CMD0 Register configuration is in progress ....... CortxA8: Output: DDR PHY CMD1 Register configuration is in progress ....... CortxA8: Output: DDR PHY CMD2 Register configuration is in progress ....... CortxA8: Output: DDR PHY DATA0 Register configuration is in progress ....... CortxA8: Output: DDR PHY DATA1 Register configuration is in progress ....... CortxA8: Output: Setting IO control registers....... CortxA8: Output: EMIF Timing register configuration is in progress ....... CortxA8: Output: EMIF Timing register configuration is done ....... CortxA8: Output: PHY is READY!! CortxA8: Output: DDR PHY Configuration done CortxA8: GEL Output: Turning on EDMA... CortxA8: GEL Output: EDMA is turned on... CortxA8: Output: **** AM3359_ICE Initialization is Done ******************jZjÑ£jbj£jdjjf}r-¤(jöj÷jk]jj]jh]ji]jn]ujpM�(jqhjr]r.¤j{X•CortxA8: Output: **** AM3359_ICE Initialization is in progress .......... CortxA8: Output: **** AM335x ALL PLL Config for OPP == OPP100 is in progress ......... CortxA8: Output: Input Clock Read from SYSBOOT[15:14]: 24MHz CortxA8: Output: **** Going to Bypass... CortxA8: Output: **** Bypassed, changing values... CortxA8: Output: **** Locking ARM PLL CortxA8: Output: **** Core Bypassed CortxA8: Output: **** Now locking Core... CortxA8: Output: **** Core locked CortxA8: Output: **** DDR DPLL Bypassed CortxA8: Output: **** DDR DPLL Locked CortxA8: Output: **** PER DPLL Bypassed CortxA8: Output: **** PER DPLL Locked CortxA8: Output: **** DISP PLL Config is in progress .......... CortxA8: Output: **** DISP PLL Config is DONE .......... CortxA8: Output: **** AM335x ALL ADPLL Config for OPP == OPP100 is Done ......... CortxA8: Output: **** AM335x DDR3 EMIF and PHY configuration is in progress... CortxA8: Output: EMIF PRCM is in progress ....... CortxA8: Output: EMIF PRCM Done CortxA8: Output: DDR PHY Configuration in progress CortxA8: Output: Waiting for VTP Ready ....... CortxA8: Output: VTP is Ready! CortxA8: Output: DDR PHY CMD0 Register configuration is in progress ....... CortxA8: Output: DDR PHY CMD1 Register configuration is in progress ....... CortxA8: Output: DDR PHY CMD2 Register configuration is in progress ....... CortxA8: Output: DDR PHY DATA0 Register configuration is in progress ....... CortxA8: Output: DDR PHY DATA1 Register configuration is in progress ....... CortxA8: Output: Setting IO control registers....... CortxA8: Output: EMIF Timing register configuration is in progress ....... CortxA8: Output: EMIF Timing register configuration is done ....... CortxA8: Output: PHY is READY!! CortxA8: Output: DDR PHY Configuration done CortxA8: GEL Output: Turning on EDMA... CortxA8: GEL Output: EDMA is turned on... CortxA8: Output: **** AM3359_ICE Initialization is Done ******************r/¤…�r0¤}r1¤(jYUjZj+¤ubaubjZ)�r2¤}r3¤(jYUjZjÑ£jbj£jdj]jf}r4¤(jh]ji]jj]jk]jn]ujpK’jqhjr]r5¤j`)�r6¤}r7¤(jYUjcKjZj2¤jbj£jdjpjf}r8¤(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubj[)�r9¤}r:¤(jYUjìKjZj£jbj£jdjejf}r;¤(jh]r<¤Xrunning board diagnosticsr=¤aji]jj]jk]r>¤Urunning-board-diagnosticsr?¤ajn]ujpK•jqhjr]r@¤(jt)�rA¤}rB¤(jYXRunning Board DiagnosticsrC¤jZj9¤jbj£jdjxjf}rD¤(jh]ji]jj]jk]jn]ujpK•jqhjr]rE¤j{XRunning Board DiagnosticsrF¤…�rG¤}rH¤(jYjC¤jZjA¤ubaubj¡)�rI¤}rJ¤(jYX¤The Processor SDK RTOS Diagnostic package is designed to be a set of baremetal tests to run on a given board to provide data path continuity testing on peripherals.rK¤jZj9¤jbj£jdj¥jf}rL¤(jh]ji]jj]jk]jn]ujpK—jqhjr]rM¤j{X¤The Processor SDK RTOS Diagnostic package is designed to be a set of baremetal tests to run on a given board to provide data path continuity testing on peripherals.rN¤…�rO¤}rP¤(jYjK¤jZjI¤ubaubj¡)�rQ¤}rR¤(jYXÞTo run diagnostics on the AM335x ICE, follow the procedure given in the `RTOS Software Developer Guide `__jZj9¤jbj£jdj¥jf}rS¤(jh]ji]jj]jk]jn]ujpK›jqhjr]rT¤(j{XHTo run diagnostics on the AM335x ICE, follow the procedure given in the rU¤…�rV¤}rW¤(jYXHTo run diagnostics on the AM335x ICE, follow the procedure given in the jZjQ¤ubjÜ)�rX¤}rY¤(jYX–`RTOS Software Developer Guide `__jf}rZ¤(UnameXRTOS Software Developer GuidejXrhttp://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_board.html#running-the-diagnostic-examplesjk]jj]jh]ji]jn]ujZjQ¤jr]r[¤j{XRTOS Software Developer Guider\¤…�r]¤}r^¤(jYUjZjX¤ubajdjàubeubjî)�r_¤}r`¤(jYXAMIC110 ICE EVM Hardware SetupjZj9¤jbjcjdjôjf}ra¤(jöj÷jk]jj]jh]ji]jn]ujpK˜jqhjr]rb¤j{XAMIC110 ICE EVM Hardware Setuprc¤…�rd¤}re¤(jYUjZj_¤ubaubjî)�rf¤}rg¤(jYX4====================================================jZj9¤jbjcjdjôjf}rh¤(jöj÷jk]jj]jh]ji]jn]ujpK™jqhjr]ri¤j{X4====================================================rj¤…�rk¤}rl¤(jYUjZjf¤ubaubeubeubj[)�rm¤}rn¤(jYUjZjR\jbj�XGsource/common/EVM_Hardware_Setup/ICE_AMIC110_EVM_Hardware_Setup.rst.incro¤…�rp¤}rq¤bjdjejf}rr¤(jh]ji]jj]jk]rs¤Uamic110-ice-evm-hardware-setuprt¤ajn]ru¤hoaujpKjqhjr]rv¤(jt)�rw¤}rx¤(jYXAMIC110 ICE EVM Hardware Setupry¤jZjm¤jbjp¤jdjxjf}rz¤(jh]ji]jj]jk]jn]ujpKjqhjr]r{¤j{XAMIC110 ICE EVM Hardware Setupr|¤…�r}¤}r~¤(jYjy¤jZjw¤ubaubj[)�r¤}r€¤(jYUjìKjZjm¤jbjp¤jdjejf}r�¤(jh]r‚¤X descriptionrƒ¤aji]jj]jk]r„¤Uid82r…¤ajn]ujpKjqhjr]r†¤(jt)�r‡¤}rˆ¤(jYX Descriptionr‰¤jZj¤jbjp¤jdjxjf}rФ(jh]ji]jj]jk]jn]ujpKjqhjr]r‹¤j{X DescriptionrŒ¤…�r�¤}rޤ(jYj‰¤jZj‡¤ubaubj¡)�r�¤}r�¤(jYXÙThe AMIC110 ICE is a high-performance, low-power platform that enables users to evaluate and develop industrial communications applications for the Sitara AMIC110 ARM Cortex-A8 processor SoC from Texas Instruments.â„¢r‘¤jZj¤jbjp¤jdj¥jf}r’¤(jh]ji]jj]jk]jn]ujpKjqhjr]r“¤j{XÙThe AMIC110 ICE is a high-performance, low-power platform that enables users to evaluate and develop industrial communications applications for the Sitara AMIC110 ARM Cortex-A8 processor SoC from Texas Instruments.â„¢r”¤…�r•¤}r–¤(jYj‘¤jZj�¤ubaubeubj[)�r—¤}r˜¤(jYUjìKjZjm¤jbjp¤jdjejf}r™¤(jh]rš¤Xevm layout and key componentsr›¤aji]jj]jk]rœ¤Uid83r�¤ajn]ujpK jqhjr]rž¤(jt)�rŸ¤}r ¤(jYXEVM Layout and Key Componentsr¡¤jZj—¤jbjp¤jdjxjf}r¢¤(jh]ji]jj]jk]jn]ujpK jqhjr]r£¤j{XEVM Layout and Key Componentsr¤¤…�r¥¤}r¦¤(jYj¡¤jZjŸ¤ubaubjB)�r§¤}r¨¤(jYXG.. Image:: ../../../images/ICEAMIC110TopLayout.PNG :scale: 50% jZj—¤jbjp¤jdjEjf}r©¤(UscaleK2UuriX,rtos/../../../images/ICEAMIC110TopLayout.PNGrª¤jk]jj]jh]ji]jH}r«¤U*jª¤sjn]ujpNjqhjr]ubjB)�r¬¤}r­¤(jYXJ.. Image:: ../../../images/ICEAMIC110BottomLayout.PNG :scale: 50% jZj—¤jbjp¤jdjEjf}r®¤(UscaleK2UuriX/rtos/../../../images/ICEAMIC110BottomLayout.PNGr¯¤jk]jj]jh]ji]jH}r°¤U*j¯¤sjn]ujpNjqhjr]ubeubj[)�r±¤}r²¤(jYUjìKjZjm¤jbjp¤jdjejf}r³¤(jh]r´¤jD£aji]jj]jk]rµ¤Uid84r¶¤ajn]ujpKjqhjr]r·¤(jt)�r¸¤}r¹¤(jYXQuick Start Guiderº¤jZj±¤jbjp¤jdjxjf}r»¤(jh]ji]jj]jk]jn]ujpKjqhjr]r¼¤j{XQuick Start Guider½¤…�r¾¤}r¿¤(jYjº¤jZj¸¤ubaubj¡)�rÀ¤}rÁ¤(jYXeThis quick start guide can be found in the `Hardware User's Guide `_.jZj±¤jbjp¤jdj¥jf}r¤(jh]ji]jj]jk]jn]ujpKjqhjr]rä(j{X+This quick start guide can be found in the rĤ…�rŤ}rƤ(jYX+This quick start guide can be found in the jZjÀ¤ubjÜ)�rǤ}rȤ(jYX9`Hardware User's Guide `_jf}rɤ(UnameXHardware User's GuidejXhttp://www.ti.com/lit/spruie6arʤjk]jj]jh]ji]jn]ujZjÀ¤jr]rˤj{XHardware User's Guider̤…�rͤ}rΤ(jYUjZjǤubajdjàubj–)�rϤ}rФ(jYX! jìKjZjÀ¤jdj™jf}rѤ(Urefurijʤjk]rÒ¤Uhardware-user-s-guiderÓ¤ajj]jh]ji]jn]rÔ¤jNaujr]ubj{X.…�rÕ¤}rÖ¤(jYX.jZjÀ¤ubeubj¡)�rפ}rؤ(jYXR1. Unbox the board and identify the various components and connectors shown above.rÙ¤jZj±¤jbjp¤jdj¥jf}rÚ¤(jh]ji]jj]jk]jn]ujpKjqhjr]rÛ¤j{XR1. Unbox the board and identify the various components and connectors shown above.rܤ…�rݤ}rÞ¤(jYjÙ¤jZjפubaubj¡)�rߤ}rà¤(jYX�2. To download a bootable image into the onboard SPI Flash, connect a 20-pin JTAG emulator to J1 on the ICE board. For example, the XDS110 or the XDS200 emulators may be used for this purpose and can be purchased from the TI store: `XDS200 `__ and `XDS110 `__.jZj±¤jbjp¤jdj¥jf}rá¤(jh]ji]jj]jk]jn]ujpKjqhjr]râ¤(j{Xè2. To download a bootable image into the onboard SPI Flash, connect a 20-pin JTAG emulator to J1 on the ICE board. For example, the XDS110 or the XDS200 emulators may be used for this purpose and can be purchased from the TI store: r㤅�rä¤}rå¤(jYXè2. To download a bootable image into the onboard SPI Flash, connect a 20-pin JTAG emulator to J1 on the ICE board. For example, the XDS110 or the XDS200 emulators may be used for this purpose and can be purchased from the TI store: jZjߤubjÜ)�ræ¤}rç¤(jYXP`XDS200 `__jf}rè¤(UnameXXDS200jXChttps://store.ti.com/TMDSEMU200-U-XDS200-USB-Debug-Probe-P4281.aspxjk]jj]jh]ji]jn]ujZjߤjr]ré¤j{XXDS200r꤅�rë¤}rì¤(jYUjZjæ¤ubajdjàubj{X and rí¤…�rî¤}rï¤(jYX and jZjߤubjÜ)�rð¤}rñ¤(jYXR`XDS110 `__jf}rò¤(UnameXXDS110jXEhttps://store.ti.com/TMDSEMU110-U-XDS110-JTAG-Debug-Probe-P51766.aspxjk]jj]jh]ji]jn]ujZjߤjr]ró¤j{XXDS110rô¤…�rõ¤}rö¤(jYUjZjð¤ubajdjàubj{X.…�r÷¤}rø¤(jYX.jZjߤubeubjB)�rù¤}rú¤(jYXB.. Image:: ../../../images/ICEAMIC110JTAG.PNG :scale: 50% jZj±¤jbjp¤jdjEjf}rû¤(UscaleK2UuriX'rtos/../../../images/ICEAMIC110JTAG.PNGrü¤jk]jj]jh]ji]jH}rý¤U*jü¤sjn]ujpNjqhjr]ubj¡)�rþ¤}rÿ¤(jYX»3. Connect the pin header connector of the included TTL-232R-3V3 serial cable to J3 on the ICE board. Ensure that pin 1 of the serial cable (black wire, marked with a triangle) is connected to pin 1 of J3, which is indicated by a dot on the silk screen. Connect the USB connector of the serial cable to a PC host port. The datasheet for this cable can found at http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_TTL-232R_CABLES.pdfjZj±¤jbjp¤jdj¥jf}r¥(jh]ji]jj]jk]jn]ujpK&jqhjr]r¥(j{Xi3. Connect the pin header connector of the included TTL-232R-3V3 serial cable to J3 on the ICE board. Ensure that pin 1 of the serial cable (black wire, marked with a triangle) is connected to pin 1 of J3, which is indicated by a dot on the silk screen. Connect the USB connector of the serial cable to a PC host port. The datasheet for this cable can found at r¥…�r¥}r¥(jYXi3. Connect the pin header connector of the included TTL-232R-3V3 serial cable to J3 on the ICE board. Ensure that pin 1 of the serial cable (black wire, marked with a triangle) is connected to pin 1 of J3, which is indicated by a dot on the silk screen. Connect the USB connector of the serial cable to a PC host port. The datasheet for this cable can found at jZjþ¤ubjÜ)�r¥}r¥(jYXRhttp://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_TTL-232R_CABLES.pdfr¥jf}r¥(Urefurij¥jk]jj]jh]ji]jn]ujZjþ¤jr]r ¥j{XRhttp://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_TTL-232R_CABLES.pdfr ¥…�r ¥}r ¥(jYUjZj¥ubajdjàubeubjB)�r ¥}r¥(jYXA.. Image:: ../../../images/ICEAMIC110TTL.PNG :scale: 50% jZj±¤jbjp¤jdjEjf}r¥(UscaleK2UuriX&rtos/../../../images/ICEAMIC110TTL.PNGr¥jk]jj]jh]ji]jH}r¥U*j¥sjn]ujpNjqhjr]ubj¡)�r¥}r¥(jYX.4. Connect a CAT5 Ethernet cable from a PC running TwinCAT software to ECAT IN/PHY1 (J6) of the ICE board. If you have multiple ICE boards in a chain, please connect another CAT5 Ethernet cable from ECAT OUT/PHY2 (J7) to PHY1 of the next ICE board. PHY2 of the last ICE board in the chain is left open.r¥jZj±¤jbjp¤jdj¥jf}r¥(jh]ji]jj]jk]jn]ujpK,jqhjr]r¥j{X.4. Connect a CAT5 Ethernet cable from a PC running TwinCAT software to ECAT IN/PHY1 (J6) of the ICE board. If you have multiple ICE boards in a chain, please connect another CAT5 Ethernet cable from ECAT OUT/PHY2 (J7) to PHY1 of the next ICE board. PHY2 of the last ICE board in the chain is left open.r¥…�r¥}r¥(jYj¥jZj¥ubaubjB)�r¥}r¥(jYXF.. Image:: ../../../images/ICEAMIC110ETHERNET.PNG :scale: 50% jZj±¤jbjp¤jdjEjf}r¥(UscaleK2UuriX+rtos/../../../images/ICEAMIC110ETHERNET.PNGr¥jk]jj]jh]ji]jH}r¥U*j¥sjn]ujpNjqhjr]ubj¡)�r¥}r ¥(jYX¿5. Connect the recommended power supply (CUI Inc. SMI18-5-V-P5, procurable at: http://www.digikey.com/product-detail/en/cui-inc/SMI18-5-V-P5/102-3571-ND/5415042) or equivalent (Output voltage/current: 5 Volts DC +/- 10% @ 1.2 Amps; Output connector: 2.1-mm ID, 5.5-mm OD barrel plug, center positive) power supply to J8 on the ICE board. Apply power to the power supply to power up the ICE board. Do not hot plug the 5-V supply into the ICE board.jZj±¤jbjp¤jdj¥jf}r!¥(jh]ji]jj]jk]jn]ujpK2jqhjr]r"¥(j{XO5. Connect the recommended power supply (CUI Inc. SMI18-5-V-P5, procurable at: r#¥…�r$¥}r%¥(jYXO5. Connect the recommended power supply (CUI Inc. SMI18-5-V-P5, procurable at: jZj¥ubjÜ)�r&¥}r'¥(jYXQhttp://www.digikey.com/product-detail/en/cui-inc/SMI18-5-V-P5/102-3571-ND/5415042r(¥jf}r)¥(Urefurij(¥jk]jj]jh]ji]jn]ujZj¥jr]r*¥j{XQhttp://www.digikey.com/product-detail/en/cui-inc/SMI18-5-V-P5/102-3571-ND/5415042r+¥…�r,¥}r-¥(jYUjZj&¥ubajdjàubj{X) or equivalent (Output voltage/current: 5 Volts DC +/- 10% @ 1.2 Amps; Output connector: 2.1-mm ID, 5.5-mm OD barrel plug, center positive) power supply to J8 on the ICE board. Apply power to the power supply to power up the ICE board. Do not hot plug the 5-V supply into the ICE board.r.¥…�r/¥}r0¥(jYX) or equivalent (Output voltage/current: 5 Volts DC +/- 10% @ 1.2 Amps; Output connector: 2.1-mm ID, 5.5-mm OD barrel plug, center positive) power supply to J8 on the ICE board. Apply power to the power supply to power up the ICE board. Do not hot plug the 5-V supply into the ICE board.jZj¥ubeubjB)�r1¥}r2¥(jYX@.. Image:: ../../../images/ICEAMIC1105V.PNG :scale: 50% jZj±¤jbjp¤jdjEjf}r3¥(UscaleK2UuriX%rtos/../../../images/ICEAMIC1105V.PNGr4¥jk]jj]jh]ji]jH}r5¥U*j4¥sjn]ujpNjqhjr]ubj¡)�r6¥}r7¥(jYXOOnce the ICE board is powered on, the ON LED (D15) and LED4 (D19) will turn on.r8¥jZj±¤jbjp¤jdj¥jf}r9¥(jh]ji]jj]jk]jn]ujpK8jqhjr]r:¥j{XOOnce the ICE board is powered on, the ON LED (D15) and LED4 (D19) will turn on.r;¥…�r<¥}r=¥(jYj8¥jZj6¥ubaubj¡)�r>¥}r?¥(jYXz6. The AMIC110 ICE can now be connected to from the host machine via UART. The serial port should be setup as shown below.r@¥jZj±¤jbjp¤jdj¥jf}rA¥(jh]ji]jj]jk]jn]ujpK;jqhjr]rB¥j{Xz6. The AMIC110 ICE can now be connected to from the host machine via UART. The serial port should be setup as shown below.rC¥…�rD¥}rE¥(jYj@¥jZj>¥ubaubjB)�rF¥}rG¥(jYX<.. Image:: ../../../images/Baudrate.jpg :scale: 50% jZj±¤jbjp¤jdjEjf}rH¥(UscaleK2UuriX!rtos/../../../images/Baudrate.jpgrI¥jk]jj]jh]ji]jH}rJ¥U*jI¥sjn]ujpNjqhjr]ubeubj[)�rK¥}rL¥(jYUjìKjZjm¤jbjp¤jdjejf}rM¥(jh]rN¥j°£aji]jj]jk]rO¥Uid85rP¥ajn]ujpKBjqhjr]rQ¥(jt)�rR¥}rS¥(jYXBoot ConfigurationrT¥jZjK¥jbjp¤jdjxjf}rU¥(jh]ji]jj]jk]jn]ujpKBjqhjr]rV¥j{XBoot ConfigurationrW¥…�rX¥}rY¥(jYjT¥jZjR¥ubaubj¡)�rZ¥}r[¥(jYXmThe various boot configurations are discussed in the `Hardware User Guide. `__jZjK¥jbjp¤jdj¥jf}r\¥(jh]ji]jj]jk]jn]ujpKDjqhjr]r]¥(j{X5The various boot configurations are discussed in the r^¥…�r_¥}r`¥(jYX5The various boot configurations are discussed in the jZjZ¥ubjÜ)�ra¥}rb¥(jYX8`Hardware User Guide. `__jf}rc¥(UnameXHardware User Guide.jXhttp://www.ti.com/lit/spruip3jk]jj]jh]ji]jn]ujZjZ¥jr]rd¥j{XHardware User Guide.re¥…�rf¥}rg¥(jYUjZja¥ubajdjàubeubeubj[)�rh¥}ri¥(jYUjZjm¤jbjp¤jdjejf}rj¥(jh]ji]jj]jk]rk¥U2connecting-the-amic110-ice-to-code-composer-studiorl¥ajn]rm¥h%aujpKHjqhjr]rn¥(jt)�ro¥}rp¥(jYX2Connecting the AMIC110 ICE to Code Composer Studiorq¥jZjh¥jbjp¤jdjxjf}rr¥(jh]ji]jj]jk]jn]ujpKHjqhjr]rs¥j{X2Connecting the AMIC110 ICE to Code Composer Studiort¥…�ru¥}rv¥(jYjq¥jZjo¥ubaubj¡)�rw¥}rx¥(jYX 1. Download Code Composer Studio and the AMIC110 Sitara Device Support package as described in the `Processor SDK RTOS Getting Started Guide `_.jZjh¥jbjp¤jdj¥jf}ry¥(jh]ji]jj]jk]jn]ujpKJjqhjr]rz¥(j{Xc1. Download Code Composer Studio and the AMIC110 Sitara Device Support package as described in the r{¥…�r|¥}r}¥(jYXc1. Download Code Composer Studio and the AMIC110 Sitara Device Support package as described in the jZjw¥ubjÜ)�r~¥}r¥(jYX¦`Processor SDK RTOS Getting Started Guide `_jf}r€¥(UnameX(Processor SDK RTOS Getting Started GuidejXxhttp://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/Overview.html#processor-sdk-rtos-getting-started-guider�¥jk]jj]jh]ji]jn]ujZjw¥jr]r‚¥j{X(Processor SDK RTOS Getting Started Guiderƒ¥…�r„¥}r…¥(jYUjZj~¥ubajdjàubj–)�r†¥}r‡¥(jYX{ jìKjZjw¥jdj™jf}rˆ¥(Urefurij�¥jk]r‰¥U(processor-sdk-rtos-getting-started-guiderŠ¥ajj]jh]ji]jn]r‹¥hÂaujr]ubj{X.…�rŒ¥}r�¥(jYX.jZjw¥ubeubj¡)�rŽ¥}r�¥(jYXA2. Connect the AMIC110 ICE as described in the Quick Start Guide.r�¥jZjh¥jbjp¤jdj¥jf}r‘¥(jh]ji]jj]jk]jn]ujpKMjqhjr]r’¥j{XA2. Connect the AMIC110 ICE as described in the Quick Start Guide.r“¥…�r”¥}r•¥(jYj�¥jZjŽ¥ubaubj¡)�r–¥}r—¥(jYXÂ3. Launch CCS and create a new target configuration file (File->New->Target Configuration File) as shown below. Select the appropriate emulator and the ICE\_AMIC110 as the target as shown below.jZjh¥jbjp¤jdj¥jf}r˜¥(jh]ji]jj]jk]jn]ujpKPjqhjr]r™¥j{XÁ3. Launch CCS and create a new target configuration file (File->New->Target Configuration File) as shown below. Select the appropriate emulator and the ICE_AMIC110 as the target as shown below.rš¥…�r›¥}rœ¥(jYXÂ3. Launch CCS and create a new target configuration file (File->New->Target Configuration File) as shown below. Select the appropriate emulator and the ICE\_AMIC110 as the target as shown below.jZj–¥ubaubj)�r�¥}rž¥(jYXuIf the ICE\_AMIC110 target is not listed, make sure the Sitara Device Support package v1.3.6 or greater is installed.rŸ¥jZjh¥jbjp¤jdjjf}r ¥(jh]ji]jj]jk]jn]ujpNjqhjr]r¡¥j¡)�r¢¥}r£¥(jYjŸ¥jZj�¥jbjp¤jdj¥jf}r¤¥(jh]ji]jj]jk]jn]ujpKTjr]r¥¥j{XtIf the ICE_AMIC110 target is not listed, make sure the Sitara Device Support package v1.3.6 or greater is installed.r¦¥…�r§¥}r¨¥(jYXuIf the ICE\_AMIC110 target is not listed, make sure the Sitara Device Support package v1.3.6 or greater is installed.jZj¢¥ubaubaubjB)�r©¥}rª¥(jYXJ.. Image:: ../../../images/ICEAMIC110TargetConfig.PNG :scale: 50% jZjh¥jbjp¤jdjEjf}r«¥(UscaleK2UuriX/rtos/../../../images/ICEAMIC110TargetConfig.PNGr¬¥jk]jj]jh]ji]jH}r­¥U*j¬¥sjn]ujpNjqhjr]ubj¡)�r®¥}r¯¥(jYX¤4. Click Save to save the target configuration. Then press Test Connection to test the connection. If successful, a message should be seen similar to the one below.r°¥jZjh¥jbjp¤jdj¥jf}r±¥(jh]ji]jj]jk]jn]ujpKYjqhjr]r²¥j{X¤4. Click Save to save the target configuration. Then press Test Connection to test the connection. If successful, a message should be seen similar to the one below.r³¥…�r´¥}rµ¥(jYj°¥jZj®¥ubaubjB)�r¶¥}r·¥(jYXB.. Image:: ../../../images/ICEAMIC110Test.PNG :scale: 50% jZjh¥jbjp¤jdjEjf}r¸¥(UscaleK2UuriX'rtos/../../../images/ICEAMIC110Test.PNGr¹¥jk]jj]jh]ji]jH}rº¥U*j¹¥sjn]ujpNjqhjr]ubj¡)�r»¥}r¼¥(jYXD5. Launch the target configuration and connect to the ARM Cortex-A8.r½¥jZjh¥jbjp¤jdj¥jf}r¾¥(jh]ji]jj]jk]jn]ujpK_jqhjr]r¿¥j{XD5. Launch the target configuration and connect to the ARM Cortex-A8.rÀ¥…�rÁ¥}rÂ¥(jYj½¥jZj»¥ubaubj¡)�rÃ¥}rÄ¥(jYX:The complete GEL log from the Cortex A8 is provided below.rÅ¥jZjh¥jbjp¤jdj¥jf}rÆ¥(jh]ji]jj]jk]jn]ujpKbjqhjr]rÇ¥j{X:The complete GEL log from the Cortex A8 is provided below.rÈ¥…�rÉ¥}rÊ¥(jYjÅ¥jZjÃ¥ubaubj)�rË¥}rÌ¥(jYXËCortxA8: Output: **** AMIC110_ICE & BoosterPack Initialization is in progress ...... CortxA8: Output: **** AMIC110 & Booster Pack ALL PLL Config for OPP == OPP100 is in progress ........ CortxA8: Output: Input Clock Read from SYSBOOT[15:14]: 25MHz CortxA8: Output: **** Going to Bypass... CortxA8: Output: **** Bypassed, changing values... CortxA8: Output: **** Locking ARM PLL CortxA8: Output: **** Core Bypassed CortxA8: Output: **** Now locking Core... CortxA8: Output: **** Core locked CortxA8: Output: **** DDR DPLL Bypassed CortxA8: Output: **** DDR DPLL Locked CortxA8: Output: **** PER DPLL Bypassed CortxA8: Output: **** PER DPLL Locked CortxA8: Output: **** DISP PLL Config is in progress .......... CortxA8: Output: **** DISP PLL Config is DONE .......... CortxA8: Output: **** AMIC110 BoosterPack ALL ADPLL Config for 25 MHz OPP == OPP100 25MHz is Done ......... CortxA8: Output: **** AMIC110 DDR3 EMIF and PHY configuration is in progress... CortxA8: Output: EMIF PRCM is in progress ....... CortxA8: Output: EMIF PRCM Done CortxA8: Output: DDR PHY Configuration in progress CortxA8: Output: Waiting for VTP Ready ....... CortxA8: Output: VTP is Ready! CortxA8: Output: DDR PHY CMD0 Register configuration is in progress ....... CortxA8: Output: DDR PHY CMD1 Register configuration is in progress ....... CortxA8: Output: DDR PHY CMD2 Register configuration is in progress ....... CortxA8: Output: DDR PHY DATA0 Register configuration is in progress ....... CortxA8: Output: DDR PHY DATA1 Register configuration is in progress ....... CortxA8: Output: Setting IO control registers....... CortxA8: Output: EMIF Timing register configuration is in progress ....... CortxA8: Output: EMIF Timing register configuration is done ....... CortxA8: Output: PHY is READY!! CortxA8: Output: DDR PHY Configuration done CortxA8: GEL Output: Turning on EDMA... CortxA8: GEL Output: EDMA is turned on... CortxA8: Output: **** AMIC110_ICE Initialization is Done ******************jZjh¥jbjp¤jdjjf}rÍ¥(jöj÷jk]jj]jh]ji]jn]ujpM,)jqhjr]rÎ¥j{XËCortxA8: Output: **** AMIC110_ICE & BoosterPack Initialization is in progress ...... CortxA8: Output: **** AMIC110 & Booster Pack ALL PLL Config for OPP == OPP100 is in progress ........ CortxA8: Output: Input Clock Read from SYSBOOT[15:14]: 25MHz CortxA8: Output: **** Going to Bypass... CortxA8: Output: **** Bypassed, changing values... CortxA8: Output: **** Locking ARM PLL CortxA8: Output: **** Core Bypassed CortxA8: Output: **** Now locking Core... CortxA8: Output: **** Core locked CortxA8: Output: **** DDR DPLL Bypassed CortxA8: Output: **** DDR DPLL Locked CortxA8: Output: **** PER DPLL Bypassed CortxA8: Output: **** PER DPLL Locked CortxA8: Output: **** DISP PLL Config is in progress .......... CortxA8: Output: **** DISP PLL Config is DONE .......... CortxA8: Output: **** AMIC110 BoosterPack ALL ADPLL Config for 25 MHz OPP == OPP100 25MHz is Done ......... CortxA8: Output: **** AMIC110 DDR3 EMIF and PHY configuration is in progress... CortxA8: Output: EMIF PRCM is in progress ....... CortxA8: Output: EMIF PRCM Done CortxA8: Output: DDR PHY Configuration in progress CortxA8: Output: Waiting for VTP Ready ....... CortxA8: Output: VTP is Ready! CortxA8: Output: DDR PHY CMD0 Register configuration is in progress ....... CortxA8: Output: DDR PHY CMD1 Register configuration is in progress ....... CortxA8: Output: DDR PHY CMD2 Register configuration is in progress ....... CortxA8: Output: DDR PHY DATA0 Register configuration is in progress ....... CortxA8: Output: DDR PHY DATA1 Register configuration is in progress ....... CortxA8: Output: Setting IO control registers....... CortxA8: Output: EMIF Timing register configuration is in progress ....... CortxA8: Output: EMIF Timing register configuration is done ....... CortxA8: Output: PHY is READY!! CortxA8: Output: DDR PHY Configuration done CortxA8: GEL Output: Turning on EDMA... CortxA8: GEL Output: EDMA is turned on... CortxA8: Output: **** AMIC110_ICE Initialization is Done ******************rÏ¥…�rÐ¥}rÑ¥(jYUjZjË¥ubaubeubj[)�rÒ¥}rÓ¥(jYUjìKjZjm¤jbjp¤jdjejf}rÔ¥(jh]rÕ¥j=¤aji]jj]jk]rÖ¥Uid86r×¥ajn]ujpK‹jqhjr]rØ¥(jt)�rÙ¥}rÚ¥(jYXRunning Board DiagnosticsrÛ¥jZjÒ¥jbjp¤jdjxjf}rÜ¥(jh]ji]jj]jk]jn]ujpK‹jqhjr]rÝ¥j{XRunning Board DiagnosticsrÞ¥…�rߥ}rà¥(jYjÛ¥jZjÙ¥ubaubj¡)�rá¥}râ¥(jYX¤The Processor SDK RTOS Diagnostic package is designed to be a set of baremetal tests to run on a given board to provide data path continuity testing on peripherals.rã¥jZjÒ¥jbjp¤jdj¥jf}rä¥(jh]ji]jj]jk]jn]ujpK�jqhjr]rå¥j{X¤The Processor SDK RTOS Diagnostic package is designed to be a set of baremetal tests to run on a given board to provide data path continuity testing on peripherals.r楅�rç¥}rè¥(jYjã¥jZjá¥ubaubj¡)�ré¥}rê¥(jYXËTo run diagnostics on the AMIC110 ICE, follow the procedure given in the `RTOS Software Developer Guide `__jZjÒ¥jbjp¤jdj¥jf}rë¥(jh]ji]jj]jk]jn]ujpK‘jqhjr]rì¥(j{XITo run diagnostics on the AMIC110 ICE, follow the procedure given in the rí¥…�rî¥}rï¥(jYXITo run diagnostics on the AMIC110 ICE, follow the procedure given in the jZjé¥ubjÜ)�rð¥}rñ¥(jYX‚`RTOS Software Developer Guide `__jf}rò¥(UnameXRTOS Software Developer GuidejX^http://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_board.html#diagnosticsjk]jj]jh]ji]jn]ujZjé¥jr]ró¥j{XRTOS Software Developer Guiderô¥…�rõ¥}rö¥(jYUjZjð¥ubajdjàubeubeubeubj[)�r÷¥}rø¥(jYUjZjR\jbjcjdjejf}rù¥(jh]ji]jj]jk]rú¥Uak2g-audio-dc-addonrû¥ajn]rü¥jaujpKžjqhjr]rý¥(jt)�rþ¥}rÿ¥(jYX66AK2G Audio DC AddOnr¦jZj÷¥jbjcjdjxjf}r¦(jh]ji]jj]jk]jn]ujpKžjqhjr]r¦j{X66AK2G Audio DC AddOnr¦…�r¦}r¦(jYj¦jZjþ¥ubaubj¡)�r¦}r¦(jYXUPlease refer to `K2G Audio DC AddOn `__jZj÷¥jbjcjdj¥jf}r¦(jh]ji]jj]jk]jn]ujpK jqhjr]r ¦(j{XPlease refer to r ¦…�r ¦}r ¦(jYXPlease refer to jZj¦ubjÜ)�r ¦}r¦(jYXE`K2G Audio DC AddOn `__jf}r¦(UnameXK2G Audio DC AddOnjX,index_examples_demos.html#k2g-audio-dc-addonjk]jj]jh]ji]jn]ujZj¦jr]r¦j{XK2G Audio DC AddOnr¦…�r¦}r¦(jYUjZj ¦ubajdjàubeubeubeubjbj�XCsource/common/EVM_Hardware_Setup/TMDX654_EVM_Hardware_Setup.rst.incr¦…�r¦}r¦bjdjejf}r¦(jh]ji]jj]jk]r¦U am65x-evmr¦ajn]r¦hdaujpKjqhjr]r¦(jt)�r¦}r¦(jYX AM65x EVMr¦jZjP\jbj¦jdjxjf}r¦(jh]ji]jj]jk]jn]ujpKjqhjr]r ¦j{X AM65x EVMr!¦…�r"¦}r#¦(jYj¦jZj¦ubaubjN\j[)�r$¦}r%¦(jYUjZjP\jbj¦jdjejf}r&¦(jh]ji]jj]jk]r'¦U1minimum-hardware-setup-required-to-connect-to-evmr(¦ajn]r)¦hQaujpK¥jqhjr]r*¦(jt)�r+¦}r,¦(jYX1Minimum Hardware Setup Required to Connect to EVMr-¦jZj$¦jbj¦jdjxjf}r.¦(jh]ji]jj]jk]jn]ujpK¥jqhjr]r/¦j{X1Minimum Hardware Setup Required to Connect to EVMr0¦…�r1¦}r2¦(jYj-¦jZj+¦ubaubj=)�r3¦}r4¦(jYUjZj$¦jbNjdj@jf}r5¦(jh]ji]jj]jk]jn]ujpNjqhjr]r6¦j%)�r7¦}r8¦(jYUjf}r9¦(j*U.jk]jj]jh]j+Uji]jn]j,j-ujZj3¦jr]r:¦(j/)�r;¦}r<¦(jYXTConnect micro USB cable to J23 and connect USB to Host PC on which CCS is installed.r=¦jf}r>¦(jh]ji]jj]jk]jn]ujZj7¦jr]r?¦j¡)�r@¦}rA¦(jYj=¦jZj;¦jbj¦jdj¥jf}rB¦(jh]ji]jj]jk]jn]ujpK§jr]rC¦j{XTConnect micro USB cable to J23 and connect USB to Host PC on which CCS is installed.rD¦…�rE¦}rF¦(jYj=¦jZj@¦ubaubajdj2ubj/)�rG¦}rH¦(jYX2Connect micro USB cable to J42 for UART serial IO.rI¦jf}rJ¦(jh]ji]jj]jk]jn]ujZj7¦jr]rK¦j¡)�rL¦}rM¦(jYjI¦jZjG¦jbj¦jdj¥jf}rN¦(jh]ji]jj]jk]jn]ujpK¨jr]rO¦j{X2Connect micro USB cable to J42 for UART serial IO.rP¦…�rQ¦}rR¦(jYjI¦jZjL¦ubaubajdj2ubj/)�rS¦}rT¦(jYXYSet boot switches to "Sleep Boot" or "SD Boot" as described in the BOOT Switches section.rU¦jf}rV¦(jh]ji]jj]jk]jn]ujZj7¦jr]rW¦j¡)�rX¦}rY¦(jYjU¦jZjS¦jbj¦jdj¥jf}rZ¦(jh]ji]jj]jk]jn]ujpK©jr]r[¦j{XYSet boot switches to "Sleep Boot" or "SD Boot" as described in the BOOT Switches section.r\¦…�r]¦}r^¦(jYjU¦jZjX¦ubaubajdj2ubj/)�r_¦}r`¦(jYX1Connect power supply to DC jack and power on EVM.ra¦jf}rb¦(jh]ji]jj]jk]jn]ujZj7¦jr]rc¦j¡)�rd¦}re¦(jYja¦jZj_¦jbj¦jdj¥jf}rf¦(jh]ji]jj]jk]jn]ujpKªjr]rg¦j{X1Connect power supply to DC jack and power on EVM.rh¦…�ri¦}rj¦(jYja¦jZjd¦ubaubajdj2ubj/)�rk¦}rl¦(jYX-Set switches and jumpers as indicated below. jf}rm¦(jh]ji]jj]jk]jn]ujZj7¦jr]rn¦j¡)�ro¦}rp¦(jYX,Set switches and jumpers as indicated below.rq¦jZjk¦jbj¦jdj¥jf}rr¦(jh]ji]jj]jk]jn]ujpK«jr]rs¦j{X,Set switches and jumpers as indicated below.rt¦…�ru¦}rv¦(jYjq¦jZjo¦ubaubajdj2ubejdj(ubaubj )�rw¦}rx¦(jYUjZj$¦jbNjdj3 jf}ry¦(jh]ji]jj]jk]jn]ujpNjqhjr]rz¦(j )�r{¦}r|¦(jYXD**Boot Settings** * SW2 - All switches OFF * SW3 - All switches OFF jZjw¦jbj¦jdj jf}r}¦(jh]ji]jj]jk]jn]ujpK¯jr]r~¦(j )�r¦}r€¦(jYX**Boot Settings**r�¦jZj{¦jbj¦jdj jf}r‚¦(jh]ji]jj]jk]jn]ujpK¯jr]rƒ¦jü)�r„¦}r…¦(jYj�¦jf}r†¦(jh]ji]jj]jk]jn]ujZj¦jr]r‡¦j{X Boot Settingsrˆ¦…�r‰¦}rЦ(jYUjZj„¦ubajdjubaubj )�r‹¦}rŒ¦(jYUjf}r�¦(jh]ji]jj]jk]jn]ujZj{¦jr]rަjC)�r�¦}r�¦(jYUjf}r‘¦(jGX*jk]jj]jh]ji]jn]ujZj‹¦jr]r’¦(j/)�r“¦}r”¦(jYXSW2 - All switches OFFr•¦jf}r–¦(jh]ji]jj]jk]jn]ujZj�¦jr]r—¦j¡)�r˜¦}r™¦(jYj•¦jZj“¦jbj¦jdj¥jf}rš¦(jh]ji]jj]jk]jn]ujpK®jr]r›¦j{XSW2 - All switches OFFrœ¦…�r�¦}rž¦(jYj•¦jZj˜¦ubaubajdj2ubj/)�rŸ¦}r ¦(jYXSW3 - All switches OFF jf}r¡¦(jh]ji]jj]jk]jn]ujZj�¦jr]r¢¦j¡)�r£¦}r¤¦(jYXSW3 - All switches OFFr¥¦jZjŸ¦jbj¦jdj¥jf}r¦¦(jh]ji]jj]jk]jn]ujpK¯jr]r§¦j{XSW3 - All switches OFFr¨¦…�r©¦}rª¦(jYj¥¦jZj£¦ubaubajdj2ubejdj`ubajdj2 ubeubj )�r«¦}r¬¦(jYXw**Jumpers** * J4 – Short all the pins * JP37 – Short pins 1 & 2 * J43 - Short pins 1 & 2 * J8 – Short pins 1 & 2 jZjw¦jbj¦jdj jf}r­¦(jh]ji]jj]jk]jn]ujpKµjqhjr]r®¦(j )�r¯¦}r°¦(jYX **Jumpers**r±¦jZj«¦jbj¦jdj jf}r²¦(jh]ji]jj]jk]jn]ujpKµjr]r³¦jü)�r´¦}rµ¦(jYj±¦jf}r¶¦(jh]ji]jj]jk]jn]ujZj¯¦jr]r·¦j{XJumpersr¸¦…�r¹¦}rº¦(jYUjZj´¦ubajdjubaubj )�r»¦}r¼¦(jYUjf}r½¦(jh]ji]jj]jk]jn]ujZj«¦jr]r¾¦jC)�r¿¦}rÀ¦(jYUjf}rÁ¦(jGX*jk]jj]jh]ji]jn]ujZj»¦jr]r¦(j/)�ræ}rĦ(jYXJ4 – Short all the pinsrŦjf}rƦ(jh]ji]jj]jk]jn]ujZj¿¦jr]rǦj¡)�rȦ}rɦ(jYjŦjZjæjbj¦jdj¥jf}rʦ(jh]ji]jj]jk]jn]ujpK²jr]r˦j{XJ4 – Short all the pinsr̦…�rͦ}rΦ(jYjŦjZjȦubaubajdj2ubj/)�rϦ}rЦ(jYXJP37 – Short pins 1 & 2rѦjf}rÒ¦(jh]ji]jj]jk]jn]ujZj¿¦jr]rÓ¦j¡)�rÔ¦}rÕ¦(jYjѦjZjϦjbj¦jdj¥jf}rÖ¦(jh]ji]jj]jk]jn]ujpK³jr]rצj{XJP37 – Short pins 1 & 2rئ…�rÙ¦}rÚ¦(jYjѦjZjÔ¦ubaubajdj2ubj/)�rÛ¦}rܦ(jYXJ43 - Short pins 1 & 2rݦjf}rÞ¦(jh]ji]jj]jk]jn]ujZj¿¦jr]rߦj¡)�rà¦}rá¦(jYjݦjZjÛ¦jbj¦jdj¥jf}râ¦(jh]ji]jj]jk]jn]ujpK´jr]rã¦j{XJ43 - Short pins 1 & 2r䦅�rå¦}ræ¦(jYjݦjZjà¦ubaubajdj2ubj/)�rç¦}rè¦(jYXJ8 – Short pins 1 & 2 jf}ré¦(jh]ji]jj]jk]jn]ujZj¿¦jr]rê¦j¡)�rë¦}rì¦(jYXJ8 – Short pins 1 & 2rí¦jZjç¦jbj¦jdj¥jf}rî¦(jh]ji]jj]jk]jn]ujpKµjr]rï¦j{XJ8 – Short pins 1 & 2rð¦…�rñ¦}rò¦(jYjí¦jZjë¦ubaubajdj2ubejdj`ubajdj2 ubeubeubeubj[)�ró¦}rô¦(jYUjZjP\jbj¦jdjejf}rõ¦(jh]ji]jj]jk]rö¦Uam65x-debug-software-setupr÷¦ajn]rø¦hnaujpK¸jqhjr]rù¦(jt)�rú¦}rû¦(jYXAM65x Debug Software Setuprü¦jZjó¦jbj¦jdjxjf}rý¦(jh]ji]jj]jk]jn]ujpK¸jqhjr]rþ¦j{XAM65x Debug Software Setuprÿ¦…�r§}r§(jYjü¦jZjú¦ubaubj¡)�r§}r§(jYXCThe following software packages are required to setup the AM65x EVMr§jZjó¦jbj¦jdj¥jf}r§(jh]ji]jj]jk]jn]ujpKºjqhjr]r§j{XCThe following software packages are required to setup the AM65x EVMr§…�r§}r §(jYj§jZj§ubaubjC)�r §}r §(jYUjZjó¦jbj¦jdj`jf}r §(jGX-jk]jj]jh]ji]jn]ujpK¼jqhjr]r §(j/)�r§}r§(jYX%Code Composer Studio IDE Environment jZj §jbj¦jdj2jf}r§(jh]ji]jj]jk]jn]ujpNjqhjr]r§j¡)�r§}r§(jYX$Code Composer Studio IDE Environmentr§jZj§jbj¦jdj¥jf}r§(jh]ji]jj]jk]jn]ujpK¼jr]r§j{X$Code Composer Studio IDE Environmentr§…�r§}r§(jYj§jZj§ubaubaubj/)�r§}r§(jYXProcessor SDK RTOS for AM65xx jZj §jbj¦jdj2jf}r§(jh]ji]jj]jk]jn]ujpNjqhjr]r§j¡)�r§}r§(jYXProcessor SDK RTOS for AM65xxr §jZj§jbj¦jdj¥jf}r!§(jh]ji]jj]jk]jn]ujpK¾jr]r"§j{XProcessor SDK RTOS for AM65xxr#§…�r$§}r%§(jYj §jZj§ubaubaubeubj[)�r&§}r'§(jYUjZjó¦jbj¦jdjejf}r(§(jh]ji]jj]jk]r)§Uccs-host-setupr*§ajn]r+§h¢aujpKÁjqhjr]r,§(jt)�r-§}r.§(jYXCCS Host Setupr/§jZj&§jbj¦jdjxjf}r0§(jh]ji]jj]jk]jn]ujpKÁjqhjr]r1§j{XCCS Host Setupr2§…�r3§}r4§(jYj/§jZj-§ubaubj¡)�r5§}r6§(jYX]1. Download CCS from the following link: http://processors.wiki.ti.com/index.php/Download_CCSjZj&§jbj¦jdj¥jf}r7§(jh]ji]jj]jk]jn]ujpKÃjqhjr]r8§(j{X)1. Download CCS from the following link: r9§…�r:§}r;§(jYX)1. Download CCS from the following link: jZj5§ubjÜ)�r<§}r=§(jYX4http://processors.wiki.ti.com/index.php/Download_CCSr>§jf}r?§(Urefurij>§jk]jj]jh]ji]jn]ujZj5§jr]r@§j{X4http://processors.wiki.ti.com/index.php/Download_CCSrA§…�rB§}rC§(jYUjZj<§ubajdjàubeubj)�rD§}rE§(jYX·Check the `Processor SDK Release Notes `_ for the recommended CCS version.rF§jZj&§jbj¦jdjjf}rG§(jh]ji]jj]jk]jn]ujpNjqhjr]rH§j¡)�rI§}rJ§(jYjF§jZjD§jbj¦jdj¥jf}rK§(jh]ji]jj]jk]jn]ujpKÆjr]rL§(j{X Check the rM§…�rN§}rO§(jYX Check the jZjI§ubjÜ)�rP§}rQ§(jYXŒ`Processor SDK Release Notes `_jf}rR§(UnameXProcessor SDK Release NotesjXkhttp://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_release_specific.html#release-notesrS§jk]jj]jh]ji]jn]ujZjI§jr]rT§j{XProcessor SDK Release NotesrU§…�rV§}rW§(jYUjZjP§ubajdjàubj–)�rX§}rY§(jYXn jìKjZjI§jdj™jf}rZ§(UrefurijS§jk]r[§Uprocessor-sdk-release-notesr\§ajj]jh]ji]jn]r]§h†aujr]ubj{X! for the recommended CCS version.r^§…�r_§}r`§(jYX! for the recommended CCS version.jZjI§ubeubaubj¡)�ra§}rb§(jYX9Ensure that at least "Sitara AMx Processors" is selected:rc§jZj&§jbj¦jdj¥jf}rd§(jh]ji]jj]jk]jn]ujpKÈjqhjr]re§j{X9Ensure that at least "Sitara AMx Processors" is selected:rf§…�rg§}rh§(jYjc§jZja§ubaubj=)�ri§}rj§(jYUjZj&§jbNjdj@jf}rk§(jh]ji]jj]jk]jn]ujpNjqhjr]rl§jB)�rm§}rn§(jYXN.. image:: ../../../images/TMDX654_EVM_Hardware_Setup/AM65x_CCS_Install.png jf}ro§(UuriXErtos/../../../images/TMDX654_EVM_Hardware_Setup/AM65x_CCS_Install.pngrp§jk]jj]jh]ji]jH}rq§U*jp§sjn]ujZji§jr]jdjEubaubj[)�rr§}rs§(jYUjZj&§jbj¦jdjejf}rt§(jh]ji]jj]jk]ru§U?install-the-latest-emulation-package-and-device-support-packagerv§ajn]rw§hÙaujpKÏjqhjr]rx§(jt)�ry§}rz§(jYX?Install the latest Emulation Package and Device Support Packager{§jZjr§jbj¦jdjxjf}r|§(jh]ji]jj]jk]jn]ujpKÏjqhjr]r}§j{X?Install the latest Emulation Package and Device Support Packager~§…�r§}r€§(jYj{§jZjy§ubaubj¡)�r�§}r‚§(jYXv1. In CCS, navigate to Help -> Check for Updates and select "Sitara device support" and "TI Emulators" and click Next.rƒ§jZjr§jbj¦jdj¥jf}r„§(jh]ji]jj]jk]jn]ujpKÑjqhjr]r…§j{Xv1. In CCS, navigate to Help -> Check for Updates and select "Sitara device support" and "TI Emulators" and click Next.r†§…�r‡§}rˆ§(jYjƒ§jZj�§ubaubj=)�r‰§}rЧ(jYUjZjr§jbNjdj@jf}r‹§(jh]ji]jj]jk]jn]ujpNjqhjr]rŒ§jB)�r�§}rާ(jYXP.. image:: ../../../images/TMDX654_EVM_Hardware_Setup/CCS_Check_for_Updates.PNG jf}r�§(UuriXIrtos/../../../images/TMDX654_EVM_Hardware_Setup/CCS_Check_for_Updates.PNGr�§jk]jj]jh]ji]jH}r‘§U*j�§sjn]ujZj‰§jr]jdjEubaubj¡)�r’§}r“§(jYXx2. Click "Next" again, select "I accept the terms of the license agreements" and click Finish to begin the installation.r”§jZjr§jbj¦jdj¥jf}r•§(jh]ji]jj]jk]jn]ujpKÖjqhjr]r–§j{Xx2. Click "Next" again, select "I accept the terms of the license agreements" and click Finish to begin the installation.r—§…�r˜§}r™§(jYj”§jZj’§ubaubj=)�rš§}r›§(jYUjZjr§jbNjdj@jf}rœ§(jh]ji]jj]jk]jn]ujpNjqhjr]r�§jB)�rž§}rŸ§(jYXP.. image:: ../../../images/TMDX654_EVM_Hardware_Setup/CCS_Updating_Software.png jf}r §(UuriXIrtos/../../../images/TMDX654_EVM_Hardware_Setup/CCS_Updating_Software.pngr¡§jk]jj]jh]ji]jH}r¢§U*j¡§sjn]ujZjš§jr]jdjEubaubj¡)�r£§}r¤§(jYX…3. You may be prompted to restart CCS for the updates to take effect. Click "Restart Now" when prompted to complete the installation.r¥§jZjr§jbj¦jdj¥jf}r¦§(jh]ji]jj]jk]jn]ujpKÛjqhjr]r§§j{X…3. You may be prompted to restart CCS for the updates to take effect. Click "Restart Now" when prompted to complete the installation.r¨§…�r©§}rª§(jYj¥§jZj£§ubaubj¡)�r«§}r¬§(jYX**Disable Automatic Updates**r­§jZjr§jbj¦jdj¥jf}r®§(jh]ji]jj]jk]jn]ujpKÞjqhjr]r¯§jü)�r°§}r±§(jYj­§jf}r²§(jh]ji]jj]jk]jn]ujZj«§jr]r³§j{XDisable Automatic Updatesr´§…�rµ§}r¶§(jYUjZj°§ubajdjubaubj¡)�r·§}r¸§(jYX«To disable automatic updates in CCS, navigate to Windows -> Preferences -> Install/Update -> Automatic Updates, and uncheck "Automatically find new updates and notify me."r¹§jZjr§jbj¦jdj¥jf}rº§(jh]ji]jj]jk]jn]ujpKàjqhjr]r»§j{X«To disable automatic updates in CCS, navigate to Windows -> Preferences -> Install/Update -> Automatic Updates, and uncheck "Automatically find new updates and notify me."r¼§…�r½§}r¾§(jYj¹§jZj·§ubaubj¡)�r¿§}rÀ§(jYXxThis is a precautionary step to avoid automatic updates overwriting files updated through TI Emulation Updates for AM65xrÁ§jZjr§jbj¦jdj¥jf}r§(jh]ji]jj]jk]jn]ujpKâjqhjr]rçj{XxThis is a precautionary step to avoid automatic updates overwriting files updated through TI Emulation Updates for AM65xrħ…�rŧ}rƧ(jYjÁ§jZj¿§ubaubeubeubj[)�rǧ}rȧ(jYUjZjó¦jbj¦jdjejf}rɧ(jh]ji]jj]jk]rʧUbasic-ccs-setupr˧ajn]ŗj;aujpKåjqhjr]rͧ(jt)�rΧ}rϧ(jYXBasic CCS SetuprЧjZjǧjbj¦jdjxjf}rѧ(jh]ji]jj]jk]jn]ujpKåjqhjr]rÒ§j{XBasic CCS SetuprÓ§…�rÔ§}rÕ§(jYjЧjZjΧubaubj¡)�rÖ§}r×§(jYXôThe Basic CCS setup is similar to earlier Sitara devices which involves creation of target configuration and connecting to cores using the GEL files. This step is suitable for new board bring up and getting hello world going on the AM65x cores.rاjZjǧjbj¦jdj¥jf}rÙ§(jh]ji]jj]jk]jn]ujpKçjqhjr]rÚ§j{XôThe Basic CCS setup is similar to earlier Sitara devices which involves creation of target configuration and connecting to cores using the GEL files. This step is suitable for new board bring up and getting hello world going on the AM65x cores.rÛ§…�rܧ}rݧ(jYjاjZjÖ§ubaubj¡)�rÞ§}rß§(jYX%Users can use this setup for benchmarking code on cores, test basic pin functionality or to run diagnostics. However, multi-core application developers requiring resource management, power management or security services will require the advanced CCS setup in addition to the basic core setup.rà§jZjǧjbj¦jdj¥jf}rá§(jh]ji]jj]jk]jn]ujpKêjqhjr]râ§j{X%Users can use this setup for benchmarking code on cores, test basic pin functionality or to run diagnostics. However, multi-core application developers requiring resource management, power management or security services will require the advanced CCS setup in addition to the basic core setup.rã§…�rä§}rå§(jYjà§jZjÞ§ubaubj¡)�ræ§}rç§(jYX�We recommend that you follow the steps in basic setup and then migrate to the advanced SOC CCS setup for application development.rè§jZjǧjbj¦jdj¥jf}ré§(jh]ji]jj]jk]jn]ujpKíjqhjr]rê§j{X�We recommend that you follow the steps in basic setup and then migrate to the advanced SOC CCS setup for application development.rë§…�rì§}rí§(jYjè§jZjæ§ubaubj[)�rî§}rï§(jYUjZjǧjbj¦jdjejf}rð§(jh]ji]jj]jk]rñ§U!creating-the-target-configurationrò§ajn]ró§h(aujpKñjqhjr]rô§(jt)�rõ§}rö§(jYX!Creating the Target Configurationr÷§jZjî§jbj¦jdjxjf}rø§(jh]ji]jj]jk]jn]ujpKñjqhjr]rù§j{X!Creating the Target Configurationrú§…�rû§}rü§(jYj÷§jZjõ§ubaubj%)�rý§}rþ§(jYUjZjî§jbj¦jdj(jf}rÿ§(j*U.jk]jj]jh]j+Uji]jn]j,j-ujpKôjqhjr]r¨(j/)�r¨}r¨(jYX_In CCS, open the Target Configurations window by navigating to View -> Target Configurations. jZjý§jbj¦jdj2jf}r¨(jh]ji]jj]jk]jn]ujpNjqhjr]r¨j¡)�r¨}r¨(jYX]In CCS, open the Target Configurations window by navigating to View -> Target Configurations.r¨jZj¨jbj¦jdj¥jf}r¨(jh]ji]jj]jk]jn]ujpKôjr]r ¨j{X]In CCS, open the Target Configurations window by navigating to View -> Target Configurations.r ¨…�r ¨}r ¨(jYj¨jZj¨ubaubaubj/)�r ¨}r¨(jYXNIn Target Configurations, right click and select "New Target Configuration." jZjý§jbj¦jdj2jf}r¨(jh]ji]jj]jk]jn]ujpNjqhjr]r¨j¡)�r¨}r¨(jYXLIn Target Configurations, right click and select "New Target Configuration."r¨jZj ¨jbj¦jdj¥jf}r¨(jh]ji]jj]jk]jn]ujpK÷jr]r¨j{XLIn Target Configurations, right click and select "New Target Configuration."r¨…�r¨}r¨(jYj¨jZj¨ubaubaubj/)�r¨}r¨(jYXQPopulate the Target Configuration File name, set the location, and click Finish. jZjý§jbj¦jdj2jf}r¨(jh]ji]jj]jk]jn]ujpNjqhjr]r¨j¡)�r¨}r¨(jYXPPopulate the Target Configuration File name, set the location, and click Finish.r¨jZj¨jbj¦jdj¥jf}r ¨(jh]ji]jj]jk]jn]ujpKújr]r!¨j{XPPopulate the Target Configuration File name, set the location, and click Finish.r"¨…�r#¨}r$¨(jYj¨jZj¨ubaubaubeubj=)�r%¨}r&¨(jYUjZjî§jbNjdj@jf}r'¨(jh]ji]jj]jk]jn]ujpNjqhjr]r(¨jB)�r)¨}r*¨(jYXV.. image:: ../../../images/TMDX654_EVM_Hardware_Setup/AM65x_Target_Configuration.png jf}r+¨(UuriXNrtos/../../../images/TMDX654_EVM_Hardware_Setup/AM65x_Target_Configuration.pngr,¨jk]jj]jh]ji]jH}r-¨U*j,¨sjn]ujZj%¨jr]jdjEubaubj%)�r.¨}r/¨(jYUjZjî§jbj¦jdj(jf}r0¨(j*U.jdKjk]jj]jh]j+Uji]jn]j,j-ujpKÿjqhjr]r1¨j/)�r2¨}r3¨(jYXpSelect "Texas Instruments XDS110 USB Debug Probe" for the Connection and "GPEVM_AM65x" for the Board or Device. jZj.¨jbj¦jdj2jf}r4¨(jh]ji]jj]jk]jn]ujpNjqhjr]r5¨j¡)�r6¨}r7¨(jYXoSelect "Texas Instruments XDS110 USB Debug Probe" for the Connection and "GPEVM_AM65x" for the Board or Device.r8¨jZj2¨jbj¦jdj¥jf}r9¨(jh]ji]jj]jk]jn]ujpKÿjr]r:¨j{XoSelect "Texas Instruments XDS110 USB Debug Probe" for the Connection and "GPEVM_AM65x" for the Board or Device.r;¨…�r<¨}r=¨(jYj8¨jZj6¨ubaubaubaubj=)�r>¨}r?¨(jYUjZjî§jbNjdj@jf}r@¨(jh]ji]jj]jk]jn]ujpNjqhjr]rA¨jB)�rB¨}rC¨(jYXW.. image:: ../../../images/TMDX654_EVM_Hardware_Setup/AM65x_Target_Configuration2.png jf}rD¨(UuriXOrtos/../../../images/TMDX654_EVM_Hardware_Setup/AM65x_Target_Configuration2.pngrE¨jk]jj]jh]ji]jH}rF¨U*jE¨sjn]ujZj>¨jr]jdjEubaubj)�rG¨}rH¨(jYXÆThe GEL files are automatically populated in the Target Configuration when selecting an EVM instead of an SOC. The SOC option is generally used for custom board bring up or secondary boot debugging.rI¨jZjî§jbj¦jdjjf}rJ¨(jh]ji]jj]jk]jn]ujpNjqhjr]rK¨j¡)�rL¨}rM¨(jYjI¨jZjG¨jbj¦jdj¥jf}rN¨(jh]ji]jj]jk]jn]ujpMjr]rO¨j{XÆThe GEL files are automatically populated in the Target Configuration when selecting an EVM instead of an SOC. The SOC option is generally used for custom board bring up or secondary boot debugging.rP¨…�rQ¨}rR¨(jYjI¨jZjL¨ubaubaubj%)�rS¨}rT¨(jYUjZjî§jbj¦jdj(jf}rU¨(j*U.jdKjk]jj]jh]j+Uji]jn]j,j-ujpMjqhjr]rV¨j/)�rW¨}rX¨(jYX�Navigate to the "Advanced" tab to ensure the GEL files are populated in the "initialization script" field for the various cores. jZjS¨jbj¦jdj2jf}rY¨(jh]ji]jj]jk]jn]ujpNjqhjr]rZ¨j¡)�r[¨}r\¨(jYX€Navigate to the "Advanced" tab to ensure the GEL files are populated in the "initialization script" field for the various cores.r]¨jZjW¨jbj¦jdj¥jf}r^¨(jh]ji]jj]jk]jn]ujpMjr]r_¨j{X€Navigate to the "Advanced" tab to ensure the GEL files are populated in the "initialization script" field for the various cores.r`¨…�ra¨}rb¨(jYj]¨jZj[¨ubaubaubaubj=)�rc¨}rd¨(jYUjZjî§jbNjdj@jf}re¨(jh]ji]jj]jk]jn]ujpNjqhjr]rf¨jB)�rg¨}rh¨(jYXV.. image:: ../../../images/TMDX654_EVM_Hardware_Setup/AM65x_Target_Configuration3.png jf}ri¨(UuriXOrtos/../../../images/TMDX654_EVM_Hardware_Setup/AM65x_Target_Configuration3.pngrj¨jk]jj]jh]ji]jH}rk¨U*jj¨sjn]ujZjc¨jr]jdjEubaubj¡)�rl¨}rm¨(jYX¤The initialization script for the Cortex M3 will setup the MCU domain and Main domain PLL clocks, PSC registers, and bring the R5 and Cortex A53 cores out of reset.rn¨jZjî§jbj¦jdj¥jf}ro¨(jh]ji]jj]jk]jn]ujpM jqhjr]rp¨j{X¤The initialization script for the Cortex M3 will setup the MCU domain and Main domain PLL clocks, PSC registers, and bring the R5 and Cortex A53 cores out of reset.rq¨…�rr¨}rs¨(jYjn¨jZjl¨ubaubj¡)�rt¨}ru¨(jYX�The initialization script for the Cortex A53 and Cortex R5 will perform a similar step to setup the DDR clocks and initialize DDR from the cores if required.rv¨jZjî§jbj¦jdj¥jf}rw¨(jh]ji]jj]jk]jn]ujpM jqhjr]rx¨j{X�The initialization script for the Cortex A53 and Cortex R5 will perform a similar step to setup the DDR clocks and initialize DDR from the cores if required.ry¨…�rz¨}r{¨(jYjv¨jZjt¨ubaubj%)�r|¨}r}¨(jYUjZjî§jbj¦jdj(jf}r~¨(j*U.jdKjk]jj]jh]j+Uji]jn]j,j-ujpMjqhjr]r¨j/)�r€¨}r�¨(jYXSave the Target Configuration. jZj|¨jbj¦jdj2jf}r‚¨(jh]ji]jj]jk]jn]ujpNjqhjr]rƒ¨j¡)�r„¨}r…¨(jYXSave the Target Configuration.r†¨jZj€¨jbj¦jdj¥jf}r‡¨(jh]ji]jj]jk]jn]ujpMjr]rˆ¨j{XSave the Target Configuration.r‰¨…�rЍ}r‹¨(jYj†¨jZj„¨ubaubaubaubj=)�rŒ¨}r�¨(jYUjZjî§jbNjdj@jf}rލ(jh]ji]jj]jk]jn]ujpNjqhjr]r�¨jB)�r�¨}r‘¨(jYXW.. image:: ../../../images/TMDX654_EVM_Hardware_Setup/AM65x_Target_Configuration4.png jf}r’¨(UuriXOrtos/../../../images/TMDX654_EVM_Hardware_Setup/AM65x_Target_Configuration4.pngr“¨jk]jj]jh]ji]jH}r”¨U*j“¨sjn]ujZjŒ¨jr]jdjEubaubeubj[)�r•¨}r–¨(jYUjZjǧjbj¦jdjejf}r—¨(jh]ji]jj]jk]r˜¨U connecting-to-the-cores-on-am65xr™¨ajn]rš¨h¬aujpMjqhjr]r›¨(jt)�rœ¨}r�¨(jYX Connecting to the Cores on AM65xrž¨jZj•¨jbj¦jdjxjf}rŸ¨(jh]ji]jj]jk]jn]ujpMjqhjr]r ¨j{X Connecting to the Cores on AM65xr¡¨…�r¢¨}r£¨(jYjž¨jZjœ¨ubaubj¡)�r¤¨}r¥¨(jYXÔ1. **Launch Target Configuration** In CCS Editor View, go to View -> Target Configuration, and right click on the configuration that was created in the previous section and select "Launch Selected Configuration."jZj•¨jbj¦jdj¥jf}r¦¨(jh]ji]jj]jk]jn]ujpMjqhjr]r§¨(j{X1. r¨¨…�r©¨}rª¨(jYX1. jZj¤¨ubjü)�r«¨}r¬¨(jYX**Launch Target Configuration**jf}r­¨(jh]ji]jj]jk]jn]ujZj¤¨jr]r®¨j{XLaunch Target Configurationr¯¨…�r°¨}r±¨(jYUjZj«¨ubajdjubj{X² In CCS Editor View, go to View -> Target Configuration, and right click on the configuration that was created in the previous section and select "Launch Selected Configuration."r²¨…�r³¨}r´¨(jYX² In CCS Editor View, go to View -> Target Configuration, and right click on the configuration that was created in the previous section and select "Launch Selected Configuration."jZj¤¨ubeubj%)�rµ¨}r¶¨(jYUjZj•¨jbj¦jdj(jf}r·¨(j*U.jdKjk]jj]jh]j+Uji]jn]j,j-ujpMjqhjr]r¸¨j/)�r¹¨}rº¨(jYX**Connect to DMSC_Cortex_M3** jZjµ¨jbj¦jdj2jf}r»¨(jh]ji]jj]jk]jn]ujpNjqhjr]r¼¨j¡)�r½¨}r¾¨(jYX**Connect to DMSC_Cortex_M3**r¿¨jZj¹¨jbj¦jdj¥jf}rÀ¨(jh]ji]jj]jk]jn]ujpMjr]rÁ¨jü)�r¨}rè(jYj¿¨jf}rĨ(jh]ji]jj]jk]jn]ujZj½¨jr]rŨj{XConnect to DMSC_Cortex_M3rƨ…�rǨ}rȨ(jYUjZj¨ubajdjubaubaubaubj)�rɨ}rʨ(jYX•When connecting to the M3 core for the first time, you may be prompted with a firmware update. Please click "Update" to update the emulator firmware.r˨jZj•¨jbj¦jdjjf}r̨(jh]ji]jj]jk]jn]ujpNjqhjr]rͨj¡)�rΨ}rϨ(jYj˨jZjɨjbj¦jdj¥jf}rШ(jh]ji]jj]jk]jn]ujpMjr]rѨj{X•When connecting to the M3 core for the first time, you may be prompted with a firmware update. Please click "Update" to update the emulator firmware.rÒ¨…�rÓ¨}rÔ¨(jYj˨jZjΨubaubaubjB)�rÕ¨}rÖ¨(jYXJ.. image:: ../../../images/TMDX654_EVM_Hardware_Setup/AM65x_FW_Update.png jZj•¨jbj¦jdjEjf}rר(UuriXCrtos/../../../images/TMDX654_EVM_Hardware_Setup/AM65x_FW_Update.pngrبjk]jj]jh]ji]jH}rÙ¨U*jبsjn]ujpM jqhjr]ubj¡)�rÚ¨}rÛ¨(jYX1On AM65x DMSC_Cortex_M3 is the boot master and is the first core that wakes up and starts the R5F ROM. Upon launching the target configuration, **connect to DMSC_Cortex_M3 first**, as this will automatically perform the PSC and PLL initialization. The following GEL output will appear in the CCS Console::rܨjZj•¨jbj¦jdj¥jf}rݨ(jh]ji]jj]jk]jn]ujpM!jqhjr]rÞ¨(j{X�On AM65x DMSC_Cortex_M3 is the boot master and is the first core that wakes up and starts the R5F ROM. Upon launching the target configuration, rߨ…�rà¨}rá¨(jYX�On AM65x DMSC_Cortex_M3 is the boot master and is the first core that wakes up and starts the R5F ROM. Upon launching the target configuration, jZjÚ¨ubjü)�râ¨}rã¨(jYX#**connect to DMSC_Cortex_M3 first**jf}rä¨(jh]ji]jj]jk]jn]ujZjÚ¨jr]rå¨j{Xconnect to DMSC_Cortex_M3 firstr樅�rç¨}rè¨(jYUjZjâ¨ubajdjubj{X}, as this will automatically perform the PSC and PLL initialization. The following GEL output will appear in the CCS Console:r騅�rê¨}rë¨(jYX}, as this will automatically perform the PSC and PLL initialization. The following GEL output will appear in the CCS Console:jZjÚ¨ubeubj)�rì¨}rí¨(jYXáDMSC_Cortex_M3_0: GEL Output: Configuring AM65xEVM... DMSC_Cortex_M3_0: GEL Output: Init value actual value: 0x00000888 DMSC_Cortex_M3_0: GEL Output: Register value: 0x00000888 DMSC_Cortex_M3_0: GEL Output: ATCM is on DMSC_Cortex_M3_0: GEL Output: ATCM configured. DMSC_Cortex_M3_0: GEL Output: Assuming execution from M3 DMSC_Cortex_M3_0: GEL Output: This script sets the first address translation region to [0x8000_0000, 0x0000_0000]. DMSC_Cortex_M3_0: GEL Output: It also sets the second address translation region to [0x6000_0000, 0x4000_0000]. DMSC_Cortex_M3_0: GEL Output: Setting all PLLs in progress. This may take some time. DMSC_Cortex_M3_0: GEL Output: 0 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 10 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 20 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 30 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 40 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 50 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 60 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 70 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 80 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 90 Percent Complete... DMSC_Cortex_M3_0: GEL Output: Setting all PLLs done! DMSC_Cortex_M3_0: GEL Output: Powering up all PSC power domains in progress... DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_WKUP_COMMON DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_DMSC DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_WKUP2MCU DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_WKUP2MAIN_INFRA DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_DEBUG2DMSC DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_WKUP_GPIO DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU2MAIN_INFRA DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU2MAIN DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU2WKUP DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MAIN2MCU DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_COMMON DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_TEST DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_MCAN_0 DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_MCAN_1 DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_OSPI_0 DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_OSPI_1 DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_HYPERBUS DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_DEBUG DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_R5_0 DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_R5_1 DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MAIN_INFRA DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MAIN_TEST DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MAIN_PBIST DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_CC_TOP DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_A53_CLUSTER_0 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_A53_0 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_A53_1 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_A53_CLUSTER_1 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_A53_2 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_A53_3 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MAIN_DEBUG DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_DSS DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MMC DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_CAL DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_PCIE_0 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_PCIE_1 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_USB_0 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_USB_1 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_SAUL DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_PER_COMMON DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_NB DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_SERDES_0 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_SERDES_1 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_ICSSG_0 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_ICSSG_1 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_ICSSG_2 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_GPU DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_EMIF_DATA DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_EMIF_CFG DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up all PSC power domains done!jZj•¨jbj¦jdjjf}rî¨(jöj÷jk]jj]jh]ji]jn]ujpM’jqhjr]rï¨j{XáDMSC_Cortex_M3_0: GEL Output: Configuring AM65xEVM... DMSC_Cortex_M3_0: GEL Output: Init value actual value: 0x00000888 DMSC_Cortex_M3_0: GEL Output: Register value: 0x00000888 DMSC_Cortex_M3_0: GEL Output: ATCM is on DMSC_Cortex_M3_0: GEL Output: ATCM configured. DMSC_Cortex_M3_0: GEL Output: Assuming execution from M3 DMSC_Cortex_M3_0: GEL Output: This script sets the first address translation region to [0x8000_0000, 0x0000_0000]. DMSC_Cortex_M3_0: GEL Output: It also sets the second address translation region to [0x6000_0000, 0x4000_0000]. DMSC_Cortex_M3_0: GEL Output: Setting all PLLs in progress. This may take some time. DMSC_Cortex_M3_0: GEL Output: 0 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 10 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 20 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 30 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 40 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 50 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 60 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 70 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 80 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 90 Percent Complete... DMSC_Cortex_M3_0: GEL Output: Setting all PLLs done! DMSC_Cortex_M3_0: GEL Output: Powering up all PSC power domains in progress... DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_WKUP_COMMON DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_DMSC DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_WKUP2MCU DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_WKUP2MAIN_INFRA DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_DEBUG2DMSC DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_WKUP_GPIO DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU2MAIN_INFRA DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU2MAIN DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU2WKUP DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MAIN2MCU DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_COMMON DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_TEST DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_MCAN_0 DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_MCAN_1 DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_OSPI_0 DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_OSPI_1 DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_HYPERBUS DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_DEBUG DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_R5_0 DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_R5_1 DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MAIN_INFRA DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MAIN_TEST DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MAIN_PBIST DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_CC_TOP DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_A53_CLUSTER_0 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_A53_0 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_A53_1 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_A53_CLUSTER_1 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_A53_2 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_A53_3 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MAIN_DEBUG DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_DSS DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MMC DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_CAL DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_PCIE_0 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_PCIE_1 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_USB_0 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_USB_1 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_SAUL DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_PER_COMMON DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_NB DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_SERDES_0 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_SERDES_1 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_ICSSG_0 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_ICSSG_1 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_ICSSG_2 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_GPU DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_EMIF_DATA DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_EMIF_CFG DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up all PSC power domains done!rð¨…�rñ¨}rò¨(jYUjZjì¨ubaubjZ)�ró¨}rô¨(jYUjZj•¨jbj¦jdj]jf}rõ¨(jh]ji]jj]jk]jn]ujpM�jqhjr]rö¨j`)�r÷¨}rø¨(jYUjcKjZjó¨jbj¦jdjpjf}rù¨(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�rú¨}rû¨(jYXí3. **Connect to Cortex A53 or Cortex R5F** Users must now connect to either the Cortex A53 (CortexA53_0_0) or Cortex R5 (MCU_PULSAR_Cortex_R5_0). The following GEL output will appear in the CCS console when connecting to the Cortex A53::jZj•¨jbj¦jdj¥jf}rü¨(jh]ji]jj]jk]jn]ujpMŸjqhjr]rý¨(j{X3. rþ¨…�rÿ¨}r©(jYX3. jZjú¨ubjü)�r©}r©(jYX'**Connect to Cortex A53 or Cortex R5F**jf}r©(jh]ji]jj]jk]jn]ujZjú¨jr]r©j{X#Connect to Cortex A53 or Cortex R5Fr©…�r©}r©(jYUjZj©ubajdjubj{X Users must now connect to either the Cortex A53 (CortexA53_0_0) or Cortex R5 (MCU_PULSAR_Cortex_R5_0). The following GEL output will appear in the CCS console when connecting to the Cortex A53:r©…�r ©}r ©(jYX Users must now connect to either the Cortex A53 (CortexA53_0_0) or Cortex R5 (MCU_PULSAR_Cortex_R5_0). The following GEL output will appear in the CCS console when connecting to the Cortex A53:jZjú¨ubeubj)�r ©}r ©(jYX€ CortexA53_0_0: GEL Output: VTT Regulator Enabled CortexA53_0_0: GEL Output: PHY Init complete CortexA53_0_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x8000000F CortexA53_0_0: GEL Output: Waiting for DRAM Init to complete... CortexA53_0_0: GEL Output: DRAM Init complete CortexA53_0_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x8000001F CortexA53_0_0: GEL Output: Waiting for write leveling to complete CortexA53_0_0: GEL Output: Write leveling complete CortexA53_0_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x8000003F CortexA53_0_0: GEL Output: checking status per byte... CortexA53_0_0: GEL Output: DDRSS_DDRPHY_DX0GSR0 = 0x00932420 CortexA53_0_0: GEL Output: DDRSS_DDRPHY_DX1GSR0 = 0x009224A0 CortexA53_0_0: GEL Output: DDRSS_DDRPHY_DX2GSR0 = 0x00992620 CortexA53_0_0: GEL Output: DDRSS_DDRPHY_DX3GSR0 = 0x009825A0 CortexA53_0_0: GEL Output: Waiting for Read DQS training to complete CortexA53_0_0: GEL Output: Read DQS training complete CortexA53_0_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x8000007F CortexA53_0_0: GEL Output: checking status per byte... CortexA53_0_0: GEL Output: DDRSS_DDRPHY_DX0RSR0 = 0x00000000 CortexA53_0_0: GEL Output: DDRSS_DDRPHY_DX1RSR0 = 0x00000000 CortexA53_0_0: GEL Output: DDRSS_DDRPHY_DX2RSR0 = 0x00000000 CortexA53_0_0: GEL Output: DDRSS_DDRPHY_DX3RSR0 = 0x00000000 CortexA53_0_0: GEL Output: Waiting for Write leveling adjustment to complete CortexA53_0_0: GEL Output: Write leveling adjustment complete CortexA53_0_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x800000FF CortexA53_0_0: GEL Output: Waiting for Read deskew to complete CortexA53_0_0: GEL Output: Read deskew complete CortexA53_0_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x800001FF CortexA53_0_0: GEL Output: Waiting for Write deskew to complete CortexA53_0_0: GEL Output: Write deskew complete CortexA53_0_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x800003FF CortexA53_0_0: GEL Output: Waiting for Read Eye training to complete CortexA53_0_0: GEL Output: Read Eye training complete CortexA53_0_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x800007FF CortexA53_0_0: GEL Output: Waiting for Write Eye training to complete CortexA53_0_0: GEL Output: Write Eye training complete CortexA53_0_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x80000FFF CortexA53_0_0: GEL Output: Waiting for VREF training to complete CortexA53_0_0: GEL Output: VREF training complete CortexA53_0_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x80004FFF CortexA53_0_0: GEL Output: ==== DDR4 Initialization has PASSED!!!! ====jZj•¨jbj¦jdjjf}r ©(jöj÷jk]jj]jh]ji]jn]ujpMjqhjr]r©j{X€ CortexA53_0_0: GEL Output: VTT Regulator Enabled CortexA53_0_0: GEL Output: PHY Init complete CortexA53_0_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x8000000F CortexA53_0_0: GEL Output: Waiting for DRAM Init to complete... CortexA53_0_0: GEL Output: DRAM Init complete CortexA53_0_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x8000001F CortexA53_0_0: GEL Output: Waiting for write leveling to complete CortexA53_0_0: GEL Output: Write leveling complete CortexA53_0_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x8000003F CortexA53_0_0: GEL Output: checking status per byte... CortexA53_0_0: GEL Output: DDRSS_DDRPHY_DX0GSR0 = 0x00932420 CortexA53_0_0: GEL Output: DDRSS_DDRPHY_DX1GSR0 = 0x009224A0 CortexA53_0_0: GEL Output: DDRSS_DDRPHY_DX2GSR0 = 0x00992620 CortexA53_0_0: GEL Output: DDRSS_DDRPHY_DX3GSR0 = 0x009825A0 CortexA53_0_0: GEL Output: Waiting for Read DQS training to complete CortexA53_0_0: GEL Output: Read DQS training complete CortexA53_0_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x8000007F CortexA53_0_0: GEL Output: checking status per byte... CortexA53_0_0: GEL Output: DDRSS_DDRPHY_DX0RSR0 = 0x00000000 CortexA53_0_0: GEL Output: DDRSS_DDRPHY_DX1RSR0 = 0x00000000 CortexA53_0_0: GEL Output: DDRSS_DDRPHY_DX2RSR0 = 0x00000000 CortexA53_0_0: GEL Output: DDRSS_DDRPHY_DX3RSR0 = 0x00000000 CortexA53_0_0: GEL Output: Waiting for Write leveling adjustment to complete CortexA53_0_0: GEL Output: Write leveling adjustment complete CortexA53_0_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x800000FF CortexA53_0_0: GEL Output: Waiting for Read deskew to complete CortexA53_0_0: GEL Output: Read deskew complete CortexA53_0_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x800001FF CortexA53_0_0: GEL Output: Waiting for Write deskew to complete CortexA53_0_0: GEL Output: Write deskew complete CortexA53_0_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x800003FF CortexA53_0_0: GEL Output: Waiting for Read Eye training to complete CortexA53_0_0: GEL Output: Read Eye training complete CortexA53_0_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x800007FF CortexA53_0_0: GEL Output: Waiting for Write Eye training to complete CortexA53_0_0: GEL Output: Write Eye training complete CortexA53_0_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x80000FFF CortexA53_0_0: GEL Output: Waiting for VREF training to complete CortexA53_0_0: GEL Output: VREF training complete CortexA53_0_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x80004FFF CortexA53_0_0: GEL Output: ==== DDR4 Initialization has PASSED!!!! ====r©…�r©}r©(jYUjZj ©ubaubjZ)�r©}r©(jYUjZj•¨jbj¦jdj]jf}r©(jh]ji]jj]jk]jn]ujpMíjqhjr]r©j`)�r©}r©(jYUjcKjZj©jbj¦jdjpjf}r©(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r©}r©(jYXaThe same GEL output will be shown if connecting to the Cortex R5 first instead of the Cortex A53.r©jZj•¨jbj¦jdj¥jf}r©(jh]ji]jj]jk]jn]ujpMïjqhjr]r©j{XaThe same GEL output will be shown if connecting to the Cortex R5 first instead of the Cortex A53.r©…�r©}r ©(jYj©jZj©ubaubj%)�r!©}r"©(jYUjZj•¨jbj¦jdj(jf}r#©(j*U.jdKjk]jj]jh]j+Uji]jn]j,j-ujpMñjqhjr]r$©j/)�r%©}r&©(jYXÕThe EVM is now completely initialized to load and run code on the cores and access the full device address range. User level software is responsible to configure the pin multiplexing and peripheral configuration. jZj!©jbj¦jdj2jf}r'©(jh]ji]jj]jk]jn]ujpNjqhjr]r(©j¡)�r)©}r*©(jYXÔThe EVM is now completely initialized to load and run code on the cores and access the full device address range. User level software is responsible to configure the pin multiplexing and peripheral configuration.r+©jZj%©jbj¦jdj¥jf}r,©(jh]ji]jj]jk]jn]ujpMñjr]r-©j{XÔThe EVM is now completely initialized to load and run code on the cores and access the full device address range. User level software is responsible to configure the pin multiplexing and peripheral configuration.r.©…�r/©}r0©(jYj+©jZj)©ubaubaubaubjZ)�r1©}r2©(jYUjZj•¨jbj¦jdj]jf}r3©(jh]ji]jj]jk]jn]ujpMójqhjr]r4©j`)�r5©}r6©(jYUjcKjZj1©jbj¦jdjpjf}r7©(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubeubj[)�r8©}r9©(jYUjìKjZjó¦jbj¦jdjejf}r:©(jh]ji]jj]jk]r;©jãajn]r<©h.aujpMöjqhjr]r=©(jt)�r>©}r?©(jYX2Advanced AM65x Debug Setup with DMSC Firmware Loadr@©jZj8©jbj¦jdjxjf}rA©(jh]ji]jj]jk]jn]ujpMöjqhjr]rB©j{X2Advanced AM65x Debug Setup with DMSC Firmware LoadrC©…�rD©}rE©(jYj@©jZj>©ubaubj¡)�rF©}rG©(jYX**Description**rH©jZj8©jbj¦jdj¥jf}rI©(jh]ji]jj]jk]jn]ujpMøjqhjr]rJ©jü)�rK©}rL©(jYjH©jf}rM©(jh]ji]jj]jk]jn]ujZjF©jr]rN©j{X DescriptionrO©…�rP©}rQ©(jYUjZjK©ubajdjubaubj¡)�rR©}rS©(jYXÛAM65x EVM users testing basic functionality like R5F and A53 bring up and DDR configuration can use the basic setup described in the previous section for setting up the EVM. However, advanced application level debug that uses resource management for UDMAs, interrupt setup, power management to setup clock modules, or wakeup/power of slave cores will require loading of SYSFW (DMSC Firmware) on the M3 core so that the application can make API calls to leverage its services.rT©jZj8©jbj¦jdj¥jf}rU©(jh]ji]jj]jk]jn]ujpMújqhjr]rV©j{XÛAM65x EVM users testing basic functionality like R5F and A53 bring up and DDR configuration can use the basic setup described in the previous section for setting up the EVM. However, advanced application level debug that uses resource management for UDMAs, interrupt setup, power management to setup clock modules, or wakeup/power of slave cores will require loading of SYSFW (DMSC Firmware) on the M3 core so that the application can make API calls to leverage its services.rW©…�rX©}rY©(jYjT©jZjR©ubaubj¡)�rZ©}r[©(jYX;To load the SYSFW firmware, the DMSC ROM expects R5F secondary bootloader/application to provide board configuration message to initialize the cores and SOC services. The R5F application provided in SciClient uses a default board configuration message to the SYSFW and sets up the device for application debugging.r\©jZj8©jbj¦jdj¥jf}r]©(jh]ji]jj]jk]jn]ujpMüjqhjr]r^©j{X;To load the SYSFW firmware, the DMSC ROM expects R5F secondary bootloader/application to provide board configuration message to initialize the cores and SOC services. The R5F application provided in SciClient uses a default board configuration message to the SYSFW and sets up the device for application debugging.r_©…�r`©}ra©(jYj\©jZjZ©ubaubj¡)�rb©}rc©(jYX^For more details, refer to the Initialization Chapter in the TRM and the SciClient User guide.rd©jZj8©jbj¦jdj¥jf}re©(jh]ji]jj]jk]jn]ujpMþjqhjr]rf©j{X^For more details, refer to the Initialization Chapter in the TRM and the SciClient User guide.rg©…�rh©}ri©(jYjd©jZjb©ubaubj¡)�rj©}rk©(jYX"**Additional Software Dependency**rl©jZj8©jbj¦jdj¥jf}rm©(jh]ji]jj]jk]jn]ujpMjqhjr]rn©jü)�ro©}rp©(jYjl©jf}rq©(jh]ji]jj]jk]jn]ujZjj©jr]rr©j{XAdditional Software Dependencyrs©…�rt©}ru©(jYUjZjo©ubajdjubaubj=)�rv©}rw©(jYUjZj8©jbNjdj@jf}rx©(jh]ji]jj]jk]jn]ujpNjqhjr]ry©jC)�rz©}r{©(jYUjf}r|©(jGX*jk]jj]jh]ji]jn]ujZjv©jr]r}©j/)�r~©}r©(jYXProcessor SDK RTOS for AM65x jf}r€©(jh]ji]jj]jk]jn]ujZjz©jr]r�©j¡)�r‚©}rƒ©(jYXProcessor SDK RTOS for AM65xr„©jZj~©jbj¦jdj¥jf}r…©(jh]ji]jj]jk]jn]ujpMjr]r†©j{XProcessor SDK RTOS for AM65xr‡©…�rˆ©}r‰©(jYj„©jZj‚©ubaubajdj2ubajdj`ubaubj¡)�rŠ©}r‹©(jYX~Users are required to install Processor SDK RTOS to obtain the SciClient component package before proceeding to the Next Step.rŒ©jZj8©jbj¦jdj¥jf}r�©(jh]ji]jj]jk]jn]ujpMjqhjr]rŽ©j{X~Users are required to install Processor SDK RTOS to obtain the SciClient component package before proceeding to the Next Step.r�©…�r�©}r‘©(jYjŒ©jZjŠ©ubaubj¡)�r’©}r“©(jYXŸAfter installing Processor SDK RTOS, users should locate the latest R5F CCS init app, SYSFW binary, and the debug server script within the following directory:r”©jZj8©jbj¦jdj¥jf}r•©(jh]ji]jj]jk]jn]ujpMjqhjr]r–©j{XŸAfter installing Processor SDK RTOS, users should locate the latest R5F CCS init app, SYSFW binary, and the debug server script within the following directory:r—©…�r˜©}r™©(jYj”©jZj’©ubaubj¡)�rš©}r›©(jYX?${PDK_INSTALL_PATH}/packages/ti/drv/sciclient/tools/ccsLoadDmscrœ©jZj8©jbj¦jdj¥jf}r�©(jh]ji]jj]jk]jn]ujpMjqhjr]rž©j{X?${PDK_INSTALL_PATH}/packages/ti/drv/sciclient/tools/ccsLoadDmscrŸ©…�r ©}r¡©(jYjœ©jZjš©ubaubj¡)�r¢©}r£©(jYXAThe following files are provided as part for the SciClient tools:r¤©jZj8©jbj¦jdj¥jf}r¥©(jh]ji]jj]jk]jn]ujpM jqhjr]r¦©j{XAThe following files are provided as part for the SciClient tools:r§©…�r¨©}r©©(jYj¤©jZj¢©ubaubj=)�rª©}r«©(jYUjZj8©jbj¦jdj@jf}r¬©(jh]ji]jj]jk]jn]ujpNjqhjr]r­©(jC)�r®©}r¯©(jYUjf}r°©(jGX*jk]jj]jh]ji]jn]ujZjª©jr]r±©j/)�r²©}r³©(jYXtlaunch_am65xx.js: CCS Debug Server script to perform on target connect and load DMSC firmware and R5F CCS Init app. jf}r´©(jh]ji]jj]jk]jn]ujZj®©jr]rµ©j¡)�r¶©}r·©(jYXslaunch_am65xx.js: CCS Debug Server script to perform on target connect and load DMSC firmware and R5F CCS Init app.r¸©jZj²©jbj¦jdj¥jf}r¹©(jh]ji]jj]jk]jn]ujpM jr]rº©j{Xslaunch_am65xx.js: CCS Debug Server script to perform on target connect and load DMSC firmware and R5F CCS Init app.r»©…�r¼©}r½©(jYj¸©jZj¶©ubaubajdj2ubajdj`ubj¡)�r¾©}r¿©(jYXN**Location:**: ${PDK_INSTALL_PATH}/packages/ti/drv/sciclient/tools/ccsLoadDmscjZjª©jbj¦jdj¥jf}rÀ©(jh]ji]jj]jk]jn]ujpMjr]rÁ©(jü)�r©}ré(jYX **Location:**jf}rÄ©(jh]ji]jj]jk]jn]ujZj¾©jr]rÅ©j{X Location:rÆ©…�rÇ©}rÈ©(jYUjZj©ubajdjubj{XA: ${PDK_INSTALL_PATH}/packages/ti/drv/sciclient/tools/ccsLoadDmscrÉ©…�rÊ©}rË©(jYXA: ${PDK_INSTALL_PATH}/packages/ti/drv/sciclient/tools/ccsLoadDmscjZj¾©ubeubjC)�rÌ©}rÍ©(jYUjf}rΩ(jGX*jk]jj]jh]ji]jn]ujZjª©jr]rÏ©j/)�rЩ}rÑ©(jYXSsciclient_ccs_init_mcu1_0_release.xer5f: R5F Application with default board config jf}rÒ©(jh]ji]jj]jk]jn]ujZjÌ©jr]rÓ©j¡)�rÔ©}rÕ©(jYXRsciclient_ccs_init_mcu1_0_release.xer5f: R5F Application with default board configrÖ©jZjЩjbj¦jdj¥jf}rש(jh]ji]jj]jk]jn]ujpMjr]rØ©j{XRsciclient_ccs_init_mcu1_0_release.xer5f: R5F Application with default board configrÙ©…�rÚ©}rÛ©(jYjÖ©jZjÔ©ubaubajdj2ubajdj`ubj¡)�rÜ©}rÝ©(jYXU**Location:**: ${PDK_INSTALL_PATH}/packages/ti/drv/sciclient/tools/ccsLoadDmsc/am65xxjZjª©jbj¦jdj¥jf}rÞ©(jh]ji]jj]jk]jn]ujpMjr]rß©(jü)�rà©}rá©(jYX **Location:**jf}râ©(jh]ji]jj]jk]jn]ujZjÜ©jr]rã©j{X Location:rä©…�rå©}ræ©(jYUjZjà©ubajdjubj{XH: ${PDK_INSTALL_PATH}/packages/ti/drv/sciclient/tools/ccsLoadDmsc/am65xxrç©…�rè©}ré©(jYXH: ${PDK_INSTALL_PATH}/packages/ti/drv/sciclient/tools/ccsLoadDmsc/am65xxjZjÜ©ubeubjC)�rê©}rë©(jYUjf}rì©(jGX*jk]jj]jh]ji]jn]ujZjª©jr]rí©j/)�rî©}rï©(jYXCti-sci-firmware-am6x-gp.bin: TISCI SYSFW binary loaded on the DMSC jf}rð©(jh]ji]jj]jk]jn]ujZjê©jr]rñ©j¡)�rò©}ró©(jYXBti-sci-firmware-am6x-gp.bin: TISCI SYSFW binary loaded on the DMSCrô©jZjî©jbj¦jdj¥jf}rõ©(jh]ji]jj]jk]jn]ujpMjr]rö©j{XBti-sci-firmware-am6x-gp.bin: TISCI SYSFW binary loaded on the DMSCr÷©…�rø©}rù©(jYjô©jZjò©ubaubajdj2ubajdj`ubj¡)�rú©}rû©(jYXC**Location:**: ${PDK_INSTALL_PATH}/packages/ti/drv/sciclient/src/V0jZjª©jbj¦jdj¥jf}rü©(jh]ji]jj]jk]jn]ujpMjr]rý©(jü)�rþ©}rÿ©(jYX **Location:**jf}rª(jh]ji]jj]jk]jn]ujZjú©jr]rªj{X Location:rª…�rª}rª(jYUjZjþ©ubajdjubj{X6: ${PDK_INSTALL_PATH}/packages/ti/drv/sciclient/src/V0rª…�rª}rª(jYX6: ${PDK_INSTALL_PATH}/packages/ti/drv/sciclient/src/V0jZjú©ubeubeubj¡)�rª}r ª(jYX AM65x Advanced Debug Script Flowr ªjZj8©jbj¦jdj¥jf}r ª(jh]ji]jj]jk]jn]ujpMjqhjr]r ªj{X AM65x Advanced Debug Script Flowr ª…�rª}rª(jYj ªjZjªubaubjB)�rª}rª(jYXN.. image:: ../../../images/TMDX654_EVM_Hardware_Setup/AM65x_Advanced_Flow.png jZj8©jbj¦jdjEjf}rª(UuriXGrtos/../../../images/TMDX654_EVM_Hardware_Setup/AM65x_Advanced_Flow.pngrªjk]jj]jh]ji]jH}rªU*jªsjn]ujpMjqhjr]ubjZ)�rª}rª(jYUjZj8©jbj¦jdj]jf}rª(jh]ji]jj]jk]jn]ujpMjqhjr]rªj`)�rª}rª(jYUjcKjZjªjbj¦jdjpjf}rª(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj[)�rª}rª(jYUjZj8©jbj¦jdjejf}rª(jh]ji]jj]jk]rªURcreating-debug-configuration-to-integrate-ccs-gel-and-dmsc-firmware-initializationr ªajn]r!ªhaujpM jqhjr]r"ª(jt)�r#ª}r$ª(jYXRCreating Debug Configuration to Integrate CCS GEL and DMSC Firmware Initializationr%ªjZjªjbj¦jdjxjf}r&ª(jh]ji]jj]jk]jn]ujpM jqhjr]r'ªj{XRCreating Debug Configuration to Integrate CCS GEL and DMSC Firmware Initializationr(ª…�r)ª}r*ª(jYj%ªjZj#ªubaubj¡)�r+ª}r,ª(jYXWith the intent to maintain the same CCS target connect flow as existing devices, we provide a Debug Server Script (DSS) that users can link to in their target configuration to allow for loading SYSFW firmware on the DMSC as part of the target connect process.r-ªjZjªjbj¦jdj¥jf}r.ª(jh]ji]jj]jk]jn]ujpM"jqhjr]r/ªj{XWith the intent to maintain the same CCS target connect flow as existing devices, we provide a Debug Server Script (DSS) that users can link to in their target configuration to allow for loading SYSFW firmware on the DMSC as part of the target connect process.r0ª…�r1ª}r2ª(jYj-ªjZj+ªubaubj¡)�r3ª}r4ª(jYXšThe DSS script allows users to perform all of the initialization using a single click. When the script is run, the following actions happens sequentially:r5ªjZjªjbj¦jdj¥jf}r6ª(jh]ji]jj]jk]jn]ujpM$jqhjr]r7ªj{XšThe DSS script allows users to perform all of the initialization using a single click. When the script is run, the following actions happens sequentially:r8ª…�r9ª}r:ª(jYj5ªjZj3ªubaubj%)�r;ª}r<ª(jYUjZjªjbj¦jdj(jf}r=ª(j*U.jk]jj]jh]j+Uji]jn]j,j-ujpM&jqhjr]r>ª(j/)�r?ª}r@ª(jYX3Running On Target Connect M3 existing GEL scripts. jZj;ªjbj¦jdj2jf}rAª(jh]ji]jj]jk]jn]ujpNjqhjr]rBªj¡)�rCª}rDª(jYX2Running On Target Connect M3 existing GEL scripts.rEªjZj?ªjbj¦jdj¥jf}rFª(jh]ji]jj]jk]jn]ujpM&jr]rGªj{X2Running On Target Connect M3 existing GEL scripts.rHª…�rIª}rJª(jYjEªjZjCªubaubaubj/)�rKª}rLª(jYX5Loading the DMSC firmware ``*``.bin file to DMSC M3. jZj;ªjbj¦jdj2jf}rMª(jh]ji]jj]jk]jn]ujpNjqhjr]rNªj¡)�rOª}rPª(jYX4Loading the DMSC firmware ``*``.bin file to DMSC M3.jZjKªjbj¦jdj¥jf}rQª(jh]ji]jj]jk]jn]ujpM(jr]rRª(j{XLoading the DMSC firmware rSª…�rTª}rUª(jYXLoading the DMSC firmware jZjOªubji')�rVª}rWª(jYX``*``jf}rXª(jh]ji]jj]jk]jn]ujZjOªjr]rYªj{X*…�rZª}r[ª(jYUjZjVªubajdjq'ubj{X.bin file to DMSC M3.r\ª…�r]ª}r^ª(jYX.bin file to DMSC M3.jZjOªubeubaubj/)�r_ª}r`ª(jYXMRun the R5F Init code which performs the board configuration initialization. jZj;ªjbj¦jdj2jf}raª(jh]ji]jj]jk]jn]ujpNjqhjr]rbªj¡)�rcª}rdª(jYXLRun the R5F Init code which performs the board configuration initialization.reªjZj_ªjbj¦jdj¥jf}rfª(jh]ji]jj]jk]jn]ujpM*jr]rgªj{XLRun the R5F Init code which performs the board configuration initialization.rhª…�riª}rjª(jYjeªjZjcªubaubaubeubj¡)�rkª}rlª(jYXŠAt the end of the setup, the R5F and A53 are in a clean state to load code and debug the application with the SYSFW loaded on the M3 core.rmªjZjªjbj¦jdj¥jf}rnª(jh]ji]jj]jk]jn]ujpM,jqhjr]roªj{XŠAt the end of the setup, the R5F and A53 are in a clean state to load code and debug the application with the SYSFW loaded on the M3 core.rpª…�rqª}rrª(jYjmªjZjkªubaubj¡)�rsª}rtª(jYXB**Steps to Link and Run the DSS Script for DMSC Firmware Loading**ruªjZjªjbj¦jdj¥jf}rvª(jh]ji]jj]jk]jn]ujpM.jqhjr]rwªjü)�rxª}ryª(jYjuªjf}rzª(jh]ji]jj]jk]jn]ujZjsªjr]r{ªj{X>Steps to Link and Run the DSS Script for DMSC Firmware Loadingr|ª…�r}ª}r~ª(jYUjZjxªubajdjubaubj%)�rª}r€ª(jYUjZjªjbj¦jdj(jf}r�ª(j*U.jk]jj]jh]j+Uji]jn]j,j-ujpM0jqhjr]r‚ªj/)�rƒª}r„ª(jYXƒUpdate the file "pdk/packages/ti/drv/sciclient/tools/ccsLoadDmsc/launch_am65xx.js" for the following variable to your PC location: jZjªjbj¦jdj2jf}r…ª(jh]ji]jj]jk]jn]ujpNjqhjr]r†ªj¡)�r‡ª}rˆª(jYX‚Update the file "pdk/packages/ti/drv/sciclient/tools/ccsLoadDmsc/launch_am65xx.js" for the following variable to your PC location:r‰ªjZjƒªjbj¦jdj¥jf}rŠª(jh]ji]jj]jk]jn]ujpM0jr]r‹ªj{X‚Update the file "pdk/packages/ti/drv/sciclient/tools/ccsLoadDmsc/launch_am65xx.js" for the following variable to your PC location:rŒª…�r�ª}rŽª(jYj‰ªjZj‡ªubaubaubaubj=)�r�ª}r�ª(jYUjZjªjbNjdj@jf}r‘ª(jh]ji]jj]jk]jn]ujpNjqhjr]r’ª(j)�r“ª}r”ª(jYXý // // Set this to 1 to allow loading the GEL files directly from the ccxml file. disableGelLoad = 1; if (disableGelLoad == 0) { //Path to GEL files gelFilePath = "C:/ti/ccsv8/ccs_base/emulation/gel/AM65xEVM"; } // Path to the directory in which this file would be residing. CCS expects // absolute paths to load the binaries. thisJsFileDirectory = "pdk/packages/ti/drv/sciclient/tools/ccsLoadDmsc"; //jZj�ªjbj¦jdjjf}r•ª(j‰jXcjöj÷jk]jj]jh]j }r–ªUhl_linesr—ª]r˜ª(KK esji]jn]ujpM2jr]r™ªj{Xý // // Set this to 1 to allow loading the GEL files directly from the ccxml file. disableGelLoad = 1; if (disableGelLoad == 0) { //Path to GEL files gelFilePath = "C:/ti/ccsv8/ccs_base/emulation/gel/AM65xEVM"; } // Path to the directory in which this file would be residing. CCS expects // absolute paths to load the binaries. thisJsFileDirectory = "pdk/packages/ti/drv/sciclient/tools/ccsLoadDmsc"; //ršª…�r›ª}rœª(jYUjZj“ªubaubjC)�r�ª}ržª(jYUjf}rŸª(jGX*jk]jj]jh]ji]jn]ujZj�ªjr]r ª(j/)�r¡ª}r¢ª(jYX[Set disableGelLoad =1 if GEL files is linked to the cores in the target configuration file.r£ªjf}r¤ª(jh]ji]jj]jk]jn]ujZj�ªjr]r¥ªj¡)�r¦ª}r§ª(jYj£ªjZj¡ªjbj¦jdj¥jf}r¨ª(jh]ji]jj]jk]jn]ujpMCjr]r©ªj{X[Set disableGelLoad =1 if GEL files is linked to the cores in the target configuration file.rªª…�r«ª}r¬ª(jYj£ªjZj¦ªubaubajdj2ubj/)�r­ª}r®ª(jYXjThe variable "gelFilePath" doesn't need to be updated if CCS is installed in the default C:/ti/ directory.r¯ªjf}r°ª(jh]ji]jj]jk]jn]ujZj�ªjr]r±ªj¡)�r²ª}r³ª(jYj¯ªjZj­ªjbj¦jdj¥jf}r´ª(jh]ji]jj]jk]jn]ujpMDjr]rµªj{XjThe variable "gelFilePath" doesn't need to be updated if CCS is installed in the default C:/ti/ directory.r¶ª…�r·ª}r¸ª(jYj¯ªjZj²ªubaubajdj2ubj/)�r¹ª}rºª(jYX^The variable "thisJsFileDirectory" needs to be updated to point to the PDK install directory. jf}r»ª(jh]ji]jj]jk]jn]ujZj�ªjr]r¼ªj¡)�r½ª}r¾ª(jYX]The variable "thisJsFileDirectory" needs to be updated to point to the PDK install directory.r¿ªjZj¹ªjbj¦jdj¥jf}rÀª(jh]ji]jj]jk]jn]ujpMEjr]rÁªj{X]The variable "thisJsFileDirectory" needs to be updated to point to the PDK install directory.rª…�rê}rĪ(jYj¿ªjZj½ªubaubajdj2ubejdj`ubeubj%)�rŪ}rƪ(jYUjZjªjbj¦jdj(jf}rǪ(j*U.jdKjk]jj]jh]j+Uji]jn]j,j-ujpMGjqhjr]rȪj/)�rɪ}rʪ(jYXEConnect the Javascript to the CCXML file with the steps shown below. jZjŪjbj¦jdj2jf}r˪(jh]ji]jj]jk]jn]ujpNjqhjr]r̪j¡)�rͪ}rΪ(jYXDConnect the Javascript to the CCXML file with the steps shown below.rϪjZjɪjbj¦jdj¥jf}rЪ(jh]ji]jj]jk]jn]ujpMGjr]rѪj{XDConnect the Javascript to the CCXML file with the steps shown below.rÒª…�rÓª}rÔª(jYjϪjZjͪubaubaubaubj)�rÕª}rÖª(jYXPThis step needs to be repeated if you switch workspaces or clean your workspace.rתjZjªjbj¦jdjjf}rت(jh]ji]jj]jk]jn]ujpNjqhjr]rÙªj¡)�rÚª}rÛª(jYjתjZjÕªjbj¦jdj¥jf}rܪ(jh]ji]jj]jk]jn]ujpMIjr]rݪj{XPThis step needs to be repeated if you switch workspaces or clean your workspace.rÞª…�rߪ}ràª(jYjתjZjÚªubaubaubj¡)�ráª}râª(jYXtIn the debug view after completing the basic CCS setup, Click on Debug Configurations from the button as show below:rãªjZjªjbj¦jdj¥jf}räª(jh]ji]jj]jk]jn]ujpMKjqhjr]råªj{XtIn the debug view after completing the basic CCS setup, Click on Debug Configurations from the button as show below:r檅�rçª}rèª(jYjãªjZjáªubaubjB)�réª}rêª(jYXK.. image:: ../../../images/TMDX654_EVM_Hardware_Setup/CCS_Debug_Config.png jZjªjbj¦jdjEjf}rëª(UuriXDrtos/../../../images/TMDX654_EVM_Hardware_Setup/CCS_Debug_Config.pngrìªjk]jj]jh]ji]jH}ríªU*jìªsjn]ujpMNjqhjr]ubj¡)�rîª}rïª(jYX¥Select the CCXML file from the left-hand side and populate the path to the launch_am65xx.js file in the "Initialization Script" free form field and click on "Apply".rðªjZjªjbj¦jdj¥jf}rñª(jh]ji]jj]jk]jn]ujpMOjqhjr]ròªj{X¥Select the CCXML file from the left-hand side and populate the path to the launch_am65xx.js file in the "Initialization Script" free form field and click on "Apply".róª…�rôª}rõª(jYjðªjZjîªubaubjB)�röª}r÷ª(jYXH.. image:: ../../../images/TMDX654_EVM_Hardware_Setup/CCS_Debug_XML.png jZjªjbj¦jdjEjf}røª(UuriXArtos/../../../images/TMDX654_EVM_Hardware_Setup/CCS_Debug_XML.pngrùªjk]jj]jh]ji]jH}rúªU*jùªsjn]ujpMRjqhjr]ubj¡)�rûª}rüª(jYXZOnce you Launch the CCXML file, the java script will automatically run and connect to R5F.rýªjZjªjbj¦jdj¥jf}rþª(jh]ji]jj]jk]jn]ujpMSjqhjr]rÿªj{XZOnce you Launch the CCXML file, the java script will automatically run and connect to R5F.r«…�r«}r«(jYjýªjZjûªubaubj¡)�r«}r«(jYX>**Steps to re-run the script once ccxml is already launched:**r«jZjªjbj¦jdj¥jf}r«(jh]ji]jj]jk]jn]ujpMUjqhjr]r«jü)�r«}r «(jYj«jf}r «(jh]ji]jj]jk]jn]ujZj«jr]r «j{X:Steps to re-run the script once ccxml is already launched:r «…�r «}r«(jYUjZj«ubajdjubaubj¡)�r«}r«(jYX<In the CCS window, navigate to "View → Scripting Console."r«jZjªjbj¦jdj¥jf}r«(jh]ji]jj]jk]jn]ujpMWjqhjr]r«j{X<In the CCS window, navigate to "View → Scripting Console."r«…�r«}r«(jYj«jZj«ubaubj¡)�r«}r«(jYX$In the CCS Scripting Console, type::r«jZjªjbj¦jdj¥jf}r«(jh]ji]jj]jk]jn]ujpMYjqhjr]r«j{X#In the CCS Scripting Console, type:r«…�r«}r«(jYX#In the CCS Scripting Console, type:jZj«ubaubj)�r«}r «(jYX*> load ("\\launch_am65xx.js");jZjªjbj¦jdjjf}r!«(jöj÷jk]jj]jh]ji]jn]ujpMÉjqhjr]r"«j{X*> load ("\\launch_am65xx.js");r#«…�r$«}r%«(jYUjZj«ubaubj¡)�r&«}r'«(jYX?This would give the following output on the scripting console::r(«jZjªjbj¦jdj¥jf}r)«(jh]ji]jj]jk]jn]ujpM]jqhjr]r*«j{X>This would give the following output on the scripting console:r+«…�r,«}r-«(jYX>This would give the following output on the scripting console:jZj&«ubaubj)�r.«}r/«(jYX js:> load("C:\\Users\\User\\Documents\\PDK\\pdk\\packages\\ti\\drv\\sciclient\\tools\\ccsLoadDmsc\\launch_am65xx.js") Connecting to DMSC_Cortex_M3_0! Loading DMSC Firmware... DMSC Firmware Load Done... DMSC Firmware run starting now... Connecting to MCU Cortex_R5_0!jZjªjbj¦jdjjf}r0«(jöj÷jk]jj]jh]ji]jn]ujpMÍjqhjr]r1«j{X js:> load("C:\\Users\\User\\Documents\\PDK\\pdk\\packages\\ti\\drv\\sciclient\\tools\\ccsLoadDmsc\\launch_am65xx.js") Connecting to DMSC_Cortex_M3_0! Loading DMSC Firmware... DMSC Firmware Load Done... DMSC Firmware run starting now... Connecting to MCU Cortex_R5_0!r2«…�r3«}r4«(jYUjZj.«ubaubj¡)�r5«}r6«(jYXGEL Output Log::r7«jZjªjbj¦jdj¥jf}r8«(jh]ji]jj]jk]jn]ujpMfjqhjr]r9«j{XGEL Output Log:r:«…�r;«}r<«(jYXGEL Output Log:jZj5«ubaubj)�r=«}r>«(jYXô&DMSC_Cortex_M3_0: GEL Output: Configuring AM65xEVM... DMSC_Cortex_M3_0: GEL Output: Init value actual value: 0x00000888 DMSC_Cortex_M3_0: GEL Output: Register value: 0x00000888 DMSC_Cortex_M3_0: GEL Output: ATCM is on DMSC_Cortex_M3_0: GEL Output: ATCM configured. DMSC_Cortex_M3_0: GEL Output: Assuming execution from M3 DMSC_Cortex_M3_0: GEL Output: This script sets the first address translation region to [0x8000_0000, 0x0000_0000]. DMSC_Cortex_M3_0: GEL Output: It also sets the second address translation region to [0x6000_0000, 0x4000_0000]. DMSC_Cortex_M3_0: GEL Output: Setting all PLLs in progress. This may take some time. DMSC_Cortex_M3_0: GEL Output: 0 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 10 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 20 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 30 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 40 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 50 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 60 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 70 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 80 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 90 Percent Complete... DMSC_Cortex_M3_0: GEL Output: Setting all PLLs done! DMSC_Cortex_M3_0: GEL Output: Powering up all PSC power domains in progress... DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_WKUP_COMMON DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_DMSC DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_WKUP2MCU DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_WKUP2MAIN_INFRA DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_DEBUG2DMSC DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_WKUP_GPIO DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU2MAIN_INFRA DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU2MAIN DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU2WKUP DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MAIN2MCU DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_COMMON DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_TEST DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_MCAN_0 DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_MCAN_1 DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_OSPI_0 DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_OSPI_1 DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_HYPERBUS DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_DEBUG DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_R5_0 DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_R5_1 DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MAIN_INFRA DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MAIN_TEST DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MAIN_PBIST DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_CC_TOP DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_A53_CLUSTER_0 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_A53_0 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_A53_1 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_A53_CLUSTER_1 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_A53_2 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_A53_3 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MAIN_DEBUG DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_DSS DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MMC DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_CAL DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_PCIE_0 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_PCIE_1 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_USB_0 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_USB_1 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_SAUL DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_PER_COMMON DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_NB DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_SERDES_0 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_SERDES_1 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_ICSSG_0 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_ICSSG_1 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_ICSSG_2 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_GPU DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_EMIF_DATA DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_EMIF_CFG DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up all PSC power domains done! MCU_PULSAR_Cortex_R5_0: GEL Output: VTT Regulator Enabled MCU_PULSAR_Cortex_R5_0: GEL Output: PHY Init complete MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x8000000F MCU_PULSAR_Cortex_R5_0: GEL Output: Waiting for DRAM Init to complete... MCU_PULSAR_Cortex_R5_0: GEL Output: DRAM Init complete MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x8000001F MCU_PULSAR_Cortex_R5_0: GEL Output: Waiting for write leveling to complete MCU_PULSAR_Cortex_R5_0: GEL Output: Write leveling complete MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x8000003F MCU_PULSAR_Cortex_R5_0: GEL Output: checking status per byte... MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_DX0GSR0 = 0x00A728A0 MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_DX1GSR0 = 0x00AA2920 MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_DX2GSR0 = 0x00AB2920 MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_DX3GSR0 = 0x00AA2A20 MCU_PULSAR_Cortex_R5_0: GEL Output: Waiting for Read DQS training to complete MCU_PULSAR_Cortex_R5_0: GEL Output: Read DQS training complete MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x8000007F MCU_PULSAR_Cortex_R5_0: GEL Output: checking status per byte... MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_DX0RSR0 = 0x00000000 MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_DX1RSR0 = 0x00000000 MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_DX2RSR0 = 0x00000000 MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_DX3RSR0 = 0x00000000 MCU_PULSAR_Cortex_R5_0: GEL Output: Waiting for Write leveling adjustment to complete MCU_PULSAR_Cortex_R5_0: GEL Output: Write leveling adjustment complete MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x800000FF MCU_PULSAR_Cortex_R5_0: GEL Output: Waiting for Read deskew to complete MCU_PULSAR_Cortex_R5_0: GEL Output: Read deskew complete MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x800001FF MCU_PULSAR_Cortex_R5_0: GEL Output: Waiting for Write deskew to complete MCU_PULSAR_Cortex_R5_0: GEL Output: Write deskew complete MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x800003FF MCU_PULSAR_Cortex_R5_0: GEL Output: Waiting for Read Eye training to complete MCU_PULSAR_Cortex_R5_0: GEL Output: Read Eye training complete MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x800007FF MCU_PULSAR_Cortex_R5_0: GEL Output: Waiting for Write Eye training to complete MCU_PULSAR_Cortex_R5_0: GEL Output: Write Eye training complete MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x80000FFF MCU_PULSAR_Cortex_R5_0: GEL Output: Waiting for VREF training to complete MCU_PULSAR_Cortex_R5_0: GEL Output: VREF training complete MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x80004FFF MCU_PULSAR_Cortex_R5_0: GEL Output: ==== DDR4 Initialization has PASSED!!!! ====jZjªjbj¦jdjjf}r?«(jöj÷jk]jj]jh]ji]jn]ujpMÖjqhjr]r@«j{Xô&DMSC_Cortex_M3_0: GEL Output: Configuring AM65xEVM... DMSC_Cortex_M3_0: GEL Output: Init value actual value: 0x00000888 DMSC_Cortex_M3_0: GEL Output: Register value: 0x00000888 DMSC_Cortex_M3_0: GEL Output: ATCM is on DMSC_Cortex_M3_0: GEL Output: ATCM configured. DMSC_Cortex_M3_0: GEL Output: Assuming execution from M3 DMSC_Cortex_M3_0: GEL Output: This script sets the first address translation region to [0x8000_0000, 0x0000_0000]. DMSC_Cortex_M3_0: GEL Output: It also sets the second address translation region to [0x6000_0000, 0x4000_0000]. DMSC_Cortex_M3_0: GEL Output: Setting all PLLs in progress. This may take some time. DMSC_Cortex_M3_0: GEL Output: 0 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 10 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 20 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 30 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 40 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 50 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 60 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 70 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 80 Percent Complete... DMSC_Cortex_M3_0: GEL Output: 90 Percent Complete... DMSC_Cortex_M3_0: GEL Output: Setting all PLLs done! DMSC_Cortex_M3_0: GEL Output: Powering up all PSC power domains in progress... DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_WKUP_COMMON DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_DMSC DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_WKUP2MCU DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_WKUP2MAIN_INFRA DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_DEBUG2DMSC DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_WKUP_GPIO DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU2MAIN_INFRA DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU2MAIN DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU2WKUP DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MAIN2MCU DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_COMMON DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_TEST DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_MCAN_0 DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_MCAN_1 DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_OSPI_0 DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_OSPI_1 DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_HYPERBUS DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_DEBUG DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_R5_0 DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MCU_R5_1 DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MAIN_INFRA DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MAIN_TEST DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MAIN_PBIST DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_CC_TOP DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_A53_CLUSTER_0 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_A53_0 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_A53_1 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_A53_CLUSTER_1 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_A53_2 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_A53_3 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MAIN_DEBUG DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_DSS DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_MMC DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_CAL DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_PCIE_0 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_PCIE_1 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_USB_0 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_USB_1 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_SAUL DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_PER_COMMON DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_NB DMSC_Cortex_M3_0: GEL Output: No change needed. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_SERDES_0 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_SERDES_1 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_ICSSG_0 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_ICSSG_1 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_ICSSG_2 DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_GPU DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_EMIF_DATA DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up LPSC_EMIF_CFG DMSC_Cortex_M3_0: GEL Output: Power domain and module state changed successfully. DMSC_Cortex_M3_0: GEL Output: Powering up all PSC power domains done! MCU_PULSAR_Cortex_R5_0: GEL Output: VTT Regulator Enabled MCU_PULSAR_Cortex_R5_0: GEL Output: PHY Init complete MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x8000000F MCU_PULSAR_Cortex_R5_0: GEL Output: Waiting for DRAM Init to complete... MCU_PULSAR_Cortex_R5_0: GEL Output: DRAM Init complete MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x8000001F MCU_PULSAR_Cortex_R5_0: GEL Output: Waiting for write leveling to complete MCU_PULSAR_Cortex_R5_0: GEL Output: Write leveling complete MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x8000003F MCU_PULSAR_Cortex_R5_0: GEL Output: checking status per byte... MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_DX0GSR0 = 0x00A728A0 MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_DX1GSR0 = 0x00AA2920 MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_DX2GSR0 = 0x00AB2920 MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_DX3GSR0 = 0x00AA2A20 MCU_PULSAR_Cortex_R5_0: GEL Output: Waiting for Read DQS training to complete MCU_PULSAR_Cortex_R5_0: GEL Output: Read DQS training complete MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x8000007F MCU_PULSAR_Cortex_R5_0: GEL Output: checking status per byte... MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_DX0RSR0 = 0x00000000 MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_DX1RSR0 = 0x00000000 MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_DX2RSR0 = 0x00000000 MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_DX3RSR0 = 0x00000000 MCU_PULSAR_Cortex_R5_0: GEL Output: Waiting for Write leveling adjustment to complete MCU_PULSAR_Cortex_R5_0: GEL Output: Write leveling adjustment complete MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x800000FF MCU_PULSAR_Cortex_R5_0: GEL Output: Waiting for Read deskew to complete MCU_PULSAR_Cortex_R5_0: GEL Output: Read deskew complete MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x800001FF MCU_PULSAR_Cortex_R5_0: GEL Output: Waiting for Write deskew to complete MCU_PULSAR_Cortex_R5_0: GEL Output: Write deskew complete MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x800003FF MCU_PULSAR_Cortex_R5_0: GEL Output: Waiting for Read Eye training to complete MCU_PULSAR_Cortex_R5_0: GEL Output: Read Eye training complete MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x800007FF MCU_PULSAR_Cortex_R5_0: GEL Output: Waiting for Write Eye training to complete MCU_PULSAR_Cortex_R5_0: GEL Output: Write Eye training complete MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x80000FFF MCU_PULSAR_Cortex_R5_0: GEL Output: Waiting for VREF training to complete MCU_PULSAR_Cortex_R5_0: GEL Output: VREF training complete MCU_PULSAR_Cortex_R5_0: GEL Output: DDRSS_DDRPHY_PGSR0 = 0x80004FFF MCU_PULSAR_Cortex_R5_0: GEL Output: ==== DDR4 Initialization has PASSED!!!! ====rA«…�rB«}rC«(jYUjZj=«ubaubjZ)�rD«}rE«(jYUjZjªjbj¦jdj]jf}rF«(jh]ji]jj]jk]jn]ujpM+jqhjr]rG«j`)�rH«}rI«(jYUjcKjZjD«jbj¦jdjpjf}rJ«(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubeubj[)�rK«}rL«(jYUjZj8©jbj¦jdjejf}rM«(jh]ji]jj]jk]rN«Uadditional-notes-for-gel-usersrO«ajn]rP«haujpM.jqhjr]rQ«(jt)�rR«}rS«(jYXAdditional Notes for GEL UsersrT«jZjK«jbj¦jdjxjf}rU«(jh]ji]jj]jk]jn]ujpM.jqhjr]rV«j{XAdditional Notes for GEL UsersrW«…�rX«}rY«(jYjT«jZjR«ubaubj¡)�rZ«}r[«(jYX#**R5F in Split Mode Configuration**r\«jZjK«jbj¦jdj¥jf}r]«(jh]ji]jj]jk]jn]ujpM0jqhjr]r^«jü)�r_«}r`«(jYj\«jf}ra«(jh]ji]jj]jk]jn]ujZjZ«jr]rb«j{XR5F in Split Mode Configurationrc«…�rd«}re«(jYUjZj_«ubajdjubaubj¡)�rf«}rg«(jYXûAM65x EVM ships with the dual Cortex R5F configured in lockstep mode. The AM65x EVM GEL file provides a GEL function "Change_MCUSS_to_SplitMode" that can be added to OnTargetConnect or invoked from the DMSC_Cortex_M3 to set the dual R5F in split mode.rh«jZjK«jbj¦jdj¥jf}ri«(jh]ji]jj]jk]jn]ujpM2jqhjr]rj«j{XûAM65x EVM ships with the dual Cortex R5F configured in lockstep mode. The AM65x EVM GEL file provides a GEL function "Change_MCUSS_to_SplitMode" that can be added to OnTargetConnect or invoked from the DMSC_Cortex_M3 to set the dual R5F in split mode.rk«…�rl«}rm«(jYjh«jZjf«ubaubj¡)�rn«}ro«(jYX%**Configuring PRU-ICSS in Sync Mode**rp«jZjK«jbj¦jdj¥jf}rq«(jh]ji]jj]jk]jn]ujpM5jqhjr]rr«jü)�rs«}rt«(jYjp«jf}ru«(jh]ji]jj]jk]jn]ujZjn«jr]rv«j{X!Configuring PRU-ICSS in Sync Moderw«…�rx«}ry«(jYUjZjs«ubajdjubaubj¡)�rz«}r{«(jYX‰The PRU-ICSS subsystem can be configured to SYNC mode (250 Mhz) using the GEL function "PRU_ICSSG_SyncMode_250MHz" from Cortex A53 or R5Fr|«jZjK«jbj¦jdj¥jf}r}«(jh]ji]jj]jk]jn]ujpM7jqhjr]r~«j{X‰The PRU-ICSS subsystem can be configured to SYNC mode (250 Mhz) using the GEL function "PRU_ICSSG_SyncMode_250MHz" from Cortex A53 or R5Fr«…�r€«}r�«(jYj|«jZjz«ubaubjî)�r‚«}rƒ«(jYXAM572x GP EVM Hardware SetupjZjK«jbjcjdjôjf}r„«(jöj÷jk]jj]jh]ji]jn]ujpKhjqhjr]r…«j{XAM572x GP EVM Hardware Setupr†«…�r‡«}rˆ«(jYUjZj‚«ubaubjî)�r‰«}rŠ«(jYX4====================================================jZjK«jbjcjdjôjf}r‹«(jöj÷jk]jj]jh]ji]jn]ujpKijqhjr]rŒ«j{X4====================================================r�«…�rŽ«}r�«(jYUjZj‰«ubaubjî)�r�«}r‘«(jYXDhttp://processors.wiki.ti.com/index.php/AM572x_GP_EVM_Hardware_SetupjZjK«jbjr\jdjôjf}r’«(jöj÷jk]jj]jh]ji]jn]ujpKjqhjr]r“«j{XDhttp://processors.wiki.ti.com/index.php/AM572x_GP_EVM_Hardware_Setupr”«…�r•«}r–«(jYUjZj�«ubaubeubeubeubeubjbj¦jdjejf}r—«(jh]r˜«j÷raji]jj]jk]r™«Uevm-layout-and-key-componentsrš«ajn]ujpKjqhjr]r›«(jt)�rœ«}r�«(jYXEVM Layout and Key Componentsrž«jZjN\jbj¦jdjxjf}rŸ«(jh]ji]jj]jk]jn]ujpKjqhjr]r «j{XEVM Layout and Key Componentsr¡«…�r¢«}r£«(jYjž«jZjœ«ubaubj¡)�r¤«}r¥«(jYXXRefer to the image below which highlights the key components available on the AM65x EVM.r¦«jZjN\jbj¦jdj¥jf}r§«(jh]ji]jj]jk]jn]ujpKjqhjr]r¨«j{XXRefer to the image below which highlights the key components available on the AM65x EVM.r©«…�rª«}r««(jYj¦«jZj¤«ubaubjB)�r¬«}r­«(jYXM.. image:: ../../../images/TMDX654_EVM_Hardware_Setup/AM65x_IDK_Diagram.png jZjN\jbj¦jdjEjf}r®«(UuriXErtos/../../../images/TMDX654_EVM_Hardware_Setup/AM65x_IDK_Diagram.pngr¯«jk]jj]jh]ji]jH}r°«U*j¯«sjn]ujpK jqhjr]ubj¡)�r±«}r²«(jYXóThe complete feature set for the AM65x EVM is described in AM65x EVM User Manual. This section only provides description of components that are required to complete basic EVM setup for debugging code using an emulator and Code Composer Studio.r³«jZjN\jbj¦jdj¥jf}r´«(jh]ji]jj]jk]jn]ujpK jqhjr]rµ«j{XóThe complete feature set for the AM65x EVM is described in AM65x EVM User Manual. This section only provides description of components that are required to complete basic EVM setup for debugging code using an emulator and Code Composer Studio.r¶«…�r·«}r¸«(jYj³«jZj±«ubaubj[)�r¹«}rº«(jYUjìKjZjN\jbj¦jdjejf}r»«(jh]r¼«jsaji]jj]jk]r½«U%supported-jtag-debug-probes-emulatorsr¾«ajn]ujpKjqhjr]r¿«(jt)�rÀ«}rÁ«(jYX'Supported JTAG Debug Probes (Emulators)r«jZj¹«jbj¦jdjxjf}rë(jh]ji]jj]jk]jn]ujpKjqhjr]rÄ«j{X'Supported JTAG Debug Probes (Emulators)rÅ«…�rÆ«}rÇ«(jYj«jZjÀ«ubaubj¡)�rÈ«}rÉ«(jYX€The AM65x EVM includes a cTI20 JTAG connector for external emulators and a micro USB connector for the on-board XDS110 emulator.rÊ«jZj¹«jbj¦jdj¥jf}rË«(jh]ji]jj]jk]jn]ujpKjqhjr]rÌ«j{X€The AM65x EVM includes a cTI20 JTAG connector for external emulators and a micro USB connector for the on-board XDS110 emulator.rÍ«…�rΫ}rÏ«(jYjÊ«jZjÈ«ubaubj¡)�rЫ}rÑ«(jYXXFor XDS110 connect a USB cable to the micro USB connector J23 on the front of the board.rÒ«jZj¹«jbj¦jdj¥jf}rÓ«(jh]ji]jj]jk]jn]ujpKjqhjr]rÔ«j{XXFor XDS110 connect a USB cable to the micro USB connector J23 on the front of the board.rÕ«…�rÖ«}r׫(jYjÒ«jZjЫubaubj¡)�rØ«}rÙ«(jYXEFor external XDS200, connect the emulator to the cTI20 pin connector.rÚ«jZj¹«jbj¦jdj¥jf}rÛ«(jh]ji]jj]jk]jn]ujpKjqhjr]rÜ«j{XEFor external XDS200, connect the emulator to the cTI20 pin connector.rÝ«…�rÞ«}rß«(jYjÚ«jZjØ«ubaubj¡)�rà«}rá«(jYXoFor Lauterbach or emulators with MIPI60 or TI14 pin connector, an adapter must be used to connect the emulator.râ«jZj¹«jbj¦jdj¥jf}rã«(jh]ji]jj]jk]jn]ujpKjqhjr]rä«j{XoFor Lauterbach or emulators with MIPI60 or TI14 pin connector, an adapter must be used to connect the emulator.rå«…�ræ«}rç«(jYjâ«jZjà«ubaubj£)�rè«}ré«(jYXwDo not connect an XDS560 emulator to the J16 application board connector. This may damage the EVM and the emulator pod.rê«jZj¹«jbj¦jdj¦jf}rë«(jh]ji]jj]jk]jn]ujpNjqhjr]rì«j¡)�rí«}rî«(jYjê«jZjè«jbj¦jdj¥jf}rï«(jh]ji]jj]jk]jn]ujpKjr]rð«j{XwDo not connect an XDS560 emulator to the J16 application board connector. This may damage the EVM and the emulator pod.rñ«…�rò«}ró«(jYjê«jZjí«ubaubaubjB)�rô«}rõ«(jYXc.. image:: ../../../images/TMDX654_EVM_Hardware_Setup/AM65x_JTAG.png :width: 600px jZj¹«jbj¦jdjEjf}rö«(jh]UuriX>rtos/../../../images/TMDX654_EVM_Hardware_Setup/AM65x_JTAG.pngr÷«jk]jj]UwidthX600pxji]jH}rø«U*j÷«sjn]ujpNjqhjr]ubjZ)�rù«}rú«(jYUjZj¹«jbj¦jdj]jf}rû«(jh]ji]jj]jk]jn]ujpKjqhjr]rü«j`)�rý«}rþ«(jYUjcKjZjù«jbj¦jdjpjf}rÿ«(jh]ji]jj]jk]jn]ujpKjqhjr]ubaubj¡)�r¬}r¬(jYX If you are using an external emulator pod, you must select which connector sources the clock. The AM65x EVM can support the MIPI60 or cTI20 connector. The JTAG select jumper must be set correctly to specify the clock source as either the MIPI60 or the cTI20 connector.r¬jZj¹«jbj¦jdj¥jf}r¬(jh]ji]jj]jk]jn]ujpK!jqhjr]r¬j{X If you are using an external emulator pod, you must select which connector sources the clock. The AM65x EVM can support the MIPI60 or cTI20 connector. The JTAG select jumper must be set correctly to specify the clock source as either the MIPI60 or the cTI20 connector.r¬…�r¬}r¬(jYj¬jZj¬ubaubjB)�r¬}r ¬(jYXN.. image:: ../../../images/TMDX654_EVM_Hardware_Setup/AM65x_Clock_Select.png jZj¹«jbj¦jdjEjf}r ¬(UuriXFrtos/../../../images/TMDX654_EVM_Hardware_Setup/AM65x_Clock_Select.pngr ¬jk]jj]jh]ji]jH}r ¬U*j ¬sjn]ujpK%jqhjr]ubeubj[)�r ¬}r¬(jYUjZjN\jbj¦jdjejf}r¬(jh]ji]jj]jk]r¬Ubootmode-switchesr¬ajn]r¬huaujpK'jqhjr]r¬(jt)�r¬}r¬(jYXBOOTMODE Switchesr¬jZj ¬jbj¦jdjxjf}r¬(jh]ji]jj]jk]jn]ujpK'jqhjr]r¬j{XBOOTMODE Switchesr¬…�r¬}r¬(jYj¬jZj¬ubaubjB)�r¬}r¬(jYXK.. image:: ../../../images/TMDX654_EVM_Hardware_Setup/AM65x_Boot_Modes.png jZj ¬jbj¦jdjEjf}r¬(UuriXDrtos/../../../images/TMDX654_EVM_Hardware_Setup/AM65x_Boot_Modes.pngr¬jk]jj]jh]ji]jH}r ¬U*j¬sjn]ujpK*jqhjr]ubj¡)�r!¬}r"¬(jYX**MCU BOOTMODE shown:**r#¬jZj ¬jbj¦jdj¥jf}r$¬(jh]ji]jj]jk]jn]ujpK+jqhjr]r%¬jü)�r&¬}r'¬(jYj#¬jf}r(¬(jh]ji]jj]jk]jn]ujZj!¬jr]r)¬j{XMCU BOOTMODE shown:r*¬…�r+¬}r,¬(jYUjZj&¬ubajdjubaubj¡)�r-¬}r.¬(jYX(MCUBOOTMODE[8:0] – **0000** 10 **011**r/¬jZj ¬jbj¦jdj¥jf}r0¬(jh]ji]jj]jk]jn]ujpK-jqhjr]r1¬(j{XMCUBOOTMODE[8:0] – r2¬…�r3¬}r4¬(jYXMCUBOOTMODE[8:0] – jZj-¬ubjü)�r5¬}r6¬(jYX**0000**jf}r7¬(jh]ji]jj]jk]jn]ujZj-¬jr]r8¬j{X0000r9¬…�r:¬}r;¬(jYUjZj5¬ubajdjubj{X 10 r<¬…�r=¬}r>¬(jYX 10 jZj-¬ubjü)�r?¬}r@¬(jYX**011**jf}rA¬(jh]ji]jj]jk]jn]ujZj-¬jr]rB¬j{X011rC¬…�rD¬}rE¬(jYUjZj?¬ubajdjubeubj¡)�rF¬}rG¬(jYX(Values in bold are fixed with resistors.rH¬jZj ¬jbj¦jdj¥jf}rI¬(jh]ji]jj]jk]jn]ujpK/jqhjr]rJ¬j{X(Values in bold are fixed with resistors.rK¬…�rL¬}rM¬(jYjH¬jZjF¬ubaubj¡)�rN¬}rO¬(jYX**BOOTMODE shown:**rP¬jZj ¬jbj¦jdj¥jf}rQ¬(jh]ji]jj]jk]jn]ujpK1jqhjr]rR¬jü)�rS¬}rT¬(jYjP¬jf}rU¬(jh]ji]jj]jk]jn]ujZjN¬jr]rV¬j{XBOOTMODE shown:rW¬…�rX¬}rY¬(jYUjZjS¬ubajdjubaubj¡)�rZ¬}r[¬(jYX$BOOTMODE[18:0] - 1111111000011110000r\¬jZj ¬jbj¦jdj¥jf}r]¬(jh]ji]jj]jk]jn]ujpK3jqhjr]r^¬j{X$BOOTMODE[18:0] - 1111111000011110000r_¬…�r`¬}ra¬(jYj\¬jZjZ¬ubaubj[)�rb¬}rc¬(jYUjZj ¬jbj¦jdjejf}rd¬(jh]ji]jj]jk]re¬Urecommended-boot-moderf¬ajn]rg¬h�aujpK9jqhjr]rh¬(jt)�ri¬}rj¬(jYXRecommended Boot Moderk¬jZjb¬jbj¦jdjxjf}rl¬(jh]ji]jj]jk]jn]ujpK9jqhjr]rm¬j{XRecommended Boot Modern¬…�ro¬}rp¬(jYjk¬jZji¬ubaubj¡)�rq¬}rr¬(jYXOBOOTMODE[18:0] = 000000000 0000000000 MCUBOOTMODE[8:0]= 000000011 (SLEEP BOOT)rs¬jZjb¬jbj¦jdj¥jf}rt¬(jh]ji]jj]jk]jn]ujpK:jqhjr]ru¬j{XOBOOTMODE[18:0] = 000000000 0000000000 MCUBOOTMODE[8:0]= 000000011 (SLEEP BOOT)rv¬…�rw¬}rx¬(jYjs¬jZjq¬ubaubj )�ry¬}rz¬(jYUjZjb¬jbNjdj3 jf}r{¬(jh]ji]jj]jk]jn]ujpNjqhjr]r|¬j )�r}¬}r~¬(jYXH**Boot Settings** * SW2 – All switches OFF * SW3 – All switches OFF jZjy¬jbj¦jdj jf}r¬(jh]ji]jj]jk]jn]ujpK>jr]r€¬(j )�r�¬}r‚¬(jYX**Boot Settings**rƒ¬jZj}¬jbj¦jdj jf}r„¬(jh]ji]jj]jk]jn]ujpK>jr]r…¬jü)�r†¬}r‡¬(jYjƒ¬jf}rˆ¬(jh]ji]jj]jk]jn]ujZj�¬jr]r‰¬j{X Boot SettingsrЬ…�r‹¬}rŒ¬(jYUjZj†¬ubajdjubaubj )�r�¬}rެ(jYUjf}r�¬(jh]ji]jj]jk]jn]ujZj}¬jr]r�¬jC)�r‘¬}r’¬(jYUjf}r“¬(jGX*jk]jj]jh]ji]jn]ujZj�¬jr]r”¬(j/)�r•¬}r–¬(jYXSW2 – All switches OFFr—¬jf}r˜¬(jh]ji]jj]jk]jn]ujZj‘¬jr]r™¬j¡)�rš¬}r›¬(jYj—¬jZj•¬jbj¦jdj¥jf}rœ¬(jh]ji]jj]jk]jn]ujpK=jr]r�¬j{XSW2 – All switches OFFrž¬…�rŸ¬}r ¬(jYj—¬jZjš¬ubaubajdj2ubj/)�r¡¬}r¢¬(jYXSW3 – All switches OFF jf}r£¬(jh]ji]jj]jk]jn]ujZj‘¬jr]r¤¬j¡)�r¥¬}r¦¬(jYXSW3 – All switches OFFr§¬jZj¡¬jbj¦jdj¥jf}r¨¬(jh]ji]jj]jk]jn]ujpK>jr]r©¬j{XSW3 – All switches OFFrª¬…�r«¬}r¬¬(jYj§¬jZj¥¬ubaubajdj2ubejdj`ubajdj2 ubeubaubj¡)�r­¬}r®¬(jYXOBOOTMODE[18:0] = 000000100 0000000110 MCUBOOTMODE[8:0]= 000000011 (SD BOOT)r¯¬jZjb¬jbj¦jdj¥jf}r°¬(jh]ji]jj]jk]jn]ujpK@jqhjr]r±¬j{XOBOOTMODE[18:0] = 000000100 0000000110 MCUBOOTMODE[8:0]= 000000011 (SD BOOT)r²¬…�r³¬}r´¬(jYj¯¬jZj­¬ubaubjB)�rµ¬}r¶¬(jYXN.. image:: ../../../images/TMDX654_EVM_Hardware_Setup/AM65x_Boot_Switches.png jZjb¬jbj¦jdjEjf}r·¬(UuriXGrtos/../../../images/TMDX654_EVM_Hardware_Setup/AM65x_Boot_Switches.pngr¸¬jk]jj]jh]ji]jH}r¹¬U*j¸¬sjn]ujpKCjqhjr]ubj¡)�rº¬}r»¬(jYXJFor full details on supported boot modes, please refer to the table below.r¼¬jZjb¬jbj¦jdj¥jf}r½¬(jh]ji]jj]jk]jn]ujpKDjqhjr]r¾¬j{XJFor full details on supported boot modes, please refer to the table below.r¿¬…�rÀ¬}rÁ¬(jYj¼¬jZjº¬ubaubjd$)�r¬}rì(jYUjZjb¬jbj¦jdjg$jf}rĬ(jh]ji]jj]jk]jn]ujpNjqhjr]rŬjj$)�rƬ}rǬ(jYUjf}rȬ(jk]jj]jh]ji]jn]UcolsKujZj¬jr]rɬ(jo$)�rʬ}rˬ(jYUjf}r̬(jk]jj]jh]ji]jn]UcolwidthKujZjƬjr]jdjs$ubjo$)�rͬ}rά(jYUjf}rϬ(jk]jj]jh]ji]jn]UcolwidthKujZjƬjr]jdjs$ubjo$)�rЬ}rѬ(jYUjf}rÒ¬(jk]jj]jh]ji]jn]UcolwidthKujZjƬjr]jdjs$ubjo$)�rÓ¬}rÔ¬(jYUjf}rÕ¬(jk]jj]jh]ji]jn]UcolwidthKujZjƬjr]jdjs$ubjo$)�rÖ¬}r׬(jYUjf}rج(jk]jj]jh]ji]jn]UcolwidthKCujZjƬjr]jdjs$ubjz$)�rÙ¬}rÚ¬(jYUjf}rÛ¬(jh]ji]jj]jk]jn]ujZjƬjr]rܬj$)�rݬ}rÞ¬(jYUjf}r߬(jh]ji]jj]jk]jn]ujZjÙ¬jr]rà¬(j„$)�rá¬}râ¬(jYUjf}rã¬(jh]ji]jj]jk]jn]ujZjݬjr]rä¬j¡)�rå¬}ræ¬(jYXSW3.4rç¬jZjá¬jbj¦jdj¥jf}rè¬(jh]ji]jj]jk]jn]ujpKGjr]ré¬j{XSW3.4rꬅ�rë¬}rì¬(jYjç¬jZjå¬ubaubajdj‘$ubj„$)�rí¬}rî¬(jYUjf}rï¬(jh]ji]jj]jk]jn]ujZjݬjr]rð¬j¡)�rñ¬}rò¬(jYXSW3.3ró¬jZjí¬jbj¦jdj¥jf}rô¬(jh]ji]jj]jk]jn]ujpKGjr]rõ¬j{XSW3.3rö¬…�r÷¬}rø¬(jYjó¬jZjñ¬ubaubajdj‘$ubj„$)�rù¬}rú¬(jYUjf}rû¬(jh]ji]jj]jk]jn]ujZjݬjr]rü¬j¡)�rý¬}rþ¬(jYXSW3.2rÿ¬jZjù¬jbj¦jdj¥jf}r­(jh]ji]jj]jk]jn]ujpKGjr]r­j{XSW3.2r­…�r­}r­(jYjÿ¬jZjý¬ubaubajdj‘$ubj„$)�r­}r­(jYUjf}r­(jh]ji]jj]jk]jn]ujZjݬjr]r­j¡)�r ­}r ­(jYXSW3.1r ­jZj­jbj¦jdj¥jf}r ­(jh]ji]jj]jk]jn]ujpKGjr]r ­j{XSW3.1r­…�r­}r­(jYj ­jZj ­ubaubajdj‘$ubj„$)�r­}r­(jYUjf}r­(jh]ji]jj]jk]jn]ujZjݬjr]r­j¡)�r­}r­(jYXPrimary Boot Device Selectedr­jZj­jbj¦jdj¥jf}r­(jh]ji]jj]jk]jn]ujpKGjr]r­j{XPrimary Boot Device Selectedr­…�r­}r­(jYj­jZj­ubaubajdj‘$ubejdjª$ubajdj«$ubj¬$)�r­}r­(jYUjf}r­(jh]ji]jj]jk]jn]ujZjƬjr]r ­(j$)�r!­}r"­(jYUjf}r#­(jh]ji]jj]jk]jn]ujZj­jr]r$­(j„$)�r%­}r&­(jYUjf}r'­(jh]ji]jj]jk]jn]ujZj!­jr]r(­j¡)�r)­}r*­(jYXOFFr+­jZj%­jbj¦jdj¥jf}r,­(jh]ji]jj]jk]jn]ujpKIjr]r-­j{XOFFr.­…�r/­}r0­(jYj+­jZj)­ubaubajdj‘$ubj„$)�r1­}r2­(jYUjf}r3­(jh]ji]jj]jk]jn]ujZj!­jr]r4­j¡)�r5­}r6­(jYXOFFr7­jZj1­jbj¦jdj¥jf}r8­(jh]ji]jj]jk]jn]ujpKIjr]r9­j{XOFFr:­…�r;­}r<­(jYj7­jZj5­ubaubajdj‘$ubj„$)�r=­}r>­(jYUjf}r?­(jh]ji]jj]jk]jn]ujZj!­jr]r@­j¡)�rA­}rB­(jYXOFFrC­jZj=­jbj¦jdj¥jf}rD­(jh]ji]jj]jk]jn]ujpKIjr]rE­j{XOFFrF­…�rG­}rH­(jYjC­jZjA­ubaubajdj‘$ubj„$)�rI­}rJ­(jYUjf}rK­(jh]ji]jj]jk]jn]ujZj!­jr]rL­j¡)�rM­}rN­(jYXOFFrO­jZjI­jbj¦jdj¥jf}rP­(jh]ji]jj]jk]jn]ujpKIjr]rQ­j{XOFFrR­…�rS­}rT­(jYjO­jZjM­ubaubajdj‘$ubj„$)�rU­}rV­(jYUjf}rW­(jh]ji]jj]jk]jn]ujZj!­jr]rX­j¡)�rY­}rZ­(jYXSleep (No boot - debug mode)r[­jZjU­jbj¦jdj¥jf}r\­(jh]ji]jj]jk]jn]ujpKIjr]r]­j{XSleep (No boot - debug mode)r^­…�r_­}r`­(jYj[­jZjY­ubaubajdj‘$ubejdjª$ubj$)�ra­}rb­(jYUjf}rc­(jh]ji]jj]jk]jn]ujZj­jr]rd­(j„$)�re­}rf­(jYUjf}rg­(jh]ji]jj]jk]jn]ujZja­jr]rh­j¡)�ri­}rj­(jYXOFFrk­jZje­jbj¦jdj¥jf}rl­(jh]ji]jj]jk]jn]ujpKKjr]rm­j{XOFFrn­…�ro­}rp­(jYjk­jZji­ubaubajdj‘$ubj„$)�rq­}rr­(jYUjf}rs­(jh]ji]jj]jk]jn]ujZja­jr]rt­j¡)�ru­}rv­(jYXOFFrw­jZjq­jbj¦jdj¥jf}rx­(jh]ji]jj]jk]jn]ujpKKjr]ry­j{XOFFrz­…�r{­}r|­(jYjw­jZju­ubaubajdj‘$ubj„$)�r}­}r~­(jYUjf}r­(jh]ji]jj]jk]jn]ujZja­jr]r€­j¡)�r�­}r‚­(jYXOFFrƒ­jZj}­jbj¦jdj¥jf}r„­(jh]ji]jj]jk]jn]ujpKKjr]r…­j{XOFFr†­…�r‡­}rˆ­(jYjƒ­jZj�­ubaubajdj‘$ubj„$)�r‰­}rŠ­(jYUjf}r‹­(jh]ji]jj]jk]jn]ujZja­jr]rŒ­j¡)�r�­}rŽ­(jYXONr�­jZj‰­jbj¦jdj¥jf}r�­(jh]ji]jj]jk]jn]ujpKKjr]r‘­j{XONr’­…�r“­}r”­(jYj�­jZj�­ubaubajdj‘$ubj„$)�r•­}r–­(jYUjf}r—­(jh]ji]jj]jk]jn]ujZja­jr]r˜­j¡)�r™­}rš­(jYXOSPIr›­jZj•­jbj¦jdj¥jf}rœ­(jh]ji]jj]jk]jn]ujpKKjr]r�­j{XOSPIrž­…�rŸ­}r ­(jYj›­jZj™­ubaubajdj‘$ubejdjª$ubj$)�r¡­}r¢­(jYUjf}r£­(jh]ji]jj]jk]jn]ujZj­jr]r¤­(j„$)�r¥­}r¦­(jYUjf}r§­(jh]ji]jj]jk]jn]ujZj¡­jr]r¨­j¡)�r©­}rª­(jYXOFFr«­jZj¥­jbj¦jdj¥jf}r¬­(jh]ji]jj]jk]jn]ujpKMjr]r­­j{XOFFr®­…�r¯­}r°­(jYj«­jZj©­ubaubajdj‘$ubj„$)�r±­}r²­(jYUjf}r³­(jh]ji]jj]jk]jn]ujZj¡­jr]r´­j¡)�rµ­}r¶­(jYXOFFr·­jZj±­jbj¦jdj¥jf}r¸­(jh]ji]jj]jk]jn]ujpKMjr]r¹­j{XOFFrº­…�r»­}r¼­(jYj·­jZjµ­ubaubajdj‘$ubj„$)�r½­}r¾­(jYUjf}r¿­(jh]ji]jj]jk]jn]ujZj¡­jr]rÀ­j¡)�rÁ­}r­(jYXONríjZj½­jbj¦jdj¥jf}rÄ­(jh]ji]jj]jk]jn]ujpKMjr]rÅ­j{XONrÆ­…�rÇ­}rÈ­(jYjíjZjÁ­ubaubajdj‘$ubj„$)�rÉ­}rÊ­(jYUjf}rË­(jh]ji]jj]jk]jn]ujZj¡­jr]rÌ­j¡)�rÍ­}rέ(jYXOFFrÏ­jZjÉ­jbj¦jdj¥jf}rЭ(jh]ji]jj]jk]jn]ujpKMjr]rÑ­j{XOFFrÒ­…�rÓ­}rÔ­(jYjÏ­jZjÍ­ubaubajdj‘$ubj„$)�rÕ­}rÖ­(jYUjf}r×­(jh]ji]jj]jk]jn]ujZj¡­jr]rØ­j¡)�rÙ­}rÚ­(jYXQSPIrÛ­jZjÕ­jbj¦jdj¥jf}rÜ­(jh]ji]jj]jk]jn]ujpKMjr]rÝ­j{XQSPIrÞ­…�rß­}rà­(jYjÛ­jZjÙ­ubaubajdj‘$ubejdjª$ubj$)�rá­}râ­(jYUjf}rã­(jh]ji]jj]jk]jn]ujZj­jr]rä­(j„$)�rå­}ræ­(jYUjf}rç­(jh]ji]jj]jk]jn]ujZjá­jr]rè­j¡)�ré­}rê­(jYXOFFrë­jZjå­jbj¦jdj¥jf}rì­(jh]ji]jj]jk]jn]ujpKOjr]rí­j{XOFFrî­…�rï­}rð­(jYjë­jZjé­ubaubajdj‘$ubj„$)�rñ­}rò­(jYUjf}ró­(jh]ji]jj]jk]jn]ujZjá­jr]rô­j¡)�rõ­}rö­(jYXOFFr÷­jZjñ­jbj¦jdj¥jf}rø­(jh]ji]jj]jk]jn]ujpKOjr]rù­j{XOFFrú­…�rû­}rü­(jYj÷­jZjõ­ubaubajdj‘$ubj„$)�rý­}rþ­(jYUjf}rÿ­(jh]ji]jj]jk]jn]ujZjá­jr]r®j¡)�r®}r®(jYXONr®jZjý­jbj¦jdj¥jf}r®(jh]ji]jj]jk]jn]ujpKOjr]r®j{XONr®…�r®}r®(jYj®jZj®ubaubajdj‘$ubj„$)�r ®}r ®(jYUjf}r ®(jh]ji]jj]jk]jn]ujZjá­jr]r ®j¡)�r ®}r®(jYXONr®jZj ®jbj¦jdj¥jf}r®(jh]ji]jj]jk]jn]ujpKOjr]r®j{XONr®…�r®}r®(jYj®jZj ®ubaubajdj‘$ubj„$)�r®}r®(jYUjf}r®(jh]ji]jj]jk]jn]ujZjá­jr]r®j¡)�r®}r®(jYX Hyperflashr®jZj®jbj¦jdj¥jf}r®(jh]ji]jj]jk]jn]ujpKOjr]r®j{X Hyperflashr®…�r®}r ®(jYj®jZj®ubaubajdj‘$ubejdjª$ubj$)�r!®}r"®(jYUjf}r#®(jh]ji]jj]jk]jn]ujZj­jr]r$®(j„$)�r%®}r&®(jYUjf}r'®(jh]ji]jj]jk]jn]ujZj!®jr]r(®j¡)�r)®}r*®(jYXOFFr+®jZj%®jbj¦jdj¥jf}r,®(jh]ji]jj]jk]jn]ujpKQjr]r-®j{XOFFr.®…�r/®}r0®(jYj+®jZj)®ubaubajdj‘$ubj„$)�r1®}r2®(jYUjf}r3®(jh]ji]jj]jk]jn]ujZj!®jr]r4®j¡)�r5®}r6®(jYXONr7®jZj1®jbj¦jdj¥jf}r8®(jh]ji]jj]jk]jn]ujpKQjr]r9®j{XONr:®…�r;®}r<®(jYj7®jZj5®ubaubajdj‘$ubj„$)�r=®}r>®(jYUjf}r?®(jh]ji]jj]jk]jn]ujZj!®jr]r@®j¡)�rA®}rB®(jYXOFFrC®jZj=®jbj¦jdj¥jf}rD®(jh]ji]jj]jk]jn]ujpKQjr]rE®j{XOFFrF®…�rG®}rH®(jYjC®jZjA®ubaubajdj‘$ubj„$)�rI®}rJ®(jYUjf}rK®(jh]ji]jj]jk]jn]ujZj!®jr]rL®j¡)�rM®}rN®(jYXOFFrO®jZjI®jbj¦jdj¥jf}rP®(jh]ji]jj]jk]jn]ujpKQjr]rQ®j{XOFFrR®…�rS®}rT®(jYjO®jZjM®ubaubajdj‘$ubj„$)�rU®}rV®(jYUjf}rW®(jh]ji]jj]jk]jn]ujZj!®jr]rX®j¡)�rY®}rZ®(jYX,SPI (on QSPI/OSPI port 0 in legacy SPI mode)r[®jZjU®jbj¦jdj¥jf}r\®(jh]ji]jj]jk]jn]ujpKQjr]r]®j{X,SPI (on QSPI/OSPI port 0 in legacy SPI mode)r^®…�r_®}r`®(jYj[®jZjY®ubaubajdj‘$ubejdjª$ubj$)�ra®}rb®(jYUjf}rc®(jh]ji]jj]jk]jn]ujZj­jr]rd®(j„$)�re®}rf®(jYUjf}rg®(jh]ji]jj]jk]jn]ujZja®jr]rh®j¡)�ri®}rj®(jYXOFFrk®jZje®jbj¦jdj¥jf}rl®(jh]ji]jj]jk]jn]ujpKSjr]rm®j{XOFFrn®…�ro®}rp®(jYjk®jZji®ubaubajdj‘$ubj„$)�rq®}rr®(jYUjf}rs®(jh]ji]jj]jk]jn]ujZja®jr]rt®j¡)�ru®}rv®(jYXONrw®jZjq®jbj¦jdj¥jf}rx®(jh]ji]jj]jk]jn]ujpKSjr]ry®j{XONrz®…�r{®}r|®(jYjw®jZju®ubaubajdj‘$ubj„$)�r}®}r~®(jYUjf}r®(jh]ji]jj]jk]jn]ujZja®jr]r€®j¡)�r�®}r‚®(jYXOFFrƒ®jZj}®jbj¦jdj¥jf}r„®(jh]ji]jj]jk]jn]ujpKSjr]r…®j{XOFFr†®…�r‡®}rˆ®(jYjƒ®jZj�®ubaubajdj‘$ubj„$)�r‰®}rŠ®(jYUjf}r‹®(jh]ji]jj]jk]jn]ujZja®jr]rŒ®j¡)�r�®}rŽ®(jYXONr�®jZj‰®jbj¦jdj¥jf}r�®(jh]ji]jj]jk]jn]ujpKSjr]r‘®j{XONr’®…�r“®}r”®(jYj�®jZj�®ubaubajdj‘$ubj„$)�r•®}r–®(jYUjf}r—®(jh]ji]jj]jk]jn]ujZja®jr]r˜®j¡)�r™®}rš®(jYXI2Cr›®jZj•®jbj¦jdj¥jf}rœ®(jh]ji]jj]jk]jn]ujpKSjr]r�®j{XI2Crž®…�rŸ®}r ®(jYj›®jZj™®ubaubajdj‘$ubejdjª$ubj$)�r¡®}r¢®(jYUjf}r£®(jh]ji]jj]jk]jn]ujZj­jr]r¤®(j„$)�r¥®}r¦®(jYUjf}r§®(jh]ji]jj]jk]jn]ujZj¡®jr]r¨®j¡)�r©®}rª®(jYXOFFr«®jZj¥®jbj¦jdj¥jf}r¬®(jh]ji]jj]jk]jn]ujpKUjr]r­®j{XOFFr®®…�r¯®}r°®(jYj«®jZj©®ubaubajdj‘$ubj„$)�r±®}r²®(jYUjf}r³®(jh]ji]jj]jk]jn]ujZj¡®jr]r´®j¡)�rµ®}r¶®(jYXONr·®jZj±®jbj¦jdj¥jf}r¸®(jh]ji]jj]jk]jn]ujpKUjr]r¹®j{XONrº®…�r»®}r¼®(jYj·®jZjµ®ubaubajdj‘$ubj„$)�r½®}r¾®(jYUjf}r¿®(jh]ji]jj]jk]jn]ujZj¡®jr]rÀ®j¡)�rÁ®}r®(jYXONrîjZj½®jbj¦jdj¥jf}rÄ®(jh]ji]jj]jk]jn]ujpKUjr]rÅ®j{XONrÆ®…�rÇ®}rÈ®(jYjîjZjÁ®ubaubajdj‘$ubj„$)�rÉ®}rÊ®(jYUjf}rË®(jh]ji]jj]jk]jn]ujZj¡®jr]rÌ®j¡)�rÍ®}rή(jYXOFFrÏ®jZjÉ®jbj¦jdj¥jf}rЮ(jh]ji]jj]jk]jn]ujpKUjr]rÑ®j{XOFFrÒ®…�rÓ®}rÔ®(jYjÏ®jZjÍ®ubaubajdj‘$ubj„$)�rÕ®}rÖ®(jYUjf}r×®(jh]ji]jj]jk]jn]ujZj¡®jr]rØ®j¡)�rÙ®}rÚ®(jYX.MMC/SD card, eMMC boot from UDA or file systemrÛ®jZjÕ®jbj¦jdj¥jf}rÜ®(jh]ji]jj]jk]jn]ujpKUjr]rÝ®j{X.MMC/SD card, eMMC boot from UDA or file systemrÞ®…�rß®}rà®(jYjÛ®jZjÙ®ubaubajdj‘$ubejdjª$ubj$)�rá®}râ®(jYUjf}rã®(jh]ji]jj]jk]jn]ujZj­jr]rä®(j„$)�rå®}ræ®(jYUjf}rç®(jh]ji]jj]jk]jn]ujZjá®jr]rè®j¡)�ré®}rê®(jYXOFFrë®jZjå®jbj¦jdj¥jf}rì®(jh]ji]jj]jk]jn]ujpKWjr]rí®j{XOFFrî®…�rï®}rð®(jYjë®jZjé®ubaubajdj‘$ubj„$)�rñ®}rò®(jYUjf}ró®(jh]ji]jj]jk]jn]ujZjá®jr]rô®j¡)�rõ®}rö®(jYXONr÷®jZjñ®jbj¦jdj¥jf}rø®(jh]ji]jj]jk]jn]ujpKWjr]rù®j{XONrú®…�rû®}rü®(jYj÷®jZjõ®ubaubajdj‘$ubj„$)�rý®}rþ®(jYUjf}rÿ®(jh]ji]jj]jk]jn]ujZjá®jr]r¯j¡)�r¯}r¯(jYXONr¯jZjý®jbj¦jdj¥jf}r¯(jh]ji]jj]jk]jn]ujpKWjr]r¯j{XONr¯…�r¯}r¯(jYj¯jZj¯ubaubajdj‘$ubj„$)�r ¯}r ¯(jYUjf}r ¯(jh]ji]jj]jk]jn]ujZjá®jr]r ¯j¡)�r ¯}r¯(jYXONr¯jZj ¯jbj¦jdj¥jf}r¯(jh]ji]jj]jk]jn]ujpKWjr]r¯j{XONr¯…�r¯}r¯(jYj¯jZj ¯ubaubajdj‘$ubj„$)�r¯}r¯(jYUjf}r¯(jh]ji]jj]jk]jn]ujZjá®jr]r¯j¡)�r¯}r¯(jYXEthernetr¯jZj¯jbj¦jdj¥jf}r¯(jh]ji]jj]jk]jn]ujpKWjr]r¯j{XEthernetr¯…�r¯}r ¯(jYj¯jZj¯ubaubajdj‘$ubejdjª$ubj$)�r!¯}r"¯(jYUjf}r#¯(jh]ji]jj]jk]jn]ujZj­jr]r$¯(j„$)�r%¯}r&¯(jYUjf}r'¯(jh]ji]jj]jk]jn]ujZj!¯jr]r(¯j¡)�r)¯}r*¯(jYXONr+¯jZj%¯jbj¦jdj¥jf}r,¯(jh]ji]jj]jk]jn]ujpKYjr]r-¯j{XONr.¯…�r/¯}r0¯(jYj+¯jZj)¯ubaubajdj‘$ubj„$)�r1¯}r2¯(jYUjf}r3¯(jh]ji]jj]jk]jn]ujZj!¯jr]r4¯j¡)�r5¯}r6¯(jYXOFFr7¯jZj1¯jbj¦jdj¥jf}r8¯(jh]ji]jj]jk]jn]ujpKYjr]r9¯j{XOFFr:¯…�r;¯}r<¯(jYj7¯jZj5¯ubaubajdj‘$ubj„$)�r=¯}r>¯(jYUjf}r?¯(jh]ji]jj]jk]jn]ujZj!¯jr]r@¯j¡)�rA¯}rB¯(jYXOFFrC¯jZj=¯jbj¦jdj¥jf}rD¯(jh]ji]jj]jk]jn]ujpKYjr]rE¯j{XOFFrF¯…�rG¯}rH¯(jYjC¯jZjA¯ubaubajdj‘$ubj„$)�rI¯}rJ¯(jYUjf}rK¯(jh]ji]jj]jk]jn]ujZj!¯jr]rL¯j¡)�rM¯}rN¯(jYXOFFrO¯jZjI¯jbj¦jdj¥jf}rP¯(jh]ji]jj]jk]jn]ujpKYjr]rQ¯j{XOFFrR¯…�rS¯}rT¯(jYjO¯jZjM¯ubaubajdj‘$ubj„$)�rU¯}rV¯(jYUjf}rW¯(jh]ji]jj]jk]jn]ujZj!¯jr]rX¯j¡)�rY¯}rZ¯(jYXUSBr[¯jZjU¯jbj¦jdj¥jf}r\¯(jh]ji]jj]jk]jn]ujpKYjr]r]¯j{XUSBr^¯…�r_¯}r`¯(jYj[¯jZjY¯ubaubajdj‘$ubejdjª$ubj$)�ra¯}rb¯(jYUjf}rc¯(jh]ji]jj]jk]jn]ujZj­jr]rd¯(j„$)�re¯}rf¯(jYUjf}rg¯(jh]ji]jj]jk]jn]ujZja¯jr]rh¯j¡)�ri¯}rj¯(jYXONrk¯jZje¯jbj¦jdj¥jf}rl¯(jh]ji]jj]jk]jn]ujpK[jr]rm¯j{XONrn¯…�ro¯}rp¯(jYjk¯jZji¯ubaubajdj‘$ubj„$)�rq¯}rr¯(jYUjf}rs¯(jh]ji]jj]jk]jn]ujZja¯jr]rt¯j¡)�ru¯}rv¯(jYXOFFrw¯jZjq¯jbj¦jdj¥jf}rx¯(jh]ji]jj]jk]jn]ujpK[jr]ry¯j{XOFFrz¯…�r{¯}r|¯(jYjw¯jZju¯ubaubajdj‘$ubj„$)�r}¯}r~¯(jYUjf}r¯(jh]ji]jj]jk]jn]ujZja¯jr]r€¯j¡)�r�¯}r‚¯(jYXOFFrƒ¯jZj}¯jbj¦jdj¥jf}r„¯(jh]ji]jj]jk]jn]ujpK[jr]r…¯j{XOFFr†¯…�r‡¯}rˆ¯(jYjƒ¯jZj�¯ubaubajdj‘$ubj„$)�r‰¯}rН(jYUjf}r‹¯(jh]ji]jj]jk]jn]ujZja¯jr]rŒ¯j¡)�r�¯}rޝ(jYXONr�¯jZj‰¯jbj¦jdj¥jf}r�¯(jh]ji]jj]jk]jn]ujpK[jr]r‘¯j{XONr’¯…�r“¯}r”¯(jYj�¯jZj�¯ubaubajdj‘$ubj„$)�r•¯}r–¯(jYUjf}r—¯(jh]ji]jj]jk]jn]ujZja¯jr]r˜¯j¡)�r™¯}rš¯(jYXPCIer›¯jZj•¯jbj¦jdj¥jf}rœ¯(jh]ji]jj]jk]jn]ujpK[jr]r�¯j{XPCIerž¯…�rŸ¯}r ¯(jYj›¯jZj™¯ubaubajdj‘$ubejdjª$ubj$)�r¡¯}r¢¯(jYUjf}r£¯(jh]ji]jj]jk]jn]ujZj­jr]r¤¯(j„$)�r¥¯}r¦¯(jYUjf}r§¯(jh]ji]jj]jk]jn]ujZj¡¯jr]r¨¯j¡)�r©¯}rª¯(jYXONr«¯jZj¥¯jbj¦jdj¥jf}r¬¯(jh]ji]jj]jk]jn]ujpK]jr]r­¯j{XONr®¯…�r¯¯}r°¯(jYj«¯jZj©¯ubaubajdj‘$ubj„$)�r±¯}r²¯(jYUjf}r³¯(jh]ji]jj]jk]jn]ujZj¡¯jr]r´¯j¡)�rµ¯}r¶¯(jYXOFFr·¯jZj±¯jbj¦jdj¥jf}r¸¯(jh]ji]jj]jk]jn]ujpK]jr]r¹¯j{XOFFrº¯…�r»¯}r¼¯(jYj·¯jZjµ¯ubaubajdj‘$ubj„$)�r½¯}r¾¯(jYUjf}r¿¯(jh]ji]jj]jk]jn]ujZj¡¯jr]rÀ¯j¡)�rÁ¯}r¯(jYXONrïjZj½¯jbj¦jdj¥jf}rį(jh]ji]jj]jk]jn]ujpK]jr]růj{XONrƯ…�rǯ}rȯ(jYjïjZjÁ¯ubaubajdj‘$ubj„$)�rɯ}rʯ(jYUjf}r˯(jh]ji]jj]jk]jn]ujZj¡¯jr]r̯j¡)�rͯ}rί(jYXOFFrϯjZjɯjbj¦jdj¥jf}rЯ(jh]ji]jj]jk]jn]ujpK]jr]rѯj{XOFFrÒ¯…�rÓ¯}rÔ¯(jYjϯjZjͯubaubajdj‘$ubj„$)�rÕ¯}rÖ¯(jYUjf}rׯ(jh]ji]jj]jk]jn]ujZj¡¯jr]rدj¡)�rÙ¯}rÚ¯(jYXUARTrÛ¯jZjÕ¯jbj¦jdj¥jf}rܯ(jh]ji]jj]jk]jn]ujpK]jr]rݯj{XUARTrÞ¯…�r߯}rà¯(jYjÛ¯jZjÙ¯ubaubajdj‘$ubejdjª$ubj$)�rá¯}râ¯(jYUjf}rã¯(jh]ji]jj]jk]jn]ujZj­jr]rä¯(j„$)�rå¯}ræ¯(jYUjf}rç¯(jh]ji]jj]jk]jn]ujZjá¯jr]rè¯j¡)�ré¯}rê¯(jYXONrë¯jZjå¯jbj¦jdj¥jf}rì¯(jh]ji]jj]jk]jn]ujpK_jr]rí¯j{XONr�rï¯}rð¯(jYjë¯jZjé¯ubaubajdj‘$ubj„$)�rñ¯}rò¯(jYUjf}ró¯(jh]ji]jj]jk]jn]ujZjá¯jr]rô¯j¡)�rõ¯}rö¯(jYXOFFr÷¯jZjñ¯jbj¦jdj¥jf}rø¯(jh]ji]jj]jk]jn]ujpK_jr]rù¯j{XOFFrú¯…�rû¯}rü¯(jYj÷¯jZjõ¯ubaubajdj‘$ubj„$)�rý¯}rþ¯(jYUjf}rÿ¯(jh]ji]jj]jk]jn]ujZjá¯jr]r°j¡)�r°}r°(jYXONr°jZjý¯jbj¦jdj¥jf}r°(jh]ji]jj]jk]jn]ujpK_jr]r°j{XONr°…�r°}r°(jYj°jZj°ubaubajdj‘$ubj„$)�r °}r °(jYUjf}r °(jh]ji]jj]jk]jn]ujZjá¯jr]r °j¡)�r °}r°(jYXONr°jZj °jbj¦jdj¥jf}r°(jh]ji]jj]jk]jn]ujpK_jr]r°j{XONr°…�r°}r°(jYj°jZj °ubaubajdj‘$ubj„$)�r°}r°(jYUjf}r°(jh]ji]jj]jk]jn]ujZjá¯jr]r°j¡)�r°}r°(jYXReservedr°jZj°jbj¦jdj¥jf}r°(jh]ji]jj]jk]jn]ujpK_jr]r°j{XReservedr°…�r°}r °(jYj°jZj°ubaubajdj‘$ubejdjª$ubj$)�r!°}r"°(jYUjf}r#°(jh]ji]jj]jk]jn]ujZj­jr]r$°(j„$)�r%°}r&°(jYUjf}r'°(jh]ji]jj]jk]jn]ujZj!°jr]r(°j¡)�r)°}r*°(jYXONr+°jZj%°jbj¦jdj¥jf}r,°(jh]ji]jj]jk]jn]ujpKajr]r-°j{XONr.°…�r/°}r0°(jYj+°jZj)°ubaubajdj‘$ubj„$)�r1°}r2°(jYUjf}r3°(jh]ji]jj]jk]jn]ujZj!°jr]r4°j¡)�r5°}r6°(jYXONr7°jZj1°jbj¦jdj¥jf}r8°(jh]ji]jj]jk]jn]ujpKajr]r9°j{XONr:°…�r;°}r<°(jYj7°jZj5°ubaubajdj‘$ubj„$)�r=°}r>°(jYUjf}r?°(jh]ji]jj]jk]jn]ujZj!°jr]r@°j¡)�rA°}rB°(jYXOFFrC°jZj=°jbj¦jdj¥jf}rD°(jh]ji]jj]jk]jn]ujpKajr]rE°j{XOFFrF°…�rG°}rH°(jYjC°jZjA°ubaubajdj‘$ubj„$)�rI°}rJ°(jYUjf}rK°(jh]ji]jj]jk]jn]ujZj!°jr]rL°j¡)�rM°}rN°(jYXOFFrO°jZjI°jbj¦jdj¥jf}rP°(jh]ji]jj]jk]jn]ujpKajr]rQ°j{XOFFrR°…�rS°}rT°(jYjO°jZjM°ubaubajdj‘$ubj„$)�rU°}rV°(jYUjf}rW°(jh]ji]jj]jk]jn]ujZj!°jr]rX°j¡)�rY°}rZ°(jYXGPMC XIPr[°jZjU°jbj¦jdj¥jf}r\°(jh]ji]jj]jk]jn]ujpKajr]r]°j{XGPMC XIPr^°…�r_°}r`°(jYj[°jZjY°ubaubajdj‘$ubejdjª$ubj$)�ra°}rb°(jYUjf}rc°(jh]ji]jj]jk]jn]ujZj­jr]rd°(j„$)�re°}rf°(jYUjf}rg°(jh]ji]jj]jk]jn]ujZja°jr]rh°j¡)�ri°}rj°(jYXONrk°jZje°jbj¦jdj¥jf}rl°(jh]ji]jj]jk]jn]ujpKcjr]rm°j{XONrn°…�ro°}rp°(jYjk°jZji°ubaubajdj‘$ubj„$)�rq°}rr°(jYUjf}rs°(jh]ji]jj]jk]jn]ujZja°jr]rt°j¡)�ru°}rv°(jYXONrw°jZjq°jbj¦jdj¥jf}rx°(jh]ji]jj]jk]jn]ujpKcjr]ry°j{XONrz°…�r{°}r|°(jYjw°jZju°ubaubajdj‘$ubj„$)�r}°}r~°(jYUjf}r°(jh]ji]jj]jk]jn]ujZja°jr]r€°j¡)�r�°}r‚°(jYXOFFrƒ°jZj}°jbj¦jdj¥jf}r„°(jh]ji]jj]jk]jn]ujpKcjr]r…°j{XOFFr†°…�r‡°}rˆ°(jYjƒ°jZj�°ubaubajdj‘$ubj„$)�r‰°}rа(jYUjf}r‹°(jh]ji]jj]jk]jn]ujZja°jr]rŒ°j¡)�r�°}rް(jYXONr�°jZj‰°jbj¦jdj¥jf}r�°(jh]ji]jj]jk]jn]ujpKcjr]r‘°j{XONr’°…�r“°}r”°(jYj�°jZj�°ubaubajdj‘$ubj„$)�r•°}r–°(jYUjf}r—°(jh]ji]jj]jk]jn]ujZja°jr]r˜°j¡)�r™°}rš°(jYXBeMMC boot from boot partition (with auto-fall back to file system)r›°jZj•°jbj¦jdj¥jf}rœ°(jh]ji]jj]jk]jn]ujpKcjr]r�°j{XBeMMC boot from boot partition (with auto-fall back to file system)rž°…�rŸ°}r °(jYj›°jZj™°ubaubajdj‘$ubejdjª$ubj$)�r¡°}r¢°(jYUjf}r£°(jh]ji]jj]jk]jn]ujZj­jr]r¤°(j„$)�r¥°}r¦°(jYUjf}r§°(jh]ji]jj]jk]jn]ujZj¡°jr]r¨°j¡)�r©°}rª°(jYXONr«°jZj¥°jbj¦jdj¥jf}r¬°(jh]ji]jj]jk]jn]ujpKejr]r­°j{XONr®°…�r¯°}r°°(jYj«°jZj©°ubaubajdj‘$ubj„$)�r±°}r²°(jYUjf}r³°(jh]ji]jj]jk]jn]ujZj¡°jr]r´°j¡)�rµ°}r¶°(jYXONr·°jZj±°jbj¦jdj¥jf}r¸°(jh]ji]jj]jk]jn]ujpKejr]r¹°j{XONrº°…�r»°}r¼°(jYj·°jZjµ°ubaubajdj‘$ubj„$)�r½°}r¾°(jYUjf}r¿°(jh]ji]jj]jk]jn]ujZj¡°jr]rÀ°j¡)�rÁ°}r°(jYXONrðjZj½°jbj¦jdj¥jf}rİ(jh]ji]jj]jk]jn]ujpKejr]rŰj{XONrư…�rǰ}rȰ(jYjðjZjÁ°ubaubajdj‘$ubj„$)�rɰ}rʰ(jYUjf}r˰(jh]ji]jj]jk]jn]ujZj¡°jr]r̰j¡)�rͰ}rΰ(jYXOFFrϰjZjɰjbj¦jdj¥jf}rа(jh]ji]jj]jk]jn]ujpKejr]rѰj{XOFFrÒ°…�rÓ°}rÔ°(jYjϰjZjͰubaubajdj‘$ubj„$)�rÕ°}rÖ°(jYUjf}r×°(jh]ji]jj]jk]jn]ujZj¡°jr]rذj¡)�rÙ°}rÚ°(jYXReserved (acts as no boot)rÛ°jZjÕ°jbj¦jdj¥jf}rܰ(jh]ji]jj]jk]jn]ujpKejr]rݰj{XReserved (acts as no boot)rÞ°…�rß°}rà°(jYjÛ°jZjÙ°ubaubajdj‘$ubejdjª$ubj$)�rá°}râ°(jYUjf}rã°(jh]ji]jj]jk]jn]ujZj­jr]rä°(j„$)�rå°}ræ°(jYUjf}rç°(jh]ji]jj]jk]jn]ujZjá°jr]rè°j¡)�ré°}rê°(jYXONrë°jZjå°jbj¦jdj¥jf}rì°(jh]ji]jj]jk]jn]ujpKgjr]rí°j{XONrî°…�rï°}rð°(jYjë°jZjé°ubaubajdj‘$ubj„$)�rñ°}rò°(jYUjf}ró°(jh]ji]jj]jk]jn]ujZjá°jr]rô°j¡)�rõ°}rö°(jYXONr÷°jZjñ°jbj¦jdj¥jf}rø°(jh]ji]jj]jk]jn]ujpKgjr]rù°j{XONrú°…�rû°}rü°(jYj÷°jZjõ°ubaubajdj‘$ubj„$)�rý°}rþ°(jYUjf}rÿ°(jh]ji]jj]jk]jn]ujZjá°jr]r±j¡)�r±}r±(jYXONr±jZjý°jbj¦jdj¥jf}r±(jh]ji]jj]jk]jn]ujpKgjr]r±j{XONr±…�r±}r±(jYj±jZj±ubaubajdj‘$ubj„$)�r ±}r ±(jYUjf}r ±(jh]ji]jj]jk]jn]ujZjá°jr]r ±j¡)�r ±}r±(jYXONr±jZj ±jbj¦jdj¥jf}r±(jh]ji]jj]jk]jn]ujpKgjr]r±j{XONr±…�r±}r±(jYj±jZj ±ubaubajdj‘$ubj„$)�r±}r±(jYUjf}r±(jh]ji]jj]jk]jn]ujZjá°jr]r±j¡)�r±}r±(jYXReserved (acts as no boot)r±jZj±jbj¦jdj¥jf}r±(jh]ji]jj]jk]jn]ujpKgjr]r±j{XReserved (acts as no boot)r±…�r±}r ±(jYj±jZj±ubaubajdj‘$ubejdjª$ubejdjy%ubejdjz%ubaubj)�r!±}r"±(jYXfOn the AM65x EVM, ensure that the PLL configuration is set to 25 MHz (see bolded line in table below).r#±jZjb¬jbj¦jdjjf}r$±(jh]ji]jj]jk]jn]ujpNjqhjr]r%±j¡)�r&±}r'±(jYj#±jZj!±jbj¦jdj¥jf}r(±(jh]ji]jj]jk]jn]ujpKjjr]r)±j{XfOn the AM65x EVM, ensure that the PLL configuration is set to 25 MHz (see bolded line in table below).r*±…�r+±}r,±(jYj#±jZj&±ubaubaubjd$)�r-±}r.±(jYUjZjb¬jbj¦jdjg$jf}r/±(jh]ji]jj]jk]jn]ujpNjqhjr]r0±jj$)�r1±}r2±(jYUjf}r3±(jk]jj]jh]ji]jn]UcolsKujZj-±jr]r4±(jo$)�r5±}r6±(jYUjf}r7±(jk]jj]jh]ji]jn]UcolwidthKujZj1±jr]jdjs$ubjo$)�r8±}r9±(jYUjf}r:±(jk]jj]jh]ji]jn]UcolwidthKujZj1±jr]jdjs$ubjo$)�r;±}r<±(jYUjf}r=±(jk]jj]jh]ji]jn]UcolwidthKujZj1±jr]jdjs$ubjo$)�r>±}r?±(jYUjf}r@±(jk]jj]jh]ji]jn]UcolwidthK/ujZj1±jr]jdjs$ubjz$)�rA±}rB±(jYUjf}rC±(jh]ji]jj]jk]jn]ujZj1±jr]rD±j$)�rE±}rF±(jYUjf}rG±(jh]ji]jj]jk]jn]ujZjA±jr]rH±(j„$)�rI±}rJ±(jYUjf}rK±(jh]ji]jj]jk]jn]ujZjE±jr]rL±j¡)�rM±}rN±(jYXBit 2rO±jZjI±jbj¦jdj¥jf}rP±(jh]ji]jj]jk]jn]ujpKmjr]rQ±j{XBit 2rR±…�rS±}rT±(jYjO±jZjM±ubaubajdj‘$ubj„$)�rU±}rV±(jYUjf}rW±(jh]ji]jj]jk]jn]ujZjE±jr]rX±j¡)�rY±}rZ±(jYXBit 1r[±jZjU±jbj¦jdj¥jf}r\±(jh]ji]jj]jk]jn]ujpKmjr]r]±j{XBit 1r^±…�r_±}r`±(jYj[±jZjY±ubaubajdj‘$ubj„$)�ra±}rb±(jYUjf}rc±(jh]ji]jj]jk]jn]ujZjE±jr]rd±j¡)�re±}rf±(jYXBit 0rg±jZja±jbj¦jdj¥jf}rh±(jh]ji]jj]jk]jn]ujpKmjr]ri±j{XBit 0rj±…�rk±}rl±(jYjg±jZje±ubaubajdj‘$ubj„$)�rm±}rn±(jYUjf}ro±(jh]ji]jj]jk]jn]ujZjE±jr]rp±j¡)�rq±}rr±(jYXPLL REF CLK (MHz)rs±jZjm±jbj¦jdj¥jf}rt±(jh]ji]jj]jk]jn]ujpKmjr]ru±j{XPLL REF CLK (MHz)rv±…�rw±}rx±(jYjs±jZjq±ubaubajdj‘$ubejdjª$ubajdj«$ubj¬$)�ry±}rz±(jYUjf}r{±(jh]ji]jj]jk]jn]ujZj1±jr]r|±(j$)�r}±}r~±(jYUjf}r±(jh]ji]jj]jk]jn]ujZjy±jr]r€±(j„$)�r�±}r‚±(jYUjf}rƒ±(jh]ji]jj]jk]jn]ujZj}±jr]r„±j¡)�r…±}r†±(jYX0jZj�±jbj¦jdj¥jf}r‡±(jh]ji]jj]jk]jn]ujpKojr]rˆ±j{X0…�r‰±}rб(jYX0jZj…±ubaubajdj‘$ubj„$)�r‹±}rŒ±(jYUjf}r�±(jh]ji]jj]jk]jn]ujZj}±jr]rޱj¡)�r�±}r�±(jYX0jZj‹±jbj¦jdj¥jf}r‘±(jh]ji]jj]jk]jn]ujpKojr]r’±j{X0…�r“±}r”±(jYX0jZj�±ubaubajdj‘$ubj„$)�r•±}r–±(jYUjf}r—±(jh]ji]jj]jk]jn]ujZj}±jr]r˜±j¡)�r™±}rš±(jYX0jZj•±jbj¦jdj¥jf}r›±(jh]ji]jj]jk]jn]ujpKojr]rœ±j{X0…�r�±}rž±(jYX0jZj™±ubaubajdj‘$ubj„$)�rŸ±}r ±(jYUjf}r¡±(jh]ji]jj]jk]jn]ujZj}±jr]r¢±j¡)�r£±}r¤±(jYXSleep (No boot - debug mode)r¥±jZjŸ±jbj¦jdj¥jf}r¦±(jh]ji]jj]jk]jn]ujpKojr]r§±j{XSleep (No boot - debug mode)r¨±…�r©±}rª±(jYj¥±jZj£±ubaubajdj‘$ubejdjª$ubj$)�r«±}r¬±(jYUjf}r­±(jh]ji]jj]jk]jn]ujZjy±jr]r®±(j„$)�r¯±}r°±(jYUjf}r±±(jh]ji]jj]jk]jn]ujZj«±jr]r²±j¡)�r³±}r´±(jYX0jZj¯±jbj¦jdj¥jf}rµ±(jh]ji]jj]jk]jn]ujpKqjr]r¶±j{X0…�r·±}r¸±(jYX0jZj³±ubaubajdj‘$ubj„$)�r¹±}rº±(jYUjf}r»±(jh]ji]jj]jk]jn]ujZj«±jr]r¼±j¡)�r½±}r¾±(jYX0jZj¹±jbj¦jdj¥jf}r¿±(jh]ji]jj]jk]jn]ujpKqjr]rÀ±j{X0…�rÁ±}r±(jYX0jZj½±ubaubajdj‘$ubj„$)�rñ}rı(jYUjf}rű(jh]ji]jj]jk]jn]ujZj«±jr]rƱj¡)�rDZ}rȱ(jYX1jZjñjbj¦jdj¥jf}rɱ(jh]ji]jj]jk]jn]ujpKqjr]rʱj{X1…�r˱}ṟ(jYX1jZjDZubaubajdj‘$ubj„$)�rͱ}rα(jYUjf}rϱ(jh]ji]jj]jk]jn]ujZj«±jr]rбj¡)�rѱ}rÒ±(jYX20rÓ±jZjͱjbj¦jdj¥jf}rÔ±(jh]ji]jj]jk]jn]ujpKqjr]rÕ±j{X20rÖ±…�r×±}rر(jYjÓ±jZjѱubaubajdj‘$ubejdjª$ubj$)�rÙ±}rÚ±(jYUjf}rÛ±(jh]ji]jj]jk]jn]ujZjy±jr]rܱ(j„$)�rݱ}rÞ±(jYUjf}rß±(jh]ji]jj]jk]jn]ujZjÙ±jr]rà±j¡)�rá±}râ±(jYX0jZjݱjbj¦jdj¥jf}rã±(jh]ji]jj]jk]jn]ujpKsjr]rä±j{X0…�rå±}ræ±(jYX0jZjá±ubaubajdj‘$ubj„$)�rç±}rè±(jYUjf}ré±(jh]ji]jj]jk]jn]ujZjÙ±jr]rê±j¡)�rë±}rì±(jYX1jZjç±jbj¦jdj¥jf}rí±(jh]ji]jj]jk]jn]ujpKsjr]rî±j{X1…�rï±}rð±(jYX1jZjë±ubaubajdj‘$ubj„$)�rñ±}rò±(jYUjf}ró±(jh]ji]jj]jk]jn]ujZjÙ±jr]rô±j¡)�rõ±}rö±(jYX0jZjñ±jbj¦jdj¥jf}r÷±(jh]ji]jj]jk]jn]ujpKsjr]rø±j{X0…�rù±}rú±(jYX0jZjõ±ubaubajdj‘$ubj„$)�rû±}rü±(jYUjf}rý±(jh]ji]jj]jk]jn]ujZjÙ±jr]rþ±j¡)�rÿ±}r²(jYX24r²jZjû±jbj¦jdj¥jf}r²(jh]ji]jj]jk]jn]ujpKsjr]r²j{X24r²…�r²}r²(jYj²jZjÿ±ubaubajdj‘$ubejdjª$ubj$)�r²}r²(jYUjf}r ²(jh]ji]jj]jk]jn]ujZjy±jr]r ²(j„$)�r ²}r ²(jYUjf}r ²(jh]ji]jj]jk]jn]ujZj²jr]r²j¡)�r²}r²(jYX**0**r²jZj ²jbj¦jdj¥jf}r²(jh]ji]jj]jk]jn]ujpKujr]r²jü)�r²}r²(jYj²jf}r²(jh]ji]jj]jk]jn]ujZj²jr]r²j{X0…�r²}r²(jYUjZj²ubajdjubaubajdj‘$ubj„$)�r²}r²(jYUjf}r²(jh]ji]jj]jk]jn]ujZj²jr]r²j¡)�r²}r²(jYX**1**r ²jZj²jbj¦jdj¥jf}r!²(jh]ji]jj]jk]jn]ujpKujr]r"²jü)�r#²}r$²(jYj ²jf}r%²(jh]ji]jj]jk]jn]ujZj²jr]r&²j{X1…�r'²}r(²(jYUjZj#²ubajdjubaubajdj‘$ubj„$)�r)²}r*²(jYUjf}r+²(jh]ji]jj]jk]jn]ujZj²jr]r,²j¡)�r-²}r.²(jYX**1**r/²jZj)²jbj¦jdj¥jf}r0²(jh]ji]jj]jk]jn]ujpKujr]r1²jü)�r2²}r3²(jYj/²jf}r4²(jh]ji]jj]jk]jn]ujZj-²jr]r5²j{X1…�r6²}r7²(jYUjZj2²ubajdjubaubajdj‘$ubj„$)�r8²}r9²(jYUjf}r:²(jh]ji]jj]jk]jn]ujZj²jr]r;²j¡)�r<²}r=²(jYX**25**r>²jZj8²jbj¦jdj¥jf}r?²(jh]ji]jj]jk]jn]ujpKujr]r@²jü)�rA²}rB²(jYj>²jf}rC²(jh]ji]jj]jk]jn]ujZj<²jr]rD²j{X25rE²…�rF²}rG²(jYUjZjA²ubajdjubaubajdj‘$ubejdjª$ubj$)�rH²}rI²(jYUjf}rJ²(jh]ji]jj]jk]jn]ujZjy±jr]rK²(j„$)�rL²}rM²(jYUjf}rN²(jh]ji]jj]jk]jn]ujZjH²jr]rO²j¡)�rP²}rQ²(jYX1jZjL²jbj¦jdj¥jf}rR²(jh]ji]jj]jk]jn]ujpKwjr]rS²j{X1…�rT²}rU²(jYX1jZjP²ubaubajdj‘$ubj„$)�rV²}rW²(jYUjf}rX²(jh]ji]jj]jk]jn]ujZjH²jr]rY²j¡)�rZ²}r[²(jYX0jZjV²jbj¦jdj¥jf}r\²(jh]ji]jj]jk]jn]ujpKwjr]r]²j{X0…�r^²}r_²(jYX0jZjZ²ubaubajdj‘$ubj„$)�r`²}ra²(jYUjf}rb²(jh]ji]jj]jk]jn]ujZjH²jr]rc²j¡)�rd²}re²(jYX0jZj`²jbj¦jdj¥jf}rf²(jh]ji]jj]jk]jn]ujpKwjr]rg²j{X0…�rh²}ri²(jYX0jZjd²ubaubajdj‘$ubj„$)�rj²}rk²(jYUjf}rl²(jh]ji]jj]jk]jn]ujZjH²jr]rm²j¡)�rn²}ro²(jYX26rp²jZjj²jbj¦jdj¥jf}rq²(jh]ji]jj]jk]jn]ujpKwjr]rr²j{X26rs²…�rt²}ru²(jYjp²jZjn²ubaubajdj‘$ubejdjª$ubj$)�rv²}rw²(jYUjf}rx²(jh]ji]jj]jk]jn]ujZjy±jr]ry²(j„$)�rz²}r{²(jYUjf}r|²(jh]ji]jj]jk]jn]ujZjv²jr]r}²j¡)�r~²}r²(jYX1jZjz²jbj¦jdj¥jf}r€²(jh]ji]jj]jk]jn]ujpKyjr]r�²j{X1…�r‚²}rƒ²(jYX1jZj~²ubaubajdj‘$ubj„$)�r„²}r…²(jYUjf}r†²(jh]ji]jj]jk]jn]ujZjv²jr]r‡²j¡)�rˆ²}r‰²(jYX0jZj„²jbj¦jdj¥jf}rв(jh]ji]jj]jk]jn]ujpKyjr]r‹²j{X0…�rŒ²}r�²(jYX0jZjˆ²ubaubajdj‘$ubj„$)�r޲}r�²(jYUjf}r�²(jh]ji]jj]jk]jn]ujZjv²jr]r‘²j¡)�r’²}r“²(jYX1jZj޲jbj¦jdj¥jf}r”²(jh]ji]jj]jk]jn]ujpKyjr]r•²j{X1…�r–²}r—²(jYX1jZj’²ubaubajdj‘$ubj„$)�r˜²}r™²(jYUjf}rš²(jh]ji]jj]jk]jn]ujZjv²jr]r›²j¡)�rœ²}r�²(jYX27rž²jZj˜²jbj¦jdj¥jf}rŸ²(jh]ji]jj]jk]jn]ujpKyjr]r ²j{X27r¡²…�r¢²}r£²(jYjž²jZjœ²ubaubajdj‘$ubejdjª$ubj$)�r¤²}r¥²(jYUjf}r¦²(jh]ji]jj]jk]jn]ujZjy±jr]r§²(j„$)�r¨²}r©²(jYUjf}rª²(jh]ji]jj]jk]jn]ujZj¤²jr]r«²j¡)�r¬²}r­²(jYX1jZj¨²jbj¦jdj¥jf}r®²(jh]ji]jj]jk]jn]ujpK{jr]r¯²j{X1…�r°²}r±²(jYX1jZj¬²ubaubajdj‘$ubj„$)�r²²}r³²(jYUjf}r´²(jh]ji]jj]jk]jn]ujZj¤²jr]rµ²j¡)�r¶²}r·²(jYX1jZj²²jbj¦jdj¥jf}r¸²(jh]ji]jj]jk]jn]ujpK{jr]r¹²j{X1…�rº²}r»²(jYX1jZj¶²ubaubajdj‘$ubj„$)�r¼²}r½²(jYUjf}r¾²(jh]ji]jj]jk]jn]ujZj¤²jr]r¿²j¡)�rÀ²}rÁ²(jYX0jZj¼²jbj¦jdj¥jf}r²(jh]ji]jj]jk]jn]ujpK{jr]ròj{X0…�rIJ}rŲ(jYX0jZjÀ²ubaubajdj‘$ubj„$)�rƲ}rDz(jYUjf}rȲ(jh]ji]jj]jk]jn]ujZj¤²jr]rɲj¡)�rʲ}r˲(jYXReservedr̲jZjƲjbj¦jdj¥jf}rͲ(jh]ji]jj]jk]jn]ujpK{jr]rβj{XReservedrϲ…�rв}rѲ(jYj̲jZjʲubaubajdj‘$ubejdjª$ubj$)�rÒ²}rÓ²(jYUjf}rÔ²(jh]ji]jj]jk]jn]ujZjy±jr]rÕ²(j„$)�rÖ²}rײ(jYUjf}rز(jh]ji]jj]jk]jn]ujZjÒ²jr]rÙ²j¡)�rÚ²}rÛ²(jYX1jZjÖ²jbj¦jdj¥jf}rܲ(jh]ji]jj]jk]jn]ujpK}jr]rݲj{X1…�rÞ²}rß²(jYX1jZjÚ²ubaubajdj‘$ubj„$)�rà²}rá²(jYUjf}râ²(jh]ji]jj]jk]jn]ujZjÒ²jr]rã²j¡)�rä²}rå²(jYX1jZjà²jbj¦jdj¥jf}ræ²(jh]ji]jj]jk]jn]ujpK}jr]rç²j{X1…�rè²}ré²(jYX1jZjä²ubaubajdj‘$ubj„$)�rê²}rë²(jYUjf}rì²(jh]ji]jj]jk]jn]ujZjÒ²jr]rí²j¡)�rî²}rï²(jYX1jZjê²jbj¦jdj¥jf}rð²(jh]ji]jj]jk]jn]ujpK}jr]rñ²j{X1…�rò²}ró²(jYX1jZjî²ubaubajdj‘$ubj„$)�rô²}rõ²(jYUjf}rö²(jh]ji]jj]jk]jn]ujZjÒ²jr]r÷²j¡)�rø²}rù²(jYX-No PLL Configuration Done (slow speed backup)rú²jZjô²jbj¦jdj¥jf}rû²(jh]ji]jj]jk]jn]ujpK}jr]rü²j{X-No PLL Configuration Done (slow speed backup)rý²…�rþ²}rÿ²(jYjú²jZjø²ubaubajdj‘$ubejdjª$ubejdjy%ubejdjz%ubaubeubeubjL\j[)�r³}r³(jYUjZjN\jbj¦jdjejf}r³(jh]ji]jj]jk]r³Upowering-the-evmr³ajn]r³jHaujpK–jqhjr]r³(jt)�r³}r³(jYXPowering the EVMr ³jZj³jbj¦jdjxjf}r ³(jh]ji]jj]jk]jn]ujpK–jqhjr]r ³j{XPowering the EVMr ³…�r ³}r³(jYj ³jZj³ubaubjd$)�r³}r³(jYUjZj³jbj¦jdjg$jf}r³(jh]ji]jj]jk]jn]ujpNjqhjr]r³jj$)�r³}r³(jYUjf}r³(jk]jj]jh]ji]jn]UcolsKujZj³jr]r³(jo$)�r³}r³(jYUjf}r³(jk]jj]jh]ji]jn]UcolwidthK+ujZj³jr]jdjs$ubjo$)�r³}r³(jYUjf}r³(jk]jj]jh]ji]jn]UcolwidthKujZj³jr]jdjs$ubjo$)�r³}r³(jYUjf}r³(jk]jj]jh]ji]jn]UcolwidthKujZj³jr]jdjs$ubjz$)�r ³}r!³(jYUjf}r"³(jh]ji]jj]jk]jn]ujZj³jr]r#³j$)�r$³}r%³(jYUjf}r&³(jh]ji]jj]jk]jn]ujZj ³jr]r'³(j„$)�r(³}r)³(jYUjf}r*³(jh]ji]jj]jk]jn]ujZj$³jr]r+³j¡)�r,³}r-³(jYX Connectorr.³jZj(³jbj¦jdj¥jf}r/³(jh]ji]jj]jk]jn]ujpK™jr]r0³j{X Connectorr1³…�r2³}r3³(jYj.³jZj,³ubaubajdj‘$ubj„$)�r4³}r5³(jYUjf}r6³(jh]ji]jj]jk]jn]ujZj$³jr]r7³j¡)�r8³}r9³(jYXSpecificationsr:³jZj4³jbj¦jdj¥jf}r;³(jh]ji]jj]jk]jn]ujpK™jr]r<³j{XSpecificationsr=³…�r>³}r?³(jYj:³jZj8³ubaubajdj‘$ubj„$)�r@³}rA³(jYUjf}rB³(jh]ji]jj]jk]jn]ujZj$³jr]rC³j¡)�rD³}rE³(jYXExamplerF³jZj@³jbj¦jdj¥jf}rG³(jh]ji]jj]jk]jn]ujpK™jr]rH³j{XExamplerI³…�rJ³}rK³(jYjF³jZjD³ubaubajdj‘$ubejdjª$ubajdj«$ubj¬$)�rL³}rM³(jYUjf}rN³(jh]ji]jj]jk]jn]ujZj³jr]rO³(j$)�rP³}rQ³(jYUjf}rR³(jh]ji]jj]jk]jn]ujZjL³jr]rS³(j„$)�rT³}rU³(jYUjf}rV³(jh]ji]jj]jk]jn]ujZjP³jr]rW³j¡)�rX³}rY³(jYXPower DIN, 4-pinrZ³jZjT³jbj¦jdj¥jf}r[³(jh]ji]jj]jk]jn]ujpK›jr]r\³j{XPower DIN, 4-pinr]³…�r^³}r_³(jYjZ³jZjX³ubaubajdj‘$ubj„$)�r`³}ra³(jYUjf}rb³(jh]ji]jj]jk]jn]ujZjP³jr]rc³j¡)�rd³}re³(jYX24VDC, 5A Output (Max)rf³jZj`³jbj¦jdj¥jf}rg³(jh]ji]jj]jk]jn]ujpK›jr]rh³j{X24VDC, 5A Output (Max)ri³…�rj³}rk³(jYjf³jZjd³ubaubajdj‘$ubj„$)�rl³}rm³(jYUjf}rn³(jh]ji]jj]jk]jn]ujZjP³jr]ro³j¡)�rp³}rq³(jYXCUI Inc.SDI120-24-U-P51rr³jZjl³jbj¦jdj¥jf}rs³(jh]ji]jj]jk]jn]ujpK›jr]rt³j{XCUI Inc.SDI120-24-U-P51ru³…�rv³}rw³(jYjr³jZjp³ubaubajdj‘$ubejdjª$ubj$)�rx³}ry³(jYUjf}rz³(jh]ji]jj]jk]jn]ujZjL³jr]r{³(j„$)�r|³}r}³(jYUjf}r~³(jh]ji]jj]jk]jn]ujZjx³jr]r³j¡)�r€³}r�³(jYX)Barrel Plug, 2.5mm I.D x 5.5mm O.D x 9.55r‚³jZj|³jbj¦jdj¥jf}rƒ³(jh]ji]jj]jk]jn]ujpKžjr]r„³j{X)Barrel Plug, 2.5mm I.D x 5.5mm O.D x 9.55r…³…�r†³}r‡³(jYj‚³jZj€³ubaubajdj‘$ubj„$)�rˆ³}r‰³(jYUjf}rг(jh]ji]jj]jk]jn]ujZjx³jr]r‹³j¡)�rŒ³}r�³(jYX-12-24VDC, positive center, 2.71A Output (Max)r޳jZjˆ³jbj¦jdj¥jf}r�³(jh]ji]jj]jk]jn]ujpKžjr]r�³j{X-12-24VDC, positive center, 2.71A Output (Max)r‘³…�r’³}r“³(jYj޳jZjŒ³ubaubajdj‘$ubj„$)�r”³}r•³(jYUjf}r–³(jh]ji]jj]jk]jn]ujZjx³jr]r—³j¡)�r˜³}r™³(jYXCUI Inc. SDI65-24UD-P6rš³jZj”³jbj¦jdj¥jf}r›³(jh]ji]jj]jk]jn]ujpKžjr]rœ³j{XCUI Inc. SDI65-24UD-P6r�³…�rž³}rŸ³(jYjš³jZj˜³ubaubajdj‘$ubejdjª$ubejdjy%ubejdjz%ubaubj)�r ³}r¡³(jYX{The DIN connector power supply is recommended to provide enough power for applications that make use of the PCIe interface.r¢³jZj³jbj¦jdjjf}r£³(jh]ji]jj]jk]jn]ujpNjqhjr]r¤³j¡)�r¥³}r¦³(jYj¢³jZj ³jbj¦jdj¥jf}r§³(jh]ji]jj]jk]jn]ujpK¢jr]r¨³j{X{The DIN connector power supply is recommended to provide enough power for applications that make use of the PCIe interface.r©³…�rª³}r«³(jYj¢³jZj¥³ubaubaubeubeubjbj¦jdjejf}r¬³(jh]r­³jµœaji]jj]jk]r®³Uuart-connectionr¯³ajn]ujpK�jqhjr]r°³(jt)�r±³}r²³(jYXUART Connectionr³³jZjL\jbj¦jdjxjf}r´³(jh]ji]jj]jk]jn]ujpK�jqhjr]rµ³j{XUART Connectionr¶³…�r·³}r¸³(jYj³³jZj±³ubaubj%)�r¹³}rº³(jYUjZjL\jbj¦jdj(jf}r»³(j*U.jk]jj]jh]j+Uji]jn]j,j-ujpK‚jqhjr]r¼³(j/)�r½³}r¾³(jYXJConnect a micro USB cable between UART port (J42) of the EVM and host PC. jZj¹³jbj¦jdj2jf}r¿³(jh]ji]jj]jk]jn]ujpNjqhjr]rÀ³j¡)�rÁ³}r³(jYXIConnect a micro USB cable between UART port (J42) of the EVM and host PC.rójZj½³jbj¦jdj¥jf}rij(jh]ji]jj]jk]jn]ujpK‚jr]rųj{XIConnect a micro USB cable between UART port (J42) of the EVM and host PC.rƳ…�rdz}rȳ(jYjójZjÁ³ubaubaubj/)�rɳ}rʳ(jYXØOpen a serial console (e.g. Tera Term) on host PC, connect to COM port on which SOC UART0 port is connected. Four COM ports should appear in the serial console application. Connect to the first COM port in the list. jZj¹³jbj¦jdj2jf}r˳(jh]ji]jj]jk]jn]ujpNjqhjr]r̳j¡)�rͳ}rγ(jYX×Open a serial console (e.g. Tera Term) on host PC, connect to COM port on which SOC UART0 port is connected. Four COM ports should appear in the serial console application. Connect to the first COM port in the list.rϳjZjɳjbj¦jdj¥jf}rг(jh]ji]jj]jk]jn]ujpK„jr]rѳj{X×Open a serial console (e.g. Tera Term) on host PC, connect to COM port on which SOC UART0 port is connected. Four COM ports should appear in the serial console application. Connect to the first COM port in the list.rÒ³…�rÓ³}rÔ³(jYjϳjZjͳubaubaubeubj=)�rÕ³}rÖ³(jYUjZjL\jbNjdj@jf}r׳(jh]ji]jj]jk]jn]ujpNjqhjr]rسjC)�rÙ³}rÚ³(jYUjf}rÛ³(jGX*jk]jj]jh]ji]jn]ujZjÕ³jr]rܳ(j/)�rݳ}rÞ³(jYX!First COM port – SoC MAIN UART0rß³jf}rà³(jh]ji]jj]jk]jn]ujZjÙ³jr]rá³j¡)�râ³}rã³(jYjß³jZjݳjbj¦jdj¥jf}rä³(jh]ji]jj]jk]jn]ujpK†jr]rå³j{X!First COM port – SoC MAIN UART0ræ³…�rç³}rè³(jYjß³jZjâ³ubaubajdj2ubj/)�ré³}rê³(jYXSecond COM port – MCU UARTrë³jf}rì³(jh]ji]jj]jk]jn]ujZjÙ³jr]rí³j¡)�rî³}rï³(jYjë³jZjé³jbj¦jdj¥jf}rð³(jh]ji]jj]jk]jn]ujpK‡jr]rñ³j{XSecond COM port – MCU UARTrò³…�ró³}rô³(jYjë³jZjî³ubaubajdj2ubj/)�rõ³}rö³(jYXThird COM port – Wakeup UARTr÷³jf}rø³(jh]ji]jj]jk]jn]ujZjÙ³jr]rù³j¡)�rú³}rû³(jYj÷³jZjõ³jbj¦jdj¥jf}rü³(jh]ji]jj]jk]jn]ujpKˆjr]rý³j{XThird COM port – Wakeup UARTrþ³…�rÿ³}r´(jYj÷³jZjú³ubaubajdj2ubj/)�r´}r´(jYX#Fourth COM port – SoC MAIN UART1 jf}r´(jh]ji]jj]jk]jn]ujZjÙ³jr]r´j¡)�r´}r´(jYX"Fourth COM port – SoC MAIN UART1r´jZj´jbj¦jdj¥jf}r´(jh]ji]jj]jk]jn]ujpK‰jr]r ´j{X"Fourth COM port – SoC MAIN UART1r ´…�r ´}r ´(jYj´jZj´ubaubajdj2ubejdj`ubaubjB)�r ´}r´(jYXJ.. image:: ../../../images/TMDX654_EVM_Hardware_Setup/AM65x_Tera_Term.png jZjL\jbj¦jdjEjf}r´(UuriXCrtos/../../../images/TMDX654_EVM_Hardware_Setup/AM65x_Tera_Term.pngr´jk]jj]jh]ji]jH}r´U*j´sjn]ujpKŒjqhjr]ubj%)�r´}r´(jYUjZjL\jbj¦jdj(jf}r´(j*U.jdKjk]jj]jh]j+Uji]jn]j,j-ujpK�jqhjr]r´j/)�r´}r´(jYX�Open a serial console (e.g Tera Term) on host PC, connect to COM port on which EVM UART port is connected and set the following configuration. jZj´jbj¦jdj2jf}r´(jh]ji]jj]jk]jn]ujpNjqhjr]r´j¡)�r´}r´(jYXŽOpen a serial console (e.g Tera Term) on host PC, connect to COM port on which EVM UART port is connected and set the following configuration.r´jZj´jbj¦jdj¥jf}r´(jh]ji]jj]jk]jn]ujpK�jr]r´j{XŽOpen a serial console (e.g Tera Term) on host PC, connect to COM port on which EVM UART port is connected and set the following configuration.r´…�r ´}r!´(jYj´jZj´ubaubaubaubj=)�r"´}r#´(jYUjZjL\jbNjdj@jf}r$´(jh]ji]jj]jk]jn]ujpNjqhjr]r%´jC)�r&´}r'´(jYUjf}r(´(jGX*jk]jj]jh]ji]jn]ujZj"´jr]r)´(j/)�r*´}r+´(jYXBaud rate - 115200r,´jf}r-´(jh]ji]jj]jk]jn]ujZj&´jr]r.´j¡)�r/´}r0´(jYj,´jZj*´jbj¦jdj¥jf}r1´(jh]ji]jj]jk]jn]ujpK�jr]r2´j{XBaud rate - 115200r3´…�r4´}r5´(jYj,´jZj/´ubaubajdj2ubj/)�r6´}r7´(jYXData length - 8 bitr8´jf}r9´(jh]ji]jj]jk]jn]ujZj&´jr]r:´j¡)�r;´}r<´(jYj8´jZj6´jbj¦jdj¥jf}r=´(jh]ji]jj]jk]jn]ujpK�jr]r>´j{XData length - 8 bitr?´…�r@´}rA´(jYj8´jZj;´ubaubajdj2ubj/)�rB´}rC´(jYX Parity - NonerD´jf}rE´(jh]ji]jj]jk]jn]ujZj&´jr]rF´j¡)�rG´}rH´(jYjD´jZjB´jbj¦jdj¥jf}rI´(jh]ji]jj]jk]jn]ujpK‘jr]rJ´j{X Parity - NonerK´…�rL´}rM´(jYjD´jZjG´ubaubajdj2ubj/)�rN´}rO´(jYX Stop bits - 1rP´jf}rQ´(jh]ji]jj]jk]jn]ujZj&´jr]rR´j¡)�rS´}rT´(jYjP´jZjN´jbj¦jdj¥jf}rU´(jh]ji]jj]jk]jn]ujpK’jr]rV´j{X Stop bits - 1rW´…�rX´}rY´(jYjP´jZjS´ubaubajdj2ubj/)�rZ´}r[´(jYXFlow control - None jf}r\´(jh]ji]jj]jk]jn]ujZj&´jr]r]´j¡)�r^´}r_´(jYXFlow control - Noner`´jZjZ´jbj¦jdj¥jf}ra´(jh]ji]jj]jk]jn]ujpK“jr]rb´j{XFlow control - Nonerc´…�rd´}re´(jYj`´jZj^´ubaubajdj2ubejdj`ubaubeubjbj¦jdj jf}rf´(jh]UlevelKjk]jj]Usourcejcji]jn]UlineKbUtypej� ujpK�jqhjr]rg´j¡)�rh´}ri´(jYX:Enumerated list start value not ordinal-1: "3" (ordinal 3)jf}rj´(jh]ji]jj]jk]jn]ujZjJ\jr]rk´j{X:Enumerated list start value not ordinal-1: "3" (ordinal 3)rl´…�rm´}rn´(jYUjZjh´ubajdj¥ubaubjV)�ro´}rp´(jYUjZjî§jbj¦jdj jf}rq´(jh]UlevelKjk]jj]Usourcejcji]jn]UlineKbUtypej� ujpKÿjqhjr]rr´j¡)�rs´}rt´(jYX:Enumerated list start value not ordinal-1: "4" (ordinal 4)jf}ru´(jh]ji]jj]jk]jn]ujZjo´jr]rv´j{X:Enumerated list start value not ordinal-1: "4" (ordinal 4)rw´…�rx´}ry´(jYUjZjs´ubajdj¥ubaubjV)�rz´}r{´(jYUjZjî§jbj¦jdj jf}r|´(jh]UlevelKjk]jj]Usourcejcji]jn]UlineKbUtypej� ujpMjqhjr]r}´j¡)�r~´}r´(jYX:Enumerated list start value not ordinal-1: "5" (ordinal 5)jf}r€´(jh]ji]jj]jk]jn]ujZjz´jr]r�´j{X:Enumerated list start value not ordinal-1: "5" (ordinal 5)r‚´…�rƒ´}r„´(jYUjZj~´ubajdj¥ubaubjV)�r…´}r†´(jYUjZjî§jbj¦jdj jf}r‡´(jh]UlevelKjk]jj]Usourcejcji]jn]UlineKbUtypej� ujpMjqhjr]rˆ´j¡)�r‰´}rŠ´(jYX:Enumerated list start value not ordinal-1: "6" (ordinal 6)jf}r‹´(jh]ji]jj]jk]jn]ujZj…´jr]rŒ´j{X:Enumerated list start value not ordinal-1: "6" (ordinal 6)r�´…�rŽ´}r�´(jYUjZj‰´ubajdj¥ubaubjV)�r�´}r‘´(jYUjZj•¨jbj¦jdj jf}r’´(jh]UlevelKjk]jj]Usourcejcji]jn]UlineKbUtypej� ujpMjqhjr]r“´j¡)�r”´}r•´(jYX:Enumerated list start value not ordinal-1: "2" (ordinal 2)jf}r–´(jh]ji]jj]jk]jn]ujZj�´jr]r—´j{X:Enumerated list start value not ordinal-1: "2" (ordinal 2)r˜´…�r™´}rš´(jYUjZj”´ubajdj¥ubaubjV)�r›´}rœ´(jYUjZj•¨jbj¦jdj jf}r�´(jh]UlevelKjk]jj]Usourcejcji]jn]UlineKbUtypej� ujpMñjqhjr]rž´j¡)�rŸ´}r ´(jYX:Enumerated list start value not ordinal-1: "4" (ordinal 4)jf}r¡´(jh]ji]jj]jk]jn]ujZj›´jr]r¢´j{X:Enumerated list start value not ordinal-1: "4" (ordinal 4)r£´…�r¤´}r¥´(jYUjZjŸ´ubajdj¥ubaubjV)�r¦´}r§´(jYUjZjªjbj¦jdj jf}r¨´(jh]UlevelKjk]jj]Usourcejcji]jn]UlineKbUtypej� ujpMGjqhjr]r©´j¡)�rª´}r«´(jYX:Enumerated list start value not ordinal-1: "2" (ordinal 2)jf}r¬´(jh]ji]jj]jk]jn]ujZj¦´jr]r­´j{X:Enumerated list start value not ordinal-1: "2" (ordinal 2)r®´…�r¯´}r°´(jYUjZjª´ubajdj¥ubaubjV)�r±´}r²´(jYUjf}r³´(jh]UlevelKjk]jj]r´´j>caUsourcejcji]jn]UlineKbUtypejú ujZj9cjr]rµ´j¡)�r¶´}r·´(jYX.Duplicate explicit target name: "description".jf}r¸´(jh]ji]jj]jk]jn]ujZj±´jr]r¹´j{X.Duplicate explicit target name: "description".rº´…�r»´}r¼´(jYUjZj¶´ubajdj¥ubajdj ubjV)�r½´}r¾´(jYUjf}r¿´(jh]UlevelKjk]jj]rÀ´jQcaUsourcejcji]jn]UlineKbUtypejú ujZjLcjr]rÁ´j¡)�r´}rô(jYX@Duplicate explicit target name: "evm-layout-and-key-components".jf}rÄ´(jh]ji]jj]jk]jn]ujZj½´jr]rÅ´j{X@Duplicate explicit target name: "evm-layout-and-key-components".rÆ´…�rÇ´}rÈ´(jYUjZj´ubajdj¥ubajdj ubjV)�rÉ´}rÊ´(jYUjf}rË´(jh]UlevelKjk]jj]rÌ´j£faUsourcejcji]jn]UlineKbUtypejú ujZjžfjr]rÍ´j¡)�rδ}rÏ´(jYX.Duplicate explicit target name: "description".jf}rд(jh]ji]jj]jk]jn]ujZjÉ´jr]rÑ´j{X.Duplicate explicit target name: "description".rÒ´…�rÓ´}rÔ´(jYUjZjδubajdj¥ubajdj ubjV)�rÕ´}rÖ´(jYUjf}r×´(jh]UlevelKjk]jj]rØ´jhaUsourcejcji]jn]UlineKbUtypejú ujZjþgjr]rÙ´j¡)�rÚ´}rÛ´(jYX@Duplicate explicit target name: "evm-layout-and-key-components".jf}rÜ´(jh]ji]jj]jk]jn]ujZjÕ´jr]rÝ´j{X@Duplicate explicit target name: "evm-layout-and-key-components".rÞ´…�rß´}rà´(jYUjZjÚ´ubajdj¥ubajdj ubjV)�rá´}râ´(jYUjf}rã´(jh]UlevelKjk]jj]rä´jhaUsourcejcji]jn]UlineKbUtypejú ujZjhjr]rå´j¡)�ræ´}rç´(jYXLDuplicate explicit target name: "jtag-debug-probes-aka-emulators-supported".jf}rè´(jh]ji]jj]jk]jn]ujZjá´jr]ré´j{XLDuplicate explicit target name: "jtag-debug-probes-aka-emulators-supported".rê´…�rë´}rì´(jYUjZjæ´ubajdj¥ubajdj ubjV)�rí´}rî´(jYUjf}rï´(jh]UlevelKjk]jj]rð´jVhaUsourcejcji]jn]UlineKbUtypejú ujZjQhjr]rñ´j¡)�rò´}ró´(jYX4Duplicate explicit target name: "minimal-evm-setup".jf}rô´(jh]ji]jj]jk]jn]ujZjí´jr]rõ´j{X4Duplicate explicit target name: "minimal-evm-setup".rö´…�r÷´}rø´(jYUjZjò´ubajdj¥ubajdj ubjV)�rù´}rú´(jYUjf}rû´(jh]UlevelKjk]jj]rü´jfhaUsourcejcji]jn]UlineKbUtypejú ujZj`hjr]rý´j¡)�rþ´}rÿ´(jYX8Duplicate explicit target name: "setting-boot-switches".jf}rµ(jh]ji]jj]jk]jn]ujZjù´jr]rµj{X8Duplicate explicit target name: "setting-boot-switches".rµ…�rµ}rµ(jYUjZjþ´ubajdj¥ubajdj ubjV)�rµ}rµ(jYUjf}rµ(jh]UlevelKjk]jj]rµjêjaUsourcejcji]jn]UlineKbUtypejú ujZjäjjr]r µj¡)�r µ}r µ(jYX6Duplicate explicit target name: "connecting-emulator".jf}r µ(jh]ji]jj]jk]jn]ujZjµjr]r µj{X6Duplicate explicit target name: "connecting-emulator".rµ…�rµ}rµ(jYUjZj µubajdj¥ubajdj ubjV)�rµ}rµ(jYUjf}rµ(jh]UlevelKjk]jj]rµj‹kaUsourcejcji]jn]UlineKbUtypejú ujZj†kjr]rµj¡)�rµ}rµ(jYX6Duplicate explicit target name: "powering-up-the-evm".jf}rµ(jh]ji]jj]jk]jn]ujZjµjr]rµj{X6Duplicate explicit target name: "powering-up-the-evm".rµ…�rµ}rµ(jYUjZjµubajdj¥ubajdj ubjV)�rµ}rµ(jYUjf}rµ(jh]UlevelKjk]jj]r µj–kaUsourcejcji]jn]UlineKbUtypejú ujZj‘kjr]r!µj¡)�r"µ}r#µ(jYX>Duplicate explicit target name: "power-supply-specifications".jf}r$µ(jh]ji]jj]jk]jn]ujZjµjr]r%µj{X>Duplicate explicit target name: "power-supply-specifications".r&µ…�r'µ}r(µ(jYUjZj"µubajdj¥ubajdj ubjV)�r)µ}r*µ(jYUjf}r+µ(jh]UlevelKjk]jj]r,µjøkaUsourcejcji]jn]UlineKbUtypejú ujZjókjr]r-µj¡)�r.µ}r/µ(jYX,Duplicate explicit target name: "ccs-setup".jf}r0µ(jh]ji]jj]jk]jn]ujZj)µjr]r1µj{X,Duplicate explicit target name: "ccs-setup".r2µ…�r3µ}r4µ(jYUjZj.µubajdj¥ubajdj ubjV)�r5µ}r6µ(jYUjf}r7µ(jh]UlevelKjk]jj]r8µjmaUsourcejcji]jn]UlineKbUtypejú ujZjmjr]r9µj¡)�r:µ}r;µ(jYXGDuplicate explicit target name: "connect-without-a-sd-card-boot-image".jf}r<µ(jh]ji]jj]jk]jn]ujZj5µjr]r=µj{XGDuplicate explicit target name: "connect-without-a-sd-card-boot-image".r>µ…�r?µ}r@µ(jYUjZj:µubajdj¥ubajdj ubjV)�rAµ}rBµ(jYUjf}rCµ(jh]UlevelKjk]jj]rDµjmaUsourcejcji]jn]UlineKbUtypejú ujZjmjr]rEµj¡)�rFµ}rGµ(jYXIDuplicate explicit target name: "configuring-target-configuration-files".jf}rHµ(jh]ji]jj]jk]jn]ujZjAµjr]rIµj{XIDuplicate explicit target name: "configuring-target-configuration-files".rJµ…�rKµ}rLµ(jYUjZjFµubajdj¥ubajdj ubjV)�rMµ}rNµ(jYUjf}rOµ(jh]UlevelKjk]jj]rPµjmmaUsourcejcji]jn]UlineKbUtypejú ujZjhmjr]rQµj¡)�rRµ}rSµ(jYX7Duplicate explicit target name: "connecting-to-target".jf}rTµ(jh]ji]jj]jk]jn]ujZjMµjr]rUµj{X7Duplicate explicit target name: "connecting-to-target".rVµ…�rWµ}rXµ(jYUjZjRµubajdj¥ubajdj ubjV)�rYµ}rZµ(jYUjZj·qjbj¨qjdj jf}r[µ(jh]UlevelKjk]jj]r\µj½qaUsourcej¨qji]jn]UlineKUtypej� ujpKjqhjr]r]µj¡)�r^µ}r_µ(jYX.Duplicate implicit target name: "description".jf}r`µ(jh]ji]jj]jk]jn]ujZjYµjr]raµj{X.Duplicate implicit target name: "description".rbµ…�rcµ}rdµ(jYUjZj^µubajdj¥ubaubjV)�reµ}rfµ(jYUjZjórjbj¨qjdj jf}rgµ(jh]UlevelKjk]jj]rhµjùraUsourcej¨qji]jn]UlineK0Utypej� ujpK0jqhjr]riµj¡)�rjµ}rkµ(jYX@Duplicate implicit target name: "evm layout and key components".jf}rlµ(jh]ji]jj]jk]jn]ujZjeµjr]rmµj{X@Duplicate implicit target name: "evm layout and key components".rnµ…�roµ}rpµ(jYUjZjjµubajdj¥ubaubjV)�rqµ}rrµ(jYUjZj sjbj¨qjdj jf}rsµ(jh]UlevelKjk]jj]rtµjsaUsourcej¨qji]jn]UlineK9Utypej� ujpK9jqhjr]ruµj¡)�rvµ}rwµ(jYXJDuplicate implicit target name: "supported jtag debug probes (emulators)".jf}rxµ(jh]ji]jj]jk]jn]ujZjqµjr]ryµj{XJDuplicate implicit target name: "supported jtag debug probes (emulators)".rzµ…�r{µ}r|µ(jYUjZjvµubajdj¥ubaubjV)�r}µ}r~µ(jYUjf}rµ(jh]UlevelKjk]jj]r€µj taUsourcejcji]jn]UlineKbUtypejú ujZjtjr]r�µj¡)�r‚µ}rƒµ(jYX>Duplicate explicit target name: "power-supply-specifications".jf}r„µ(jh]ji]jj]jk]jn]ujZj}µjr]r…µj{X>Duplicate explicit target name: "power-supply-specifications".r†µ…�r‡µ}rˆµ(jYUjZj‚µubajdj¥ubajdj ubjV)�r‰µ}rе(jYUjf}r‹µ(jh]UlevelKjk]jj]rŒµjuaUsourcejcji]jn]UlineKbUtypejú ujZj ujr]r�µj¡)�r޵}r�µ(jYXIDuplicate explicit target name: "configuring-target-configuration-files".jf}r�µ(jh]ji]jj]jk]jn]ujZj‰µjr]r‘µj{XIDuplicate explicit target name: "configuring-target-configuration-files".r’µ…�r“µ}r”µ(jYUjZj޵ubajdj¥ubajdj ubjV)�r•µ}r–µ(jYUjf}r—µ(jh]UlevelKjk]jj]r˜µjfuaUsourcejcji]jn]UlineKbUtypejú ujZjaujr]r™µj¡)�ršµ}r›µ(jYX7Duplicate explicit target name: "connecting-to-target".jf}rœµ(jh]ji]jj]jk]jn]ujZj•µjr]r�µj{X7Duplicate explicit target name: "connecting-to-target".ržµ…�rŸµ}r µ(jYUjZjšµubajdj¥ubajdj ubjV)�r¡µ}r¢µ(jYUjZj>~jbj/~jdj jf}r£µ(jh]UlevelKjk]jj]r¤µjC~aUsourcej/~ji]jn]UlineKUtypej� ujpKjqhjr]r¥µj¡)�r¦µ}r§µ(jYX1Duplicate implicit target name: "hardware setup".jf}r¨µ(jh]ji]jj]jk]jn]ujZj¡µjr]r©µj{X1Duplicate implicit target name: "hardware setup".rªµ…�r«µ}r¬µ(jYUjZj¦µubajdj¥ubaubjV)�r­µ}r®µ(jYUjZjŒ~jbj/~jdj jf}r¯µ(jh]UlevelKjk]jj]r°µj‘~aUsourcej/~ji]jn]UlineKUtypej� ujpKjqhjr]r±µj¡)�r²µ}r³µ(jYX?Duplicate implicit target name: "bmc version check and update".jf}r´µ(jh]ji]jj]jk]jn]ujZj­µjr]rµµj{X?Duplicate implicit target name: "bmc version check and update".r¶µ…�r·µ}r¸µ(jYUjZj²µubajdj¥ubaubjV)�r¹µ}rºµ(jYUjZj)jbj/~jdj jf}r»µ(jh]UlevelKjk]jj]r¼µj.aUsourcej/~ji]jn]UlineK@Utypej� ujpK@jqhjr]r½µj¡)�r¾µ}r¿µ(jYX<Duplicate implicit target name: "attach the ethernet cable".jf}rÀµ(jh]ji]jj]jk]jn]ujZj¹µjr]rÁµj{X<Duplicate implicit target name: "attach the ethernet cable".rµ…�rõ}rĵ(jYUjZj¾µubajdj¥ubaubjV)�rŵ}rƵ(jYUjZjMjbj/~jdj jf}rǵ(jh]UlevelKjk]jj]rȵjRaUsourcej/~ji]jn]UlineKKUtypej� ujpKKjqhjr]rɵj¡)�rʵ}r˵(jYX=Duplicate implicit target name: "connect the jtag interface".jf}r̵(jh]ji]jj]jk]jn]ujZjŵjr]r͵j{X=Duplicate implicit target name: "connect the jtag interface".rε…�rϵ}rе(jYUjZjʵubajdj¥ubaubjV)�rѵ}rÒµ(jYUjZjC€jbj/~jdj jf}rÓµ(jh]UlevelKjk]jj]rÔµjH€aUsourcej/~ji]jn]UlineKŽUtypej� ujpKŽjqhjr]rÕµj¡)�rÖµ}r×µ(jYXTDuplicate implicit target name: "attach the serial port cable to the soc uart port".jf}rص(jh]ji]jj]jk]jn]ujZjѵjr]rÙµj{XTDuplicate implicit target name: "attach the serial port cable to the soc uart port".rÚµ…�rÛµ}rܵ(jYUjZjÖµubajdj¥ubaubjV)�rݵ}rÞµ(jYUjZjb€jbj/~jdj jf}rßµ(jh]UlevelKjk]jj]ràµjg€aUsourcej/~ji]jn]UlineK˜Utypej� ujpK˜jqhjr]ráµj¡)�râµ}rãµ(jYX:Duplicate implicit target name: "connect the power cable".jf}räµ(jh]ji]jj]jk]jn]ujZjݵjr]råµj{X:Duplicate implicit target name: "connect the power cable".ræµ…�rçµ}rèµ(jYUjZjâµubajdj¥ubaubjV)�réµ}rêµ(jYUjZj™‚jbj/~jdj jf}rëµ(jh]UlevelKjk]jj]rìµjž‚aUsourcej/~ji]jn]UlineMUtypej� ujpMjqhjr]ríµj¡)�rîµ}rïµ(jYXIDuplicate implicit target name: "dip switch and bootmode configurations".jf}rðµ(jh]ji]jj]jk]jn]ujZjéµjr]rñµj{XIDuplicate implicit target name: "dip switch and bootmode configurations".ròµ…�róµ}rôµ(jYUjZjîµubajdj¥ubaubjV)�rõµ}röµ(jYUjZjï‹jbj/~jdj jf}r÷µ(jh]UlevelKjk]jj]Usourcej/~ji]jn]UlineMñUtypejú ujpMðjqhjr]røµj¡)�rùµ}rúµ(jYX?Explicit markup ends without a blank line; unexpected unindent.jf}rûµ(jh]ji]jj]jk]jn]ujZjõµjr]rüµj{X?Explicit markup ends without a blank line; unexpected unindent.rýµ…�rþµ}rÿµ(jYUjZjùµubajdj¥ubaubjV)�r¶}r¶(jYUjZjï‹jbj/~jdj jf}r¶(jh]UlevelKjk]jj]Usourcej/~ji]jn]UlineM÷Utypejú ujpMöjqhjr]r¶j¡)�r¶}r¶(jYX?Explicit markup ends without a blank line; unexpected unindent.jf}r¶(jh]ji]jj]jk]jn]ujZj¶jr]r¶j{X?Explicit markup ends without a blank line; unexpected unindent.r¶…�r ¶}r ¶(jYUjZj¶ubajdj¥ubaubjV)�r ¶}r ¶(jYUjZje‘jbj0‘jdj jf}r ¶(jh]UlevelKjk]jj]r¶jj‘aUsourcej0‘ji]jn]UlineK Utypej� ujpK jqhjr]r¶j¡)�r¶}r¶(jYX:Duplicate implicit target name: "hardware setup overview".jf}r¶(jh]ji]jj]jk]jn]ujZj ¶jr]r¶j{X:Duplicate implicit target name: "hardware setup overview".r¶…�r¶}r¶(jYUjZj¶ubajdj¥ubaubjV)�r¶}r¶(jYUjZj�‘jbj0‘jdj jf}r¶(jh]UlevelKjk]jj]r¶j†‘aUsourcej0‘ji]jn]UlineKUtypej� ujpKjqhjr]r¶j¡)�r¶}r¶(jYX7Duplicate implicit target name: "hardware setup steps".jf}r¶(jh]ji]jj]jk]jn]ujZj¶jr]r¶j{X7Duplicate implicit target name: "hardware setup steps".r ¶…�r!¶}r"¶(jYUjZj¶ubajdj¥ubaubjV)�r#¶}r$¶(jYUjZjŒ’jbj0‘jdj jf}r%¶(jh]UlevelKjk]jj]r&¶j‘’aUsourcej0‘ji]jn]UlineKGUtypej� ujpKGjqhjr]r'¶j¡)�r(¶}r)¶(jYX@Duplicate implicit target name: "boot mode dip switch settings".jf}r*¶(jh]ji]jj]jk]jn]ujZj#¶jr]r+¶j{X@Duplicate implicit target name: "boot mode dip switch settings".r,¶…�r-¶}r.¶(jYUjZj(¶ubajdj¥ubaubjV)�r/¶}r0¶(jYUjZjò–jbj¶–jdj jf}r1¶(jh]UlevelKjk]jj]r2¶jø–aUsourcej¶–ji]jn]UlineK Utypej� ujpK jqhjr]r3¶j¡)�r4¶}r5¶(jYX:Duplicate implicit target name: "hardware setup overview".jf}r6¶(jh]ji]jj]jk]jn]ujZj/¶jr]r7¶j{X:Duplicate implicit target name: "hardware setup overview".r8¶…�r9¶}r:¶(jYUjZj4¶ubajdj¥ubaubjV)�r;¶}r<¶(jYUjZj'—jbj¶–jdj jf}r=¶(jh]UlevelKjk]jj]r>¶j-—aUsourcej¶–ji]jn]UlineKUtypej� ujpKjqhjr]r?¶j¡)�r@¶}rA¶(jYX7Duplicate implicit target name: "hardware setup steps".jf}rB¶(jh]ji]jj]jk]jn]ujZj;¶jr]rC¶j{X7Duplicate implicit target name: "hardware setup steps".rD¶…�rE¶}rF¶(jYUjZj@¶ubajdj¥ubaubjV)�rG¶}rH¶(jYUjZjU˜jbj¶–jdj jf}rI¶(jh]UlevelKjk]jj]rJ¶j[˜aUsourcej¶–ji]jn]UlineKmUtypej� ujpKmjqhjr]rK¶j¡)�rL¶}rM¶(jYX@Duplicate implicit target name: "boot mode dip switch settings".jf}rN¶(jh]ji]jj]jk]jn]ujZjG¶jr]rO¶j{X@Duplicate implicit target name: "boot mode dip switch settings".rP¶…�rQ¶}rR¶(jYUjZjL¶ubajdj¥ubaubjV)�rS¶}rT¶(jYUjZj_œjbjPœjdj jf}rU¶(jh]UlevelKjk]jj]rV¶jeœaUsourcejPœji]jn]UlineKUtypej� ujpKjqhjr]rW¶j¡)�rX¶}rY¶(jYX+Duplicate implicit target name: "overview".jf}rZ¶(jh]ji]jj]jk]jn]ujZjS¶jr]r[¶j{X+Duplicate implicit target name: "overview".r\¶…�r]¶}r^¶(jYUjZjX¶ubajdj¥ubaubjV)�r_¶}r`¶(jYUjZjwœjbjPœjdj jf}ra¶(jh]UlevelKjk]jj]rb¶j|œaUsourcejPœji]jn]UlineK Utypej� ujpK jqhjr]rc¶j¡)�rd¶}re¶(jYX+Duplicate implicit target name: "hardware".jf}rf¶(jh]ji]jj]jk]jn]ujZj_¶jr]rg¶j{X+Duplicate implicit target name: "hardware".rh¶…�ri¶}rj¶(jYUjZjd¶ubajdj¥ubaubjV)�rk¶}rl¶(jYUjZj±œjbjPœjdj jf}rm¶(jh]UlevelKjk]jj]rn¶j·œaUsourcejPœji]jn]UlineKUtypej� ujpKjqhjr]ro¶j¡)�rp¶}rq¶(jYX2Duplicate implicit target name: "uart connection".jf}rr¶(jh]ji]jj]jk]jn]ujZjk¶jr]rs¶j{X2Duplicate implicit target name: "uart connection".rt¶…�ru¶}rv¶(jYUjZjp¶ubajdj¥ubaubjV)�rw¶}rx¶(jYUjZjG�jbjPœjdj jf}ry¶(jh]UlevelKjk]jj]rz¶jM�aUsourcejPœji]jn]UlineK,Utypej� ujpK,jqhjr]r{¶j¡)�r|¶}r}¶(jYX1Duplicate implicit target name: "hardware setup".jf}r~¶(jh]ji]jj]jk]jn]ujZjw¶jr]r¶j{X1Duplicate implicit target name: "hardware setup".r€¶…�r�¶}r‚¶(jYUjZj|¶ubajdj¥ubaubjV)�rƒ¶}r„¶(jYUjZjÅžjbjPœjdj jf}r…¶(jh]UlevelKjk]jj]UsourcejPœji]jn]UlineKrUtypej� ujpKrjqhjr]r†¶j¡)�r‡¶}rˆ¶(jYXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.jf}r‰¶(jh]ji]jj]jk]jn]ujZjƒ¶jr]rжj{XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.r‹¶…�rŒ¶}r�¶(jYUjZj‡¶ubajdj¥ubaubjV)�r޶}r�¶(jYUjZjÅžjbjPœjdj jf}r�¶(jh]UlevelKjk]jj]UsourcejPœji]jn]UlineK†Utypej� ujpK†jqhjr]r‘¶j¡)�r’¶}r“¶(jYXfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.jf}r”¶(jh]ji]jj]jk]jn]ujZj޶jr]r•¶j{XfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.r–¶…�r—¶}r˜¶(jYUjZj’¶ubajdj¥ubaubjV)�r™¶}rš¶(jYUjf}r›¶(jh]UlevelKjk]jj]Usourcej©Ÿji]jn]UlineKUtypejú ujr]rœ¶(j¡)�r�¶}rž¶(jYUjf}rŸ¶(jh]ji]jj]jk]jn]ujZj™¶jr]r ¶j{XTitle underline too short.r¡¶…�r¢¶}r£¶(jYUjZj�¶ubajdj¥ubj)�r¤¶}r¥¶(jYXOOMAP-L137/C6747 EVM Hardware Setup Guide ======================================jf}r¦¶(jöj÷jk]jj]jh]ji]jn]ujZj™¶jr]r§¶j{XOOMAP-L137/C6747 EVM Hardware Setup Guide ======================================r¨¶…�r©¶}rª¶(jYUjZj¤¶ubajdjubejdj ubjV)�r«¶}r¬¶(jYUjZj¦Ÿjbj©Ÿjdj jf}r­¶(jh]UlevelKjk]jj]Usourcej©Ÿji]jn]UlineKUtypejú ujpKjqhjr]r®¶(j¡)�r¯¶}r°¶(jYXTitle underline too short.jf}r±¶(jh]ji]jj]jk]jn]ujZj«¶jr]r²¶j{XTitle underline too short.r³¶…�r´¶}rµ¶(jYUjZj¯¶ubajdj¥ubj)�r¶¶}r·¶(jYXOOMAP-L137/C6747 EVM Hardware Setup Guide ======================================jf}r¸¶(jöj÷jk]jj]jh]ji]jn]ujZj«¶jr]r¹¶j{XOOMAP-L137/C6747 EVM Hardware Setup Guide ======================================rº¶…�r»¶}r¼¶(jYUjZj¶¶ubajdjubeubjV)�r½¶}r¾¶(jYUjZjÙ jbj©Ÿjdj jf}r¿¶(jh]UlevelKjk]jj]Usourcejcji]jn]UlineKbUtypej� ujpK`__. | +--------------------------------+--------------------------------------------------------------------------------------------------+jf}r5·(jöj÷jk]jj]jh]ji]jn]ujZj(·jr]r6·j{X”+--------------------------------+--------------------------------------------------------------------------------------------------+ | .. Image:: ../../images/E2e.jpg | For technical support please post your questions at `http://e2e.ti.com `__. | +--------------------------------+--------------------------------------------------------------------------------------------------+r7·…�r8·}r9·(jYUjZj3·ubajdjubeubeUcurrent_sourcer:·NU decorationr;·NUautofootnote_startr<·KUnameidsr=·}r>·(hjÂ'hj‚bhjh jœh j,>h j´7h Nh j÷bhjoEhjÖ`hj÷NhjU>hjO«hj•Ehj§hjthjFhj ªhj:hjuhj’Uhjæ%hjGlhjefhj¼Ÿhj!h jx¡h!j­Ÿh"jŠNh#Nh$j[!h%jl¥h&jh'jXh(jò§h)jó‹h*jQDh+Nh,jÂh-j h.jãh/jÇ?h0jù?h1j#Jh2j›Jh3j¤{h4Nh5j–sh6jxh7jãh8jh9j¢h:jlKh;jÈbhj^h?j}+h@jMhAj¶/hBjO$hCj–hDj«‚hENhFj£hGj@hHjùOhIjFhJjqchKj¦%hLjEhMjHžhNjW=hOj‰hPjüshQj(¦hRjMhSj�hTjHhUj¸uhVjÒ>hWjdhXjÈMhYjNThZjþ%h[j¢\h\j�Mh]jãjh^Nh_j5}h`jhajë,hbjQ2hcNhdj¦hej>Lhfj<hgjT7hhNhij.chjjMhkj\hljÝ hmj hnj÷¦hojt¤hpjkhqjNUhrjéhsj4‘htjÚhuj¬hvj×hwjVphxjÂhyjØ¢hzj=!h{jãh|j³h}j^Nh~Nhjõnh€jÉžh�jæDh‚j�EhƒjxOh„jÈph…jç!h†j\§h‡jhˆjÀh‰NhŠjBh‹jËhŒj“h�jhŽj67h�jf¬h�jÕ„h‘j4�h’j@h“j‘�h”jRMh•jÕ-h–j«h—Nh˜Nh™Nhšj�&h›jÑThœjÌ^h�jvDhžj&JhŸjÏ@h jÝ}h¡j³"h¢j*§h£jmh¤j}h¥j™Nh¦jh§jœh¨jlh©j]~hªNh«jš]h¬j™¨h­jrJh®j h¯j^ah°Nh±j¸*h²jØh³j h´j³1hµj°vh¶jrTh·j_h¸jÕ£h¹j{hºj¼h»j[Ih¼j8h½j4Fh¾j("h¿je)hÀj¯NhÁNhÂjŠ¥hÃj?OhÄjÖJhÅj8hÆNhÇj­!hÈj#�hÉj}€hÊjÂThËj°~hÌNhÍNhÎjBwhÏj1hÐjhÑj³hÒNhÓj�DhÔNhÕj>hÖj•{h×j,qhØjÆhÙjv§hÚjžThÛj hÜjhÝjOhÞj“hßj&$hàjÐ*háj!hâjº–hãj-häj—håjhæjW8hçjƒhèjÏShéj~ahêj±|hëj/Ihìjåhíj˜BhîjíhïjBEhðjvthñjhòNhój0hôjõhõj�>höj;vh÷NhøNhùjxhúj¢hûj6$hüj7hýjhþjV\hÿj qjjøjj¤Djjk2jj#2jj{AjjñGjjÙ"jjTœjNj j$j jØ!j jzj jmj j*TjjÒjNjj„jjÃ1jjˆpjjýjNjj[jjžœjjü@jj_hjjµajjv\jjÎjj jNjj>Njjû¥j jlej!Nj"j0j#jnj$j"Nj%jmj&j58j'Nj(jXsj)j¬qj*jhj+Nj,jÂEj-j3~j.jr+j/jÓNj0jªaj1jv>j2jÉDj3jñEj4jj5jþ"j6jé>j7jEoj8j6nj9j¯j:j½bj;j˧j<j¯pj=jPj>j!j?j±‚j@jwjAjKIjBjµ jCj=#jDjojEjn?jFj¤>jGNjHj³jIj»>jJjþ jKj&¢jLjOjMNjNjÓ¤jOjwjPjýSjQjIsujr]r?·(j`jÿjR\ejYUU transformerr@·NU footnote_refsrA·}rB·UrefnamesrC·}rD·(Xconnectingemulator]rE·(jÅmj�neX crash dump]rF·(jOFjHeXbootmodeconfiguration]rG·jŒaXsettingbootswitches]rH·(j¯mjzneX#debugging mmu faults and exceptions]rI·(jö?jï@eX,linux and android - disabling error recovery]rJ·j¸HaX2advanced am65x debug setup with dmsc firmware load]rK·jÝaXnobootlittleendianrL·]rM·jÜ)�rN·}rO·(jYjš�jf}rP·(UnameXNoBootLittleEndianjk]jj]jh]UrefnamerQ·jL·ji]jn]ujZj‘�jr]rR·j{XNoBootLittleEndianrS·…�rT·}rU·(jYUjZjN·ubajdjàubaX(linux and android – disabling watchdog]rV·(jøDjÂHeX&linux and android - remote core traces]rW·j"AaX dip switchesrX·]rY·jÜ)�rZ·}r[·(jYji�jf}r\·(UnameX DIP Switchesjk]jj]jh]jQ·jX·ji]jn]ujZj`�jr]r]·j{X DIP Switchesr^·…�r_·}r`·(jYUjZjZ·ubajdjàubaX5linux and android - disabling remoteproc auto-suspend]ra·jÌHaXconfiguringtargetconfigfile]rb·(jÚmj¤neXlinux and android - remoteproc]rc·(j@jãEeuUsymbol_footnotesrd·]re·Uautofootnote_refsrf·]rg·Usymbol_footnote_refsrh·]ri·U citationsrj·]rk·jqhU current_linerl·NUtransform_messagesrm·]rn·(jV)�ro·}rp·(jYUjf}rq·(jh]UlevelKjk]rr·jž�ajj]rs·j��aUsourcej/~ji]jn]UlineKÔUtypejæ ujr]rt·j¡)�ru·}rv·(jYUjf}rw·(jh]ji]jj]jk]jn]ujZjo·jr]rx·j{X*Unknown target name: "nobootlittleendian".ry·…�rz·}r{·(jYUjZju·ubajdj¥ubajdj ubjV)�r|·}r}·(jYUjf}r~·(jh]UlevelKjk]r·jm�ajj]r€·jl�aUsourcejPœji]jn]UlineK.Utypejæ ujr]r�·j¡)�r‚·}rƒ·(jYUjf}r„·(jh]ji]jj]jk]jn]ujZj|·jr]r…·j{X$Unknown target name: "dip switches".r†·…�r‡·}rˆ·(jYUjZj‚·ubajdj¥ubajdj ubjV)�r‰·}rŠ·(jYUjf}r‹·(jh]UlevelKjk]jj]Usourcej½ji]jn]UlineMçUtypej� ujr]rŒ·j¡)�r�·}rŽ·(jYUjf}r�·(jh]ji]jj]jk]jn]ujZj‰·jr]r�·j{XCHyperlink target "run-apps-from-ddr-on-r5-cores" is not referenced.r‘·…�r’·}r“·(jYUjZj�·ubajdj¥ubajdj ubjV)�r”·}r•·(jYUjf}r–·(jh]UlevelKjk]jj]Usourcej½ji]jn]UlineMîUtypej� ujr]r—·j¡)�r˜·}r™·(jYUjf}rš·(jh]ji]jj]jk]jn]ujZj”·jr]r›·j{XAHyperlink target "run-bios-app-from-ddr-on-r5" is not referenced.rœ·…�r�·}rž·(jYUjZj˜·ubajdj¥ubajdj ubjV)�rŸ·}r ·(jYUjf}r¡·(jh]UlevelKjk]jj]Usourcej½ji]jn]UlineMUtypej� ujr]r¢·j¡)�r£·}r¤·(jYUjf}r¥·(jh]ji]jj]jk]jn]ujZjŸ·jr]r¦·j{XFHyperlink target "run-baremetal-app-from-ddr-on-r5" is not referenced.r§·…�r¨·}r©·(jYUjZj£·ubajdj¥ubajdj ubjV)�rª·}r«·(jYUjf}r¬·(jh]UlevelKjk]jj]Usourcejcji]jn]UlineM=Utypej� ujr]r­·j¡)�r®·}r¯·(jYUjf}r°·(jh]ji]jj]jk]jn]ujZjª·jr]r±·j{XHHyperlink target "processor-sdk-rtos-setup-ccs-label" is not referenced.r²·…�r³·}r´·(jYUjZj®·ubajdj¥ubajdj ubjV)�rµ·}r¶·(jYUjf}r··(jh]UlevelKjk]jj]Usourcejcji]jn]UlineMµUtypej� ujr]r¸·j¡)�r¹·}rº·(jYUjf}r»·(jh]ji]jj]jk]jn]ujZjµ·jr]r¼·j{XUHyperlink target "processor-sdk-rtos-install-in-custom-path-label" is not referenced.r½·…�r¾·}r¿·(jYUjZj¹·ubajdj¥ubajdj ubeUreporterrÀ·NUid_startrÁ·K[U 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Ó·j‘$U language_coderÔ·UenrÕ·U datestamprÖ·NU report_levelr×·KU _destinationrØ·NU halt_levelrÙ·KU strip_classesrÚ·NjxNUerror_encoding_error_handlerrÛ·UbackslashreplacerÜ·UdebugrÝ·NUembed_stylesheetrÞ·‰Uoutput_encoding_error_handlerrß·Ustrictrà·U sectnum_xformrá·KUdump_transformsrâ·NU docinfo_xformrã·KUwarning_streamrä·NUpep_file_url_templaterå·Upep-%04dræ·Uexit_status_levelrç·KUconfigrè·NUstrict_visitorré·NUcloak_email_addressesrê·ˆUtrim_footnote_reference_spacerë·‰Uenvrì·NUdump_pseudo_xmlrí·NUexpose_internalsrî·NUsectsubtitle_xformrï·‰U source_linkrð·NUrfc_referencesrñ·NUoutput_encodingrò·Uutf-8ró·U source_urlrô·NUinput_encodingrõ·U utf-8-sigrö·U_disable_configr÷·NU id_prefixrø·UU tab_widthrù·KUerror_encodingrú·UUTF-8rû·U_sourcerü·jcUgettext_compactrý·ˆU generatorrþ·NUdump_internalsrÿ·NU smart_quotesr¸‰U pep_base_urlr¸U https://www.python.org/dev/peps/r¸Usyntax_highlightr¸Ulongr¸Uinput_encoding_error_handlerr¸jà·Uauto_id_prefixr¸Uidr¸Udoctitle_xformr¸‰Ustrip_elements_with_classesr ¸NU _config_filesr ¸]Ufile_insertion_enabledr ¸ˆU raw_enabledr ¸KU dump_settingsr ¸NubUsymbol_footnote_startr¸KUidsr¸}r¸(jNUjJUjmmjhmjmjmjmjmjøkjókj–kj‘kj´7j¯7jËjÇjfhj`hjVhjQhjhjhj!j^jefj`fjÎjÊjÝ jÙ jt¤jm¤j_j_jñEjíEjêjjäjjjjO$jJ$jÂTj¾Tj«‚j¬‚j}jyjÚjÖjxjsjØjÓj�j �joEjkEj?¤j9¤j„j€j5}j1}j“j�jvDjrDj!jj¤Dj Dj§j£j"NjNjÂ'j½'jƒjjªaj¥aj}€jy€jÀjÁjŸ¡jš¡j67j17j¤{j {j ªjªjs^jn^j{jwj�&j˜&j6nj1nj:j6j jjhjdjŠ¥j†¥j("j#"jk2jf2j×jÓjØ jÓ jkjgjÙ"jÕ"jÉDjÅDjµ j± jMjýLj\ŽjVŽjW8jR8j/IjýjBEj>Ejzjvj—j“j~ajyajÓNjÏNj6$j1$j¼j·jj jš]j•]j*§j&§j–sj’sjMjMj¶¤j±¤j¢jžjjj_hj`hjmjmjˆpjƒpj<j6jØ!jÔ!jÓ¤jϤj>j >jojoj¯pjªpjQ2jL2jÍjÇj¦jP\j˜Bj”Bjé>jå>j¶/j²/jÃ1j¾1j@j<j>Lj:Ljv\jo\j£j£jû¥j÷¥j<j8j[˜jU˜j‘’jŒ’jø–jò–j·œj±œjM�jG�jeœj_œj|œjwœj$jjéjäjGljBlj[!jW!jBj>jHžjDžj˧jǧjO«jK«jW=jR=j#�j�jMjIjQDjMDjÒ>jÎ>jœj˜jT7jO7jg^jb^j jj j jjj1£j+£j×¥jÒ¥jãjäjV\jR\jõnjðnjr+jm+jãjjäjjœj—j\jXj£j£jmjij0j,j÷bjòbjº–j³–jOjOj¬j ¬jùOjõOjjüjyjsjñGjíGjÝ}jÙ}jÂj¾j!jz!j‘�j��jãjßj³1j¯1j“j�jÖJjÒJj“fj�fjÂEj¾Ej1j-jë,jæ,j«j§j°~j¬~jv§jr§jš«jN\j\§jX§j7j3jþ%jù%j4‘j-‘jÝvj×vj-j)jf¬jb¬jZwjTwjÈbjÃbj?Oj;Oj4�j0�j£fjžfjhjþgj>cj9cjQcjLcjF]jA]j‚bj}bjmj`j†\j�\jÜj×j"jü!jü@jø@jFj FjÌjÈj jjþ"jù"jÍjÛj½bj¸bjvtjrtjÙjèjwjwj=#j8#jRMjNMjl_jg_j›Jj—JjEjAjj j>Nj:NjrJjnJj,>j(>jæ%já%j’Uj÷j¾«j¹«j;`j6`j#JjLIj‹kj†kj™¨j•¨jºwj´wj}+jx+jnjjjá{jÛ{jujýtj.cj*cjØ¢jÔ¢jqcjlcjHjCj�Ej‰EjrTjnTj=!j9!j•Ej‘EjVpjQpjx¡jt¡jjþjxjtjjÿj8j\jÈpjÃpj(¦j$¦j¯³jL\jÇ?jÃ?jÒwjÌwjãj8©jH€jC€jRjMjFjBj@jŽAjC~j>~j;vj7vj.j)j‘~jŒ~jEoj@oj*Tj&Tj†‘j�‘jj‘je‘jW]jR]jvNjqNj¸*j³*j^jZjl�jg�j¦%j¡%je)j`)j­Ÿj¦ŸjOjKj™Nj•Nj,qj'qj{AjwAj²£j¬£jÕ£jÑ£jjjÝ]jØ]jæDjâDj�Dj‰DjPjPj qjqj^NjûjÆjÂj³j¯j jjµaj°ajž‚j™‚j-—j'—jg€jb€j]~jY~jBwj=wj¸uj´ujuj ujfujaujXsjTsjüsjøsj tjtjtjtj½qj·qjùrjórjsj sjIsjEsj³"j®"jÕ„jÑ„jç!jã!jjjÎjÈjÛj×jlKjhKjjjxOjtOjØjÔjò§jî§jŠjCWj?Jj9JjÜj¸Yj‰j…jv>jr>j�Mj‰MjÖ`jÑ`j³j¯j÷¦jó¦jÏSjËSj&JjLIjúvjôvjù?j¨Ejjþj³j³jXjTj&$j"$j jü jlejgej÷NjóNjdj`jþ jú jžTjšTj3~j,~j`>jZ>jó‹jï‹jÂj¾j58j08j¢jžjýSjùSjU>jQ>jíjéj`_j[_j¯Nj«Nj¤>j >jžœjšœj:j�j9j5j&j€j%j!jjsjj jñjfjðjìjðjéjTœjMœjÑ]jÌ]j'_j"_jjÿjl¥jh¥j4Fj0FjÕ-jÐ-j�>j‰>jÌ^jÇ^jljhj¤j j^ajYaj¯j«jýjùjm�j|·j��j˜�j[IjTIj¢\j�\jåjáj�¤j—¤j…¤j¤jF£j@£jNTjJTjž�jo·jŠNjùjP¥jK¥jn?jj?jwj wj­!j©!jNjšjMjIjvj§jujqj‰j´jˆj„jµjÁj´j°jÁjÎjÀj¼jÉžjÅžjÑTjÍTj»>j·>jÐ*jË*j‰j…jõjñj&¢j"¢j¬qj¥qj#2j2j°vj©vjÒjÓj8j8j–jŽj j jÈMjÄMj±|j­|j0j,j•{j‘{jÁvj»vj[jWj±‚j¬‚jw�jq�jøjôjKIjûjZ�jT�j^jþ]j¼Ÿj¸ŸjÏ@jË@uUsubstitution_namesr¸}r¸jdjqjf}r¸(jh]jk]jj]Usourcejcji]jn]uU footnotesr¸]r¸Urefidsr¸}r¸(jãj]r¸jàjaj«‚]r¸j¨‚ajKI]r¸jHIaj_h]r¸j\haj#J]r¸jRIajÀ]r¸jºajã]r¸jàajÒ]r¸jÏajm]r ¸j mauub.