nRF52832 — Keil中如何配置RAM地址

2023-11-07

 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 XX  作       者:文化人

 XX  联系方式:

 XX  版权声明:原创文章,欢迎评论和转载~转载时能告诉我一声就最好了

 XX  要说的话:作者水平有限,难免有不足之处,恳请指正!

 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

写在前面:在使用Keil过程中,有时需要自己手动配置RAM地址,那么如何根据SoftDevice的大小计算呢?

1、烧录报错:

      当更改了芯片型号或者新建工程时,烧录会提示:Error: Flash Download failed - "Cortex-M0",如图:

      这种错误的其中一个原因就是RAM地址配置不对,此时打开“Options for Target”选项,你会发现如下图:

      

2、通用配置:

       如果错误真的是RAM地址配置不对导致的,那怎么去解决呢?答案是重新配置RAM地址,这里提供一组针对nRF51822的通用的配置,填入之后,就可以正常烧录了。

       

3、RAM地址计算:

       如果不想使用通用配置,或者更换了平台(nRF52832)呢?

       接下来我要讲如何根据SoftDevice计算RAM地址区域:

       1)先在RAM开始区域设置一个较小的值,让程序运行时报错;

       

       2)在如图处设置断点,报错时候会卡在这里,然后读app_ram_base变量的值;

   

       3)这个就是你可以使用的RAM区域的最小起始地址;

       4)RAM的大小就是用片上RAM总大小减去这个值;

       5)举个例子:假如RAM 区域的起始地址是0x20000000,SoftDevice用了0x1ff8字节,就是0x20000000~0x20001ff7,那你用户RAM就得从0x20001ff8开始,比如nRF51822QFAA的RAM大小16K,就是0x4000-0x1FF8=0x2008;

       6)就是说RAM区域从起始地址0x20000000开始,是给SD和用户ram用的,SD放在前面,剩下的就是用户内存的~~;

       7)以上举例都是指nRF51822,nRF52832计算原理相同;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nRF52832 — Keil中如何配置RAM地址 的相关文章

  • vue使用element-ui

    1 安装node js 输入node v 和 npm v 分别查看版本号 验证是否成功 2 安装淘宝镜像 也可不用 只是加快资源下载 npm install g cnpm registry http registry npm taobao
  • 【安装Ubuntu18.04遇到的问题】未找到WIFI适配器

    大家好 我是小政 好久没有更新文章 近期开始陆续分享一些研究生阶段正在学习的知识和遇到的一些问题 联想拯救者Y9000P关于安装Ubuntu未找到WIFI适配器的解决方法 1 Ubuntu18 04 2 网卡信息 3 解决方法 1 用手机U
  • 程序猿小哥哥无坚不摧,竟然是因为……

    因为会画图 不好意思 本拐无节操的标题党了一下 嘿嘿但是本篇本拐确实想和大家叨逼叨一下程序员的画图功夫一个只会写代码的程序员 肯定不是一个优秀的程序员 因为对于程序猿来说没有什么工作是可以低头就开整的也就是说 万物万码都有一个设计的过程这种
  • 删除流氓360首页

    不管你使用什么浏览器都很容易中招360给你自动设置的流氓首页 流氓厂石锤了 你在浏览器设置新的首页一样无效 比如 完全没有卵用 以前这样是可以生效的 最近几天突然不行了 这简直流氓的不行 而且 细心会发现 右键浏览器图标 属性 快捷方式这能

随机推荐

  • 2023JavaWeb面试问答_MyBatis

    谈谈你对 MyBatis 的理解 Mybatis是一个半ORM 对象关系映射 框架 它内部封装了 JDBC 开发时只需要关注 SQL 语句本身 不需要花费精力去处理加载驱动 创建连接 创建 Statement 等繁杂的过程 程序员直接编写原
  • 从程序员到等保测评师,多亏这个决定看到了希望

    做程序员的一年后 加班成隐 头秃了不说 感觉没有奔头 女朋友也不知道在哪里 一不小心公司后台被攻击崩溃了整夜加班是常事 解决不了少不了挨批 总之程序员太难了 我丧失了对未来的希望 后来因为公司一次攻击事件 有幸和测评机构的等保测评师探讨了一
  • Arduino PID 控制教程

    参考 在控制系统中 控制器在出现错误和干扰时将特定系统的输出校正为所需的输入 最流行的控制器类型是PID 它是P运动 异构和D的缩写 在这个Arduino PID控制教程中 我将告诉你如何在你的项目中使用这样的控制器 应用PID代码 5个重
  • 学习cocos2d-x之路(4)--实现Hero在各个方向移动

    为了实现在4个方向Hero的运动 创建枚举变量 typedef enum keyDown 0 keyLeft 1 keyUp 2 keyRight 3 HeroDirection 注意 此处枚举变量的设置要按照英雄图片中的方向设置 需要定义
  • 浅谈Chrome开发者工具--- Console面板与常见报错类型

    Console面板 在学习JS之后 Console面板就成了我离不开的工具 在我们的程序无法达到我们所期望的效果时候 就可以在Console面板上调试我们的程序 在面板上 除了报错以外 还可以打印出我们在程序中所想要补货到的一些数据 我用的
  • npm脚本命令npm run script的使用

    npm 可以在项目package json里面自定义脚本命令 package json文件 script dev webpack w package json文件中的字段script的每一个属性都是一个自定义的脚本命令 在命令行中可以通过执
  • pyinstaller no module named ‘pkg_resources.py2_warn‘解决方法

    在用pyinstaller打包python编写好的程序时 遇到了一些问题 其中有一个是no module named pkg resources py2 warn 经过一些探索后 找到了解决方法 1 先用pyinstaller D F xx
  • 二叉树的中序遍历算法(Java三种实现方法)

    文章目录 题目 一 二叉树的节点定义 二 三种遍历方法 1 递归 算法思想 2 迭代 算法思想 3 Morris 中序遍历 算法思想 总结 题目 给定一个二叉树的根节点 root 返回它的 中序 遍历 一 二叉树的节点定义 public c
  • Linux 使用 Qt 和Occ,报错 qcoreevent.h X.h

    因为
  • [蓝桥杯][2013年第四届真题]危险系数

    题目 题目链接 题解 DFS 蓝桥杯中 一般看到图不是BFS就是DFS 代码1对应第一种方法 我的方法 根据关键点的定义 删除这个点之后 无法实现从u到v 那么我们就枚举每个点作为删除点 判断删除这个点之后还能不能实现从u到v 若不能说明删
  • 文献调研(九):基于rough set理论和深度学习算法的建筑能耗预测模型

    A building energy consumption prediction model based on rough set theory and deep learning algorithms Energy and Buildin
  • H5适配iPhoneX底部小黑线,CSS一招搞定!

    做移动端H5的同学 在你的前端开发生涯中 是否遇到过这种问题 浮在手机屏幕底部的功能区 在你的安卓和苹果的大部分机型上展示极其完美 这种 可是在iPhone上却是这种 遇到这样的情况 不要着急 不用js 不用vue css一招教你轻松搞定
  • 探索深度学习世界:掌握PyTorch,成为AI领域的行家

    探索深度学习世界 掌握PyTorch 成为AI领域的行家 PyTorch的背景介绍 PyTorch的基本概念与特点 PyTorch的基本应用 张量和自动求导 神经网络搭建 训练和测试模型 模型的保存和加载 模型保存 模型加载 模型使用 Py
  • idea开启热部署

    一 开启IDEA的自动编译 静态 具体步骤 打开顶部工具栏 File gt Settings gt Default Settings gt Build gt Compiler 然后勾选 Build project automatically
  • 【Java笔记+踩坑】SSM整合

    导航 黑马Java笔记 踩坑汇总 JavaSE JavaWeb SSM SpringBoot 瑞吉外卖 SpringCloud SpringCloudAlibaba 黑马旅游 谷粒商城 目录 1 SSM整合入门案例 图书的增删改查 1 1
  • ebtables介绍

    ebtables是与iptables类似的命令 区别在于ebtables用于对以太网帧的过滤 iptables用于对ip数据包的过滤 过滤流程见图 原图来源于 http blog csdn net wuruixn article detai
  • 力扣刷题——数组(2)

    将每个元素替换为右侧最大元素 给你一个数组 arr 请你将每个元素用它右边最大的元素替换 如果是最后一个元素 用 1 替换 完成所有替换操作后 请你返回这个数组 示例 输入 arr 17 18 5 4 6 1 输出 18 6 6 6 1 1
  • 网络基础:ACL与NAT

    目录 一 理论 1 ACL 2 NAT 二 实验 1 基础ACL 2 高级ACL 3 静态NAT 4 Easy IP 一 理论 1 ACL 1 ACL ACL 是Access Control List的简写 中文名称叫做 访问控制列表 它是
  • 面向对象设计原则——合成复用原则

    合成复用原则又称为组合 聚合复用原则 Composition Aggregate Reuse Principle C ARP 定义 尽量使用对象组合 而不是继承来达到复用的目的 合成复用原则就是在一个新的对象里通过关联关系 包括组合关系和聚
  • nRF52832 — Keil中如何配置RAM地址

    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX 作 者 文化人 XX 联系方式 XX 版权声明 原创文章 欢迎评论和转载 转载时能告诉我一声就最好了 XX 要说的