Posts by fs-support_ZU


    what do you mean exactly by "we were trying to write a C application that reads data from SPI in Interrupt mode"?

    Registry value "DriverMethod"? That's just a registry entry.

    Or do you wan't to read/write from/to SPI device after got an external IRQ?

    This could not be handled by NSPI API. You should configure a DIO pin as IRQ for this purpose. Refer Device Driver Docu section Digital IO Driver and use DIO API.

    Hope this helps.

    Sorry for the late response,

    It is not so easy to reload the touch while runtime. Another issue concerning this procedure is: how do we detect when such a reload is required!

    Basically the reload can be done in this order:

    - deactivate the touch driver by OS function "DeactivteDevice"

    - deactivate the i2c driver by OS function "DeactivteDevice"

    - activate the i2c driver by OS function "ActivteDevice/Ex"

    - activate the touch driver by OS function "ActivteDeviceEx"

    But I would prefer to find the issue in the driver (i2c/touch) and/or HW.

    But for this we need additional information:

    Which kernel (version/date) you are using (at the time on A9 we have no open issue concerning the sx driver)?

    Any output on the serial debug line when the error occurs?

    Any further output on the serial debug line when enable debug values for i2c and/or touch driver?

    Did you attach additional parts to the i2c lines (e.g. pull-up's)?

    You may also try to reduce the clock speed of i2c.


    >> ... but since CPU is completely used by the infinite loop, the OS becomes unresponsive. That's why we used sleep.

    << Ok but this regular if your thread and/or SPI thread have priority higher than most other threads.

    Neverthekless i would prefer "WaitForSingleObject" or use an externel interrupt for trigger "read ADC". Sleep is not an accurate function.

    PS: Use "CeSetThreadPriority" to adjust priorities 0...255. Using "SetThreadPriority" you can't go below 248. Read MS docu.

    >> I was wondering if there is feature in which the native SPI driver automatically read from the ADC at high frequency at the kernel Level.

    << You can't read at a higher (SPI) frequency at kernel level! You may wrap your functionality in a driver to save task switches between kernel and application. But reading 3 Byte 10 times a second should be far away from causing any remarkable overhead!

    << The clock frequency in registry is the default value.

    << So try 4000000Hz. Any improvments?


    >>The least sleep interval that we can give inside the loop is 10ms, that equates to around 100Hz. If we remove the sleep statement the entire windows OS hangs up

    << That is not right, only the threads with priority below the SPI driver will be slowed down. 255 is lowest priority, 0 is highest , SPI default is about 103.

    Also i would not use "Sleep" use "WaitForSingleObject" (with timeout) this is more accurate.

    >> How can we acquire data at the rate of 100 Khz and and above?

    << What did you adjust in registry? And what did you measure?


    >> I'm assuming that Eboot is wrong here.

    << I never saw such an error! Are you sure using efusA9X-V8-W13 (checked by serial number info at our homepage)?

    Which size is shown for ffsdisk under cmd.exe?

    Try reset bootloader setting "C" (afterwards you have to reconfigure the board).


    - Part00: is for EBOOT, NBOOT, Boot BMP, PSD

    - Part01: is the kernel partition (fs_binfs.dll)

    - Part02: is the user flash, ffsdisk (exfat.dll)

    ... further partions, e.g. ffsdisk2 (exfat.dll)


    you can use this document. API for the CAN driver is the same on all of our boards.

    We use one kernel for all A5 boards (armStoneA5, PicoCOMA5, NetDCUA5, PicoMODA5) so you will find registration under HKLM\Drivers\builtin\<boardname>\CAN<x> instead of HKLM\Drivers\builtin\CID<x> - sorry.

    On NetDCUA5 CAN1 and CAN2 are active by default, you should see this in the boot log (CID1:... CID2:...).


    and sorry i can't see any clear mistake. Assume the display should work. One point is not clear to me how do you control the brightness of backlight (Pin12). Is it possibel that this pin is low all the time after OS is load? Try to enable the contrast and try some values between 0...4095.

    I nothing helps best would be to send us a complete kit so that we can check it in our office.


    >> Is there a possibility that a changed key might interfere with my hardware and therefore the Display?

    << I don't think so. But it would be a good idea to start with the default image settinges.

    So please set registry to default by bootloader command "R"... .

    Afterwards adjust your display and provide me complete bootlog and LCD registry.



    "OutputDevice" have to be adjusted under "HKLM\Drivers\Display\LCD" *not* under "HKLM\Drivers\Display\LCD\Mode<X>". But it is not required to specify this value here. It can be also done by the value "type" refer chapter "Registry value type".

    So (assume) following should work:

    - delete "OutputDevice"

    - register "reg set value type dword 0x8006"


    unfortunately MS stopped support for Explorer.exe (Mediaplayer, Internetexplorer, ActiveSync, ...) with WEC2013. Because these features rarely used in industrial and medical applications we did also not port them. Sorry.


    yes this works! In the worst case some headers/libs missed*). SDK contains only contains only stuff about APIs. API is the same for all our boards (else you can't built). Processor dependend stuff is in the "OS". Take a look to the SDK folder.

    >>Means this, i can build 100% working binary compatible exe-Files for NetDCUA9 by using the SDK for the NetDCUA5?

    << Concerning the SDK yes. But it depends also on your code, e.g. if you use hard code registry paths or DLL names it won't work.

    >> Why then different SDKs?

    << *)To be sure all headers and libs for the modules include into the image are available. But this is a minor issus and i rarely saw it.