Home

bdiGDB User Manual

image

Contents

1. Possible reasons The BDI is not correctly connected with the Host see chapter 2 A wrong communication port is selected Com 1 Com 4 The BDI is not powered up Problem No working with the target system loading firmware is okay Possible reasons Wrong pin assignment BDM JTAG connector of the target system see chapter 2 Target system initialization is not correctly enter an appropriate target initialization list An incorrect IP address was entered BDI3000 configuration BDM JTAG signals from the target system are not correctly short circuit break The target system is damaged Problem Network processes do not function loading the firmware was successful Possible reasons The BDI3000 is not connected or not correctly connected to the network LAN cable or media converter An incorrect IP address was entered BDI3000 configuration Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 47 B Maintenance The BDI needs no special maintenance Clean the housing with a mild detergent only Solvents such as gasoline may damage it C Trademarks All trademarks are property of their respective holders Copyright 1997 2008 by ABATRON AG Switzerland V 1 00
2. BDI for the target you are using Based on the parameters a and t the tool selects the correct firm ware file If the firmware file is in the same directory as the setup tool there is no need to enter a d parameter bdisetup u p dev ttyS0 b115 aGDB tMPC800 Connecting to BDI loader Programming firmware with b30ppcgd 100 Erasing firmware flash Erasing firmware flash passed Programming firmware flash Programming firmware flash passed Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 13 4 Transmit the initial configuration parameters With bdisetup c the configuration parameters are written to the flash memory within the BDI The following parameters are used to configure the BDI BDI IP Address The IP address for the BDI3000 Ask your network administrator for as signing an IP address to this BDI3000 Every BDI3000 in your network needs a different IP address Subnet Mask The subnet mask of the network where the BDI is connected to A subnet mask of 255 255 255 255 disables the gateway feature Ask your network administrator for the correct subnet mask If the BDI and the host are in the same subnet it is not necessary to enter a subnet mask Default Gateway Enter the IP address of the default gateway Ask your network administra tor for the correct gateway IP address If the gateway feature is disabled you may enter 255 255 255 2
3. return TRUE else return FALSE Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 7 2 2 Connecting the BDI3000 to Power Supply The BDI3000 needs to be supplied with the enclosed power supply from Abatron 5VDC LN Before use check if the mains voltage is in accordance with the input voltage printed on power supply Make sure that while operating the power supply is not covered up and not situated near a heater or in direct sun light Dry location use only AN For error free operation the power supply to the BDI3000 must be between 4 75V and 5 25V DC The maximal tolerable supply voltage is 5 25 VDC Any higher voltage or a wrong polarity might destroy the electronics i casing connected to ground terminal The green LED BDI marked light up when 5V power is connected to the BDI3000 Please switch on the system in the following sequence 1 external power supply 2 target system Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 8 2 3 Status LED MODE The built in LED indicates the following BDI states MODE LED BDI STATES The BDI is ready for use the firmware is already loaded The output voltage from the power supply is too low The BDI loader mode is active an invalid firmware is loaded or loadi
4. A Telnet server is integrated within the BDI The Telnet channel is used by the BDI to output error messages and other information Also some basic debug commands can be executed Telnet Debug features Display and modify memory locations e Display and modify general and special purpose registers Single step a code sequence Set hardware breakpoints for code and data accesses Load a code file from any host Start Stop program execution Programming and Erasing Flash memory During debugging with GDB the Telnet is mainly used to reboot the target generate a hardware reset and reload the application code It may be also useful during the first installation of the bdiGDB sys tem or in case of special debug needs e g setting breakpoints on variable access Multiple commands separated by a semicolon can be entered on one line Notes The Telnet command RESET does only reset the target system The configuration file is not loaded again If the configuration file has changed use the Telnet command BOOT to reload it The DUMP command uses TFTP to write a binary image to a host file Writing via TFTP on a Linux Unix system is only possible if the file already exists and has public write access Use man tftpd to get more information about the TFTP server on your host Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 42 Following a list of the available Tel
5. If UNLOCK is defined the entry is also part of the unlock list This unlock list is processed if the Telnet UNLOCK command is entered without any parameters wait The wait time in ms is only used for the unlock mode Af ter starting the flash unlock the BDI waits until it pro cesses the next entry Example ERASE Oxff040000 erase sector 4 of flash ERASE Oxff060000 erase sector 6 of flash ERASE Oxff000000 CHIP erase whole chip s ERASE Oxff010000 UNLOCK 100 unlock wait 100ms Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 29 MPC555 Internal Flash For the MPC555 internal flash the BDI assumes the following structure of the address 16 bit 1 bit 7 bit 8 bit module address C reserved block 0 7 module address The 16 most significant bits of the flash module address C The censor bit If this bit is set the censor information is erased block The bit mask to select the flash block to erase Bit ordering is the same as in the CMFCTL register see MPC555 manual MPC565 Internal Flash For the MPC565 internal flash the BDI assumes the following structure of the address 16 bit 1bit 7 bit 2 bit 8 bit module address C reserved sbb 0 1 block 0 7 module address The 16 most significant bits of the flash module address C The censor bit If this bit is set the censor information is erased sbb The bit mask to selec
6. a serial connection A To avoid data line conflicts the BDI3000 must be disconnected from the target system while programming the firmware for an other target CPU family Following the steps to bring up a new BDI3000 or updating the firmware Connect to the BDI Loader via Telnet If a firmware is already running enter boot loader and reconnect via Telnet telnet 192 168 53 72 or telnet lt your BDI IP address gt Update the network parameters so it matches your needs LDR gt network BDI MAC 00 0c 01 30 00 01 BDI IP 192 168 53 72 BDI Subnet 255 255 255 0 BDI Gateway 255 255 255 255 Config IP 255 255 255 255 Config File LDR gt netip 151 120 25 102 LDR nethost 151 120 25 112 LDR gt netfile bdi3000 mytarget cfg LDR gt network BDI MAC 00 0c 01 30 00 01 BDI IP 151 120 25 102 BDI Subnet 255 255 255 0 BDI Gateway 255 255 255 255 Config IP 151 120 25 112 Config File bdi3000 mytarget cfg LDR gt network save saving network configuration passed BDI MAC 00 0c 01 30 00 01 BDI IP 151 120 25 102 BDI Subnet 255 255 255 0 BDI Gateway 255 255 255 255 Config IP 151 120 25 112 Config File bdi3000 mytarget cfg In case the subnet has changed reboot before trying to load the firmware LDR gt boot loader Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 bd for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 17 Connect again via Telnet and program the firmw
7. lets the target execute code for runtime milliseconds after reset This mode is useful when monitor code should initialize the target system RUN After reset the target executes code until stopped by the Telnet halt command Example STARTUP STOP 3000 let the CPU run for 3 seconds WORKSPACE address In order to access the floating point registers of a MPC5xx microproces sor the BDI needs a workspace of 8 bytes in target RAM Enter the base address of this RAM area address the address of the RAM area Example WORKSPACE 0x00000000 Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 23 BREAKMODE mode op This parameter defines how breakpoints are implemented The current STEPMODE mode MMU XLAT kb PTBASE addr mode can also be changed via the Telnet interface SOFT This is the normal mode Breakpoints are implemented by replacing code with a TRAP default or ILLEGAL in struction The optional op parameter defines if a trap or an illegal instruction is used HARD In this mode the PPC breakpoint hardware is used Only 4 breakpoints at a time are supported Example BREAKMODE HARD use hardware breakpoints BREAKMODE SOFT ILLEGAL This parameter defines how single step instruction step is implemented Use thealternate step mode HWBP if the default step mode MSR SE bit causes problems TRACE This is the default mode Single step is impleme
8. to update the firmware will fail In this case either disable SIO first or disconnect the BDI from the LAN while updating the firmware Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 38 3 3 6 Embedded Linux MMU Support The bdiGDB system supports Linux kernel debugging when MMU is on The MMU configuration pa rameter enables this mode of operation In this mode all addresses received from GDB are assumed to be virtual Before the BDI accesses memory it translates this address into a physical one based on information found in the TLB s or kernel user page table Default address translation is used if ad dress relocation is currently not active MSR DR bit cleared or the kernel page table pointer is still Zero In order to search the page tables the BDI needs to know the start address es of the first level page table s The configuration parameter PTBASE defines the physical address where the BDI looks for the address of an array with two addresses of first level page tables The first one points normally to the kernel page table the second one can point to the current user page table As long as the base pointer or the first entry is zero the BDI does only TLB and default translation If PTBASE is not defined in the configuration file the BDI does only TLB and default translation Default translation maps addresses in the range KERNELBASE KERNELBASE OxOFFF
9. 28BX16 AT49 AT49X8 AT49X16 STRATAX8 STRATAX16 AT29X8 AT29X16 MIRROR MIRRORX8 MIRRORX16 M58X32 AM29DX16 AM29DX32 AM29BDDX16 AM29BDDX32 MPC555 MPC555SHD MPC565 MPC565SHD Example CHIPTYPE AM29F CHIPSIZE size The size of one flash chip in bytes e g AM29F010 0x20000 This value is used to calculate the starting address of the current flash memory bank For MPC5xx internal flash this parameter is not used size the size of one flash chip in bytes Example CHIPSIZE 0x80000 BUSWIDTH width Enter the width of the memory bus that leads to the flash chips Do not en ter the width of the flash chip itself The parameter CHIPTYPE carries the information about the number of data lines connected to one flash chip For example enter 16 if you are using two AM29F010 to build a 16bit flash memory bank For MPC5xx internal flash this parameter is not used with the width of the flash memory bus in bits 8 16 32 Example BUSWIDTH 16 FILE filename The default name of the file that is programmed into flash using the Telnet prog command This name is used to access the file via TFTP If the file name starts with a this is replace with the path of the configuration file name This name may be overridden interactively at the Telnet interface filename the filename including the full path or for relative path Example FILE F gnu xscale bootrom hex FILE bootrom hex FORMAT format offset The format of the file and an
10. 55 or any other value Config Host IP Address Enter the IP address of the host with the configuration file The configura tion file is automatically read by the BDI3000 after every start up Configuration file Enter the full path and name of the configuration file This file is read via TFTP Keep in mind that TFTP has it s own root directory usual tftpboot You can simply copy the configuration file to this directory and the use the file name without any path For more information about TFTP use man tftpd bdisetup c p dev ttySO0 b115 gt 1151 120 25 102 gt h151 120 25 112 gt fe bdi3000 mytarget cfg Connecting to BDI loader Writing network configuration Configuration passed 5 Check configuration and exit loader mode The BDI is in loader mode when there is no valid firmware loaded or you connect to it with the setup tool While in loader mode the Mode LED is blinking The BDI will not respond to network requests while in loader mode To exit loader mode the bdisetup v s can be used You may also power off the BDI wait some time 1min and power on it again to exit loader mode bdisetup v p dev ttySO0 b115 s BDI Type BDI3000 SN 30000154 Loader V1 00 Firmware V1 00 bdiGDB for MPC8xx MPC5xx MAC 00 0c 01 30 00 01 IP Addr 151 120 25 102 Subnet 255 255 255 255 Gateway 255 255 255 255 Host IP 151 120 25 112 Config bdi3000 mytarget cfg The Mode LED should go o
11. 6 0x0220017A 0x0400 MPTPR divide by 16 WM32 0x02200170 0x13A01114 MAMR TARGET CPUCLOCK 25000000 the CPU clock rate after processing the init list BDIMODE AGENT the BDI working mode LOADONLY AGENT GATEWAY BREAKMODE SOFT lt AGENT gt SOFT or HARD HARD uses PPC hardware breakpoints HOST IP 151 120 25 114 FILE C cygnus b19 demo mpc860 vxworks FORMAT ELF LOAD MANUAL load code MANUAL or AUTO after reset DEBUGPORT 2001 START 0x10000 Based on the information in the configuration file the target is automatically initialized after every re set Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 5 2 Installation 2 1 Connecting the BDI3000 to Target The cable to the target system is a ten pin flat ribbon cable In case where the target system has an appropriate connector the cable can be directly connected The pin assignment is in accordance with the Motorola specification In order to ensure reliable operation of the BDI EMC runtimes etc the target cable length must not exceed 20 cm 8 Target System f Target Connector 1 VFLSO 2 SRESET 3 GROUND 4 DSCK 5 GROUND 6 VFLS1 7 HRESET 8 DSDI 9 Vcc Target 10 DSDO mi n The green LED TRGT marked light up when target is powered up For TARGET A connector signals see table on next p
12. E T up to 32 MHz 1 2 5 0V 5 C 60 C 20 C 65 C lt 90 rF 160 x 85 x 35 mm 280 g 2 5m CE compliant RoHS 2002 95 EC compliant Specifications subject to change without notice Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 bd for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 44 5 Environmental notice DA es Disposal of the equipment must be carried out at a designated disposal site 6 Declaration of Conformity CE DECLARATION OF CONFORMITY This declaration is valid for following product Type of device BDM JTAG Interface Product name BDI3000 The signing authorities state that the above mentioned equipment meets the requirements for emission and immunity according to EMC Directive 89 336 EEC The evaluation procedure of conformity was assured according to the following standards IEC 61000 6 2 1999 mod EN61000 6 2 2001 IEC 61000 6 3 1996 mod EN61000 6 2 2001 This declaration of conformity is based on the test report no E1087 05 7a of Quinel Zug Swiss Testing Service accreditation no STS 037 Manufacturer ABATRON AG Lettenstrasse 9 CH 6343 Rotkreuz Authority JAD 2 Max Vock Ruedi Dummermuth Marketing Director Technical Director Rotkreuz 7 18 2007 Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 45 7 Warranty ABATRON Switzerlan
13. FFFF to 0x00000000 0x0FFFFFFF The second page table is only searched if its address is not zero and there was no match in the first one The pointer structure is as follows PTBASE physical address gt PTE pointer pointer virtual or physical address gt PTE kernel pointer virtual or physical address PTE user pointer virtual or physical address Newer versions of arch ppc kernel head 8xx S support the automatic update of the BDI page table information structure Search head 8xx S for abatron and you will find the BDI specific exten sions Extract from the configuration file INIT WM32 0x000000f0 0x00000000 invalidate page table base TARGET MMU XLAT translate effective to physical address PTBASE 0x000000f0 here is the pointer to the page table pointers Note The BDI can also handle L1 page tables where the entries are physical addresses instead of virtual ones as used in Linux 2 4 x For example Linux 2 6 x and NetBSD uses physical L1 page table en tries Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 39 To debug the Linux kernel when MMU is enabled you may use the following load and startup se quence Load the compressed linux image Set a hardware breakpoint with the Telnet at a point where MMU is enabled This can be easily achieved with the following hardware range breakpoint BDI gt BI 0xC0000000 OxCOOFFFFF St
14. FTP server for WINdOWS m rr 18 Oe PS UW UD ARER E E A E T 19 3 1 Principle of el UO Nessa E esi ee aed 19 3 2 Configuration File uiuo Lon PERI R M RE een dame a Ea IN M M DUM HERE 20 321 Patt MN ger 21 3 22 Part TARGE F cerca ce ste Fai nine cad padnd vege Qu kia asd nsu E EEEa EA A 22 3 2 3 Part HOST eC c e eae E EEEa a aE ere er 25 39 24 Part PLASH UU T Tt 27 32 5 Part REGS rS a a E E A E ne ne E 33 3 3 Debugging with GDB is acess 35 3 3 1 Target SetU e Rc RE 35 3 3 2 Connecting to the TAROT M 35 3 3 3 Breakpoint Handlings scssi ienna iia aiiai ee 36 3 3 4 GDB monitor COMING oc unis ucs cmnscsn uta suck b age eduenasaiensedeinacdsneastancnsedebabanediabe 36 3 3 5 Target serial WC via BDI Nr 37 3 3 6 Embedded Linux MMU SOP OOM saisncicvaustacinteavaccexGesssncsdercsce cansdicantendadudecdunasigeuddeiees 38 3 9 7 PPCJInterrupt Handling o etit aar eE AER RR 40 3 4 Telnet Interface ix oet seven tese dne eet teet eeu sue sang cete Estas exe ro TR Idea Tru RES 41 LH cin 43 5 Environmental notlC6e iron irr eiae eodd isa as sat aua a ads Fo Ea a RE SY Ropa KR SR ERR FRE FR BC HL SN RR RR ERE SHaS 44 6 Declaration of Conformity GE eene nanus nose sa saachantnwr enc Ra ennAaaanUI E EE sap eR Rn nnaman 44 FA ruri mr 45 Appendices
15. Hard Reset bidirectional signal of the MPC When this signal is asserted low the MPC enters hard reset sequence which include hard reset configuration DSDI Debug port Serial Data In Via the DSDI signal the debug port controller sends its data to the MPC The DSDI serves also a role during soft reset configuration Vcc Target 1 2 5 0V This is the target reference voltage It indicates that the target has power and it is also used to create the logic level reference for the input comparators It also controls the output logic levels to the target It is normally fed from Vdd I O on the target board Debug port Serial Data Out DSDO is clocked out by the MPC according to the debug port clock in parallel with the DSDI being clocked in The DSDO serves also as READY signal for the debug port con troller to indicate that the debug port is ready to receive controller s command or data Mention of sources used MPC860ADS User s Manual Revision A Enhanced Debug Mode Detection For MPC8xx and MPC555 targets debug mode Freeze detection also works when the BDM con nector pins VFLSO and VFLS1 are not connected to the target If not connected to VFLSx this BDM connector pins should be left open or tied to Vcc The BDI uses the following algorithm to check if the target is in debug mode freezed BOOL PPC TargetFreezed void if VFLSO 1 VFLSO 1 return FALSE read debug port status if status freezed
16. MIRRORX8 MIRRORX16 0x400000 Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 31 Note Some Intel flash chips e g 28F800C3 28F160C3 28F320C3 power up with all blocks in locked state In order to erase program those flash chips use the init list to unlock the appropriate blocks WM16 OxFFF00000 0x0060 unlock block 0 WM16 OxFFF00000 0x00D0 WM16 OxFFF10000 0x0060 unlock block 1 WM16 OxFFF10000 0x00D0 WM16 OxFFF00000 OxFFFF select read mode or use the Telnet unlock command UNLOCK lt addr gt delay addr This is the address of the sector block to unlock delay A delay time in milliseconds the BDI waits after sending the unlock com mand to the flash For example clearing all lock bits of an Intel J3 Strata flash takes up to 0 7 seconds If unlock is used without any parameter all sectors in the erase list with the UNLOCK option are processed To clear all lock bits of an Intel J3 Strata flash use for example BDI gt unlock OxFF000000 1000 To erase or unlock multiple continuous flash sectors blocks of the same size the following Telnet commands can be used ERASE lt addr gt step count UNLOCK lt addr gt step count addr This is the address of the first sector to erase or unlock step This value is added to the last used address in order to get to the next sec tor In other words this is the siz
17. WORKSPACE 0x007FCO00 use internal SRAM array B for workspace FORMAT SREC FILE D abatron bdi360 ppc pro mpc555 sss The file to program ERASE 0x004000FF Erase module A all sectors ERASE 0x004400FC Erase module B all sectors MPC565 internal flash INIT WSPR 638 0x00000802 IMMR InternalRegs to 0x00400000 Flash enabled FLASH CHIPTYPE MPC565 Select MPC565 internal CDR3 Flash WORKSPACE 0x007F8000 use CALRAM A for workspace FORMAT SREC FILE D abatron bdi360 ppc pro mpc565 sss The file to program ERASE 0x004000FF Erase module A all sectors ERASE 0x004800FF Erase module B all sectors Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 33 3 2 5 Part REGS In order to make it easier to access target registers via the Telnet interface the BDI can read ina register definition file In this file the user defines a name for the register and how the BDI should access it e g as memory mapped memory mapped with offset The name of the register defi nition file and information for different registers type has to be defined in the configuration file The register name type address offset number and size are defined in a separate register definition file This way you can create one register definition file for the MPC860 that can be used for all pos sible positions of the internal memory map You only have to change one entry in the configuration fi
18. Wiss sses 46 Ni juil 47 C TRACING 47 Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 3 1 Introduction bdiGDB enhances the GNU debugger GDB with Background Debug Mode BDM debugging for MPC8xx MPC5xx based targets With the built in Ethernet interface you get a very fast code down load speed No target communication channel e g serial line is wasted for debugging purposes Even better you can use fast Ethernet debugging with target systems without network capability The host to BDI communication uses the standard GDB remote protocol An additional Telnet interface is available for special debug tasks e g force a hardware reset program flash memory The following figure shows how the BDI3000 interface is connected between the host and the target Target System MPC 8xx BDM Interface UNIX PC Host BDI3000 GNU Debugger GDB 1 1 BDI3000 The BDI3000 is the main part of the bdiGDB system This small box implements the interface be tween the JTAG pins of the target CPU and a 10 100Base T Ethernet connector The firmware of the BDI3000 can be updated by the user with a simple Linux Windows configuration program or interac tively via Telnet TFTP The BDI3000 su
19. address value Write a byte 8bit to the selected memory place address the memory address value the value to write to the target memory Example WM8 OxFFFFFA21 0x04 SYPCR watchdog disable WM 16 address value Write a half word 16bit to the selected memory place address the memory address value the value to write to the target memory Example WM16 0x02200200 0x0002 TBSCR WM3 2 address value Write a word 32bit to the selected memory place address the memory address value the value to write to the target memory Example WM32 0x02200000 0x01632440 SIUMCR SUPM cmdaddr dataaddr Starts a sequence of writes to the UPM RAM array cmdaddr the address of the UPM command register dataaddr the address of the UPM data register Example SUPM 0x02200168 0x0220017c WUPM command data Write indirect to the UPM RAM array The data is always written first command this value is written to the UPM command register data this value is written to the UPM data register Example WUPM 0x00000001 OxOFFFEC04 DELAY value Delay for the selected time A delay may be necessary to let the clock PLL lock again after a new clock rate is selected value the delay time in milliseconds 1 30000 Example DELAY 500 delay for 0 5 seconds Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ld for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 22 3 2 2 Part TARGET The part TARGET defines some target specific values CPUTYPE type Th
20. age Warning Before you can use the BDI3000 with an other target processor type e g PPC lt gt ARM a new setup has to be done see chapter 2 5 During this process the target cable must be disconnected from the target system To avoid data line conflicts the BDI3000 must be disconnected from the target system while programming a new firmware for an other target CPU Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 6 TARGET A Connector Signals Description VFLSO These pin and pin 6 VFLS1 indicate to the debug port controller whether or not the MPC is in debug mode When both VFLSO and VFLS1 are at 1 the MPC is in debug mode SRESET This is the Soft Reset bidirectional signal of the MPC8xx On the MPC5xx it is an output The debug port configuration is sampled and determined on the rising edge of SRESET for both processor families On the MPC8xx it is a bidirectional signal which may be driven externally to generate soft reset sequence System Ground Debug port Serial Clock During asynchronous clock mode the serial data is clocked into the MPC according to the DSCK clock The DSCK serves also a role during soft reset configuration VFLS1 These pin and pin 1 VFLSO indicate to the debug port controller whether or not the MPC is in debug mode When both VFLSO and VFLS1 are at 1 the MPC is in debug mode HRESET This is the
21. ample for a register definition MPC860 Entry in the configuration file REGS DMM1 0x02200000 Internal Memory Map Base Address FILE E bdi mpc860 reg860 def The register definition file The register definition file name type addr size gpro GPR 0 sp GPR 1 pc SPR 26 is SRRO xer SPR 1 lr SPR 8 ctr SPR 9 sprg0 SPR 272 sprgl SPR 273 sprg2 SPR 274 sprg3 SPR 275 DMM1 must be set to the internal memory map base address siumcr DMM1 0x0000 32 Sypcr DMM1 0x0004 32 mstat DMM1 0x0178 16 padir DMM1 0x0950 16 papar DMM1 0x0952 16 paodr DMM1 0x0954 16 padat DMM1 0x0956 16 Now the defined registers can be accessed by name via the Telnet interface BDI gt rd siumcr BDI rm padir OxFFOO Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 35 3 3 Debugging with GDB Because the target agent runs within BDI no debug support has to be linked to your application There is also no need for any BDI specific changes in the application sources Your application must be fully linked because no dynamic loading is supported 3 3 1 Target setup Target initialization may be done at two places First with the BDI configuration file second within the application The setup in the configuration file must at least enable access to the target memory where the application will be loaded Disable the watchdog and setting the CPU clock rate should also be done with the BDI configuration fi
22. and V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 36 3 3 3 Breakpoint Handling GDB versions before V5 0 GDB inserts breakpoints by replacing code via simple memory read write commands There is no command like Set Breakpoint defined in the GDB remote protocol When breakpoint mode HARD is selected the BDI checks the memory write commands for such hidden Set Breakpoint actions If such a write is detected the write is not performed and the BDI sets an appropriate hardware breakpoint The BDI assumes that this is a Set Breakpoint action when memory write length is 4 bytes and the pattern to write is Ox7D821008 tw 12 r2 r2 GDB version V5 x GDB version 5 x uses the Z packet to set breakpoints watchpoints For software breakpoints the BDI replaces code with 0x7D821008 tw 12 r2 r2 When breakpoint mode HARD is selected the BDI sets an appropriate hardware breakpoint User controlled hardware breakpoints The MPC8xx 5xx has a special watchpoint breakpoint hardware integrated Normally the BDI con trols this hardware in response to Telnet commands Bl BDx or when breakpoint mode HARD is selected Via the Telnet commands BI and BDx you cannot access all the features of the breakpoint hardware Therefore the BDI assumes that the user will control setup this breakpoint hardware as soon as ICTRL LCTRL1 or LCTRL2 is written to This way the debugger or the user via Telnet has full access to all features o
23. are into the BDI flash telnet 151 120 25 102 LDR gt info BDI Firmware not loaded BDI CPLD ID 01285043 BDI CPLD UES ffffffff BDI MAC 00 0c 01 30 00 01 BDI IP 151 120 25 102 BDI Subnet 255 255 255 0 BDI Gateway 255 255 255 255 Config IP 151 120 25 112 Config File bdi3000 mytarget cfg LDR gt fwload e temp b30ppcgd 100 erasing firmware flash passed programming firmware flash passed LDR gt info BDI Firmware 13 1 00 BDI CPLD ID 01285043 BDI CPLD UES ffffffff BDI MAC 00 0c 01 30 00 01 BDI IP 151 120 25 102 BDI Subnet 255 255 255 0 BDI Gateway 255 255 255 255 Config IP 151 120 25 112 Config File bdi3000 mytarget cfg LDR To boot now into the firmware use LDR gt boot The Mode LED should go off and you can try to connect to the BDI again via Telnet telnet 151 120 25 102 Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 18 2 6 Testing the BDI3000 to host connection After the initial setup is done you can test the communication between the host and the BDI3000 There is no need for a target configuration file and no TFTP server is needed on the host If not already done connect the BDI3000 system to the network Power up the BDI3000 Start a Telnet client on the host and connect to the BDI3000 the IP address you entered dur ing initial configuration If everything is okay a sign on message like BDI Debugg
24. art the code with GO at the Telnet The Linux kernel is decompressed and started The system should stop as soon as address translation is enabled normally at start here Disable the hardware breakpoint with the Telnet command CI Start GDB with vmlinux as parameter Attach to the target Now you should be able to debug the Linux kernel There are of course other ways to begin kernel debugging You may set a hardware breakpoint di rectly at a point of interest e g start kernel Note If PTBASE is used you should use a kernel that stores the virtual address of the first level page ta ble s to the appropriate place in memory Of course this can be done manually but then set a hard ware breakpoint at start kernel and use the Telnet to write the address of swapper pg dir to the appropriate place BDI gt bi 0xc0061550 set breakpoint at start kernel BDI gt go sa target stops at start_kernel BDI gt ci BDI gt mm Oxf0 0xc00000f8 Let PTBASE point to an array of two pointers BDI gt mm Oxf8 0xc0057000 write address of swapper pg dir to first pointer BDI gt mm Oxfc 0x00000000 clear second user pointer Note The default value of DER is not suitable for Linux kernel debugging because almost all exceptions lead to debug mode entry Use the configuration file to set an appropriate value WSPR 149 0x0082000F DER enable PRIE TRE LBRK IBRK EBRK DPI Copyright 1997 2008 by ABATRON AG Swi
25. cal address of the memory used to store the virtual address of the array with the two page table pointers Example PTBASE Oxf0 Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 bd for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 24 REGLIST list With GDB version 5 0 the number of registers read from the target has been increased Additional registers like SR s BAT s and SPR s are re quested when you select a specific PowerPC variant with the set proces sor command see GDB source file rs6000 tdep c In order to be compatible with older GDB versions and to optimize the time spent to read registers this parameter can be used You can define which register group is really read from the target By default only STD are read and transferred This default is compatible with older GDB versions The following names are use to select a register group STD The standard old register block The FPR registers are not read from the target but transferred You can t disable this register group FPR The floating point registers are read and transferred SR not available for MPC8xx 5xx targets BAT not available for MPC8xx 5xx targets SPR Some additional special purpose registers AUX The debug module special purpose registers ALL Include all register groups Example REGLIST STD only standard registers REGLIST STD FPR SPR all except SR and BAT SIO port baudrate When this line is present a TCP IP channel is routed
26. d warrants the physical CD cable and BDI3000 to be free of defects in materi als and workmanship for a period of 3 years following the date of purchase when used under normal conditions In the event of notification within the warranty period of defects in material or workmanship ABATRON will replace defective CD cable or BDI3000 The remedy for breach of this warranty shall be limited to replacement and shall not encompass any other damages including but not limited loss of profit special incidental consequential or other similar claims ABATRON Switzerland specifically disclaims all other warranties expressed or implied including but not limited to implied warranties of merchantability and fitness for particular purposes with respect to defects in the CD cable and BDI3000 and the program license granted herein including without limitation the operation of the program with respect to any particular application use or purposes In no event shall ABATRON be liable for any loss of profit or any other commercial damage including but not limited to special incidental consequential or other damages Failure in handling which leads to defects are not covered under this warranty The warranty is void under any self made repair operation Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 46 Appendices A Troubleshooting Problem The firmware can not be loaded
27. e Name of the configuration file This file is accessed via TFTP Optional network parameters subnet mask default gateway Activating BOOTP The BDI can get the network configuration and the name of the configuration file also via BOOTP For this simple enter 0 0 0 0 as the BDI s IP address see following chapters If present the subnet mask and the default gateway router is taken from the BOOTP vendor specific field as defined in RFC 1533 With the Linux setup tool simply use the default parameters for the c option root LINUX_1 bdisetup bdisetup c p dev ttyS0 b57 The MAC address is derived from the serial number as follows MAC 00 0C 01 xx xx xx replace the xx xx xx with the 6 left digits of the serial number Example SN 33123407 gt gt 00 0C 01 33 12 34 Default IP 192 168 53 72 Before the BDI is configured the first time it has a default IP of 192 168 53 72 that allows an initial configuration via Ethernet Telnet or Setup Tools If your host is not able to connect to this default IP then the initial configuration has to be done via the serial connection Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 12 2 5 1 Configuration with a Linux Unix host The firmware update and the initial configuration of the BDI3000 is done with a command line utility In the ZIP Archive bdisetup zip are all sources to build this utility More info
28. e of one sector in bytes count The number of sectors to erase or unlock The following example unlocks all 256 sectors of an Intel Strata flash 28F256K3 that is mapped to 0x00000000 In case there are two flash chips to get a 32bit system double the step parameter BDI gt unlock 0x00000000 0x20000 256 Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 32 Examples ADS860 flash memory FLASH CHIPTYPE AM29F Flash type AM29F AM29BX8 AM29BX16 I28Bx8 I28BX16 CHIPSIZE 0x80000 The size of one flash chip in bytes e g AM29F010 0x20000 BUSWIDTH 32 The width of the flash memory bus in bits 8 16 32 FILE E ada demo mpc860 bootrom hex The file to program ERASE 0x02800000 erase sector 0 of flash SIMM MCM29F040 ERASE 0x02840000 erase sector 1 of flash SIMM ERASE 0x02880000 erase sector 2 of flash SIMM ERASE 0x028C0000 erase sector 3 of flash SIMM ERASE 0x02900000 erase sector 4 of flash SIMM ERASE 0x02940000 erase sector 5 of flash SIMM ERASE 0x02980000 erase sector 6 of flash SIMM ERASE 0x029C0000 erase sector 7 of flash SIMM MPC555 internal flash INIT WSPR 638 0x00000802 IMMR InternalRegs to 0x00400000 Flash enabled TARGET CPUTYPE MPC500 CPU type MPC800 MPC500 CPUCLOCK 20000000 the CPU clock rate used for flash timing calculation FLASH CHIPTYPE MPC555 Select MPC555 internal CDR MoneT Flash
29. er BDI3000 MPC8xx MPC5xx User Manual 19 3 Using bdiGDB 3 1 Principle of operation The firmware within the BDI handles the GDB request and accesses the target memory or registers via the BDM interface There is no need for any debug software on the target system After loading the code via TFTP debugging can begin at the very first assembler statement Whenever the BDI system is powered up the following sequence starts initial configuration valid no activate BDI3000 loader Get configuration file via TFTP Power OFF Process target init list Load program code via TFTP and set the PC RUN selected Start loaded program code oo Process GDB request Power OFF Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 20 Breakpoints There are two breakpoint modes supported One of them SOFT is implemented by replacing appli cation code with a TRAP instruction The other HARD uses the built in breakpoint logic If HARD is used only up to 4 breakpoints can be active at the same time The following example selects SOFT as the breakpoint mode BREAKMODE SOFT lt AGENT gt SOFT or HARD HARD uses PPC hardware breakpoints All the time the application is suspended i e caused by a breakpoint the target processor remains freezed 3 2 Configurati
30. er for Embedded PowerPC and a list of the available commands should be displayed in the Telnet window 2 7 TFTP server for Windows The bdiGDB system uses TFTP to access the configuration file and to load the application program Because there is no TFTP server bundled with Windows Abatron provides a TFTP server application tftpsrv exe This WIN32 console application runs as normal user application not as a system ser vice Command line syntax tftpsrv p w dRootDirectory Without any parameter the server starts in read only mode This means only read access request from the client are granted This is the normal working mode The bdiGDB system needs only read access to the configuration and program files The parameter p enables protocol output to the console window Try it The parameter w enables write accesses to the host file system The parameter d allows to define a root directory tftpsrv p Starts the TFTP server and enables protocol output tftpsrv p w Starts the TFTP server enables protocol output and write accesses are allowed tftpsrv dC tftp Starts the TFTP server and allows only access to files in C tftp and its subdirectories As file name use relative names For example bdi mpc750 cfg accesses C tftp bdi mpc750 cfg You may enter the TFTP server into the Startup group so the server is started every time you login Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugg
31. f this watchpoint breakpoint hardware A hardware breakpoint set via Bl or BDx gives control back to the BDI 3 3 4 GDB monitor command The BDI supports the GDB V5 x monitor command Telnet commands are executed and the Telnet output is returned to GDB This way you can for example switch the BDI breakpoint mode from within your GDB session gdb target remote bdi3000 2001 Remote debugging using bdi3000 2001 0x10b2 in start gdb monitor break Breakpoint mode is SOFT gdb mon break hard gdb mon break Breakpoint mode is HARD gdb Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 37 3 3 5 Target serial I O via BDI A RS232 port of the target can be connected to the RS232 port of the BDI3000 This way it is possible to access the target s serial I O via a TCP IP channel For example you can connect a Telnet session to the appropriate BDI3000 port Connecting GDB to a GDB server stub running on the target should also be possible Target System RS232 Connector 2 RXD 3 TXD 5 GROUND Ethernet 10 100 BASE T CJ The configuration parameter SIO is used to enable this serial I O routing The used framing parameters are 8 data 1 stop and not parity TARGET SIO 7 9600 Enable SIO via TCP port 7 at 9600 baud Warning Once SIO is enabled connecting with the setup tool
32. ff and you can try to connect to the BDI via Telnet telnet 151 120 25 102 Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 14 2 5 2 Configuration with a Windows host First make sure that the BDI is properly connected see Chapter 2 1 to 2 4 A To avoid data line conflicts the BDI3000 must be disconnected from the target system while programming the firmware for an other target CPU family fim BDI3000 Update Setup X r Connect BDI3000 Loader Channel SN 30000154 Port COM1 bad MAC 000001300001 Speed 115200 Version 1 00 r BDISO00 Firmware Loaded Version 1 00 Newest Version 1 00 Current Erase Update r Configuration BDI IP Address 151 120 25 102 Subnet Mask 255 255 255 0 Default Gateway 255 255 255 255 Config Host IP Address E 51 120 25 112 Configuration file bdi3000 mptarget cfo ee X em Writing setup data passed dialog box BDI3000 Update Setup Before you can use the BDI3000 together with the GNU debugger you must store the initial config uration parameters in the BDI3000 flash memory The following options allow you to do this Port Select the communication port where the BDI3000 is connected during this setup session If you select Network make sure the Loader is already active Mode LED blinking If there is already a firmware loaded and run ning use
33. he correct subnet mask Enter the IP address of the default gateway Ask your network administra tor for the correct gateway IP address If the gateway feature is disabled you may enter 255 255 255 255 or any other value Enter the IP address of the host with the configuration file The configura tion file is automatically read by the BDI3000 after every start up Enter the full path and name of the configuration file This name is trans mitted to the TFTP server when reading the configuration file Click on this button to store the configuration in the BDI3000 flash memory Using this setup tool via the Network channel is only possible if the BDI3000 is already in Loader mode Mode LED blinking To force Loader mode enter boot loader at the Telnet The setup tool tries first to establish a connection to the Loader via the IP address present in the BDI IP Address entry field If there is no connection established after a time out it tries to connect to the default IP 192 168 53 72 Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ZA for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 16 2 5 3 Configuration via Telnet TFTP The firmware update and the initial configuration of the BDI3000 can also be done interactively via a Telnet connection and a running TFTP server on the host with the firmware file In cases where it is not possible to connect to the default IP the initial setup has to be done via
34. he target select ROM as the format The optional parameter offset is added to any load address read from the image file format BIN SREC AOUT ELF IMAGE or ROM Example FORMAT ELF FORMAT ELF 0x10000 LOAD mode In Agent mode this parameters defines if the code is loaded automatically after every reset mode AUTO MANUAL Example LOAD MANUAL START address The address where to start the program file If this value is not defined and the core is not in ROM the address is taken from the code file If this value is not defined and the core is already in ROM the PC will not be set before starting the program file This means the program starts at the normal re set address 0x0100 address the address where to start the program file Example START 0x1000 Special IMAGE load format The IMAGE format is a special version of the ELF format used to load a Linux boot image into target memory When this format is selected the BDI loads not only the loadable segment as defined in the Program Header it also loads the rest of the file up to the Section Header Table The relationship between load address and file offset will be maintained throughout this process This way the com pressed Linux image and a optional RAM disk image will also be loaded Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 26 DEBUGPORT port RECONNECT The TCP port GDB uses to access the targe
35. is value gives the BDI information about the connected CPU type The CPU type from the following list MPC500 or MPC800 Example CPUTYPE MPC500 CPUCLOCK value The BDI needs to know how fast the target CPU runs after processing the init list The BDM communication speed is selected based on this value If this value defines a clock rate that is higher than the real clock BDM com munication may fail When defining a clock rate slower than possible BDM communication still works but not as fast as possible Important When programming the MPC555 internal flash this value is used to calculate the appropriate timing parameters value the CPU clock in hertz Example CPUCLOCK 25000000 CPU clock is 25 0MHz BDIMODE mode param This parameter selects the BDI debugging mode The following modes are supported LOADONLY Loads and starts the application core No debugging via BDM AGENT The debug agent runs within the BDI There is no need for any debug software on the target This mode accepts a second parameter If RUN is entered as a second pa rameter the loaded application will be started immedi ately otherwise only the PC is set and BDI waits for GDB requests Example BDIMODE AGENT RUN STARTUP mode runtime This parameter selects the target startup mode The following modes are supported RESET This default mode forces the target to debug mode im mediately out of reset No code is executed after reset STOP In this mode the BDI
36. ldi BDM interface for GNU Debugger PewerPC MPC822 MPCSxx User Manual Manual Version 1 00 for BDI3000 abatron 1997 2008 by Abatron AG ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 2 1 Introduction P A 3 T3 BDISOOO oat mere eee mene a e E UU egt 3 1 2 BDI PMMA EOI mec anna EEE AE aE a a EER araara Re airar aet 4 PE aa m 5 2 1 Connecting the BDI3000 to Tar et uude editt utet pier en Peau luptat Ress tota x ots ida Oo pae seetdaades 5 2 2 Connecting the BDI3000 to Power Supply sssseseeeeeeeeee nennen 7 2 3 Stat s LED ep aa aaa a a a Raa aE AR a EERE ARS REE 8 2 4 Connecting the BDI3000 to OSH uic ertet asa e Rp uo sac tasa eR kx cu s Fu RRu RR GERA MR INE UE 9 2 4 1 Serial line communication cu cii ict rase Ras si RETE UpNO Nd ul Re greed dr Du au UE RR ERAS 9 2 4 2 Ethernet communication M C O 10 2 5 Installation of the Configuration Software seeesesseeeeeeneeeeeennnnnennnn 11 2 5 1 Configuration with a Linux Unix host ssssessseeseeen enm 12 2 5 2 Configuration with a Windows host enne nnn 14 2 5 3 Configuration via Telnet TETP ii circo brise c e eon ase sbbd bur Uer E saca usb estas 16 2 6 Testing the BDI3000 to host connection ssssssseeene emen 18 2 7 T
37. le An entry in the register definition file has the following syntax name type addr size name The name of the register max 12 characters type The register type GPR General purpose register SPR Special purpose register MM Absolute direct memory mapped register DMM1 DMM4_ Relative direct memory mapped register IMM1 IMM4 Indirect memory mapped register addr The address offset or number of the register size The size 8 16 32 of the register The following entries are supported in the REGS part of the configuration file FILE filename The name of the register definition file This name is used to access the file via TFTP The file is loaded once during BDI startup filename the filename including the full path Example FILE C bdi regs mpc8260 def DMMn base This defines the base address of direct memory mapped registers This base address is added to the individual offset of the register base the base address Example DMM1 0x01000 IMMn adar data This defines the addresses of the memory mapped address and data reg isters of indirect memory mapped registers The address of a IMMn regis ter is first written to addr and then the register value is access using data as address addr the address of the Address register data the address of the Data register Example DMM 1 0x02200000 Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 34 Ex
38. le Application specific initializations like setting the timer rate are best located in the application startup sequence 3 3 2 Connecting to the target As soon as the target comes out of reset BDI initializes it and loads your application code If RUN is selected the application is immediately started otherwise only the target PC is set BDI now waits for GDB request from the debugger running on the host After starting the debugger it must be connected to the remote target This can be done with the fol lowing command at the GDB prompt gdb target remote bdi3000 2001 bdi3000 This stands for an IP address The HOST file must have an appropriate entry You may also use an IP address in the form xxx 0o0 Xxx Xxx 2001 This is the TCP port used to communicate with the BDI If not already suspended this stops the execution of application code and the target CPU changes to background debug mode Remember every time the application is suspended the target CPU is freezed During this time no hardware interrupts will be processed Note For convenience the GDB detach command triggers a target reset sequence in the BDI gdb gdb detach Wait until BDI has resetet the target and reloaded the image gdb target remote bdi3000 2001 Note After loading a program to the target you cannot use the GDB run command to start execution You have to use the GDB continue command Copyright 1997 2008 by ABATRON AG Switzerl
39. net commands PHYS lt address gt converts an effective to a physical address MD lt address gt lt count gt display target memory as word 32bit MDH lt address gt lt count gt display target memory as half word 16bit MDB lt address gt lt count gt display target memory as byte 8bit DUMP lt addr gt lt size gt lt file gt dump target memory to a file MM lt addr gt lt value gt lt cnt gt modify word s 32bit in target memory MMH lt addr gt value lt cnt gt modify half word s 16bit in target memory MMB lt addr gt value lt cnt gt modify byte s 8bit in target memory MT address count single word 32bit memory test MTH lt address gt lt count gt single half word 16bit memory test MTB lt address gt lt count gt single byte 8bit memory test MC lt address gt lt count gt calculates a checksum over a memory range MV verifies the last calculated checksum RD lt name gt display general purpose or user defined register RDUMP lt file gt dump all user defined register to a file RDS lt number gt display special purpose register RM lt nbr gt lt name gt value modify general purpose or user defined register RMS lt number gt lt value gt modify special purpose register UPMS lt MCR addr gt lt MDR addr gt set address of register MCR and MDR UPMA display UPMA setup UPMB display UPMB se
40. ng firmware is active Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 9 2 4 Connecting the BDI3000 to Host 2 4 1 Serial line communication Serial line communication is only used for the initial configuration of the bdiGDB system The host is connected to the BDI through the serial interface COM1 COM4 The communication cable included between BDI and Host is a serial cable There is the same connector pinout for the BDI and for the Host side Refer to Figure below RS232 Connector Target System for PC host PPC 2 RXD data from host 3 TXD data to host PC Host RS232 Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 10 2 4 2 Ethernet communication The BDI3000 has a built in 10 100 BASE T Ethernet interface see figure below Connect an UTP Unshielded Twisted Pair cable to the BD3000 Contact your network administrator if you have ques tions about the network Target System 10 100 BASE T 1 8 Connector 1 TD 2 TD 3 RD LED1 LED2 6 RD PC Unix Host Ethernet 10 100 BASE T CJ The following explains the meanings of the built in LED lights Function Description Link Activity When this LED light is ON data link is successf
41. nted by setting the SE bit in MSR HWBP In this mode one or two hardware breakpoints are used to implement single stepping Example STEPMODE HWBP In order to support Linux kernel debugging when MMU is on the BDI translates effective virtual to physical addresses This translation is done based on the current MMU configuration Currently only the Linux model with 4k pages is supported If this configuration line is present and ad dress relocation active MSR bits IR DR the BDI translates the address es received from GDB before it accesses physical memory The optional parameter defines the kernel virtual base address default is OxC0000000 and is used for default address translation For more infor mation see also chapter Embedded Linux MMU Support Addresses en tered at the Telnet are never translated Translation can be probed with the Telnet command PHYS If kb is defined as 0x00000000 then the BDI uses only the current MPC8xx TLB s to translate a virtual address there is no page table search in this case Useful for systems where a fixed MMU mapping is used kb The kernel virtual base address KERNELBASE or 0x00000000 for a translation based only on the current TLB s Example MMU XLAT enable address translation This parameter defines the physical memory address where the BDI looks for the address of the array with the two page table pointers For more in formation see also chapter Embedded Linux MMU Support addr Physi
42. on File The configuration file is automatically read by the BDI after every power on The syntax of this file is as follows comment part name identifier parameterl parameter2 parameterN comment identifier parameterl parameter2 parameterN part name identifier parameterl parameter2 parameterN identifier parameterl parameter2 parameterN etc Numeric parameters can be entered as decimal e g 700 or as hexadecimal 0x80000 Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 21 3 2 1 Part INIT The part INIT defines a list of commands which should be executed every time the target comes out of reset The commands are used to get the target ready for loading the program file The SIM regis ters chip select clock are usually initialized with this command list WGPR register value Write value to the selected general purpose register register the register number O 31 value the value to write into the register Example WGPR 0 5 WSPR register value Write value to the selected special purpose register register the register number value the value to write into the register Example WSPR 27 0x00001002 SRR1 ME RI WREG name value Write value to the selected CPU register by name name the register name MSR CR XER LR CTR DSISR value the value to write into the register Example WREG MSR 0x00001002 WM68
43. optional address offset The optional param eter offset is added to any load address read from the program file format SREC BIN AOUT ELF or IMAGE Example FORMAT SREC FORMAT ELF 0x10000 Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 28 WORKSPACE address If a workspace is defined the BDI uses a faster programming algorithm that runs out of RAM on the target system Otherwise the algorithm is pro cessed within the BDI The workspace is used for a 1kByte data buffer and to store the algorithm code There must be at least 2kBytes of RAM avail able for this purpose Programming MPC5xx internal flash also needs a workspace in target RAM A workspace is also required for the AT29 and STRATA algorithm address the address of the RAM area Example WORKSPACE 0x00000000 ERASE addr mode wait The flash memory may be individually erased or unlocked via the Telnet interface In order to make erasing of multiple flash sectors easier you can enter an erase list All entries in the erase list will be processed if you enter ERASE at the Telnet prompt without any parameter This list is also used if you enter UNLOCK at the Telnet without any parameters address Address of the flash sector block or chip to erase mode BLOCK CHIP UNLOCK Without this optional parameter the BDI executes a sec tor erase If supported by the chip you can also specify a block or chip erase
44. pports 1 2 5 0 Volts target systems Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 1 2 BDI Configuration As an initial setup the IP address of the BDI3000 the IP address of the host with the configuration file and the name of the configuration file is stored within the flash of the BDI3000 Every time the BDI3000 is powered on it reads the configuration file via TFTP for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 4 Following an example of a typical configuration file bdiGDB configuration file for MPC860ADS board INIT init core register WSPR 638 0x02200000 IMMR internal memory at 0x02200000 WSPR 158 0x00000007 ICTRL init SIU register WM32 0x02200000 0x01632440 SIUMCR WM32 0x02200004 OxFFFFFF88 SYPCR WM16 0x02200200 0x0002 TBSCR WM16 0x02200220 0x0102 RTCSC WM16 0x02200240 0x0002 PTSCR init UPM SUPM 0x02200168 0x0220017c set address for MCR and MDR WUPM 0x00000000 Ox8FFFEC24 UPMA single read WUPM 0x00000001 OxOFFFECOA WUPM 0x00000002 OxOCFFECOA WUPM 0x00000003 OxO0FFECOA WUPM 0x0000003C 0x33FFCC07 UPMA exception WUPM 0x0000003D OxFFFFFFFF WUPM 0x0000003E OxFFFFFFFF WUPM 0x0000003F OxFFFFFFFF init memory controller WM32 0x02200104 OxFFE00D34 ORO 2MB all accesses 6ws time relax WM32 0x0220010C OxFFFF8110 OR1 WM32 0x02200114 OxFFC00800 OR2 WM32 0x02200100 0x02800001 BRO WM32 0x02200108 0x02100001 BR1 WM32 0x02200110 0x00000081 BR2 WM1
45. rase a flash memory sector chip or block lt mode gt CHIP BLOCK or SECTOR default is sector ERASE lt addr gt lt step gt lt count gt erase multiple flash sectors UNLOCK lt addr gt lt delay gt unlock a flash sector UNLOCK lt addr gt lt step gt lt count gt unlock multiple flash sectors FLASH lt type gt lt size gt lt bus gt change flash configuration DELAY lt ms gt delay for a number of milliseconds HOST ip change IP address of program file host PROMPT string defines a new prompt string CONFIG display or update BDI configuration CONFIG file lt hostIP gt lt bdiIP gt lt gateway gt lt mask gt HELP display command list BOOT loader reboot the BDI and reload the configuration QUIT terminate the Telnet session Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 43 4 Specifications Operating Voltage Limiting Power Supply Current RS232 Interface Baud Rates Data Bits Parity Bits Stop Bits Network Interface BDM JTAG clock Supported target voltage Operating Temperature Storage Temperature Relative Humidity noncondensing Size Weight without cables Host Cable length RS232 Electromagnetic Compatibility Restriction of Hazardous Substances 5 VDC 0 25 V typ 500 mA max 1000 mA 9 600 19 200 38 400 57 600 115 200 8 none 4 10 100 BAS
46. rmation about this utility can be found at the top in the bdisetup c source file There is also a make file included Starting the tool without any parameter displays information about the syntax and parameters A To avoid data line conflicts the BDI3000 must be disconnected from the target system while programming the firmware for an other target CPU family Following the steps to bring up a new BDI3000 1 Build the setup tool The setup tool is delivered only as source files This allows to build the tool on any Linux Unix host To build the tool simply start the make utility root LINUX_1 bdisetup make cc 02 c o bdisetup o bdisetup c cc 02 c o bdicnf o bdicnf c cc 02 c o bdidll o bdidll c cc s bdisetup o bdicnf o bdidll o o bdisetup 2 Check the serial connection to the BDI With bdisetup v you may check the serial connection to the BDI The BDI will respond with infor mation about the current loaded firmware and network configuration Note Login as root otherwise you probably have no access to the serial port bdisetup v p dev ttyS0O b115 BDI Type BDI3000 SN 30000154 Loader V1 00 Firmware unknown MAC ff ff ff ff ff ff IP Addr 255 255 255 255 Subnet 255 255 255 255 Gateway 255 255 255 255 Host IP 255 255 255 255 Config YVVVVVV 3 Load Update the BDI firmware With bdisetup u the firmware is programmed into the BDI3000 flash memory This configures the
47. t If the RECONNECT param eter is present an open TCP IP connection Telnet GDB will be closed if there is a connect request from the same host same IP address port the TCP port number default 2 2001 Example DEBUGPORT 2001 PROMPT string This entry defines a new Telnet prompt The current prompt can also be changed via the Telnet interface Example PROMPT MPC860 gt DUMP filename The default file name used for the Telnet DUMP command filename the filename including the full path Example DUMP dump bin TELNET mode By default the BDI sends echoes for the received characters and supports command history and line editing If it should not send echoes and let the Telnet client in line mode add this entry to the configuration file mode ECHO default NOECHO or LINE Example TELNET NOECHO use old line mode Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ld for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 27 3 2 4 Part FLASH The Telnet interface supports programming and erasing of flash memories The bdiGDB system has to know which type of flash is used how the chip s are connected to the CPU and which sectors to erase in case the ERASE command is entered without any parameter CHIPTYPE type This parameter defines the type of flash used It is used to select the cor rect programming algorithm Note A workspace is necessary for STRATA MIRROR AT29 MPC5xx format AM29F AM29BX8 AM29BX106 I28BX8 I
48. t the small blocks to erase Bit ordering is the same as in the UCSFCTL register see MPC565 manual block The bit mask to select the flash block to erase Bit ordering is the same as in the UCSFCTL register see MPC565 manual The BDI does not write implicit any value to the UC3FMCRE registers If small blocks are used the appropriate value has to be written to the UCSFMCRE registers via the BDI initialization list or via the connected debugger Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 30 Supported Flash Memories There are currently 3 standard flash algorithm supported The AMD Intel and Atmel AT49 algorithm Almost all currently available flash memories can be programmed with one of this algorithm The flash type selects the appropriate algorithm and gives additional information about the used flash For 8bit only flash AM29F MIRROR I28BX8 AT49 For 8 16 bit flash in 8bit mode AM29BX8 MIRRORX8 I28BX8 STRATAX8 AT49X8 For 8 16 bit flash in 16bit mode AM29BX16 MIRRORX16 I28BX16 STRATAX16 AT49X16 For 16bit only flash AM29BX16 I28BX16 AT49X16 For 16 32 bit flash in 16bit mode AM29DX16 AM29BDDX16 For 16 32 bit flash in 32bit mode AM29DX32 AM29BDDX32 For 32bit only flash M58X32 Some newer Spansion MirrorBit flashes cannot be programmed with the MIRRORX16 algorithm be cause of the used unlock address offset Use S29M32X16 for
49. the Telnet command boot loader to activate Loader Mode Speed Select the baudrate used to communicate with the BDI3000 loader during this setup session Connect Click on this button to establish a connection with the BDI3000 loader Once connected the BDI3000 remains in loader mode until it is restarted or this dialog box is closed Current Press this button to read back the current loaded BDI3000 firmware ver sion The current firmware version will be displayed Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 15 Erase Update BDI IP Address Subnet Mask Default Gateway Config Host IP Address Configuration file Transmit Note Press this button to erase the current loaded firmware This button is only active if there is a newer firmware version present in the execution directory of the bdiGDB setup software Press this button to write the new firmware into the BDI3000 flash memory Enter the IP address for the BDI3000 Use the following format XXX XXX XXX Xxx e g 151 120 25 101 Ask your network administrator for assigning an IP address to this BDI3000 Every BDI3000 in your network needs a different IP address Enter the subnet mask of the network where the BDI is connected to Use the following format Xxx Xxx xxx xxxe g 255 255 255 0 A subnet mask of 255 255 255 255 disables the gateway feature Ask your network administrator for t
50. these flashes The AMD and AT49 algorithm are almost the same The only difference is that the AT49 algorithm does not check for the AMD status bit 5 Exceeded Timing Limits Only the AMD and AT49 algorithm support chip erase Block erase is only supported with the AT49 algorithm If the algorithm does not support the selected mode sector erase is performed If the chip does not support the selected mode erasing will fail The erase command sequence is different only in the 6th write cycle Depending on the selected mode the following data is written in this cycle see also flash data sheets Ox10 for chip erase Ox30 for sector erase 0x50 for block erase To speed up programming of Intel Strata Flash and AMD MirrorBit Flash an additional algorithm is implemented that makes use of the write buffer This algorithm needs a workspace otherwise the standard Intel AMD algorithm is used The following table shows some examples Chipsize Am29F010 AM29F 0x020000 Am29F800B AM29BX8 AM29BX16 0x100000 Am29DL323C AM29BX8 AM29BX16 0x400000 Am29PDL128G AM29DX16 AM29DX32 0x01000000 Intel 28F032B3 l28BX8 0x400000 Intel 28F640J3A STRATAX8 STRATAX16 0x800000 Intel 28F320C3 l28BX16 0x400000 AT49BV040 AT49 0x080000 AT49BV1614 AT49X8 AT49X16 0x200000 M58BW016BT M58X32 0x200000 SST39VF160 AT49X16 0x200000 Am29LV320M
51. to the BDI s RS232 connector The port parameter defines the TCP port used for this BDI to host communication You may choose any port except O and the default Telnet port 23 On the host open a Telnet session using this port Now you should see the UART output in this Telnet session You can use the normal Telnet connection to the BDI in parallel they work completely inde pendent Also input to the UART is implemented port The TCP IP port used for the host communication baudrate The BDI supports 2400 115200 baud Example SIO 7 9600 TCP port for virtual IO Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 25 3 2 3 Part HOST The part HOST defines some host specific values IP ipaddress The IP address of the host ipaddress the IP address in the form xxx xxx XXxX XXX Example IP 151 120 25 100 FILE filename The default name of the file that is loaded into RAM using the Telnet load command This name is used to access the file via TFTP If the filename starts with a this is replace with the path of the configuration file name filename the filename including the full path or for relative path Example FILE F gnu demo mpc test elf FILE test elf FORMAT format offset The format of the image file and an optional load address offset Currently binary S record a out and ELF formats are supported If the image is al ready stored in ROM on t
52. tup DTLB from to display data TLB entry ITLB from lt to gt display inst TLB entry DTAG from lt to gt display data cache tags CBB display copyback buffer RESET HALT RUN time reset the target system change startup mode BREAK SOFT HARD display or set current breakpoint mode GO pc set PC and start target system RT lt pc gt trace on instuction single step TC lt pc gt trace on change of flow HALT force target to enter debug mode BI from lt to gt lt count gt set instruction hardware breakpoint CI lt id gt clear instruction hardware breakpoint s BD R W lt addr gt lt count gt lt data gt set data breakpoint 32bit access BDH R W lt addr gt lt count gt lt data gt set data breakpoint 16bit access BDB R W lt addr gt lt count gt lt data gt set data breakpoint 8bit access BDR R W lt from gt lt to gt lt count gt set data breakpoint on a range CD lt id gt clear data breakpoint s INFO display information about the current state LOAD lt offset gt lt file gt lt format gt load program file to target memory VERIFY lt offset gt lt file gt lt format gt verify a program file to target memory PROG lt offset gt lt file gt lt format gt program flash memory E format SREC or BIN or AOUT or ELF ERASE lt address gt lt mode gt e
53. tzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 40 3 3 7 PPC Interrupt Handling Almost all PPC interrupts causes an entry into debug mode By default the Debug Enable Register DER is set as follows Debug Enable Register Mnemonic Describtion RSTE enabled Reset Interrupt CHSTPE enabled Check Stop MCIE enabled Maschine Check Interrupt EXTIE External Interrupts ALIE enabled Alignment Interrupt PRIE enabled Program Interrupt FPUVIE enabled Floating Point Unavailable Interrupt DECIE Decrementer Interrupt enabled System Call Interrupt enabled Trace Interrupt SEIE enabled Software Emulation Interrupt ITLBMSE Implementation Specific Instructuction TLB Miss ITLBERE Implementation Specific Instructuction TLB Error DTLBMSE Implementation Specific Data TLB Miss DTLBERE Implementation Specific Data TLB Error enabled Load Store Breakpoint Interrupt enabled Instruction Breakpoint Interrupt enabled External Breakpoint Interrupt enabled Developement Port Nonmaskable Request If this is not appropriate for the application the default initialisation may be change with an entry in the configuration file WSPR 149 OxFFE7400F DER set debug enable register Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ZA for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 41 3 4 Telnet Interface
54. ul between the UTP port of the BDI3000 and the hub to which it is connected The LED blinks when the BDI3000 is receiving or transmitting data When this LED light is ON 100Mb s mode is selected default When this LED light is OFF 10Mb s mode is selected Copyright 1997 2008 by ABATRON AG Switzerland V 1 00 ldi for GNU Debugger BDI3000 MPC8xx MPC5xx User Manual 11 2 5 Installation of the Configuration Software On the enclosed diskette you will find the BDI configuration software and the firmware required for the BDI3000 For Windows users there is also a TFTP server included The following files are on the diskette b30ppcgd exe Windows Configuration program b30ppcgd xxx Firmware for the BDI3000 tftpsrv exe TFTP server for Windows WIN32 console application cfg Configuration files def Register definition files bdisetup zip ZIP Archive with the Setup Tool sources for Linux UNIX hosts Overview of an installation configuration process Create a new directory on your hard disk Copy the entire contents of the enclosed diskette into this directory Linux only extract the setup tool sources and build the setup tool Use the setup tool or Telnet default IP to load update the BDI firmware Note A new BDI has no firmware loaded Use the setup tool or Telnet default IP to load the initial configuration parameters IP address of the BDI IP address of the host with the configuration fil

Download Pdf Manuals

image

Related Search

Related Contents

  Manuel d`utilisation  Aides auditives intra-auriculaires  Avaya Call Detail Recording BCM Rls 6.0 User's Manual  視聴制限 操作早見表  MiniGEL - Usmoothie  Sea Gull Lighting 61105-965 Installation Guide  Packungsinhalt - Support  Owner`s Manual - Atron Systems Homepage  KUDA 095720 holder  

Copyright © All rights reserved.
Failed to retrieve file