设为首页收藏本站

Discuz! Board

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 18357|回复: 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空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

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
回复 支持 反对

使用道具 举报

1

主题

8

帖子

28

积分

新手上路

Rank: 1

积分
28
板凳
 楼主| 十里灯火 发表于 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
回复 支持 反对

使用道具 举报

1

主题

8

帖子

28

积分

新手上路

Rank: 1

积分
28
地板
 楼主| 十里灯火 发表于 2018-5-11 11:22:58 | 显示全部楼层
admin 发表于 2018-5-11 11:10
一个服务大概是0x10大小,你ram 设置里增大这么多就可以,  RAM 的0xddd8 -0x10

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

使用道具 举报

1

主题

8

帖子

28

积分

新手上路

Rank: 1

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

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


回复 支持 反对

使用道具 举报

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

GMT+8, 2024-5-3 02:01 , Processed in 0.163600 second(s), 29 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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