This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RTOS:TI RTOS HTTP 服务器| Post File 示例

Guru**** 2224960 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/691279/rtos-ti-rtos-http-server-post-file-example

工具/软件:TI-RTOS

尊敬的支持团队:

我想将文件(*.txt)上载到 HTTP 服务器。 您是否有适合此目的的首选方法?  

现在、我将使用以下内容:






"="">192.168.1.65/file.cgi">
要刷新的文件: 




但是"cgiParseVars()函数无法很好地处理'name=file"参数。 如果我删除了 ectype、我返回了"文件"参数、但文件内容缺失。

有什么想法吗? 还是建议?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    H Daniel、

    有人将在周一查看、但与此同时、您能否确认您使用的 TI-RTOS 版本。

    谢谢、
    Todd
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢你的答复。 我使用的是:2.16.0.08
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Daniel、您好!

    您要上传的文件大小有多大?

    谢谢、
    Gerardo
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Gerardo、

    只有几 KB。 整个文件应放置在 malloc 位置。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Daniel:

    下面是一个示例的来源、其中包含 Web 服务器和一个 HTML 表单、其中显示了如何上载文本文件、这显示了应如何完成。 e2e.ti.com/.../client.zip

    希望这有所帮助、
    Gerardo

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    感谢你的帮助! 现在、我可以看到 cgiparsem.h 用于上传文件。 有了 TM4C129、我没有这个库、但我要从 Simplelink 中抓取它。 如果我需要更多帮助、我会告诉您!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    还有一个问题… 如果存在此解决方案、您是否计划实施固件升级、例如此示例中的文件上传?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Daniel、您好!

    您能否详细说明您的问题? 我不确定我是否理解您的要求。

    谢谢、
    Gerardo

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我正在考虑针对 TM4C 系列进行基于 TFTP 的固件更新。 我确信您已经了解了适用于 TM4C 和 MSP432系列的 BOOTP - TFTP 偏置过程、以便在器件上更新用户应用程序。 如果用户可以像您在示例(多部件/表单数据)中所示的那样上传固件*。bin 文件、该文件可能非常棒且更易于使用。  

    你怎么看? 您是否计划实施此类刷写方法?  

    (我是否应该为此问题打开一个新主题?)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    使用网页上载固件看起来不错、用户友好。

    您是否建议引导加载程序托管接收.bin 文件的网站? 目前、引导加载程序实现了 TCP/IP 的最低功能、以保持较小的尺寸。 托管网页将是一个重大变化。

    或者、托管网站的应用程序、然后在闪存中堆栈.bin 文件后调用引导加载程序。 引导加载程序可以检查.bin 所在位置的 CRC、并将其处理到 app_BASE。 或 perhapse 引导加载程序可以将 VTABLE、SP 和 PC 设置为在其所在位置运行下载的映像。 这将改变引导加载程序的两个原则。

    首先、引导加载程序从 SRAM 运行以修改闪存。 TM4C 数据表的第8.2.3.10节指出:"如果在闪存存储器操作期间需要执行指令、则必须将正在执行的代码放置在 SRAM 中"。 我认为这只适用于要擦除或写入的16kB 区域中的闪存代码。 如果这是 true 并且您正在下载到缓冲区、则此点仍有效、因为您不会修改正在执行的闪存。

    其次、闪存引导加载程序希望接收/下载.bin 文件。 这可以节省应用代码将下载.bin 文件到的一些保留闪存缓冲区的空间。 如果您直接下载到 APP_BASE、则无需保留缓冲区。