Apalis iMX6/WEC2013: problems updating from BSP 1.2 to 1.4

Hello,

i’m running into problems when updating from BSP 1.2b6 to 1.4b2.
Updating is done with the update tool right now, but later we have to use the update library to update devices which have already been shipped to customers.

After an update/reboot there are 2 directories “\flashdisk” and “\flashdisk2”.
The directory “\flashdisk” is located in the RAM based filesystem and contains a subdirectory “windows\keys”.
The flashdisk itself is mounted to “\flashdisk2”, that means our application can’t find it’s data files anymore.

What are the correct steps to update from BSP 1.2 to 1.4?

When loading all drivers synchronously the problem is gone, the difference in boot time is around 5 seconds.

For now, I have set all drivers back to synchronous loading in the registry settings of our custom OS. When i have some spare time i will try to activate asynchronous driver loading again.

Valter, could you convert your comment to an answer so that i can accept it?

BSP 1.4b2 uses a different registry format (this will mean that you will have to update registry using the new update tool at the same time as you update the image) and drivers are now loaded asynchronously to speed up boot process:

If you currently backup/restore registry you may need to take in account those changes to fit the new release.

Let me know if you need some help in configuring async loading for your own driver, as you can see it can make quite a difference in terms of boot time, even if it requires some effort to be configured.

I see 2 exceptions in the debug log when setting all drivers to synchronous loading.
Our software seems to work, but i have to get rid of those 2 exceptions before we’re releasing our next version.

Therefore we will make the needed changes now, I’ll ask a new question with more details.

It seems that the system is loading eMMC driver before it tries to load SD bus driver, this explains why you see two instances of flashdisk.
This entry:

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\USDHC3\DependsOn]
	"SDBus"="Drivers\\Builtin\\SDBusDriver"

Should grant that eMMC is driver is loaded after SD Bus driver.
Can you check if you have it in your registry?

This entry exists in my registry, here is an export of HKLM\Drivers\BuiltIn.

But there is no need to invest much time for that problem, we’ll use asynchronous driver loading, i will ask a new question for that.