Analog.com Analog Dialogue Wiki 简体中文
EngineerZone
EngineerZone
  • Log In
  • Site
  • Search
  • User
  • Support

    Popular Forums

    • RF and Microwave
    • Power Management
    • Video
    • FPGA Reference Designs
    • Precision ADCs
    • Linux Software Drivers
    • SigmaDSP Processors & SigmaStudio Dev. Tool

    Product Forums

    • A2B
    • Amplifiers
    • Analog Microcontrollers
    • Clock and Timing
    • Data Converters
    • Direct Digital Synthesis (DDS)
    • Energy Monitoring and Metering
    • Interface and Isolation
    • MEMS Inertial Sensors
    • Processors and DSP
    • Switches/Multiplexers
    • Temperature Sensors
    • Voltage References
    View All

    Application Forums

    • Audio
    • Automated Test Equipment (ATE)
    • Condition-Based Monitoring
    • Depth, Perception & Ranging Technologies
    • Embedded Vision Sensing Library
    • Motor Control Hardware Platforms
    • Optical Sensing
    • Precision Technology Signal Chains Library
    • Video
    • Wireless Sensor Networks Reference Library

    Design Center Forums

    • ACE Evaluation Software
    • ADEF System Platforms
    • Design Tools and Calculators
    • FPGA Reference Designs
    • Linux Software Drivers
    • Microcontroller no-OS Drivers
    • Reference Designs
    • Signal Chain Power (SCP)
    • Software Interface Tools
    • System Demonstration Platform (SDP) Support
  • Learn

    Highlighted Webinar

    Multidimensional Simulations of Beamformers and other RF Integrated Circuits in Keysight SystemVue

    Recent Discussions

    • Issue running built programs on Pluto
    • Activity: Simple Op Amps, For ADALM1000 Fig. 1.3 Buffering example
    • ADALM-PLUTO [NETWORK] vs [USB_ETHERNET]
    • Using buffer size different from 2**n
    • ADALM1000 Pixelpulse feature Source Voltage / Measure Current explanation

    Places

    • ADI Education Home
    • ADI Education China
    • ADI Education India
    • ADI Education Philippines
    • StudentZone (Analog Dialogue)
    • Virtual Classroom

    Latest Webinars

    • Multidimensional Simulations of Beamformers and other RF Integrated Circuits in Keysight SystemVue
    • Improve Smart Building Energy Efficiency with Industrial Ethernet Controlled Air Conditioning (HVAC) Systems
    • Sustainable Motion Control Solutions for High Performance Servo Drives
    • Audio Design Solutions for Augmented and Virtual Reality (AR/VR) Glasses
    • Robust Industrial Motor Encoder Signal Chain Solutions
    View All Webinars
  • Community Hub

    Challenge Yourself!

      KCC's quizzes AQQ235 about a bipolar common emitter amplifier - a kind proposal from our colleague Martin Walker
    View All

    Places

    • Community Help
    • Logic Lounge

    Resources

    • EZ Code of Conduct
    • Getting Started Guide
    • ADI: Words Matter
    • Community Help Videos
    View All
  • Blogs

    Highlighted Blogs

    Crawl, Walk, And Run - The Journey To Create The Phaser

     

    Hardware Holds The Key To Making Industrial Systems IEC 62443 Compliant

    Latest Blogs

    • Behind the Scenes of DIYRadio Blogs: An Introduction
    • Empowering Surveillance Cameras To Capture A Scene Without Being Heard
    • Mastering The Metrics Makes Specifying Encoders Simpler
    • Understanding Secret Key Cryptography Without Formulas
    • 3 Reasons Why IO-Link is Changing Smart Factory Decision Making
    Read All Blogs

    ADI Blogs

    • EZ Spotlight
    • The Engineering Mind
  • Partners

    Electronic Design Services - PartnerZone

    • Boston Engineering
    • Calian, Advanced Technologies
    • Colorado Engineering Inc. (DBA CAES AT&E)
    • Clockworks Signal Processing
    • Epiq Solutions
    • Fidus
    • PalmSens
    • Richardson RFPD
    • Tri-Star Design, Inc.
    • VadaTech
    • Vanteon
    • X-Microwave
    View All
Hardware Tools
  • Processors and DSP
  • Software and Development Tools
  • Hardware Tools
  • Cancel
Hardware Tools
Documents FAQ: My application behaves incorrectly when using SDRAM.
  • Forums
  • Docs/FAQs
  • Members
  • Tags
  • More
  • Cancel
  • +Documents
  • -4010 Custom Resets: FAQ
    • FAQ: My application behaves incorrectly when using SDRAM.
  • +ADSP Blackfin dev kits: FAQ
  • +ADSP-BF609 EZ-KIT Lite: FAQ
  • +Board Support Package: FAQ
  • +CCES 1.1.0: FAQ
  • +CrossCore Embedded Studio: FAQ
  • +DSP EZ-KIT: FAQ
  • +ICE Test Utility: FAQ
  • +ICE-1000 and ICE-2000: FAQ
  • +In-Circuit Emulator: FAQ
  • +JTAG TCLK: FAQ
  • +Target Connection Error: FAQ
  • +VisualDSP++: FAQ

FAQ: My application behaves incorrectly when using SDRAM.

Question:

My application has grown to a size where it is now too big for internal memory, so I am using SDRAM, I receive errors in the IDDE that 'External Memory is disabled for this region of memory', while the disassembly window shows 'Illegal opcode' errors. The code does not execute correctly any longer.

 

 

============================================

Answer:

When applications behave incorrectly during external memory access - either executing code, or reading/writing data - it may be that the external memory is not configured correctly. It may be that the code produces incorrect results, hits an exception or the PC appears to be in a random location in the Disassembly Window on halt. You may also encounter errors within the IDDE, such as the Memory Window/Memory Browser showing all contents as “0xDD” (Disabled), code sections showing “Illegal Opcode” in the disassembly window, or output in the console that “External memory is disabled for this region of memory”. There are some common pitfalls to be aware of.

 

 

Default Behaviour

When you connect to a target via a JTAG Emulator or Debug Agent, the default behaviour is that the Emulator will check a corresponding XML file to see if there is any configuration to be done of the EBIU/External Port/DDR. This feature is enabled/disabled via:

[VisualDSP++] “Settings: Target Options: Use xml reset values”

[CrossCore Embedded Studio] Under the "Custom Board Support" tab within the "Run: Debug Configurations" menu

 

 

This instructs the Emulator to check the corresponding XML file in "...\System\Archdef\"  within the VisualDSP++ installation directory for 'register reset definitions'.

e.g. "…\System\Archdef\adsp-bf561-proc.xml" for the BF561 in VisualDSP++

e.g. “...\System\Archdef\adsp-bf609-resets.xml” for the BF609 in CCES.

 

 

These XML files contain a section <register-reset-definitions> that specifies values that should be assigned to the external memory registers upon reset of the target. Note that the XML files only contain register reset values where there is a corresponding EZ-KIT Lite. i.e. as there is a BF533 EZ-KIT Lite, there are register reset definitions in "...\System\Archdef\adsp-bf533-proc.xml" in VisualDSP++.

 

 

However as there is no corresponding EZ-KIT Lite for the BF532 or BF608, for example, there are no register reset definitions in their corresponding XML files. These XML files provided with the VisualDSP++ and CrossCore Embedded Studio tools should not be modified, as they are liable to be overwritten. Additionally, these XML files work universally - that is, the BF533 XML file will affect all BF533 targets, so changes to make your custom board work correctly could lead to incorrect settings for an EZ-KIT Lite, or other third party/custom BF533 targets.

 

 

Custom/Third-Party Boards

When using a custom or third party board it is important to be aware that the Emulator will either apply the default EZ-KIT Lite external memory register settings, or make no configuration of the external memory at all. In both cases, access to external memory will be unreliable at best, and impossible in the worst case.

 

 

For custom and third party boards, we provide "Custom Board Support", which allows users to specify an XML file containing register reset definitions, to be associated with a specific Session. Attached is an example populated with the Blackfin BF527 EZ-KIT Lite Register Reset Definitions that can serve as a template.

 

 

Editing the Custom Board Support XML file

You will need to ensure that the document properties are correct; that the 'processor-family' matches your target (Blackfin, SHARC, or TigerSHARC), and that the 'file' name matches the name of the xml file.

 

 

[VisualDSP++ ]

<custom-visualdsp-proc-xml

     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

     xsi:noNamespaceSchemaLocation="\Program Files\Analog Devices\VisualDSP 5.0\System\ArchDef\ADSP-custom-board.xsd"

     processor-family="Blackfin"

     file="Custom_Resets.xml">

 

 

[CrossCore Embedded Studio ]

<custom-cces-proc-xml

     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

     xsi:noNamespaceSchemaLocation "\Analog Devices\CrossCore Embedded Studio 1.0.0\System\ArchDef\ADSP-custom-board.xsd"

     processor-family="Blackfin"

     file="Custom_Resets.xml">

 

 

Then, simply change the <register-reset-definitions> you require. It may be useful to copy the register reset definitions from a similar processor for which an EZ-KIT Lite exists (e.g. if you are using BF531, copy the definitions from adsp-bf533-proc.xml) as a starting point. Additionally, if the tools are not installed to the default path you will need to change the "noNamespaceSchemaLocation" path.

 

 

[VisualDSP++] In VisualDSP++ you can then associate the file with your session via 'Settings'->'Session'.

[CrossCore Embedded Studio] In CrossCore Embedded Studio you can associate the files with your session by going to the “Custom Board Support” tab for your Debug Configuration under ‘Run’->’Debug Configurations’.

 

 

We provide an EBIU Calculator, which can be used to determine the correct EBIU Register settings for your Blackfin target: http://ez.analog.com/docs/DOC-1441

 

 

For more information on Custom Board Support, xml structure and syntax please see:

[VisualDSP++] VisualDSP++ Help under ‘Help’->’Contents’->’Graphical Environment’->’Custom Board Support’.

[CrossCore Embedded Studio] CCES Help under ‘Help’->’Contents’->’CrossCore Embedded StudioTm 1.0.0’->’Graphical Development Environment’->’Tasks ’->’Running and Debugging Programs’->’Working with Launch Configurations’->’Configuring Custom Board Support’.

 

 

Other Common Issues

A common mistake when configuring the EBIU is not setting the PSSE bit within the EBIU_SDGCTL. This is the Power-up Sequence Start Enable bit, and ensures that – on the next access to SDRAM – the settings you have applied to the EBIU registers are executed to configure it appropriately. This bit always reads as ‘0’, but must be set whenever the EBIU registers are changed. This is detailed in the Hardware Reference Manuals.

 

 

Another common EBIU issue occurs when moving from debugging a DXE within the IDDE, to running your application stand-alone by building a loader file to be booted from an external source, e.g. Flash. Once the application is no longer being run within the IDDE, the Emulator, and therefore the XML files, are not in use and do not make any configuration of the EBIU.

 

 

Please be aware that you cannot modify the PLL values using an XML file. Programming of the PLL requires a PLL relock sequence to allow the clock to stabilize and lock to the new frequency, which cannot be done using the .xml file. Similarly, programming of the on-chip regulator initiates a PLL relock sequence when the processor reaches the programmed voltage level.

Attachments:
4010.Custom_resets.zip
  • faqs
  • Share
  • History
  • More
  • Cancel
Related
Recommended
Social
Quick Links
  • About ADI
  • ADI Signals+
  • Analog Dialogue
  • Careers
  • Contact us
  • Investor Relations
  • News Room
  • Quality & Reliability
  • Sales & Distribution
  • Incubators
Languages
  • English
  • 简体中文
  • 日本語
Newsletter

Interested in the latest news and articles about ADI products, design tools, training and events? Subscribe today!

Sign Up
Analog Logo
©1995 - 2023 Analog Devices, Inc. All Rights Reserved
沪ICP备09046653号-1
  • Sitemap
  • Legal
  • Privacy & Security
  • Privacy Settings
EngineerZone Uses cookies to ensure you get the best experience in our community. For more information on cookies, please read our Privacy & Security Statement.