设为首页收藏本站

Discuz! Board

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

nrf52832添加服务重启

[复制链接]

1

主题

8

帖子

28

积分

新手上路

Rank: 1

积分
28
跳转到指定楼层
楼主
十里灯火 发表于 2018-5-11 10:17:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
芯片nrf52832 , 开发环境keil , sdk版本 :15.0

请教大神:
我在ble_app_buttonless_dfu例程基础上添加 ble_app_uart 例程,代码加上去之后运行会重启,单步调试发现执行到这里重启:
/**@snippet [Adding proprietary Service to the SoftDevice] */
    // Add a custom base UUID.
    err_code = sd_ble_uuid_vs_add(&nus_base_uuid, &p_nus->uuid_type);  // 执行到这里 err_code返回 0004
    VERIFY_SUCCESS(err_code);     /////   重启了。   
请问啥原因呀各位?

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

使用道具 举报

243

主题

1706

帖子

6151

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6151
沙发
admin 发表于 2018-5-11 10:23:51 | 只看该作者
如果有两个定义的128bit UUID,这个位置需要添加为2

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

1

主题

8

帖子

28

积分

新手上路

Rank: 1

积分
28
板凳
 楼主| 十里灯火 发表于 2018-5-11 10:39:07 | 只看该作者
admin 发表于 2018-5-11 10:23
如果有两个定义的128bit UUID,这个位置需要添加为2

谢谢, 我修改了 #define NRF_SDH_BLE_VS_UUID_COUNT 2   后。  系统还是重启了,但是重启的位置变了,单步调试如下:

    // Enable BLE stack.
    err_code = nrf_sdh_ble_enable(&ram_start);     ///  err_code 为 00004
    APP_ERROR_CHECK(err_code);    ////重启



这是啥情况呀:
我的设置:



本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

243

主题

1706

帖子

6151

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6151
地板
admin 发表于 2018-5-11 10:43:56 | 只看该作者
十里灯火 发表于 2018-5-11 10:39
谢谢, 我修改了 #define NRF_SDH_BLE_VS_UUID_COUNT 2   后。  系统还是重启了,但是重启的位置变了,单 ...

RAM的空间也要修改,一个服务大概是0x10大小,你ram 设置里增大这么多就可以
回复 支持 反对

使用道具 举报

1

主题

8

帖子

28

积分

新手上路

Rank: 1

积分
28
5#
 楼主| 十里灯火 发表于 2018-5-11 10:56:04 | 只看该作者
admin 发表于 2018-5-11 10:43
RAM的空间也要修改

请教修改ram空间有没有什么规则呀?  

我现在修改如下,但是不行,还是在刚才 err_code = nrf_sdh_ble_enable(&ram_start); 那里出错:

我修改了两个地方
1:  我把NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE  从1408 修改为1664   
// <o> NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE - Attribute Table size in bytes. The size must be a multiple of 4.
#ifndef NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE
#define NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE    1664 //1408
#endif

2. 我修改ram1 如下:

修改的方法是,   因为我把NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE 增加了256。 所以我把IRAM1 的start 地址加上了256。  从0x20002228 变为 0x20002328。    我把IRAM1 的size 减少了 256 , 从 0xDDD8  变为 0xDCD8。   这样改对吗?     我想应该是不对的,要不然为啥重启呢。。。。。     我这个修改iram参数的方法是错的吗?

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

243

主题

1706

帖子

6151

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6151
6#
admin 发表于 2018-5-11 11:10:57 | 只看该作者
十里灯火 发表于 2018-5-11 10:56
请教修改ram空间有没有什么规则呀?  

我现在修改如下,但是不行,还是在刚才 err_code = nrf_sdh_ble ...

一个服务大概是0x10大小,你ram 设置里增大这么多就可以,  RAM 的0xddd8 -0x10
回复 支持 反对

使用道具 举报

1

主题

8

帖子

28

积分

新手上路

Rank: 1

积分
28
7#
 楼主| 十里灯火 发表于 2018-5-11 11:22:58 | 只看该作者
admin 发表于 2018-5-11 11:10
一个服务大概是0x10大小,你ram 设置里增大这么多就可以,  RAM 的0xddd8 -0x10

谢谢,跑成了。  
回复 支持 反对

使用道具 举报

1

主题

8

帖子

28

积分

新手上路

Rank: 1

积分
28
8#
 楼主| 十里灯火 发表于 2018-5-11 11:30:21 | 只看该作者
admin 发表于 2018-5-11 11:10
一个服务大概是0x10大小,你ram 设置里增大这么多就可以,  RAM 的0xddd8 -0x10

犯了一个小失误,我是口头计算了一下 IRAM1 start ,就改上去了。  正确的  IRAM1 start 应该是 0x20002330 。  修改了,就跑通了。  


回复 支持 反对

使用道具 举报

0

主题

4

帖子

51

积分

注册会员

Rank: 2

积分
51
9#
15662170758 发表于 2018-6-28 17:57:49 | 只看该作者
楼主 你是怎么添加服务的?我自己添加了一个,编译也不报错,我下载到板子里,一点反应都没有,也不广播了?
回复 支持 反对

使用道具 举报

0

主题

4

帖子

51

积分

注册会员

Rank: 2

积分
51
10#
15662170758 发表于 2018-6-29 09:57:50 | 只看该作者
十里灯火 发表于 2018-5-11 11:30
犯了一个小失误,我是口头计算了一下 IRAM1 start ,就改上去了。  正确的  IRAM1 start 应该是 0x200023 ...

怎么算的 是 0x20002330
回复 支持 反对

使用道具 举报

0

主题

1

帖子

16

积分

新手上路

Rank: 1

积分
16
11#
Rosa 发表于 2018-12-14 11:08:15 | 只看该作者
15662170758 发表于 2018-6-29 09:57
怎么算的 是 0x20002330

同问,0x20002330怎么算的?
回复 支持 反对

使用道具 举报

243

主题

1706

帖子

6151

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6151
12#
admin 发表于 2018-12-14 11:54:00 | 只看该作者
Rosa 发表于 2018-12-14 11:08
同问,0x20002330怎么算的?

楼主不是说了么,把IRAM1 的size 减少了 256
回复 支持 反对

使用道具 举报

2

主题

5

帖子

198

积分

注册会员

Rank: 2

积分
198
13#
laoye66 发表于 2020-9-13 22:55:53 | 只看该作者
请问我的工程按照上面的方法修改后依然会重启,RAM修改多次依然会重启,提示错误代码是4()
回复 支持 反对

使用道具 举报

243

主题

1706

帖子

6151

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6151
14#
admin 发表于 2020-9-15 08:50:51 | 只看该作者
laoye66 发表于 2020-9-13 22:55
请问我的工程按照上面的方法修改后依然会重启,RAM修改多次依然会重启,提示错误代码是4()

错误4是不是提示RAM区不够
回复 支持 反对

使用道具 举报

2

主题

5

帖子

198

积分

注册会员

Rank: 2

积分
198
15#
laoye66 发表于 2020-9-17 08:59:01 | 只看该作者
admin 发表于 2020-9-15 08:50
错误4是不是提示RAM区不够

修改了RAM区依然重启
回复 支持 反对

使用道具 举报

0

主题

12

帖子

42

积分

新手上路

Rank: 1

积分
42
16#
xiaoxue1010 发表于 2020-10-28 13:34:44 | 只看该作者
楼主 你是怎么添加服务的?江苏快3我自己添加了一个,编译也不报错,体彩七星彩我下载到板子里,幸运飞艇一点反应都没有,也不广播了。



回复 支持 反对

使用道具 举报

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

GMT+8, 2024-11-26 11:14 , Processed in 0.483658 second(s), 29 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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