Om Lauterbach

Fråga 1: Varför ska vi använda Lauterbach  för att spela in ETM trace på ett Cortex-M system när det finns andra leverantörer som säljer liknande HW till ett mycket lägre pris?

Svar: Lauterbachs TRACE32 debug mjukvara har överlägsen funktionalitet när det gäller vad man kan göra med en inspelad trace. T.ex. avancerad sök funktion, profilering på funktion, modul och task nivå samt avancerad debugging med hjälp av Context Tracking System (CTS),  med CTS så kan du gå framåt och bakåt i ett inspelat programflöde för att få koll på exakt vad som hände.

Fråga 2: Vad är fördelarna med att använda Lauterbachs JTAG baserade debuglösning för ett Linux system om man jämför med GDB?

Svar: Med Lauterbachs debugger för ett Linuxsystem kan du debugga kernel, drivrutiner, bibliotek och applikationer samtidigt. När man stannar på en brytpunkt i en applikation så kan man titta på tex variabler i en drivrutin. Med Lauterbach debugger har man helt enkelt tillgång till allt minne i hela systemet.  Man kan även sätta läs och skrivbrytpunkter på tex ett HW block för avancerad debugging. Beroende på vilken CPU du använder i sitt system så finns även möjligt att bygga ut debuggern med trace som med fördel kan användas för hitta buggar som beror på timing och även profilera på en väldigt detaljerad nivå.

Fråga 3: När jag byter arkitektur, t.ex. från ARM9 till en Freescale P2040 måste jag då köpa en helt ny debugger igen?

Svar: Nej, det är en av många styrkor med Lauterbachs lösning! Den är modulärt uppbyggd, dvs. du kan återanvända stora delar av systemet igen om och när du byter arkitektur, på så sätt så får du ut mycket av din investering.

Fråga 4: Jag har använt Lauterbach debugger och trace för ARM9 i många år nu och lärt mig använda Trace32-PowerView (IDE) med dess många olika knappar och funktioner och tycker det funkar utmärkt. Nu ska jag istället börja jobba med en Cortex-M, måste jag nu lära mig en ny miljö igen?

Svar: Nej, nej, nej Trace32-PowerView (IDE) är gemensamt för hela Lauterbachs produkt linje, dvs. när du väl en gång lärt dig använda det, så behöver du inte lägga ner en massa tid och möda på att återigen lära dig något nytt IDE bara för att du byter arkitektur. Du kan nu istället komma igång snabbt och  lägga din tid och kraft på det du ska utveckla!

Fråga 5: Jag ska använda Quadros RTOS för min Cortex-M. Supportar Lauterbach detta RTOS?

Svar: Absolut! Lauterbach supportar idag nästan 100st olika RTOS från en mängd olika leverantörer och så fort ett nytt RTOS släpps så ser Lauterbach till att det supportas fortast möjligt.

Fråga 6: Vi arbetar med en OMAP3530 som innehåller både en Cortex-A8 och en DSP. Behöver man olika debuggers för ARM:n och DSP:n?

Svar: Med ett chip som innehåller flera olika kärnor så kan man debugga dessa med en och samma debugger. Man kan nämligen ha licenser för flera arkitekturer i en och samma debugg HW. Sedan så har man två olika instanser av PowerView IDE:t. En för varje kärna. Man debugggar alltså i AMP läge och man kan synkronisera brytpunkter mm så att när den ena kärnan stannar på en brytpunkt så stannar även den andra.

Fråga 7: Vi använder en IMX6 processor med 4 Cortex-A9 kärnor. Går det att debugga denna när man kör SMP Linux och hur fungerar det?

Svar: Lauterbachs debugger har stöd för SMP. Exempel på arkitekturer där SMP debug stöds är ARM, PowerPC, Mips och Atom. Till skillnad mot AMP så har man i detta fall endast en instans av PowerView IDE:t. Om man tex sätter en brytpunkt så kommer den sättas för alla kärnorna eftersom i ett SMP system så vet man oftast inte vilken kärna som kommer att exekvera en viss kod. När man träffar brytpunkten så kommer alla kärnor att stanna och debuggern kommer visa tillståndet på kärnan som träffade brytpunkten. Debuggern har även en Linux plugin med vilken man kan titta på vilka processer som kör och på vilken kärna de kör. Det går att debugga alla delar i ett SMP Linux system såsom kernel, drivrutiner, applikationer och bibliotek.

Fråga 8: Går det att använda trace när man har ett SMP system? Måste man då välja vilken kärna man vill använda trace på?

Svar: De flesta SMP system som har trace support har möjlighet att skicka ut trace information från alla kärnorna via en traceport samtidigt. Tex ARM processorer har ett system som heter Coresight där flera trace källor på chipet kan kombineras till en trace ström. Lauterbachs debugger supportar detta och i IDE:t kan man välja om man vill titta på trace från en eller flera kärnor. All trace information är synkroniserad så att man kan se vilka funktioner och processer som exekverar samtidigt på de olika kärnorna.

Fråga 9: Vi har sett att Lauterbach har en analogprobe. Vad kan denna användas till?

Svar: Analogproben har ett antal ström och spännings kanaler som kan användas för att spela in analoga signaler i Lauterbachs logikanalysator. Det som spelas in i logikanalysatorn kan sedan synkroniseras med trace(tex ETM). Om man väljer att spela in strömförbrukningen av CPU:n eller target så kan man se strömförbrukningen beroende på var man är i koden, tex så kan man se att HW blocks stängs av när de inte används mm. Man kan även profilera sin kod med avseende på energi, tex se hur mycket energi en viss funktion förbrukar.

Fråga 10: Vi har ett kort med 2 CPU:er med varsin JTAG kontakt. Kan man debugga dessa CPU:er samtidigt med Lauterbachs debugger?

Svar: Detta är fullt möjligt. Man kan koppla ihop flera debuggers och starta en instans av PowerView IDE:t för respektive debugger. Man kan sedan konfigurera så att man får synkronisering mellan dessa instanser så att när någon CPU stannar på en brytpunkt så stannar alla CPU:erna.

Fråga 11: Går det att generera en trigger när man träffar en brytpunkt för att trigga ett externt instrument.

Svar: Lauterbachs debugger har en trigger bus som kan användas. Den kan användas både som input och output. Denna kan kopplas ihop med något externt instrument för att få synkronisering.

Kontakta oss gärna om dina funderingar inte finns med info@nohau.se

Contact at Nohau

Request more information... 

Jörgen Nilsson 

phone: +46 (0) 40 59 22 06 (se)
phone: +47 (0) 92 44 22 09 (no)
jorgen.nilsson@nohau.se

 
Share |