SlideShare a Scribd company logo
1 of 11
External Use
TM
Exploring SoC Peripherals with
Eclipse™ C/C++ IDE
Eclipse DemoCamp Bucharest, 2014
Valentin Ciocoi
J U L . 0 2 . 2 0 1 4
TM
External Use 1
Agenda
• Overview
• Explore peripherals with CDT Registers View
• Explore peripherals with open source
Embedded System Registers plug-in
• Explore peripherals with your custom plug-in
TM
External Use 2
Overview
• Most embedded devices have peripherals (accelerators, IO interfaces, etc)
that are mapped in global memory address space in the form of memory
mapped registers
• Developers can debug the state of a peripheral by dumping or visualizing the
memory area corresponding to the peripheral
• It can be difficult to decode a memory dump in order to identify the value of a
specific bit-field that caused the peripheral to misbehave
• Eclipse™ C/C++ IDE can be used to enhance the peripheral debugging
experience
TM
External Use 3
Explore peripherals with CDT Registers View
• The standard Eclipse CDT registers view only shows the processor core registers:
general purpose registers, floating point registers and some core state registers.
• Additional registers can be displayed in standard CDT registers view by adding their
description in the GDB target description file.
https://sourceware.org/gdb/onlinedocs/gdb/Target-Descriptions.html#Target-
Descriptions
• The GDB server must be updated to access those registers by reading the
corresponding memory location
CDT
register
details
TM
External Use 4
Explore peripherals with CDT Registers View
• Example:
<feature name="Peripheral1">
<reg name="REG_NAME1" bitsize="32" type="uint32" group="general" regnum="166"/>
<reg name="REG_NAME2" bitsize="32" type="uint32" group="general" regnum="167"/>
</feature>
• Advantages:
− Easy to add/remove register groups as long as GDB server is aware of them
− Common view for displaying all registers: core and peripherals
− Common GDB shell commands for accessing all registers
− Suitable for adding a small set of custom registers
• Disadvantages:
− Support for the additional registers must be present or added in GDB server
− CDT registers view shows all registers retrieved from GDB in a single group
− Not suitable for adding large set of custom registers
− At each target state change (suspend, memory change, etc) GDB will read from target all registers
present in the target description file => this can greatly impact the debugger speed
TM
External Use 5
Explore peripherals with Embedded System Registers
• An open source Eclipse plug-in similar to CDT registers view:
http://sourceforge.net/projects/embsysregview/
• EmbSysRegisters has two plugins: the view itself and a data plugin that contains several device
description XML files for various chips
• The description files come in a custom DTD format or in CMSIS-SVD (System View Description)
format which is the standard introduced by ARM™
http://www.keil.com/pack/doc/CMSIS/SVD/html/index.html
• The view displays peripheral memory mapped registers based on these device XML description files
TM
External Use 6
Explore peripherals with Embedded System Registers
• Installation:
− Use this Eclipse update site http://embsysregview.sourceforge.net/update to install the plugins
• Configuration:
− The data plugin installs XML files describing the devices peripherals in the following folder:
eclipsepluginsorg.eclipse.cdt.embsysregview.data_0.2.4.r168data
− Add your own device description file containing the peripherals you want to explore
• Using the Plugin
− Open the ‘EmbSys Registers’ view (menu Window > Show View > Others > Debug > EmbSys Registers)
− select the device by pressing the settings icon in the view or from menu Window > Preferences > C/C++ > Debug
> EmbSys Registers
− To read the register values from the device, double-click on the register/group (the icon turns green)
• Advantages:
− Open source, easy to install Eclipse plug-in
− Tree-view user interface similar with CDT registers view
− Supports CMSIS-SVD - ARM standard device description format
• Disadvantages:
− GPLv3 license (extending, bug-fixing)
− The values are not automatically loaded – user has to double-click on the registers
− Crowded view – the details are blended in the view – there is no details pane as in CDT view
− Few devices already supported – description file must be added for other devices
− Tree-view is not lazy
TM
External Use 7
Explore peripherals with your custom plug-in
• Example of creating a custom plugin working with CDT-DSF
− The view:
 Create your custom view by sub-classing org.eclipse.ui.part.ViewPart
 Create a jface TreeViewer in the view and set its content provider, label provider and input
− The tree content provider:
 Recommended to be lazy as should be the TreeViewer
 Should listen to DSF session suspend/resume notification in order to update the register values
 Listen to debug context changed platform events to load the peripheral register set
− Accessing target using GDB console and MI commands
 get DSF session from current debug context
 create a DsfServicesTracker for the current session
 Get IMICommandControl from service tracker
 Queue CLI/MI command in the command control service - https://sourceware.org/gdb/onlinedocs/gdb/GDB_002fMI.html#GDB_002fMI
TM
External Use 8
Explore peripherals with your custom plug-in
Host PC
Eclipse IDE
CDT-DSF
GDB (client)
Python extensions
GDB Server
Peripheral
SQLite
DB
JDBC
GDB-RSP
GDB-MI
Debug Probe
JTAG
sqlite3
• This is Freescale solution for
exploring peripherals with Eclipse
CDT-DSF.
• Debug usecases:
− Baremetal
− U-boot
− Hypervisor
− Linux™ kernel
TM
External Use 9
References
• https://sourceware.org/gdb/onlinedocs/gdb/Target-
Descriptions.html#Target-Descriptions
• http://sourceforge.net/projects/embsysregview/
• http://www.keil.com/pack/doc/CMSIS/SVD/html/modules.html
• http://en.wikipedia.org/wiki/Document_Type_Definition
TM
© 2014 Freescale Semiconductor, Inc. | External Use
www.Freescale.com

More Related Content

What's hot

Ponylangとこれからの並行プログラミング
Ponylangとこれからの並行プログラミングPonylangとこれからの並行プログラミング
Ponylangとこれからの並行プログラミングmatsu_chara
 
Forward-Forward Algorithm
Forward-Forward AlgorithmForward-Forward Algorithm
Forward-Forward AlgorithmDong Heon Cho
 
Prml 1.2,4 5,1.3|輪講資料1120
Prml 1.2,4 5,1.3|輪講資料1120Prml 1.2,4 5,1.3|輪講資料1120
Prml 1.2,4 5,1.3|輪講資料1120Hayato K
 
SNPデータ解析入門
SNPデータ解析入門SNPデータ解析入門
SNPデータ解析入門Amelieff
 
Lect09 adv-branch-prediction
Lect09 adv-branch-predictionLect09 adv-branch-prediction
Lect09 adv-branch-predictionGour Rakesh
 
Class anterior pituitary hormones 15 th march 2014 2
Class anterior pituitary hormones 15 th march 2014  2Class anterior pituitary hormones 15 th march 2014  2
Class anterior pituitary hormones 15 th march 2014 2Raghu Prasada
 

What's hot (7)

The saga of germ line
The saga of germ lineThe saga of germ line
The saga of germ line
 
Ponylangとこれからの並行プログラミング
Ponylangとこれからの並行プログラミングPonylangとこれからの並行プログラミング
Ponylangとこれからの並行プログラミング
 
Forward-Forward Algorithm
Forward-Forward AlgorithmForward-Forward Algorithm
Forward-Forward Algorithm
 
Prml 1.2,4 5,1.3|輪講資料1120
Prml 1.2,4 5,1.3|輪講資料1120Prml 1.2,4 5,1.3|輪講資料1120
Prml 1.2,4 5,1.3|輪講資料1120
 
SNPデータ解析入門
SNPデータ解析入門SNPデータ解析入門
SNPデータ解析入門
 
Lect09 adv-branch-prediction
Lect09 adv-branch-predictionLect09 adv-branch-prediction
Lect09 adv-branch-prediction
 
Class anterior pituitary hormones 15 th march 2014 2
Class anterior pituitary hormones 15 th march 2014  2Class anterior pituitary hormones 15 th march 2014  2
Class anterior pituitary hormones 15 th march 2014 2
 

Similar to Exploring SoC Peripherals with Eclipse C/C++ IDE

Whats new in CDT in Mars Release
Whats new in CDT in Mars ReleaseWhats new in CDT in Mars Release
Whats new in CDT in Mars ReleaseTeodor Madan
 
Flexible DevOps Deployment of Enterprise Test Environments in the Cloud
Flexible DevOps Deployment of Enterprise Test Environments in the CloudFlexible DevOps Deployment of Enterprise Test Environments in the Cloud
Flexible DevOps Deployment of Enterprise Test Environments in the CloudDevOps for Enterprise Systems
 
Whats new in CDT in Luna Release,
Whats new in CDT in Luna Release,Whats new in CDT in Luna Release,
Whats new in CDT in Luna Release,Teodor Madan
 
Automotive Grade Linux and systemd
Automotive Grade Linux and systemdAutomotive Grade Linux and systemd
Automotive Grade Linux and systemdAlison Chaiken
 
Droidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyDroidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyBenjamin Zores
 
CDI debugger for embedded C/C+
CDI debugger for embedded C/C+CDI debugger for embedded C/C+
CDI debugger for embedded C/C+Teodor Madan
 
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...Arti Parab Academics
 
Ch1Ch2Sept10.pdf
Ch1Ch2Sept10.pdfCh1Ch2Sept10.pdf
Ch1Ch2Sept10.pdfSamSami69
 
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...OpenShift Origin
 
EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded L...
EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded L...EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded L...
EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded L...melbats
 
Android for Embedded Linux Developers
Android for Embedded Linux DevelopersAndroid for Embedded Linux Developers
Android for Embedded Linux DevelopersOpersys inc.
 
Thick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash CourseThick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash CourseNetSPI
 
Performance and Power Profiling on Intel Android Devices
Performance and Power Profiling on Intel Android DevicesPerformance and Power Profiling on Intel Android Devices
Performance and Power Profiling on Intel Android DevicesIntel® Software
 
Windows Operating System.pptx
Windows Operating System.pptxWindows Operating System.pptx
Windows Operating System.pptxOnyemaobiAmarachi
 
Using the Corporate Geographic Data Model with Subversion
Using the Corporate Geographic Data Model with SubversionUsing the Corporate Geographic Data Model with Subversion
Using the Corporate Geographic Data Model with SubversionDebbie Wilson
 

Similar to Exploring SoC Peripherals with Eclipse C/C++ IDE (20)

Whats new in CDT in Mars Release
Whats new in CDT in Mars ReleaseWhats new in CDT in Mars Release
Whats new in CDT in Mars Release
 
Flexible DevOps Deployment of Enterprise Test Environments in the Cloud
Flexible DevOps Deployment of Enterprise Test Environments in the CloudFlexible DevOps Deployment of Enterprise Test Environments in the Cloud
Flexible DevOps Deployment of Enterprise Test Environments in the Cloud
 
Whats new in CDT in Luna Release,
Whats new in CDT in Luna Release,Whats new in CDT in Luna Release,
Whats new in CDT in Luna Release,
 
Automotive Grade Linux and systemd
Automotive Grade Linux and systemdAutomotive Grade Linux and systemd
Automotive Grade Linux and systemd
 
Droidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyDroidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform Anatomy
 
CDI debugger for embedded C/C+
CDI debugger for embedded C/C+CDI debugger for embedded C/C+
CDI debugger for embedded C/C+
 
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
 
E.s unit 6
E.s unit 6E.s unit 6
E.s unit 6
 
Ch1Ch2Sept10.pdf
Ch1Ch2Sept10.pdfCh1Ch2Sept10.pdf
Ch1Ch2Sept10.pdf
 
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
 
STM -32
STM -32STM -32
STM -32
 
learning STM -32
learning STM -32 learning STM -32
learning STM -32
 
EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded L...
EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded L...EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded L...
EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded L...
 
Android for Embedded Linux Developers
Android for Embedded Linux DevelopersAndroid for Embedded Linux Developers
Android for Embedded Linux Developers
 
Thick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash CourseThick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash Course
 
Readme
ReadmeReadme
Readme
 
Performance and Power Profiling on Intel Android Devices
Performance and Power Profiling on Intel Android DevicesPerformance and Power Profiling on Intel Android Devices
Performance and Power Profiling on Intel Android Devices
 
CA_Module_3.pptx
CA_Module_3.pptxCA_Module_3.pptx
CA_Module_3.pptx
 
Windows Operating System.pptx
Windows Operating System.pptxWindows Operating System.pptx
Windows Operating System.pptx
 
Using the Corporate Geographic Data Model with Subversion
Using the Corporate Geographic Data Model with SubversionUsing the Corporate Geographic Data Model with Subversion
Using the Corporate Geographic Data Model with Subversion
 

Recently uploaded

Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...masabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfayushiqss
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durbanmasabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsBert Jan Schrijver
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 

Recently uploaded (20)

Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 

Exploring SoC Peripherals with Eclipse C/C++ IDE

  • 1. External Use TM Exploring SoC Peripherals with Eclipse™ C/C++ IDE Eclipse DemoCamp Bucharest, 2014 Valentin Ciocoi J U L . 0 2 . 2 0 1 4
  • 2. TM External Use 1 Agenda • Overview • Explore peripherals with CDT Registers View • Explore peripherals with open source Embedded System Registers plug-in • Explore peripherals with your custom plug-in
  • 3. TM External Use 2 Overview • Most embedded devices have peripherals (accelerators, IO interfaces, etc) that are mapped in global memory address space in the form of memory mapped registers • Developers can debug the state of a peripheral by dumping or visualizing the memory area corresponding to the peripheral • It can be difficult to decode a memory dump in order to identify the value of a specific bit-field that caused the peripheral to misbehave • Eclipse™ C/C++ IDE can be used to enhance the peripheral debugging experience
  • 4. TM External Use 3 Explore peripherals with CDT Registers View • The standard Eclipse CDT registers view only shows the processor core registers: general purpose registers, floating point registers and some core state registers. • Additional registers can be displayed in standard CDT registers view by adding their description in the GDB target description file. https://sourceware.org/gdb/onlinedocs/gdb/Target-Descriptions.html#Target- Descriptions • The GDB server must be updated to access those registers by reading the corresponding memory location CDT register details
  • 5. TM External Use 4 Explore peripherals with CDT Registers View • Example: <feature name="Peripheral1"> <reg name="REG_NAME1" bitsize="32" type="uint32" group="general" regnum="166"/> <reg name="REG_NAME2" bitsize="32" type="uint32" group="general" regnum="167"/> </feature> • Advantages: − Easy to add/remove register groups as long as GDB server is aware of them − Common view for displaying all registers: core and peripherals − Common GDB shell commands for accessing all registers − Suitable for adding a small set of custom registers • Disadvantages: − Support for the additional registers must be present or added in GDB server − CDT registers view shows all registers retrieved from GDB in a single group − Not suitable for adding large set of custom registers − At each target state change (suspend, memory change, etc) GDB will read from target all registers present in the target description file => this can greatly impact the debugger speed
  • 6. TM External Use 5 Explore peripherals with Embedded System Registers • An open source Eclipse plug-in similar to CDT registers view: http://sourceforge.net/projects/embsysregview/ • EmbSysRegisters has two plugins: the view itself and a data plugin that contains several device description XML files for various chips • The description files come in a custom DTD format or in CMSIS-SVD (System View Description) format which is the standard introduced by ARM™ http://www.keil.com/pack/doc/CMSIS/SVD/html/index.html • The view displays peripheral memory mapped registers based on these device XML description files
  • 7. TM External Use 6 Explore peripherals with Embedded System Registers • Installation: − Use this Eclipse update site http://embsysregview.sourceforge.net/update to install the plugins • Configuration: − The data plugin installs XML files describing the devices peripherals in the following folder: eclipsepluginsorg.eclipse.cdt.embsysregview.data_0.2.4.r168data − Add your own device description file containing the peripherals you want to explore • Using the Plugin − Open the ‘EmbSys Registers’ view (menu Window > Show View > Others > Debug > EmbSys Registers) − select the device by pressing the settings icon in the view or from menu Window > Preferences > C/C++ > Debug > EmbSys Registers − To read the register values from the device, double-click on the register/group (the icon turns green) • Advantages: − Open source, easy to install Eclipse plug-in − Tree-view user interface similar with CDT registers view − Supports CMSIS-SVD - ARM standard device description format • Disadvantages: − GPLv3 license (extending, bug-fixing) − The values are not automatically loaded – user has to double-click on the registers − Crowded view – the details are blended in the view – there is no details pane as in CDT view − Few devices already supported – description file must be added for other devices − Tree-view is not lazy
  • 8. TM External Use 7 Explore peripherals with your custom plug-in • Example of creating a custom plugin working with CDT-DSF − The view:  Create your custom view by sub-classing org.eclipse.ui.part.ViewPart  Create a jface TreeViewer in the view and set its content provider, label provider and input − The tree content provider:  Recommended to be lazy as should be the TreeViewer  Should listen to DSF session suspend/resume notification in order to update the register values  Listen to debug context changed platform events to load the peripheral register set − Accessing target using GDB console and MI commands  get DSF session from current debug context  create a DsfServicesTracker for the current session  Get IMICommandControl from service tracker  Queue CLI/MI command in the command control service - https://sourceware.org/gdb/onlinedocs/gdb/GDB_002fMI.html#GDB_002fMI
  • 9. TM External Use 8 Explore peripherals with your custom plug-in Host PC Eclipse IDE CDT-DSF GDB (client) Python extensions GDB Server Peripheral SQLite DB JDBC GDB-RSP GDB-MI Debug Probe JTAG sqlite3 • This is Freescale solution for exploring peripherals with Eclipse CDT-DSF. • Debug usecases: − Baremetal − U-boot − Hypervisor − Linux™ kernel
  • 10. TM External Use 9 References • https://sourceware.org/gdb/onlinedocs/gdb/Target- Descriptions.html#Target-Descriptions • http://sourceforge.net/projects/embsysregview/ • http://www.keil.com/pack/doc/CMSIS/SVD/html/modules.html • http://en.wikipedia.org/wiki/Document_Type_Definition
  • 11. TM © 2014 Freescale Semiconductor, Inc. | External Use www.Freescale.com