8-bit Knowledge Base

    Publish
     
      • Locate all code after a specific address

        Stephen | 05/127/2016 | 11:20 AM

        Question

        How do I instruct the linker to locate all program code after a specific address, e.g. at 0x2000 onwards?

        Answer

        See Application Note AN533, Section 6, steps #1 and #2.
        http://www.silabs.com/Support%20Documents/TechnicalDocs/AN533.pdf

        This is the bootloader App Note, but the instructions are still applicable. In short:

        1. Change the reset vector in the startup code. 
        2. Move the interrupt vectors.

        More information can be found here:
        http://www.keil.com/support/docs/189.htm

      • Importing an 8-bit Microcontroller Studio project into Simplicity Studio

        cgiga | 05/127/2016 | 11:18 AM

        Question

        I have an existing project that used the 8-bit Microntroller Studio tool.  I want to migrate to Simplicity Studio.  Is there an easy way to do that?

        Answer

        Simplicity Studio allows you to import many project types.  The Silicon Labs IDE creates a project file with the extension <ProjectName>.wsp.  In order to use this project with Simplicity Studio you can follow these steps:

         

        1) From the Simplicity Studio IDE select [File] > [Import...].

        2) From the [Import] GUI window select [MCU Project] and select [Next].

        SS_Import_MCUProject.svg

         

        3) Browse to the directory where the <ProjectName>.wsp file is located using the [Browse...] button then select [Next].

         

        SS_Import_BrowseProject.png

         

        4) Select the target part for the project using the [Part:] drop down menu.

         

        SS_Import_SelectPart.png

         

        5) You can leave the default settings for the project and click [Finish].

         

        The project will now be imported into Simplicity Studio.  

      • EFM8 bootloader compile errors

        Stephen | 05/127/2016 | 11:13 AM

        Question

        I am receiving errors when compiling an EFM8 bootloader. For example:

         

        make: *** [EFM8BB3_UART0_Bootloader.omf] Error 1
        *** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
        SYMBOL: ?C_STARTUP
        MODULE: ./src/SILABS_STARTUP.OBJ (?C_STARTUP)
        DEFINED: ./src/boot_startup.OBJ (BOOT_STARTUP)

         

        How can I fix this compilation error?

        Answer

        When an example is brought into the IDE from Simplicity Studio > Software Examples, the standard SILABS_STARTUP.A51 startup file is automatically added to your project.

         

        The standard startup file works for all software examples except the bootloader, because the bootloader source contains a customized startup file, boot_startup.asm.

         

        two_startup_files.PNG

         

        The solution is to delete SILABS_STARTUP.A51 (right click the file > Delete) and rebuild.