关键词:RT-Thread、v17.1.0、softdevie、BLE、HID、mouse、Nordic、52840
资源获取
nRF5x SDK v17.1.0:https://github.com/cbraissant/nRF5_SDK_17.1.0_ddde560
RT-Thread V5.1.0:https://github.com/RT-Thread/rt-thread
ZJ-SDK-RT-Thread-nRF52840:https://github.com/ZJ-TEK/ZJ-SDK-RT-Thread-NORDIC
env的使用需要学习,必须要配置为右键时显示“ConEmu Here”这个选项。
env第一次启动后,不要移动目录,会造成env相关指令执行失败,删掉env文件夹,重新解压启动即可。
移植准备
解压 nRF5x SDK v17.1.0 备用,作为工程的主体
解压 RT-Thread V5.1.0
提取根目录rt-thread-5.1.0\下的RT-Thread相关文件夹备用:
提取 rt-thread-5.1.0\bsp\nrf5x\libraries\drivers 文件夹备用,按需添加到工程;
提取 rt-thread-5.1.0\bsp\nrf5x\nrf52840\board 文件夹备用;
提取 rt-thread-5.1.0\bsp\nrf5x\nrf52840\applications 文件夹备用;
3. 解压 ZJ-SDK-RT-Thread-nRF52840
提取 ZJ-SDK-RT-Thread-NORDIC-master\ZJ_Application_NRF52840\018.ble_nus\NORDIC_SDK\components\libraries\timer 路径下的两个文件备用:
由于当前RT-Thread版本不允许定时器在回调函数里面再次启动定时器,也就是不允许蛇头咬蛇尾。
因此,app_button.c 直接调用 app_timer_rtthread.c 会产生bug,需要通过修改 app_button.c 解决定时器套娃问题。
Keil MDK 移植
RT-Thread源码与相关库添加至nRF5X SDK工程
1. 打开 ble_app_hids_mouse_pca10056_s140.uvprojx 这个工程,在项目资源管理器内创建四个文件夹,分别命名为:
2. 添加RT-Thread源文件,并添加头文件路径;
3. RTT_Kernel 文件夹内的文件需要右键添加配置define __RT_KERNEL_SOURCE__,否则相关文件编译会报错;