Hello,team :
I found the startup.S function that difference between the MPC5748G demos : flexcan_receive(...:\flexcan_receive\flexcan_receive_Z4_0\Project_Settings\Startup_Code),
linflexd_uart(...:\linflexd_uart\linflexd_uart_Z4_1\Project_Settings\Startup_Code).
Here the pictures are below:
1.flexcan_receive : e_b __dcache_cfg in the __dcache_inv
2. linflexd_uart : e_b __icache_cfg in the __dcache_inv
Now I uesd flexcan_receive example in my project, and we needed to integrate uart(channel 2) receive module. linflexd_uart example can receive the correct char which we need, but in my project uart ch2 always received '0'. I contrasted these examples,and found there is differece betwwen them in Startup_Code. I copyed the
linflexd_uart\linflexd_uart_Z4_1\Project_Settings\Startup_Code \ startup.S to flexcan_receive\flexcan_receive_Z4_0\Project_Settings\Startup_Code\ startup.S .At last uart ch2 can receive the correct char which we need.
Why?
Hello,
I tested linflexd_uart example with both startup source files and it works correct. But the second startup ( 2. linflexd_uart : e_b __icache_cfg in the __dcache_inv) is definitely incorrect.
S32 Design Studio version 1.1 has startup fix and correct cache initialization is the first one (1.flexcan_receive : e_b __dcache_cfg in the __dcache_inv).
Could you please try to disabled cache in your project to eliminate startup difference to UART functionality?
Do you use DMA in your project?
Regards,
Martin
Hi,
That's funny. My projrct uses the second startup that works well, and the first startup doesn't work well for uart mode.
Hi,
it is very strange behavior, because the typo in cache configuration should not have any influence to UART (if you do not use DMA).
Is this the only difference in your projects?
Could you please send me two simple projects (the working one and the second which does not work) which demonstrates the issue? I would like to test it on my side.
Regards,
Martin
Hi,
Please wait a few days for me.