【经验】使用Simplicity Studio开发工具时,如何设置常量存放的起始地址?
Simplicity Studio是SILICON LABS公司免费提供给客户用于MCU、Wireless SOC等平台的开发工具,其支持C8051F系列、EFM8系列、EFM32系列、EZR32系列以及EFR32系列器件。其中8位单片机C8051F系列和EFM8系列使用Keil编译器,Silicon Labs提供客户正版免费的Keil编译器,32位单片机EFM32系列、EZR32系列以及EFR32系列使用GCC编译器,当然32位单片机也可以支持第三方的IAR编译器。
工程师在开发单片机产品时,经常会遇到需要将工程中定义的常量存储到Flash的指定地址,这样方便工程读取该常量的内容。本文给大家介绍使用Simplicity IDE时,如何在工程中设置常量的起始地址?我们以EFM8BB的工程为例进行操作,EFM8工程使用Keil编译器。
在EFM8BB的工程中任意.C文件中增加常量的定义,此案例中假设常量定义如下,定义在uart.c文件中。
code const uint16_t Table[256] =
{
0x0000,0x1021, 0x2042, 0x3063, 0x4084, 0x50A5, 0x60C6, 0x70E7,
0x8108, 0x9129, 0xA14A, 0xB16B, 0xC18C, 0xD1AD, 0xE1CE, 0xF1EF,
0x1231, 0x0210, 0x3273, 0x2252, 0x52B5, 0x4294, 0x72F7, 0x62D6,
0x9339, 0x8318, 0xB37B, 0xA35A, 0xD3BD, 0xC39C, 0xF3FF, 0xE3DE,
0x2462, 0x3443, 0x0420, 0x1401, 0x64E6, 0x74C7, 0x44A4, 0x5485,
0xA56A, 0xB54B, 0x8528, 0x9509, 0xE5EE, 0xF5CF, 0xC5AC, 0xD58D,
0x3653, 0x2672, 0x1611, 0x0630, 0x76D7, 0x66F6, 0x5695, 0x46B4,
0xB75B, 0xA77A, 0x9719, 0x8738, 0xF7DF, 0xE7FE, 0xD79D, 0xC7BC,
0x48C4, 0x58E5, 0x6886, 0x78A7, 0x0840, 0x1861, 0x2802, 0x3823,
0xC9CC, 0xD9ED, 0xE98E, 0xF9AF, 0x8948, 0x9969, 0xA90A, 0xB92B,
0x5AF5, 0x4AD4, 0x7AB7, 0x6A96, 0x1A71, 0x0A50, 0x3A33, 0x2A12,
0xDBFD, 0xCBDC, 0xFBBF, 0xEB9E, 0x9B79, 0x8B58, 0xBB3B, 0xAB1A,
0x6CA6, 0x7C87, 0x4CE4, 0x5CC5, 0x2C22, 0x3C03, 0x0C60, 0x1C41,
0xEDAE, 0xFD8F, 0xCDEC, 0xDDCD, 0xAD2A, 0xBD0B, 0x8D68, 0x9D49,
0x7E97, 0x6EB6, 0x5ED5, 0x4EF4, 0x3E13, 0x2E32, 0x1E51, 0x0E70,
0xFF9F, 0xEFBE, 0xDFDD, 0xCFFC, 0xBF1B, 0xAF3A, 0x9F59, 0x8F78,
0x9188, 0x81A9, 0xB1CA, 0xA1EB, 0xD10C, 0xC12D, 0xF14E, 0xE16F,
0x1080, 0x00A1, 0x30C2, 0x20E3, 0x5004, 0x4025, 0x7046, 0x6067,
0x83B9, 0x9398, 0xA3FB, 0xB3DA, 0xC33D, 0xD31C, 0xE37F, 0xF35E,
0x02B1, 0x1290, 0x22F3, 0x32D2, 0x4235, 0x5214, 0x6277, 0x7256,
0xB5EA, 0xA5CB, 0x95A8, 0x8589, 0xF56E, 0xE54F, 0xD52C, 0xC50D,
0x34E2, 0x24C3, 0x14A0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405,
0xA7DB, 0xB7FA, 0x8799, 0x97B8, 0xE75F, 0xF77E, 0xC71D, 0xD73C,
0x26D3, 0x36F2, 0x0691, 0x16B0, 0x6657, 0x7676, 0x4615, 0x5634,
0xD94C, 0xC96D, 0xF90E, 0xE92F, 0x99C8, 0x89E9, 0xB98A, 0xA9AB,
0x5844, 0x4865, 0x7806, 0x6827, 0x18C0, 0x08E1, 0x3882, 0x28A3,
0xCB7D, 0xDB5C, 0xEB3F, 0xFB1E, 0x8BF9, 0x9BD8, 0xABBB, 0xBB9A,
0x4A75, 0x5A54, 0x6A37, 0x7A16, 0x0AF1, 0x1AD0, 0x2AB3, 0x3A92,
0xFD2E, 0xED0F, 0xDD6C, 0xCD4D, 0xBDAA, 0xAD8B, 0x9DE8, 0x8DC9,
0x7C26, 0x6C07, 0x5C64, 0x4C45, 0x3CA2, 0x2C83, 0x1CE0, 0x0CC1,
0xEF1F, 0xFF3E, 0xCF5D, 0xDF7C, 0xAF9B, 0xBFBA, 0x8FD9, 0x9FF8,
0x6E17, 0x7E36, 0x4E55, 0x5E74, 0x2E93, 0x3EB2, 0x0ED1, 0x1EF0
};
确认工程可以编译成功后,选中工程,鼠标右键选择Properties,在跳出的对话框中选择C/C++ Build -> Settings -> Tool Settings -> General Settings,设置如下:
然后,选择C/C++ Build -> Settings -> Tool Settings -> Keil 8051 Linker -> Miscellaneous,在Additional Flags一栏输入关键字CODE(?CO?UART(0x1E00))。如下图所以:
这样编译后,Table常量存放Flash的起始地址是0x1E00,通过编译后生成的.m51文件可以看到结果如下:
世强元件电商版权所有,转载请注明来源和链接。
- |
- +1 赞 0
- 收藏
- 评论 1
本网站所有内容禁止转载,否则追究法律责任!
相关研发服务和供应服务
相关推荐
【经验】EFM32、EFR32 如何设置一个 1ms 的定时器
Silicon Labs 提供了 MCU 及各种 wireless SoC 芯片,广泛应用于物联网、智能家居、无线抄表、智能照明、可穿戴设备等领域。定时器在这些产品中应用非常广泛,不管是各种纯软件相关的任务管理还是硬件的 pwm 输出,都对定时器的精度都有较高要求;下面我们以一个具体的例子来说明如何初始化EFM32、EFR32一个特定时间的定时器。
设计经验 发布时间 : 2019-12-24
为物联网开发选择最佳的MCU架构
微控制器(MCU)如何在物联网设备中使用?开发人员又该如何为产品选择最合适的MCU解决方案?Silicon Labs产品营销高级经理Gopinath Krishniah先生将通过本篇博文说明MCU的应用知识和开发技巧,并介绍评估选用8位和32位MCU的关键考量。
设计经验 发布时间 : 2024-05-15
【经验】如何将EFM32和EFR32的烧录引脚配置成GPIO?
Silicon Labs公司的32位MCU和Wireless SOC分成两个系列,系列0包含:EFM32ZG、EFM32HG、EFM32G、EFM32TG、EFM32LG、EFM32GG、EFM32WG和EZR32HG、EZR32LG、EZR32WG。系列1包含:EFM32JG、EFM32PG、EFM32TG11、EFM32GG11和EFR32FG、EFR32BG、EFR32MG。
设计经验 发布时间 : 2018-08-08
芯科科技EFM和EFR系列MCU结合无线与AI/ML打造理想IoT开发平台
Silicon Labs(亦称“芯科科技”)在2023年12月12日举办的MCU专题Tech Talks技术讲座-“EFM和EFR: 面向物联网开发的通用MCU平台”已结束。本次MCU专题技术讲座中,除了回顾我们领先的MCU平台包括EFM8、EFM32和EFR32系列产品组合以外,并专门介绍最新发布的EFM8 BB5x系列8位微控制器新成员-EFM8 BB50。
原厂动态 发布时间 : 2023-12-19
EFR32FG23 Wireless SoC Family Data Sheet
型号- EFR32XG23,EFR32FG23B010F128GM40-C,EFR32FG23A010F256GM48-C,EFR32FG23B010F512IM40-C,EFR32FG23A020F512GM48-C,EFR32FG23A021F512GM40-C,EFR32FG23A010F512GM48-C,EFR32FG23A010F256GM40-C,EFR32FG23B010F512IM48-C,EFR32FG23A020F512GM40-C,EFR32FG23A010F512GM40-C,EFR32FG23B021F512IM40-C,EFR32FG23A011F512GM40-C,EFR32FG23B020F512IM40-C,EFR32FG23 FAMILY,EFR32FG23A020F256GM48-C,EFR32FG23B020F512IM48-CR,EFR32FG23,EFR32FG23B020F128GM40-C,EFR32FG23B021F512IM48-C,EFR32,EFR32FG23B020F512IM48-C,EFR32FG23A020F256GM40-C
Silicon Labs‘ Most Energy-efficient Wireless SoC New xG22E Family to Date with Energy Harvesting-ready Capabilities
Silicon Labs announced their new xG22E family of Wireless SoCs, Silicon Labs‘ first-ever family designed to operate within the ultra-low power envelope required for battery-free, energy harvesting applications. The new family consists of the BG22E, MG22E, and FG22E.
产品 发布时间 : 2024-04-25
EFR32BG24 Wireless SoC Family Data Sheet
型号- EFR32BG24B110F1536IM48-B,EFR32BG24B210F1024IM48-B,EFR32BG24A020F1024IM40-B,EFR32XG24,EFR32BG24A010F1024IM48-B,EFR32BG24A020F1024IM48-B,EFR32BG24 FAMILY,EFR32BG24B220F1024IM48-B,EFR32BG24B020F1536IM48-BR,EFR32,EFR32BG24,EFR32BG24A010F1024IM40-B
EFR32FG28 Wireless SoC Family Data Sheet
型号- EFR32FG28A120F1024GM48-A,EFR32FG28A010F1024GM48-A,EFR32FG28B310F1024IM48-A,EFR32FG28A110F1024GM48-A,EFR32FG28A110F1024GM68-A,EFR32FG28B310F1024IM68-A,EFR32FG28A322F1024IM68-AR,EFR32FG28B320F1024IM68-A,EFR32FG28A122F1024GM68-A,EFR32FG28A112F1024GM68-A,EFR32FG28B312F1024IM68-A,EFR32FG28A122F1024GM48-A,EFR32FG28B312F1024IM48-A,EFR32FG28,EFR32FG28B322F1024IM68-A,EFR32FG28B320F1024IM48-A,EFR32FG28A112F1024GM48-A,EFR32FG28B322F1024IM48-A,EFR32FG28A120F1024GM68-A,EFR32FG28A010F1024GM68-A
【经验】在Simplicity Studio中,如何更改Code的字体及大小
Simplicity Studio是Silicon Labs公司免费提供给客户用于MCU、Wireless SOC等平台的开发工具,其支持C8051F系列、EFM8系列、EFM32系列、EZR32系列以及EFR32系列器件。由于其功能比较强大,对于刚开始使用的工程师有些配置一时不知从何下手,比如字体的配置。选择一个工程师自己喜欢的字体,可以更加愉悦的进行工作。
设计经验 发布时间 : 2020-02-06
EFR32MG24 Wireless SoC Family Data Sheet
型号- EFR32MG24A020F1536IM48-B,EFR32MG24A410F1536IM40-B,EFR32XG24,EFR32MG24B020F1024IM48-B,EFR32MG24A420F1536IM48-B,EFR32MG24A010F1536IM40-B,EFR32MG24A410F1536IM48-B,EFR32MG24B010F1024IM48-B,EFR32MG24A420F1536IM40-B,EFR32MG24A020F1536IM40-B,EFR32,EFR32MG24A010F1536IM48-B,EFR32MG24A110F1024IM48-B,EFR32MG24A010F1024IM48-B,EFR32MG24,EFR32MG24B010F1536IM40-B,EFR32MG24A020F1024IM48-B,EFR32MG24B020F1536IM40-B,EFR32MG24A010F1024IM40-B,EFR32MG24B210F1536IM48-B,EFR32MG24B310F1536IM48-B,EFR32MG24A020F1024IM40-B,EFR32MG24 FAMILY,EFR32MG24B220F1536IM48-B,EFR32MG24B110F1536IM48-B,EFR32MG24B120F1536IM48-B,EFR32MG24B020F1536IM48-BR,EFR32MG24B010F1536IM48-B,EFR32MG24A021F1024IM40-B,EFR32MG24B020F1536IM48-B
【经验】如何在Simplicity Studio使用Energy Profile进行代码功耗分析,助力低功耗产品开发
Simplicity Studio是Silicon Labs产品的开发环境,其中集成的功能Energy Profile不仅可以实时测试开发板上MCU或SOC的电流,还可以实时测试用户目标板的电流,对于一些低功耗产品的开发非常有帮助,每个功能所占功耗进行分析是非常有必要的。本文介绍如何在Simplicity Studio使用Energy Profile进行代码功耗分析。
设计经验 发布时间 : 2020-07-03
新发布BB5x 8位MCU,报名MCU技术讲座学习嵌入式开发关键技巧
本次技术讲座将详细说明以芯科科技8位和32位MCU,以及无线SoC作为物联网开发通用平台的诸多优势,包括低功耗、高性能、缩减物料清单(BOM)成本,以及可轻松迁移至无线多协议设计等等。
原厂动态 发布时间 : 2023-12-11
电子商城
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥8.1764
现货: 104,128
现货市场
服务
可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>
可烧录IC封装SOP/MSOP/SSOP/TSOP/TSSOP/PLCC/QFP/QFN/MLP/MLF/BGA/CSP/SOT/DFN;IC包装Tray/Tube/Tape;IC厂商不限,交期1-3天。支持IC测试(FT/SLT),管装、托盘装、卷带装包装转换,IC打印标记加工。
最小起订量: 1pcs 提交需求>
登录 | 立即注册
提交评论