【经验】如何在Simplicity IDE中创建汇编工程?
在SILICON LABS新出的开发环境Simplicity Studio 环境下,我们看到关于EFM8系列的MCU提供的范例程序都是C语言的,但有些时候我们需要用汇编语言来写程序,主要是代码精简,运行效率高。那么我们如何来实现汇编工程的建立呢?下面就拿EFM8BB10F8G-A-QFN20举例介绍建立的过程:
1、 打开Simplicity IDE, 选择 File > New > Silicon Labs MCU Project
2、 建议选择一个 SDK,避免手动添加包含的头文件到工程中的麻烦,因为包含的头文件是 SDK 的一部分。
3、对于项目类型,选择空白的C项目(Simplicity IDE开发环境的初衷是没想提供汇编的范例工程)。
4、选择 Link libraries and copy sources,自己建立一个工程名
在使用现有例程时,这些选项是有相关意义的。现有的例程位于 SDK 目录下。而基于Eclipse的 Simplicity IDE 有本地的 "workspace" 工作目录,用户可以选择导入例程的一份拷贝到此目录,这样就不会编辑到位于 SDK 安装目录下的例程原始文件。
Link libraries and copy sources - workspace 中创建IDE项目文件(.project and .cproject),不复制库文件,只复制源文件到workspace 目录。对源文件的任何编辑仅局限于workspace 目录下。
提示: 在项目浏览窗口,任何时候在一个被链接的文件夹或文件旁边都可以看到一个快捷链接(正如Windows系统中的快捷链接)的箭头图标。
当创建一个空白的工程时,通常在 workspace 目录中保留源文件。因此,我们建议使用 "Link libraries and copy sources"。
5、在编译配置中仅选择 Keil 编译工具。
6、点击Finish后,应该能够看到新建一个带有.c 和.A51文件的工程。由于要用汇编语言编程,这些不需要的文件可以从文件系统中删除。
7、新建一个.asm 后缀名的文件,并编译。选中SRC右键-〉New->File,自己建立一个文件名如test.asm,点击 Finish
8、自己完成程序内容然后编译。
到此汇编工程建立成功。
最后要说一下,当启动调试会话框调试一个汇编工程时,Simplicity IDE将不会自动暂停MCU。需要在Debug窗口中先点击.omf文件,再执行Run>Suspend或点击工具栏的暂停按钮以暂停MCU。
世强元件电商版权所有,转载请注明来源和链接。
- |
- +1 赞 0
- 收藏
- 评论 2
本网站所有内容禁止转载,否则追究法律责任!
相关推荐
【经验】EFM8 MCU评估板的JLINK口当UART口使用
Silicon Labs 新系列的EFM8 MCU评估板在 EFM8 STK板提供了一个虚拟COM端口(BC),可以省去USB转串口的设备。
设计经验 发布时间 : 2019-07-16
【经验】 EFM8UB系列MCU之USB外设开发指导
EFM8UB系列的芯片是Silicon Labs推出的集成USB功能的8位MCU,工作频率最高可以达到48MHz,内部集成精度可以达到1.5%的48M振荡器。
设计经验 发布时间 : 2017-10-26
【技术】 EFM8系列MCU BootLoader之HEX2BOOT工具解析
EFM8系列MCU是Silicon Labs公司在C8051Fxxx系列基础上推出的高性能低价格8位单片机。在工业、医疗、智能家居、传感器、通讯等行业已经得到广泛运用。
技术探讨 发布时间 : 2018-02-06
【技术】基于 AN945对EFM8系列MCU BootLoader使用说明的分析和补充
EFM8系列MCU是Silicon Labs公司在C8051Fxxx系列基础上推出的高性能低价格8位单片机。在工业、医疗、智能家居、传感器、通讯等行业已经得到广泛运用。
技术探讨 发布时间 : 2018-02-05
雅特力携工业控制、电机控制、消费电子、智能家居及汽车电子等领域近百款产品与方案亮相ELEXCON 2022
雅特力作为32位微控制器的创新领导者,携工业控制、电机控制、消费电子、智能家居及汽车电子等五大领域近百款产品与方案亮相此次展会,全面展示了雅特力最新技术与成果,吸引了众多电子行业人士参观交流!
行业资讯 发布时间 : 2022-11-10
8位单片机EFM8的烧录器有哪些?
8位单片机EFM8系列采用C2调试接口,常见的烧录器有:1,官方的EFM8 STK、USB Debug Adapter、ToolStick。2,第三方的U-EC2/6、WizPro200EFM(支持EFM8和EFM32)等。
技术问答 发布时间 : 2016-10-25
世界上最节能的微控制器EFM32之十大低功耗奥秘
Silicon Labs EFM32 32 位微控制器系列是世界上最为节能的微控制器,特别适用于低功耗和能源敏感型应用,包括能源、水表和燃气表、楼宇自动化、警报及安防和便携式医疗/健身器材。本文着重强调10个Silicon Labs32位MCU功耗低的因素。
新产品 发布时间 : 2016-07-11
Silicon Labs(芯科科技) AN945 EFM8 Factory Bootloader 用户指南
型号- EFM8UB2,EFM8UB1,EFM8LB12F64E-B-QFN32,EFM8UB20F32G-A-QFP48R,EFM8UB20F32G,EFM8LB10F16E-A-QFN32,EFM8BB31F16G-A-QFN32,EFM8LB12F64ES0-B-QFN32R,EFM8BB21F16G-B-QSOP24,EFM8UB10F8G,EFM8SB20F32G,EFM8LB10F16,EFM8BB31F64G-B-QFN32,EFM8BB31F64G-B-QFP32R,EFM8LB12F32ES0-B-QFN32,EFM8SB20F32G-A-QFN32R,EFM8LB11F16ES0-B-QFN24,EFM8LB12F64E-B-QFN24,EFM8LB10F16E-B-QFP32,EFM8BB31F64G-B-QFN24,EFM8BB31F32,EFM8SB10F2,EFM8UB20F64G-B-QFN32,EFM8SB10F8,EFM8SB10F4,EFM8SB20F16,EFM8LB11F16E-B-QFN24,EFM8LB12F32ES0-B-QFN24,EFM8LB10F16E-B-QFN24,EFM8SB20F32G-A-QFN32,EFM8UB20F64G-B-QFP48R,EFM8BB31F32I-B-QFP32,EFM8UB10F8,EFM8BB10F2G-A-QFN20,EFM8UB20F32G-A-QFN32,EFM8LB11F16E-B-QSOP24R,EFM8BB10M1069F8GM-A,EFM8LB11F16E-B-QFP32,EFM8LB10F16ES0-B-QFN32,EFM8SB20F32,EFM8BB10F4G-A-QFN20,EFM8BB10F2I-A-QFN20R,EFM8LB12F32E-A-QFN32,EFM8SB10F8G-A-CSP16,EFM8BB10F8G-A-QFN20R,EFM8BB10F8G-A-QSOP24R,EFM8LB10F16E-A-QFN24,EFM8BB22F16G-C-QFN28R,EFM8LB11F16E-B-QFN24R,EFM8LB10F16E-B-QFN32R,EFM8SB20F32G-B-QFN24,EFM8LB11F16ES0-B-QFN32,EFM8LB12F32E-B-QFN24R,EFM8LB12F64E-B-QFP32,EFM8SB20F64G-A-QFP32,EFM8BB10F8I-A-QSOP24,EFM8LB12F64E-A-QFN24,EFM8SB10F8G-A-QFN24R,EFM8LB11F16ES0-B-QFN24R,EFM8UB20F64G,EFM8LB10F16E-A-QFP32,EFM8UB10F8G-C-QFN20R,EFM8BB22F16G-B-QFN28,EFM8BB31F64G-B-QFP32,EFM8SB10F8A-A-QFN20,EFM8BB10F8G-A-SOIC16R,EFM8LB11F32ES0-B-QFN32R,EFM8BB22F16,EFM8SB10F8A-A-QFN24,EFM8BB31F64G-A-QFN24,EFM8LB12F64E-A-QFN32,EFM8SB20F32G-A-QFN24,EFM8SB10F4G-A-QFN20,EFM8LB11F32ES0-B-QFN24,EFM8BB10F2G,EFM8LB1OF16E-B-QFP32,EFM8SB20F16G-A-QFN24R,EFM8BB31F64G-B-QS0P24,EFM8LB11F32,EFM8BB10F2I-A-QFN20,EFM8UB10F16G-B-QFN20,EFM8LB10F16ES0-B-QFN32R,EFM8BB10F8I-A-QFN20R,EFM8BB31F64G-A-QFN32,EFM8UB10F16G-B-QFN28,EFM8LB10F16ES0-B-QFN24,EFM8LB11F32ES0-B-QFN32,EFM8BB22F16I-C-QFN28R,EFM8UB20F32G-A-QFN32R,EFM8SB20F32G-A-QFP32,EFM8LB12F32E-B-QFP32,EFM8BB21F16,EFM8BB31F32G-A-QS0P24R,EFM8BB21F16I-C-QFN20R,EFM8BB21F16I-C-QFN20,EFM8UB20F64G-A-QFP48R,EFM8BB31F64,EFM8LB12F32ES0-B-QFN24R,EFM8SB10F2G-A-QFN20R,EFM8SB10F8G-A-QSOP24R,EFM8BB10F8G-A-SOIC16,EFM8BB10F8G-A-QFN20,EFM8BB31F32G-B-QFP32,EFM8LB11F16E-B-QFN32,EFM8LB10F16E-B-QSOP24,EFM8SB20F64G-A-QFN24,EFM8BB31F32G-A-QFP32,EFM8UB10F16G-C-QFN20R,EFM8SB10F8G-A-QFN24,EFM8LB11F16,EFM8SB10F8G-A-QFN20,EFM8LB11F32E-B-QFN24R,EFM8SB20F64G-A-QFN32,EFM8SB10F8G-A-QFN20R,EFM8LB11F16ES0-B-QFN32R,EFM8BB21F16G-C-QSOP24R,EFM8BB10M1069F8GM,EFM8LB12F32E-B-QSOP24,EFM8BB21F16G-C-QSOP24,EFM8LB12F32,EFM8SB10F8G-A-QSOP24,EFM8UB20F64G-A-QFP32,EFM8BB31F32G-B-QFN24R,EFM8UB10F8G-B-QFN20,EFM8LB11F32ES0-B-QFN24R,EFM8LB12F64E-A-QFN32R,EFM8LB12F64E-A-QFP32,EFM8BB22F16G-B-QFN28R,EFM8UB11F16G-B-QSOP24,EFM8BB31F32G-B-QS0P24,EFM8LB10F16E-A-QFN24R,EFM8UB20F32,EFM8LB12H1077F32EM3-B,EFM8LB10F16ES0-B-QFN24R,EFM8LB11F32E-B-QFN32,EFM8LB12F32E-B-QFN32,EFM8LB12F64ES0-B-QFN32,EFM8SB20F16G-A-QFN24,EFM8UB10F16G-C-QFN28,EFM8BB10F8I-A-QFN20,EFM8BB31F32I-B-QS0P24R,EFM8LB12F32ES0-B-QFN32R,EFM8BB10F2G-A-QFN20R,EFM8UB11F16G-C-QFN24,EFM8UB11F8G-C-QFN24,EFM8UB10F16G-C-QFN20,EFM8BB31F32G-B-QFN32,EFM8SB10F8G-A-CSP16R,EFM8BB1,EFM8BB2,EFM8BB3,EFM8LB12F32E-B-QFN24,EFM8SB10F8G,EFM8LB11F32E-B-QFN24,EFM8LB12F64ES0-B-QFN24,EFM8BB22F16G-C-QFN28,EFM8BB31F32I-B-QFP32R,EFM8BB31F64G-A-QS0P24,EFM8UB20F32G-B-QFN32,EFM8BB31F64G,EFM8SB20F32G-QFN32,EFM8SB10F2G-A-QFN20,EFM8BB10F8G-QFN20,EFM8BB31F32I-B-QS0P24,EFM8UB10F8G-C-QFN20,EFM8BB31F32G-B-QFN24,EFM8BB10F4G,EFM8BB21F16G-C-QFN20,EFM8BB10F2G-QFN20,EFM8SB20F64,EFM8SB1,EFM8LB12F64ES0-B-QFN24R,EFM8BB10M1069F8GM-AR,EFM8SB2,EFM8BB21F16G-B-QFN20,EFM8SB20F32G-A-QFN24R,EFM8SB20F16G-B-QFN24,EFM8UB11F16,EFM8UB20F64G-A-QFN32,EFM8LB11F16E-B-QSOP24,EFM8UB11F16G,EFM8SB10F4G-A-QFN20R,EFM8BB10F4G-A-QFN20R,EFM8LB10F16E-B-QFN32,EFM8UB20F32G-B-QFP48,EFM8LB12H1077F32EM3-BR,EFM8LB10F16E-B-QFP32R,EFM8UB20F64G-B-QFP32,EFM8UB20F64G-A-QFP48,EFM8BB10F2,EFM8SB10F8G-CSP16,EFM8LB11F32E-B-QFP32,EFM8BB10F4,EFM8BB10F8,EFM8BB10F8G-A-QSOP24,EFM8LB11F32E-B-QSOP24,EFM8UB20F64,EFM8BB22F16I-C-QFN28,EFM8BB31F64G-B-QFN24R,EFM8LB1,EFM8LB10F16E-A-QSOP24,EFM8UB20F32G-A-QFP32,EFM8SB10F2G,EFM8LB12F64E-B-QSOP24,EFM8UB11F16G-C-QSOP24,EFM8SB10F4G,EFM8BB21F16G-C-QFN20R,EFM8UB20F64G-B-QFP48,EFM8BB10F8G-QSOP24,EFM8UB10F16G,EFM8LB10F16E-B-QFN24R,EFM8UB20F32G-B-QFP32,EFM8LB12F64,EFM8UB10F16,EFM8BB10F8G,EFM8LB12F32E-B-QFN32R,EFM8BB31F64G-A-QSOP24
8位单片机EFM8系列中芯片上的UID是什么?
UID是芯片中新加的全球唯一ID,即每个芯片的ID都是不一样的,EFM8系列的MCU上都包含此ID。有两类获取UID的方式,一种通过读取RAM的特定地址获得,一种通过读取Flash的特定地址获得。在早期引入此ID的MCU上(比如EFM8BB1/SB1/SB2)这个ID为32位,在芯片复位时(PC指针被复位至0之前)被复制至RAM中特定位置,用户程序可以读取其值。此位置的RAM仍然可以由用户使用。需要注意的是如果此位置被编译器分配了变量,那么当函数执行至main()时此位置的内容会被初始化代码覆盖。EFM8UB2的UID也是此类,但其位数为128位。在新的EFM8系列MCU上(比如EFM8BB3/LB1/UB1),UID位数为128位,存储在Flash上。
技术问答 发布时间 : 2017-05-05
【技术】预安装BOOT的新一代的8位MCU
Silicon labs的EFM8系列MCU是C8051F的升级换代产品。较C8051F不同的是,其在出厂时已经固化好BOOT程序。
技术探讨 发布时间 : 2019-07-11
单片机EFM8的烧录工具是什么?
Silicon Labs的EFM8MCU的内核还是C8051,通过C2CLK和C2D两根线调试和下载程序,EFM8 Starter Kit支持调试和下载目标板,也可以选择Silicon Labs的USB DEBUG ADAPTER。
技术问答 发布时间 : 2016-10-25
8位单片机EFM8在线烧录时,使用烧录软件Flash Programming Utility每次更换芯片都需要重新连接,请问是否有不需要重新连接的在线烧录软件?
除了Flash Programming Utility烧录软件,Silicon Labs还提供MCUProductionProgrammer烧录软件,后者更换芯片时无需再重新连接。
技术问答 发布时间 : 2016-10-25
Silicon Labs(芯科科技) AN295 USB音频类源代码参考工程
型号- EFM8UB2,EFM8UB1,C8051F321-GMR,C8051F34D-GQ,C8051F381-GQR,C8051F341-GQ,EFM8UB20F32G-A-QFP48R,C8051F387-GM,EFM8UB20F32G,C8051F320-GQR,C8051F327,C8051F326,C8051F321-GM,EFM8UB10F8G,EFM8UB20F64G-A-QFP32,C8051F321,C8051F320,C8051F38X,EFM8UB10F8G-B-QFN20,C8051F388-GQR,C8051F384-GQ,C8051F345-GQR,C8051F340-GQR,EFM8UB11F16G-B-QSOP24,C8051F326-GM,C8051F347-GQ,EFM8UB20F64G-B-QFN32,EFM8UB20F32,C8051F347-GQR,C8051F34B-GQ,C8051F326-GMR,C8051F342-GQR,C8051F34A,C8051F34C,C8051F385-GM,EFM8UB20F64G-B-QFP48R,C8051F34B,C8051F343-GQ,C8051F34D,C8051F349,EFM8UB10F16G-C-QFN28,C8051F348,C8051F32X,EFM8UB10F8,EFM8UB11F16G-C-QFN24,C8051F341,EFM8UB11F8G-C-QFN24,EFM8UB10F16G-C-QFN20,C8051F340,EFM8UB20F32G-A-QFN32,C8051F343,C8051F342,C8051F345,C8051F344,C8051F347,C8051F346,C8051F382-GM,C8051F340-GQ,EFM8UB20F32G-B-QFN32,C8051F345-GQ,C8051F320-GQ,EFM8UB10F8G-C-QFN20,C8051F381-GMR,C8051F383-GM,EFM8UB20F64G,C8051F348-GQ,C8051F383-GQ,C8051F34X,C8051F38C-GQ,EFM8UB10F8G-C-QFN20R,C8051F380-GQR,EFM8UB11F16,C8051F38C-GM,EFM8UB20F64G-A-QFN32,EFM8UB11F16G,C8051F34C-GQ,C8051F38B-GQR,C8051F381,C8051F380,C8051F383,C8051F382,EFM8UB20F32G-B-QFP48,C8051F342-GQ,C8051F380-GQ,C8051F389-GQR,C8051F342-GM,EFM8UB20F64G-B-QFP32,EFM8UB10F16G-B-QFN20,EFM8UB10F16G-B-QFN28,C8051F381-GM,EFM8UB20F32G-A-QFN32R,EFM8UB20F64G-A-QFP48,EFM8UB20F64G-A-QFP48R,C8051F381-GQ,C8051F327-GM,C8051F346-GQ,C8051F38A,EFM8UB20F64,C8051F38C,C8051F38B,C8051F38A-GQR,C8051F385,C8051F384,C8051F387,C8051F386,EFM8UB20F32G-A-QFP32,C8051F389,C8051F327-GMR,C8051F388,EFM8UB11F16G-C-QSOP24,C8051F34A-GM,EFM8UB20F64G-B-QFP48,C8051F386-GM,C8051F344-GQ,C8051F349-GQ,EFM8UB10F16G-C-QFN20R,EFM8UB10F16G,EFM8UB20F32G-B-QFP32,EFM8UB10F16
主控MCU通过C2接口对EFM8BB10F8G MCU的Flash存储器进行读写操作,存在概率性失败。从Flash存储器中读数据也是异常,请问这时什么原因导致的?
检查程序中的中断设置,发现是有一处读操作没有关闭中断导致的,将中断关闭后,对EFM8BB10F8G MCU的Flash进行读、写,存在概率性失败的情况得到解决。因为主控MCU用的是ARM芯片,运行的是linux操作系统,所以主控MCU通过C2接口对EFM8BB10F8G MCU的Flash存储器进行读写操作的函数也是以驱动程序的形式存在的,并且系统中各种软硬中断也比较频繁,因此相对时序控制上也需要更加严格,才能保证可靠的读写操作。
技术问答 发布时间 : 2016-10-25
使用J-link调试工具调试EFM8系列8bit单片机时,Jlink和EFM8单片机之间需要连接哪些接口线?
在使用JLink调试工具调试EFM8系列单片机时,使用到的调试接口是C2接口,正确的连线如下:1、JLink的pin1引脚VTARGET连接到目标板的VDD;2、JLink的pin2引脚C2D连接到目标板的C2D引脚;3、JLink的pin4引脚C2CK连接到目标板的C2CK;4、JLink的GND引脚连接到目标板的GND;5、目标板在调试的时候,VDD引脚需要上电。
技术问答 发布时间 : 2016-10-25
电子商城
现货市场
服务
可定制板装式压力传感器支持产品量程从5inch水柱到100 psi气压;数字输出压力传感器压力范围0.5~60inH2O,温度补偿范围-20~85ºС;模拟和数字低压传感器可以直接与微控制器通信,具备多种小型SIP和DIP封装可选择。
提交需求>
定制水冷板尺寸30*30mm~1000*1000 mm,厚度1mm~50mm,散热能力最高50KW,承压可达3MPA;液冷机箱散热能力达500W~100KW。项目单次采购额需满足1万元以上,或年需求5万元以上。
提交需求>
登录 | 立即注册
提交评论