5774|12

43

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

用BlueNRG-X Flasher Utility批量烧写blueNRG-1更改MAC问题 [复制链接]

 
 

MAC location :设置的是 0x10044BCC

******FLASH OPERATION******

Connected N.1 device by ST Link

17:57:53.953: Waiting device to flash -> Device connected
17:57:54.967: Device Identification -> BlueNRG-1
17:57:55.674: Mass Erase Operation -> SUCCESS
17:57:57.049: Device Flash Programming -> FAILED
17:58:00.917: Device Disconnection ->SUCCESS

17:58:02.009: Flash operation finished!


******END FLASH OPERATION******
发现是写不进去的,想问下那个MAC地址写入是在那个位置的呢?麻烦大佬们了。

最新回复

虾哥,我看看可以吧   详情 回复 发表于 2023-8-15 18:12
点赞 关注
 
 

回复
举报

9792

帖子

24

TA的资源

版主

沙发
 

 

UMxxxx_Flasher_ALPHA_v0.9.2.pdf (1.05 MB, 下载次数: 23)

个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

43

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

#if SERVER
  uint8_t role = GAP_PERIPHERAL_ROLE;
  uint8_t bdaddr[] = {0xaa, 0x00, 0x00, 0xE1, 0x80, 0x01};

#else
  uint8_t role = GAP_CENTRAL_ROLE;
  uint8_t bdaddr[] = {0xbb, 0x00, 0x00, 0xE1, 0x80, 0x02};
#endif 
  
  /* Configure Public address */
 ret = aci_hal_write_config_data(CONFIG_DATA_PUBADDR_OFFSET, CONFIG_DATA_PUBADDR_LEN, bdaddr);
  if(ret != BLE_STATUS_SUCCESS){
    printf("Setting BD_ADDR failed: 0x%02x\r\n", ret);
    return ret;
  }

 

烧写是成功了,但是MAC仍然是aa, 00, 00, E1, 80, 01这个地址,用的是BLE_Examples\BLE_Chat的代码

点评

BlueNRG-X Flasher Utility是将你要定义的地址写到FLASH的指定位置 在你的代码里bdaddr使用了内存定义好的地址,所以BlueNRG-X Flasher Utility写入的地址不会使你的程序发生变化 如果要使用BlueNRG-X Flasher  详情 回复 发表于 2020-12-7 12:42
 
 
 

回复

9792

帖子

24

TA的资源

版主

4
 
千本樱大白 发表于 2020-12-1 09:53 #if SERVER   uint8_t role = GAP_PERIPHERAL_ROLE;   uint8_t bdaddr[] = {0xaa, 0x00, 0x00, ...

BlueNRG-X Flasher Utility是将你要定义的地址写到FLASH的指定位置

在你的代码里bdaddr使用了内存定义好的地址,所以BlueNRG-X Flasher Utility写入的地址不会使你的程序发生变化

如果要使用BlueNRG-X Flasher Utility烧写的地址,你的代码里要把对应FLASH地址的数据映射到bdaddr上

比如可以这样

然后再通过BlueNRG-X Flasher Utility烧写固件,地址才会发生变化

image.png (4.08 KB, 下载次数: 0)

image.png

点评

好的,谢谢啦  详情 回复 发表于 2020-12-9 09:54
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

43

帖子

0

TA的资源

一粒金砂(中级)

5
 
littleshrimp 发表于 2020-12-7 12:42 BlueNRG-X Flasher Utility是将你要定义的地址写到FLASH的指定位置 在你的代码里bdaddr使用了内存定义 ...

好的,谢谢啦

 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(中级)

6
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(中级)

7
 
littleshrimp 发表于 2020-11-30 19:35  

您好,我使用BLUNRG-2,也是需要批量烧写采用Utility设置MAC地址,但是无法设置成功,可以帮忙看看什么原因吗,谢谢

礼_20220719201859.png (0 Bytes, 下载次数: 0)

礼_20220719201859.png

礼_20220719201831.png (0 Bytes, 下载次数: 0)

礼_20220719201831.png

111111.png (0 Bytes, 下载次数: 0)

111111.png
 
 
 

回复

9792

帖子

24

TA的资源

版主

8
 

你可以先看一下这个文档

um2406-the-rfflasher-utility-sw-package--stmicroelectronics.pdf (1.52 MB, 下载次数: 6)

个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(中级)

9
 
littleshrimp 发表于 2022-7-19 23:32 你可以先看一下这个文档

您好,不用Utility,直接在代码里修改物理地址,也无法修改成功,这是什么原因?

点评

你用的官方例程还是自己写的代码?  详情 回复 发表于 2022-7-22 09:56
 
 
 

回复

9792

帖子

24

TA的资源

版主

10
 
aldlkd 发表于 2022-7-20 09:50 您好,不用Utility,直接在代码里修改物理地址,也无法修改成功,这是什么原因?

你用的官方例程还是自己写的代码?

个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(中级)

11
 
littleshrimp 发表于 2022-7-22 09:56 你用的官方例程还是自己写的代码?

感谢虾哥帮忙,我们用的历程中直接修改,不过这个问题我们使用其他方式解决,通过广播数据来分辨不同蓝牙物理地址。

现在还有一个问题,就是我们的休眠功耗降不下来,达到了1mA

1.首先是休眠时仍然存在广播,我们利用aci_gap_set_non_discoverable()关闭广播,然后aci_gap_set_discoverable开启广播,但是发现无法开启广播,看了文档,进入待机状态,是不是无法通过设置的唤醒源进行唤醒,那应该如何关闭广播?

2.其次通过设置gpio的 Mode 来降低功耗

点评

我在私信里的回复看了吗 那里有一个低功耗大赛的链接 那里有很多例程 你可以看看  详情 回复 发表于 2022-7-23 11:58
 
 
 

回复

9792

帖子

24

TA的资源

版主

12
 
aldlkd 发表于 2022-7-23 08:58 感谢虾哥帮忙,我们用的历程中直接修改,不过这个问题我们使用其他方式解决,通过广播数据来分辨不同蓝牙 ...

我在私信里的回复看了吗 那里有一个低功耗大赛的链接 那里有很多例程 你可以看看

 
 
 

回复

3

帖子

1

TA的资源

一粒金砂(初级)

13
 

虾哥,我看看可以吧

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表