How to start the DSPs without the TCC 28-APR-1994 This file is divided into two parts. The first part describes the "one-time" operations that must be performed to get the debugger and the 68K CPU set up. The second part describes the operations that must be done each time new code and parameters are to be loaded into the DSPs via the PC and 68K (rather than the TCC). -------------- One-time setup -------------- (0) Begin by hooking the PC up to the JTAG scan path of the DSPs, booting the PC, and having the 68K connected to both a terminal in the MCH and a terminal server port with access to D0HSx. (1) Start PDM. This can be done from an OS/2 window by typing C:\MTN510\PDM ------------------ or from the OS/2 desktop by clicking on the folder, then clicking on . PDM will display a window with a "PDM" prompt on the PC screen. (2) In the PDM window, type take debugall.tak ---------------------- This will cause 12 debugger windows to appear on the PC screen. It will take about 1-2 minutes for all of the windows to appear. When this command file is finished, the PDM prompt will return, and the status of each DSP will be returned in the PDM window. THIS STATUS IS GIBBERISH and should be ignored. PDM does not appear to make a solid connection to the debuggers unless you do something to each debugger directly (via its individual window). (3) Now go to each of the 12 debugger windows and single-step the program (whatever program is in there, it is not important) a couple of times. Make certain that the debugger seems "alive." Leave the DSP halted, and iconify the debugger window by clicking on the small box next to the upper right hand corner of the window. This step seems to solidify the PDM-to-debugger connection. (4) At the PDM prompt, type stat --------- Verify that all 12 DSPs are halted. Now the PDM-to-debugger connection should be good. (5) Now go to the 68K debug monitor. Verify that the 68K has a connection to D0HSx, and log in as TRGMGR (via transparent mode). (6) At the debug prompt, type LO;X=TYPE TRGCUR:LOAD_12_PARAMETERS.ABS This is the parameter-loading program which mimics the operation of the TCC. It loads at $20000. ---------------------------------------- Actually loading the code and parameters ---------------------------------------- (0) Verify that all of the "one-time" setup has been performed. (1) At the PDM prompt, type take loadall.tak --------------------- This loads the DSP code into the DSP local and global memory, and places the Parameter Block in the Shared Dual Port Memory on each Hydra card. This will take a few minutes but it does display status information as it is loading the DSPs. When it finishes, the PDM prompt will return, and the status of each DSP will be displayed. Note that the DSPs do not need to be halted before you issue this command, BUT they will be halted after this command finishes. (1.5) If you do not wish to receive ERPB data, type the following at the PDM prompt take no_racks.tak ---------------------- The DSPs must be halted when you issue this command, and they will remain halted after this command finishes. (2) At the PDM prompt, type prun -r ------------ This starts all DSPs executing. The PDM prompt should return, although I think I have seen it fail to return before. IF the PDM prompt does not return, you can either go directly to any or all of the debugger windows to check DSP status, or you can type at the PDM prompt, which is supposed to recover the PDM prompt in this situation, although I have seen it TERMINATE PDM (which it is NOT supposed to do). The prun command appears to work best if all DSPs are halted when the command is issued. If you only want to start a single DSP, use the -g qualifier. See the PDM manual for more details. (3) At the PDM prompt, type stat --------- Verify that all 12 DSPs are running. (4) At the 68K debug prompt, type g 20000 ------------ This will start the "Generate the Load Parameters Interrupts" 68K program. (5) Follow the instructions given by the 68K program. This program generates the NMI (which tells each DSP to load its Parameters), and then checks and displays the status of each DSP. It also provides a one-bit "everybody made it" or "at least one guy blew it" message at the end. (6) We have seen DSP A2 fail to respond to the "Parameter" interrupt. The 68K program detects this problem. If you see this happen, return to the PDM prompt and type take fix_a2.tak -------------------- DSP A2 can be either running or halted when you issue this command, but it will be RUNNING after this command finishes. (7) Now you should be ready to "mesh in" the 68K services program.