ATSAMD20E17内存空间的分配
ATSAMD20E17的boot区内存空间是多大,代码区,EEPROM,怎么分配的 Flash 总大小 128 KBBootloader 区域 8 KB(可配置)
主程序区 120 KB(可用代码区) ATSAMD20 没有固定的 Boot ROM,但可以在 Flash 的前 8 KB 设置 Bootloader(用户可配置)。
如果使用官方的 SAM-BA Bootloader,默认占 8 KB Flash。
若不使用 Bootloader,则整块 Flash 可用作代码存储。 ATSAMD20E17 没有独立的 EEPROM 存储器,而是通过 Flash 存储器模拟实现。 Flash 存储器
总大小:128 KB(0x20000 字节)
代码区:大部分 Flash 用于存储用户程序代码。
Bootloader 区:通常占用 Flash 的最后一部分空间,大小取决于 Bootloader 的实现。
默认 Bootloader 区大小为 8 KB(0x2000 字节),地址范围为 0x00020000 - 0x00021FFF。
用户代码区地址范围为 0x00000000 - 0x0001FFFF。
SRAM
总大小:16 KB(0x4000 字节)
地址范围:0x20000000 - 0x20003FFF
用途:存储运行时数据、堆栈和堆。
EEPROM
ATSAMD20E17 没有物理 EEPROM,但可以通过 Flash 模拟实现 EEPROM 功能。
模拟 EEPROM 大小:通常为 1 KB 或 2 KB,具体大小取决于用户配置。
模拟 EEPROM 的实现通常使用 Flash 的某个区域,并通过软件库(如 ASF 或 Harmony)管理。 内存区域 地址范围 大小 用途
Flash 代码区 0x00000000 - 0x0001FFFF 128 KB 用户程序代码
Bootloader 区 0x00020000 - 0x00021FFF 8 KB 出厂预编程 Bootloader
SRAM 0x20000000 - 0x20003FFF 16 KB 运行时数据、堆栈
模拟 EEPROM 用户定义区域 1-2 KB 非易失性数据存储 Flash 存储器:128 KB,其中 Bootloader 区通常占用最后 8 KB。
SRAM:16 KB,用于运行时数据。
EEPROM:通过 Flash 模拟实现,通常为 1-2 KB。
Bootloader 区:默认 8 KB,位于 Flash 的最后部分。 microchip的MPU芯片放到现在性能差了很多啊 ATSAMD20E17 是 Microchip(原 Atmel)推出的一款arm内核的 32 位微控制器。其存储器空间包括 Bootloader 区、代码区(Flash) 和 EEPROM。以下是其存储器分配的具体信息:Bootloader 区大小:ATSAMD20E17 的 Bootloader 区通常为 8 KB 用于存储出厂预编程的 Bootloader,支持通过 UART、USB 等接口进行固件更新。地址范围:0x0000_0000 到 0x0000_1FFF(具体地址可能因芯片型号和配置有所不同) ATSAMD20E17 的 Flash 大小为 128 KB。用于存储用户程序代码和常量数据。 其实ATSAMD20E17 没有独立的 EEPROM,但可以通过 Flash 模拟 EEPROM。用于存储需要频繁擦写的数据(如配置参数)。 Bootloader 区通常受保护,用户无法直接修改。如果需要自定义 Bootloader,需禁用保护(具体方法参考数据手册)。 由于 Flash 的擦写次数有限(通常为 10,000 次),模拟 EEPROM 时需注意磨损均衡(Wear Leveling)。 用户可用的就是flash区域啊,没明白问题。 在链接脚本(Linker Script)中明确分配 Bootloader 区、代码区和模拟 EEPROM 的地址范围。 Bootloader 区:8 KB,地址范围为 0x0000_0000 到 0x0000_1FFF。代码区(Flash):120 KB,地址范围为 0x0000_2000 到 0x0001_FFFF。模拟 EEPROM:通常使用 Flash 的末尾部分(如 4 KB),地址范围为 0x0001_F000 到 0x0001_FFFF。 在实际开发中,需根据需求合理分配存储器空间,并注意 Bootloader 区的保护和 Flash 模拟 EEPROM 的磨损均衡 其实手册应该都写了,一般是多大的空间来着 在 ATSAMD20E17 上,Bootloader 区域 和 应用程序代码区 的分配是可配置的,通常是通过在编译时配置启动文件来设置。
页:
[1]
2