UART on QBlissA9r2 problem

  • Hi,


    On the QBlissA9r2 (quad core) I get Overruns while on the QBlissA9 I have no problems using the same software.

    So I enabled DMA as in your post about UART performance.

    Is there an indication in the log to check if it is enabled? The overruns persists even with DMA registry setting and I know on the r2 there is a different UART numbering (so I tried both UART settings in registry)

    At startup the device reads several 4k messages from serial port at 460k baud

  • Hello, do you use your custom kernel or any standard?


    Additionally to enabel DMA you may try to set thread priorities for driver and inside application were you handle UART communication.

    For driver use e.g.

    reg open \drivers\builtin\qblissa9r2\<your uart>

    reg set value Priority256 dword 101

    reg save

    reboot

    Inside application use for communication thread "CeSetThreadPriority(..., 102)".


    Hope this helps.


    PS:

    >> different UART numbering (so I tried both UART settings in registry)

    << You can identify UART in Registry by check if Registry value "index" you use in application by COM<index> is the same as under HKLM\drivers\builtin\qblissa9r2\<your uart>.

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • This is the custom kernel.

    I tried again this but still overruns on the second 4k datablock received with DMA and prio set.

    The OpenNetCF library serial port is used. It sets threadpriority.Highest.


    Seems that r2 has problem, but I really like to know if DMA is enabled on the non-r2 we use in production. Do I check by seeing till which baud rate I can go?

    Like to get r2 board working

  • Hello


    >> It sets threadpriority.Highest.

    << This does not work. It uses SetThreadPriority and support only Priorities from 248 to 255.

    You have to "dll import" CeSetThreadPriorty.


    >> Seems that r2 has problem

    << Maybe, but i don't believe HW and SW for UART are very very similar.

    May WLAN driver or dependencies may have higher prio that may cause the issue or similay config differencies between A9 and A9R2(?) Below prio 103 only few drivers active.


    >> but I really like to know if DMA is enabled on the non-r2 we use in production

    << We can only check registry no other API avail.

    Reg open \drivers\builtin\<boardname>\UART<myone>

    Reg set value UseDMA dword 1

    Reg save

    Reboot


    >> till which baud rate I can go?

    Under c++ i test up to 921600Baud under .Net there may be a limitation by framework SW.

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.