Hello,
we have your SOM iMX7 4GB with your Image WinCE 7.
I have a problem with our application using Autorun feature (Autorun folder with link to our application) on Flashdisk under WinCE.
If I not use the Autorun feature:
the WinCE bootstrap, I go in the folder and I run manually our application.
Our application work properly accessing the files correctly.
If I use the Autorun feature:
the WinCE bootstrap, automatically is run our application.
Our application not work properly accessing the files.
I have try waiting time (30 seconds) after that our application is started and
try accessing the files, but the result is always the same.
I suppose that some drivers is not start up or something like this.
How can be solve this problem?
How I can use the Autorun feature only after that all drivers/service are up?
Best Regards
Hello,
for your information, I have try using the registry setting under HKLM\init.
Below the registry settings, in bold the rows added:
[HKEY_LOCAL_MACHINE\init]
“Launch48”=“_rtcsync.exe”
“Launch20”=“device.dll”
“Launch30”=“gwes.dll”
“Depend30”=hex:14,00
“Launch60”=“servicesStart.exe”
“Depend60”=hex:14,00
“Launch55”=“dmsrv.exe”
“Launch50”=“explorer.exe”
“Depend50”=hex:14,00,1e,00
“Launch49”=“launcher.exe”
“Depend49”=hex:14,00,1e,00
“Launch98”=“_VSDebugger.exe”
“Launch99”=“\Flashdisk\Myfolder\Myapp.exe”
“Depend99”=hex:14,00,1e,00
The result is the same like when I used the Autorun feature,
our application not work properly accessing the files.
Best Regards
Since changing the start order of your application did not solve the problem, I suggest starting with an investigation into why exactly your application can’t access the files. Consider the following steps:
- File Location: Determine where the mentioned files are located.
- Access Functions: Identify which functions your application is using to access these files.
- Error Messages: Review the exact error messages returned when the access operation fails.
Please note that after Windows Embedded CE calls an application using the Init registry value, the application must call the SignalStarted function.
Please also specify Which BSP release version of WinCE 7 you are using.
About our SOM iMX7 4GB WinCE 7, I use your Image v1.3 with bootloader v1.3.
Both are sended to me from Mr.Germano year ago.
These are the steps that I use for install the v1.3 :
-
installation of your WinCE 7 image 1.2 by Toradex Easy Installer.
This image is sended to me from Mr.Germano in date 2021/08/05, because your website
release had give me installation problems.
-
update WinCE 7 image to version 1.3 (downloaded from your website) by Update Tool
-
I add/modify to WinCE 7 registry (like Mr.Germano had told me) for avoid a problem
on your official WinCE 7 image v1.3 about the bootloader update.
Below the settings that I add/modify.
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\ESDHC]
“DisableDMA” = dword:1
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\FlashDisk\EMMC]
“DisableDMA” = dword:1
[HKEY_LOCAL_MACHINE\Drivers\Builtin\SDBusDriver]
“LoadAsync”=dword:0
[HKEY_LOCAL_MACHINE\Drivers\Builtin\SmartCard]
“LoadAsync”=dword:0
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\ESDHC]
“LoadAsync”=dword:0
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Wait4FlashDisk]
“LoadAsync”=dword:0
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\CmService\DependsOn]
“FlashDisk”=“Drivers\BuiltIn\Wait4FlashDisk”
-
update bootloader to version 1.3 using a special update sended from Mr.Germano in
date 2023/02/28 for fix a bootloader splashscreen bug.
NOTE: Mr.Germano or you had tell me that your WinCE 7 v1.4 image was supposed to be
released which would have included all these fixes, but it was never released.
At the moment I continue use these steps for our WinCE 7 image on Colibri iMX7 4G.
Hi @GiovanniAccinniSrl ,
First of all sorry that the 1.4 Image was not released yet, it was low on the priority list and i did not find the time to do it yet. If it’s an issue for you i can try to put it on a higher prio, but with the patched Bootloader and reg. changes you mentioned it’s exactly the same as you will get with the official 1.4 release.
About your Autorun issue.
First of all it would help a lot to know what files are not accessed correctly… where are the files located? (\flashdisk or \sd card ?). Is it a read problem/error? or writing to them?
You also said that even waiting 30 seconds does not solve the issue, that’s really strange as by then everything will be loaded for sure…
Hello Mr.Germano,
the 1.4 image is not a problem.
About the Autorun issue, the files are located on \flashdisk and are about 135 files.
The problem is a read file/decode problem.
I try explain me better doing an example on a single file access.
The file is crypted/decrypted using standard “CryptDecrypt” c++.
After WinCE has boot, when our application start with Autorun feature:
- it see that the file exist
- it open the file without giving errors
- it read the header of the file about 1000 bytes and the buffer is not blank/empty
- it decrypt this header buffer that result wrong and for this not permit access to the remain
part of the file.
In other case, after WinCE has boot, when our application is start manually:
steps from 1 to 3 do the same
4) it decrypt this header buffer that result good and for this it permit access to the remain
part of the file.
About the 30 seconds, I mean if our application start with Autorun, I wait 30 seconds and after
try access the file, it give me always the problem. Very strange.
I hope this is more clear.
Regards
Hi @GiovanniAccinniSrl ,
I think we’re getting closer to understand what’s going on…
Maybe your Crypt/Decrypt library uses the OS Crypto functionality?
This OS Crypto functionality is one of the last things that gets loaded.
Maybe you initialize the Crypto functionality at the very beginning of your application (before the 30 second wait time you mentioned) and this results in the crypto engine to not work properly?
Could you also try to write a little application that just waits 30 seconds (maybe less is also OK), then launches your main app? this should mimic the manual load usecase. Once we know that this solves the issue we can try to wait for the Crypto APIs to be ready, there is a WaitForAPIReady() function for this…
Hello Mr.Germano,
your suggestion was good and I solved the problem.
I have solve delaying the first file opening and decripting, doing this all working perfectly.
Thank you.
Regards
We are glad to hear that your problem has been resolved. Thank you for choosing and using our products.