930电子网

 找回密码
 立即注册
艾克姆科技推出最新产品STC32G12K128开发板
查看: 12|回复: 6

nRF51822程序烧录问题,求助!

[复制链接]

1

主题

6

帖子

29

积分

新手上路

Rank: 1

积分
29
发表于 昨天 20:23 | 显示全部楼层 |阅读模式
本帖最后由 学习nRF的小白 于 2025-5-5 20:37 编辑

使用SDK中的示例工程进行烧录,目录为:nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\examples\ble_peripheral\ble_app_uart\pca10028\s130\arm5_no_pack
问题在回复中,望解答✊

回复

使用道具 举报

1

主题

6

帖子

29

积分

新手上路

Rank: 1

积分
29
 楼主| 发表于 昨天 20:35 | 显示全部楼层
本帖最后由 学习nRF的小白 于 2025-5-5 21:22 编辑

使用SDK中的示例工程进行烧录,目录为:nRF5_SDK_12.3.0_d7731ad\nRF5_SDK_12.3.0_d7731ad\examples\ble_peripheral\ble_app_uart\pca10028\s130\arm5_no_packs
1.先烧录协议栈:
协议栈地址:
协议栈算法:
协议栈可以正常烧录:
2.但是无法正常烧录应用程序,算法选择正确,内存地址是视频教程的地址,编程算法的烧录地址和视频教程中一样,但是没有办法烧录(问题截图未保存,用了老师的教程中的错误截图,但是一样的问题弹窗)
芯片由示例工程的nRF51422改为nRF51822:
应用程序烧录地址:
应用程序算法选择和地址:
错误显示:
3.出现上述问题后,将原本的协议栈和应用程序地址都改为:,协议栈算法地址和应用程序算法地址都不做修改


还是会出现这个问题


问题和解决方法与教程中说的一样,但是视频教程和ppt教程中没有对地址做出说明,协议栈的地址起始在哪,应用程序的地址起始在哪?
但是使用了nRFgo studio擦除全片,再使用KEIL5去烧录协议栈和应用程序时,一次偶然地机会,将程序烧录成功,具体怎么解决的还未知。


希望得到解答:
1.协议栈算法和应用程序算法地址需要更改吗,还是保持原状从0x00开始的就可以?两个算法的地址相同也行?


2.下图这个地址(烧写协议栈和应用程序时)需要做更改吗,所用开发板为 IK-51822DK新版,烧录器为jlink v9 ,KEIL版本为KEIL5.36




望解答

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

1

主题

6

帖子

29

积分

新手上路

Rank: 1

积分
29
 楼主| 发表于 昨天 20:45 | 显示全部楼层
而且用MDK烧录了协议栈文件后,用ST-link擦除这个协议栈,再用MDK烧录裸机程序,会出现 "M0"的弹窗,必须用jlink和nrfgo studio去擦除全片才可以。并且stlink unity无法识别出这个nRF51822这个mcu,也就不能擦除全片,解除写保护。
回复 支持 反对

使用道具 举报

1

主题

6

帖子

29

积分

新手上路

Rank: 1

积分
29
 楼主| 发表于 昨天 21:19 | 显示全部楼层
学习nRF的小白 发表于 2025-5-5 20:45
而且用MDK烧录了协议栈文件后,用ST-link擦除这个协议栈,再用MDK烧录裸机程序,会出现 "M0"的弹窗,必须用 ...

又试了几次,当KEIL的Target栏目中的地址是默认的地址时,编译能通过,不能烧录应用程序,只能烧录协议栈,再nRFgo studio中也不能烧录应用程序,要将地址更改成如下才能让keil或nRFgo studio都可以烧录应用程序:(下一个回复)
回复 支持 反对

使用道具 举报

1

主题

6

帖子

29

积分

新手上路

Rank: 1

积分
29
 楼主| 发表于 昨天 21:20 | 显示全部楼层
本帖最后由 学习nRF的小白 于 2025-5-5 22:05 编辑

只知道需要这样更改,但是为什么是这个数字,还需要深究

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

1

主题

6

帖子

29

积分

新手上路

Rank: 1

积分
29
 楼主| 发表于 昨天 21:21 | 显示全部楼层
本帖最后由 学习nRF的小白 于 2025-5-5 21:47 编辑

且烧录算法的地址都不用做更改
回复 支持 反对

使用道具 举报

52

主题

367

帖子

6591

积分

版主

Rank: 7Rank: 7Rank: 7

积分
6591
发表于 7 小时前 | 显示全部楼层
学习nRF的小白 发表于 2025-5-5 21:21
且烧录算法的地址都不用做更改

1:协议栈TATGET,仅仅是借助keil烧写协议栈的hex文件(因为协议栈没有源码,keil无法直接烧写hex,所有建立了协议栈的Target烧写协议栈hex),协议栈TATGET内配配置无所谓的,因为协议栈hex文件里面本身包含了地址信息。
2:出现“cortex-m0”的提示,那是因为烧写了协议栈,弃用了Flash保护,必须全片擦除解除保护才能烧写裸机程序。
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|手机版|官方淘宝店|930电子网 ( 皖ICP备16000695号-2 )

GMT+8, 2025-5-6 17:05 , Processed in 0.099805 second(s), 22 queries .

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