【经验】ZigBee程序中NVM3基地址的重新定义
我们在使用无线SoC芯片EFR32MG21做ZigBee程序时,程序中会用到NVM3保存一些参数,但NVM3的存储地址我们在程序中很难找到设置的地方,如果想修改NVM3的存储地址要如何处理?
在处理NVM3的存储地址时,需要到编译器的LINKER文件中进行修改。还要注意ZigBee协议栈版本不同,处理的细节也有一点不同。EmberNet6.x版本中项目的LINKER文件使用的是SDK中默认的文件:
这个LINKER文件调用了cortexm3下的gcc.ld文件,在这个文件内对NVM3的地址定义如下:
.=MFB_TOP - SIMEEPROM_SIZE - INTERNAL_STORAGE_SIZE - LONGTOKEN_SIZE - PSSTORE_SIZE - LOCKBITS_IN_MAINFLASH_SIZE + 1;
.simee ALIGN(FLASH_PAGE_SIZE) (NOLOAD) :
{
KEEP( * (.simee .simee.*) );
}>flash
OUR_BEGIN = (SIZEOF(.simee) == 0) ? 0 : ADDR(.simee);
PROVIDE(__SIMEE__begin = OUR_BEGIN);
PROVIDE(__SIMEE__end = OUR_BEGIN + SIZEOF(.simee));
PROVIDE(__SIMEE__size = SIZEOF(.simee));
ASSERT ( __SIMEE__size == SIMEEPROM_SIZE , "
======================================================================
======== LINKER ERROR: SIMEEPROM_SIZE is misconfigured
======================================================================
" )
修改时我可以在第一行上加偏移,也可以直接赋值一个绝对地址,比如:
. = 0x58000
这样NVM3的地址就被分配到0x58000开始的地址。
EmberNet7.x版本中的LINKER文件是由项目产生的:
在这个文件中定义如下:
.nvm (DSECT) : {
KEEP(*(.simee*))
} > FLASH
linker_storage_end = ORIGIN(FLASH) + LENGTH(FLASH);
linker_storage_begin = linker_storage_end - SIZEOF(.internal_storage);
linker_storage_size = SIZEOF(.internal_storage);
linker_nvm_end = linker_storage_begin;
linker_nvm_begin = linker_nvm_end - SIZEOF(.nvm);
linker_nvm_size = SIZEOF(.nvm);
__nvm3Base = linker_nvm_begin;
这里我们只要修改linker_nvm_end地址就可以了。比如,我们设置linker_nvm_end = 0x62000.
按以上两个方法修改的程序运行后的NVM3的地址分配如下图:
- |
- +1 赞 0
- 收藏
- 评论 0
本文由John提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】多协议无线 SOC EFR32MG实现ZigBee的OTA操作指南
EFR32MG系列是Silicon Labs公司推出支持多协议无线 SOC,可以单芯片支持私有协议、BLE5.0、BLE MESH、ZigBee和Thread协议,并且可以单芯片支持Sub-GHz和2.4GHz的频段。由于其超低功耗、高射频性能以及高集成度等特点被广泛应用于智能家居、安防、智能工业等市场。在ZigBee的实际应用中,OTA是必不可少的功能,由于选择的型号不同,配置OT
【经验】使用Simplicity Commander工具读写EFR32无线SoC芯片EUI和install code方法
本文以Silicon Labs EFR32FG23 Sub-G无线SoC芯片为例,介绍如何读写EFR32无线SoC芯片的EUI和install code的方法。
【经验】基于Silicon Labs无线SoC芯片MG24开发套件的Matter入门指导文章汇总
本文主要介绍基于Silicon Labs MG24开发套件的Matter入门指导文章汇总。
SILICON LABS ZIGBEE 无线 Gecko SoC选型表
EFR32MG无线 Gecko SoC 是在 IoT 设备上实现节能多协议连网的理想之选。芯片解决方案结合了 76.8MHz ARM和高性能 2.4GHz 无线电,旨在为 IoT连接应用提供行业领先的节无线 SoC。
产品型号
|
品类
|
Protocol Stack
|
Frequency Band @ Max TX Power(GHz@dBm)
|
Flash(kB)
|
RAM(kB)
|
GPIO(个数)
|
Operating Temperature(℃)
|
Storage Temperature(℃)
|
Pin Count
|
AVDD Supply Voltage(V)
|
EFR32MG12P433F1024GL125-C
|
Gecko Multi-Protocol Wireless SoC
|
Bluetooth LE Zigbee Thread Proprietary, Wi-SUN
|
2.4GHz @ 19dBm, Sub-GHz @ 20dBm
|
1024kB
|
256kB
|
65
|
-40℃~85℃
|
-50℃~150℃
|
BGA125
|
1.8V~3.8V
|
选型表 - SILICON LABS 立即选型
2024年Silicon Labs(芯科科技)无线SoC新产品发布会
12月26日Silicon Labs(芯科科技)无线SoC新产品发布会上将重磅推出的SiWx917以及MG2X系列无线SoC。两款产品均集成了先进的无线技术、强大的处理能力和高效的能耗管理,同时还具备了两项关键功能:超低功耗运行以及单芯片Matter over Wi-Fi功能支持。
最新Matter智能家居参考设计打破生态藩篱—尽在深圳物联网展
随着智能家居市场的兴起,消费者对设备间的无缝互联与高效协同提出了更高要求。在这一情形下,Matter标准应运而生。连接标准联盟推出的Matter是一项全新的智能家居互联标准,旨在打破不同品牌、不同协议间的壁垒,实现智能家居设备的统一管理和互操作。自Matter标准发布以来得到了国内外众多厂商的支持,其功能不断增强,认证产品数量快速增长,覆盖品类更加多样化。本文介绍Matter 1.3带来哪些更新。
【经验】使用串口来升级EFR32FG23无线SoC芯片固件的方法
本文主要介绍如何使用BootLoader——NCP UART XMODEM工程实现使用串口升级Silicon Labs EFR32FG23无线SoC芯片固件的方法。
【经验】配置迈斯威志WizPro200EFM烧录器实现脱机烧录无线SoC芯片EFR32MG21固件的方法
Silicon Labs的EFR32MG21无线SoC芯片,主要用于ZigBee和Matter设备。本文主要介绍如何配置迈斯威志WizPro200EFM烧录器,实现脱机烧录EFR32MG21无线SoC芯片固件的方法。
蓝牙全波段SoC芯片,智能家居和物联网的关键驱动力
蓝牙全波段SoC芯片是现代无线通信技术中的一项重要创新,它集成了蓝牙通信所需的全部功能,并在一个芯片上实现了全波段的覆盖。这种高度集成的芯片为蓝牙设备的开发和制造带来了极大的便利,同时也为用户提供了更加稳定、高效的蓝牙连接体验。
【经验】创建ZigBee的无线SOC网关工程操作步骤
Silicon Labs公司的EFR32MG系列是针对智能家居市场应用的多协议无线SOC,单芯片支持蓝牙、ZigBee和Thread等协议,尤其是高性价比的系列2产品MG21、MG22,在ZigBee应用方面受到广大工程师的青睐。对于新手来说,使用SOC模式网关是最简单不过,本文就指导大家创建ZigBee的SOC网关工程操作步骤。
双模SOC蓝牙技术:智能家居与物联网的理想选择
在无线通信技术迅猛发展的今天,双模SOC蓝牙技术以其独特的双模特性和高度集成化的优势,正逐渐成为市场的新宠。双模SOC蓝牙,顾名思义,是指能够同时支持经典蓝牙和低功耗蓝牙(BLE)两种模式的系统级芯片(SOC)。这种技术的出现,不仅为用户提供了更多的连接选择,还进一步拓宽了蓝牙技术的应用场景。双模SOC蓝牙技术的核心在于其能够灵活切换两种蓝牙模式,以满足不同的通信需求。
【经验】如何使用RAILTEST程序测试无线SoC芯片EFR32MG的蓝牙性能?
使用过Silicon Labs无线SoC芯片EFR32MG的Zigbee功能的工程师多数已经习惯使用Railtest软件对Zigbee性能做测试,而在Railtest软件下也可以对BLE性能做测试。本文将介绍具体的设置步骤与注意事项。
【经验】联盛德无线SOC芯片W801硬件设计中的注意事项
W801芯片是一款安全的IoT Wi-Fi/蓝牙双模SoC芯片。支持2.4G IEEE802.11b/g/n Wi-Fi通讯协议;性能优良、性价比高。可适用于智能家电、智能家居等物联网领域。本文主要介绍联盛德无线SOC芯片W801在硬件设计中要注意的具体事项。
如何用EFR32FG23无线SoC芯片读取平均RSSI?
本文以Silicon Labs的EFR32FG23无线SoC芯片的rail_soc_simple_trx工程为例,介绍EFR32FG23芯片读取某个信道的平均RSSI的方法。
电子商城
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥8.1764
现货: 103,878
品牌:SILICON LABS
品类:Mighty Gecko Multi-Protocol Wireless SoC
价格:¥27.0929
现货: 90,767
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
拥有IC烧录机20余款,100余台设备,可以烧录各种封装的IC;可烧录MCU、FLASH、EMMC、NAND FLASH、EPROM等各类型芯片,支持WIFI/BT模组PCBA烧录、测试。
最小起订量: 1 提交需求>
配备KEYSIGHT网络分析仪,可测量无线充电系统发射机/接收机线圈的阻抗,电感L、电阻R、电感C以及品质因数Q,仿真不同充电负载阻抗下的无线充电传输效率。支持到场/视频直播测试,资深专家全程指导。
实验室地址: 深圳 提交需求>
登录 | 立即注册
提交评论