S32K344 lwip with DCache enabled

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

S32K344 lwip with DCache enabled

跳至解决方案
3,855 次查看
ola_gook
Contributor III

(Using DS 3.5, latest RTD and latest lwip)

I have a working lwip project running and now need to also enable data cache with compiler flag D_CACHE_ENABLE.

However, as soon as I enable it, the lwip functionality is lost. The UM and IM for Gmac seem to state that it should be possible but I cannot understand exactly how. Gmac_Ip_Cfg data is placed in non cachable RAM and still it does not work. I disabled the flag -fdata-sections to make Cfg data end up in non cachable RAM (0x2043xxxx).
 
Is there example code for how to make lwip work together with dcache?
 
Regards
/Ola
0 项奖励
回复
1 解答
3,783 次查看
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi @ola_gook 

You can take a look at this post:

https://community.nxp.com/t5/S32K/S32K344-S32K324-TCPIP-STACK-Intergration/m-p/1527082/highlight/tru...

There's step by step guide including demo application which contains these changes.

Regards,

Lukas

在原帖中查看解决方案

0 项奖励
回复
3 回复数
3,840 次查看
ola_gook
Contributor III

I managed to get one step closer to the solution.

I found another similar issue where the proposed solution was to make sure the lwip heap is placed in non_cachable ram. Unfortunately, the detailed solution using S32DS was not possible to see due to bad resolution in attached image.

Instead, I did this temporarily by simply appending in mem.c:

LWIP_DECLARE_MEMORY_ALIGNED(ram_heap, MEM_SIZE_ALIGNED + (2U * SIZEOF_STRUCT_MEM))__attribute__((section(".mcal_bss_no_cacheable")));

 

I also made sure that the Gmac_Ip_Cfg.o elements are placed in non_cachable RAM by building without -fdata-sections

Current result is that pinging it (or connecting to port 80 with a browser, same result) works about 60% of the time. 

Thus, I get the feeling that there is some more data that needs to put in non_cachable RAM.

Any suggestions?

Regards

3,583 次查看
yosri_c
Contributor IV

hi Ola ,

i'm just wondering where exactly did you append that one ?

i'm stuck with the same issue and couldn't find the exact fix for it

 

thank you

0 项奖励
回复
3,784 次查看
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi @ola_gook 

You can take a look at this post:

https://community.nxp.com/t5/S32K/S32K344-S32K324-TCPIP-STACK-Intergration/m-p/1527082/highlight/tru...

There's step by step guide including demo application which contains these changes.

Regards,

Lukas

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-1840440%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%90%AF%E7%94%A8%20DCache%20%E7%9A%84%20S32K344%20lwip%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1840440%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%EF%BC%88%E4%BD%BF%E7%94%A8%20DS%203.5%E3%80%81%E6%9C%80%E6%96%B0%20RTD%20%E5%92%8C%E6%9C%80%E6%96%B0%20lwip%EF%BC%89%3C%2FP%3E%3CP%3E%E6%88%91%E6%9C%89%E4%B8%80%E4%B8%AA%E6%AD%A3%E5%9C%A8%E8%BF%90%E8%A1%8C%E7%9A%84%20lwip%20%E9%A1%B9%E7%9B%AE%EF%BC%8C%E7%8E%B0%E5%9C%A8%E8%BF%98%E9%9C%80%E8%A6%81%E4%BD%BF%E7%94%A8%E7%BC%96%E8%AF%91%E5%99%A8%E6%A0%87%E5%BF%97%3CSPAN%3ED_CACHE_ENABLE%20%E5%90%AF%E7%94%A8%E6%95%B0%E6%8D%AE%E7%BC%93%E5%AD%98%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CDIV%3E%3CDIV%3E%E7%84%B6%E8%80%8C%EF%BC%8C%E4%B8%80%E6%97%A6%E6%88%91%E5%90%AF%E7%94%A8%E5%AE%83%EF%BC%8Clwip%20%E5%8A%9F%E8%83%BD%E5%B0%B1%E4%BC%9A%E4%B8%A2%E5%A4%B1%E3%80%82Gmac%20%E7%9A%84%20UM%20%E5%92%8C%20IM%20%E4%BC%BC%E4%B9%8E%E8%A1%A8%E6%98%8E%E8%BF%99%E5%BA%94%E8%AF%A5%E6%98%AF%E5%8F%AF%E8%83%BD%E7%9A%84%EF%BC%8C%E4%BD%86%E6%88%91%E6%97%A0%E6%B3%95%E7%90%86%E8%A7%A3%E5%85%B7%E4%BD%93%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E3%80%82Gmac_Ip_Cfg%20%E6%95%B0%E6%8D%AE%E6%94%BE%E7%BD%AE%E5%9C%A8%E4%B8%8D%E5%8F%AF%E7%BC%93%E5%AD%98%E7%9A%84%20RAM%20%E4%B8%AD%EF%BC%8C%E4%BD%86%E4%BB%8D%E7%84%B6%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8%E3%80%82%E6%88%91%E7%A6%81%E7%94%A8%E4%BA%86%E6%A0%87%E5%BF%97%3CSPAN%3E-fdata-sections%20%E4%BB%A5%E4%BD%BF%20Cfg%20%E6%95%B0%E6%8D%AE%E6%9C%80%E7%BB%88%E8%BF%9B%E5%85%A5%E4%B8%8D%E5%8F%AF%E7%BC%93%E5%AD%98%E7%9A%84%20RAM%EF%BC%880x2043xxxx%EF%BC%89%E3%80%82%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%E6%9C%89%E6%B2%A1%E6%9C%89%E5%85%B3%E4%BA%8E%E5%A6%82%E4%BD%95%E4%BD%BF%20lwip%20%E4%B8%8E%20dcache%20%E4%B8%80%E8%B5%B7%E5%B7%A5%E4%BD%9C%E7%9A%84%E7%A4%BA%E4%BE%8B%E4%BB%A3%E7%A0%81%EF%BC%9F%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%E6%AD%A4%E8%87%B4%3C%2FDIV%3E%3CDIV%3E%2FOla%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1877422%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E5%90%AF%E7%94%A8%E4%BA%86%20DCache%20%E7%9A%84%20S32K344%20lwip%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1877422%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3Ehi%20Ola%20%2C%3C%2FP%3E%3CP%3E%E6%88%91%E5%8F%AA%E6%98%AF%E6%83%B3%E7%9F%A5%E9%81%93%E4%BD%A0%E5%88%B0%E5%BA%95%E6%8A%8A%E5%AE%83%E9%99%84%E5%8A%A0%E5%88%B0%E5%93%AA%E9%87%8C%E4%BA%86%EF%BC%9F%3C%2FP%3E%3CP%3E%E6%88%91%E9%81%87%E5%88%B0%E4%BA%86%E5%90%8C%E6%A0%B7%E7%9A%84%E9%97%AE%E9%A2%98%EF%BC%8C%E6%89%BE%E4%B8%8D%E5%88%B0%E7%A1%AE%E5%88%87%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E8%B0%A2%E8%B0%A2%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1843623%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E5%90%AF%E7%94%A8%E4%BA%86%20DCache%20%E7%9A%84%20S32K344%20lwip%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1843623%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F138697%22%20target%3D%22_blank%22%3E%40ola_gook%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%E4%BD%A0%E5%8F%AF%E4%BB%A5%E7%9C%8B%E4%B8%80%E4%B8%8B%E8%BF%99%E4%B8%AA%E5%B8%96%E5%AD%90%EF%BC%9A%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FS32K%2FS32K344-S32K324-TCPIP-STACK-Intergration%2Fm-p%2F1527082%2Fhighlight%2Ftrue%23M17897%22%20target%3D%22_blank%22%3Ehttps%3A%2F%2Fcommunity.nxp.com%2Ft5%2FS32K%2FS32K344-S32K324-TCPIP-STACK-Intergration%2Fmp%2F1527082%2Fhighlight%2Ftrue%23M17897%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E6%9C%89%E5%8C%85%E5%90%AB%E8%BF%99%E4%BA%9B%E6%9B%B4%E6%94%B9%E7%9A%84%E6%BC%94%E7%A4%BA%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%9C%A8%E5%86%85%E7%9A%84%E5%88%86%E6%AD%A5%E6%8C%87%E5%8D%97%E3%80%82%3C%2FP%3E%0A%3CP%3E%E6%AD%A4%E8%87%B4%EF%BC%8C%3C%2FP%3E%0A%3CP%3ELukas%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1840487%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E5%90%AF%E7%94%A8%E4%BA%86%20DCache%20%E7%9A%84%20S32K344%20lwip%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1840487%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%88%91%E8%AE%BE%E6%B3%95%E5%90%91%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88%E8%BF%88%E8%BF%9B%E4%BA%86%E4%B8%80%E6%AD%A5%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E5%8F%91%E7%8E%B0%E4%BA%86%E5%8F%A6%E4%B8%80%E4%B8%AA%E7%B1%BB%E4%BC%BC%E7%9A%84%E9%97%AE%E9%A2%98%EF%BC%8C%E5%85%B6%E4%B8%AD%E6%8F%90%E5%87%BA%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88%E6%98%AF%E7%A1%AE%E4%BF%9D%20lwip%20%E5%A0%86%E6%94%BE%E7%BD%AE%E5%9C%A8%E4%B8%8D%E5%8F%AF%E7%BC%93%E5%AD%98%E7%9A%84%20RAM%20%E4%B8%AD%E3%80%82%E4%B8%8D%E5%B9%B8%E7%9A%84%E6%98%AF%EF%BC%8C%E7%94%B1%E4%BA%8E%E9%99%84%E5%9B%BE%E5%88%86%E8%BE%A8%E7%8E%87%E5%A4%AA%E5%B7%AE%EF%BC%8C%E6%97%A0%E6%B3%95%E7%9C%8B%E5%88%B0%E4%BD%BF%E7%94%A8%20S32DS%20%E7%9A%84%E8%AF%A6%E7%BB%86%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88%E3%80%82%3C%2FP%3E%3CP%3E%E7%9B%B8%E5%8F%8D%EF%BC%8C%E6%88%91%E9%80%9A%E8%BF%87%E5%9C%A8%20mem.c%20%E4%B8%AD%E9%99%84%E5%8A%A0%E4%BB%A5%E4%B8%8B%E5%86%85%E5%AE%B9%E6%9D%A5%E4%B8%B4%E6%97%B6%E5%AE%9E%E7%8E%B0%E6%AD%A4%E7%9B%AE%E7%9A%84%EF%BC%9A%3C%2FP%3E%3CDIV%3E%3CDIV%3E%3CSPAN%3ELWIP_DECLARE_MEMORY_ALIGNED%3C%2FSPAN%3E%20%3CSPAN%3E(%3C%2FSPAN%3E%20%3CSPAN%3Eram_heap%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%8C%3C%2FSPAN%3E%20%3CSPAN%3EMEM_SIZE_ALIGNED%3C%2FSPAN%3E%20%3CSPAN%3E%2B%3C%2FSPAN%3E%20%3CSPAN%3E(%3C%2FSPAN%3E%20%3CSPAN%3E2U%3C%2FSPAN%3E%20%3CSPAN%3E*%3C%2FSPAN%3E%20%3CSPAN%3ESIZEOF_STRUCT_MEM%3C%2FSPAN%3E%20%3CSPAN%3E))%3C%2FSPAN%3E%20%3CSPAN%3E__attribute__%3C%2FSPAN%3E%20%3CSPAN%3E((%3C%2FSPAN%3E%20%3CSPAN%3Esection%3C%2FSPAN%3E%20%3CSPAN%3E(%3C%2FSPAN%3E%20%3CSPAN%3E%E2%80%9C.mcal_bss_no_cacheable%E2%80%9D%3C%2FSPAN%3E%20%3CSPAN%3E)))%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CP%3E%E6%88%91%E8%BF%98%E7%A1%AE%E4%BF%9D%E4%BA%86%20Gmac_Ip_Cfg.o%E4%B8%8D%E4%BD%BF%E7%94%A8%3CSPAN%3E-fdata-sections%3C%2FSPAN%3E%E6%9E%84%E5%BB%BA%E6%97%B6%EF%BC%8C%E5%85%83%E7%B4%A0%E8%A2%AB%E6%94%BE%E7%BD%AE%E5%9C%A8%E4%B8%8D%E5%8F%AF%E7%BC%93%E5%AD%98%E7%9A%84%20RAM%20%E4%B8%AD%3C%2FP%3E%3CP%3E%3CSPAN%3E%E7%9B%AE%E5%89%8D%E7%9A%84%E7%BB%93%E6%9E%9C%E6%98%AF%EF%BC%8Cping%20%E5%AE%83%EF%BC%88%E6%88%96%E4%BD%BF%E7%94%A8%E6%B5%8F%E8%A7%88%E5%99%A8%E8%BF%9E%E6%8E%A5%E5%88%B0%E7%AB%AF%E5%8F%A3%2080%EF%BC%8C%E7%BB%93%E6%9E%9C%E7%9B%B8%E5%90%8C%EF%BC%89%E5%A4%A7%E7%BA%A6%E6%9C%89%2060%25%20%E7%9A%84%E6%97%B6%E9%97%B4%E6%9C%89%E6%95%88%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E5%9B%A0%E6%AD%A4%EF%BC%8C%E6%88%91%E6%84%9F%E8%A7%89%E8%BF%98%E6%9C%89%E4%B8%80%E4%BA%9B%E6%95%B0%E6%8D%AE%E9%9C%80%E8%A6%81%E6%94%BE%E5%85%A5%E4%B8%8D%E5%8F%AF%E7%BC%93%E5%AD%98%E7%9A%84%20RAM%20%E4%B8%AD%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E6%82%A8%E6%9C%89%E4%BB%80%E4%B9%88%E5%BB%BA%E8%AE%AE%E5%90%97%EF%BC%9F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E6%AD%A4%E8%87%B4%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E