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

creating a new project from another one

I an discovering STM32 and ... Keil. English is not my natural language and I am 66. So I have some difficulties to understand how simple things as creating a new project from another one are so difficult.

My problem is : I have built a project that blinks the red LED. Now I want to write 'Hello World !' on the display of my STM32F7508-DK card. So I created a new directory and I tried to put all the files in it and then I searched a 'rename project' menu in vain.

I tried to export the first project to cprj, rename the files and then import. It seems to work but files are not the right ones ...

SO : is there a simple way to copy a project with all the files, docs, .... in a new directory ?

TIA

Jean

Parents
  • Hi,

    it's not so simple. I you do only that, you will have a new project in a new directory but all sources files are the ones in the first project (I mean : there are a lot of absolute PATH in all the project files). I hope you understand.

    What I did is :

    Copy of all the files from  ...\stm32F750\essai1 to stm32F750\essai_lcd.
    deletion of essai.pdf and essai.txt.
    essai1.ioc is renamed essai_lcd.ioc. search of 'essai1' in this file and replacement by 'essai_lcd' :
      ProjectManager.ProjectFileName=essai_lcd.ioc
      ProjectManager.ProjectName=essai_lcd
    rename ...\stm32F750\essai_lcd\MDK-ARM\essai.uvprojx to essai_lcd.uvprojx. search and replace of essai1
      <TargetName>essai1</TargetName>
      <OutputDirectory>essai1\</OutputDirectory>
      <OutputName>essai1</OutputName>
      <ScatterFile>.\essai1.essai1.sct</ScatterFile>
      <targetInfo name="essai1"/>  (3 fois)
      <LayName>essai1</LayName>
    rename essai1.essai1.cprj to essai_lcd.essai_lcd.cprj. search and replace of essai1 :
        <name>essai1</name>
        <output intdir="essai1/" name="essai1" outdir="essai1/" type="exe"/>
    rename essai1.essai1.sct to essai_lcd.essai_lcd.sct. no essai1 found.
    rename essai1.uvguix.moi to essai_lcd.uvguix.moi. search and replace of essai1 in
            <Name>C:\D\MAU\PROFESS_NON_VFP\STM32\STM32F750\essai1\Core\Inc\main.h</Name>
    rename essai1.uvoptx to essai_lcd.uvoptx. search and replace of essai1
        <TargetName>essai1</TargetName>
              <Expression>\\essai1\../Core/Src/main.c\78</Expression>
              <Expression>\\essai1\../Core/Src/main.c\114</Expression>
    rename directory ...\STM32F750\essai_lcd\MDK-ARM\essai1 to essai_lcd
    in ...\STM32F750\essai_lcd\MDK-ARM\DebugConfig, rename essai1_STM32F750N8Hx_1.0.0.dbgconf to
     essai_lcd_STM32F750N8Hx_1.0.0.dbgconf. no essai1 found.

    rename directory ...\STM32F750\essai_lcd\MDK-ARM\RTE\_essai1 to _essai_lcd.
     search and replace of essai1 in RTE_Components.h:
     * Project: 'essai1'
     * Target:  'essai1'

    in the command window, I use FINDSTR to check the absence of essai1 but I found some.
     ...\STM32F750\essai_lcd\MDK-ARM\essai_lcd\essai1.lnp is renamed. search and replace of essai1.
     ...\STM32F750\essai_lcd\MDK-ARM\essai_lcd\essai1.map is renamed. (no essai1)
     ...\STM32F750\essai_lcd\MDK-ARM\essai_lcd\essai1.sct is renamed. (no essai1)

    I add a comment in the main.c of essai1 (I must not see this comment in the essai_lcd project).
    Back in µvision. I open essai_lcd project : no comment : it's ok !

    Finally !

    Jean

Reply
  • Hi,

    it's not so simple. I you do only that, you will have a new project in a new directory but all sources files are the ones in the first project (I mean : there are a lot of absolute PATH in all the project files). I hope you understand.

    What I did is :

    Copy of all the files from  ...\stm32F750\essai1 to stm32F750\essai_lcd.
    deletion of essai.pdf and essai.txt.
    essai1.ioc is renamed essai_lcd.ioc. search of 'essai1' in this file and replacement by 'essai_lcd' :
      ProjectManager.ProjectFileName=essai_lcd.ioc
      ProjectManager.ProjectName=essai_lcd
    rename ...\stm32F750\essai_lcd\MDK-ARM\essai.uvprojx to essai_lcd.uvprojx. search and replace of essai1
      <TargetName>essai1</TargetName>
      <OutputDirectory>essai1\</OutputDirectory>
      <OutputName>essai1</OutputName>
      <ScatterFile>.\essai1.essai1.sct</ScatterFile>
      <targetInfo name="essai1"/>  (3 fois)
      <LayName>essai1</LayName>
    rename essai1.essai1.cprj to essai_lcd.essai_lcd.cprj. search and replace of essai1 :
        <name>essai1</name>
        <output intdir="essai1/" name="essai1" outdir="essai1/" type="exe"/>
    rename essai1.essai1.sct to essai_lcd.essai_lcd.sct. no essai1 found.
    rename essai1.uvguix.moi to essai_lcd.uvguix.moi. search and replace of essai1 in
            <Name>C:\D\MAU\PROFESS_NON_VFP\STM32\STM32F750\essai1\Core\Inc\main.h</Name>
    rename essai1.uvoptx to essai_lcd.uvoptx. search and replace of essai1
        <TargetName>essai1</TargetName>
              <Expression>\\essai1\../Core/Src/main.c\78</Expression>
              <Expression>\\essai1\../Core/Src/main.c\114</Expression>
    rename directory ...\STM32F750\essai_lcd\MDK-ARM\essai1 to essai_lcd
    in ...\STM32F750\essai_lcd\MDK-ARM\DebugConfig, rename essai1_STM32F750N8Hx_1.0.0.dbgconf to
     essai_lcd_STM32F750N8Hx_1.0.0.dbgconf. no essai1 found.

    rename directory ...\STM32F750\essai_lcd\MDK-ARM\RTE\_essai1 to _essai_lcd.
     search and replace of essai1 in RTE_Components.h:
     * Project: 'essai1'
     * Target:  'essai1'

    in the command window, I use FINDSTR to check the absence of essai1 but I found some.
     ...\STM32F750\essai_lcd\MDK-ARM\essai_lcd\essai1.lnp is renamed. search and replace of essai1.
     ...\STM32F750\essai_lcd\MDK-ARM\essai_lcd\essai1.map is renamed. (no essai1)
     ...\STM32F750\essai_lcd\MDK-ARM\essai_lcd\essai1.sct is renamed. (no essai1)

    I add a comment in the main.c of essai1 (I must not see this comment in the essai_lcd project).
    Back in µvision. I open essai_lcd project : no comment : it's ok !

    Finally !

    Jean

Children
No data