工具与软件:
编辑:我觉得很愚蠢,但它最终只是一个简单的内存不足问题。 我不知何故忽略了 FreeRTOS 示例将堆大小增加到200,000。 增加堆大小似乎已经解决了问题、无需进一步的响应。 编辑此文件是为了防止将来有人搜索它。
我正在尝试修改 enet_cpsw_rawhttpserver 示例以使用 TLS、这类似于 cpsw_lwip_https 示例(遗憾的是使用 FreeRTOS)。
然而、出于某种原因、我无法初始化 PCB。 我始终点击
"httpd_init:altcp_tls_new failed"错误、我不确定原因。
这是我在 app_main.c 中的代码
struct altcp_tls_config *pConf = altcp_tls_create_config_server_privkey_cert(
PrivateKey,
PrivateKey_Size,
NULL,
0,
Certificate,
Certificate_Size);
if (pConf == NULL)
{
DebugP_log("ERROR: Failed to create TLS config");
}
else
{
httpd_inits(pConf);
}
有关我的实施的注意事项:
我已直接从 cpsw_lwip_https 示例目录中复制了 httpsd.c、server_certifications.h 和 altcp_tls_mbedtls_ti.c 文件。 我在这些文件中找不到任何特定于 FreeRTOS 的内容、所有内容都编译正常。
程序运行正常、成功地从 DHCP 获取 IP 地址、一切看起来一切都很好、直到命中 PCB 的初始化、失败、没有提供其他信息。
因此、我的问题是:NORTOS 是否需要做一些额外的工作才能使它生效? 我已经使用细齿梳完成了 syscfg 和其他设置、我在我的实现和 FreeRTOS 实现之间没有看到任何有意义的差异。