编译历程串口升级bootloader程序后,然后利用nrfutil 执行固件升级命令:
nrfutil dfu serial -pkg SDK_app_s132.zip -p COM29 -fc 0-b 115200
出现了下列错误:
Traceback (most recent call last):
File "C:\Users\HappyMonster\AppData\Local\Programs\Python\Python38-32\Scripts\nrfutil-script.py", line 11, in <module>
load_entry_point('nrfutil==6.1.0', 'console_scripts', 'nrfutil')()
File "c:\users\happymonster\appdata\local\programs\python\python38-32\lib\site-packages\click\core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "c:\users\happymonster\appdata\local\programs\python\python38-32\lib\site-packages\click\core.py", line 782, in main
rv = self.invoke(ctx)
File "c:\users\happymonster\appdata\local\programs\python\python38-32\lib\site-packages\click\core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "c:\users\happymonster\appdata\local\programs\python\python38-32\lib\site-packages\click\core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "c:\users\happymonster\appdata\local\programs\python\python38-32\lib\site-packages\click\core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "c:\users\happymonster\appdata\local\programs\python\python38-32\lib\site-packages\click\core.py", line 610, in invoke
return callback(*args, **kwargs)
File "c:\users\happymonster\appdata\local\programs\python\python38-32\lib\site-packages\nordicsemi\__main__.py", line 1055, in serial
do_serial(package, port, connect_delay, flow_control, packet_receipt_notification, baud_rate, serial_number, True,
File "c:\users\happymonster\appdata\local\programs\python\python38-32\lib\site-packages\nordicsemi\__main__.py", line 970, in do_serial
dfu.dfu_send_images()
File "c:\users\happymonster\appdata\local\programs\python\python38-32\lib\site-packages\nordicsemi\dfu\dfu.py", line 127, in dfu_send_images
self._dfu_send_image(self.manifest.application)
File "c:\users\happymonster\appdata\local\programs\python\python38-32\lib\site-packages\nordicsemi\dfu\dfu.py", line 100, in _dfu_send_image
self.dfu_transport.send_firmware(data)
File "c:\users\happymonster\appdata\local\programs\python\python38-32\lib\site-packages\nordicsemi\dfu\dfu_transport_serial.py", line 301, in send_firmware
response['crc'] = self.__stream_data(data=data, crc=response['crc'], offset=i)
File "c:\users\happymonster\appdata\local\programs\python\python38-32\lib\site-packages\nordicsemi\dfu\dfu_transport_serial.py", line 474, in __stream_data
response = self.__calculate_checksum()
File "c:\users\happymonster\appdata\local\programs\python\python38-32\lib\site-packages\nordicsemi\dfu\dfu_transport_serial.py", line 412, in __calculate_checksum
raise NordicSemiException('Did not receive checksum response from DFU target. '
pc_ble_driver_py.exceptions.NordicSemiException: Did not receive checksum response from DFU target. If MSD is enabled on the target device, try to disable it ref. https://wiki.segger.com/index.php?title=J-Link-OB_SAM3U
苦思多日,毫无进展,迷迷糊糊,屡试屡败。于是百度+Google找到问题,原来波特率的问题。
解释:
因为你失能流控,串口发送数据速率应该降低才能避免缓存溢出,使用9600,果然屡试不爽。
革命尚未成功,同志还需努力。共同学习。qq:2013462220