I have a number of edison modules. I code using Kdev and compile and upload using the process outlined in Native Application Guide, chapter 2: Native Application development. I tried Eclipse, but much prefer the approach I now have.
Over time I have installed a number of packages on my edisons using AlexT's repo configuration instructions.
I have also developed a number of small programs which have been moved to the edisons.
From this base is it safe to, for instance update my Yocto image, or will this trash everything I have done so far? If not, where will I now find an up to date image?
I may well also wish to update my mraa libs, and this will i assume have to happen both on my host linux PC and also on the edisons. How do I go about this, and again, where can I retrieve an up to date mraa library? Is the link in the document edison_nag_331192003.pdf still up to date, or has it been superceded?
Hello again Jayls,
Unfortunately, Yocto for Edison is not designed to be updated in such manner. To update the image you'll need to flash the board and this will erase all your installed packages. So the only way I can think of to avoid losing your previously installed packages would be to do a USB or SD backup of your installed packages and then update the Edison image.
In the future, a good way to avoid this would be to compile these packages from source so you'll always have the recipes ready to be built, and you'll be able to update the image without issues.
This answers my question as regards Yocto, but what is the situation if I want to update the mraa libraries. Presumably I need to do this both on the edison and on my development machine, but surely I should be able to do this without flashing the yocto image?
Regarding your second question, you're right, you need to control the libraries on both systems, host and target.
I would suggest you to check this guide https://software.intel.com/en-us/updating-upm-and-mraa https://software.intel.com/en-us/updating-upm-and-mraa. There you'll find some more details on how host and target handle their library versions, also instructions on updating the host libraries. Host and target will then synchronize to ensure compatibility.
For your board, follow the instructions from GitHub to have the latest build of mraa, https://github.com/intel-iot-devkit/mraa https://github.com/intel-iot-devkit/mraa. In summary, you'll need to copy the link provided in Github to the mraa-upm configuration file and then update/install if necessary.
About the Native Application guide, you have the latest version.