请注意:此页面已自动翻译。如果可以,您应该使用以下其中一种语言阅读它:

最主要的

flash_cc2531

flash_cc2531 flash_cc2531 ,您可以将您的CC2531 USB棒 Raspberry_编程,无需 _ArduinoCC Debugger

先决条件

您需要 RaspberryOdroid-c2
您需要将钥匙的调试端口连接到 Raspberry_的端口 _GPIO 的工具,例如一根电缆 CC 和四根线 Dupont ()。如果未预先安装
WiringPi (,通常可以将其安装为 sudo apt install wiringpi),否则请参见 的位置 Gordon 这个替代位置 )。
最后,您需要程序:

我将 Raspberry Pi 3raspbian_投影在 _flash_cc2531 上,但在其他型号上报告了成功的编程:

准备好的

flash_cc2531 下载到您的 raspberry

git clone https://github.com/jmichault/flash_cc2531.git

将紫色端口的以下引脚连接到GPO端口:

此处提供 raspberry 引脚布局: https://pinout.xyz/

然后将USB键进入端口。

下载电缆 CC 和4条线 Dupont 女性为雌性为此目的是完美的: 键的照片和 raspberry ](https://github.com/jmichault/files/raw/master/Raspberry-CC2531.jpg) 这是我最喜欢的选择,但如果您没有电缆 CC ,您也可以直接在键上释放电缆 Dupont :参见例如网站 lemariva.com 或 [ notenoughtech.com notenoughtech.com notenoughtech.com

试试这个:

cd flash_cc2531
./cc_chipid

它必须返回:

  ID = b524.

如果钥匙的硬件版本与我的钥匙)不同,则(值可能会不同。
如果看到0000或ffff,某些东西不正确:

用法

要将闪存的内容保存到save.hex文件:

./cc_read save.hex

(大约需要2分钟)。

删除闪电记忆:

./cc_erase

注: 除非 (,否则 必须 删除,除非您真的知道要做什么)。

在键 CC2531_上编程文件 _CC2531ZNP-Prod.hex

./cc_write CC2531ZNP-Prod.hex

(持续约3分钟)。

使用其他别针

所有命令均接受以下参数:

使用的针脚编号是 wiringPi。使用 gpio readall 将布局放在 Raspberry (列 wPi )中。

例如,如果要使用引脚3、11和13:
将净化端口的以下引脚连接到端口 GPIO

  1. 针1 ( GND ) -> 针14 ( GND )

  2. 引脚7 ( reset ) -> 引脚3 ( wPi 8, BCM2 )

  3. 引脚3 ( DC ) -> 引脚11 ( wPi 0, BCM17 )

  4. 针脚4 ( DD ) -> 针脚13 ( wPi 2, BCM27 )

现在,您可以使用以下命令读取标识符,保存,删除和写入闪电存储器:

./cc_chipid -r 8 -c 0 -d 2
./cc_read -r 8 -c 0 -d 2 save.hex
./cc_erase -r 8 -c 0 -d 2
./cc_write -r 8 -c 0 -d 2 CC2531ZNP-Prod.hex

如果不起作用怎么办?

  1. 停止所有其他程序。

  2. 在编程之前设置处理器速度。示例:

    sudo echo performance >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    
  3. 使用-m选项可以增加使用的时间限制。示例:

    ./cc_write -m 300 CC2531ZNP-Prod.hex
    
  4. make重新编译程序。

  5. 在github](https://github.com/jmichault/flash_cc2531/issues?q=is%3Aissue)已经提出的问题中寻找解决方案 [

  6. 询问关于 github的问题。

  7. 检查营养块

    grep Under /var/log/kern.log
    

    如果你得到很多线,那么你必须改变营养块。

我想连接超过15个外围

我们在各个地方阅读,键 CC2531 只能处理15个最大设备。
实际上, CC2531 的极限要高得多。
另请注意,协议 zigbee 限制直接链接到第32个。

我的钥匙是它的红色LED,亮起。

它恰好是由于寄生虫装载的环境或由于营养不良而导致的关键常量。

  1. 检查营养块

    grep Under /var/log/kern.log
    

    如果你得到很多线,那么你必须改变营养块。

  2. 逃离令人不安的材料的关键:扬声器,Wi-Fi路由器,…

  3. 重新编程键

执照

此项目已获得GPL v3许可 ( ,请参见 COPYING )。