53、STM32 闪存内存管理与启动流程详解

本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

STM32 闪存内存管理与启动流程详解

1. 闪存内存管理
1.1 通过 TCM 接口访问闪存内存

对于 STM32F7 平台的新手来说,如何利用 TCM 接口是一个常见问题。这主要通过链接脚本实现,需要使用特定表格中的基地址重新映射 .text .bss .data 区域的地址。

不过,直接在链接脚本中更改 FLASH 区域的起始地址并不可行,因为通过 ITCM 接口进行写模式访问是不允许的,这会导致调试器无法使用 0x0020 0000 - 0x002F FFFF 地址范围加载程序代码。为解决此问题,需要像处理 .data 区域一样,将 VMA 地址范围与 LMA 地址范围分开。以下是实现该操作的链接脚本片段:

/* Specify the memory areas */
MEMORY {
    ITCM_FLASH (rx): ORIGIN = 0x00200000, LENGTH = 1024K
    AXI_FLASH (rx): ORIGIN = 0x08000000, LENGTH = 1024K
    RAM (xrw): ORIGIN = 0x20000000, LENGTH = 320K
}

/* Define output sections */
SECTIONS
{
    /* The startup code goes first into FLASH */
    .
下载代码方式:https://pan.quark.cn/s/c66ecb4d06ce 同源策略:从安全角度出发,浏览器会对脚本发起的跨站请求施加限制,要求JavaScript或Cookie仅能获取同源(即协议、域名和端口完全一致)下的资源。正因如此,不同项目间的调用会受到浏览器的阻碍。以常见情境为例:WebApi作为数据服务层,它是一个独立的项目,而MVC项目则承担Web的展示功能,此时MVC项目需要调用WebApi中的接口以获取数据并在页面上呈现。由于WebApiMVC属于两个独立的项目,运行后便会产生前面提及的跨域问题。WebApi的跨域问题主要源于浏览器的同源策略,这是一种安全措施,旨在限制JavaScript或Cookie仅能访问同一源(包括协议、域名和端口)下的内容。在实际开发过程中,当WebApi作为一个独立服务,例如数据服务层,而MVC项目作为前端展示层时,两者运行在不同的项目和端口下,浏览器将阻止MVC对WebApi的跨域请求,从而影响数据的正常获取。为了应对这一问题,我们可以采用CORS(跨域资源共享)机制。CORS通过在HTTP请求响应头中嵌入特定标识,向浏览器明确哪些跨域请求是被允许的。例如,服务器可以在响应头中添加`Access-Control-Allow-Origin:http://localhost:8081`,表示允许来自http://localhost:8081的请求访问资源。解决WebApi跨域问题的具体实施步骤如下: 1. 构建一个包含MVC项目(Web)Web API项目(WebApiCORS)的解决方案。 2. 在MVC项目中,例如Home控制器的Index视图,通过Ajax向WebApiCORS发起跨域请求。 3...
代码下载链接: https://pan.quark.cn/s/a4b39357ea24 在本文中,我们将详细阐述利用Oracle VM VirtualBox在非Apple设备上安装“黑苹果”系统的方法,即实现在非macOS原装硬件上执行macOS操作系统。这一过程需要具备相应的技术能力并投入一定的耐心,然而,只要严格遵循以下详尽的步骤,您将能够顺利完成安装工作。在开始之前,请确认您已经获取了Oracle VM VirtualBox,这是一款免费且开源的虚拟化软件,能够让您在一台计算机上同时运行多种不同的操作系统。此外,请确保您的主机系统符合macOS的最低硬件配置要求,其中包括至少4GB的内存容量以及充足的硬盘存储空间。 1. **虚拟机的建立**: - 启动VirtualBox应用程序,并点击“新建”按钮以创建一个新的虚拟机实例。 - 为虚拟机指定一个名称,例如“BlackApple”,并设定操作系统类型为“Mac OS X”或选择“其他”。 - 分配合理的内存资源,通常4GB是基本需求,但8GB或更多将有助于提升运行效率。 - 创建一个新的虚拟硬盘文件,并选择VDI(VirtualBox动态分配)格式,这种方式能够更高效地利用存储资源。 2. **虚拟机的设置**: - 在“系统”配置选项中,确保处理器的核心数至少为2个,如果条件允许,选择4个或更多核心将更有利于系统性能。 - 启用“IO APIC”功能,这对于macOS的稳定运行具有关键作用。 - 在“显示”配置中,开启3D加速功能,并将显存设置为最大值,这将显著改善图形处理能力,使用户界面更加流畅。 - 在“存储...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值