Просмотр исходного кода

Merge pull request #4174 from thread-liu/master

[update] stm32mp1 mdk link script file
Bernard Xiong 4 лет назад
Родитель
Сommit
2c964b5bd4

+ 1 - 0
.github/workflows/action.yml

@@ -140,6 +140,7 @@ jobs:
       - name: Install Tools
         shell: bash
         run: |
+          sudo apt-get update
           sudo apt-get -qq install gcc-multilib libsdl-dev scons
           echo "RTT_ROOT=${{ github.workspace }}" >> $GITHUB_ENV
           echo "RTT_CC=gcc" >> $GITHUB_ENV

+ 0 - 4
bsp/stm32/libraries/STM32MPxx_HAL/SConscript

@@ -104,10 +104,6 @@ if GetDepend(['BSP_USING_DFSDM']):
     src += ['STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_dfsdm.c']
     src += ['STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_dfsdm_ex.c']
 
-if GetDepend(['BSP_USING_SDMMC']):
-    src += ['STM32MP1xx_HAL_Driver/Src/stm32mp1xx_ll_sdmmc.c']
-    src += ['STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_sd.c']
-
 if GetDepend(['BSP_USING_HASH']):
     src += ['STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_hash.c']
     src += ['STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_hash_ex.c']

+ 4 - 4
bsp/stm32/stm32mp157a-st-discovery/board/CubeMX_Config/CM4/Src/stm32mp1xx_hal_msp.c

@@ -74,10 +74,10 @@ void HAL_MspInit(void)
   /* System interrupt init*/
 
   /* USER CODE BEGIN MspInit 1 */
-#if !defined(BSP_USING_OPENAMP)
-    __HAL_RCC_SYSRAM_CLK_ENABLE();
-    __HAL_RCC_RETRAM_CLK_ENABLE();
-#endif
+    if (IS_ENGINEERING_BOOT_MODE()) 
+    {
+        __HAL_RCC_SYSRAM_CLK_ENABLE();
+    }
 
     HAL_NVIC_SetPriority(RCC_WAKEUP_IRQn, 0, 0);
     HAL_NVIC_EnableIRQ(RCC_WAKEUP_IRQn);

+ 13 - 15
bsp/stm32/stm32mp157a-st-discovery/board/board.h

@@ -23,23 +23,22 @@ extern "C" {
 #endif
 
 #define STM32_FLASH_START_ADRESS     ((uint32_t)0x10000000)  
-#if defined(BSP_USING_OPENAMP)
-#define STM32_FLASH_SIZE             (64 * 1024)
-#else
-#define STM32_FLASH_SIZE             (256 * 1024)    
-#endif
+#define STM32_FLASH_SIZE             (192 * 1024)
 #define STM32_FLASH_END_ADDRESS      ((uint32_t)(STM32_FLASH_START_ADRESS + STM32_FLASH_SIZE))
-
-    
-#if defined(BSP_USING_OPENAMP)    
-#define STM32_SRAM_BEGIN             (uint32_t)0x10030000 
+  
+#define STM32_SRAM_SIZE           (64)
+#define STM32_SRAM_END            (0x10030000 + 64 * 1024)  	
+
+#if defined(__CC_ARM) || defined(__CLANG_ARM)
+extern int Image$$RW_IRAM1$$ZI$$Limit;
+#define HEAP_BEGIN      (&Image$$RW_IRAM1$$ZI$$Limit)
+#elif __ICCARM__
+#pragma section="CSTACK"
+#define HEAP_BEGIN      (__segment_end("CSTACK"))
 #else
-#define STM32_SRAM_BEGIN             (uint32_t)0x2FFF0000     
+extern int __bss_end;
+#define HEAP_BEGIN      (&__bss_end)
 #endif
-#define STM32_SRAM_SIZE              (64)    
-#define STM32_SRAM_END               (STM32_SRAM_BEGIN + (STM32_SRAM_SIZE * 1024))
-
-#define HEAP_BEGIN                    STM32_SRAM_BEGIN
 #define HEAP_END                      STM32_SRAM_END
 
 void SystemClock_Config(void);
@@ -51,4 +50,3 @@ extern void _Error_Handler(char *s, int num);
 #endif
 
 #endif
-

+ 8 - 16
bsp/stm32/stm32mp157a-st-discovery/board/linker_scripts/link.sct

@@ -8,28 +8,20 @@ LR_VECTORS 0x00000000 0x00000400  {    ; load region size_region
   }
 }
 
-LR_IROM1 0x10000000 0x00020000  {      ; load region size_region
-  ER_IROM1 0x10000000 0x00020000  {    ; load address = execution address
+LR_IROM1 0x10000000 0x00030000  {      ; load region size_region
+  ER_IROM1 0x10000000 0x00030000  {    ; load address = execution address
     *(InRoot$$Sections)
     .ANY (+RO)
     .ANY (+XO)
   }
-  RW_IRAM1 0x10020000 0x00050000  {    ; RW data
+  RW_IRAM1 0x10030000 0x00010000  {    ; RW data
     .ANY (+RW +ZI)
   }
-;  RW_IRAM2 0x10020000 0x00020000  {    ; RW data
-;    .ANY (+RW +ZI)
-;  }
-;  RW_IRAM3 0x10040000 0x00010000  {    ; RW data
-;    .ANY (+RW +ZI)
-;  }
-;  RW_IRAM4 0x10050000 0x00010000  {    ; RW data
-;    .ANY (+RW +ZI)
-;  }
-; ***** To uncomment these 4 lines if OPENAMP used    *****
-; ***   Create region for OPENAMP                       ***
+  
+  
+; *****   Create region for OPENAMP                               *****
+; ***     These 4 lines can be commented if OPENAMP is not used     *****
   .resource_table +0 ALIGN 4 {         ; resource table
     *(.resource_table)
-  }
-  __OpenAMP_SHMEM__ 0x10050000 EMPTY 0x8000 {} ; Shared Memory area used by OpenAMP
+  }  __OpenAMP_SHMEM__ 0x10040000 EMPTY 0x8000 {} ; Shared Memory area used by OpenAMP
 }

+ 2 - 2
bsp/stm32/stm32mp157a-st-discovery/template.uvoptx

@@ -10,7 +10,7 @@
     <aExt>*.s*; *.src; *.a*</aExt>
     <oExt>*.obj; *.o</oExt>
     <lExt>*.lib</lExt>
-    <tExt>*.txt; *.h; *.inc</tExt>
+    <tExt>*.txt; *.h; *.inc; *.md</tExt>
     <pExt>*.plm</pExt>
     <CppX>*.cpp</CppX>
     <nMigrate>0</nMigrate>
@@ -125,7 +125,7 @@
         <SetRegEntry>
           <Number>0</Number>
           <Key>ST-LINKIII-KEIL_SWO</Key>
-          <Name>-U066DFF343339415043182234 -O206 -SF10000 -C0 -A2 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(6BA02477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD10020000 -FC1000 -FN0</Name>
+          <Name>-U0666FF343339415043182420 -O206 -SF10000 -C0 -A2 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP") -D00(6BA02477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD10030000 -FC1000 -FN0</Name>
         </SetRegEntry>
       </TargetDriverDllRegistry>
       <Breakpoint/>

+ 3 - 8
bsp/stm32/stm32mp157a-st-discovery/template.uvprojx

@@ -276,7 +276,7 @@
               <OCR_RVCT4>
                 <Type>1</Type>
                 <StartAddress>0x10000000</StartAddress>
-                <Size>0x20000</Size>
+                <Size>0x30000</Size>
               </OCR_RVCT4>
               <OCR_RVCT5>
                 <Type>1</Type>
@@ -300,8 +300,8 @@
               </OCR_RVCT8>
               <OCR_RVCT9>
                 <Type>0</Type>
-                <StartAddress>0x10020000</StartAddress>
-                <Size>0x20000</Size>
+                <StartAddress>0x10030000</StartAddress>
+                <Size>0x10000</Size>
               </OCR_RVCT9>
               <OCR_RVCT10>
                 <Type>0</Type>
@@ -397,11 +397,6 @@
     <Layers>
       <Layer>
         <LayName>&lt;Project Info&gt;</LayName>
-        <LayDesc></LayDesc>
-        <LayUrl></LayUrl>
-        <LayKeys></LayKeys>
-        <LayCat></LayCat>
-        <LayLic></LayLic>
         <LayTarg>0</LayTarg>
         <LayPrjMark>1</LayPrjMark>
       </Layer>

+ 4 - 4
bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/CM4/Src/stm32mp1xx_hal_msp.c

@@ -81,10 +81,10 @@ void HAL_MspInit(void)
   /* System interrupt init*/
 
   /* USER CODE BEGIN MspInit 1 */
-#if !defined(BSP_USING_OPENAMP)
-    __HAL_RCC_SYSRAM_CLK_ENABLE();
-    __HAL_RCC_RETRAM_CLK_ENABLE();
-#endif
+    if (IS_ENGINEERING_BOOT_MODE())
+    {
+        __HAL_RCC_SYSRAM_CLK_ENABLE();
+    }
   
     HAL_NVIC_SetPriority(RCC_WAKEUP_IRQn, 0, 0);
     HAL_NVIC_EnableIRQ(RCC_WAKEUP_IRQn);

+ 1 - 1
bsp/stm32/stm32mp157a-st-ev1/board/Kconfig

@@ -77,7 +77,7 @@ menu "Onboard Peripheral Drivers"
                 if BSP_USING_EMMC
                     config EMMC_USING_DFS
                         bool "emmc card fatfs"
-                        default n
+                        default y
                 endif
         endif
 

+ 7 - 0
bsp/stm32/stm32mp157a-st-ev1/board/board.c

@@ -12,6 +12,7 @@
 
 #include "board.h"
 
+void PeriphCommonClock_Config(void);
 /**
 * @brief System Clock Configuration
 * @retval None
@@ -124,6 +125,12 @@ void SystemClock_Config(void)
     /**Set the HSE division factor for RTC clock
     */
     __HAL_RCC_RTC_HSEDIV(24);
+    
+    /* Configure the peripherals common clocks */
+    if(IS_ENGINEERING_BOOT_MODE())
+    {
+        PeriphCommonClock_Config();
+    }
 }
 
 

+ 13 - 9
bsp/stm32/stm32mp157a-st-ev1/board/board.h

@@ -23,18 +23,23 @@ extern "C" {
 #endif
 
 #define STM32_FLASH_START_ADRESS     ((uint32_t)0x10000000)  
-#define STM32_FLASH_SIZE             (191 * 1024)
+#define STM32_FLASH_SIZE             (192 * 1024)
 #define STM32_FLASH_END_ADDRESS      ((uint32_t)(STM32_FLASH_START_ADRESS + STM32_FLASH_SIZE))
 
-#if defined(BSP_USING_OPENAMP)    
-#define STM32_SRAM_BEGIN             (uint32_t)0x10030000 
+
+#define STM32_SRAM_SIZE           (64)
+#define STM32_SRAM_END            (0x10030000 + 64 * 1024)  	
+
+#if defined(__CC_ARM) || defined(__CLANG_ARM)
+extern int Image$$RW_IRAM1$$ZI$$Limit;
+#define HEAP_BEGIN      (&Image$$RW_IRAM1$$ZI$$Limit)
+#elif __ICCARM__
+#pragma section="CSTACK"
+#define HEAP_BEGIN      (__segment_end("CSTACK"))
 #else
-#define STM32_SRAM_BEGIN             (uint32_t)0x2FFF0000     
+extern int __bss_end;
+#define HEAP_BEGIN      (&__bss_end)
 #endif
-#define STM32_SRAM_SIZE              (64)    
-#define STM32_SRAM_END               (STM32_SRAM_BEGIN + (STM32_SRAM_SIZE * 1024))
-
-#define HEAP_BEGIN                    STM32_SRAM_BEGIN
 #define HEAP_END                      STM32_SRAM_END
 
 void SystemClock_Config(void);
@@ -46,4 +51,3 @@ extern void _Error_Handler(char *s, int num);
 #endif
 
 #endif
-

+ 8 - 8
bsp/stm32/stm32mp157a-st-ev1/board/linker_scripts/link.sct

@@ -8,20 +8,20 @@ LR_VECTORS 0x00000000 0x00000400  {    ; load region size_region
   }
 }
 
-LR_IROM1 0x10000000 0x00040000  {      ; load region size_region
-  ER_IROM1 0x10000000 0x00040000  {    ; load address = execution address
+LR_IROM1 0x10000000 0x00030000  {      ; load region size_region
+  ER_IROM1 0x10000000 0x00030000  {    ; load address = execution address
     *(InRoot$$Sections)
     .ANY (+RO)
     .ANY (+XO)
   }
-  RW_IRAM1 0x10050000 0x00010000  {    ; RW data
+  RW_IRAM1 0x10030000 0x00010000  {    ; RW data
     .ANY (+RW +ZI)
   }
   
   
-;; *****   Create region for OPENAMP                               *****
-;; ***     These 4 lines can be commented if OPENAMP is not used     *****
-;  .resource_table +0 ALIGN 4 {         ; resource table
-;    *(.resource_table)
-;  }  __OpenAMP_SHMEM__ 0x10040000 EMPTY 0x8000 {} ; Shared Memory area used by OpenAMP
+; *****   Create region for OPENAMP                               *****
+; ***     These 4 lines can be commented if OPENAMP is not used     *****
+  .resource_table +0 ALIGN 4 {         ; resource table
+    *(.resource_table)
+  }  __OpenAMP_SHMEM__ 0x10040000 EMPTY 0x8000 {} ; Shared Memory area used by OpenAMP
 }

+ 2 - 2
bsp/stm32/stm32mp157a-st-ev1/template.uvoptx

@@ -10,7 +10,7 @@
     <aExt>*.s*; *.src; *.a*</aExt>
     <oExt>*.obj; *.o</oExt>
     <lExt>*.lib</lExt>
-    <tExt>*.txt; *.h; *.inc</tExt>
+    <tExt>*.txt; *.h; *.inc; *.md</tExt>
     <pExt>*.plm</pExt>
     <CppX>*.cpp</CppX>
     <nMigrate>0</nMigrate>
@@ -125,7 +125,7 @@
         <SetRegEntry>
           <Number>0</Number>
           <Key>ST-LINKIII-KEIL_SWO</Key>
-          <Name>-U066BFF343339415043223048 -O206 -SF10000 -C0 -A2 -I0 -HNlocalhost -HP7184 -P1 -N00("") -D00(00000000) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8000 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD10050000 -FC1000 -FN0</Name>
+          <Name>-U0666FF343339415043182420 -O206 -SF10000 -C0 -A2 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP") -D00(6BA02477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8000 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD10030000 -FC1000 -FN0</Name>
         </SetRegEntry>
       </TargetDriverDllRegistry>
       <Breakpoint/>

+ 4 - 9
bsp/stm32/stm32mp157a-st-ev1/template.uvprojx

@@ -276,7 +276,7 @@
               <OCR_RVCT4>
                 <Type>1</Type>
                 <StartAddress>0x10000000</StartAddress>
-                <Size>0x40000</Size>
+                <Size>0x30000</Size>
               </OCR_RVCT4>
               <OCR_RVCT5>
                 <Type>1</Type>
@@ -300,13 +300,13 @@
               </OCR_RVCT8>
               <OCR_RVCT9>
                 <Type>0</Type>
-                <StartAddress>0x10050000</StartAddress>
+                <StartAddress>0x10030000</StartAddress>
                 <Size>0x10000</Size>
               </OCR_RVCT9>
               <OCR_RVCT10>
                 <Type>0</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
+                <StartAddress>0x10040000</StartAddress>
+                <Size>0x20000</Size>
               </OCR_RVCT10>
             </OnChipMemories>
             <RvctStartVector></RvctStartVector>
@@ -397,11 +397,6 @@
     <Layers>
       <Layer>
         <LayName>&lt;Project Info&gt;</LayName>
-        <LayDesc></LayDesc>
-        <LayUrl></LayUrl>
-        <LayKeys></LayKeys>
-        <LayCat></LayCat>
-        <LayLic></LayLic>
         <LayTarg>0</LayTarg>
         <LayPrjMark>1</LayPrjMark>
       </Layer>