当前位置: 首页 > news >正文

建设部网站打不开成都装饰公司网站建设

建设部网站打不开,成都装饰公司网站建设,seo建站优化,重庆网站建设费用ARM Cortex-M 的系统映射空间 ​ 在 STM32 等 ARM Cortex-M 系列 MCU 中#xff0c;内存地址空间按照 存储功能 进行了严格划分#xff0c;包括 Flash#xff08;程序存储#xff09;、RAM#xff08;数据存储#xff09;、外设寄存器#xff08;GPIO、UART、SPI 等内存地址空间按照 存储功能 进行了严格划分包括 Flash程序存储、RAM数据存储、外设寄存器GPIO、UART、SPI 等以及系统控制寄存器中断、调试相关。下面详细解析各个地址段的作用和特点。 1.1 内存地址映射总览 ​ 在 ARM Cortex-M 处理器如 STM32 系列 MCU中地址空间通常采用 32 位地址总线因此可寻址 4GB0x00000000 ~ 0xFFFFFFFF但在嵌入式系统中MCU 的可用内存远小于 4GB并且地址空间被划分为多个功能区。 地址范围存储内容描述0x00000000 - 0x000003FF向量表Vector Table存放复位向量起始栈指针、异常入口地址0x08000000 - 0x0800FFFFFlash代码存储存储 程序代码.text 和 只读数据.rodata0x1FFFF000 - 0x1FFFF7FF系统 Boot ROM预留给 MCU BootLoaderISP、IAP 相关0x20000000 - 0x20004FFFRAM可变数据存储SRAMRAM存储 .data、.bss、堆、栈0x40000000 - 0x500607FF外设寄存器片上 GPIO、UART、SPI、I2C、TIM、ADC 等外设的控制寄存器0xE0000000 - 0xE00FFFFFSystem 控制寄存器NVIC中断控制、SysTick系统定时器、调试接口 1.20x00000000 - 0x000003FF向量表 (Vector Table) ​ MCU 复位后系统从 0x00000000 地址处读取向量表该表包含了复位后跳转到 main() 的入口地址。 作用 存储异常和中断向量表即异常/中断入口地址。第一项存放的是栈指针初值SP用于 CPU 复位时初始化堆栈。其余项是中断服务程序ISR地址例如 复位向量Reset Vector硬件故障处理HardFault、NMI外设中断UART、GPIO、TIM 等 向量表示例 0x00000000: 0x20004FFF ; 初始栈指针地址RAM 顶部 0x00000004: 0x08000239 ; 复位处理函数Reset_Handler 0x00000008: 0x08000321 ; NMI_Handler 0x0000000C: 0x08000345 ; HardFault_Handler该表通存储于 Flash0x08000000 1.3 0x08000000 - 0x0800FFFFFlash程序存储 作用 存放 MCU 固件程序代码包括 .text代码段.rodata只读数据 代码段的存储区域运行时 CPU 直接从 Flash 取指令不会加载到 RAM。 特点 Flash 只能按扇区擦除不能按字节修改通常 1 次擦除需要 20ms 左右。RAM 访问速度远快于 Flash因此 关键代码可拷贝到 RAM 执行。 1.4 0x1FFFF000 - 0x1FFFF7FF系统 Boot ROM 作用 STM32 MCU 内置 Bootloader引导程序支持 ISPIn-System Programming通过 UART/SWD 进行固件烧录。IAPIn-Application Programming运行时更新 Flash 代码。 特点 Bootloader 可以让 MCU 在 Flash 损坏的情况下仍然可以进行固件更新。通过 BOOT0 / BOOT1 硬件引脚可以选择启动 Flash 还是 Bootloader。 1.5 0x20000000 - 0x20004FFFRAM数据存储 作用 存储 MCU 运行时的变量和数据包括 .data 段已初始化的全局变量上电后从 Flash 复制到 RAM.bss 段未初始化的全局变量上电后初始化为 0堆Heapmalloc() 动态分配的内存栈Stack****局部变量、函数调用信息 结构 ------------------ 0x20005000 RAM 结束 | Heap | 动态分配malloc ------------------ | Stack | 栈局部变量、返回地址 ------------------ | .bss | 未初始化数据RAM ------------------ | .data | 已初始化全局变量RAM ------------------ 0x20000000 RAM 起始注意 栈向下增长堆向上增长如果二者相遇会导致崩溃Stack Overflow。优化方法 尽量使用 const 让数据存入 Flash减少 RAM 占用。避免使用 malloc()防止内存碎片化。 1.6 0x40000000 - 0x500607FF外设寄存器 作用 用于 MCU 片上外设的控制如 GPIO0x40010800控制 I/O 口输入/输出。UART0x40013800串口收发数据。SPI0x40013000SPI 传输数据。ADC0x40012400模拟信号转换。 代码示例 #define GPIOC_ODR (*((volatile uint32_t*) 0x4001100C)) GPIOC_ODR | (1 13); // 置位 PC13LED 亮特点 访问外设寄存器时 必须使用 volatile 修饰否则编译器可能优化导致错误。 1.7 0xE0000000 - 0xE00FFFFFSystem 控制寄存器 作用 控制 中断、调试、系统时钟主要包括 NVICNested Vectored Interrupt Controller中断控制器SysTick系统定时器SCBSystem Control Block系统控制块 代码示例 #define NVIC_ISER0 (*((volatile uint32_t*) 0xE000E100)) NVIC_ISER0 | (1 6); // 使能外部中断 6特点 NVIC 允许中断嵌套可以配置优先级。SysTick 是 Cortex-M 内置的 24-bit 计时器用于系统心跳计时
http://www.dnsts.com.cn/news/248342.html

相关文章:

  • 主机搭建网站教程wordpress页面表格
  • 关于网站建设的博客织梦官方网站
  • 上海羽贝网站建设ui网站开发
  • 上传空间站的注意事项荆门做网站公司
  • 网站建设服务费开票wordpress比赛模板
  • 石家庄有那些网站开发公司职业教育培训机构排名前十
  • 佛山市企业网站建设哪家好网页设计与制作教案 详案
  • 高端建站模版帮别人做网站开价
  • 网站带app建设外贸营销型网站建设公司
  • 做网站什么系统好wordpress 报表
  • 网站广告图怎么做企业网站开发信息
  • 推广业务网站建设刷百度关键词排名
  • 往届生做网站编辑成都设计研究院
  • 怎么可以做自己的网站网站建设战略
  • 网站维护一年多少钱潍坊高新区建设局门户网站
  • dw怎么做百度网站情趣官方网站怎么做代理
  • 营销型高端网站建设价格wordpress joomla drupal
  • 兼职开发网站开发酒店网站建设设计
  • 金华网站制作价格英文站用wordpress
  • 网站建设制作和wordpress类似的框架
  • 网站制作论坛wordpress用户系统插件
  • 网站图片要多少像素wordpress 主题乱了
  • php网站开发 pdf杭州网站制作工作室
  • 简单的网站源码深圳网站设计在哪济南兴田德润联系电话
  • 婚庆网站的设计意义炫酷html5网站模板
  • ps做的网站保存不了jpg做网站价格多少
  • 怒江网站制作网站做com合net的区别
  • 网站怎么产品做推广游戏网站建设的必要性
  • 网站用wordpress还是wpwordpress插件破解下载
  • 只做瓶子包装设计的创意网站廊坊网站制作报价