理解内存管理机制
概念
• 假设计算机的内存就像一个大仓库,这个仓库被人为地划分成几个固定大小的区域,每个区域就是一个分区。比如把100MB的内存划分成5个分区,每个分区20MB。当一个程序需要运行时,操作系统会根据程序的大小,把它分配到一个合适的分区中。如果程序大小是15MB,就把它放到一个20MB的分区里。
• 这种方式的优点是实现简单。就像仓库管理员只需要按照固定的格子来存放货物,不需要复杂的计算和调整。缺点是内存利用率低。因为分区大小是固定的,如果程序大小只有10MB,却分配了20MB的分区,那么剩下的10MB就浪费了。而且如果程序太大,超过了分区的大小,就无法运行。
应用场景
• 在早期的计算机系统中
STM32 Customer BootLoader 刷新项目 (二) 方案介绍
本项目设计了一款基于STM32的二级BootLoader,旨在为客户自定义启动过程提供软件更新和操作后门。BootLoader架构分为三层:ST自带Boot(SB)、客户定制化Boot(CB)和应用层(APP)。CB通过USART与MCU通信,支持多种指令如版本查询、擦除扇区、写入数据等,实现灵活的软件管理和更新功能。Flash空间分配为Sector 0-1用于CB,Sector 2-11用于APP。整个方案详细介绍了内存布局、跳转逻辑及支持的指令集,确保系统稳定运行并支持未来的扩展需求。