打印
[N32WBxxx]

让N32WB031使用keil mdk 6编译的方法

[复制链接]
847|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
duanks|  楼主 | 2024-4-5 21:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
新版本的keil已经不包含mdk 5了,而且mdk 6的编译速度和性能都好上不少,因此花了一些时间将项目移植到mdk 6。现分享给大家
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

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

33

主题

142

帖子

2

粉丝