Analog.com Analog Dialogue Wiki English 简体中文 日本語
EngineerZone
EngineerZone
  • Log In
  • Site
  • Search
  • User
  • Forums

    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

    Maximize the Benefits of High Bandwidth Current Sense Amplifiers for Space Constrained Applications

    Recent Discussions

    • Pluto is not receiving data
    • ADALM-pluto sampling frequency
    • ADALM PLUTO SDR
    • Bad FIT image format and MSD mounting errors in firmware built for Sidekiq Z2
    • set the sample rate to 30MHz or the maximum that usb2.0 allows

    Places

    • ADI Education Home
    • ADI Webinars
    • StudentZone (Analog Dialogue)
    • Video Annex
    • Virtual Classroom

    Latest Webinars

    • Maximize the Benefits of High Bandwidth Current Sense Amplifiers for Space Constrained Applications
    • Design Efficient Power Solutions for Battery-powered Applications
    • Shunt-based Energy Metering in High-Power Applications
    • Isolating GigaSpeed: Unlocking Data Integrity for USB and HDMI Communication
    • Extend Battery Life and Maximize Performance - Let Supervisors Do The Work
    View All Webinars
  • Community Hub

    Challenge Yourself!

      KCC's Quizzes AQQ244 about Wafer Processing Yield puzzle
    View All

    Places

    • Community Help
    • Logic Lounge
    • The Weekly Brew

    Resources

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

    Highlighted Blogs

    The Changing Nature of Logistics and Retail Automation

     

    Variable Speed Drive 101

    Latest Blogs

    • How to Optimize Voltage Regulators for Powering an Audio Amplifier
    • EMC Standards: What Are They, and Why Do They Matter?
    • Understanding Grating Lobes with the Phaser (CN0566) Exploration Kit
    • Digitizing, Connecting, and Delivering Energy Efficiency – the Future of Intelligent Buildings
    • Pain or Injury
    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
CrossCore Embedded Studio and Add-ins
  • Processors and DSP
  • Software and Development Tools
  • CrossCore Embedded Studio and Add-ins
  • Cancel
CrossCore Embedded Studio and Add-ins
Documents FAQ: Build fails with [Error: li1021] when adding Micrium uC/OS-III Add-In to BF609 Project
  • Blogs
  • Q&A
  • Docs/FAQs
  • Members
  • Tags
  • More
  • Cancel
  • FAQ
  • +a.b silicon into a x.y silicon target: FAQ
  • +accel_xxxx: FAQ
  • +ADC & DAC in audio application: FAQ
  • +Add version of application in loader file: FAQ
  • +Add-in license: FAQ
  • +ADI_SPI_TRANSCEIVER: FAQ
  • +adi_spu_Init() API: FAQ
  • +ADSO-BF609 EZkit: FAQ
  • +ADSP-21364: FAQ
  • +ADSP-214xx: FAQ
  • +ADSP-21569 Ez-kit: FAQ
  • +ADSP-21569: FAQ
  • +ADSP-BF609 EZKIT: FAQ
  • -ADSP-BF609: FAQ
    • FAQ: Build fails with [Error: li1021] when adding Micrium uC/OS-III Add-In to BF609 Project
    • FAQ: How does target initialization differ in ADSP-SC598 vs ADSP-SC57x/8x?
    • FAQ: Is it possible to program BF609 via JTAG using ICE-1000 but without EMU signal?
    • FAQ: Where can we find Benchmark for Real FFT processing in ADSP-BF609
    • [FAQ] : TWI sample project for BF609
  • +ADSP-BF707: FAQ
  • +ADSP-BF70x: FAQ
  • +ADSP-SC589: FAQ
  • +ADSP-SC58x: FAQ
  • +ADSP-SC598: FAQ
  • +ADSP-SC5xx: FAQ
  • +ADSP21489: FAQ
  • +ADSP215xx: FAQ
  • +alignment pragma: FAQ
  • +ARM CORE: FAQ
  • +ARM to Sharc: FAQ
  • +avoid when a project is getting build: FAQ
  • +BF-609 Evaluation board: FAQ
  • +BF518 Processor: FAQ
  • +BF703: FAQ
  • +BF706 EZ-KIT: FAQ
  • +BF706: FAQ
  • +BF706mini BSP project: FAQ
  • +BF707 SPI: FAQ
  • +C source file: FAQ
  • +C++ code: FAQ
  • +C-code ISRs: FAQ
  • +Callback function: FAQ
  • +Calling Library Functions: FAQ
  • +cc1138: FAQ
  • +CCES: FAQ's
  • +cldp: FAQ
  • +CLKIN: FAQ
  • +Code folding in CCES: FAQ
  • +Configuring the Loader, Linker and Archiver: FAQ
  • +connect to the Blackfin: FAQ
  • +CrossCore Embedded Studio STDIO: FAQ
  • +CROSSCORE: FAQ
  • +Data Member Alignment: FAQ
  • +Device Driver programming: FAQ
  • +Difference between Emulator and Simulator: FAQ
  • +disable prelinker: FAQ
  • +Embedded applications: FAQ
  • +EV-21569-SOM: FAQ
  • +EXTCLK_MODE: FAQ
  • +How to access stereo channels individually in the Audio_Passthrough_I2S example present in GUL BSP?
  • +How to avoid CORE0 and DEBUG: FAQ
  • +How to build a specific code from single source file for a specific core?
  • +How to convert long double into string: FAQ
  • How to create library files for individual modules?
  • +how to deassert Slave: FAQ
  • +How to do profiling: FAQ
  • +How to protect shared code/ data: FAQ
  • +How to resolve audio distortion issue: FAQ
  • How to use commands in CCES runner
  • How to use optimized libraries for FFT
  • +HW Accelerator and SW libraries: FAQ
  • +Interrupt Vector Table: FAQ
  • +LDF from C code: FAQ
  • +linker map file: FAQ
  • +List of Processors: FAQ
  • +Loader File: FAQ
  • +MCAPI package: FAQ
  • +node-locked license: FAQ
  • +non-blocking peek functions: FAQ
  • Optimization in ARM
  • +Optimizer in C/C++ compiler: FAQ
  • +PART_SPECIFIC_HEADERS: FAQ
  • +path variables: FAQ
  • +peripheral Error: FAQ
  • +PINT modules: FAQ
  • +PM bus: FAQ
  • +Project Explorer tree: FAQ
  • +PWM mode: FAQ
  • +quad SPI mode: FAQ
  • +RTOS for older Blackfin or older SHARC: FAQ
  • +SC-573 EZkit: FAQ
  • +SDRAM: FAQ
  • +SHARC 21469: FAQ
  • +SHARC0: FAQ
  • +SHARC: FAQ
  • +sharing global data between cores: FAQ
  • +SigmaStudioForSHARC: FAQ
  • +SIMD code: FAQ
  • +SIMD: FAQ
  • +SPI core mode with callback: FAQ
  • +SPI flash: FAQ
  • +SPORT API: FAQ
  • +SPORT: FAQ
  • +SRCU bit: FAQ
  • +SSLDD 2.0 and SSLDD 3.0: FAQ
  • +SSLDD 3.0: FAQ
  • +SSLDD3.0: FAQ
  • +stack overflow: FAQ
  • +Static library & IP protection: FAQ
  • +suppress assembler preprocessor warning: FAQ
  • +system.svc: FAQ
  • +two PINT modules: FAQ
  • +TX and RX DMA Interrupts: FAQ
  • +U-Law and A-Law: FAQ
  • +UART Device Driver: FAQ
  • +UART ISR Callback: FAQ
  • +VisualDSP++: FAQ
  • +Wakeup processor from Hibernate: FAQ
  • +When callback occurs: FAQ
  • +word addressable program: FAQ
  • [FAQ] : BITEXP and BITRET for ADSP-214xx
  • [FAQ] : cache invalidation and cache flushing
  • [FAQ] : Create Library files for individual modules
  • [FAQ] : Custom debug configurations in CCES
  • [FAQ] : Difference between ADZS-HPUSB and ADZS-USB ICE
  • [FAQ] : Does CCES have any API that can be used to build automation test platform with Python
  • [FAQ] : Does ICE-1000 supported ADSP-CM407F?
  • +[FAQ] : Driver example for Timer windowed watchdog period mode.
  • [FAQ] : Example code for SPORT slave trigger in ADSP-21569 Ezkit
  • [FAQ] : GUL-XP board with EZkit license
  • +[FAQ] : How to access darkmode appearance in CCES?
  • [FAQ] : How to obtain PCB library files for ADI processors
  • [FAQ] : How to pass arguments from command line in CCES runner
  • [FAQ] : How to use Device programmer in EVAL-ADICUP360 board
  • [FAQ] : Interrupt header files along with -char-size-32 switch in Sharc
  • [FAQ] : Is it possible to perform stepping into the code in CCES Runner.
  • [FAQ] : Is there a way to list symbols from library (*.dlb) file?
  • [FAQ] : Is there a way to mangle or remove internal symbols ?
  • [FAQ] : sizeof() built-in function in BF and Sharc processors
  • [FAQ] : Streaming Data input and output in CCES
  • [FAQ] : TWI Transfer using 3.0 APIs
  • [FAQ] : UART sample driver code for BF706mini
  • [FAQ] : “Peripherals view” in CCES
  • [FAQ]: Difference between Debug and Release configurations
  • [FAQ]: How to use "log10f_simd"
  • +µCOS-III Add-In: FAQ

FAQ: Build fails with [Error: li1021] when adding Micrium uC/OS-III Add-In to BF609 Project

Question

I am creating a project for my BF609 target that uses the Micrium uC/OS-III Add-In. In the System Configuration (system.svc) I have added the "uC/OS-III for Blackfin" Add In, as well as the "ADSP-BF609 Micrium Library Support" Add-In from the ADSP-BF609 EZ-KIT Lite Board Support Package.

During compilation I see a number of cc0223 (Function declared implicitly), and cc1080 (Function does not have a full prototype) warnings, then the build fails, stating: "[Error li1021] The following symbols referenced in processor 'CORE_0' could not be resolved".

What is the correct procedure for adding the Micrium uC/OS-III Add-In to my application?

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

Answer

These warnings and errors are caused by the inclusion of the "ADSP-BF609 Micrium Library Support" Add-In to your project. This Add-In is only intended to be used by the examples provided in the ADSP-BF609 EZ-KIT Lite Board Support package, not customer projects. When creating a project that uses the Micrium uC/OS-III Add-In, you should not add the "ADSP-BF609 Micrium Library Support" Add-In.

Adding the "ADSP-BF609 Micrium Library Support" Add-In adds Library Search Paths, *.dlb Library Files, and Additional Include Directories to the project options, so that the project can locate resources that are provided within the Board Support Package. These resources are minimal versions derived from the full Micrium Add-Ins.

Unfortunately, these resources and their paths are added to the top of the list in the Project Options, which results in a higher precedence being applied to them and, in turn, the project will use these stripped-down resources instead of their equivalent from the full Add-In.

-----Example li1021 output-----

[Error li1021]  The following symbols referenced in processor 'CORE_0' could not be resolved:

        'OS_CRITICAL_ENTER_CPU_EXIT [_OS_CRITICAL_ENTER_CPU_EXIT]' referenced from '.\system\uCOS-III\Source\os_flag.doj'

        'OS_CRITICAL_ENTER_CPU_EXIT [_OS_CRITICAL_ENTER_CPU_EXIT]' referenced from '.\system\uCOS-III\Source\os_mutex.doj'

        'OS_CRITICAL_ENTER_CPU_EXIT [_OS_CRITICAL_ENTER_CPU_EXIT]' referenced from '.\system\uCOS-III\Source\os_pend_multi.doj'

        'OS_CRITICAL_ENTER_CPU_EXIT [_OS_CRITICAL_ENTER_CPU_EXIT]' referenced from '.\system\uCOS-III\Source\os_q.doj'

        'OS_CRITICAL_ENTER_CPU_EXIT [_OS_CRITICAL_ENTER_CPU_EXIT]' referenced from '.\system\uCOS-III\Source\os_sem.doj'

        'OS_CRITICAL_ENTER_CPU_EXIT [_OS_CRITICAL_ENTER_CPU_EXIT]' referenced from '.\system\uCOS-III\Source\os_task.doj'

        'OS_CRITICAL_ENTER_CPU_EXIT [_OS_CRITICAL_ENTER_CPU_EXIT]' referenced from '.\system\uCOS-III\Source\os_time.doj'

Linker finished with 1 error

cc3089: fatal error: Link failed

make: *** [uCOSandBSP_Core0.dxe] Error 1

-----Example li1021 output-----

Avoiding and Remedying this Issue

When creating a new project, do not add the "ADSP-BF609 Micrium Library Support" Add-In. If you want to fix an existing project to which you have added this Add-In, the steps are as follows:

  • Double-click the "system.svc" file to open the System Configuration utility
  • Highlight the "ADSP-BF609 Micrium Library Support" Add-In and select "Remove"
  • For EACH project edit the following project options in "Project Options: C/C++ Build: Settings:"
    • Under "CrossCore Blackfin C/C++ Compiler: Preprocessor" remove the following 4 'Additional include directories (-I)':
      • "${COM_ANALOG_CROSSCORE_ADDINS_BF609_BRD_1_0_3_LOC}/Blackfin/include/uC-CPU"
      • "${COM_ANALOG_CROSSCORE_ADDINS_BF609_BRD_1_0_3_LOC}/Blackfin/include/uC-LIB"
      • "${COM_ANALOG_CROSSCORE_ADDINS_BF609_BRD_1_0_3_LOC}/Blackfin/include/uCOS-III"
      • "${COM_ANALOG_CROSSCORE_ADDINS_BF609_BRD_1_0_3_LOC}/Host/Examples/Windows/VendorBulk"
    • Under "CrossCore Blackfin Linker: General" remove the following from the 'Library search directories (-L)':
      • "${COM_ANALOG_CROSSCORE_ADDINS_BF609_BRD_1_0_3_LOC}/Blackfin/lib/bf609_rev_any"

    • Under "CrossCore Blackfin Linker: Additional Options" remove the following DLB files from the 'Additional options for the linker':
      • libuccpu.dlb
      • libuclib.dlb
      • libucos3.dlb
      • libucusbd.dlb

Once you have updated both the Core 0 and the Core 1 project, you will be able to rebuild the project successfully.

  • 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
  • 简体中文
  • 日本語
myAnalog

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

Go to myAnalog
Analog Logo
©1995 - 2023 Analog Devices, Inc. All Rights Reserved
沪ICP备09046653号-1
  • Sitemap
  • Legal
  • Privacy & Security
  • Privacy Settings
  • Cookie Settings