[其他产品] ATSAMD20E17内存空间的分配

[复制链接]
3531|33
 楼主| laocuo1142 发表于 2025-2-7 15:36 | 显示全部楼层 |阅读模式
ATSAMD20E17的boot区内存空间是多大,代码区,EEPROM,怎么分配的
捉虫天师 发表于 2025-2-9 20:01 | 显示全部楼层
Flash 总大小        128 KB
Bootloader 区域        8 KB(可配置)
主程序区                120 KB(可用代码区)
捉虫天师 发表于 2025-2-9 20:01 | 显示全部楼层
ATSAMD20 没有固定的 Boot ROM,但可以在 Flash 的前 8 KB 设置 Bootloader(用户可配置)。
如果使用官方的 SAM-BA Bootloader,默认占 8 KB Flash。
若不使用 Bootloader,则整块 Flash 可用作代码存储。
裤脚口感好 发表于 2025-2-22 20:01 | 显示全部楼层
ATSAMD20E17 没有独立的 EEPROM 存储器,而是通过 Flash 存储器模拟实现。
wahahaheihei 发表于 2025-2-26 19:35 | 显示全部楼层
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)管理。
wahahaheihei 发表于 2025-2-26 19:35 | 显示全部楼层
内存区域        地址范围        大小        用途
Flash 代码区        0x00000000 - 0x0001FFFF        128 KB        用户程序代码
Bootloader 区        0x00020000 - 0x00021FFF        8 KB        出厂预编程 Bootloader
SRAM        0x20000000 - 0x20003FFF        16 KB        运行时数据、堆栈
模拟 EEPROM        用户定义区域        1-2 KB        非易失性数据存储
wahahaheihei 发表于 2025-2-26 19:36 | 显示全部楼层
  1. Flash 存储器:128 KB,其中 Bootloader 区通常占用最后 8 KB。

  2. SRAM:16 KB,用于运行时数据。

  3. EEPROM:通过 Flash 模拟实现,通常为 1-2 KB。

  4. Bootloader 区:默认 8 KB,位于 Flash 的最后部分。
chenqianqian 发表于 2025-2-26 19:36 来自手机 | 显示全部楼层
microchip的MPU芯片放到现在性能差了很多啊
hhdhy 发表于 2025-3-11 17:15 | 显示全部楼层
ATSAMD20E17 是 Microchip(原 Atmel)推出的一款arm内核的 32 位微控制器。其存储器空间包括 Bootloader 区、代码区(Flash) 和 EEPROM。以下是其存储器分配的具体信息:Bootloader 区大小:ATSAMD20E17 的 Bootloader 区通常为 8 KB
gongqijuns 发表于 2025-3-11 18:23 | 显示全部楼层
用于存储出厂预编程的 Bootloader,支持通过 UART、USB 等接口进行固件更新。地址范围:0x0000_0000 到 0x0000_1FFF(具体地址可能因芯片型号和配置有所不同)
hight1light 发表于 2025-3-11 19:27 | 显示全部楼层
ATSAMD20E17 的 Flash 大小为 128 KB。用于存储用户程序代码和常量数据。
星星点点didi 发表于 2025-3-11 20:30 | 显示全部楼层
其实ATSAMD20E17 没有独立的 EEPROM,但可以通过 Flash 模拟 EEPROM。用于存储需要频繁擦写的数据(如配置参数)。
nuan11nuan 发表于 2025-3-11 21:34 | 显示全部楼层
Bootloader 区通常受保护,用户无法直接修改。如果需要自定义 Bootloader,需禁用保护(具体方法参考数据手册)。
gra22ce 发表于 2025-3-11 22:52 | 显示全部楼层
由于 Flash 的擦写次数有限(通常为 10,000 次),模拟 EEPROM 时需注意磨损均衡(Wear Leveling)。
gouguoccc 发表于 2025-3-12 07:54 来自手机 | 显示全部楼层
用户可用的就是flash区域啊,没明白问题。
清芯芯清 发表于 2025-3-12 10:24 | 显示全部楼层
在链接脚本(Linker Script)中明确分配 Bootloader 区、代码区和模拟 EEPROM 的地址范围。
ewyu 发表于 2025-3-12 12:57 | 显示全部楼层
Bootloader 区:8 KB,地址范围为 0x0000_0000 到 0x0000_1FFF。代码区(Flash):120 KB,地址范围为 0x0000_2000 到 0x0001_FFFF。模拟 EEPROM:通常使用 Flash 的末尾部分(如 4 KB),地址范围为 0x0001_F000 到 0x0001_FFFF。
yuliangren 发表于 2025-3-12 14:10 | 显示全部楼层
在实际开发中,需根据需求合理分配存储器空间,并注意 Bootloader 区的保护和 Flash 模拟 EEPROM 的磨损均衡
eleg34ance 发表于 2025-3-12 15:08 | 显示全部楼层
其实手册应该都写了,一般是多大的空间来着
xiaoqi000 发表于 2025-3-27 23:52 | 显示全部楼层
在 ATSAMD20E17 上,Bootloader 区域 和 应用程序代码区 的分配是可配置的,通常是通过在编译时配置启动文件来设置。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1296

主题

6239

帖子

15

粉丝
快速回复 在线客服 返回列表 返回顶部