BF702 link against utility rom (drivers)


I'm trying to compile and link my program on a BF702 using CCES 2.9.0. I would like to use the utility rom for the specific peripheral drivers (SPI/TWI/PPI/UART), but it seems, that it doesn't link against the utility rom (memory map shows huge blocks of code use).

What i tried already:

- Remove all Flags "NO_UTILILTY_*"
- Use Silicon revision 1.1
- Even add Flags ("UTILITY_*")
- Check use utility rom

What else am i using?

- Strip unused symbols

It seems though, that my settings are overall quite ignored.

  • 0
    •  Analog Employees 
    on Aug 30, 2019 1:13 PM over 1 year ago


    We are working on this query. We will get back to you soon

    Best regards,

    Santha kumari.K

  • 0
    •  Analog Employees 
    on Sep 3, 2019 1:20 PM over 1 year ago in reply to santha.vijay


    There are some things to note, with respect to the utility ROM:

    - The ADSP-BF70x parts have two components to their ROM – the Boot ROM and the Utility ROM. The Boot ROM handles the booting process, and the Utility ROM contains copies of some system services, device drivers, common runtime library functions, and a configuration of the uC/OS RTOS. It is not required for booting.
    - The Utility ROM contents differ from silicon revision to silicon revision, in that a function at address X in revision 0.1 of the Utility ROM might be at address Y in revision 1.0 of the Utility ROM. This means that if you make calls to the Utility ROM, and you build for 0.1, but run on 1.0, your application may malfunction.
    - If you plan to run your application on more than one silicon revision of the processor, you cannot use the Utility ROM, so –no-utility-rom is needed.
    - If you build your application for silicon revision any, then it needs to run on more than one silicon revision, so the tools automatically apply –no-utility-rom in this case.

    The -utility-rom (use Utility ROM) switch directs the tools to make use of the library routines in the processor's ROM, rather than retrieving versions from the libraries and linking them into the executable image. This can reduce the size of the final executable.

    You can find more information about L2 Utility ROM in the below cces help path:
    CrossCore® Embedded Studio > Blackfin Development Tools Documentation > C/C++ Compiler and Library Manual for Blackfin® Processors > Utility ROMs > ADSP-BF7xx Processors L2 Utility ROM

    Also please refer the below Ezone thread:

    If you are still facing issues, please share us the project along with the steps to reproduce the issue and the screenshot of the error message if any. This will help us to assist you better.

    Santha kumari.K