This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Static library

Hi

I have a project made with a custom board with STM32F3, and I use ARM Keil and ARM Tools for development of the project. The current memory's layout is a partition for bootloader and other for firmware. Now, the project's specifications is changed and the memory layout is divided by 3 partition: a bootloader, kernel, firmware. The kernel has a relevant and critical functions which the final user cannot update, only can update the firmware partition.

I was thinking do a library which contains the kernel but this library must be in a static partition of the memory and some functions must be allocated in a specific address because the firmware has to access it. Do I need make a keil project to build and generate a lib? In the firmware keil project, how can a made an interface to access in the function's library?

Best regards

Parents
  • Thank you for answer Westermark.

    How can I make this pointer table? Do I need a specific linker commands to do that?
    I was thinking how to do, but it doesn't seems a optimal procedure. Every time I build the second project (kernel), I need to know where are located the relevant functions and generate a callers for the thrid project. This can do it throught a script after build.

    //*******************
    // 2on project
    //*******************
    // Relevant funciton. Find the location of this function
    // after build the project.
    void foo (void);
    
    void foo (void){
      // do something
    }
    
    //******************
    // 3rd project
    //******************
    // Caller generated by script after build the 2on project
    extern void foo (void) __at__ (0x8013000);
    

Reply
  • Thank you for answer Westermark.

    How can I make this pointer table? Do I need a specific linker commands to do that?
    I was thinking how to do, but it doesn't seems a optimal procedure. Every time I build the second project (kernel), I need to know where are located the relevant functions and generate a callers for the thrid project. This can do it throught a script after build.

    //*******************
    // 2on project
    //*******************
    // Relevant funciton. Find the location of this function
    // after build the project.
    void foo (void);
    
    void foo (void){
      // do something
    }
    
    //******************
    // 3rd project
    //******************
    // Caller generated by script after build the 2on project
    extern void foo (void) __at__ (0x8013000);
    

Children
No data