I've discovered (the hard way) that adding any new SDK components or doing a refresh wipes out my FreeRTOSConfig.h file and replaces it with the default. Section 7.1 of the IDE user's guide says that in the event an imported file conflicts with an existing file you'll be given a diff view and prompted to choose whether to overwrite the existing file.
This doesn't happen with the FreeRTOSConfig.h file at least. I haven't tested it with others. Ordinarily I'd be extra cautious about editing anything in folders like 'drivers' and 'component' because of the possibility of conflicts, but the FreeRTOS config lives in the main source folder and I was surprised that it was overwritten without prompting.
Is this a bug? Is it documented somewhere? Are any other files outside of the SDK folders vulnerable to the same issue?
Thanks,
Scott
Hi scottm
Please let me know how to reproduce this problem based on a MCUXpresso SDK demo code. I will test it on my side. Thanks.
Jun Zhang
Open a demo project. I just tried it with the freertos_i2c demo. Modify parameters in the FreeRTOS config. Open the SDK management tool, and add a new driver. I added CTIMER. It overwrites the config file and doesn't prompt.
Scott
Hi
I tested that when I added ctimer sdk component, IDE popped up window to choose keep existing or not. see below. Click on "Keep existing" will preserve your FreeRTOSConfig file.
Have a nice day,
Jun Zhang
Hi Jun,
It doesn't prompt me. Here's my complete procedure, with MCUX 11.6.1:
Import SDK example(s)... | lpcxpresso55s69 | freertos_i2c | finish
Open FreeRTOSConfig.h and set configTICK_RATE_HZ to 240 and save
SDK Management | Manage SDK components | ctimer | OK
It shows that FreeRTOSConfig.h will be added or updated "if required". There is no way to see a diff or to exclude a file. On clicking 'Yes', the file is reset to its default state.
I can do a screen recording if you'd like.
Scott
I tested it on another computer with the same version SDK. but still couldn't reproduce your issue.
Suggest you creating a new workspace and importing a SDK demo code. see how it works.
If still can't fix the problem, reinstall the latest version SDK. Test it based on a new demo code under a new workspace.
If I create a new workspace it works. How do I fix it without having to create a new workspace every two weeks? I created this workspace new when I installed 11.6.1 and I've been enduring the default perspective layout and everything for the sake of not deviating any more than necessary from the absolute basics. My one concession has been switching to the dark theme.
Aside from the dark theme selection, I haven't touched any preferences at all. I haven't even changed any view layouts.
To prove it wasn't the dark theme that did it, I switched the new workspace to dark mode and tried again. It prompts for the change, but this is even more disturbing. Check out the attached screenshot. This project was just imported as an SDK example, and then I added the CTIMER driver. In the left pane you can see that I typed some gibberish on line 24. That's the only change I made to the file. You can see in the right pane that what it's trying to import is a completely different version.
Is the SDK management tool importing examples with out-of-date SDK components? Why is it getting different results when the SDK is refreshed?
Where are the SDK tools preferences stored so I can check what's actually there?
Thanks,
Scott
Hi
This is config tool setting.
This is workspace setting
You can try to "Restore defaults" if you have problem.
On my side, I can't reproduce your issue.If you can find out how to reproduce it, please let me know. I will check.
Thanks,
Jun Zhang
Hi Jun,
I meant in what file(s) are the settings stored, so I can check how they're actually saved?
I tried resetting to defaults and the problem persists. I can create a new workspace, but it seems like every few weeks some problem turns up that requires creating a new workspace. It's tedious and disruptive. I'd rather figure out how to fix the configuration problems.
Thanks,
Scott