产品知识

当前位置:主页 > 新闻资讯 > 产品知识 >

如何使用keil mdk 6编译国民技术N32WB031?

时间:2024-12-19 来源:未知
摘要:如何使用keil mdk 6编译N32WB031?由于新版本的keil mdk 6不包含mdk 5,且keil mdk 6的编译速度、性能要比mdk 5好上不少,所以很多工程师想把手头上的项目移植到新版本的keil mdk 6上面,这里国民...

  如何使用keil mdk 6编译N32WB031?由于新版本的keil mdk 6不包含mdk 5,且keil mdk 6的编译速度、性能要比mdk 5好上不少,所以很多工程师想把手头上的项目移植到新版本的keil mdk 6上面,这里国民技术代理商-海凌微整理了相关用keil mdk 6编译N32WB031的教程给大家。供大家学习参考。

  N32WB031系列蓝牙芯片是国民技术新一代高性能、超低功耗的蓝牙5.1芯片,采用32位Arm® Cortex®-M0内核,最高工作主频64MHz,片上集成48KB SRAM,512KB Flash。非常受工程师青睐。芯片集成先进的 BLE5.1射频收发器,符合蓝牙BLE5.1规范,可配置为标准的1Mbps BLE模式,2Mbps增强BLE模式, 125Kbps BLE远程模式(S8),500Kbps BLE远程模式(S2)。支持AOA(到达角)和AOD(离去角),支持 RSS I ( 接 收 器 信 号 强 度 指 示 ),同 时 支 持 主 从 角 色,支 持 多 连 接,支 持 数 据 包 长 度 扩 展,支 持 KEYSCAN,IRC,10位1.33Msps ADC(可配置为16位16Ksps),支持模拟MIC输入,PGA放大,支持基 本、通用、高级TIMER,RTC,WWDG,IWDG,LPUART,USART,SPI,I2C等外设。

  如何使用keil mdk 6编译N32WB031

  1.include设置中删除core的include,添加cmsis/core的pack

  2.改system_n32wb03x.c 256行函数为

  void system_delay_cycles(uint32_t i) {

  __asm volatile

  (

  "SUBS r0, #1 \n"

  "BNE system_delay_cycles \n"

  "BX LR \n"

  );

  }

  3.ns_delay.h 54行改为"void delay_cycles(uint32_t ui32Cycles) __attribute__((naked));"

  4.改asm为armclang(auto select)

  5.在n32wb03x.h 45行加入

  #define __align(x) __attribute__((aligned(x)))

  #define__weak __attribute__((weak))

  6.reg_ipcore.h中__INLINE替换为__STATIC_INLINE

  7.co_utils.h中__INLINE替换为__STATIC_INLINE(除最后一个static __INLINE不替换)

  8.co_list.h中__INLINE替换为__STATIC_INLINE

  9.ke_msg.h中__INLINE替换为__STATIC_INLINE

  10.co_math.h中__INLINE替换为__STATIC_INLINE(static __INLINE不替换)

  11.reg_blecore.h中__INLINE替换为__STATIC_INLINE

  以上是如何使用keil mdk 6编译N32WB031的相关参考,需要国民技术N32WB031的相关例程可以咨询在线客服。

联系我们
Contact
联系我们
我们很想听到您的声音

热线电话:13378657558

客服QQ:1084456689

Email:sales@hisemic.com

公司地址:深圳市宝安区永福路和盛工业区D1栋5层