STM32F7 2 System and memory overview

Started by tha, October 02, 2022, 09:09:13 AM

Previous topic - Next topic

tha

ทุก the memory ที่แม็ป areas ที่ไม่ได้ถูกจัดสรรให้กับ on-chip memories และ peripherals ถูกถือว่า "Reserved". สำหรับรายละเอียดการแม็ปของ available memory และ register areas, ดูที่ตารางต่อไปนี้.

The following table ให้ the boundary addresses ของ the peripherals ที่มีให้ใช้งานใน the devices.







tha

2.3 Embedded SRAM

The STM32F75xxx and STM32F74xxx feature:
•   System SRAM มากถึง 320 Kbytes รวมทั้ง Data TCM RAM 64 Kbytes
•   Instruction RAM (ITCM-RAM) 16 Kbytes.
•   4 Kbytes ของ backup SRAM (ดู section 5.1.2: Battery backup domain)

The embedded SRAM ถูกแบ่งลงในมากถึงสี่บล็อก :
•   System SRAM:
     –   SRAM1 ที่แม็ปที่ address 0x2001 0000 และเข้าถึงได้โดยทุก AHB masters จาก AHB bus Matrix.
     –   SRAM2 ที่แม็ปที่ address 0x2004 C000 และเข้าถึงได้โดยทุก AHB masters จาก AHB bus Matrix.
     –   DTCM-RAM on TCM interface (Tightly Coupled Memory interface) ที่แม็ปที่ address 0x2000 0000 และเข้าถึงได้
          โดยทุก AHB masters จาก AHB bus Matrix แต่ผ่านทาง a specific AHB slave bus of the CPU.
•   Instruction SRAM:
     –   Instruction RAM (ITCM-RAM) ที่แม็ปที่ address 0x0000 0000 และเข้าถึงได้เฉพาะโดย CPU.

The SRAM1 and SRAM2 สามารถถูกเข้าถึงเป็น bytes, half-words (16 bits) หรือ full words (32 bits). ในขณะที่ DTCM and ITCM RAMs สามารถถูกเข้าถึงเป็น bytes, half-words (16 bits), full words (32 bits) หรือ double words (64 bits). memories เหล่านี้สามารถถูกแอสเดรสที่ maximum system clock frequency โดยปราศจาก wait state.

The AHB masters รองรับ concurrent SRAM accesses (จาก the Ethernet หรือ the USB OTG HS): ตัวอย่างเช่น, the Ethernet MAC สามารถอ่าน/เขียนจาก/ถึง SRAM2 ในขณะที่ the CPU กำลังอ่าน/เขียนจาก/ถึง SRAM1.

tha

2.4 Flash memory overview

The Flash memory interface จัดการ CPU AXI and TCM เข้าถึงไปยัง the Flash memory. มันจัดให้มีใช้ the erase and program Flash memory operations และ the read and write protection mechanisms. มันเร่ง code execution ด้วย ART บน TCM interface หรือ L1-Cache บน AXIM interface.

The Flash memory ถูกจัดระเเบียบเป็นดังต่อไปนี้:
•   A main memory block ถูกแบ่งออกเป็น sectors.
•   An information block:
     –   System memory ที่ the device บู๊ตใน System memory boot mode
     –   1024 OTP (one-time programmable) bytes สำหรับ user data.
     –   ไบต์ตัวเลือกเพื่อกำหนดค่า read and write protection, BOR level, software/hardware watchdog, boot memory
           base address และ reset เมื่อ the device อยุ่ใน Standby หรือ Stop mode.

ดูที่ Section 3: Embedded Flash memory (FLASH) สำหรับรายละเอียดเพิ่มเติม.


tha

2.5 Boot configuration

ใน the STM32F75xxx and STM32F74xxx, two different boot areas สามารถถูกเลือกผ่านทาง the BOOT pin และ the boot base address ที่โปรแกรมใน the BOOT_ADD0 and BOOT_ADD1 option bytes ดังแสดงใน the Table 2.



ค่าบน the BOOT pin จะถูกแล็ตช์บน the 4th rising edge ของ SYSCLK หลังจาก reset ปลดปล่อย. มันขึ้นอยู่กับผู้ใช้ที่จะเซ็ต the BOOT pin หลังจากรีเซ็ต.

The BOOT pin ยังถูกสุ่มซ้ำอีกด้วยเมื่อ the device ออกจาก the Standby mode. เพราะเหตุนี้, พวกมันต้องถูกเก็บใน the required Boot mode configuration เมื่อ the device อยู่ใน the Standby mode.

หลังจาก startup delay, the selection of the boot area ถูกกระทำก่อนการปลดปล่อย the processor reset.

The BOOT_ADD0 and BOOT_ADD1 address option bytes ช่วยให้ตั้งโปรแกรม boot memory address ใดๆจาก 0x0000 0000 ถึง 0x3FFF FFFF ซึ่งรวมถึง:
•   ทุก Flash address space ที่แม็ปบน ITCM or AXIM interface
•   ทุก RAM address space: ITCM, DTCM RAMs and SRAMs ที่แม็ปบน AXIM interface
•   The System memory bootloader

The BOOT_ADD0 / BOOT_ADD1 option bytes สามารถถูกแก้ไขหลังจากการรีเซ็ตเพื่อบู๊ตจาก boot address อื่นใดๆหลังจากการรีเซ็ตครั้งถัดไป.

ถ้า the programmed boot memory address อยู่นอก the memory mapped area หรือ a reserved area, the default boot fetch address ถูกตั้งโปรแกรมเป็นดังต่อไปนี้:
     –   Boot address 0: ITCM-FLASH at 0x0020 0000
     –   Boot address 1: ITCM-RAM at 0x0000 0000

เมื่อ flash level 2 protection ถูกเปิดใช้งาน, มีเพียงบู๊ตจาก Flash (on ITCM or AXIM interface) หรือ system bootloader จะมีให้ใช้งาน. ถ้า the already programmed boot address ใน the BOOT_ADD0 and/or BOOT_ADD1 option bytes อยู่นอก the memory range or RAM address (on ITCM or AXIM) the default fetch จะถูกบังคับจาก Flash บน ITCM interface ที่ address 0x00200000.

Embedded bootloader

The embedded bootloader code ถูกวางตำแหน่งใน the system memory. มันถูกตั้งโปรแกรมโดย ST ในระหว่างการผลิต. สำหรับข้อมูลครบถ้วน, ดูที่ the application note (AN2606) STM32 microcontroller system memory boot mode.

โดยค่าเริ่มต้น, เมื่อ the boot จาก system bootloader ถูกเลือก, the code จะถูกปฏิบัติจาก TCM interface. มันสามารถถูกปฏิบัติจาก AXIM interface โดยการโปรแกรมใหม่ the BOOT_ADDx address option bytes เป็น 0x1FF0 0000.