广告

您的位置 首页 资料

CC2640R2F BLE5.0 蓝牙协议栈生成片外指令文件

小编推荐:SDK连接器命令文件转化成符合OAD的连接器命令文件大家一起来学习学习吧。如何将标准的SD

小编引荐:SDK连接器指令文件转化成契合OAD的连接器指令文件咱们一起来学习学习吧。

怎么将规范的SDK连接器指令文件转化成契合OAD的连接器指令文件,下面以cc26xx_app_and_stack.icf为例。

分配元数据向量和应用程序起点内存。

咱们希望flash规模是应用程序和协议栈代码和数据。

替换:

// Code and RO Data

place in FLASH_ALL { readonly };

为:

// Code and RO Data

place in FLASH { readonly };

然后重界说flash从OAD_FLASH_START到FLASH_END。这将会占用30页。OAD_FLASH_START代表应用程序/协议栈开端的代码。

define region FLASH = mem:[from OAD_FLASH_START to FLASH_END];

然后界说OAD元数据宏

// OAD specific

define symbol OAD_HDR_SIZE  = 16; // Size of metadata vector

define symbol OAD_HDR_START   = FLASH_START;

define symbol OAD_HDR_END     = OAD_HDR_START + OAD_HDR_SIZE – 1;

最终界说OAD_FLASH_START,元数据向量和中止表核算。

校准中止向量表

中止向量表是应用程序正确发动的要害,所以中止向量表映带在flash开端方位,可是由于元数据表,中止向量表需求移动。

首要界说如下宏:

define symbol INT_VEC_SIZE    = 64;

define symbol INT_VEC_START   = OAD_HDR_START + OAD_HDR_SIZE;

define symbol INT_VEC_END     = INT_VEC_START + INT_VEC_SIZE – 1;

然后依据界说的符号来界说规模:

define region INT_VEC   = mem:[from INT_VEC_START to INT_VEC_END];

最终,关于内存放置,需求增加以下内容,以便中止向量表部分正确地放置:

// Interrupt Vector Table

place at start of INT_VEC       { readonly section .intvec };

keep                            { readonly section .intvec };

保存第31页(BIM+CCFGs)

由于工程不应该编译ccfg_app_ble.c文件,因而这儿不应该进行链接,移除下面这两行指令:

// CCFG

place at end of FLASH_LAST_PAGE { readonly section .ccfg };

keep { section .ccfg };

CCFGs应该由BIM编译链接。该过程保证第31页不被用户运用。

OAD镜像进行页校准。

Library OAD镜像文件编译之后总是占31页,所以能够不进行校准。OAD镜像生成东西也能够添补0xFF在鸿沟处。

协议栈巨细改动

一般,不应该改动协议栈巨细,可是假如需求能够依据OAD装备类型,在项目中对协议栈巨细进行更改。

只需APP+Stack能够更改,Library OAD是不行更改协议栈装备。使得进口点总是与页面最初处的相同地址。强制链接器进行页面对齐,只需PAGE_ALIGN=1在仓库项目中增加链接器界说。

在只进行协议栈OAD的装备情况下,协议栈OAD能够进行页面对齐,只需进口点相同,应用程序即可正常运转。

生成OAD镜像元数据向量

OAD_Image_Tool能够生成元数据向量并将其刺进到给定的镜像中,以发生OAD安排妥当镜像文件,OAD安排妥当镜像文件能够是hex文件或许一个包括target中止的元数据的bin文件。

OAD_Image_Tool是一个运用Python编写的东西,在Tools文件夹里边能够找到。

能够在IAR中的Post_build中运用,例如增加./oad_image_tool.exe -t offchip -o out.hex -m 0x0000 -i app in.hex。

该out.hex文件将是具有元数据的OAD安排妥当镜像,以奉告OAD Target它是片外OAD的应用程序镜像。

怎么生成OAD镜像文件

下图显现了怎么修改OAD镜像东西的IAR后期制作过程。能够经过右键单击项目->选项来访问此菜单。

$TOOLS_BLE_DIR$\oad\oad_image_tool.exe $PROJ_DIR$\FlashROM_OAD_Offchip\Exe$TARGET_BNAME$.hex -t offchip -i app –imgVer 0 -ob $PROJ_DIR$\FlashROM_OAD_Offchip\Exe$TARGET_BNAME$.bin -m 0x0000 –r 0x0000

这句指令编译后运转oad_image_tool.exe生成对应的bin和hex文件。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/44601.html

广告

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部