匿名
未登录
登录
百问网嵌入式Linux wiki
搜索
查看“SDMMC internal peripheral”的源代码
来自百问网嵌入式Linux wiki
名字空间
页面
讨论
更多
更多
页面选项
Read
查看源代码
历史
←
SDMMC internal peripheral
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==Article purpose== The purpose of this article is to * briefly introduce the SDMMC peripheral and its main features * indicate the level of security supported by this hardware block * explain how each instance can be allocated to the three runtime contexts and linked to the corresponding software components * explain, when necessary, how to configure the SDMMC peripheral. ==Peripheral overview== The '''SDMMC''' peripheral is used to interconnect STM32 MPU to SD memory cards, SDIO and MMC devices. ===Features=== Refer to the [[STM32MP15 resources#Reference manuals|STM32MP15 reference manuals]] for the complete list of features, and to the software components, introduced below, to see which features are implemented. ===Security support=== SDMMC1/2/3 instances are either '''non-secure''' or '''secure''' peripherals (under [[ETZPC_internal_peripheral|ETZPC]] control). {{Warning| * When an SDMMC instance is secure internal, the DMA cannot be used to perform data transfers. * STMicroelectronics does not provide secure MMC driver (see below chapter)}} ==Peripheral usage and associated software== ===Boot time=== SDMMC1/2 instances can be used to support memory boot on SD or MMC Flash devices. The SDMMC3 is not used at boot time. {{Info | The SDMMC instances are ordered by address in the [[Device tree|device tree]] {{CodeSource | Linux kernel | arch/arm/boot/dts/stm32mp151.dtsi}} file: sdmmc3: sdmmc@48004000 { ... sdmmc1: sdmmc@58005000 { ... sdmmc2: sdmmc@58007000 { By default, in [[OpenSTLinux distribution]], '''sdmmc3 is disabled''' so the sdmmc1 (SD card on [[STM32MP157x-EV1_-_hardware_description|Evaluation boards]] and [[STM32MP157x-DKx_-_hardware_description|Discovery kits]]) and sdmmc2 (eMMC on [[STM32MP157x-EV1_-_hardware_description|Evaluation boards]] and Wifi on [[STM32MP157x-DKx_-_hardware_description|Discovery kits]]) are respectively aliased to mmc0 and mmc1.<br> '''If you enable sdmmc3''', it will take the mmc0 alias and the aliases above will shift, so don't forget to update the Linux kernel boot command accordingly!<br> For instance, 'root=/dev/mmcblk0p6' will become 'root=/dev/mmcblk1p6' to mount the rootfs from the sdmmc1 (SD card) when sdmmc3 is enabled.}} ===Runtime=== ====Overview==== SDMMC1/2/3 instances can be allocated to: * the Arm<sup>®</sup> Cortex<sup>®</sup>-A7 non-secure core to be controlled in Linux<sup>®</sup> by the [[MMC overview|MMC framework]] or * the Arm<sup>®</sup> Cortex<sup>®</sup>-M4 to be controlled in STM32Cube MPU Package by [[STM32CubeMP1 architecture|STM32Cube SDMMC driver]] Chapter [[#Peripheral assignment]] describes which peripheral instance can be assigned to which context. ====Software frameworks==== {{:Internal_peripherals_software_table_template}} | Mass storage | [[SDMMC internal peripheral|SDMMC]] | | [[MMC overview|Linux MMC framework]] | [[STM32CubeMP1 architecture|STM32Cube SDMMC driver]] | |- |} ====Peripheral configuration==== The configuration is applied by the firmware running in the context to which the peripheral is assigned. The configuration can be done alone via the [[STM32CubeMX]] tool for all internal peripherals, and then manually completed (particularly for external peripherals), according to the information given in the corresponding software framework article. For Linux<sup>®</sup> kernel configuration, please refer to [[SDMMC device tree configuration]]. ====Peripheral assignment==== {{:Internal_peripherals_assignment_table_template}} <onlyinclude> | rowspan="3" | Mass storage | rowspan="3" | [[SDMMC internal peripheral|SDMMC]] | SDMMC1 | | <span title="assignable peripheral" style="font-size:21px">☐</span> | | |- | SDMMC2 | | <span title="assignable peripheral" style="font-size:21px">☐</span> | | |- | SDMMC3 | | <span title="assignable peripheral" style="font-size:21px">☐</span> | <span title="assignable peripheral" style="font-size:21px">☐</span> | Assignment (single choice) |- </onlyinclude> |} ==How to go further== ==References== <references/> <noinclude> {{ArticleBasedOnModel | Internal peripheral article model}} {{PublicationRequestId | 8316 | 2018-08-06 | AnneJ}} [[Category:High speed interface peripherals]] [[Category:Mass storage peripherals]] </noinclude>
该页面使用的模板:
Internal peripherals assignment table template
(
查看源代码
)
Internal peripherals software table template
(
查看源代码
)
模板:ArticleBasedOnModel
(
查看源代码
)
模板:CodeSource
(
查看源代码
)
模板:Info
(
查看源代码
)
模板:PublicationRequestId
(
查看源代码
)
模板:STDarkBlue
(
查看源代码
)
模板:STPink
(
查看源代码
)
模板:Warning
(
查看源代码
)
返回至
SDMMC internal peripheral
。
导航
导航
WIKI首页
官方店铺
资料下载
交流社区
所有页面
所有产品
MPU-Linux开发板
MCU-单片机开发板
Linux开发系列视频
单片机开发系列视频
所有模块配件
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志