搜索
bottom↓
回复: 10

nRF24L01系列之三(无线空中下载HEX码)

[复制链接]

出0入104汤圆

发表于 2017-6-27 10:43:30 | 显示全部楼层 |阅读模式
nRF24L01系列之一(制作微型两轮平衡车遥控器)

nRF24L01系列之二(制作数字对讲机一对)


nRF24L01系列之三(无线空中下载HEX码)
在 Arduino IDE 应用中无缝衔接下载HEX码。

PC端 -> USB(CP2102)+Mega328+nRF24L01。

用户端 -> Mega328+nRF24L01。

因为要做以上作品,就得先制作(无线空中下载HEX码)器。

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入104汤圆

 楼主| 发表于 2017-6-27 11:19:29 | 显示全部楼层
本帖最后由 andy 于 2017-6-27 12:51 编辑

国外都有同类项目的,但是,它不是无缝衔接(只有Linux和其他具有libusb的* nix风格)以及(rf24tool只接受二进制文件)。

所以,不能应用国外的项目,要自己重新写过nRF24L01_BootLoad程式放在BootLoad区。

USING AN NRF24L01 FOR AIR BOOTLOADING
使用NRF24L01进行空中引导加载

国外网站:
http://hackaday.com/2014/03/07/u ... or-air-bootloading/
https://ncrmnt.org/2014/02/27/rf ... -for-all-those-ucs/
https://github.com/nekromant/rf24boot


README

这是什么东西?
----------------------------

它是AVR和其他可以提供代码的微型引导程序
通过廉价nrf24l01无线模块到MCU。

好吗?
-----------

*清洁建筑
*非常便携,因为它是基于antares
*易于集成外部存储设备,因为
  它支持多个内存分区。
*轻松添加自己的设备特定的黑客。

我可以用arduino吗?
--------------------------

是的你可以。bootloader不在乎你从哪里得到你的文件。
无论是arduino,avr-gcc,avr-brainfuck编译器,/ dev / urandom甚至是星体)

它是否与英特尔十六进制工作?
----------------------------

还没。rf24tool只接受二进制文件。所以要么添加二进制到你的
makefile或使用srecord / hex2bin获取二进制文件。

它在Windows下工作吗?
---------------------------

不,只有Linux和其他具有libusb的* nix风格。补丁欢迎。

它在Mac OS X下工作吗?
---------------------------

不,只有Linux和其他具有libusb的* nix风格。补丁欢迎。

usb编程加密狗怎么样?
----------------------------------

请参阅README.dongle

如何连接nrf24l01与avr / arduino?
-----------------------------------------

请参阅README.compiling。如果相关部分对你不够,我
建议你给官方的nrf24l01数据表一个阅读以及avr的
数据表。我不能将一本“avr for dummies”打包成一个小的README文件。
抱歉。

可以使用nrf24l01直接连接到Raspberry Pi / OpenWRT路由器/烤面包机吗?
-------------------------------------------------- -----------------------
理论上 - 是的。实际上你需要实现spidev或
rf24tool的gpio-bitbang适配器。
请参阅rf24tool / adapter-uisp.c作为参考。
这是TODO,但不是一个优先事项。

令人难以置信的文件值得阅读
--------------------------------
README.compiling  - 如何编译设备的引导加载程序。
README.hacking  - 如果你想通过移植到新的设备来帮助。
README.dongle  - 如何使您的编程加密狗启动并运行。
README.app  - 如何编译用户空间应用程序。

兄弟,这个疯狂的东西对我的大脑来说太难了
-----------------------------------------------

谁说这会很容易?去休息一下,再试一次,给我一些
补丁。

出0入104汤圆

 楼主| 发表于 2017-6-27 13:17:41 | 显示全部楼层
本帖最后由 andy 于 2017-6-27 13:22 编辑

国外同类产品,但是,他是用了空中(串口)来完成。

本帖子中包含更多资源

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

x

出0入104汤圆

 楼主| 发表于 2017-6-29 21:02:21 | 显示全部楼层
本帖最后由 andy 于 2017-6-30 11:29 编辑

*********************************************************************************************************************
现在应用(Atmel Studio 7)软件何以对Arduino IDE的原程式进行操作了,之前是有问题的。

选用2017年3月份的新版本。
Atmel Studio 7-1417 Full Installer (updated 3-2017, 866MB)


阶段3:将AVRdude配置为外部工具

启动爱特梅尔Studio和加载后,单击工具>外部工具...。
在标题文本框中输入适当的描述(本示例中为Arduino COM4 ),然后单击添加。
在命令文本框中输入AVRdude可执行文件的完整路径。这应该位于Arduino IDE安装目录的hardware \ tools \ avr \ bin子目录中。如果您尚未更改Arduino IDE的默认安装,则应按照以下方式找到该文件。
1
C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe
在Arguments文本框中输入以下参数和值(请注意,参数区分大小写):-
C <Path_to_avrdude.conf> - 一个avrdude.conf的路径,可以在Arduino IDE的安装目录中找到该文件。确保您使用引号输入路径,以防路径中有空格。
-p <部件号> - AVR处理器型号
-c <程序员类型> - 用于对板进行编程的程序员类型
-P <端口> - 第2阶段应该注意到的COM端口
-b <波特率> - 程序员的波特率
-D - 禁用闪存的自动擦除(Arduino Mega328使用的接线编程器所需的)
-U <memorytype>:<operation>:<HEX文件的路径>:<format> - 这是您应该利用Atmel Studio的变量来始终指向新近编译并生成的HEX文件。变量列表及其描述可以在Atmel的帮助页面找到。
基于上述,我们在Arduino Mega328示例中的命令具有以下形状(复制并粘贴以下内容,然后根据您的主板所需的任何设置进行调整):



将以下内容转为
-------------------------------------------------------------------------------------------------------------------------------------------------------
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude
-CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM4 -b115200 -D -Uflash:w:C:\Users\andy\AppData\Local\Temp\arduino_build_910401/Blink_test.ino.hex:i
-------------------------------------------------------------------------------------------------------------------------------------------------------

这样型式
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude.exe
-C"C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf" -v -patmega328p -carduino -PCOM4 -b115200 -D -Uflash:w:"$(ProjectDir)Debug\$(TargetName).hex":i

可参考以下刚站:
https://slightlyovercomplicated. ... ith-atmel-studio-7/

studio 7 avrdude.exe: can't open config file "C:\Program": No such file or directory

*****************************************************************************************************************

在(atmel studio 7 设置开始地址) memory settings atmega328p bootloader

可参考以下刚站:
https://electronics.stackexchang ... gram-into-atmega32a

本帖子中包含更多资源

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

x

出20入25汤圆

发表于 2017-6-29 22:53:42 来自手机 | 显示全部楼层
还是支持下楼主,一直想做2401音频传输

出0入0汤圆

发表于 2017-7-4 10:10:25 | 显示全部楼层
不知道对于stm32/stm8系列的mcu是否可以实现类似的功能

出0入104汤圆

 楼主| 发表于 2017-7-4 15:02:31 | 显示全部楼层
winterw 发表于 2017-7-4 10:10
不知道对于stm32/stm8系列的mcu是否可以实现类似的功能

你自己可否找到答案,学习用脑袋思考问题。

出0入104汤圆

 楼主| 发表于 2017-7-4 15:08:29 | 显示全部楼层
本帖最后由 andy 于 2017-7-4 16:18 编辑

PC端=(稳压3.3v),(cp2102),(arduino mini),nRF24L01。

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2017-7-4 18:10:44 | 显示全部楼层
andy 发表于 2017-7-4 15:02
你自己可否找到答案,学习用脑袋思考问题。

呵呵。   

出0入104汤圆

 楼主| 发表于 2017-7-6 21:59:42 | 显示全部楼层
硬件电路连接完成,进入编写软件以及软件调试阶段。

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2018-1-10 14:39:28 | 显示全部楼层
想问下楼主,有做跳频处理吗,不做跳频的话干扰如何解决
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 05:41

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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