设为首页收藏本站

Discuz! Board

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 7461|回复: 9
打印 上一主题 下一主题

NRF51822 Keil5环境设置

[复制链接]

2

主题

9

帖子

47

积分

新手上路

Rank: 1

积分
47
跳转到指定楼层
楼主
wufeijian 发表于 2016-12-4 16:22:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
买了青风电子的开发板,里面的资料代码都是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、
如果勾上创建库,编译就通过了,但是无法下载


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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

2

主题

9

帖子

47

积分

新手上路

Rank: 1

积分
47
沙发
 楼主| wufeijian 发表于 2016-12-4 16:31:10 | 只看该作者
另外我查看过keil里面自带的例程,没有这是用创建库,没有任何问题,然后我按照例程的设置,还是不行,郁闷啊
回复 支持 反对

使用道具 举报

3

主题

17

帖子

94

积分

注册会员

Rank: 2

积分
94
板凳
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都正常。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

3

主题

17

帖子

94

积分

注册会员

Rank: 2

积分
94
地板
Eric 发表于 2016-12-4 22:10:51 | 只看该作者
我把工程文件附上,keil5的确比keil4要强,尤其是添加device的时候,相互的依赖关系一目了然。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

2

主题

9

帖子

47

积分

新手上路

Rank: 1

积分
47
5#
 楼主| 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);
这个函数无法执行通过,编译没有问题,一直搞不清楚这个函数的作用,求指导

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

3

主题

17

帖子

94

积分

注册会员

Rank: 2

积分
94
6#
Eric 发表于 2017-1-6 15:25:12 | 只看该作者
貌似keil5要用SDK10.0或以上的才行。

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

使用道具 举报

1

主题

38

帖子

208

积分

中级会员

Rank: 3Rank: 3

积分
208
7#
aeqw 发表于 2017-2-14 09:02:09 | 只看该作者
wufeijian 发表于 2017-1-5 16:45
谢谢,现在用协议栈在使用过程中,

SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_XTAL_20_PPM, NULL); ...

板子上面有32768的震盪器嗎?
回复 支持 反对

使用道具 举报

2

主题

9

帖子

47

积分

新手上路

Rank: 1

积分
47
8#
 楼主| wufeijian 发表于 2017-5-14 21:07:17 | 只看该作者
aeqw 发表于 2017-2-14 09:02
板子上面有32768的震盪器嗎?

有的:):):):):):):):):):):)
回复 支持 反对

使用道具 举报

243

主题

1706

帖子

6151

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6151
9#
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
回复 支持 反对

使用道具 举报

0

主题

11

帖子

364

积分

中级会员

Rank: 3Rank: 3

积分
364
10#
peteryu 发表于 2022-6-10 18:39:09 | 只看该作者
谢谢分享,学习学习。
回复 支持 反对

使用道具 举报

Archiver|手机版|小黑屋|Comsenz Inc.   

GMT+8, 2024-4-20 19:14 , Processed in 0.133938 second(s), 29 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表