首页 > 其他分享 >ARM分散加载方式(V6版)

ARM分散加载方式(V6版)

时间:2023-05-13 12:22:57浏览次数:32  
标签:__ RW 128KB RAM V6 0x38000000 data ARM 加载

环境:野火H750开发板

 

本文分散加载的主要目的是方便用绝对地址的方式定义变量(数组)

在keil/options for target/linker 选择自定义scatter(.sct)文件

文件里面的内容修改为:

LR_IROM1 0x08000000 0x00200000 { ; load region size_region
ER_IROM1 0x08000000 0x00200000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
}

; RW data - 128KB DTCM
RW_IRAM1 0x20000000 0x00020000 {
.ANY (+RW +ZI)
}

; RW data - 512KB AXI SRAM
RW_IRAM2 0x24000000 0x00080000 {
*(.RAM_D1)
}

; RW data - 128KB SRAM1(0x30000000) + 128KB SRAM2(0x3002 0000) + 32KB SRAM3(0x30040000)
RW_IRAM3 0x30000000 0x00048000 {
*(.RAM_D2)
}

; RW data - 64KB SRAM4(0x38000000)
RW_IRAM4 0x38000000 0x00010000 {
*(.RAM_D3)
}
; RW data - 32MB SDRAM(0x38000000)
RW_IRAM5 0xC0000000 0x00010000 {
*(.SD_RAM)
}
}

 

 

 

之后全局变量的定义方式改为:

int example[1000] __attribute__((section (".bss.SD_RAM")))__attribute__((align(64)));

 

另外附上一份keil  v5转到v6complier的预编译指令改变

 

标签:__,RW,128KB,RAM,V6,0x38000000,data,ARM,加载
From: https://www.cnblogs.com/1234----/p/17397103.html

相关文章

  • 03 加载模型
    一、AssimpAssimp可以将模型导成如下的格式:首先,该模型被打包成一个scene对象,是aiScene类型的,一般是导出为指向常量的指针。在scene中保存着三个对象:第一个是一个aiNode类型的指针,即根节点scene->mRootNode。第二个是一个aiMesh*类型的数组,即scene->mMeshes。保存着所有mesh......
  • Picturefill.WP – 根据屏幕尺寸加载合适的图片
    Picturefill.WP插件利用picturefill.js脚本展示Responsive图片,即根据视口宽度选择尺寸合适的图片加载,节省带宽,提高网站载入速度。例如用户用手机访问站点,该插件会选择适合手机尺寸的图片(如缩略图)加载,不会加载完整尺寸图片。使用方法没有选项,无需任何设置,下载插件激活,网站文章中的所......
  • golang web页面动态加载实现
            Go的web页面动态加载实现。  1.在MySQL中添加表项users,构造多条数据。CREATETABLEIFNOTEXISTSusers(idINTUNSIGNEDAUTO_INCREMENT,usernameVARCHAR(255)NOTNULL,passwordVA......
  • AppArmor
    一、起源项目源地址AppArmor/apparmor·GitLab,与SELinux一样,也是属于强制访问控制(MAC)机制,默认集成在openSUSE和Ubuntu系统中,优势是比SELinux配置简单,并且有学习模式,方便用户使用。AppArmor可以限制特定进程读取/写入和执行文件的能力(及其他能力)。其主要理念是进程内部发生的......
  • Linux驱动开发笔记(三):基于ubuntu的helloworld驱动源码编写、makefile编写以及驱动编译
    前言  前面学习了驱动的基础框架,上一篇编译了gcc7.3.0,那么为了方便很好的熟悉流程,本篇,将使用ubuntu18.04,直接编译ubuntu18.04的驱动,然后做好本篇文章的相关实战测试。 Ubuntu虚拟机准备步骤一:安装虚拟机  本次使用之前rk3568的ubuntu18.04,笔者没有重新弄了,安装......
  • 如何实现逐帧动画(OpenHarmony)
    如何实现逐帧动画场景说明逐帧动画是常见的一种动画呈现形式,本例就为大家介绍如何通过OpenHarmony实现逐帧动画。效果呈现本例最终效果如下:点击“run”按钮,火柴人开始走动。点击“stop”按钮,火柴人停止走动。运行环境IDE:DevEcoStudio3.1Beta1SDK:Ohos_sdk_public3.2.11.9(APIV......
  • 创建Git仓库并使用PyCharm提交
    进入git目录,输入以下命令:sudogitinit--bare仓库名.gitsudochown-R用户名:用户名仓库名.git仓库的URL地址为:用户名@IP:git目录/仓库名.git在PyCharm中右键单击项目文件夹,选择Git->ManageRemotes,添加仓库的URL地址.右键单击项目文件夹,选择Git->Add.选择Co......
  • layer.load 自定义加载
    //layuiload默认加载functionlayerload(){layer.load(0,{content:'正在努力加载中,请稍等',shade:[0.5,'#000'],//0.4为透明度,#000为颜色offset:['45%','40%'],//位置success:function(layero){......
  • 无法加载文件或程序集“ Newtonsoft.Json”或其依赖项之一清单定义与程序集引用不匹配
    无法加载文件或程序集“Newtonsoft.Json”或其依赖项之一清单定义与程序集引用不匹配的解决方法当一个程序中引用了不同版本的 Newtonsoft.Json.dll,又无法更改时候,可能会报此类错误,那么解决的方法如下:1、把不同的版本的dll放在bin目录下的ref文件夹2、在app.config或者web.......
  • layui内置loading等待加载
    点击功能按钮之后:varloading=layer.load(2,{shade:false,time:3*1000});//参数:icon:0,1,2loading风格//shade:false是否有遮罩,true表示有遮罩//time:3*1000设定最长等待时间,设置时间之后,loading会在时间到之后自动关闭关......