wufeijian 发表于 2016-12-4 16:22:20

NRF51822 Keil5环境设置

买了青风电子的开发板,里面的资料代码都是keil4下面的,直接在keil5上面无法编译通过,我就自己建工程使用自带的sdk怎么编译都不通过:
使用库文件

1、
图中这样设置就编译不通过,会提示xxxx.o文件

.\Objects\ble_led_nRF51822_PACK.axf: error: L6002U: Could not open file .\objects\bsp.o: No such file or directory

2、
如果勾上创建库,编译就通过了,但是无法下载


这个是为什么,有没有哪位大锅可以帮我解决一下!

wufeijian 发表于 2016-12-4 16:31:10

另外我查看过keil里面自带的例程,没有这是用创建库,没有任何问题,然后我按照例程的设置,还是不行,郁闷啊

Eric 发表于 2016-12-4 22:04:25

我也是自己建的KEIL5工程,可以编译、下载,运行正常。
main.c如下:
#include "nrf51.h"
#include"led.h"
#include"uart.h"
#include "nrf_delay.h"
#include"time.h"
int main(void)
{
       LED_Init();
        USART_Configuration();
    while (1)
    {
        printf("hello\n");
        LED1_Open();
        LED2_Close();
        nrf_delay_ms(1000);
        LED2_Open();
        LED1_Close();
        nrf_delay_ms(1000);               
        LED1_Toggle();
        nrf_timer_delay_ms(TIMER0, TIMER_DELAY_MS);
        LED1_Toggle();
        nrf_timer_delay_ms(TIMER1, TIMER_DELAY_MS);
        LED1_Toggle();
        nrf_timer_delay_ms(TIMER2, TIMER_DELAY_MS);                       
    }
}

用的是s110,



据说这个define很重要,一定要有。


新建工程,先选MCU,然后添加相应的设备、库文件、驱动文件,main文件,设置好include路径,然后编译,下载或debug都正常。

Eric 发表于 2016-12-4 22:10:51

我把工程文件附上,keil5的确比keil4要强,尤其是添加device的时候,相互的依赖关系一目了然。

wufeijian 发表于 2017-1-5 16:45:57

Eric 发表于 2016-12-4 22:10
我把工程文件附上,keil5的确比keil4要强,尤其是添加device的时候,相互的依赖关系一目了然。

谢谢,现在用协议栈在使用过程中,

SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_XTAL_20_PPM, NULL);
这个函数无法执行通过,编译没有问题,一直搞不清楚这个函数的作用,求指导

Eric 发表于 2017-1-6 15:25:12

貌似keil5要用SDK10.0或以上的才行。

或者用聚码SDK,那里面的设置很简单,重新烧聚码的协议栈,不能用官方的协议栈。百度一下聚码SDK.

aeqw 发表于 2017-2-14 09:02:09

wufeijian 发表于 2017-1-5 16:45
谢谢,现在用协议栈在使用过程中,

SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_XTAL_20_PPM, NULL); ...

板子上面有32768的震盪器嗎?

wufeijian 发表于 2017-5-14 21:07:17

aeqw 发表于 2017-2-14 09:02
板子上面有32768的震盪器嗎?

有的:):):):):):):):):):):):):):):):):):):):):)

admin 发表于 2017-5-19 22:11:15

wufeijian 发表于 2017-1-5 16:45
谢谢,现在用协议栈在使用过程中,

SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_XTAL_20_PPM, NULL); ...

这个函数就是选择协议栈时钟的,你到底是选择32.768K外部时钟作为协议栈时钟,还是选择内部RC

peteryu 发表于 2022-6-10 18:39:09

谢谢分享,学习学习。
页: [1]
查看完整版本: NRF51822 Keil5环境设置