请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:LAUNCHXL-CC1350 你(们)好
我尝试将 OAD 映像写入 CC1350-LAUNCHXL (OAD 服务器)、并在 UART 缓冲区中获取其他字节、我不知道它来自何处。
OAD 映像创建的输出为:
FlashOadClient_CC1350STK_tirtos_ccs.hex 德州仪器 OAD 图像工具 版本:1.0 OAD 类型:offchip img 类型:app 输入文件:、rfWsnNodeExtFlashOadClient_CC1350STK_tirtos_ccs.hex 输出十六进制文件: 出纸槽文件:bin_orig 运行时输出: 扩展的地址范围。 将元数据放置在0x00001000脚 本计算 了以下字节的16字节 OAD 元数据矢量:| 0 - 2 | 2 - 4 | 4 - 6 | 6 - 8 | 8-12 | 12 - 14 | 15 | 16 | 描述: | CRC | CRC-Shdw | imgVer | imgLen | usrId | imgAddr | imgType | stat | ---------------------- 数据:| 0x712F | 0xFFFF | 0x0100 | 0x3FBC | EEEE | 0x0400 | 0x01 | 0xFF | *********
我的应用程序使用以下选项不断地从 UART 进行写入和读取:
UART_PARAMS_INIT (params); params.baudrate = 115200; params.readDataMode = UART_DATA_TEXT; params.writeDataMode = UART_DATA_TEXT; Params.readReturnMode = UART_return_NEWLINE; params.dataLength = UART_LEN_8; params.stopbits = UART_STOP_ONE; params.readMode = UART_MODE_CALLACK; params.writeMode = UART_MODE_BLOCKING; params.readEcho = UART_ECHO_OFF; params.readCallback =上游_readCallback; //打开/打开 UART。 uartHandle = UART_OPEN (Board_UART0、params); //启用对所有后续 UART_READ()的部分读取 UART_CONTROL (uartHandle、UARTCC26XX_CMD_RETURE_PARTIT_ENABLE、NULL);
然后、当它接收到一条特定的 OAD 消息时、此代码被运行:
UART_CLOSE (uartHandle); uartFwUpgrade = true; OADServer_updateAvailableFwVer(); while ((i == OADServer_processEvent())=0) ...
当我在主机上运行时、以下命令:
Python oad_write_bin.py /dev/ttyS0 oad_image
我看到缓冲器始终将0xF0作为第一个字节、将0x05作为最后一个字节(附加图像)。 但是、在构建 OAD 映像时、标头不包含此字节。 (另请注意、标头从字节1开始、而不是从字节0开始)。
问题可能出在哪呢?
可能与主机端相关- 在传输映像之前、我是否应该向串行接口添加 stty 选项?
或者在应用程序正在运行的中间重新打开 UART 可能会出现什么情况?
请帮助!
此致
