【经验】使用Simplicity Studio开发工具时,如何设置常量存放的起始地址?

2017-11-16 世强 Carol

Simplicity StudioSilicon Labs公司免费提供给客户用于MCUWireless 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

相关服务

相关推荐

型号 描述 品质保证 价格(含增值税)

EFM8BB20F16I-C-QFN20R

Silicon Labs

需提供NDA保密协议后才可发货

NDA?

8位MCU

EFM8 Busy Bee、EFM8BB20系列

8-bit C8051 core with 50 MHz;Up to 16 multifunction

BGA120

EFM8 Busy Bee、EFM8BB20

最小包装量:1,500

世强先进(深圳)科技股份有限公司

选型推荐

供货保障

原厂认证

世强代理

世强自营

一支起订

价格¥  4.3359

现货105,000

发货地广东

预计交期
1. 预计交期为预估时间,不含国家法定节假日,不作为订单或合同约定内容。
2. 受限于发货时间和商品物流运输时间。
3. 商品运输过程中如遇不可抗拒力因素,如地震、水灾、旱灾、疫情等,交期可能有所延长。

预计交期?

约3个工作日

8位MCU

EFM8 Busy Bee Family、EFM8BB1、EFM8BB10F8G、EFM8BB10F8G-A、EFM8BB10F8G-A-QSOP24系列

8kB/512B RAM, 12b ADC

最小包装量:2,500

世强先进(深圳)科技股份有限公司

选型推荐

供货保障

原厂认证

世强代理

世强自营

一支起订

价格¥  3.6902

现货75,783

发货地广东

预计交期
1. 预计交期为预估时间,不含国家法定节假日,不作为订单或合同约定内容。
2. 受限于发货时间和商品物流运输时间。
3. 商品运输过程中如遇不可抗拒力因素,如地震、水灾、旱灾、疫情等,交期可能有所延长。

预计交期?

约3个工作日

8位MCU

EFM8 Sleepy Bee Family、 EFM8SB1、 EFM8SB10F8G系列

Low Power, 8kB 512B RAM, 12b ADC, 13 ch CapSense

QFN20

最小包装量:1,500

世强先进(深圳)科技股份有限公司

选型推荐

供货保障

原厂认证

世强代理

世强自营

一支起订

价格¥  4.4282

现货71,310

发货地广东

预计交期
1. 预计交期为预估时间,不含国家法定节假日,不作为订单或合同约定内容。
2. 受限于发货时间和商品物流运输时间。
3. 商品运输过程中如遇不可抗拒力因素,如地震、水灾、旱灾、疫情等,交期可能有所延长。

预计交期?

约3个工作日

EFR32MG、EFR32MG1B、EFR32MG1B232F、EFR32MG1B232F256、EFR32MG1B232F256GM系列

Mighty Gecko, 2.4 GHz, 256kB Flash, 32kB RAM, 19.5 dBm, QFN-32, Mesh 

最小包装量:2,500

世强先进(深圳)科技股份有限公司

选型推荐

供货保障

原厂认证

世强代理

世强自营

一支起订

价格¥  36.3477

现货62,501

发货地广东

预计交期
1. 预计交期为预估时间,不含国家法定节假日,不作为订单或合同约定内容。
2. 受限于发货时间和商品物流运输时间。
3. 商品运输过程中如遇不可抗拒力因素,如地震、水灾、旱灾、疫情等,交期可能有所延长。

预计交期?

约3个工作日

8位MCU

EFM8 Busy Bee Family、EFM8BB2:EFM8BB21F16G、EFM8BB21F16G-C、EFM8BB21F16G-C-QSOP24系列

16kB/2304B RAM, 12b ADC

最小包装量:2,500

世强先进(深圳)科技股份有限公司

选型推荐

供货保障

原厂认证

世强代理

世强自营

一支起订

价格¥  4.4282

现货48,531

发货地广东

预计交期
1. 预计交期为预估时间,不含国家法定节假日,不作为订单或合同约定内容。
2. 受限于发货时间和商品物流运输时间。
3. 商品运输过程中如遇不可抗拒力因素,如地震、水灾、旱灾、疫情等,交期可能有所延长。

预计交期?

约3个工作日

EFM32ZG110F32-QFN24

Silicon Labs

新款产品中尽量不要使用该元件

停产?

32位MCU

EFM32、 EFM32ZG、 EFM32ZG110、 EFM32ZG110F32、 EFM32 Zero Gecko Family系列

32k Flash, 4k RAM, ADC, AES

QFN24

最小包装量:1,000

世强先进(深圳)科技股份有限公司

原厂认证

世强代理

世强自营

一支起订

价格¥  8.4873

现货42,433

发货地广东

预计交期
1. 预计交期为预估时间,不含国家法定节假日,不作为订单或合同约定内容。
2. 受限于发货时间和商品物流运输时间。
3. 商品运输过程中如遇不可抗拒力因素,如地震、水灾、旱灾、疫情等,交期可能有所延长。

预计交期?

约3个工作日

EZR32HG220F32R63G-B0R

Silicon Labs

新款产品中尽量不要使用该元件

停产?

wireless MCU

EZR32HG、EZR32HG220F、EZR32HG220F32R系列

32kB M0+,+20dBm EZRadioPRO,QFN48 

QFN48

最小包装量:2,000

世强先进(深圳)科技股份有限公司

原厂认证

世强代理

世强自营

一支起订

价格¥  26.5689

现货3,000

发货地广东

预计交期
1. 预计交期为预估时间,不含国家法定节假日,不作为订单或合同约定内容。
2. 受限于发货时间和商品物流运输时间。
3. 商品运输过程中如遇不可抗拒力因素,如地震、水灾、旱灾、疫情等,交期可能有所延长。

预计交期?

约3个工作日

8位MCU

EFM8 Busy Bee Family、EFM8BB1、EFM8BB10F8G、EFM8BB10F8G-A、EFM8BB10F8G-A-QFN20系列

8kB/512B RAM, 12b ADC

最小包装量:1,500

世强先进(深圳)科技股份有限公司

选型推荐

供货保障

原厂认证

世强代理

世强自营

一支起订

价格¥  3.0444

即将到货600,280

发货地广东

8位MCU

C8051、C8051F853系列

8kB/512B RAM, QFN20

最小包装量:1,500

世强先进(深圳)科技股份有限公司

选型推荐

供货保障

原厂认证

世强代理

世强自营

一支起订

价格¥  5.9965

发货地广东

8位MCU

EFM8 Laser Bee、EFM8LB1、EFM8、EFM8LB1x-QFN32系列

8051,72 MHz, Up to 64 kB flash,Up to 4352 bytes RAM(including 256 bytes standard 8051 RAM and 4096 bytes on-chip XRAM),8-bit Laser Bee MCU

QFN32

最小包装量:2,500

世强先进(深圳)科技股份有限公司

选型推荐

供货保障

原厂认证

世强代理

世强自营

一支起订

价格¥  5.9965

即将到货80,000

发货地广东

本网站所有内容禁止转载,否则追究法律责任!

评论(1

   |   

提交评论

全部评论

  • Lin Lv3. 高级工程师 2018-10-18
    学习了
没有更多评论了

联系我们

400-887-3266(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

搞研发 找元件
下载世强硬创电商APP