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
ADSP-BF60x
  • Processors and DSP
  • Blackfin Processors
  • ADSP-BF60x
  • Cancel
ADSP-BF60x
Documents ​​​​​FAQ: Second-Stage Loaders for ADSP-BF60x Blackfin using Memory boot mode
  • Q&A
  • FAQs/Docs
  • Members
  • Tags
  • More
  • Cancel
  • Documents
  • +ADSP-BF609: FAQ
  • -ADSP-BF60x: FAQ
    • ADSP-BF60X BLACKFIN PROCESSOR SUPPORT COMMUNITY
    • FAQ: Booting from SDRAM for ADSP-BF60x Blackfin using rom_Boot api
    • FAQ: Example code for CRC ADSP-BF60x
    • FAQ: How to Configure BF60x Watchdog as SEC Fault or interrupt on watchdog count expiry to do manual reset
    • FAQ: What software development tools are available for the ADSP-BF60x processors?
    • FAQ: Where can I find information about the Blackfin ADSP-BF60x processors?
    • FAQ: Where can I find power consumption data for BF60x processors?
    • FAQ: Where can I find the latest preliminary AC specifications for BF60x processors?
    • ​​​​​FAQ: Second-Stage Loaders for ADSP-BF60x Blackfin using Memory boot mode
  • EPPI example for BF609

​​​​​FAQ: Second-Stage Loaders for ADSP-BF60x Blackfin using Memory boot mode


Introduction:
A second-stage loader is a stand-alone application that is executed at boot time before the actual application is dynamically loaded into memory. It has its own executable file (DXE) and hence,it will consume space in the boot source memory as part of the loader image (LDR). First of all, the SSL is loaded into the first memory location in L1 instruction SRAM. Then,it performs whatever tasks it is intended to  do, and it finally completes the boot process, overwriting itself with the actual end application.

Booting Applications:

The boot routine(rom_Boot()) provides access to boot an application at run-time through a supported peripheral. Also, used for any kind of second-stage boot for supported boot modes.

The method used in this document creates two separate LDR images(SSL and LED blink application). LED blink application is programmed into different offset within the parallel flash memory.

In the SSL, rom_Boot() is called in the main:
rom_Boot(App1_startaddress,0,0,0,dBootCommand,0);

App1_startaddress is the  start address of the boot stream in the parallel flash memory. dBootCommand parameter configures the boot mode to Memory via the SMC,Boot code , SMC memory bank selection.

Creating LDR Files:

Please refer the attached project loader settings to create loader file for memory boot mode:

1. If the application you are booting is a dual-core application, you must make sure your SSL is also a dual-core application to ensure proper core initialization.

2. If the both application and SSL are single-core application, you have to comment function "adi_core_enable(ADI_CORE_1);" in SSL application.

Programming Multiple LDR Files to parallel Flash Memory:
Use CLDP to flash the ldr images.

1. Load ssl1_Core1.ldr into flash memory:
cldp -proc ADSP-BF609 -emu KIT -driver "C:\Analog Devices\ADSP-BF609_Evaluation_Board-Rel1.1.0\BF609_EZ-Board\Blackfin\Examples\Device_Programmer\parallel\bf609_pc28f128p33_dpia.dxe" -cmd prog -erase all -format bin -offset 0 -file "<path name>\ssl1_Core1.ldr"


2. Load led1_Core1.ldr into flash memory:
cldp -proc ADSP-BF609 -emu KIT -driver "C:\Analog Devices\ADSP-BF609_Evaluation_Board-Rel1.1.0\BF609_EZ-Board\Blackfin\Examples\Device_Programmer\parallel\bf609_pc28f128p33_dpia.dxe" -cmd prog -erase affected -format bin -offset 1048576 -file "<path name>\led1_Core1.ldr"

Using the SSL Example Program:

After all LDR files are programmed into flash memory, reset or power-cycle the ADSP-BF609 EZ-KIT board to load and run the SSL.
Once the SSL is loaded, LED3 & LED4 blinks 5 times and load the application from the parallel flash memory 0xB0100000. Now LED1 and LED2 blinks continuously

SSL_Booting.zip

  • 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.